Home Blog Обзор исследований для security-чемпионов

Обзор исследований для security-чемпионов

by Denis Makrushin
45 views

Иногда полезно раз­гре­бать зак­ладки в бра­узе­ре и избран­ные пос­ты, которые откла­дыва­лись до появления энтузиазма. Про­ведем обзор опуб­ликован­ных блог­постов, док­ладов и иссле­дова­тель­ских матери­алов, которые вряд ли ста­нут «иссле­дова­ниями года», но несут в себе новые тех­ники. Кто зна­ет, какая из них может вдруг выстре­лить и пол­ностью поменять лан­дшафт угроз?

Архитектура движка символьного исполнения для анализа вредоносного ПО

Материал подготовлен для авторской колонки в журнале “Хакер”.

Техники фаззинга и динамического анализа ПО

Здесь я соб­рал иссле­дова­ния в нап­равле­нии динами­чес­кого ана­лиза ПО и, в час­тнос­ти, фаз­зинга, которо­му мы в прош­лом пос­вятили от­дель­ный выпуск.

Фаззим ClamAV семплами малвари

Fuzzing ClamAV with real malware samples

Ин­терес­ный под­ход к поис­ку багов в анти­вирус­ном движ­ке с исполь­зовани­ем реаль­ных сем­плов злов­редов в качес­тве кор­пуса для фаз­зинга. Фаз­зить анти­вирус вре­доно­сами — это как про­верять работос­пособ­ность системы про­тиво­воз­душной обо­роны реаль­ными ракета­ми.

Ав­тор выб­рал опен­сор­сный дви­жок ClamAV, который так­же исполь­зует­ся в ком­мерчес­ких решени­ях. В качес­тве пер­воначаль­ного набора тест‑кей­сов (кор­пуса) исполь­зует­ся база сем­плов vx-underground.

В матери­але автор про­ходит пол­ный цикл фаз­зинга: от под­готов­ки цели до ана­лиза резуль­татов. Тем, кто хочет перей­ти от теории к прак­тике, дос­таточ­но пов­торить опи­сан­ные эта­пы.

Как заработать фаззингом 200 тысяч долларов за выходные

Earn $200K by fuzzing for a weekend: Part 1

За круг­лой сум­мой в заголов­ке пря­чет­ся еще одно под­твержде­ние того, что memory-safe не озна­чает отсутс­твие уяз­вимос­тей. На при­мере вир­туаль­ной машины, написан­ной на Rust, автор про­демонс­три­ровал эффектив­ность поис­ка багов Rust-при­ложе­ний, при­менив извес­тные тех­ники фаз­зинга к извес­тно­му тар­гету.

В матери­але уде­лено вни­мание под­готов­ке тес­товых ора­кулов (test oracles) — механиз­мов опре­деле­ния ожидаемо­го и ано­маль­ного поведе­ний тар­гета в про­цес­се тес­тирова­ния.

SFUZZ — высокопроизводительный фаззер на основе кастомного JIT-движка

SFUZZ: High Performance Coverage-guided Greybox Fuzzer with Custom JIT Engine

SFUZZ — это новый фаз­зер для тес­тирова­ния методом серого ящи­ка, осно­ван­ный на эму­ляции. Он исполь­зует кас­томный JIT-ком­пилятор для повыше­ния про­изво­дитель­нос­ти. Автор утвер­жда­ет, что его инс­тру­мент работа­ет быс­трее, чем AFL++, и под­твержда­ет это срав­нитель­ными тес­тами.

Глав­ный недос­таток SFUZZ, который не поз­волит ему заменить AFL++, в том, что он фаз­зит бинар­ники толь­ко для RISC-V. Сей­час для этой архи­тек­туры не так мно­го инте­рес­ных тар­гетов, хотя это может и изме­нить­ся.

Использование символьного выполнения для выявления вредоносного кода

Using a Practical Symbolic Engine to Detect Evasive Forms of Malware/Ransomware (PDF)

На кон­ферен­ции Black Hat 2022 показа­ли инте­рес­ную тех­нику выяв­ления вре­донос­ного ПО и, в час­тнос­ти, экзем­пля­ров ран­сомва­ри. Авто­ры пред­лага­ют обой­ти огра­ниче­ния методов динами­чес­кого ана­лиза ПО, которые пло­хо справ­ляют­ся с обфусци­рован­ными или модифи­циро­ван­ными вре­доно­сами, и при­менить дви­жок сим­вольного выпол­нения.

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

Архитектура движка символьного исполнения для анализа вредоносного ПО

С помощью это­го метода в прог­раммах ищут ошиб­ки, но авто­ры иссле­дова­ния решили при­менить его для определе­ния экзем­пля­ров вымога­телей. Выб­рав три клю­чевых приз­нака сем­плов ран­сомва­ри (перечис­ление фай­лов, опе­рация над фай­лами, шиф­рование), иссле­дова­тели вос­поль­зовались тех­никой сим­воль­ного выпол­нения для детек­та. Резуль­таты: детект 95,60% ран­сомва­ри, 0% лож­ных сра­баты­ваний.

