10 ОСНОВНЫХ УЯЗВИМОСТЕЙ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ

Открытый проект безопасности веб-приложений (OWASP) — это некоммерческая организация, призванная определить основные стандарты кибербезопасности для частных организаций, государственных органов и пентестеров. Сама организация состоит из десятков тысяч членов, многие из которых являются добровольцами, которые реализуют программное обеспечение с открытым исходным кодом и проекты безопасности под руководством сообщества на глобальном уровне. Сегодня OWASP — один из наиболее часто используемых и надежных источников информации, технологий и руководств по безопасности.

10 ТОП-10 УЯЗВИМОСТЕЙ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ

Что такое OWASP ?

OWASP расшифровывается как Open Web Application Security Project. OWASP — это открытое онлайн-сообщество, посвященное повышению безопасности программного обеспечения. В области безопасности веб-приложений он создает статьи, методологии, документацию, инструменты и технологии.

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

Что входит в первую десятку OWASP?

OWASP Top 10 включает в себя «10 основных уязвимостей безопасности приложений», выпускаемых на постоянной основе по мере появления наиболее вероятных уязвимостей. Этот список используется в качестве руководства для пентестинга, кибербезопасности и внутренней оценки рисков на основе вероятности риска, связанного с конкретной уязвимостью. Отчет основан на консенсусе экспертов по безопасности, основанном на частоте обнаружения этих уязвимостей и степени потенциального воздействия в случае взлома этих уязвимостей.

Последняя итерация OWASP Top 10 — 2021 год, который был представлен в последнюю неделю октября 2021 года. В списке представлены 3 новые категории уязвимостей и удалены старые, а риски ранжированы в зависимости от вероятности возникновения. Его цель — предложить специалистам по безопасности, разработчикам и пентестерам информацию о распространенных рисках, а также рекомендации по устранению, предлагаемые специалистами по безопасности. is-it-important>Как работает OWASP Top 10 и почему это важно?

Большинство разработчиков и экспертов по безопасности полагаются на OWASP Top 10 как на ключевой контрольный список, чтобы убедиться, что их приложение или код соответствуют основным стандартам безопасности. Прохождение оценок OWASP Top 10 обычно означает исключение наиболее вероятных уязвимостей, что может значительно повысить безопасность любого веб-приложения. Кроме того, пентестеры и аудиторы часто используют соответствие OWASP Top 10 как меру того, приняты ли вообще в организации базовые меры безопасности. Например, многие аудиторы используют Топ-10 в качестве основного требования для соблюдения стандартов соответствия. Во многих случаях это требование также используется для обеспечения соответствия нормативным требованиям, при этом некоторые стандарты соответствия ссылаются на Топ-10 OWASP.

Кроме того, OWASP Top 10 периодически оценивается и обновляется по мере изменения основных рисков. Это делает список живым документом, который меняется по мере изменения рисков, уязвимостей и распространенных эксплойтов.

Не пропустите: Лучшие инструменты оценки уязвимостей< /blockquote>

10 основных уязвимостей безопасности веб-приложений

10 лучших веб-сайтов OWASP 2021 года К уязвимостям безопасности приложений относятся:

10 ТОП-10 УЯЗВИМОСТЕЙ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ

  1. A01:2021-Нарушенный контроль доступа
  2. A02:2021-Криптографические сбои
  3. A03:2021-Внедрение
  4. A04:2021-Небезопасный дизайн
  5. A05:2021-Неверная конфигурация безопасности
  6. A06:2021-Уязвимость и устаревшие компоненты
  7. A07:2021-Ошибки идентификации и аутентификации
  8. A08:2021-Ошибки целостности программного обеспечения и данных
  9. A09:2021-Ошибки регистрации и мониторинга безопасности
  10. A10:2021-Подделка запроса на стороне сервера

A01:2021-Сбой контроля доступа

Неработающие средства контроля доступа поднялись на вершину списка OWASP Top 10 за 2021 год, поднявшись с пятого места в 2017 году. Неработающие средства контроля доступа обычно состоят из сбоев в управлении разрешениями пользователей. Таким образом, сбои могут привести к несанкционированному раскрытию информации, изменению или уничтожению данных или к тому, что учетные записи пользователей получат доступ к разрешениям и данным, которых у них не должно быть. Это становится особенно проблематичным при злоупотреблении внешними учетными записями или когда хакер получает доступ к учетной записи пользователя. OWASP показывает 34 общих списка уязвимостей (CWE), сопоставленных с неработающими средствами управления доступом, при этом обнаружено более 318 000 нарушений управления доступом.

