В рейтинге 2017 года эта категория называлась «Использование компонентов с известными уязвимостями» и находилась на 9 месте. Аналитики проекта OWASP хорошо знакомы с такой проблематикой и постоянно работают над тестированием и оценкой рисков, связанных с ней. Это единственная категория, в которой нет каких-либо общих уязвимостей и воздействий (CVE), сопоставленных с включенными CWE (Common Weakness Enumeration (общий перечень недостатков безопасности), поэтому в ее оценке эксплойт учтен по умолчанию, а удельный «вес» воздействия принят равным 5,0.
Признаки проблемы
Система считается незащищенной в части вектора A06:2021 в следующих случаях:
-
- Разработчики ПО не проверяют библиотеки (их важно обновлять, исправлять и модернизировать).
- Несвоевременное обновление базовых платформ и фреймворков / проведение обновлений в сроки, не учитывающие выявленные риски. С этим сталкиваются организации, которые проводят обновление по фиксированному графику (например, раз в месяц, квартал или полугодие) – в итоге информационная безопасность компании оказывается под угрозой на несколько дней или даже месяцев.
- Использование устаревшего или незащищенного ПО. Речь идет о приложениях, серверах приложений, API, веб-серверах, СУБД, библиотеках и иных компонентах. Также сюда можно отнести случаи, когда организация использует программное обеспечение, поддержка которого не осуществляется.
- Некорректная конфигурация безопасности (она же вошла в рейтинг OWASP и заняла пятую позицию ТОП-10).
- Организации неизвестны версии используемых компонентов, как используемых напрямую, так и применяемых со стороны. Возникает при отсутствии информации о компонентах на стороне клиента и / или сервера.
Как управлять исправлениями и снизить риск атаки
Проблему использования уязвимых компонентов нельзя игнорировать. Чтобы повысить защищенность, эксперты OWASP рекомендуют следующее:
-
- Внимательно отслеживать состояние компонентов. Особое внимание уделять неподдерживаемым, а также устаревшим версиям, если для них уже не создаются исправления в части безопасности. Можно изучить возможность автоматического применения исправлений безопасности к системе – оно поможет обнаруживать ошибки и защищаться от них.
- Устанавливать и использовать только те компоненты, которые были приобретены у официальных разработчиков и поставщиков. Использовать только надежные легальные ссылки для скачивания. При подобном подходе появится возможность снизить риск внедрения вредоносных компонентов.
- Организовать непрерывный контроль за версиями компонентов (библиотеки, фреймворки) на стороне сервера и стороне клиента. Постоянно проводить инвентаризацию зависимостей компонентов, используя актуальные инструменты (OWASP, retire.js и иные).
- Обеспечить мониторинг источников (CVE, NVD) на предмет уязвимостей. Анализировать состав ПО, используемого для автоматизации, при помощи специального инструментария. Также будет не лишним оформить подписку на уведомления о выявленных проблемах в используемых компонентов.
Удалять все ненужное и неиспользуемое: документацию, зависимости, функции, файлы, компоненты.
Важно помнить о том, что процесс контроля состояния используемых компонентов в организации должен быть постоянным и непрерывным. Действия эпизодического характера обеспечивают лишь кратковременный и неустойчивый рост уровня защищенности от угроз A06:2021. Необходимо разработать и внедрить план, в соответствии с которым будут осуществляться непрерывный мониторинг, сортировка и применение обновлений. Также не следует забывать о необходимости изменять конфигурации в течение всего периода, пока используется приложение.