Работа с графами ч.2: Поведенческий анализ веб приложения

Работа с графами ч.2: Поведенческий анализ веб приложения

Capy_B

Для начала загружаем Gephi и устанавливаем.

 После смотрим список доступных плагинов:

Устанавливаем плагин HttpGraph:

Создаём новый проект и добавляем генератор, который наполнит наш граф данными:

Загружаем по ссылке плагин для Chrome (браузеры на движке, отличном от Chromium не поддерживаются), включаем отображение названия ресурсов. По желанию выключаем запуск укладки графа Force Alias, так как он нагружает процессор и не сильно нам понадобится.

Устанавливаем плагин в Chrome:

Открываем сайт rutracker.org и видим следующую картину. Вместо торрент трекера сайт предлагает установить MacKeeper, потенциально небезопасное приложение, зафиксированное в сигнатурных базах существенной части крупных антивирусных продуктов.

В Gephi мы видим созданный граф. Теперь этот граф надо обработать. Выбираем укладку графа, для большинства связанных центрических графов подойдёт ForceAlias 2. Часть алгоритмов укладки графа доходят до финального состояния самостоятельно и отключаются, у остальных алгоритмов процесс укладки бесконечен и его нужно остановить кнопкой «Стоп», которая появится вместо кнопки «Пуск». Для ForceAlias 2 я использую «Запрет перекрытия» и «Ослабление хабов», остальные настройки выставляю ситуационно, в зависимости от количества рёбер и модулярности графа. В нижней части панели мы видим настройки отображения текста и размера рёбер (рёбра - линии, соединяющие точки на графе – узлы), применим и их для дальнейшей визуализации.

На выходе получаем уложенный граф, но из-за багов плагина HttpGraph красятся не все узлы, выбираем инструмент окрашивание, в пункте рассевание выбираем то, что необходимо покрасить – можно и сам узел, его дочерние узлы, родительские и выбор варианта остаётся на усмотрение аналитика, обрабатывающего эти данные.

В итоге получаем следующую картину:

Теперь избавимся от лишней информации:

Для этого идём в «Лабораторию данных» и отключаем у ресурсов, которые не информативны (картинки, шрифт, некоторые фреймы) отображение. Для этого сортируем данные по типу, чтобы проще было выделить нужные нам строки:

Для того, чтобы текст подписи узлов не пересекался на графах, когда мы будем экспортировать граф в визуальном формате, используем инструмент «Перемещение» и укладку «Расширение». После чего приступаем к анализу добытых сведений:

Видим запрос к домену:

Который загружает страницу и редиректит нас на index.php:

Меняя размер стрелок обращаем внимание, какие запросы входящие, а какие исходящие. Видим, что контент, загружаемый в странице index.php проверяет наличие некоторых файлов, часто таким образом вирусные скрипты обходят проверку в песочнице или избегают внимания поисковых роботов:

Смотрим какие ресурсы загружались страницей index.php:

И какие сохранились в кэше бразуера:

Далее обращаем внимание на все крупные модулярные скопления узлов в графе:

Разбираемся, как приложение загружало эти данные и как взаимосвязаны домены:

В частности, находим путь, каким мы попали на «Установку антивируса» и два ребря к этому узлу:

Каждый узел можно выделить правой кнопкой мышки и посмотреть сведения в «Лаборатории данных»:

Таким образом мы многократно упрощаем работу аналитиков, минимизируя время обработки инцидента посредством визуализации собираемой информации.

Report Page