Нынешние сканнеры уязвимостей и другие системы поиска багов не поспевают за
быстрым темпом развития веб-приложений, и эта растущая пропасть открывает все
новые и новые возможности для хакерских атак. Так считает группа ученых, которые
будут обсуждать данную проблему на конференции Black Hat USA в Лас Вегасе на
этой неделе.

"Мы хотим пролить свет на некоторые области, в которых сами приложения, равно
как и технологии, применяемые в них, совершили довольно-таки существенный
скачок", — заявляет Натан Хэмиел, один из участников конференции. "Но, несмотря
на это, инструменты тестирования и идентификации уязвимостей в данных
приложениях не соответствуют уровню их развития".

"Когда происходит что-то новое в разработке приложений, разработчики,
естественно, хотят это использовать, они хотят интегрировать прогресс, быть
первыми, кто воспользуется этими новшествами", — говорит Хэмиел. "Инструменты
тестирования отстают в этом плане".

Согласно заявлениям Хэмиела и его коллег – Джастина Энглера, Сета Ло и Грега
Фляйшера, все они являются консультантами FishNet Security – сегодня наиболее
автоматизированные программы предлагают лишь ограниченный объем тестирования.
Докладчики собираются настаивать на позиции, которая утверждает, что приложения
и данные тестирования должны анализировать люди, не инструменты, чтобы в
последствии обнаружить наиболее широкий спектр уязвимостей.

"В конце дня программы не находят ошибки, чего нельзя сказать о людях", —
утверждает Хэмиел. "Сервисные программы могут направить умного человека в
правильную сторону, чтобы помочь определить, существует уязвимость или нет. Люди
заблуждаются, когда тратят огромное количество денег на эти инструменты".

Остальные эксперты поддерживают эту точку зрения.

"Недостатки в механизме авторизации, определенная система проверки вводимых
данных и несовершенство управления сессиями, ненадежные пароли и даже понимание
логики приложения – все это слишком сложно для обычной программы", — пишет Кевин
Бивер, владелец консалтинговой компании по безопасности Principle Logic. "To же
касается и мобильных устройств, и других сложностей, связанных с инфраструктурой
сети".

Ресурсы тестирования безопасности настолько эфемерны, что организациям
остается только работать с ручным тестированием, в следствие чего
полуавтоматическое тестирование стало таким популярным, сообщают участники
конференции. Но такая автоматизация становится более сложной, когда люди
начинают пытаться использовать сервисные утилиты в не общепринятых целях или
писать пользовательские скрипты, чтобы упростить проверку системы.

"Мы указываем на схожие проблемы, такие как инжекция случайных данных. Для
cross-site request forgeries люди стали использовать случайные токены в качестве
защиты. Иногда данные токены генерируются последовательно", — сообщает Хэмиел.
"У тебя может быть запущена тестовая проверка и, возможно, только первый запрос
окажется валидным. Каждый следующий запрос, посылаемый тобой, окажется
неэффективным, хотя на самом деле ситуация будет насквозь небезопасной. Это
проблемы, которые неизбежно возникают и требуют тщательного изучения".

Хэмиел вместе со своими коллегами-исследователями надеются внести вклад в
коллективные усилия по улучшению тестирования, путем введения бесплатной
сервисной программы, которая, как они считают, поможет справиться с некоторыми
ограничениями современных инструментов
фаззинга. "Мы не хотели
писать проверочный прокси, а также не хотели писать на Java. Если обратить
внимание на существующие инструменты, особенно с открытым исходным кодом и
некоторые коммерческие версии, это тот подход, который они используют", —
утверждает Фляйшер. "Как пользователю данного типа программы, тебе все равно
придется пускать в ход браузер чтобы проверить всю систему и выполнить всю эту
тяжелую работу, особенно, что касается современных веб-приложений, которые
сосредоточены на AJAX и других видах многофункциональных клиентских технологий".

Фляйшер говорит, что он и его коллеги решили использовать Python и внедрить
веб-браузер в программу.

"Это может дать нам более глубокое представление о ситуации в целом и о
порядке передачи данных между программой и приложением и обратно", — отмечает
Фляйшер. "Это то, на чем мы особенно сконцентрировались".

По словам Фляйшера, важнее всего то, что программа была создана с целью
ускорить анализ тестируемых выходных данных, генерируемых пользовательскими
скриптами. Это "ложка дегтя в бочке меда" что касается полуавтоматизированного
тестирования, когда организациям нужно произвести тестирование скриптов в
различных условиях. При анализе выходных данных этих скриптов возникают
сложности и приходится обращаться к ручному исследованию, либо разработке
собственного анализатора, утверждает Фляйшер.

"При помощи нашей программы, мы внесем выходные данные в этот общий формат,
импортируем их в наш анализатор, и, затем, собственно произведем сам анализ", —
поясняет он. "Она берет эти выходные данные и начинает с них, таким образом
избавляя тебя от необходимости писать свой собственный анализатор каждый раз,
когда ты пишешь пользовательский скрипт. Если твоя цель какой-то конкретный
формат импорта, тогда ты можешь пользоваться всеми наработками, сделанными нами
в области "умного" анализа".

Четверка из FishNet продемонстрирует свою программу в Black Hat Arsenal за
день до конференции, а также на самой презентации в четверг. Они выпустят
исходный код сразу же после сеанса, также планируется выпуск инсталлируемых
пакетов для Mac и Windows.

Оставить мнение