![На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей Vuldetta](https://avleonov.ru/wp-content/uploads/2024/03/photo_825@18-03-2024_12-29-59.jpg)
![На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей Vuldetta](https://avleonov.ru/wp-content/uploads/2024/03/photo_826@18-03-2024_12-29-59.jpg)
![На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей Vuldetta](https://avleonov.ru/wp-content/uploads/2024/03/photo_827@18-03-2024_12-29-59.jpg)
На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей Vuldetta. 😇
Что получилось сделать:
🔹 Распарсил Ubuntu OVAL в простые правила детектирования по версиям пакетов. Cтруктура OVAL-а там достаточно навороченная, особенно что касается детектирования уязвимостей ядра (не по пакетам, а по uname_test и variable_test 🤯). Несмотря на то, что OVAL-контент для каждой версии дистрибутива качается в отдельном файле, на уровне OVAL-а также реализованы проверки версии дистриба. Сейчас я просто прохожу по всем definition-ам, смотрю какие dpkginfo_test используются в критериях и разбираю только их.
🔹 Сделал примитивную чекалку по правилам детектирования. Без оптимизаций на парсинг OVAL-а и расчет уязвимостей уходит 6,5 секунд. Проверил для пакетов необновленного хоста - получил список свежих уязвимостей, обновил пакеты - уязвимости ушли. Работает. 🙂👍
Всё на Github. Дальше разбираться с уязвимостями ядра, оптимизацией и оформление в API-шку.