Исследователи из Kaspersky составили ТОП-10 уязвимостей в веб-приложениях

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

Исследователи Kaspersky Security Services собрали список самых опасных и распространённых уязвимостей, найденных при анализе защищённости веб-приложений за 2021-2023 год. Краткий обзор опубликован в телеграм-канале компании.

Все изученные приложения были разработаны компаниями, заказавшими такой анализ, преимущественно это организации в РФ, Китае и на Ближнем Востоке.

Рейтинг уязвимостей по популярности с рекомендациями по их исправлению выглядит следующим образом:

  1. Недостатки контроля доступа. Рекомендация: внедрить аутентификацию и авторизацию в приложении на основе ролевой модели, по умолчанию запрещать доступ к непубличным ресурсам
  2. Раскрытие чувствительной информации. Рекомендация: не оставлять файлы с конфиденциальными данными в веб-директории приложений
  3. Подделка межсерверных запросов (SSRF). Рекомендация: создать белый список ресурсов, к которым может обращаться приложение, и заблокировать все остальное. Блокировать запросы, содержащие полные URL-адреса. Установить ограничения как в приложении, так и в межсетевом экране
  4. Внедрение операторов SQL. Рекомендация: Использовать параметризированные SQL-запросы в коде приложения вместо простого объединения с шаблоном запроса.
  5. Межсайтовое выполнение сценариев (XSS). Рекомендация: экранировать служебные символы, которые могут быть использованы для форматирования HTML-страниц, в зависимости от контекста, в который вставляются данные путем их замены на аналоги, которые не являются символами форматирования. Экранирование должно быть реализовано для любых данных, получаемых из внешних источников (включая заголовки HTTP, такие как User-Agent и Referer)
  6. Недостатки аутентификации. Рекомендация: реализовать корректную проверку аутентификационных данных для доступа к приложению. При использовании токенов и идентификаторов сессий проверять их подпись. Секреты, используемые при аутентификации (ключи для шифрования, подписи и т. д.) должны быть уникальными и с высокой степенью энтропии. Хранить секреты необходимо отдельно, не в коде приложения.
  7. Недостатки конфигурации. Рекомендация: следовать лучшим практикам информационной безопасности при настройке систем, которые используются в ИТ-инфраструктуре. Автоматизировать процесс настройки, чтобы исключить возможные ошибки при настройке новых систем. Использовать разные учетные данные для тестовых систем и систем, введенных в эксплуатацию. Отключить неиспользуемые компоненты.
  8. Недостаточная защита от перебора пароля. Рекомендация: чтобы усложнить для атакующего процесс подбора учетных данных, стоит использовать CAPTCHA. Также следует применять превентивные средства защиты (WAF, IPS), чтобы оперативно блокировать попытки подбора учетных данных. Блокирование должно осуществляться не только в случае множественных неудачных попыток аутентификации для одной учетной записи, но и для множественных неудачных попыток входа для разных учетных записей из одного источника.
  9. Слабый пароль пользователя. Рекомендация: внедрить проверку слабости паролей, например сравнение новых или измененных паролей со списком из 10 тысяч наиболее слабых паролей. Установить парольные политики относительно минимальной длины, сложности и частоты смены пароля, а также другие современные парольные политики (например, требование не использовать имя пользователя в значении пароля).
  10. Использование компонентов с известными уязвимостями. Рекомендация: проводить регулярные проверки версий используемых программных компонентов и при необходимости обновлять их. Использовать только доверенные компоненты, которые успешно прошли тестирования безопасности. Отключить неиспользуемые компоненты.

 

Исследователи отмечают, что самые распространённые дефекты (Недостатки контроля доступа и Раскрытие чувствительной информации) были обнаружены в 70% изученных приложений.

Чтобы улучшить безопасность в приложениях собственной разработки и быстрее обнаруживать атаки на них, эксперты рекомендуют:

  • следовать практикам безопасного цикла разработки (SDLC);
  • регулярно проводить анализ защищённости приложений; 
  • применять мониторинг и логирование чтобы отслеживать работу приложения. 

 Полная версия исследования доступна на Securelist.

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

С заботой о вашей безопасности, команда Origin Security

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *