Нарушение границы доверия не всегда легко исправить.Чтобы действительно понять это, вам нужно посоветоваться с вашим аудитором безопасности и вашим архитектором и определить границы доверия.Для этого нарисуйте логическую архитектуру вашего приложения, включая кеш, конечного пользователя и все другие системы, с которыми приложение должно взаимодействовать.
Затем нарисуйте пунктирную линию вокруг части приложения, котораядолжен быть защищен.Все, что находится внутри этой строки, - это то, что вам не нужно проверять ... это все данные, которые, предположительно, были созданы вами разработчиком, или же они были очищены вашей функцией проверки ввода, и вы уверены, что это только данныевы ожидаете.(См. https://www.owasp.org/index.php/Data_Validation)
Теперь, где находится кэш?
Если он находится внутри границы доверия, то это нарушение границы доверия является ложноположительным, и вы можете создатьфильтр, так что если источник исходит из этого файла или пакета, проблема будет скрыта. Ваш фильтр будет выглядеть примерно так:
категория: пакет "нарушение границы доверия": com.example.mycachepackage
или
категория: файл "нарушение границы доверия": MyCacheObject.java
Если кэш находится за пределами границы доверия, то предполагается, чтоЗлоумышленник может использовать кеш в качестве механизма для атаки на вашу программу или пользователей. Затем вам нужно проверять все данные каждый раз, когда вы помещаете данные в кеш или извлекаете что-либо из кеша.
После того как вы определили функции проверки для механизма кэширования, ваш аудитор безопасности или консультант Fortify напишут пользовательское правило проверки, которое устранит все исправленные проблемы.