Топ-10 уязвимостей и способов предотвращения OWASP

уязвимостей и способов предотвращения OWASP Программирование и разработка

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

уязвимостей и способов предотвращения OWASP

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

10 основных уязвимостей OWASP в 2021 году

  • Инъекция.
  • Сломанная аутентификация.
  • Раскрытие конфиденциальных данных.
  • Внешние объекты XML (XXE).
  • Сломанный контроль доступа.
  • Неправильная конфигурация безопасности.
  • Межсайтовый скриптинг (XSS).
  • Небезопасная десериализация.
  • Использование компонентов с известными уязвимостями.
  • Недостаточное ведение журнала и мониторинг.

Инъекция

Уязвимости внедрения возникают, когда злоумышленник использует запрос или команду для вставки ненадёжных данных в интерпретатор через SQL, OS, NoSQL или внедрение LDAP. Данные, которые вводятся через этот вектор атаки, заставляют приложение делать то, для чего оно не предназначено. Не все приложения уязвимы для этой атаки, только приложения, которые принимают параметры в качестве входных данных, уязвимы для атак путём внедрения.

Инъекционные атаки можно предотвратить с помощью

  • Использование более безопасного API, исключающего использование интерпретатора.
  • Использование параметризованных запросов при кодировании.
  • Отделение команд от данных во избежание атак.

Сломанная аутентификация

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

Читайте также:  Объект Object: Что это значит?

Атаки с нарушенной аутентификацией можно предотвратить с помощью

  • Реализация многофакторной аутентификации.
  • Защита учётных данных пользователя.
  • Отправка паролей через зашифрованные соединения.

Раскрытие конфиденциальных данных

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

Атаки по раскрытию конфиденциальных данных можно предотвратить с помощью

  • Используя защищённый URL.
  • Использование надёжных и уникальных паролей.
  • Шифрование всей конфиденциальной информации, которую необходимо сохранить.

Внешние объекты XML (XXE)

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

Атаки XXE можно предотвратить с помощью

  • Использование менее сложных форматов данных, таких как JSON.
  • Обновление процессоров и библиотек XML.
  • Использование инструментов SAST.

Нарушенный контроль доступа

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

Атаки с нарушением контроля доступа можно предотвратить с помощью

  • Удаление аккаунтов, которые больше не нужны или неактивны.
  • Отключение ненужных служб для снижения нагрузки на серверы.
  • Использование тестирования на проникновение.

Неверная конфигурация безопасности

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

Читайте также:  Цикл событий Node.js: Руководство разработчика по концепциям и коду

Атаки неверной конфигурации безопасности можно предотвратить с помощью

  • Использование динамического тестирования безопасности приложений (DAST).
  • Отключение использования паролей по умолчанию.
  • Следите за облачными ресурсами, приложениями и серверами.

Межсайтовый скриптинг (XSS)

Это также широко распространённая уязвимость, которая затрагивает почти 53% всех веб-приложений. Уязвимость XSS позволяет хакеру внедрять вредоносные клиентские скрипты на веб-сайт, а затем использовать веб-приложение в качестве вектора атаки для перехвата пользовательских сеансов или перенаправления жертвы на вредоносные веб-сайты.

Атаки межсайтового скриптинга могут быть предотвращены

  • Использование соответствующих заголовков ответа.
  • Фильтрация ввода и кодирование вывода.
  • Использование политики безопасности контента.
  • Применение подхода с нулевым доверием к пользовательскому вводу.

Небезопасная десериализация

Уязвимость Insecure Deserialization позволяет злоумышленнику удалённо выполнять код в приложении, подделывать или удалять сериализованные (записанные на диск) объекты, проводить атаки путём внедрения, повторного воспроизведения и повышать привилегии. Эта атака также известна как недоверенная десериализация. Это серьёзная проблема безопасности приложений, которая затрагивает большинство современных систем.

Атаки небезопасной десериализации можно предотвратить с помощью

  • Внедрение цифровых подписей.
  • Использование тестирования на проникновение.
  • Изоляция кода, который десериализует, и запуск его в средах с низким уровнем привилегий для предотвращения несанкционированных действий.

Использование компонентов с известными уязвимостями

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

Эту атаку можно предотвратить

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

Недостаточное ведение журнала и мониторинг

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

Атаки с недостаточным ведением журнала и мониторинга могут быть предотвращены

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