Blitzableiter – свободный анализатор уязвимостей во Flash контенте

Oct_2_3_27_26_flash

На конференции Chaos Communication Congress представлен новый открытый проект Blitzableiter, представляющий собой инструмент для транзитного анализа Flash роликов перед их отображением пользователю. Программа позволяет выявить и заблокировать выполнения злонамеренных участков ActionScript кода, интегрированных в SWF файлы с целю поражения уязвимой версии плагина Adobe Flash, а также предотвратить использование Flash для проведения некоторых видов атак на браузер.

С целью защиты от принудительного инициирования кликов на рекламу или подмены перехода на нормальные сайты страницей злоумышенника, в Blitzableiter осуществляется перенаправления некоторых ключевых вызовов, таких как ActionGetURL2, на добавляемый к SWF файлу собственный обработчик, контролирующий факты обращения за пределы текущего активного домена и защищающего от CSRF-атак.

Из недостатков, над устранением которых работают разработчики, отмечается увеличению размера исходного файла примерно на 220%, добавление примерно секундной задержки при загрузке файла через анализатор и наличие проблем при модификации определенных видов SWF файлов. Например, при тестировании набора из 92 тысяч SWF файлов, 92% успешно прошли тест на корректность формата, но задействовать защиту Blitzableiter удалось только для 82% файлов (тем не менее Flash контент популярных сервисов, таких как YouTube, подвергается модификации без проблем). При проверке эффективности Blitzableiter успешно блокировал работу всех из 20 участвующих в эксперименте реальных эксплоитов.

Исходные тексты программы распространяются в рамках лицензии GPLv3 , написаны на языке C# и требуют для своего выполнения задействования проекта Mono. Blitzableiter может быть оформлен в виде плгина к web-браузеру или в виде фильтрующего модуля, работающего совместно с прокси сервером Squid.

One thought on “Blitzableiter – свободный анализатор уязвимостей во Flash контенте”

Leave a Reply

Your email address will not be published. Required fields are marked *