Как следует из отчета, практически все исследованные веб-приложения (94%) позволяют осуществлять атаки на пользователей, и неудивительно ― половина уязвимостей, вошедших в десятку самых распространенных, используются именно для таких атак. Доступ к персональным данным был получен в 20% приложений, обрабатывающих такие данные (включая сайты банков и государственных организаций).
Больше всего веб-приложений с уязвимостями высокого уровня риска найдено среди сайтов телекоммуникационных компаний (74%). Если же оценивать уровень защищенности в зависимости от возможных последствий, то хуже всего ситуация в промышленности (43% сайтов отличаются крайне низкой степенью защищенности) и в электронной коммерции (34%).
Исследователи отмечают, что уязвимости публичных сайтов по-прежнему являются популярным способом проникновения во внутреннюю инфраструктуру компании: каждое четвертое веб-приложение позволяет проводить такие атаки. Кроме того, четверть веб-приложений содержат уязвимости, позволяющие стороннему злоумышленнику получить доступ к базам данных.
Еще одно важное наблюдение ― веб-приложения, находящиеся в процессе эксплуатации, оказались более уязвимыми, чем тестовые: критически опасные уязвимости выявлены в 55% продуктивных систем и в 50% тестовых систем. «Это свидетельствует о том, что необходимо проводить анализ защищенности не только в процессе разработки, но и после внедрения в эксплуатацию, ― комментирует Евгений Гнедин, руководитель отдела аналитики информационной безопасности Positive Technologies. ― Для защиты уже эксплуатируемых приложений рекомендуется использовать межсетевые экраны уровня приложений (web application firewalls)».
В исследовании также представлено сравнение эффективности различных методов анализа защищенности приложений («белый ящик» против «черного ящика») и приведены примеры выявления уязвимостей автоматизированным анализатором кода PT Application Inspector. «Анализ исходного кода показывает намного более высокие результаты, чем исследование защищенности без доступа к коду приложения, ― отмечает Евгений Гнедин. ― Кроме того, тестирование исходного кода в процессе разработки позволяет значительно повысить защищенность конечного приложения. Для анализа исходного кода на различных стадиях разработки целесообразно применять автоматизированные средства, поскольку это позволяет выявить максимальное число ошибок в кратчайшее время».