Оглавление
Введение
Безопасность корпоративных сетей является одной из наиболее острых проблем современных компаний. Вредоносные программы наносят значительный урон бизнесу, и репутация фирмы страдает не в последнюю очередь. Компании, специализирующиеся на IT-безопасности, предлагают различные дорогостоящие решения, однако во многих случаях внедрение этих решений ведет к значительному увеличению затрат на обслуживание и поддержку сети. А обеспечить гарантированную защиту от неизвестных угроз, особенно от целевых атак, традиционные решения могут далеко не всегда.
Наша статья посвящена альтернативному подходу к защите корпоративных сетей, который мы назвали Allowlist Security Approach.
Этот подход является продолжением развития технологии контроля запуска и исполнения программ (Application Control), дополненной реализацией развитой поддержки режима «Запрет по умолчанию» (Default Deny), а также инновационной технологии списков разрешенных (Dynamic Allowlist).
Мы в «Лаборатории Касперского» считаем Allowlist Security Approach одним из ключевых элементов средств защиты корпоративных сетей будущего. Продукты, в которых реализован такой подход, способны не только защитить от неизвестных угроз, но и предложить системным администраторам сетей, инженерам по информационной безопасности развитые средства учета и контроля программного обеспечения, включая посторонние (не имеющие отношения к производственным задачам), нежелательные и нелицензионные программы.
Предпосылки поиска альтернативных подходов к защите
Количество нового ПО стремительно растёт с каждым годом. Для обеспечения качественной защиты пользователей антивирусные компании должны оперативно анализировать гигантские потоки информации и ежедневно обрабатывать терабайты данных, классифицируя десятки миллионов файлов. Если говорить о классификации, то все программное обеспечение можно разделить на три категории: известное вредоносное, известное чистое и неизвестное ПО.
ПО, которое однозначно не классифицировано антивирусной компанией как чистое или вредоносное, считается неизвестным.
Часть неизвестного ПО содержит вредоносный код, и именно такие программы являются самыми опасными для пользователя и самыми проблемным для детектирования АВ-продуктами, именно отсюда стоит ждать угрозы, поскольку вирусописатели постоянно оттачивают своё мастерство и появляются все новые и новые и новые вредоносные программы.
В большинстве случаев антивирусным компаниям приходится играть роль догоняющих: за появлением новой технологии вирусописателей следует новый виток развития средств защиты. В настоящее время для повышения уровня безопасности используются не только традиционные сигнатурные технологии, но и целый арсенал современных технологий защиты. Это и проактивные эвристические методы (как статические, так и динамические), и облачные технологии, которые не только обеспечивают практически мгновенную реакцию на новые угрозы, но и расширяют стандартные мощности «коробочных» средств защиты мощностью ранее недоступной инфраструктуры online-сервисов.
Традиционный подход к защите предполагает блокирование известных угроз, в том числе известных шаблонов вредоносного поведения. Однако истории с троянцами Stuxnet, Duqu и Flame показывают, что против некоторых новых угроз и целевых атак традиционная защита предлагаемых на рынке решений практически бессильна. Следствием этого являются постоянно растущие требования к безопасности корпоративных сетей.
В сложившейся ситуации перед разработчиками ПО в области IT-безопасности стоит задача поиска альтернативных решений, способных существенно повысить уровень защиты корпоративных сетей. Предлагаемый в данной статье альтернативный подход – Allowlist Security Approach – не только обеспечит соответствующий современным требованиям уровень защиты, но и позволит антивирусным компаниям перестать быть догоняющими и начать играть по своим правилам.
Allowlist Security Approach базируется не только на нашем знании принципов развития и распространения корпоративных угроз, но и на понимании бизнес-потребностей компаний-заказчиков, а также того, какие средства защиты требуются для реализации надежного, и при этом сбалансированного решения. Рассматриваемое ниже решение отличается простотой интеграции и управления и, что тоже важно, относительно невысокой стоимостью его владения (ТСО) при достигаемом высоком уровне информационной безопасности.
Реализация данного подхода потребовала не только пересмотра десятилетней «парадигмы преследования», но и инициировала принципиально новый этап развития технологии контроля запуска и исполнения программ (Application Control).
Компонентный состав современных продуктов безопасности
Надежная информационная защита требует комплексного подхода. Современные средства защиты состоят из нескольких компонентов, каждый из которых выполняет определенные задачи.
Компонентная модель современных средств защиты
В данной модели можно выделить четыре основных группы компонентов: перехватчики, антивирусные движки, компонент контроля запуска и исполнения приложений, облачные сервисы.
Рассмотрим функциональные задачи каждого из компонентов.
Перехватчики — это некие «сенсоры», которые позволяют антивирусным продуктам встраиваться в процесс работы ОС так, чтобы другие компоненты АВ-защиты имели возможность проверять объекты и события в нужный момент времени.
В качестве перехватчиков работают:
- Драйвер, осуществляющий перехват обращения приложений к файлам. Перехватив обращение к файлу, АВ-продукт может проверить этот файл на наличие вредоносного кода или проверить допустимость такой операции согласно правилам контроля активности приложений (HIPS). В случае наличия вредоносного кода или противоречия правилам активности приложения, драйвер может запретить либо обращение к файлу, либо запуск приложения.
- Сетевой драйвер позволяет осуществлять контроль сетевой активности приложений (предотвращение утечек данных по сети, блокировка сетевых атак и т.д.).
- Плагины – библиотеки (модули), встраиваемые в популярные приложения (в почтовые клиенты, браузеры, IM-клиенты и т.д.), обеспечивающие проверку передаваемых данных.
Движки — это модули продукта, предназначенные для проверки потенциально вредоносных объектов. Методов проверки может быть несколько, и их перечень и названия у каждого АВ-вендора могут быть свои.
Можно выделить основные типы движков:
- Статические анализаторы позволяют детектировать вредоносные объекты по каким-либо характерным статическим признакам (чаще всего это связано со структурой файлов специфичных форматов).
- Анализаторы URL проверяют, есть ли URL-адрес, на который переходит пользователь или который ему прислали по почте, в базах вредоносных или фишинговых URL, в базе URL-адресов сайтов определенных тематических категорий (компонент «Родительский контроль»).
- Эвристические анализаторы – технология, которая дает возможность одной сигнатурой детектировать множество вредоносных файлов, в том числе и ранее неизвестные модификации вредоносного ПО, одновременно позволяя добиться повышения качества детектирования и уменьшения размера антивирусных баз.
- Эмуляторы – модули, которые осуществляют исполнение программного кода в изолированной среде для последующего анализа его поведения.
В большинстве современных антивирусных продуктов одной из составляющих информационной защиты является набор технологий, реализованных в компоненте Контроль запуска и исполнения приложений (Application Control). Контроль запуска и исполнения приложений (Application Control) работает с использованием событий от «перехватчиков», обработка этих событий осуществляется с помощью разных компонентов:
- PDM (Proactive Defense Module). Поиск и обнаружение известных вредоносных моделей поведения программ (последовательностей, паттернов) по базам вредоносных паттернов поведения.
- HIPS (Host Intrusion Prevention System). Проверка каждого потенциально опасного действия программы (чаще атомарного действия) по перечню правил, определяющих допустимые для этой программы действия. Причем эти правила могут создаваться разными для разных категорий ПО. Например «доверенным» программам можно делать «все», а «неизвестным и подозрительным» что-то можно запрещать.
- Exploit protection. Предназначен для защиты от вредоносного ПО, использующего уязвимости в программах и операционной системе.
В настоящее время Exploit Protection есть в арсенале лишь некоторых компаний, но мы считаем этот уровень защиты необходимым. У «Лаборатории Касперского» соответствующий набор технологий называется Automatic Exploit Prevention (AEP). В его основе лежит анализ поведения эксплойтов, а также особый контроль приложений, которые чаще других подвергаются атакам злоумышленников. AEP препятствует срабатыванию эксплойтов и развитию вредоносного поведения, если эксплойт всё-таки сработал. |
- EAC (Enterprise Application Control). Запуск программ разных категорий и/или версий ПО в соответствии с разными правилами.
Взаимодействие с облачными сервисами (CLOUD Services) позволяет расширить возможности как движков, так и технологий контроля активности программ. Использование облака позволяет скрыть часть логики проверки (чтобы осложнить злоумышленникам процесс реверс-инжиниринга и обход логики проверки вредоносных программ) и уменьшить размер обновлений баз сигнатур и баз поведенческих шаблонов на стороне пользователя/клиента.
Application Control как ключевой инструмент контроля приложений в корпоративных сетях
В описанной выше компонентной модели Аpplication Control позволяет гибко регулировать активность приложений с помощью HIPS-политик, изначально задаваемых производителем АВ-решений. Приложения, рассматриваемые в контексте Аpplication Control, делятся на четыре категории: безопасные, опасные, с сильными ограничениями и слабыми ограничениями. В соответствии с данными категориями определяется уровень накладываемых на приложения ограничений (HIPS-политик). Для каждой категории приложений определяются правила, в соответствии с которыми регулируется доступ приложений к различным ресурсам (файлам, папкам, регистрам, сетевым адресам). Например, если приложению требуется доступ к определенному ресурсу, Application Control проверяет, имеет ли оно соответствующие права, и далее осуществляет операцию в соответствии с заданными правилами.
Application Control позволяет также протоколировать запуски приложений. Эта информация может использоваться в ходе расследований инцидентов и различных проверок. Имея в своём арсенале подобную функциональность, инженер информационной безопасности или администратор оперативно и в структурированной форме получает ответы на следующие вопросы:
- Какие приложения запускались и когда именно в заданный интервал времени?
- На каких ПК и под какими учетными записями?
- Как давно используется та или иная программа?
Именно от функциональных возможностей (мощности и удобства использования) данного компонента зависит, насколько эффективно администраторы сети смогут внедрять и поддерживать различные политики безопасности.
Баланс между свободой действий и безопасностью
При выборе модели информационной защиты важен разумный баланс свободы и безопасности.
Для домашних пользователей важна возможность устанавливать и использовать любое ПО без ограничений. И хотя риск заражения в таком случае больше, чем при жестком режиме запретов, домашний пользователь распоряжается только своей персональной информацией и самостоятельно принимает решение с учетом существования риска разглашения или утраты информации.
Корпоративный пользователь, напротив, оперирует информацией, собственником которой он не является. Чем жестче контроль, тем меньше риски информационной безопасности: утечка/потеря критически важных для бизнеса данных, нарушение бизнес-процессов компании и, как следствие, финансовые и репутационные потери.
Для компаний баланс безопасности и свободы действий означает баланс возможного риска и удобства, которое получают корпоративные пользователи. Если для небольших компаний приоритетом, как правило, является удобство пользователей и, как следствие, минимум ограничений для них, то в случае больших корпоративных сетей на первый план выходит обеспечение максимального уровня защищённости. В крупных компаниях внедряются централизованные политики безопасности — единые правила использования корпоративных информационных ресурсов. Удобство конечных пользователей уступает место унификации ПО и максимальной прозрачности процессов для системных администраторов.
Для выполнения рабочих задач сотрудникам компании, как правило, достаточно использовать определенный набор программ. Возможность ограничить состав используемого ПО только теми приложениями, которые определит администратор, и заблокировать остальные нежелательные программы (неавторизованное, нелегитимное и нецелевое ПО) — чрезвычайно важная опция для корпоративной сети, не говоря уже об управляющих центрах, промышленных объектах, финансовых организациях, военных предприятиях и устройствах специализированного назначения (например, банкоматы и различного рода терминалы).
Максимальное удобство пользователей обеспечивает режим «Разрешение по умолчанию» (Default Allow), а максимальную защиту – режим «Запрет по умолчанию» (Default Deny).
Традиционный подход к защите: Default Allow
При традиционно используемом и в персональных, и в корпоративных продуктах режиме «Разрешение по умолчанию» (Default Allow) пользователь может запускать любые приложения, за исключением заблокированных или таких, на запуск которых установлены ограничения. Применение данной парадигмы обусловлено тем, что предлагаемые на рынке решения ориентированы на максимальное удобство пользователя.
Очевидно, что возможность запуска любых приложений требует качественных технологий детектирования. В режиме Default Allow все представленные выше компоненты защиты участвуют в анализе исполняемых программ. Это позволяет детектировать не только известные, но и некоторые неизвестные угрозы. Качество детектирования при этом зависит от производителя антивирусного решения.
Однако, как было сказано выше, антивирусные компании, как правило, идут за вирусописателями и являются догоняющими, то есть всегда существует вредоносное ПО, еще не детектируемое антивирусной защитой. При этом в режиме Default Allow, если программа не попала в число запрещенных, то ее запуск и исполнение по умолчанию разрешены. А это значит, что режим Default Allow предполагает определенный риск: допущенный к запуску код может нести еще не идентифицированную угрозу.
Помимо вредоносных программ, существует легитимное, но нежелательное для конкретной сети ПО. Оно не подпадает под политику блокирования, поэтому в режиме Default Allow, если нет специального запрета, такое ПО также можно запустить в корпоративной сети без каких-либо ограничений.
Приведем два примера того, как программа, не заблокированная политиками безопасности, может нанести ущерб компании.
Сотрудник устанавливает на компьютер программу мгновенного обмена сообщениями – Skype. Отличительной особенностью Skype является шифрование данных, передаваемых по каналам связи. Это значит, что DLP-системы (Data Loss Prevention) не способны отследить передачу конфиденциальной информации за пределы защищаемого периметра и вычислить получателя данной информации. Антивирусные технологии также не запрещают использование данного приложения, так как оно не является вредоносным. Злоумышленник, вступив в сговор с сотрудником компании, имеет возможность получать от сотрудника конфиденциальную информацию, используя Skype в качестве средства передачи данных.
Другой пример. Сотрудники «Лаборатории» оказывали помощь в расследовании инцидента в одной компании. Вредоносных программ обнаружено не было, а причина инцидента была в том, что IT-специалист установил на ряд ПК легитимную утилиту удаленного администрирования. Специалист этот был уволен более года назад, про утилиту никто не знал – тем не менее, она продолжала работать, открывая уволенному сотруднику несанкционированный доступ к корпоративной сети и хранящимся в ней данным.
Таким образом, при максимальном удобстве для конечного пользователя режим Default Allow оставляет корпоративную сеть уязвимой для неизвестных угроз и нежелательного ПО. При этом контроль за всеми исполняемыми программами требует существенных ресурсов.
Однако в большинстве случаев для выполнения своих задач сотрудникам компаний достаточно использовать ограниченный, конкретный набор программ. А это значит, что логичным было бы простое решение: все необходимое и чистое ПО занести в списки разрешенных, а запуск в сети всех остальных программ запретить по умолчанию. Такой режим работы называется Default Deny.
Режим Default Deny
В противоположность Default Allow, режим Default Deny запрещает выполнение любого ПО, не занесенного в доверенные списки (списки разрешенных). Таким образом, никакое неизвестное или нежелательное ПО не допускается к запуску.
По сути в режиме Default Deny корпоративная сеть работает в изолированной программной среде, в которой разрешен запуск только тех программ, которые необходимы и достаточны для выполнения бизнес-задач компании.
В дополнение к этому запрет запуска вредоносного, нецелевого, нелицензионного, неизвестного ПО снижает затраты на анализ тех программ, которые в случае режима Default Allow были бы разрешены к запуску. При работе в режиме Default Deny существенно снижаются требования к производительности контролируемых систем и к объему ресурсов, необходимых для анализа программ. Как следствие, снижается влияние системы безопасности на работу сети в целом.
Как видно на рисунке, в отличие от традиционной модели защиты, в режиме Default Deny контроль и мониторинг приложений осуществляется не в процессе исполнения, а в момент запуска разрешенных программ. Тем самым риски информационной безопасности минимизируются на самых ранних этапах обеспечения защиты.
Основные преимущества Default Deny:
- Минимизация рисков запуска вредоносного и нежелательного ПО:
- Блокирование неизвестных приложений, включая новые разновидности вредоносных программ, в том числе используемых при целевых атаках. Как следствие, обеспечение безопасной среды.
- Возможность блокировать установку, запуск и исполнение нелегитимного/нелицензионного и не связанного с рабочими задачами ПО — разнообразных интернет-пейджеров, игр, заведомо уязвимых версий ПО, «оптимизаторов» и «ускорителей» системы. Как следствие, ориентация персонала на конкретные должностные обязанности и улучшение производственных показателей.
- Снижение требований к производительности ресурсов, необходимых для анализа приложений. Как следствие, уменьшение влияния системы безопасности на штатную работу контролируемых систем.
- И последнее, но не менее важное — снижение затрат, а в конечном итоге снижение совокупной стоимости сопровождения и поддержки системы безопасности в целом: меньше сбоев, меньше жалоб, меньше нагрузка на службу технической поддержки.
Таким образом, применяя альтернативный подход, реализованный в мощных средствах мониторинга и контроля запуска и исполнения приложений, можно существенно повысить уровень информационной безопасности корпоративной сети, при этом значительно снизив затраты на её обеспечение и последующую поддержку. Как мы уже писали выше, это принципиально другой, проактивный подход к защите, который, по мнению экспертов «Лаборатории Касперского», в ближайшем будущем может перевернуть традиционное представление о безопасности корпоративных сетей.
Авторы выражают благодарность Владиславу Мартыненко за помощь в подготовке главы «Компонентный состав современных продуктов безопасности».
Контроль запуска программ как залог безопасности сети. Часть 1