Компания Google открыла исходники сканера Tsunami — масштабируемого решения для обнаружения опасных уязвимостей с минимальным количеством ложных срабатываний. Сканер ориентирован на крупные корпоративные сети, состоящие из тысяч или даже миллионов подключенных к интернету систем. Код уже доступен на GitHub.
Tsunami не будет зарегистрирован как продукт Google, но будет поддерживаться опенсорс-сообществом. Ранее компания поступила похожим образом с другим своим внутренним инструментом, Kubernetes, который тоже стал доступен для широких масс.
Как уже было сказано выше, от других подобных инструментов Tsunami отличает масштаб, ведь Google создавала свой сканер для по-настоящему гигантских компаний (таких, как она сама). В том числе для компаний, которые управляют сетями, куда входят сотни тысяч серверов, рабочих станций, сетевое оборудование и IoT-девайсы.
Tsunami хорошо адаптирован к большим и разнородным сетям такого рода и решает проблему запуска различных сканеров для каждого типа устройств. Для этого сканер разделен на две основные части, а также оснащен расширяемым механизмом поддержки плагинов.
Первый и основной компонент Tsunami — сам сканер или разведмодуль. Он сканирует сеть компании в поисках открытых портов, а затем проверяет все порты и определяет точные протоколы и службы, работающие на них (чтобы предотвратить неправильную маркировку портов и не проверять устройства на наличие неправильных уязвимостей). Этот фингерпринтинговый модуль основан на nmap, но также использует и кастомный код.
Второй компонент Tsunami работает на основе результатов первого. Он взаимодействует с каждым устройством и его открытыми портами: выбирает список уязвимостей для тестирования и запускает безопасные эксплоиты, чтобы проверить, действительно ли устройство уязвимо для атак.
Возможности данного модуля для проверки на уязвимости можно расширить с помощью плагинов. Текущая версия сканера поставляется с плагинами для проверки открытых стратегически важных UI (Jenkins, Jupyter, Hadoop Yarn и так далее), а также слабых учетных данных. Для реализации последнего Tsunami использует инструменты с открытым исходным кодом, такие как ncrack, которые помогают обнаружить слабые пароли, используемые различными протоколами и инструментами, включая SSH, FTP, RDP и MySQL.
Разработчики Google обещают расширить список плагинов для Tsunami уже в ближайшие месяцы.
Они будут публиковаться в отдельном репозитории GitHub.