Инфобезопасность, как известно, считается по самому слабому звену. И если вы вваливаете и вваливаете (лишние) деньги в ИБ, считая, что на безопасности нельзя экономить - это совершенно не спасает вас от того самого слабого звена: возможность запустить любой(!) исполняемый файл в произвольном, не положенном для исполняемых файлов месте: папка "загрузки", temp, съемные носители, etc. А ведь технологии уже 25 лет - всего лишь настройка в Active directory - политика ограниченного использования программ. Отсутствие которой и привело к 99%, если не 100%, случаев заражений вирусами-шифровальщиками в мире и всем тем экономическим ущербам от них! Я еще понимаю личный комп физлица, который заразился вирусом - о таких вещах как групповые политики неспециалист знать не обязан. Но представим себе: компания с целым ИТ-отделом, возможно даже с раздутым штатом (я, к слову, могу вдвоем обслуживать офис на 200 юзеров - именно потому что есть понимание ИБ), эти люди получают достойную зарплату, но вот они просто - постеснялись/поленились/не додумались за всё свое время хождения на работу включить эту самую политику, просто включить, это бесплатно - и поймали шифровальщика. Удавшееся заражение объяснили тем, что антивирус не обнаружил вирус. А технологии было 20 лет! Занавес. Так выглядит практически каждый инцидент с вредоносным ПО в любой компании!
В чем суть и в чем абсолютность такой защиты от вирусов: мы можем запускать только те исполняемые файлы, которые находятся в специально предназначенных для них местах, куда без админских прав записать ничего нельзя. Для вредоносного ПО получается замкнутый круг. Даже изощренная атака через эксплуатацию уязвимостей в PDF и тому подобных файлах документов стандартно реализуется через загрузку вредоноса куда-то на диск и далее его запуск.
Итак, рассмотрим все особенности применения политики - "расслабленный" вариант в плане ограничений:
Обязательно внести в белый список папку C:\Program Files (x86) - по умолчанию ее там нет. Для запуска Autocad потребуется добавить ещё и C:\ProgramData
Внести пути для запуска приложений, размещенных у вас в локальной сети.
Изменить перечень "назначенных типов файлов" - удалить LNK и добавить JS, VBS
Выбрать применение политики "кроме локальных администраторов"
Поставить по умолчанию тип политики "запрещено".
Софт теперь ставим только в Program Files или в сетевую папку на сервере (из белого списка)
Такие настройки позволят в случае необходимости обойти политику, сделав запуск "от имени администратора"
Теперь о том, как воспользоваться защитой на ПК не в домене и даже с домашней версией Windows. Политики хранятся в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Policies. Проверено на Windows 7-10, возможно сработает и на XP. Представим себе: рабочий ноутбук, система уже стоит из магазина, надо его защитить:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers]
"authenticodeenabled"=dword:00000000
"DefaultLevel"=dword:00000000
"TransparentEnabled"=dword:00000002
"PolicyScope"=dword:00000001
"ExecutableTypes"=hex(7):57,00,53,00,43,00,00,00,56,00,42,00,53,00,00,00,56,00,
42,00,00,00,55,00,52,00,4c,00,00,00,53,00,48,00,53,00,00,00,53,00,43,00,52,
00,00,00,50,00,49,00,46,00,00,00,50,00,43,00,44,00,00,00,4f,00,43,00,58,00,
00,00,4d,00,53,00,54,00,00,00,4d,00,53,00,50,00,00,00,4d,00,53,00,49,00,00,
00,4d,00,53,00,43,00,00,00,4d,00,44,00,45,00,00,00,4d,00,44,00,42,00,00,00,
4a,00,53,00,00,00,49,00,53,00,50,00,00,00,49,00,4e,00,53,00,00,00,49,00,4e,
00,46,00,00,00,48,00,54,00,41,00,00,00,45,00,58,00,45,00,00,00,43,00,52,00,
54,00,00,00,43,00,50,00,4c,00,00,00,43,00,4f,00,4d,00,00,00,43,00,4d,00,44,
00,00,00,42,00,41,00,54,00,00,00,42,00,41,00,53,00,00,00,41,00,44,00,50,00,
00,00,41,00,44,00,45,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\262144]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\262144\Paths]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\262144\Paths{191cd7fa-f240-4a17-8986-94d480a6c8ca}]
"LastModified"=hex(b):c9,ae,97,63,18,84,d9,01
"Description"=""
"SaferFlags"=dword:00000000
"ItemData"="C:\\Windows"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\262144\Paths{cea59734-a2f8-487b-ab8a-6267ccd87c31}]
"LastModified"=hex(b):a7,84,29,77,18,84,d9,01
"Description"=""
"SaferFlags"=dword:00000000
"ItemData"="C:\\Program Files"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers\262144\Paths{d2c34ab2-529a-46b2-b293-fc853fce72ea}]
"LastModified"=hex(b):c9,ae,97,63,18,84,d9,01
"Description"=""
"SaferFlags"=dword:00000000
"ItemData"="C:\\Program Files (x86)"
Идём дальше. А что же у нас на Linux? А там просто совершенно не пуганная из-за отсутствия вирусов публика. Съемные носители и вообще любые новые ФС не-nix формата - монтируются прямо с включенным исполняемым атрибутом! И детская болезнь винды с предложением что-то автозапустить при вставлении флэшки. А ведь можно под пользовательскими правами запустить нечто и оно зашифрует всё, до чего можно дотянуться с правами на запись в сети! И чтобы размножаться, вирусу не обязательны root-права! Вангую массовое появление вирусов-шифровальщиков под Linux, особенно из-за геополитики - импортозамещения России Linux-ом и желания на Западе нанести ущерб перешедшей на Linux критической инфраструктуре, при этом может достаться всем - и частникам, и мелкому бизнесу, и в любой стране мира. Поэтому готовиться надо уже заранее! В Debian-based системах есть Apparmor, в RedHat-based есть seLinux. В комментах жду решения как убрать исполняемый атрибут для новопримонтированных файловых систем.