Нарушение границ доверия при объединении кэша приложения с данными сеанса - PullRequest
2 голосов
/ 13 января 2012

У меня есть требование получить объект кеша приложения => объект сеанса, изменить его и использовать. Хотя все работает нормально, я получаю угрозу нарушения границы доверия от Fortify (для получения дополнительной информации) https://www.fortify.com/vulncat/en/vulncat/sql/trust_boundary_violation.html.

Есть идеи как это исправить?

1 Ответ

4 голосов
/ 20 января 2012

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

Затем нарисуйте пунктирную линию вокруг части приложения, котораядолжен быть защищен.Все, что находится внутри этой строки, - это то, что вам не нужно проверять ... это все данные, которые, предположительно, были созданы вами разработчиком, или же они были очищены вашей функцией проверки ввода, и вы уверены, что это только данныевы ожидаете.(См. https://www.owasp.org/index.php/Data_Validation)

Теперь, где находится кэш?

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

    категория: пакет "нарушение границы доверия": com.example.mycachepackage

    или

    категория: файл "нарушение границы доверия": MyCacheObject.java

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

После того как вы определили функции проверки для механизма кэширования, ваш аудитор безопасности или консультант Fortify напишут пользовательское правило проверки, которое устранит все исправленные проблемы.

...