В целом, до 8% Web-приложений содержат уязвимости высокой степени риска, идентифицируемые с помощью автоматизированных средств. При этом вероятность обнаружения критичной ошибки в динамическом Web-приложении при ручном анализе составляет 65%.
Компанией
Positive Technologies, в ходе
работ по тестированию на проникновение и
оценки защищенности в 2006 г., была получена статистика по уязвимостям Web-приложений. Данные основаны на результатах автоматизированного сканирования узлов публичного хостинг-провайдера и ручного анализа защищенности Web-приложений.
Статистика показала, что наиболее распространенной является уязвимость класса «Межсайтовое выполнение сценариев» (Cross-Site Scripting, XSS). Эта ошибка средней степени риска может использоваться для выполнения в браузере клиента произвольного кода на языках сценариев (например, JavaScript) с целью кражи идентификационных данных, подмены содержимого страниц, проведения атак типа «фишинг» и т.д.
Вторая по полярности — уязвимость класса «Внедрение операторов SQL» (SQL Injection). С помощью данной уязвимости злоумышленники получают возможность читать и модифицировать информацию в базе данных, используемой Web-приложением. В некоторых случаях эксплуатация SQL Injection может привести к получению полного контроля над сервером. В связи с этим уязвимости данного типа классифицируются как имеющие высокую степень риска.
На третьем месте находятся разнообразные уязвимости, приводящие к утечке важной информации с сервера (Information Leakage). Неаккуратное разграничение доступа к Web-ресурсам, хранение в общедоступных, но «скрытых» папках конфиденциальных данных, резервные копии сценариев являются типичными примерами подобных ошибок.
Следует отметить, что корректное применение автоматизированных средств анализа уязвимостей позволяет идентифицировать до 80% всех недочетов. Тем не менее, ряд критичных уязвимостей не может быть обнаружен с помощью автоматизированных средств. В частности, ручной анализ позволил выявить новые классы уязвимостей, такие как «Недостаточная аутентификация и авторизация» (Insufficient Authorization, Insufficient Authentication) и др., связанные с бизнес-логикой.
Логические ошибки достаточно распространены. Так, ошибки системы авторизации, то есть возможность получения данных других пользователей, были обнаружены на 20% сайтов. Недостатки системы аутентификации встречались в 11% систем.
В целом, до 8% Web-приложений содержат уязвимости высокой степени риска, идентифицируемые с помощью автоматизированных средств. При этом вероятность обнаружения критичной ошибки в динамическом Web-приложении при ручном анализе составляет 65%.
В дальнейшем предполагается, что подобная статистика будет формироваться раз в шесть месяцев