Например:

  • обход доступа управлять проверками, изменяя URL-адрес, внутреннее приложение, HTML-страницу или API
  • Разрешить пользователю изменять свои собственные записи или записи другого пользователя
  • Повышение прав или привилегии
  • Манипулирование метаданными (например, манипулирование контролем доступа JWT)< li>Неправильная конфигурация CORS

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

A02: 2021 – Криптографические сбои

В 2021 году OWASP обновил раздел «Воздействие конфиденциальных данных» на криптографические сбои, переключив внимание на причину, а не на проблему. В эту категорию входят инциденты, в которых происходит утечка или случайное раскрытие конфиденциальных данных, обычно из-за таких проблем, как:

Например:

  • Конфиденциальные данные передаются или хранятся в открытом виде. текст (базы данных, файлы и т. д.), а не хешированные
  • Использование старых или слабых алгоритмов
  • Плохие ключи шифрования или ключи по умолчанию, повторное использование ключей шифрования (особенно при утере ключей)
  • Сертификаты сервера не validated
  • Шифрование не применяется

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

A03:2021-Injection

В течение многих лет инъекции были №1 в списке 10 лучших OWASP, теперь они №3. OWASP утверждает, что 94% приложений имеют ту или иную уязвимость к инъекциям. В отличие от 2017 года, в эту категорию теперь также входит межсайтовый скриптинг. К ним относятся риски, возникающие, когда:

Например:

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

Предотвращение: Pentest для оценки безопасности SQL и ORM, а также API. Вы также хотите использовать безопасный API, который позволяет избежать использования интерпретатора. Интеграция положительной проверки ввода на стороне сервера, специальный синтаксис экранирования для остаточных динамических запросов (таблицы, имена столбцов и т. д. Невозможно экранировать), а также использование LIMIT и других элементов управления SQL в запросах для предотвращения массового раскрытия записей — вот некоторые меры по смягчению последствий.< /p>

A04:2021-Небезопасный дизайн

Небезопасный дизайн — еще одна новая категория в Топ-10 2021 года. Эта категория относится ко всем рискам, создаваемым небезопасным дизайном или архитектурой. Идея состоит в том, чтобы продвигать безопасный дизайн, моделирование угроз и эталонные архитектуры, которые уменьшают уязвимости «по замыслу». Эта категория чрезвычайно широка по своему характеру, и для смягчения последствий CWE требуются значительные шаги.

Например:

  • Сбор требований к защите в отношении конфиденциальности, целостности, доступности и подлинности всех ресурсов данных, ожидаемых для бизнес-логики
  • Безопасный дизайн
  • Безопасный жизненный цикл разработки
  • Создание и использование шаблонов безопасного проектирования из библиотеки или списка компонентов асфальтированной дороги< li>Использовать моделирование потоков
  • Интегрировать язык безопасности и элементы управления в пользовательские истории
  • Тестировать и проверять все критически важные потоки
  • Разделять арендаторов
  • Разделять многоуровневые уровни
  • Ограничивать потребление ресурсов на пользователя/службу

A05:2021-Неправильная конфигурация безопасности

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

Например:

  • Неправильно настроенные разрешения
  • Отсутствие усиления безопасности
  • Учетные записи и пароли по умолчанию остаются на месте
  • Слишком информативные сообщения об ошибках
  • Обработка ошибок показывает трассировку стека
  • Функции безопасности отключены или не настроены
  • Параметры безопасности не установлены в безопасные значения
  • Нет заголовков/директив безопасности/не заданы безопасные значения
  • Программное обеспечение устарело

Предотвращение: Предотвращение проблем такого типа обычно зависит от сканирования, периодического усиления защиты и хорошей политики безопасности. Например, ежеквартальная оценка безопасности и конфигураций гарантирует, что приложение останется безопасным при обновлении. Многие приложения, такие как Azure и Google Cloud, предлагают встроенные сканеры безопасности, которые проверяют распространенные проблемы неправильной настройки.