Новые техники вредоносного ПО

Symbiote в подробностях: анализ новой угрозы для Linux, которую почти невозможно обнаружить

Symbiote Deep-Dive: Analysis of a New, Nearly-Impossible-to-Detect Linux Threat

Здесь раз­бира­ется новый обра­зец вре­донос­ного ПО, который при­меня­ет eBPF и LD_PRELOAD для сок­рытия. Для защиты от инспек­тирова­ния тра­фика бэк­дор исполь­зует инте­рес­ную тех­нику внед­рения допол­нитель­ного кода в заг­ружа­емые в ядро BPF-прог­раммы, что поз­воля­ет скрыть сетевую активность от ана­лиза­торов, запус­каемых на той же сис­теме поз­днее.

Набор техник, которые Symbiote использует для своего сокрытия

Ког­да адми­нис­тра­тор запус­кает какой‑то ана­лиза­тор пакетов на заражен­ной машине, в ядро внед­ряет­ся байт‑код BPF, опре­деля­ющий, какие пакеты ана­лиза­тор дол­жен зах­ватить. Это поз­воля­ет бэк­дору манипу­лиро­вать ана­лизом тра­фика и скры­вать сетевую активность.

Agenda — новая рансомварь на Go, меняющая тактики

New Golang Ransomware Agenda Customizes Attacks

Об­наружен новый экзем­пляр ран­сомва­ри, написан­ный на Golang. При­меча­тель­но, что Go и Rust ста­новят­ся популяр­ными у раз­работ­чиков мал­вари. Кросс‑плат­формен­ные язы­ки прог­рамми­рова­ния поз­воля­ют зло­деям охва­тить боль­ше архи­тек­тур и опе­раци­онных сис­тем и ском­про­мети­ровать боль­ше раз­нооб­разных кор­поративных сред.

Кро­ме того, подоб­ную мал­варь труд­но ана­лизи­ровать, потому что ком­пилятор Go ста­тичес­ки под­клю­чает необ­ходимые биб­лиоте­ки в бинар­ном фай­ле. Ито­говый бинарь получа­ется нас­толь­ко боль­шим, что мно­гие анализаторы и реверс‑инже­неры прос­то попер­хнут­ся.

Омерзительная восьмерка: техники, тактики и процедуры (TTPs) группировок шифровальщиков

Опуб­ликован отчет с резуль­татами ана­лиза APT-груп­пировок, которые исполь­зуют тро­яны‑вымога­тели в сво­их опе­раци­ях. Матери­ал инте­ресен для всех, кто выс­тра­ивает сис­тему защиты от ransomware в инфраструк­туре.

Ряд осо­бен­ностей, отме­чен­ных в отче­те, мож­но исполь­зовать для детек­та ран­сомва­ри:

  1. Ме­тоды попада­ния в инфраструк­туру у всех общие: челове­чес­кий фак­тор (фишинг), откры­тые сер­висы (нап­ример, RDP) и мно­жес­твен­ные уяз­вимос­ти (при­чем извес­тные).
  2. В про­цес­се запус­ка все вре­доно­сы исполь­зуют коман­дные и скрип­товые интер­пре­тато­ры.
  3. Для зак­репле­ния образцы всех семей­ств исполь­зуют тех­ники манипу­ляции учет­ными запися­ми.
  4. Для обхо­да средств защиты чаще все­го исполь­зуют­ся стан­дар­тные средс­тва ОС.
  5. Об­наруже­ние ресур­сов: все без исклю­чения семей­ства исполь­зуют тех­ники обна­руже­ния новых ресур­сов (сетевых шар, хос­тов, фай­лов, про­цес­сов и так далее).
  6. Ком­муника­ция с сер­верами управле­ния: все образцы исполь­зуют уро­вень при­ложе­ний для ком­муника­ции с C2, а некото­рые пыта­ются красть дан­ные по это­му же каналу.
  7. На­руше­ние целос­тнос­ти дан­ных: уда­ление бэкапов, вык­лючение сис­темных фун­кций вос­ста­нов­ления дан­ных, оста­нов­ка биз­нес‑при­ложе­ний.

Ана­лити­кам SOC на замет­ку: пос­ледние три осо­бен­ности поз­воля­ют пос­тро­ить стра­тегию целенап­равлен­ного детек­та ран­сомва­ри в заражен­ной инфраструк­туре.

Кста­ти, вымога­телей, нацелен­ных на инфраструк­туру с Docker и Kubernetes, пока еще не так мно­го. Воз­можно, это объ­ясня­ется осо­бен­ностя­ми под­хода «неиз­меня­емой инфраструк­туры» (immutable infrastructure): пос­ле попада­ния в кон­тей­нер­ную сре­ду у мал­вари ока­зыва­ется не так мно­го инте­рес­ных мест для шиф­рования или горизон­таль­ного переме­щения. Кли­ент­ские рабочие стан­ции и окру­жение, пос­тро­енное на Windows, куда вкус­нее.

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

Leave a Comment

You may also like