Топ-10 критических рисков и угроз для веб-приложений

| Вторник, 8 января, 2019

Метки: Безопасность Комментарии: 0

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

Что такое OWASP Top 10

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

Атаки типа инъекции

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

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

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

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

Наилучшие способы предотвращения атак XEE - заставить веб-приложения принимать менее сложные типы данных, такие как JSON, или, по крайней мере, исправить XML-анализаторы и отключить использование внешних сущностей в XML-приложении.

XML или расширяемый язык разметки — это язык разметки, предназначенный как для человеческого, так и для машинного чтения. Из-за своей сложности и уязвимостей в системе безопасности, в настоящее время он постепенно выходит из использования во многих веб-приложениях.

JavaScript Object Notation (JSON) — это тип простой, удобочитаемой нотации, часто используемой для передачи данных через интернет. Хотя изначально он был создан для JavaScript, JSON не зависит от языка и может интерпретироваться многими различными языками программирования.

Ошибка проверки подлинности

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

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

Конфиденциальные данные

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

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

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

Контроль доступа

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

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

Многие службы выдают маркеры авторизации при входе пользователей. Каждый привилегированный запрос, выполняемый пользователем, требует наличия маркера авторизации. Это безопасный способ убедиться, что пользователь тот, за кого себя выдает, без необходимости постоянно вводить свои учетные данные.

Неправильная настройка безопасности

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

Комментарии
Никто еще не оставил здесь комментарий.
Войдите, чтобы написать комментарий , или воспользуйтесь формой ниже.
 

Copyright © CodeHint.ru 2013-2019