Белые списки для программного обеспечения

Белые списки авторизованного программного обеспечения

Проактивная защита от неавторизованного ПО через технические средства контроля

Белый список — это больше, чем просто политика безопасности. Это архитектурный принцип, при котором система разрешает выполнение только заранее известных и проверенных приложений. Вместо того чтобы постоянно обновлять сигнатуры для блокировки нового вредоносного ПО, вы определяете узкий круг доверенного кода. Этот подход переворачивает классическую модель защиты с ног на голову и резко сужает пространство для атаки.

Реализация белых списков часто встречает сопротивление из-за кажущейся сложности администрирования. Но в долгосрочной перспективе этот метод снижает операционные риски, связанные с несанкционированным софтом, и упрощает инвентаризацию.

Требования регуляторов к белым спискам ПО

Подход «белого списка» прямо соответствует ряду требований в области защиты информации. Он является технической реализацией принципа минимально необходимых прав.

Ключевое требование можно сформулировать так: необходимо использовать технические средства контроля (например, списки разрешенных приложений), чтобы гарантировать исполнение исключительно авторизованного программного обеспечения. Проверка и актуализация этого списка должны проводиться не реже чем раз в два года, а в активных средах — значительно чаще.

На практике это выливается в два основных правила:

  • Пользователи могут запускать ПО только из утвержденного перечня.
  • Сам перечень авторизованных программ должен регулярно пересматриваться и обновляться — как минимум раз в полгода, а лучше при каждом изменении ИТ-ландшафта.

Организация репозитория авторизованного ПО

Перед технической настройкой нужна организационная основа. Централизованный репозиторий — это фундамент, без которого система белых списков превратится в хаос.

Сетевая директория для хранения ПО

Создайте общую сетевую папку или специализированное хранилище (вроде корпоративного Software Center), где будут размещаться установочные пакеты программ, разрешенных к использованию. Это исключает установку с непроверенных носителей или из интернета.

Структура по подразделениям

Организуйте внутреннюю структуру репозитория в соответствии с отделами компании. Отдел бухгалтерии получает доступ только к своему набору финансовых и офисных программ, отдел разработки — к своим инструментам.

Функциональная классификация

Помимо структуры по отделам, полезно группировать программы по их назначению: офисные пакеты, графические редакторы, средства аналитики, служебные утилиты, средства защиты. Это упрощает поиск и управление жизненным циклом ПО.

Инструкции администратора для установки ПО

Каждый программный пакет в репозитории должен сопровождаться стандартизированной инструкцией по установке. Это критически важно для воспроизводимости и безопасности процесса.

Обязательные элементы такой инструкции:

  1. Название программы и точная версия — для однозначной идентификации.
  2. Краткое функциональное описание — зачем нужна эта программа.
  3. Детальные шаги установки — пошаговый процесс, желательно со скриншотами ключевых этапов.
  4. Настройки безопасности — какие права доступа требуются, нужно ли создавать сервисные учетные записи, как ограничить функционал для рядового пользователя.
  5. Метод проверки установки — как администратор может убедиться, что программа установилась корректно и готова к работе.

Особое внимание следует уделять программам для ограниченного внутреннего использования, которые могут иметь нестандартные процедуры инсталляции.

Ограничения безопасности и политика ограниченного использования программ

Само по себе наличие репозитория не предотвращает запуск стороннего кода. Нужны технические барьеры.

Риски установки без прав администратора

Многие обходные пути не требуют повышенных привилегий:

  • Microsoft Store и другие магазины приложений.
  • Портативные (portable) версии программ, запускаемые из пользовательских папок.
  • Скрипты (.bat, .ps1, .vbs, .js) и исполняемые файлы, скачанные из интернета.
  • Использование командной строки или PowerShell для запуска неавторизованного кода.

Правила настройки Software Restriction Policies (SRP)

Для базовой реализации белых списков в среде Windows можно использовать Software Restriction Policies (Политики ограниченного использования программ). Их основная идея:

  • Разрешить запуск приложений только из системных и доверенных директорий.
  • Ограничить или заблокировать доступ к командной строке (cmd.exe).
  • Заблокировать выполнение сценариев PowerShell.
  • Запретить редактирование реестра с помощью regedit.exe.

Разрешенными для запуска обычно назначаются стандартные системные пути:

%Windir%
%Windir%system32
C:Program Files
C:Program Files (x86)

А также пути к сетевому репозиторию авторизованного ПО.

Настройка групповых политик для реализации белого списка

Политики SRP и дополнительные ограничения настраиваются через оснастку «Управление групповой политикой».

Ограничение доступа к инструментам обхода

  • Командная строка: Конфигурация пользователя → Политики → Административные шаблоны → Система → Запретить доступ к командной строке.
  • PowerShell: Конфигурация пользователя → Политики → Административные шаблоны → Система → Не запускать указанные приложения Windows (добавить powershell.exe, powershell_ise.exe).
  • Редактор реестра: Конфигурация пользователя → Политики → Административные шаблоны → Система → Запретить доступ к средствам редактирования реестра.

Путь настройки SRP политик

Конфигурация компьютера → Параметры Windows → Параметры безопасности → Политики ограниченного использования программ → Дополнительные правила.

Переключение в режим белого списка

В узле «Уровни безопасности» необходимо установить уровень «Запрещено» в качестве значения по умолчанию. После этого все программы по умолчанию будут блокироваться, и нужно будет явно разрешить выполнение для путей из белого списка, добавив соответствующие правила.

Использование переменных реестра в правилах

Для большей гибкости и переносимости правил между разными системами в путях можно использовать переменные реестра. Это позволяет корректно обрабатывать пути на системах с нестандартной структурой дисков.

%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSystemRoot%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramFilesDir%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCommonFilesDir%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCommonFilesDir (x86)%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCommonW6432Dir%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramFilesDir (x86)%
%HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramW6432Dir%

Рекомендации по усилению защиты: переход к AppLocker

Software Restriction Policies — устаревшая технология, которая в современных версиях Windows помечена как нерекомендуемая. Её основные недостатки: относительно простой обход через переименование файлов или использование альтернативных путей, а также отсутствие детального аудита.

Для надежной реализации белых списков рекомендуется использовать AppLocker. Он предоставляет более гибкие и безопасные механизмы контроля, позволяя создавать правила не только по пути к файлу, но и по издателю (цифровой подписи), версии продукта и хэшу файла. Это значительно усложняет обход защиты.

Ключевые этапы внедрения системы белых списков

  • Создание и структурирование централизованного репозитория авторизованного ПО.
  • Разработка стандартизированных процедур и инструкций для добавления нового ПО в репозиторий и его установки.
  • Настройка политик ограничения выполнения (SRP для совместимости или AppLocker для современных систем).
  • Ограничение доступа к инструментам обхода — командная строка, PowerShell, редактор реестра.
  • Установка регулярного процесса пересмотра и обновления белых списков и репозитория.
  • Настройка мониторинга и оповещений о попытках запуска неавторизованного кода для оперативного реагирования.

Внедрение белых списков — это не единовременная настройка, а процесс, который меняет культуру управления программным обеспечением в организации. Он требует первоначальных усилий, но в результате создает предсказуемую и контролируемую среду, где каждая исполняемая программа имеет известное происхождение и утвержденное назначение.

Оставьте комментарий