+11 голос |
Дослідники з Google уперше використали AI з великою мовною моделлю для виявлення вразливості нульового дня в реальному коді. AI-агент під назвою Big Sleep виявив уразливість у вигляді переповнення буфера стека в SQLite, широко використовуваному рушію баз даних із відкритим вихідним кодом. Уразливість було виявлено і повідомлено розробникам на початку жовтня, які виправили її того ж дня до того, як вона з'явилася в офіційному релізі, тому користувачі SQLite не постраждали. Це сталося попри те, що вразливість пам'яті не було виявлено під час всебічного тестування програмного забезпечення.
«Ми вважаємо, що це перший публічний приклад того, як агент штучного інтелекту виявив раніше невідому експлуатовану проблему з безпекою пам'яті в реальному програмному забезпеченні, що широко використовується», - кажуть дослідники.
Ця можливість з'явилася завдяки проєкту Naptime, у рамках якого розроблявся фреймворк для дослідження вразливостей за допомогою великої мовної моделі, і який продемонстрував свій потенціал, поліпшивши сучасні показники в бенчмарку Meta CyberSecEval2. Відтоді Naptime перетворився на Big Sleep, спільну роботу Google Project Zero і Google DeepMind.
«Ми вважаємо, що ця робота має величезний оборонний потенціал. Виявлення вразливостей у програмному забезпеченні ще до його випуску означає, що у зловмисників немає можливості для конкуренції: вразливості усуваються ще до того, як у зловмисників з'являється шанс їх використати», - зазначають дослідники. «Такі методи, як фазз-тестування, значно допомогли, але необхідний підхід, який допоможе захисникам знайти помилки, які важко (або неможливо) виявити за допомогою фазз-тестування, і Google бачить у DeepMind AI спосіб скоротити цей розрив».
Команда знайшла саму вразливість досить цікавою, а також той факт, що наявна інфраструктура тестування SQLite (як через OSS-Fuzz, так і через власну інфраструктуру проєкту) не виявила проблему.
Ключовим мотивувальним фактором для Naptime, а тепер і для Big Sleep, є виявлення варіантів раніше знайдених і виправлених вразливостей. У міру розвитку цієї тенденції стає зрозуміло, що фаззинг не справляється з виловлюванням таких варіантів, і що для зловмисників ручний аналіз варіантів є економічно ефективним підходом.
Завдання аналізу варіантів краще підходить для нинішніх LLM, ніж більш загальне відкрите завдання дослідження вразливостей. Надання відправної точки, такої як деталі раніше виправленої вразливості, усуває двозначності в дослідженні вразливостей.
Проєкт все ще перебуває на стадії дослідження, і для оцінювання прогресу використовуються невеликі програми з відомими вразливостями, а SQLite став першим масштабним експериментом з аналізу реальних варіантів.
Однак це лише експериментальні результати, а позиція команди Big Sleep полягає в тому, що наразі, найімовірніше, фаззер, орієнтований на конкретну мету, буде щонайменше настільки ж ефективним для пошуку вразливостей.
Про DCIM у забезпеченні успішної роботи ІТ-директора
+11 голос |