Mutt
Professional
- Messages
- 1,056
- Reaction score
- 642
- Points
- 113
Содержание статьи
Что такое OWASP?
Open Web Application Security Project (OWASP) - это некоммерческая организация, основанная в 2001 году с целью помочь владельцам веб-сайтов и экспертам по безопасности защищать веб-приложения от кибератак. OWASP насчитывает 32 000 добровольцев по всему миру, которые проводят оценки и исследования безопасности.
Среди ключевых публикаций OWASP - Топ-10 OWASP, более подробно обсуждаемые ниже; модель зрелости обеспечения программного обеспечения OWASP (SAMM), руководство по разработке OWASP, руководство по тестированию OWASP и руководство по обзору кода OWASP.
ТОП-10 OWASP
OWASP Top 10 - это широко распространенный документ, в котором уделяется приоритетное внимание наиболее важным рискам безопасности, влияющим на веб-приложения. Несмотря на то, что существует более десяти рисков безопасности, идея OWASP Top 10 состоит в том, чтобы профессионалы в области безопасности были хорошо осведомлены, по крайней мере, о наиболее критических рисках безопасности и научились от них защищаться.
OWASP периодически оценивает важные типы кибератак по четырем критериям: простота использования, распространенность, обнаруживаемость и влияние на бизнес, и выбирает 10 основных атак. Рейтинг OWASP Top 10 был впервые опубликован в 2003 году и с тех пор обновлялся в 2004, 2007, 2010, 2013 и 2017 годах.
Понимание и предотвращение распространенных атак OWASP
Ниже представлена информация, предоставленная фондом OWASP, о пяти важных атаках на веб-приложения, которые обычно входят в первую половину рейтинга OWASP Top 10, о том, как они проявляются и как вы можете защитить свою организацию от них. Примеры кода взяты из рекомендаций OWASP Top 10.
Инъекция
Инъекции уязвимость в веб - приложение позволяет злоумышленникам посылать данные враждебные переводчика, в результате чего , что данные , которые будут компилироваться и выполняться на сервере. Распространенной формой инъекции является SQL-инъекция.
Примеры инъекционных атак
Приложение использует ненадежные данные при создании уязвимого вызова SQL:
Приложение доверяет фреймворку, не очищая его входные данные, в данном случае Hibernate Query Language (HQL):
Злоумышленник изменяет параметр id в своем браузере, чтобы отправить код. Например:
Это приводит к тому, что запросы возвращают все записи из таблицы учетных записей и могут использоваться для выполнения других вредоносных действий на сервере.
Предотвращение инъекционных атак
Сломанная аутентификация
Веб-приложение со сломанной или слабой аутентификацией может быть легко обнаружено злоумышленниками и уязвимо для атак методом грубой силы / словаря и атак управления сеансом.
Примеры атак с нарушением аутентификации
Устранение неполадок при проверке подлинности
Раскрытие конфиденциальных данных
Конфиденциальные данные, как правило, являются наиболее ценным активом для кибератак. Злоумышленники могут получить к нему доступ путем кражи криптографических ключей, проведения атак «человек посередине» (MITM) или кражи данных в открытом виде, которые иногда могут храниться на серверах или в пользовательских браузерах.
Примеры раскрытия конфиденциальных данных
Снижение риска раскрытия конфиденциальных данных
Внешние объекты XML (XXE)
Если веб-приложение использует уязвимый компонент, обрабатывающий XML, злоумышленники могут загрузить XML или включить враждебное содержимое, команды или код в XML-документ.
Примеры атак XXE
Злоумышленник может использовать этот XML-код для извлечения данных с сервера:
Злоумышленник может получить информацию о частной сети, изменив строку ENTITY на:
Смягчение атак XXE
А5. Сломанный контроль доступа
Нарушение контроля доступа означает, что злоумышленники могут получить доступ к учетным записям пользователей и действовать как пользователи или администраторы, а обычные пользователи могут получить непреднамеренные привилегированные функции. Надежные механизмы доступа гарантируют, что каждая роль имеет четкие и изолированные привилегии.
Примеры нарушенного контроля доступа
Приложение может принять вызов SQL с запросом информации об учетной записи, не проверяя ее:
Злоумышленник может изменить параметр acct, чтобы получить доступ к любому номеру учетной записи, который он хочет:
Устранение нарушений контроля доступа
Другие 5 лучших атак OWASP
Application Security
Ведущий в отрасли брандмауэр веб-приложений (WAF) обеспечивает надежную защиту от атак OWASP Top 10 и других угроз веб-приложений. Imperva предлагает два варианта развертывания WAF:
В дополнение к WAF, Imperva обеспечивает многоуровневую защиту, гарантирующую, что веб-сайты и приложения доступны, легко доступны и безопасны. Решение для обеспечения безопасности приложений Imperva включает в себя:
- Что такое OWASP?
- ТОП-10 OWASP
- Понимание и предотвращение распространенных атак OWASP
- Инъекция
- Сломанная аутентификация
- Раскрытие конфиденциальных данных
- Внешние объекты XML (XXE)
- А5. Сломанный контроль доступа
- Другие 5 лучших атак OWASP
- Application Security
Что такое OWASP?
Open Web Application Security Project (OWASP) - это некоммерческая организация, основанная в 2001 году с целью помочь владельцам веб-сайтов и экспертам по безопасности защищать веб-приложения от кибератак. OWASP насчитывает 32 000 добровольцев по всему миру, которые проводят оценки и исследования безопасности.
Среди ключевых публикаций OWASP - Топ-10 OWASP, более подробно обсуждаемые ниже; модель зрелости обеспечения программного обеспечения OWASP (SAMM), руководство по разработке OWASP, руководство по тестированию OWASP и руководство по обзору кода OWASP.
ТОП-10 OWASP
OWASP Top 10 - это широко распространенный документ, в котором уделяется приоритетное внимание наиболее важным рискам безопасности, влияющим на веб-приложения. Несмотря на то, что существует более десяти рисков безопасности, идея OWASP Top 10 состоит в том, чтобы профессионалы в области безопасности были хорошо осведомлены, по крайней мере, о наиболее критических рисках безопасности и научились от них защищаться.
OWASP периодически оценивает важные типы кибератак по четырем критериям: простота использования, распространенность, обнаруживаемость и влияние на бизнес, и выбирает 10 основных атак. Рейтинг OWASP Top 10 был впервые опубликован в 2003 году и с тех пор обновлялся в 2004, 2007, 2010, 2013 и 2017 годах.
Понимание и предотвращение распространенных атак OWASP
Ниже представлена информация, предоставленная фондом OWASP, о пяти важных атаках на веб-приложения, которые обычно входят в первую половину рейтинга OWASP Top 10, о том, как они проявляются и как вы можете защитить свою организацию от них. Примеры кода взяты из рекомендаций OWASP Top 10.
Инъекция
Инъекции уязвимость в веб - приложение позволяет злоумышленникам посылать данные враждебные переводчика, в результате чего , что данные , которые будут компилироваться и выполняться на сервере. Распространенной формой инъекции является SQL-инъекция.
Эксплуатация: высокая | Распространенность: средняя. |
Обнаруживаемость: высокая | Воздействие: высокое |
Примеры инъекционных атак
Приложение использует ненадежные данные при создании уязвимого вызова SQL:
Code:
String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";
Приложение доверяет фреймворку, не очищая его входные данные, в данном случае Hibernate Query Language (HQL):
Code:
Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");
Злоумышленник изменяет параметр id в своем браузере, чтобы отправить код. Например:
Code:
http://example.com/app/accountView?id=' or '1'='1
Это приводит к тому, что запросы возвращают все записи из таблицы учетных записей и могут использоваться для выполнения других вредоносных действий на сервере.
Предотвращение инъекционных атак
- Используйте безопасный API, который полностью исключает использование интерпретатора
- Используйте положительную или «белый список» проверки входных данных на стороне сервера.
- Избегайте специальных символов
- Используйте LIMIT и другие элементы управления SQL в запросах, чтобы предотвратить массовое раскрытие записей в случае внедрения SQL.
Сломанная аутентификация
Веб-приложение со сломанной или слабой аутентификацией может быть легко обнаружено злоумышленниками и уязвимо для атак методом грубой силы / словаря и атак управления сеансом.
Эксплуатация: высокая | Распространенность: средняя. |
Обнаруживаемость: средняя | Воздействие: высокое |
Примеры атак с нарушением аутентификации
- Заполнение учетных данных - злоумышленники используют списки известных паролей и последовательно пробуют их для получения доступа. Без автоматической защиты от угроз или переполнения учетных данных приложение используется злоумышленниками в качестве механизма проверки любого пароля, который они пробуют.
- Атаки на основе паролей. Веб-приложения, использующие только пароли, по своей сути имеют слабые механизмы аутентификации, даже если пароли имеют требования к сложности и меняются. Организации должны перейти на многофакторную аутентификацию.
Устранение неполадок при проверке подлинности
- Реализуйте многофакторную аутентификацию
- Не развертывайте системы с учетными данными по умолчанию
- Проверьте список из 10 000 самых плохих паролей.
- Используйте рекомендации в разделе 5.1.1 NIST 800-63 B для запомненных секретов.
- Усиление всех процессов, связанных с аутентификацией, таких как регистрация и восстановление учетных данных
- Ограничьте или отложите неудачные попытки входа в систему
- Используйте безопасный встроенный серверный диспетчер сеансов
Раскрытие конфиденциальных данных
Конфиденциальные данные, как правило, являются наиболее ценным активом для кибератак. Злоумышленники могут получить к нему доступ путем кражи криптографических ключей, проведения атак «человек посередине» (MITM) или кражи данных в открытом виде, которые иногда могут храниться на серверах или в пользовательских браузерах.
Эксплуатация: средняя | Распространенность: высокая |
Обнаруживаемость: средняя | Воздействие: высокое |
Примеры раскрытия конфиденциальных данных
- Нет TLS - если веб-сайт не использует SSL / TLS для всех страниц, злоумышленник может отслеживать трафик, понижать уровень соединений с HTTPS на HTTP и украсть cookie сеанса.
- Несоленые хэши - база данных паролей веб-приложения может использовать несоленые или простые хэши для хранения паролей. Если злоумышленник получает доступ к базе данных, он может легко взломать хэши, например, с помощью графических процессоров, и получить доступ.
Снижение риска раскрытия конфиденциальных данных
- Выявите конфиденциальные данные и примените соответствующие меры безопасности.
- Не храните конфиденциальные данные без крайней необходимости - удалите конфиденциальные данные, используйте токенизацию или усечение.
- Шифруйте все конфиденциальные данные при хранении с помощью надежных алгоритмов шифрования, протоколов и ключей.
- Шифруйте передаваемые данные с помощью безопасных протоколов, таких как TLS и HTTP HSTS.
- Отключите кеширование конфиденциальных данных.
- Храните пароли с помощью надежных хэш-функций, таких как Argon2, scrypt и bcrypt.
Внешние объекты XML (XXE)
Если веб-приложение использует уязвимый компонент, обрабатывающий XML, злоумышленники могут загрузить XML или включить враждебное содержимое, команды или код в XML-документ.
Эксплуатация: средняя | Распространенность: средняя. |
Обнаруживаемость: высокая | Воздействие: высокое |
Примеры атак XXE
Злоумышленник может использовать этот XML-код для извлечения данных с сервера:

