![На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей 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-шку.