DeepZero е двигател с отворен код, който автоматизира търсенето на драйвери за ядрото на Windows, податливи на експлоатация. Подава му се папка с изпълними файлове, той ги анализира, разглобява ги, сканира ги, премахва по-голямата част от тях и задава въпрос на езиков модел дали оцелелите файлове могат да бъдат атакувани. Конфигурационните канали (pipelines) са написани на YAML, а кодът е на Python 3.11 и по-нови версии.

Рехман Ахмадзай, поддържащ проекта, заяви, че DeepZero е „открил множество потвърдени уязвимости в подмножество от корпуса на Snappy Driver Installer, като някои от тях все още са в процес на разкриване“. Включеният конфигурационен канал е насочен към BYOVD (Bring Your Own Vulnerable Driver) – техника, при която атакуващ зарежда легитимно подписан драйвер, съдържащ дефект, и го използва, за да достигне до ядрото.
Какво прави конфигурационният канал
Седем етапа се изпълняват подред. Първият анализира PE заглавията. Вторият запазва само драйверите от режим на ядрото (kernel-mode), които разкриват IOCTL повърхности – контролните кодове, които потребителското пространство изпраща към драйвера, за да го накара да извърши действие. Третият изключва драйвери, които вече са каталогизирани в loldrivers.io – публичния списък, използван от защитниците за блокиране. След това Ghidra се стартира в безфонов режим (headless) върху останалото, правила на Semgrep сканират експортирания сорс код на C, стъпка за редукция, наречена pick_top_10, съкращава полето до ниво с основни кандидати, и едва след това моделът оценява податливостта на експлоатация.
Всичко, което моделът вижда, е преминало успешно през този трети филтър.
„Стъпката за AI оценка е поставена накрая, така че по-ранните етапи да могат да съберат контекст (като декомпилация на двоични файлове, филтриране на вече известни уязвими драйвери или неподдържани/32-битови изпълними файлове от канала), който да бъде оценен от AI стъпката в самия край“, каза Ахмадзай пред Help Net Security.
Дадено констатация все още може да изисква физически хардуер
Много драйвери създават своя обект на устройство едва след като хардуерът им бъде изброен. На машина или виртуална машина без това устройство пътят никога не се отваря, нищо от предоставеното от драйвера не може да бъде достигнато и въз основа само на доклада това изглежда идентично с драйвер без никакви проблеми. Етапът на декомпилация записва кои извиквания на функции използват IoCreateDevice и дали тази функция е DriverEntry или нещо, извикано от DriverEntry. Истинска стойност (True) означава, че устройството се появява на всяка машина, която ще зареди драйвера, така че констатация срещу него може да бъде потвърдена. Неистинска стойност (False) обикновено означава, че процедура за обратно извикване (callback) тип Plug-and-Play го създава, и потвърждаването изисква наличието на самия хардуер. Когато IoCreateDevice изобщо не е намерено, етапът не записва нито една от двете стойности, вместо да отгатва.
„Базовият двигател на DeepZero вече е изграден като независим от целта оркестратор на канали. Въпреки че включеният изследователски канал loldrivers е специално пригоден за драйвери за ядрото на Windows, самата рамка не е ограничена до една архитектура или тип двоичен файл“, каза Ахмадзай.
DeepZero е достъпен безплатно в GitHub.