Group-IB
6024

Выйти на след хакера в несколько кликов

Что такое сетевой граф и как он ускоряет поиск злоумышленников

В закладки

Группа хакеров в течение нескольких лет проводила фишинговые атаки на клиентов банков в разных регионах мира — злоумышленники штамповали сайты-клоны, стараясь украсть логины и пароли пользователей для входа в интернет-банкинг. Мы взяли один из доменов хакеров, прогнали его через нашу систему автоматизированного графового анализа и нашли ещё 250 вредоносных доменов, которые группа использовала в течение последних четырёх лет.

Некоторые из них уже выкупили банки, но по историческим записям видно, что ранее они были зарегистрированы на злоумышленников. Граф показал, что в 2019 году хакеры изменили тактику и начали регистрировать не только домены банков для отправки фишинговых писем, но и домены различных консалтинговых компаний. Полученная информация помогла предотвратить новые атаки.

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

Предположим, если на радаре появился фишинговый сайт, через который злоумышленники воруют данные пользователей, наша задача — не просто закрыть этот один сайт, а найти всю сеть, транзакции и серверы, через которые проводились мошеннические операции.

В огромном массиве данных можно найти след, который позволит установить личность хакеров или принадлежащие ему активы (компьютеры, доменные имена).

Какие следы оставляют хакеры

Большинство хакеров пытаются действовать анонимно. Но из-за человеческого фактора они всё равно оставляют цифровые следы: домены, IP-адреса, SSH-отпечатки, SSL-сертификаты, телефонные номера, скрытые идентификаторы, адреса электронной почты.

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

Мы изучили десятки поставщиков разных графов и не нашли ни одного, который удовлетворял бы всем нашим требованиям. Например, нам нужны были полные коллекции исторических данных: домены, Passive DNS, Passive SSL, DNS-записи, открытые порты, запущенные сервисы на портах, файлы, взаимодействующие с доменными именами и IP-адресами. Мы не нашли их, поэтому начали создавать такие коллекции сами, включая все обновления в них с глубиной до 15 лет. Нас не устраивало ручное построение графа у других поставщиков, поэтому мы полностью автоматизировали свой граф. В ответ на огромный объём «мусорных связей» других продуктов, мы обучили нашу систему выявлять нерелевантные элементы по той же логике, как это делали наши эксперты руками. Задача нового инструмента — сетевого графа — хантинг, безошибочная атрибуция и глубокие исследование атакующих.

Дмитрий Волков
Технический директор, руководитель департамента Threat Intelligence компании Group-IB

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

На разработку сетевого графа ушло несколько лет. Мы собирали базы, сравнивали множество открытых ресурсов, договаривались с регистраторами доменных имён. Для сбора большого количества данных, например информации о SSL-сертификатах, нам пришлось создавать собственные сервисы, потому что ранее такого инструмента не существовало.

Антон Фишман

Руководитель департамента системных решений Group-IB

Как работает граф

Когда аналитики находят ресурс, связанный с вредоносным программным обеспечением или мошенничеством, они вводят в строку поиска графа домен или IP-адрес. Система найдёт взаимосвязи с другими вредоносными проектами — со старыми фишинговыми сайтами, которые были активны, или с новыми, которые эксплуатируются сейчас или заготовлены для будущих атак.

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

  • «Белый» проект — сайт, который не связан с вредоносной деятельностью. Обычно злоумышленники ведут двойную жизнь и их можно найти, отыскав «белые» проекты. Например, злоумышленник мог когда-то зарегистрировать интернет-магазин или свой блог. Личные данные, которые он там оставил, пригодятся в поисках.
  • «Серый» проект — сайт, который помогает хакеру совершать атаки.

Другая задача — провести атрибуцию — связать данный ресурс с конкретным киберпреступником или группировкой. И найти новые, ранее незамеченные узлы, которые в будущем будут представлять опасность.

Граф — это не набор старых баз данных. Мы регулярно сканируем интернет, храним исторические и собираем текущие данные, которые обновляются несколько раз в день и индексируются. Используются внутренние сложные алгоритмы очистки графов, позволяющие получить актуальную информацию о требуемой инфраструктуре с учётом времени регистрации доменных имен, SSH-отпечатков, создания серверов и так далее. На текущий момент только информация об IP-адресах превышает 4 млрд записей.

Зафар Астанов
Технический пресейл-менеджер

Справка — как начать поиск в сетевом графе

  1. Ввести в поисковую строку домен, IP-адрес, email или SSL-сертификат. Это отправная точка, из которой будет строиться граф.
  2. Выбрать временной интервал — системе нужно понять, когда введённый элемент использовался для вредоносных целей.
  3. Указать глубину шага. Это параметр, который определяет рекурсию графа: один шаг построит от искомого элемента взаимосвязь с другим вредоносным элементом. Как показывает практика, трёх шагов достаточно для первого построения взаимосвязей. Поиск можно углублять, строя новые графы от найденных узлов.
  4. Очистить граф — то есть удалить все нерелевантные элементы. Очистка сильно упрощает жизнь аналитикам: система автоматически фильтрует данные, которые не нужны и ведут по ложному следу.

Вот пример — в 2018 году хакерская группа Cobalt отправляла пользователям электронные письма от лица Нацбанка Казахстана. В письмах были ссылки, по клику на которые скачивался документ. В нём был макрос, который загружал и запускал вредоносный файл. После этого зараженный компьютер связывался с сервером группы и хакеры получали над ним контроль.

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

​Граф без очистки данных — 500 элементов, которые не имеют отношения к атаке
​Граф с очисткой данных — около 20 элементов, которые имеют прямое отношение к атаке

Сначала сотрудники встретили новый инструмент со скепсисом. Технические эксперты хотели полностью контролировать процесс построения графа. Многие думали, что система не сможет выстраивать взаимосвязи лучше, чем человек с многолетним опытом. Мы начали многократно проверять результаты графа вручную и поняли, что его нужно использовать в ежедневной работе. С помощью собственного продукта мы смогли избежать практически всех обнаруженных нами проблем в существующих сетевых графах и расширить свои возможности для поиска киберпреступников.

Антон Фишман
Руководитель департамента системных решений Group-IB

Мы встроили инструмент во все свои публичные продукты. С помощью графа компании, которые хотят защитить себя от взломов и краж, могут искать дополнительные скрытые угрозы для своего бизнеса сами. Графом пользуются технические директора, директора по кибербезопасности, антивирусные аналитики, эксперты служб безопасности и специалисты, отвечающие за защиту репутации и бренда в интернете.

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

{ "author_name": "Group-IB", "author_type": "editor", "tags": [], "comments": 1, "likes": 12, "favorites": 13, "is_advertisement": false, "subsite_label": "group-ib", "id": 90233, "is_wide": true, "is_ugc": false, "date": "Fri, 08 Nov 2019 13:00:41 +0300", "is_special": false }
0
{ "id": 90233, "author_id": 199330, "diff_limit": 1000, "urls": {"diff":"\/comments\/90233\/get","add":"\/comments\/90233\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/90233"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199330, "last_count_and_date": null }
1 комментарий
Популярные
По порядку
0

Жесть, не одного комментария. Безопасность не хайповая тема. Наблюдаю за компанией Group-IB много лет. Темные лошадки конечно, но эта такой рынок, что поделать. Вообще молодцы, умудряются зарабатывать там, где трудно заработать. Люди все время ждут пока петух клюнет, только потом репу начинают чесать задумываясь о безопасности.

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }