Есть несколько простых способов снизить вероятность того, чтобы среди атакованных компаний оказалась ваша.
Киберограбление века
Carbanak – как много это слово значит для администратора ИТ-инфраструктуры и ИБ банков… Эта APT-кампания позволила киберпреступникам осуществить кражу в размере, по предварительным оценкам экспертов, приближающемуся к миллиарду долларов США. Помимо масштаба украденных средств на фоне других угроз, эта APT отличается техниками, которые злоумышленники использовали для изучения своих жертв и закрепления в их инфраструктурах. Киберпреступники проводили разведку в ручном режиме, пытаясь взломать нужные компьютеры (например, компьютеры администраторов) и применяя инструменты, обеспечивающие дальнейшее заражение компьютеров в сети. При этом в параллельном режиме эксперты антивирусных компаний проводили расследование инцидентов, за которыми стояли участники преступной группы Carbanak, и поспешно уведомляли жертв, у которых были обнаружены вредоносные компоненты.
Впоследствии по результатам расследования был опубликован отчет [1], в котором, помимо прочей информации, содержались так называемые индикаторы компрометации. Данные индикаторы предназначены для того, чтобы любой желающий с помощью специализированных инструментов смог проверить наличие вредоносных компонентов Carbanak в своей собственной инфраструктуре и принять соответствующие меры для повышения ее защищенности. Однако приложения, в которых публикуется данная информация, очень часто остаются без нужного внимания, потому что читатель попросту не знает, что делать с различными IОC, Yara-rules и прочими структурами данных, представленных в подобных отчетах.
Снижаем риски с помощью оперативной информации
Сейчас все чаще в игру вступают более сложные таргетированные угрозы, а такие спецоперации могут длиться годами, и компания может даже не догадываться о наличии посторонних программ в своей ИТ-инфраструктуре. Поэтому владельцам ИТ-инфраструктур необходимо регулярно проверять свои ресурсы на наличие вредоносных компонентов.
Заражение может произойти, например, в результате эксплуатации злоумышленниками уязвимостей «нулевого дня». В таких случаях о новой угрозе еще могут не знать разработчики средств защиты, установленных в информационной системе. В то же время эксперты уже могут вести расследования связанных с новой угрозой инцидентов. Более того, могут быть опубликованы некоторые результаты этих расследований и отчеты.
Типичный отчет содержит приблизительно следующую информацию об APT-кампании:
- Детали о цели и жертвах.
- Время активности.
- Перечень узлов (IP-адреса) жертв.
- Текущая активность.
- Показатели компрометации (IОC, Yara-rules).
- Инструменты, которые использовали злоумышленники.
- Описания инфраструктуры командных центров (C&C).
- MD5-хеши вредоносных компонентов.
Среди детальной технической информации для администратора безопасности информационной системы наибольший практический интерес представляют «показатели компрометации». Это набор данных, который может помочь администратору обнаружить вредоносную активность в системе и принять соответствующие меры. Данная структурированная информация предназначена для импорта в автоматизированные средства проверки инфраструктуры на наличие признаков заражения.
Показатель компрометации (indicator of compromise, IOC) – это артефакт, который с помощью специальных утилит позволяет определить факт заражения и может находиться как на конкретном узле сети, так и в сетевом трафике. Унифицированный формат описания данных индикаторов по-прежнему остается открытым вопросом, однако в индустрии широкое распространение и поддержку получило несколько типов структурированных данных.
IOC
IOC – данные для записи, определения и распространения информации об угрозах, которые позволяют определить факт ее наличия в инфраструктуре посредством автоматизированного анализа программными средствами.
Простые сценарии использования подразумевают поиск специфичных файлов в системе по различным признакам: MD5-хеш, имя файла, дата создания, размер и прочие атрибуты. Кроме того, можно искать различные специфичные признаки в памяти или специфичные записи в реестре операционной системы Windows.
Администратор также может осуществить интеграцию IOC, взятых из отчетов, в различные защитные решения:
- Средства защиты класса Endpoint Security.
- SIEM.
- IDS/IPS.
- HIDS/HIPS.
- Различные инструменты для расследования инцидентов.
Существует множество коммерческих решений для работы с IOC, однако в ряде случаев достаточно возможностей их «опенсорсных» аналогов для проверки целевой системы на наличие признаков заражения. Например, Loki [2] – IOC-сканер, распространяющийся по лицензии GPL, который позволяет осуществлять поиск в целевой системе различных артефактов в результате вредоносной активности.
Для проверки системы достаточно распаковать архив с утилитой и добавить нужные IOC-атрибуты. В папке приложения signature находятся следующие категории IOC:
- filename-iocs – текстовый файл, в котором содержатся списки различных атрибутов файловой системы, являющихся результатом активности той или иной угрозы;
- hash-iocs – перечень MD5, SHA1 и SHA256-хешей вредоносных компонентов, которые присутствуют в системе после ее заражения;
- falsepositive-hashes – список исключений MD5, SHA1
и SHA256-хешей, которые при детекте соответствующих компонентов помечаются сканером как «ложное срабатывание».
В качестве примера возьмем опубликованный отчет об исследовании APT Carbanak [1]. На странице 36 содержится перечень MD5-хешей всех вредоносных компонентов, которые могут оказаться в системе после ее заражения (см. рис. 1). Откроем файл hash-iocs сканера и внесем соответствующее правило в следующем формате: <MD5>;<description>.
Рисунок 1. Перечень MD5-хешей компонентов Carbanak APT в файле hash-iocs сканера Loki
Затем в текстовый файл filename-iocs, описывающий атрибуты вредоносных компонентов в файловой системе, создадим индикатор в формате (см. рис. 2):
Рисунок 2. IOC для файловой системы в перечне filename-iocs сканера Loki
# COMMENT
# REGULAREXPRESSION;SCORE
После внесения нужных индикаторов в базу знаний сканера можно приступить к началу сканирования. Для этого необходимо запустить исполняемый файл loki.exe с правами администратора (в противном случае у сканера не будет возможности осуществить проверку содержимого оперативной памяти на наличие атрибутов) и дождаться завершения процедуры (см. рис. 3).
Рисунок 3. Процесс сканирования утилитой Loki
По результатам сканирования приложение составит отчет, который будет находиться в каталоге с программой и называться loki.txt.
Yara-rules
Помимо различных IOC-индикаторов, к отчетам могут прилагаться файлы с расширением .yar. В данных файлах содержатся правила, составленные согласно специальному синтаксису, для YARA [3] – инструмента, предназначенного для идентификации и классификации вредоносных семплов. Так называемые Yara-rules описывают признаки наличия вредоносного кода. В том случае, если выполняется одно из правил, анализатор выносит вердикт о заражении и конкретных экземплярах вредоносного ПО.
Вышеописанный сканер Loki также поддерживает YARA-правила, а значит, взятые из отчетов yar-файлы могут стать хорошим поводом для проверки своей системы на наличие угрозы, упомянутой в отчете. Для этого достаточно переместить yar-файл в папку signature и запустить проверку. Однако для работы с YARA-правилами куда лучше подходит официальный инструмент от создателей проекта YARA, так как его база знаний регулярно пополняется, и она куда больше, чем базы аналогичных утилит, что позволяет в результате сканирования получить более полную картину о защищенности инфраструктуры.
Для проверки наличия тех или иных вредоносных компонентов в инфраструктуре на рабочей станции достаточно запустить утилиту YARA с нужными параметрами. Например:
yara32.exe –d md5=<MD5_hash> <this_is_yara_rule.yar> <dir_for_check>
где параметр -d используется для определения внешних переменных. При наличии каких-либо соответствий условиям правила утилита выведет уведомление с названием правила и компонент, на котором оно сработало (см. рис. 4).
Рисунок 4. Пример сработавшего правила YARA
В результате у администратора может осуществляться запуск подобных проверок, например, при загрузке системы. Для этого достаточно написать простой PowerShell-скрипт, который будет запускать утилиты с нужными параметрами и, если потребуется, назначать его запуск для всех хостов с помощью Active Directory: User configuration → Windows configuration → Scenarios → Logon.
STIX/JSON
Structured Threat Information Expression (STIX) – унифицированный язык для структурированной записи информации об угрозах. STIX разработан для эффективного применения данных об угрозах и используется для задач анализа вредоносного ПО, составления индикаторов, оперативного реагирования на инциденты и публикации информации об угрозах.
Огромное количество защитных решений поддерживает правила STIX и JSON для развертывания их в инфраструктуре:
- SIEM.
- Защитные решения, основанные на индикаторах (например, сканеры).
- Forensic-платформы.
- Решения класса Endpoint Security и прочее.
Импорт STIX-отчета можно осуществить в популярное SIEM-решение IBM QRadar, используя специально подготовленный python-скрипт [4]:
./stix_import.py -f STIXDocument.xml -i 192.168.56.2 -t XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX -r MyReferenceSet
где:
- -f – определяет расположение локального STIX-документа,
- -i – определяет хост с установленной QRadar-консолью,
- -t – задает сервис-токен для QRadar.
JSON – один из наиболее популярных форматов представления данных, который также часто прилагается к отчетам. Применение данных в формате JSON зависит от задач администратора и особенностей программного решения, в которое осуществляется импорт этих данных. Так, например, в случае наличия IP-адресов командных центров, к которым подключаются зараженные рабочие станции, администратору защищаемой инфраструктуры имеет смысл внести эти IP-адреса в черный список своего файрвола.
Кто владеет информацией, тот…
Данный материал должен еще раз напомнить (а для кого-то и открыть) читателям тот факт, что отчеты об исследовании той или иной угрозы несут в себе куда больше полезной информации, чем может показаться на первый взгляд. Ведь в конце концов, кто владеет информацией, тот снижает риски быть взломанным. eof
- Отчет об исследовании APT Carbanak – https://securelist.com/files/2015/02/Carbanak_APT_eng.pdf.
- IOC-сканер Loki – https://github.com/lukaszbb/Loki.
- YARA – инструмент, предназначенный для идентификации и классификации вредоносных семплов – https://github.com/plusvic/yara.
- Python-скрипт для импорта STIX-отчета в SIEM-решение IBM QRadar – https://github.com/ibm-security-intelligence/data-import/tree/master/stix-import.