В блоге Qualys вышел занимательный пост про детектирование "глубоко встроенных уязвимостей" на примере недавней RCE в Apache Struts (CVE-2023-50164). Суть там в следующем:
1. Есть такие "глубоко встроенные уязвимости" (deep-embedded vulnerabilities) типа Log4Shell или RCE-шек в Apache Struts. Их недостаточно детектить просто по версиям пакетов, т.к. такие уязвимые либы и фреймворки могут встраиваться в самый разнообразный софт, в том числе и какой-то самописный, используемый только в вашей организации. Нужен комплексный подход к детектированию: по пакетам, через попытку активной эксплуатации и через композиционный анализ с помощью агентов. На последнем пункте наибольший акцент, т.к. это их относительно свежая фича - надо продвигать. 😏 Ещё отдельным пунктом идёт поиск в контейнерах, но в принципе это тот же поиск по пакетам и композиционный анализ.
2. Парочка проблем с композиционным анализом, которые есть у традиционных безагентных сканеров (потому что время сканирования одного хоста ограничено) и которые могут решаться с помощью агентов (работающих тихонько в фоне сколько потребуется):
🔹 Честный поиск по файловой системе find-ом будет занимать слишком много времени, что приводит к вынужденному ограничению глубины поиска или использованию стандартных директорий. А уязвимые компоненты могут засунуть куда угодно.
🔹 Детектирование активных процессов при помощи ps даст вам ситуацию только в моменте. А надо бы постоянно мониторить.
3. Довольно прикольная метафора композиционного анализа:
"В области обнаружения уязвимостей традиционные методы сродни навигации по городу по заранее заданным маршрутам. Эти маршруты могут охватывать главные улицы и известные районы, но не подходят для изучения каждого уголка города. Аналогично, традиционные методы обнаружения полагаются на стандартные каталоги и активные процессы, следуя заранее определенным путям, и поэтому могут не заметить уязвимости, скрытые в нетрадиционных местах.
Откройте для себя Qualys Software Composition Analysis (SwCA) , который революционизирует процесс обнаружения уязвимостей, применяя технику сканирования файловой системы. Этот метод аналогичен автомобилям Google Street View, которые тщательно проезжают по каждой улице, захватывая подробный вид всего городского пейзажа.
Точно так же, как автомобили Street View обеспечивают комплексное визуальное представление города, Qualys SwCA систематически просматривает файловую систему, не оставляя ни одной части неисследованной. Такой исчерпывающий подход гарантирует обнаружение уязвимостей независимо от их местоположения в цифровом городе. Подобно просмотру улиц, который фиксирует каждый угол и переулок, Qualys SwCA выявляет уязвимости, глубоко внедренные в сложные структуры каталогов, обеспечивая панорамное представление о программном ландшафте.
Аналогия распространяется и на идею полноты и точности. Подобно тому, как Street View стремится отразить истинное отражение реального мира, Qualys SwCA стремится обеспечить подлинное и полное представление программной среды. Всеобъемлющий характер обоих подходов гарантирует, что ничто не ускользнет от пристального внимания, предлагая уровень тщательности, которого с трудом достигают традиционные методы."
Ох уж этот чарующий аромат беспощадного американского маркетинга. ☕️😅 Но спору нет. Если есть возможность, то лучше не ограничиваться детектами только по пакетам, а смотреть вглубь и улучшать качество детектирования насколько это возможно. Ради этого, собственно, сканеры уязвимостей и покупают. 😉