Yahoo открыла исходники сканера веб-уязвимостей Gryffin

3/10/2015 15:24

Компания Yahoo открыла исходные тексты платформы Gryffin, предназначенной для проведения всесторонних проверок безопасности веб-приложений. Gryffin характеризуется гибкими средствами тестирования и горизонтальной масштабируемостью, позволяющей с минимальными усилиями перейти от системы для тестирования тысячи веб-приложений к конфигурации для проверки 100 тысяч программ. Платформа рассчитана в первую очередь на проверку современных веб-приложений, динамически генерирующих контент на стороне клиента силами JavaScript. В процессе работы Gryffin пытается собрать как можно больше данных о поведении приложении и режимах его работы, сочетая использование поискового бота и различных техник fuzzing-тестирования. Интегрированный поисковый движок позволяет оттолкнувшись от заданного для проверки URL выявить миллионы реальных комбинаций запросов, охватывающих различные режимы работы веб-приложения. Fuzzing-тестирование позволяет сгенерировать нетипичные варианты обращения к приложению. Gryffin корректно обрабатывает дубликаты (проверяется повторяемость структуры результирующего документа для отсеивания повторных проверок типовых генераторов контента) и учитывает динамическую генерацию интерфейса для чего используется встроенный браузерный движок PhantomJS, применяемый для симуляции отрисовки DOM при выполнении JavaScript. Исходные тексты написаны на языке Go и поставляются под лицензией BSD. В платформе задействованы фреймворк PhantomJS (обособленный JavaScript-движок на базе WebKit), Sqlmap (для выявления уязвимостей, связанных с подстановкой запросов SQL), Arachni (для fuzzing-тестирования наличия XSS и прочих уязвимостей), NSQ (шина обмена сообщениями), Kibana и Elastic search (для формирования веб-интерфейса для оценки результатов сканирования и аналитики). Поддерживается подключение собственных инструментов тестирования безопасности. Из планов на будущее отмечается поддержка симуляции мобильного браузера, создание преднастроенного docker-образа для быстрого развёртывания Gryffin, возможность использования СУБД Redis как общего хранилища статистики для распределённых на несколько серверов конфигураций, подготовка документации, улучшение обработки Cookie, выявление дубликатов шаблонов URL на основе оценки приблизительного сходства при помощи алгоритма simhash.
Источник