Инструмент для определения поверхности атаки 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@ispras.ru)
По вопросам использования обращайтесь по адресу: natch@ispras.ru или в Telegram-чат https://t.me/ispras_natch.
Разработчик/участник
Перейти к списку всех технологий