![]() |
Существует стандартный информационный документ от OWASP(Open Web Application Security Project) - открытый проект по безопасности веб-приложений, созданный и поддерживаемый некоммерческой организацией OWASP Foundation. В нем приведен список критических уязвимостей веб-приложений. Этот список позволяет разработчикам и специалистам по информационной безопасности быть осведомленными о наиболее критичных угрозах, их последствиях и мерах противодействия. Компания обновляет список каждые три-четыре года и на сегодняшний момент доступен список, который был выпущен в 2021 году, но от этого он не перестает быть менее актуальным. Обновленный список уязвимостей ожидается в первой половине 2025 года, ну а пока рассмотрим, что интересного есть в нынешнем перечне.
Основные уязвимости OWASP 2021 года:
1. Нарушение контроля доступа Встречается в 56% веб-приложений Контроль доступа – это применение ограничения доступа пользователей к отдельным разделам или страницам. Разработка и управление средствами управления доступом могут быть сложными и в некоторых случаях вместо того, чтобы ограничить доступ пользователей к важной функциональности веб-приложения применятся метод замены стандартных URL-адресов на менее используемые и предсказуемые, что не позволяет должным образом защитить приложение. Уязвимости небезопасного контроля доступа могут привести к следующим последствиям:
Способы защиты:
Встречается в 46% веб-приложений. Незащищенность конфиденциальных данных является распространенной уязвимостью и требует особого внимания со стороны криптографической защиты. К таким данным относятся номера кредитных карт, логины и пароли от веб-приложений, персональные данные и другая личная информация. Необходимо следить чтобы такая информация не передавалась открыто, именно поэтому для передачи таких данных используются криптографические методы и хэш-функции. Криптографические ошибки могут возникать из-за следующих обстоятельств:
Для защиты приложения необходимо хранить конфиденциальные данные в зашифрованном виде и регулярно обновлять алгоритмы и ключи шифрования. 3. Внедрение кода Встречается в 19% веб-приложений. Внедрение кода – тип уязвимости, при которой вводится нелегитимный код или команды в приложение и далее выполняются им. В большинстве случаев данный тип уязвимости возникает из-за отсутствия надлежащей проверки входных и выходных данных. Так, например, сценарий внедрения кода может происходить путем вставки в адресную строку SQL параметров, которые не будут должным образом фильтроваться на стороне сервера. Уязвимость может привести к утечкам паролей и другой конфиденциальной информацией, сбоя в работе веб-приложений. Избежать инъекций можно, используя для передачи запросов на сервер безопасный API, который не может исполнять код, проверять запросы пользователя перед исполнением на сервере. 4. Небезопасное проектирование Встречается в 24% веб-приложений. Небезопасное проектирование – категория уязвимостей, возникающая на этапе проектирования веб-приложения из-за недостаточного учета мер безопасности или неправильного применения стандартов безопасности. Уязвимости небезопасного проектирования могут привести к компрометации данных и несанкционированному доступу к информационной системе. Эксплуатация ошибок небезопасного проектирования может произойти, когда валидация на стороне клиента не достаточна и ее легко можно обойти с помощью малых изменений в коде. Кроме того, даже если валидация на стороне клиента будет надежной, отсутствие проверки на стороне сервера делает приложение уязвимым, так как возникает возможность отправки произвольных данных напрямую на сервер. Во избежание данного типа уязвимостей необходимо моделировать угрозы безопасности системы ещё на этапе разработки, внедрить средства контроля безопасности. 5. Небезопасная конфигурация Встречается в 20% веб-приложений. Небезопасная конфигурация – это уязвимость, возникающая из-за неправильной настройки конфигурацией системы, при которых конфигурации веб-приложения, сервера, базы данных или других компонентов не информационной системы не являются безопасными. К данной группе уязвимостей относят плохо спроектированные настройки авторизации, аутентификации и прав доступа. Небезопасная конфигурация может привести к утечкам данных и несанкционированному доступу. Примерами небезопасной конфигурации являются:
Встречается в 28% веб-приложений. Эта категория является известной проблемой с трудно оцениваемыми рисками, так как уязвимости относятся к установленным системным компонентам в веб-приложении. Уязвимости такого рода могут возникать в случае, если:
Встречается в 15% веб-приложений. Такие ошибки могут привести к контролю над учетной записью пользователя или же к полному контролю над информационной системой. Ошибки идентификации могут возникать в случае, если приложении:
Избежать такие ошибки можно следующим образом:
Встречается в 17% веб-приложений Сложность архитектур разрабатываемых систем вынуждает разработчиков использовать модули и библиотеки из общедоступных репозиториев, которым не всегда можно доверять. Нарушение целостности программного обеспечения и данных происходят из-за того, когда данные, полученные из общедоступных источников, не были должным образом проверены и встроены в непрерывный процесс разработки. Уязвимости такого рода могут сделать приложение уязвимым для несанкционированного раскрытия информация или внедрения вредоносного кода. В случае если обновления поставщика, которому доверяет пользующаяся его услугами компания, были заражены, и информационная система использовала доверенные обновления, но без должной проверки в песочницах, это может привести к тому, что на систему установятся зараженные обновления и она станет уязвимой. Защититься от ошибок целостности можно так:
Встречается в 19% веб-приложений Сбои в ведении журналов событий и ошибки мониторинга в большинстве случаев приводят к серьезным последствиям, например, к незарегистрированному проникновения злоумышленника в систему. Недостаточное ведение журналов событий могут возникать в том случае, если:
10. Подделка запросов со стороны сервера Встречается в 3% веб-приложений. Подделка запросов со стороны сервера или SSRF представляет серьезную уязвимость, при которой у злоумышленника появляется возможность влиять на запросы, отправляемые сервером. В случае подделки запросов со стороны сервера происходит взаимодействие непосредственно с сервером без участия пользователя. Такие ошибки возникают, когда веб-приложение извлекает удаленный ресурс без проверки предоставленного пользователем URL. Для защиты:
|
| Время: 11:35 |