Application Whitelisting
Application whitelisting (также «белые списки приложений») — это стратегия обеспечения информационной безопасности, при которой администратор или система разрешает выполнение только заранее одобренных, доверенных программ (исполняемых файлов, скриптов, библиотек, драйверов), а все остальные по умолчанию блокируются. Данный подход является противоположностью традиционному блокированию вредоносного ПО по сигнатурам (blacklisting), когда разрешено всё, кроме известных угроз.
История и предпосылки возникновения
Идея whitelisting возникла в ответ на фундаментальные недостатки сигнатурного метода обнаружения угроз. К концу 2000-х годов количество новых вредоносных программ (включая полиморфные и «нулевого дня») росло экспоненциально. Антивирусные базы не успевали обновляться, а пользователи и организации всё чаще сталкивались с целевыми атаками (Advanced Persistent Threats, APT), которые использовали уникальные, ранее неизвестные образцы вредоносного кода.
Первые коммерческие решения по whitelisting появились в середине 2000-х годов. Значительный импульс развитию технологии придала операционная система Microsoft Windows — начиная с Windows 7, в неё была встроена политика ограниченного использования программ (AppLocker). В Windows 10 и 11 функционал был расширен через Windows Defender Application Control (WDAC).
В России интерес к whitelisting возрос после принятия ряда нормативных актов, в частности, Указа Президента № 31с от 2013 года и требований Федеральной службы по техническому и экспортному контролю (ФСТЭК России) по защите критической информационной инфраструктуры (КИИ), где предписывается использование средств, ограничивающих запуск недоверенного ПО.
Принцип работы
Application whitelisting базируется на создании и поддержании базы доверенных объектов. Система проверяет каждый запускаемый файл по одному или нескольким критериям:
Основные методы идентификации
- Хеш-сумма (Hash): Вычисляется криптографический хеш (например, SHA-256) исполняемого файла. Если хеш совпадает с записью в белом списке, файл разрешается. Недостаток — любое обновление программы меняет хеш, требуя переутверждения.
- Цифровая подпись (Publisher): Разрешаются все файлы, подписанные определённым издателем (например, Microsoft Corporation, Adobe Inc.) или сертификатом из доверенного центра сертификации. Это наиболее гибкий метод для корпоративных сред.
- Путь к файлу (Path): Разрешается запуск из определённых директорий (например,
C:\Program Files). Метод небезопасен сам по себе, так как злоумышленник может скопировать вредоносный файл в разрешённую папку, поэтому обычно комбинируется с другими методами. - Имя файла (Filename): Самый слабый метод, так как имя легко переименовать. Используется редко и только в связке с контролем пути.
Типовая архитектура
Процесс whitelisting обычно реализуется на уровне ядра операционной системы через драйвер или системную политику. При попытке запуска процесса (событие ProcessCreate) система перехватывает вызов и проверяет атрибуты файла по заданным правилам. Если атрибут не найден ни в одном разрешающем правиле, запуск блокируется, а в журнал событий (Event Log) записывается запись о нарушении.
Классификация решений
Решения по whitelisting можно разделить по сфере применения и способу управления:
По сфере применения
- Корпоративные (Endpoint): Предназначены для рабочих станций и серверов в организациях. Примеры: AppLocker (встроенный в Windows), WDAC, Ivanti Application Control, Airlock Digital.
- Мобильные (Mobile): Встроены в мобильные ОС (iOS, Android, KasperskyOS). Пользователь не может установить приложение из неподтверждённого источника (sideloading) — это форма whitelisting.
- Сетевые (Network): Контролируют не исполняемые файлы, а трафик — разрешены только соединения с доверенными IP-адресами или доменами (DNS whitelisting).
По способу управления
- Статические: Белый список формируется администратором вручную или на основе эталонной конфигурации («золотого образа»). Требуют регулярного обновления при установке новых версий ПО.
- Динамические (Learning mode): Система работает в режиме обучения — записывает все запускаемые программы в течение определённого периода (например, недели). После завершения обучения администратор утверждает список, и система переходит в режим блокировки всего, что не входит в этот список.
Преимущества и недостатки
Преимущества
- Максимальная защита от неизвестного ПО: Эффективно блокирует вредоносное ПО «нулевого дня», руткиты, шифровальщики (ransomware), которые не имеют известных сигнатур.
- Снижение поверхности атаки: Злоумышленник не может запустить на скомпрометированной машине свой инструментарий (например, Mimikatz, Cobalt Strike), если он не внесён в белый список.
- Соответствие регуляторам: Выполнение требований ФСТЭК, PCI DSS, NIST и других стандартов, предписывающих контроль целостности и запуска ПО.
Недостатки
- Сложность администрирования: Требует высокой квалификации персонала. Необходимо постоянно обновлять списки при выходе обновлений ПО, иначе пользователи не смогут работать.
- Проблемы совместимости: Легитимные, но редко используемые программы (драйверы, утилиты, скрипты) могут быть ошибочно заблокированы, что приводит к сбоям в работе.
- Ресурсоёмкость: Постоянная проверка хешей и подписей может замедлять запуск приложений на слабом оборудовании.
- Ложные срабатывания: В режиме обучения система может включить в белый список временные файлы или скрипты, созданные вредоносным ПО, если администратор не проверит их вручную.
Применение в России
В российских государственных и частных организациях application whitelisting активно используется в рамках построения автоматизированных систем управления (АСУ ТП) и государственных информационных систем (ГИС). Особое внимание уделяется решениям, входящим в Единый реестр российских программ для электронных вычислительных машин и баз данных (Реестр отечественного ПО).
Примеры российских продуктов, реализующих whitelisting:
- Secret Net Studio (АО «Код Безопасности») — включает модуль контроля запуска приложений.
- Dallas Lock (ООО «Конфидент») — содержит подсистему «Белый список».
- ViPNet Client (АО «ИнфоТеКС») — в версиях для КИИ поддерживает контроль целостности и запуска.
Критика и ограничения
Несмотря на высокую эффективность, whitelisting не является панацеей. Основные критические замечания:
- Атаки на доверенные приложения: Если злоумышленник использует легитимную программу (например,
powershell.exeилиmshta.exe) для выполнения вредоносного кода («Living off the Land»), whitelisting не сможет это предотвратить, так как сам процесс разрешён. - Социальная инженерия: Пользователь может сам запустить вредоносный файл, если администратор по ошибке внёс его в белый список.
- Сложность внедрения: В крупных организациях с десятками тысяч единиц ПО и частыми обновлениями поддержание актуального белого списка становится отдельной задачей, требующей автоматизации и значительных трудозатрат.
Источники
- Федеральный закон «О безопасности критической информационной инфраструктуры Российской Федерации» от 26.07.2017 № 187-ФЗ.
- Приказ ФСТЭК России от 21.12.2017 № 235 «Об утверждении Требований к созданию систем безопасности значимых объектов критической информационной инфраструктуры Российской Федерации».
- Microsoft Docs. «Windows Defender Application Control (WDAC)». Документация по настройке политик whitelisting.
- NIST Special Publication 800-167. «Guide to Application Whitelisting». Национальный институт стандартов и технологий США.
- Реестр отечественного программного обеспечения (Минцифры России). Описания продуктов Secret Net Studio, Dallas Lock, ViPNet Client.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →