Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Анти-APT своими руками

294 views

Published on

Обфускация вредоносного кода, социальная инженерия, использование «то ли багов, то ли фич» Windows — сегодняшний арсенал злоумышленников дает возможность успешно обходить сигнатурные средства защиты. Доклад посвящен опыту построения в корпоративной среде системы на базе опенсорса, нацеленной на выявление атак, не детектируемых классическими средствами защиты. Речь пойдет о элементах статического и динамического анализа, интересных инцидентах, которые были выявлены за время работы системы (с использованием эксплойтов на MS Office, JS-кода в CHM-файлах, трюков с упаковкой OLE в PDF и Multipart, с промежуточным взломом предприятия-контрагента и крупного авиаперевозчика), будет озвучена накопленная статистика по детекту самодельной системы, сигнатурных средств и одного коммерческого анти-APT-решения.

Published in: Technology
  • Be the first to comment

Анти-APT своими руками

  1. 1. АНТИ-APT СВОИМИ РУКАМИ Данил Бородавкин danil.borodavkin@gmail.com АО «Информационные спутниковые системы» имени академика М.Ф. Решетнёва» НУЛ «Информационная безопасность» каф. ПМКБ ИКИТ СФУ
  2. 2. Расставим точки над «i» Предмет рассмотрения – в первую очередь выявление вредоносного содержимого на стадии доставки. Других методов это разумеется не умоляет Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 2
  3. 3. ТЕОРИЯ 3
  4. 4. Уровень абстракции Корень зла – принципиальное отсутствие критериев вредоносности Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 4
  5. 5. Пример VaultCrypt Sysinternals sdelete Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 5
  6. 6. Сигнатурный метод 01010100011100100110 11110110101001100001 01101110001011100100 00100110111101110100 01010100011100100110 11110110101001100001 01101110001011100100 11100110111101110100 Trojan.Bot Trojan.Not Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 6
  7. 7. Как развивается атака Доставка Развертывание Работа Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 7
  8. 8. Как детектировать? Доставка Контейнер OLE PDF etc Развертывание Дроппер Файлы Ключи реестра Объекты IPC Работа Осн. модуль Сетевая активность DNS-запросы IP-трафик Файловая активность Аномалии данных Аномалии поведения Неотличимо от легитимного, но уникально Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 8
  9. 9. Как детектировать? Доставка Контейнер OLE PDF etc Развертывание Дроппер Файлы Ключи реестра Объекты IPC Работа Осн. модуль Сетевая активность DNS-запросы IP-трафик Файловая активность Аномалии данных Аномалии поведения Неотличимо от легитимного, но уникально Выявлять Контро- лировать Определять параметры контроля Эвристика Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 9
  10. 10. Казалось бы, все просто ПЛОХО! Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 10
  11. 11. Как детектировать? Доставка Контейнер OLE PDF etc Развертывание Дроппер Файлы Ключи реестра Объекты IPC Работа Осн. модуль Сетевая активность DNS-запросы IP-трафик Файловая активность Аномалии данных Аномалии поведения Неотличимо от легитимного, но уникально Понимание структуры данных Упаковка/обфускация Не всегда применимо Вычислительные затраты Задержки Критерии выделения аномалий 11 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  12. 12. Как детектировать? Доставка Контейнер OLE PDF etc Развертывание Дроппер Файлы Ключи реестра Объекты IPC Работа Осн. модуль Сетевая активность DNS-запросы IP-трафик Файловая активность Аномалии данных Аномалии поведения Неотличимо от легитимного, но уникально Выявлять Контро- лировать Определять параметры контроля Предиктор КорректорЭвристика 12 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  13. 13. ЭВРИСТИКА 13
  14. 14. Эвристика •  GeoIP (черные списки, соответствие страны домена) •  Подмена адресов и записей Received •  Подмена времени •  Белые/черные списки отправителей •  Проверка заголовков вложений •  Статистический подход по типам вложений Формат Знаем Анализируем Не знаем Повышаем критичность Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 14
  15. 15. Эвристика Received: from [185.5.136.50] (port=55953 helo=f379.i.mail.ru) by nt-8.ourdomain.ru (acSMTP/4.32.4964) with ESMTP id 67393.0.0 (envelope-from <social.engineer@mail.ru>) for <vip@ourdomain.ru>; Thu, 10 Mar 2016 14:46:46 +0700 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail2; h=Content-Type:Message-ID:Reply-To:Date:MIME- Version:Subject:To:From; bh=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=; b=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY=; Received: from [115.177.235.182] (ident=mail) by f379.i.mail.ru with local (envelope-from <social.engineer@mail.ru>) id 1advJ1-0002hU-IH for vip@ourdomain.ru; Thu, 10 Mar 2016 10:46:48 +0300 Received: from [115.177.235.182] by e.mail.ru with HTTP; Thu, 10 Mar 2016 10:46:47 +0300 From: Attacker < social.engineer@mail.ru > 15 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  16. 16. Эвристика 16 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  17. 17. Эвристика 17 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  18. 18. СТАТИЧЕСКИЙ АНАЛИЗ 18
  19. 19. Microsoft Office / OLE Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 19
  20. 20. Microsoft Office / OLE (норма) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 20
  21. 21. Microsoft Office / OLE (макрос) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 21
  22. 22. Microsoft Office / OLE (CVE-2012-0158) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 22
  23. 23. PDF Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 23
  24. 24. PDF (норма) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 24
  25. 25. PDF (JS) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 25
  26. 26. Материалы по теме Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. Didier Stevens •  https://blog.didierstevens.com •  https://blog.nviso.be 26
  27. 27. ПЕСОЧНИЦА 27
  28. 28. Песочница 28 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  29. 29. Песочница ПЛОХО! Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 29
  30. 30. Песочница: проблема №1 30 Изменения Файлы Ключи реестра Объекты IPC Системные вызовы Запущенные процессы Обращения к DNS Сетевой трафик Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  31. 31. Песочница: проблема №1 31 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  32. 32. Песочница: проблема №2 32 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  33. 33. Песочница: проблема №2 •  Cuckoo Sandbox предлагает сигнатурный метод, основанный на черных списках. •  Мы же пошли другим путем: белые списки с возможностью обучения на легитимных файлах. 33 ЭТО ПЛОХО! ЭТО ХОРОШО, А ВСЕ, ЧТО НЕ ХОРОШО – ПЛОХО! Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  34. 34. Схема вынесения вердикта 34 Изменения после открытия файла Файлы Ключи реестра Объекты IPC Сис. вызовы Процессы DNS Сетевой трафик Глобальныеисключения Легитимныедействиядля.doc Флаг F Флаг R Флаг I Флаг C Флаг P Флаг D Флаг N Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  35. 35. Схема вынесения вердикта 35 Флаг F Флаг R Флаг I Флаг C Флаг P Флаг D Флаг N Правила вынесения вердикта: I + R + N = ALERT C + F + I = WARNING D + P + R = ALERT F + P + D = ALERT I + R = WARNING ETC ALERT WARNING CLEAN Аналогичная схема работает на стадии статического анализа Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  36. 36. Режим обучения 36 Изменения после открытия файла Файлы Ключи реестра Объекты IPC Сис. вызовы Процессы DNS Сетевой трафик Глобальныеисключения Легитимныедействиядля.doc Флаг F Флаг R Флаг I Флаг C Флаг P Флаг D Флаг N Режим обучения Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  37. 37. КОНТРОЛЬ IOC 37
  38. 38. Контроль IOC •  Запросы DNS •  Логи прокси •  Netflow •  Трафик (snort) •  Файлы •  «Зацикленный» nmap в локалке •  Nmap+OpenVAS в ДМЗ Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 38
  39. 39. СОБИРАЕМ ВСЕ ВМЕСТЕ 39
  40. 40. Что пришлось писать •  Агент для проверки почты (EmailAnalyzer aka EA) •  Очередь песочницы (многопоточность, приоритеты) •  Скрипт вынесения вердиктов песочницы (BirdBrain) •  Скрипты контроля запросов DNS и прокси •  Автоматизация nmap •  Система ведения разбирательств, база событий и IOC •  Универсальный извлекатель архивов (поддержка разных форматов, рекурсия, пароли) •  Веб-интерфейс •  Telegram-бот для уведомлений J Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 40
  41. 41. Схема работы системы 41 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  42. 42. Интерфейс системы Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 42
  43. 43. ПРЕДЛАГАЕМОЕ РЕШЕНИЕ 43 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  44. 44. ПРЕДЛАГАЕМОЕ РЕШЕНИЕ 44 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  45. 45. ПРЕДЛАГАЕМОЕ РЕШЕНИЕ 45 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  46. 46. Интерфейс системы Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 46
  47. 47. Уведомления 47 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  48. 48. YOU KNOW NOTHING JON SHOW 48
  49. 49. Век живи – век учись В процессе проблемы обнаруживаются на всех фронтах: •  статический анализатор регулярно не справляется с новыми ухищрениями вирусописателей; •  отсутствие результата в песочнице Для поддержания качества детекта необходимо периодически: •  «подтягивать» функционал; •  производить тюнинг FP (корректировка правил вынесения вердикта, «обучение» BirdBrain). 49 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  50. 50. Multipart Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 50
  51. 51. hh.exe Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 51
  52. 52. PDF: JS, Embedded File, OpenAction Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 52
  53. 53. И ЧТО НА ПРАКТИКЕ? 53
  54. 54. Целенаправленные атаки •  Социальная инженерия: •  рассылки по тематике деятельности предприятия •  письма от имени действующих сотрудников •  подмена отправителя: действующие сотрудники, контрагенты •  поздравления с праздниками •  Технический арсенал: •  эксплойты на MS Office •  chm-js •  multipart •  варианты попроще: .scr, .exe, запароленные архивы •  Доставка на личную почту сотрудников •  Рассылки с взломанных контрагентов На момент доставки не детектируются Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 54
  55. 55. Целенаправленные атаки 55 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  56. 56. Целенаправленные атаки 56 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  57. 57. Целенаправленные атаки 57 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  58. 58. Целенаправленные атаки 58 Exploit C:WindowsSystem32 %APPDATA% Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  59. 59. Целенаправленные атаки 59 <BGSOUND> %TEMP%file.mp3 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  60. 60. Трояны, вымогатели и др. С чем приходится иметь дело: •  MS Office VBS •  JS, VBS, etc •  PDF-JS •  PDF с вложенным MS Office •  MS Office с вложенным PDF •  Макросы MS Office •  Экзотические форматы архивов типа .ACE •  Облачные хранилища Курьезный случай: отправка вредоносного содержимого со взломанного Roundcube крупного авиаперевозчика. Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 60
  61. 61. СТАТИСТИКА Не из интернетов, своя! 61
  62. 62. Как собиралась статистика •  Статистика собрана на вредоносном содержимом в электронной почте (~8 тысяч писем в день). •  Данные по детекту антивирусов – результаты с Virustotal, полученные по хэшам вложенных файлов при обнаружении HANDMADE-системой. •  Сравнение с коммерческим AntiAPT – результат двухмесячного тестирования. На релевантность не претендуем! Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 62
  63. 63. Вредоносная почта 63 0 50 100 150 200 250 300 350 400 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 2014 (276 инцидентов) 2015 (505 инцидентов) 2016 (1435 инцидентов) Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  64. 64. 64 Вредоносная почта Исполняемые файлы 142 Справка (CHM) 4 Скрипты VBS 9 Ссылки 30 Java 41 MS Office (макросы) 103 MS Office (эксплоиты) 60 Скрипты JS 302 Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  65. 65. Антивирусы на стадии доставки Microsoft AVG Symantec TrendMicro Avira 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Microsoft Avast AVG DrWeb Symantec ESET-NOD32 TrendMicro McAfee Avira Kaspersky Процент от выявления HANDMADE-системой Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 65
  66. 66. Антивирусы на стадии доставки 0 200 400 600 800 1000 1200 1400 1600 Microsoft Avast AVG DrWeb Symantec ESET-NOD32 TrendMicro McAfee Avira Kaspersky HANDMADE Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 66
  67. 67. Антивирусы на стадии доставки 0 200 400 600 800 1000 1200 1400 1600 Microsoft Avast AVG DrWeb Symantec ESET-NOD32 TrendMicro McAfee Avira Kaspersky HANDMADE С начала 2017 г. Лидер среди антивирусов Не выявлено Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 67
  68. 68. Антивирусы на стадии доставки 0% 20% 40% 60% 80% 100% июня.16 июля.16 авг..16 сент..16 окт..16 нояб..16 дек..16 янв..17 февр..17 марта.17 апр..17 мая.17 DrWeb ESET-NOD32 Kaspersky 0% 20% 40% 60% 80% 100% июня.16 июля.16 авг..16 сент..16 окт..16 нояб..16 дек..16 янв..17 февр..17 марта.17 апр..17 мая.17 McAfee Avira Kaspersky Лидеры российского рынка Лидеры сравнения Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 68
  69. 69. Пилот коммерческого Anti-APT •  Детект HANDMADE-системы адекватен в сравнении с коммерческим продуктом •  Преимущества самоделки: мы работаем интрузивно (привет шифровальщикам!), интеграция 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% Выявлено Commercial (не выявлено HANDMADE) Не выявлено HANDMADE Антивирус Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 69
  70. 70. ИТОГО •  Антивирусом и файерволом нынче не обойтись •  Своими руками на базе опенсорса и костылей можно собрать Анти-APT с неплохим детектом •  Век живи – век учись Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г. 70
  71. 71. Даешь молодежь! 71 Мы работаем со студентами. Коммиты становятся дипломами J Бородавкин Д. А. <danil.borodavkin@gmail.com> // Анти-APT своими руками // PHDays 7 // Москва, 2017 г.
  72. 72. FROM SIBERIA WITH LOVE

×