Некоторые статистические данные из работы пентестера 2018-2020

Я собираю статистику из моих исследований компьютерной безопасности в течение последних нескольких лет. Я решил поделиться ими немного. Здесь вы можете найти образец отчета о тесте на проникновение — отчет. В большом количестве интервью с тестировщиками на проникновение я слышу вопрос – «Улучшилась ли безопасность веб-приложений за эти годы?» На мой взгляд — да, но только там, где это несколько форсировано регулированием снизу вверх. Помогают ли тесты на проникновение повысить безопасность? — Однозначно да!

О каких данных идет речь?

За последние 2 года мне удалось провести более 100 тестов на проникновение, аудитов безопасности, анализов и повторных тестов. Это были разные приложения для разных клиентов. Подавляющее большинство из них были веб-приложениями. Когда приложение тестировалось в первый раз, оно почти всегда находило ошибку, которая классифицировала угрозу как критическую или высокую. Для непосвященных использование этого типа уязвимости приводит к полному контролю над приложением (часто также сервером) или позволяет получить доступ к конфиденциальным данным.

Статистика по классификации восприимчивости выглядит так:

Статистика тестов на проникновение
* экземпляры заданной восприимчивости к приложениям, а не количество экземпляров конкретной уязвимости в приложении (например, 7 различных XSS в одном приложении учитываются как 1 тип критической ошибки)
Статистика тестов на проникновение в процентах

Обнаружение стольких ошибок безопасности в приложениях, которое продолжается годами, на мой взгляд, указывает на то, что на ранних стадиях разработки программного обеспечения было потрачено слишком мало времени на обеспечение безопасности. Я думаю об обучении программистов, рассматривая безопасность в самом построении архитектур программного обеспечения и моделировании рисков. Без этого уязвимости все равно будут облавлёваться на заключительном этапе разработки программного обеспечения (таким образом, стоимость ремонта велика) или, что еще хуже, только в производственных средах этими менее этичными хакерами, ;).

Наиболее часто встречающиеся уязвимости обусловлены типом

Давайте посмотрим на дополнительную статистику. На этот раз наиболее часто встречаются типы уязвимостей.

ТОП 12 Пентестер
* экземпляры заданной восприимчивости к приложениям, а не количество экземпляров конкретной уязвимости в приложении (например, 7 различных XSS в одном приложении учитываются как 1 тип критической ошибки)
ТОП 12 Пентестер

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

Прежде всего, здесь можно увидеть, что XSSy являются наиболее часто встречаемым типом уязвимостей из наиболее критикуемых. Меня удивляет, что он известен уже около 30 лет. Кроме того, это, пожалуй, самый узнаваемый класс ошибок безопасности. Таким образом, его возникновение должно быть уже редким.

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

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

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

На третьем месте стоит проблема, которая, я думаю, выйдет в ближайшие годы в статистике на первую позицию. Это технологический долг и связанное с ним использование компонентов с известными уязвимостями. С моей точки зрения, сегодняшние приложения состоят из множества небольших блоков и цепочек зависимостей. Из-за этого практически каждый день выясняется, что небольшой компонент уже устарел. Завоевание его версии часто предполагает перестроение части приложения (по крайней мере, я получаю такую информацию от разработчиков ;)), и этот процесс, к сожалению, потребляет много ресурсов.

OWASP Топ 10 против ТОП 12 Пентестер

Список наиболее часто обнаруживаемых уязвимостей в списке OWASP Top 10 выглядит следующим образом:

OWASP Топ 10 против ТОП 12 Пентестер

Трудно сопоставить мои «находки» 1 к 1 в списке OWASPa. Мы не найдем здесь отражения для «Нарушенной аутентификации». Это просто потому, что брутфорсинг учетной записи в основном находится за пределами моего диапазона тестирования (и другие ошибки в этом пункте не в моем верхнем списке). Зря тоже ищите ссылку на XXE. По моим наблюдениям, ошибки этого класса случаются все реже и реже. Думаю, это связано с тем, что фреймворки, отвечающие за обработку XMLy, по умолчанию больше не допускают использования внешних сущностей. Тем не менее, приведенное выше резюме показывает, что как можно больше список OWASP TOP 10 является не просто сухой теорией и отражается на практике. Таким образом, стоит использовать его, а также все знания, предоставляемые Open Web Application Security Project.

Chcesz wiedzieć więcej?

Zapisz się i bądź informowany o nowych postach (zero spamu!). <br> Dodatkowo otrzymasz, moją prywatną listę 15 najbardziej przydatnych narzędzi (wraz z krótkim opisem), których używam przy testach penetracyjnych.

Nigdy nie podam, nie wymienię ani nie sprzedam Twojego adresu e-mail. W każdej chwili możesz zrezygnować z subskrypcji.

Закладка Постоянная ссылка.

Podziel się swoją opinią na temat artykułu