2 мая, 2012
In Update We Trust.
Помните мой недавний пост по проблеме контроля над приложениями?
Любопытно, после него мне в личку насыпалось много идей. Особняком стояли несколько циничных каментов, мол, «да это всё можно на коленке сделать!». Ага, сложно не согласиться. И антивирус можно самому на коленке написать, и самолёт построить и велосипед изобрести. Я серьёзно – можно ведь! Дело упирается в другое – время, ресурсы и качество реализации.
С контролем над приложениями ситуация другая.
Действительно, на поверхности лежит простая реализация такой фичи: создаём домен, прописываем в нём пользователей, включаем политику ограниченного использования программ, создаём MD5-базу доверенных/запрещённых приложений и вроде как всё. Именно, что «вроде», потому что при первом же обновлении софта (а софт нынче ох как любит часто обновляться) сисадмину придётся писать базу заново! И пока это не сделать обновлённые программы работать не будут, от пользователей посыпятся гневные письма и звонки, а босс так вообще будет … ммм… очень недоволен. И так постоянно – добро пожаловать на аттракцион «belka v kolese».
Здесь всплывает одна незаметная, но мега-полезная фича нашего контроля над приложениями – Trusted Updater (или, как говорят наши разработчики — «доверенный обновлятор»). Она не только автоматически обновляет установленные программы и актуализирует базу данных доверенного софта, но и следит за наследованием «доверенности» программами, которые были вовлечены в процесс обновления. Ну, первое просто и понятно, а вот второе требует пояснения.
Рассмотрим пример. Есть некий «обновлятор», который в процессе обновления он запускает, скажем, браузер (например, чтобы показать пользовательское соглашение) и передаёт ему свои привилегии. Но что происходит, когда обновление завершено? Догадываетесь к чему это я клоню? Да! В некоторых продуктах браузер действительно наследует привилегии вызвавшей его доверенной программы пока его не перезапустят! Т.е. он может выполнять действия, которые по политике безопасности ему запрещены – например, качать что-то из Интернета, а самое главное запускать это. Более того, сам браузер получает возможность вызывать дополнительные программы и уже им передавать права апдейтера.
Получается, что одно-единственное обновление может порушить вообще всю систему безопасности. И «это не баг, а фича» ©
Наш же Trusted Updater контролирует обновление и как только процесс завершился, восстанавливает привилегии по всей цепочке задействованных программ. Важно, что наша система ещё и заранее знает, какой «обновлятор» является доверенным – для них есть специальная категория в нашей Whitelist-базе. Кроме того, если сисадмин хочет, он может сам добавить любые «обновляторы» в эту категорию — никаких забот и хорошая прибавка к уровню защиты от всяких хитрых бэкдоров.
Для пущей наглядности посмотрим на 4 варианта решения проблемы контроля над приложениями и нормального учёта обновления софта.
Первый – написать на коленке, как описано выше. Учитывая, что на среднем компьютере 7-8 регулярно обновляющихся программ — не вариант.
Второй – использовать готовый продукт с постоянно пополняемой базой данных доверенного (Whitelist) софта. Уже лучше – сисадмин может создать правила на группы ПО (как, впрочем, и сами группы), а не на конкретные контрольные суммы (которые, как мы поняли, имеют тенденцию быстро меняться). Правда, это реализовано далеко не в каждом конкурентном продукте. Скажем, разрешаем всю категорию «Бухгалтерские программы» только бухгалтерии, а дальше весь подобный софт уже обновляется сам по себе. Но есть нюанс: вдруг в базе данных чего-то специализированного или экзотического не окажется? И квартальный отчет не уйдет в налоговую вовремя? Снова гневные звонки и работа «ручками»? Ну, с нашим продуктом (Whitelist-база 300+ млн. файлов, 1 млн. добавляется ежедневно) вероятность невелика, но и не нулевая. С другими дело хуже. Поэтому смотрим следующий вариант.
Третий вариант – использовать продукт с нормальным контролем над обновлениями типа Trusted Updater. Казалось бы, вот он, идеальный вариант, и квест можно закрыть. Но и тут есть нюанс. Контроль над приложениями, пусть даже с умным «обновлятором» не самодостаточен. Особенно если говорить об IT-безопасности в широком смысле. Вдруг софт закачает в себя вредоноса (мало ли – взломали сайт разработчика, откуда идёт раздача обновлений)?
Вот мы и подошли к червёртому варианту: контроль над приложениями + Trusted Updater + категоризированная Whitelist-база + контроль цепочки обновлений + остальной анти-зловредский арсенал вроде антивирусного сканера и проактивной защиты. Причём весь этот оркестр должен работать сообща и синхронно. Даже если «обновлятору» подсунули вирус, его с высокой долей вероятности вычистят на следующем уровне защиты. Собственно, именно такой вариант мы и реализовали в нашем Endpoint Security 8.
На самом деле, Trusted Updater – это только одна из многих полезных фичей нашего контроля над приложениями, которые отличают его не только от «коленочных» решений, но и конкурентов. Например, у нас реализована концепция динамического вайтлистинга – регулярно пополняемая база данных доверенных программ (по недавнему тесту покрывает 94% корпоративного софта). Весь софт у нас прокатегоризирован (например «браузеры», «игры» — всего 96 категорий). Плюс сисадмин может пополнять существующие или добавлять свои, новые категории. Есть автоматическая проверка программ на уязвимости, инвентаризация приложений, полная интеграция с endpoint-защитой и многое другое.
В общем, продукт получился дюже вкусным и сильным – надеюсь этот пост поможет нашим сейлам в выполнении плана продаж, а вам – защититься так, чтобы голова не болела :)