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