На выходных добился первых результатов в своём опенсурсном проекте по детектированию уязвимостей Vuldetta. 😇
Что получилось сделать:
🔹 Распарсил Ubuntu OVAL в простые правила детектирования по версиям пакетов. Cтруктура OVAL-а там достаточно навороченная, особенно что касается детектирования уязвимостей ядра (не по пакетам, а по uname_test и variable_test 🤯). Несмотря на то, что OVAL-контент для каждой версии дистрибутива качается в отдельном файле, на уровне OVAL-а также реализованы проверки версии дистриба. Сейчас я просто прохожу по всем definition-ам, смотрю какие dpkginfo_test используются в критериях и разбираю только их.
🔹 Сделал примитивную чекалку по правилам детектирования. Без оптимизаций на парсинг OVAL-а и расчет уязвимостей уходит 6,5 секунд. Проверил для пакетов необновленного хоста - получил список свежих уязвимостей, обновил пакеты - уязвимости ушли. Работает. 🙂👍
Всё на Github. Дальше разбираться с уязвимостями ядра, оптимизацией и оформление в API-шку.
Привет! Меня зовут Александр. Я специалист по Управлению Уязвимостями. Подробнее обо мне можно прочитать здесь. Приглашаю подписаться на мой канал в Telegram @avleonovrus. Я обновляю его чаще, чем этот сайт. Вы можете обсудить мои посты или задать вопросы в @avleonovchat или в группе ВКонтакте.
And I invite all English-speaking people to another telegram channel @avleonovcom.