Инструмент для определения поверхности атаки Natch


Скачать сборник технологий

Инструмент для определения поверхности атаки Natch

Документация и поддержка | В реестре российского ПО | Оформить лицензию

Natch − это инструмент для определения поверхности атаки, основанный на полносистемном эмуляторе QEMU. Использует технологии анализа помеченных данных, интроспекции виртуальных машин и детерминированного воспроизведения.

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

Natch построен на базе полносистемного эмулятора QEMU, что позволяет анализировать все компоненты системы, включая ядро ОС и драйверы. Важное преимущество – объединение ключевых возможностей аналогов в одном инструменте.

Построение поверхности атаки может быть встроено в CI/CD для интеграционного и системного тестирования, что позволит повысить эффективность технологий функционального тестирования и фаззинга в жизненном цикле безопасного ПО.

Возможности инструмента Natch:

  • сбор поверхности атаки: процессов, модулей и функций, которые обрабатывали помеченные данные во время выполнения тестового сценария;
  • определение открытых портов, файлов, сокетов и потоков данных через них;
  • поддержка анализа для языков C, C++, Go, Python;
  • автоматическое скачивание отладочной информации для ядра и системных модулей;
  • извлечение отладочной информации из DWARF;
  • построение графа потоков помеченных данных через процессы и модули по всей системе;
  • сбор лога сетевых пакетов в формате pcap;
  • сбор покрытия бинарного кода;
  • сбор корпуса данных для фаззинга выбранных функций (для аргументов простых типов).

Схема применения Natch:

  • Natch записывает сценарий работы аналитика в виртуальной машине;
  • аналитик помечает входящий сетевой трафик или обращения к определённым файлам;
  • Natch воспроизводит записанный сценарий работы и отслеживает распространение помеченных данных, формирует архив логов операций с помеченными данными и системных событий;
  • аналитик загружает полученный архив в графический интерфейс SNatch для изучения.

Возможности графического интерфейса SNatch:

  • Граф взаимодействия процессов, работавших с помеченными данными. Позволяет отслеживать потоки данных во времени и упорядочивать элементы схемы удобным для аналитика образом.
  • Временная диаграмма процессов, работавших в системе.
  • Стеки вызовов помеченных функций с разделением по процессам.
  • Стеки вызовов для функций из скриптов при наличии их в объекте оценки.
  • Flame-диаграмма процессов с цветовым дифференцированием помеченных и непомеченных функций.
  • Просмотр дерева всех процессов, работавших в системе, с возможностью фильтрации только помеченных процессов.
  • Просмотр ресурсов, использованных процессами во время работы.
  • Просмотр операций чтения и записи для всех файлов и сокетов.
  • Подсветка процессов, взаимодействующих с помеченными данными или имеющих повышенные привилегии (например, запущенные с правами root).
  • Генерация аннотаций для функций для инструмента Futag.
  • Передача отфильтрованного сетевого трафика в Wireshark.
  • Удобный поиск по графам, а также сохранение истории перемещений.
  • Генерация отчёта с основными аналитиками в формате PDF.

Поддерживаемые платформы и архитектуры

  • Системные требования инструмента Natch: ОС Linux x86-64, ОЗУ не менее 16 Гбайт, рекомендуется не менее 200 Гбайт дискового пространства.
  • Целевые процессорные архитектуры: x86-64.
  • Целевые ОС: семейство Linux (любые версии ядер), Windows 7-10, FreeBSD последних версий.

Опыт внедрения

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

Схема работы

Схема работы Natch

Документация

Краткое руководство пользователя

Справочный центр «Инструмент определения поверхности атаки «Natch»

Багтрекер (по вопросам создания учетной записи напишите по адресу natch@ispras.ru)

По вопросам использования обращайтесь по адресу: natch@ispras.ru или в Telegram-чат https://t.me/ispras_natch.

Разработчик/участник

Компиляторные технологии

Перейти к списку всех технологий