ГлавнаяНовостиБлог компанииРассказы PRO: IDOR (Insecure Direct Object References) уязвимости

Рассказы PRO: IDOR (Insecure Direct Object References) уязвимости

IDOR – это концепция, связанная с безопасностью приложений. В свете последних событий в области кибербезопасности, тема IDOR уязвимостей становится еще более актуальной. Мы поговорили с Александром Суходоловым, Senior Java разработчиком в Centicore Group о том, как Java-разработчики могут предотвращать и устранять IDOR уязвимости в своих проектах и какие лучшие практики можно использовать.

-Что такое IDOR и как она отличается от других типов уязвимостей?

– IDOR (Insecure Direct Object Reference) – это уязвимости, которые возникают, когда злоумышленники могут получить доступ к объектам или изменить их, манипулируя идентификаторами, используемыми в URL-адресах или параметрах веб-приложения. От других типов уязвимостей отличаются тем, что пользователь залогинен в системе и использует чужие идентификаторы для получения или изменения/удаления не своих данных.

-Какие могут быть последствия IDOR уязвимостей для веб-приложений?

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

-Как определить уязвимости IDOR в приложении?

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

-Какие общие способы эксплуатации IDOR уязвимостей существуют?

-Использование идентификаторов в path, query, body в http-запросах, а также в http-заголовках (более редкий вариант). Любой непроверенный должным образом пользовательский ввод – может привести к IDOR уязвимости.

-Какие меры безопасности могут предотвратить или уменьшить риск IDOR?

– Меры безопасности, которые могут помочь предотвратить или уменьшить риск уязвимостей IDOR, включают в себя:
* Применение архитектуры WEB приложений, позволяющий минимизировать возникновение IDOR.
* Обучение сотрудников: Сотрудники должны быть осведомлены о рисках, связанных с уязвимостями IDOR, и о том, как их предотвратить (прежде всего разработчики и тестировщики ПО должны быть осведомлены не только абстрактно об IDOR уязвимостях и способах их предотвращения, но архитектуре информационных систем, с которыми они имеют дело и их специфики в плане возможных уязвимостей).
* Внедрение политик безопасности: Компании должны иметь четкие и строгие политики безопасности, которые устанавливают стандарты для работы с конфиденциальной информацией.
Например:
– Единые стандарты проверки входящих данных
– Code review с привлечением хотя бы одного специалиста, имеющего высокий уровень квалификации в вопросе безопасности приложений
– Автоматизированное и ручное тестирование на определение IDOR уязвимостей
* Использование безопасных протоколов и технологий: Компании должны использовать безопасные протоколы и технологии, такие как SSL, для защиты данных во время передачи.
* Регулярное обновление программного обеспечения: Компании должны регулярно обновлять программное обеспечение, чтобы устранить уязвимости и улучшить безопасность.
* Мониторинг и аудит: Компании должны проводить регулярные аудиты безопасности и мониторинг систем для выявления уязвимостей и принятия мер по их устранению.

-Какие инструменты или методы тестирования могут быть использованы для обнаружения IDOR?

* Тестирование на проникновение, также известное как pentest, представляет собой процесс оценки уязвимостей системы безопасности. Он включает в себя имитацию действий злоумышленников для обнаружения слабых мест в системе безопасности и оценки эффективности мер безопасности.
* Анализ кода (как правило это ручной анализ кода, так как статические анализаторы могут лишь подсказать что код может быть потенциально уязвим для IDOR но не могут определить может ли эти уязвимости быть использованы.
* Автоматизированное тестирование DAST (Dynamic Application Security Testing, динамический анализ безопасности), IAST (Interactive Application Security Testing, интерактивная проверка). Такие продукты как OWASP ZAP, Acunetix и Nexpose – позволяют автоматизировать рутинные задачи тестирования на IDOR.

-Можете ли рассказать о реальных случаях IDOR-уязвимостей в современных приложениях?
-Такие случаи бывают и нередко, но компании стараются их не афишировать.

– Какие советы вы можете дать разработчикам для уменьшения риска IDOR при разработке приложений?

* Будь осведомлен:
– Об архитектуре информационных систем с которыми ты работаешь
– О возможных уязвимостях которые могут быть использованы злоумышленниками по отношению к вашим информационным системам с учетом вашей архитектуры
– О процессах принятых в компании для предотвращения IDOR (и других) уязвимостей.
* Не доверяй данным полученным извне, если ты не можешь быть уверен что они уже прошли проверку до попадание в ваше приложение.
* Проверяй данные полученные данные
* Относись серьезно к code review как своего так и чужого кода, старайся представить что будет делать приложение если получит идентификатор относящийся к другому пользователю.

– Как организации могут интегрировать тестирование на уязвимости IDOR в процесс разработки?—-

  • Провести обучение сотрудников (прежде всего тестирования и разработки) на предмет IDOR уязвимостей.
  • Разработать и внедрить процесс тестирования, который исключает возможность вывода новой
  • функциональности без соответствующего тестирования на предмет обнаружения IDOR уязвимостей.
  • Внедрить в процесс тестирование на уязвимости IDOR следующие шаги:
  • Анализ кода (в том числе code review)
  • Автоматизированные тесты (end-to-end) включающие в себя тесты на IDOR уязвимости
  • Использование таких инструментов как OWASP ZAP, Acunetix и Nexpose для автоматизации динамического тестирование приложения на безопасность (DAST, IAST)
  • Проводить ручное тестирование всех новых end point приложений на предмет DOR уязвимостей, а также при появлении новых идентификаторов во входящих параметрах (query, path, body)
  • Периодические проводить аудит безопасности приложений.

– Какие последние тренды в области IDOR уязвимостей стоит учитывать?
– В последнее время активно развивается AI, в частности генеративный искусственный интеллект. Инструменты основанные на его использование могут быть применены как для тестирования приложения, так и злоумышленниками для обнаружения IDOR и других уязвимостей.
Такие автоматизированные инструменты которые могут применяться для IDOR тестирования как OWASP ZAP, Acunetix, IBM AppScan используют элементы машинного обучения, но пока не могут полностью заменить
ручное тестирование.

ИСТОРИЯ КОМПАНИИ
ХОТИТЕ БОЛЬШЕ УЗНАТЬ О CENTICORE GROUP?
Подробнее
Попробовать снова
Попробовать снова
Попробовать снова
Хорошо
Хорошо