Новый инструмент, разработанный в МТИ, нашел 23 ранее не диагностированных уязвимости в 50 популярных веб-приложениях, созданных на базе Ruby on Rails. На анализ каждого из них программе потребовалось не более 64 секунд.
Среда Ruby on Rails отличается от других платформ тем, что даже самые базовые операции определяются в библиотеках. Воспользовавшись этим, разработчики МТИ переписали эти библиотеки таким образом, что описанные там операции, сами определяют собственное поведение на логическом языке.
Таким образом, интерпретатор Rails, переводящий программный язык в машинный код, превращается в инструмент статического анализа, который описывает поток данных, проходящих через программу. В результате при выполнении программы получается формальное построчное описание процесса обработки данных.
Дебаггер Dubbed Space автоматически определяет, следует ли программа модели разрешенных пользователю операций. Если нет, возможно наличие уязвимостей.