Злоумышленник может получить информацию о частной сети, изменив строку ENTITY на:

Смягчение атак XXE
- Используйте более простые форматы данных, такие как JSON, и избегайте сериализации
- Исправьте или обновите все XML-процессоры и библиотеки
- Отключить внешний объект XML и обработку DTD
- Реализовать белый список и очистку входных XML-данных на стороне сервера.
- Проверка XML с помощью XSD или аналогичной проверки
- Используйте инструменты SAST для обнаружения XXE в исходном коде, с возможностью ручного просмотра, если это возможно
А5. Сломанный контроль доступа
Нарушение контроля доступа означает, что злоумышленники могут получить доступ к учетным записям пользователей и действовать как пользователи или администраторы, а обычные пользователи могут получить непреднамеренные привилегированные функции. Надежные механизмы доступа гарантируют, что каждая роль имеет четкие и изолированные привилегии.
Эксплуатация: средняя | Распространенность: средняя. |
Обнаруживаемость: средняя | Воздействие: высокое |
Примеры нарушенного контроля доступа
Приложение может принять вызов SQL с запросом информации об учетной записи, не проверяя ее:
Code:
pstmt.setString (1, request.getParameter ("acct"));
ResultSet results = pstmt.executeQuery ();
Злоумышленник может изменить параметр acct, чтобы получить доступ к любому номеру учетной записи, который он хочет:
Code:
http://example.com/app/accountInfo?acct=notmyacct
Устранение нарушений контроля доступа
- Запретить доступ по умолчанию, кроме публичных ресурсов
- Создавайте надежные механизмы контроля доступа и повторно используйте их в приложении.
- Принудительное владение записями - не позволяйте пользователям создавать, читать или удалять какие-либо записи
- Обеспечьте соблюдение ограничений на использование и скорость
- Отключить список каталогов сервера и не хранить метаданные или файлы резервных копий в корне папки
- Журнал неудачных попыток доступа и оповещение администраторов
- API ограничения скорости и доступ к контроллеру
- Проверить токены JWT после выхода из системы
Другие 5 лучших атак OWASP
- Неверная конфигурация безопасности. Неверно настроенные средства безопасности - обычная точка входа для злоумышленников. Например, база данных, развернутая с паролем администратора по умолчанию.
- Межсайтовый скриптинг (XSS): злоумышленники используют XSS для использования слабых мест в управлении сеансами и выполнения вредоносного кода в пользовательских браузерах.
- Небезопасная десериализация. Десериализация - это сложный метод, но при правильном выполнении он позволяет злоумышленникам выполнить вредоносный код на сервере.
- Использование компонентов с известными уязвимостями. Большинство веб-приложений в значительной степени полагаются на компоненты с открытым исходным кодом, и они могут включать известные уязвимости, которые злоумышленники могут использовать для получения доступа или причинения ущерба.
- Недостаточное ведение журнала и мониторинг - злоумышленники полагаются на отсутствие мониторинга и своевременного реагирования, чтобы успешно справиться с любым другим вектором атаки.
Application Security
Ведущий в отрасли брандмауэр веб-приложений (WAF) обеспечивает надежную защиту от атак OWASP Top 10 и других угроз веб-приложений. Imperva предлагает два варианта развертывания WAF:
- Cloud WAF - разрешает законный трафик и предотвращает плохой трафик. Защитите свои приложения на периферии с помощью облачного WAF корпоративного класса.
- Gateway WAF - Обеспечьте безопасность приложений и API внутри вашей сети с помощью Imperva Gateway WAF.
В дополнение к WAF, Imperva обеспечивает многоуровневую защиту, гарантирующую, что веб-сайты и приложения доступны, легко доступны и безопасны. Решение для обеспечения безопасности приложений Imperva включает в себя:
- Защита от DDoS-атак - поддержание работоспособности в любых ситуациях. Предотвратите любые типы DDoS-атак любого размера, препятствующие доступу к вашему веб-сайту и сетевой инфраструктуре.
- CDN - повысьте производительность веб-сайта и сократите расходы на полосу пропускания с помощью CDN, разработанной для разработчиков. Кэшируйте статические ресурсы на периферии, ускоряя API и динамические веб-сайты.
- Управление ботами - анализирует ваш бот-трафик, чтобы выявить аномалии, выявляет плохое поведение ботов и проверяет его с помощью механизмов проверки, которые не влияют на пользовательский трафик.
- Безопасность API - защищает API, гарантируя, что только желаемый трафик может получить доступ к вашей конечной точке API, а также обнаруживает и блокирует эксплойты уязвимостей.
- Защита от захвата учетных записей - использует процесс обнаружения на основе намерений для выявления и защиты от попыток захвата учетных записей пользователей в злонамеренных целях.
- RASP - защитите свои приложения изнутри от известных атак и атак нулевого дня. Быстрая и точная защита без подписи или режима обучения.
- Аналитика атак - эффективное и точное устранение реальных угроз безопасности и реагирование на них с помощью действенной аналитики на всех уровнях защиты.