A06:2021-Уязвимые и устаревшие компоненты

Уязвимые и устаревшие компоненты настолько распространены, что OWASP Community Survey назвал их вторыми наиболее часто встречаемыми уязвимостями. В официальном рейтинге OWASP Top 10 2021 он занимает 6-е место. Эти уязвимости обычно возникают на платформах, где нет ответственности за то, кто контролирует обновление и обслуживание версий компонентов. Например:

Например:

  • Программное обеспечение не поддерживается или устарело
  • Никто не знает, какие компоненты версии (клиентская и серверная сторона)
  • Есть нет сканеров для проверки устаревших компонентов
  • Исправления и обновления для платформ, фреймворков и зависимостей не обновляются своевременно. Например, у вас есть ежемесячный или ежеквартальный цикл обновления, а не интеграция обновлений по мере их появления
  • Разработчики не проверяют совместимость обновленных, модернизированных и исправленных библиотек
  • Конфигурации компонентов не защищены

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

A07:2021-Ошибки идентификации и аутентификации

Ошибки идентификации и аутентификации (ранее Сломанная аутентификация) относятся ко всем случаям, когда пользователи могут злоупотреблять учетными данными или сеансами для получения доступа к конфиденциальным данные или получить доступ сверх разрешенного доступа для этого пользователя. К ним относятся:

Например:

  • Атаки с подменой учетных данных из списка действительных имен пользователей/паролей
  • Атака полным перебором/автоматические атаки
  • Приложение позволяет использовать пароли по умолчанию или общие пароли
  • Пароли хранятся в виде обычного текста или слабо хэшируются
  • Многофакторная обработка отсутствует аутентификация
  • Идентификаторы сеанса в URL-адресах
  • Идентификаторы сеанса используются повторно
  • Идентификаторы сеанса не становятся недействительными при выходе из системы или во время бездействия

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

A08:2021 – Нарушения целостности программного обеспечения и данных

Сбои целостности программного обеспечения и данных являются третьей и последней новой категорией в Топ-10 OWASP 2021 года. Эта новая категория охватывает сбои целостности, связанные с кодом и инфраструктурой, такие как автоматическое обновление приложений без проверки целостности обновления или его влияния на конфигурации безопасности. .

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

A09:2021-Журналирование и мониторинг сбоев безопасности

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

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

  • Проверьте все входы в систему, неудачные попытки входа, транзакции, предупреждения, ошибки и т. д., создайте сообщения журнала.
  • Используйте DAST для сканирования журналов на наличие проблем.
  • Настройте оповещения для обнаружения, эскалации, отправляйте оповещения о подозрительных действиях в журнале
  • Кодируйте действия в журнале, чтобы предотвратить внедрение
  • Используйте надежные журналы аудита с элементами управления целостностью для транзакций с высокой стоимостью
  • Интегрируйте план реагирования на инциденты и восстановления, например NIST 800-61r2 и т. д.

A10:2021-Server-Side Request Forgery

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

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

Заключительные мысли

OWASP Top 10 — ценный ресурс для разработчиков, экспертов по безопасности и пентестеров. Он служит основным руководством по безопасности, поскольку представляет наиболее распространенные, наиболее вероятные и наиболее серьезные уязвимости. Защита веб-приложения от этих уязвимостей может значительно повысить безопасность и, следовательно, снизить вероятность и/или серьезность нарушения. И это важно как для общей безопасности приложений, так и для соответствия требованиям или для удовлетворения потребностей и ожиданий клиентов и пользователей в области безопасности.

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

Однако, хотя OWASP Top 10 — хорошее место для начала, это не конец безопасности. Внедрение сканеров, участие в регулярном тестировании на проникновение, проверка конфигураций безопасности и управление ими, а также использование методов и политик обеспечения безопасности при разработке имеют важное значение для обеспечения безопасности вашего приложения.

Майк Терхаар – ведущий пентестер и соучредитель Cyver. ио. Обладая более чем 20-летним опытом работы в области кибербезопасности, он работал с банками, государственными учреждениями и организациями с высоким уровнем риска. Сегодня Майк работает с Cyver над предоставлением пентеста как услуги и цифрового пентеста.
TAG: qa

От QA genius

Adblock
detector