Открыть сервис

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 базируется на создании и поддержании базы доверенных объектов. Система проверяет каждый запускаемый файл по одному или нескольким критериям:

Основные методы идентификации

  1. Хеш-сумма (Hash): Вычисляется криптографический хеш (например, SHA-256) исполняемого файла. Если хеш совпадает с записью в белом списке, файл разрешается. Недостаток — любое обновление программы меняет хеш, требуя переутверждения.
  2. Цифровая подпись (Publisher): Разрешаются все файлы, подписанные определённым издателем (например, Microsoft Corporation, Adobe Inc.) или сертификатом из доверенного центра сертификации. Это наиболее гибкий метод для корпоративных сред.
  3. Путь к файлу (Path): Разрешается запуск из определённых директорий (например, C:\Program Files). Метод небезопасен сам по себе, так как злоумышленник может скопировать вредоносный файл в разрешённую папку, поэтому обычно комбинируется с другими методами.
  4. Имя файла (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 не является панацеей. Основные критические замечания:

  1. Атаки на доверенные приложения: Если злоумышленник использует легитимную программу (например, powershell.exe или mshta.exe) для выполнения вредоносного кода («Living off the Land»), whitelisting не сможет это предотвратить, так как сам процесс разрешён.
  2. Социальная инженерия: Пользователь может сам запустить вредоносный файл, если администратор по ошибке внёс его в белый список.
  3. Сложность внедрения: В крупных организациях с десятками тысяч единиц ПО и частыми обновлениями поддержание актуального белого списка становится отдельной задачей, требующей автоматизации и значительных трудозатрат.

Источники

  1. Федеральный закон «О безопасности критической информационной инфраструктуры Российской Федерации» от 26.07.2017 № 187-ФЗ.
  2. Приказ ФСТЭК России от 21.12.2017 № 235 «Об утверждении Требований к созданию систем безопасности значимых объектов критической информационной инфраструктуры Российской Федерации».
  3. Microsoft Docs. «Windows Defender Application Control (WDAC)». Документация по настройке политик whitelisting.
  4. NIST Special Publication 800-167. «Guide to Application Whitelisting». Национальный институт стандартов и технологий США.
  5. Реестр отечественного программного обеспечения (Минцифры России). Описания продуктов Secret Net Studio, Dallas Lock, ViPNet Client.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →