SOT

Security Orchestration Tools

SOAR
Security Orchestration, Automation and Response

Автоматизация реагирования на инциденты информационной безопасности при помощи динамических плейбуков с применением СЗИ, выстраиванием цепочки атаки и объектно-ориентированным подходом

NG SOAR
Next Generation SOAR

Автоматизация реагирования на инциденты ИБ со встроенной базовой корреляцией, сбором сырых событий непосредственно с СЗИ, динамическими плейбуками, выстраиванием цепочки атаки и объектно-ориентированным подходом

AM
Asset Management

Описание ИТ-ландшафта, обнаружение новых объектов в сети, категорирование активов, инвентаризации и управления жизненным циклом оборудования и ПО на АРМ и серверах организаций

VM
Vulnerability Management

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

VS
Vulnerability Scanner

Сканер уязвимостей

SPC
Security Profile Compliance

Контроль параметров безопасности

ГосСОПКА
Государственная Система Обнаружения Предупреждения и Ликвидации Последствий Компьютерных Атак

Двустороннее взаимодействие с Национальным координационным центром по компьютерным инцидентам (НКЦКИ), а именно передача информации об инцидентах и получение оперативных уведомлений/бюллетеней от регулятора

FinCERT
Financial Computer Emergency Response Team

Двустороннее взаимодействие с Центральным Банком (ЦБ РФ, ЦБ РБ и др.), а именно передача информации об инцидентах и получение оперативных уведомлений/бюллетеней от регулятора

Напишите нам на sales@securityvision.ru или закажите демонстрацию

GRC

Governance, Risk Management and Compliance

КИИ
Критическая Информационная Инфраструктура

Аудит и исполнение требований ФЗ-187 «О безопасности критической информационной инфраструктуры Российской Федерации» и других нормативных документов

RM
Risk Management

Формирование реестра рисков, угроз, мер защиты и других параметров контроля, оценка по выбранной методике, формирование перечня дополнительных мер для изменения уровня риска, контроль исполнения, периодическая переоценка

ORM
Operational Risk Management

Учёт и фиксация событий операционных рисков (СОР), мониторинг ключевых индикаторов рисков (КИР) и проведение самооценки /контроля согласно положению №716-П ЦБ РФ

CM
Compliance Management

Аудит соответствия и комплаенса различным методологиям и стандартам

BCP
Business Continuity Plan

Автоматизация процесса обеспечения непрерывности и восстановления деятельности (ОНиВД) после наступления чрезвычайных ситуаций

Напишите нам на sales@securityvision.ru или закажите демонстрацию

Атаки на веб-системы по методологии OWASP Top 10

Атаки на веб-системы по методологии OWASP Top 10
27.05.2024

Руслан Рахметов, Security Vision

 

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


В силу указанных причин веб-ресурсы подвержены повышенному риску несанкционированного доступа, кибервзломов, эксплуатации веб-уязвимостей, что в свою очередь может привести к утечке данных (например, базы данных пользователей сайта), несанкционированному изменению внешнего вида веб-ресурса (дефейсу), размещению вредоносного или мошеннического контента на сайте без ведома владельца, а также к компрометации информационных ресурсов, к которым имеет доступ веб-сервер через корпоративную сеть. Вопросами безопасности веб-приложений уделяется много внимания в мире ИБ, например, со стороны сообщества OWASP (Open Web Application Security Project, открытый проект безопасности веб-приложений), которое в том числе формирует справочник разнообразных веб-атак. В рамках работы данного проекта с 2003 года регулярно выпускаются списки из 10 наиболее распространенных типов веб-уязвимостей и ошибок конфигурирования веб-приложений. Последняя версия данного списка OWASP Top 10 вышла в 2021 году и содержит следующие типы уязвимостей:


     • Сбой механизмов контроля доступа (англ. Broken Access Control);

     • Ошибки в криптографии (англ. Cryptographic Failures);

     • Инъекции (англ. Injection), включая XSS, SQL-инъекции, внедрение команд ОС, внедрение выражений XPath и XQuery и т.д.;

     • Небезопасный дизайн (англ. Insecure Design);

     • Недостатки конфигурации (англ. Security Misconfiguration);

     • Уязвимые и устаревшие компоненты (англ. Vulnerable and Outdated Components);

     • Ошибки в обеспечении идентификации и аутентификации (англ. Identification and Authentication Failures);

     • Ошибки в обеспечении целостности ПО и данных (англ. Software and Data Integrity Failures);

     • Ошибки в обеспечении логирования и мониторинга безопасности (англ. Security Logging and Monitoring Failures);

     • Подделка запросов на стороне сервера (англ. Server-Side Request Forgery).

 

Рассмотрим подробнее данные уязвимости.

 

1. Сбой механизмов контроля доступа (A01:2021-Broken Access Control)


Механизмы контроля доступа обеспечивают соблюдение политик доступа и полномочий пользователей систем для предотвращения несанкционированного доступа субъектов к объектам защиты. Распространенные уязвимости контроля доступа включают в себя несоблюдение принципов наименьших полномочий и запрета по умолчанию, обход проверок доступа путем изменения HTML и API запросов, доступ к объектам по прямой ссылке без аутентификации, отсутствие контроля доступа при выполнении POST, PUT и DELETE запросов при доступе через API, несанкционированное повышение привилегий (включая обход механизма аутентификации), манипуляция метаданными (включая повторное использование или подделка JWT-токенов, cookie-файлов, скрытых полей), ошибки конфигурирования механизма CORS (Cross-Origin Resource Sharing, совместное использование ресурсов разными источниками).

 

2. Ошибки в криптографии (A02:2021-Cryptographic Failures)


Недостатки в применении криптографических методов защиты информации при хранении, использовании и передаче могут привести к несанкционированному доступу, разглашению и утечке данных. Особое внимание требуется уделить криптографической защите данных, безопасность которых регулируется законодательными нормами, например, персональных данных, банковской информации, коммерческой тайны, а также чувствительных данных, таких как аутентификационная информация (логины, пароли, email, телефон). Для подобных конфиденциальных данных следует определить, не передаются ли они в незашифрованном виде (clear text), не используются ли нестойкие, ненадежные, устаревшие криптографические функции и их режимы, внедрено ли управление криптографическими ключами, присутствуют ли требования по принудительному применению стойкой криптографии для веб-клиентов, проверяются ли цепочки доверия криптографических сертификатов, не используются ли пароли в качестве криптографических ключей без применения PBKDF-функции, какие генераторы случайных чисел используются, не применяются ли устаревшие функции хэширования (MD5, SHA1).

 

3. Инъекции (A03:2021-Injection)


Веб-приложение является уязвимым для атак методом инъекции в случае, когда передаваемые пользователем данные не проверяются, не фильтруются, не санитизируются веб-приложением, используются динамические запросы и непараметризованные вызовы функций без экранирования пользовательского ввода, небезопасный пользовательский ввод передается в запросы, команды, хранимые процедуры. Наиболее распространенными типами инъекций являются SQL/NoSQL-инъекции, внедрение команд ОС, ORM-инъекции (Object Relational Mapping), инъекции LDAP, EL (Expression Language), OGNL (Object Graph Navigation Library). Вне зависимости от используемого веб-приложением интерпретатора (JavaScript, PHP, Python и т.д.), лучшим способом предотвращения подобных уязвимостей будет проверка исходного кода, которую следует выполнять для всех параметров, заголовков, URL, cookie-файлов, данных JSON, SOAP, XML. Для автоматизации подобных проверок можно использовать средства статического анализа кода (SAST, Static Application Security Testing), динамического анализа кода (DAST, Dynamic Application Security Testing), интерактивного анализа кода (IAST, Interactive Application Security Testing), которые можно интегрировать в CI/CD-конвейер.

 

4. Небезопасный дизайн (A04:2021-Insecure Design)


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


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


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


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

 

5. Недостатки конфигурации (A05:2021-Security Misconfiguration)


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

 

6. Уязвимые и устаревшие компоненты (A06:2021-Vulnerable and Outdated Components)


Данной уязвимости будут подвержены веб-приложения, для которых неизвестны версии всех используемых компонент (и клиентских, и серверных), включая непосредственно используемые компоненты и программные зависимости. Опасно также использовать уязвимое, неподдерживаемое, устаревшее ПО, включая ОС, веб-серверы и серверы приложений, СУБД, приложения, API, среды выполнения, программные библиотеки. Важно регулярно проводить сканирование на наличие уязвимостей и получать информационные бюллетени по уязвимостям для используемых компонент, оперативно обновлять используемые платформы, фреймворки, зависимости с использованием риск-ориентированного подхода. Кроме того, разработчикам важно проводить тестирование обновляемых библиотек на совместимость, а также обеспечивать защищенную настройку компонент приложений.

 

7. Ошибки в обеспечении идентификации и аутентификации (A07:2021-Identification and Authentication Failures)


Подтверждение личности пользователя, аутентификация, управление сессиями критически важно для противодействия атакам на процессы аутентификации. Уязвимости в обеспечении идентификации и аутентификации могут возникнуть в случае, когда приложение подвержено атакам типа credential stuffing (подстановка учетных данных из баз «утекших» логинов и паролей), не защищено от брутфорса или других автоматизированных атак, допускает использование дефолтных, слабых или хорошо известных паролей, использует слабый или неэффективный процесс восстановления паролей, допускает использование паролей в чистом виде или применяет слабые алгоритмы шифрования и хэширования паролей, не задействует или применяет неэффективные средства мультифакторной аутентификации, отображает идентификатор сессии в URL, допускает повторное использование сессионного идентификатора, не аннулирует корректным образом сессионные идентификаторы или токены аутентификации после выхода пользователя или по истечению периода неактивности.

 

8. Ошибки в обеспечении целостности ПО и данных (A08:2021-Software and Data Integrity Failures)


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

 

9. Ошибки в обеспечении логирования и мониторинга безопасности (A09:2021-Security Logging and Monitoring Failures)


Для выявления и реагирования на кибератаки важно использовать механизмы логирования и мониторинга событий безопасности. Без данных механизмов незамеченными могут пройти такие опасные явления, как попытки входа и высокорискованные операции, неполные или вовсе отсутствующие предупреждения и оповещения об ошибках, опасная активность приложений и API. Опасной практикой является исключительно локальное хранение логов (например, без системы централизованного сбора), а также отсутствие или неэффективность процессов реагирования на предупреждения и алерты. Признаком наличия допущенных ошибок в обеспечении логирования является отсутствие оповещений при проведении пен-тестов и сканирований средствами динамического анализа кода, а также неспособность приложения выявлять и предупреждать об активных кибератаках в режиме реального времени. Кроме того, не следует забывать, что если логи или предупреждения доступны для просмотра любым посторонним или потенциальным атакующим, то присутствует уязвимость вида «Сбой механизмов контроля доступа», описанная в самом начале.

 

10. Подделка запросов на стороне сервера (A10:2021-Server-Side Request Forgery)


Уязвимость типа подделки запросов на стороне сервера (SSRF, Server-Side Request Forgery) может возникнуть в случае, когда веб-приложение получает данные удаленного ресурса без проверки передаваемого пользователем URL. Такое поведение дает атакующим возможность заставить приложение отправить сформированный ими запрос по непредусмотренному адресу, минуя защитные решения, а затем вернуть ответ атакующим. Результатом успешной SSRF-атаки может стать обход установленных сетевых ограничений и прав доступа, извлечение конфиденциальной информации и чтение локальных файлов на веб-сервере, сканирование и получение доступа к внутренней сети. Опасность SSRF-атак в том, что современные веб-приложения зачастую предоставляют пользователям возможность загрузки данных со сторонних ресурсов, а сложность современных инфраструктур и повсеместное использование «облаков» приводит к повышению вероятности обнаружения и эксплуатации SSRF-уязвимости.

СЗИ Управление ИБ Практика ИБ

Рекомендуем

Безопасность использования облачных хранилищ
Безопасность использования облачных хранилищ
Возможности Security Vision Compliance Management
Возможности Security Vision Compliance Management
Повышение осведомленности по вопросам ИБ
Повышение осведомленности по вопросам ИБ
Взломы в информационной безопасности - что это, как они происходят и как от них защититься
Взломы в информационной безопасности - что это, как они происходят и как от них защититься
Атаки на веб-системы по методологии OWASP Top 10
Атаки на веб-системы по методологии OWASP Top 10
Средства обеспечения информационной безопасности – виды и описание
Средства обеспечения информационной безопасности – виды и описание
Сетевая форензика с помощью ZUI
Сетевая форензика с помощью ZUI
Каналы утечки информации. Часть 2
Каналы утечки информации. Часть 2
Конфиденциальная информация
Конфиденциальная информация
Термины и определения в области информационной безопасности
Термины и определения в области информационной безопасности
Этичный хакер и его роль в безопасности
Этичный хакер и его роль в безопасности

Рекомендуем

Безопасность использования облачных хранилищ
Безопасность использования облачных хранилищ
Возможности Security Vision Compliance Management
Возможности Security Vision Compliance Management
Повышение осведомленности по вопросам ИБ
Повышение осведомленности по вопросам ИБ
Взломы в информационной безопасности - что это, как они происходят и как от них защититься
Взломы в информационной безопасности - что это, как они происходят и как от них защититься
Атаки на веб-системы по методологии OWASP Top 10
Атаки на веб-системы по методологии OWASP Top 10
Средства обеспечения информационной безопасности – виды и описание
Средства обеспечения информационной безопасности – виды и описание
Сетевая форензика с помощью ZUI
Сетевая форензика с помощью ZUI
Каналы утечки информации. Часть 2
Каналы утечки информации. Часть 2
Конфиденциальная информация
Конфиденциальная информация
Термины и определения в области информационной безопасности
Термины и определения в области информационной безопасности
Этичный хакер и его роль в безопасности
Этичный хакер и его роль в безопасности

Похожие статьи

Новые возможности продукта Security Vision Risk Management (RM)
Новые возможности продукта Security Vision Risk Management (RM)
Да кто такие эти ваши агенты, или как следить за большим закрытым контуром
Да кто такие эти ваши агенты, или как следить за большим закрытым контуром
Применение утилиты Sysmon для повышения уровня кибербезопасности
Применение утилиты Sysmon для повышения уровня кибербезопасности
Ландшафт угроз информационной безопасности последних лет. Часть 1
Ландшафт угроз информационной безопасности последних лет. Часть 1
Процессы ИТ и ИБ
Процессы ИТ и ИБ
Обзор Баз данных угроз
Обзор Баз данных угроз
Польза ИT-систем в работе ИБ-аналитика
Польза ИT-систем в работе ИБ-аналитика
Справочник законодательства Российской Федерации в области информационной безопасности
Справочник законодательства Российской Федерации в области информационной безопасности
Тестирование на проникновение
Тестирование на проникновение
Термины и определения в области информационной безопасности
Термины и определения в области информационной безопасности
Как научиться выстраивать килчейн
Как научиться выстраивать килчейн

Похожие статьи

Новые возможности продукта Security Vision Risk Management (RM)
Новые возможности продукта Security Vision Risk Management (RM)
Да кто такие эти ваши агенты, или как следить за большим закрытым контуром
Да кто такие эти ваши агенты, или как следить за большим закрытым контуром
Применение утилиты Sysmon для повышения уровня кибербезопасности
Применение утилиты Sysmon для повышения уровня кибербезопасности
Ландшафт угроз информационной безопасности последних лет. Часть 1
Ландшафт угроз информационной безопасности последних лет. Часть 1
Процессы ИТ и ИБ
Процессы ИТ и ИБ
Обзор Баз данных угроз
Обзор Баз данных угроз
Польза ИT-систем в работе ИБ-аналитика
Польза ИT-систем в работе ИБ-аналитика
Справочник законодательства Российской Федерации в области информационной безопасности
Справочник законодательства Российской Федерации в области информационной безопасности
Тестирование на проникновение
Тестирование на проникновение
Термины и определения в области информационной безопасности
Термины и определения в области информационной безопасности
Как научиться выстраивать килчейн
Как научиться выстраивать килчейн