Google використала ШІ для виявлення програмної помилки, яка залишалася невідомою в одному з проєктів з відкритим кодом протягом останніх двох десятиліть.
Компанія повідомила, що ця помилка є однією з 26 вразливостей, які вдалося знайти завдяки використанню інструменту ШІ, схожого на ChatGPT. Ці вразливості були виявлені шляхом застосування методу “фазз-тестування”, що полягає у введенні випадкових даних у програму для перевірки її на збої та діагностики проблем.
Минулого року Google почала використовувати великі мовні моделі (LLM) для створення коду для фазз-тестування, автоматизуючи процес, який раніше виконувався вручну.
“Наш підхід полягав у використанні можливостей LLM для створення нових цілей фазз-тестування,” – зазначила команда з безпеки відкритого коду Google. “LLM виявилися ефективними у моделюванні повного робочого процесу розробника: написання, тестування, ітерації коду та аналізу знайдених збоїв”.
Вразливість у OpenSSL
Серед знайдених вразливостей — 20-річна помилка в OpenSSL, програмному забезпеченні, яке широко використовується для шифрування та аутентифікації серверів в інтернеті. Вразливість, яка отримала ідентифікатор CVE-2024-9143, стосується “доступу до пам’яті за межами допустимих адрес” і може призводити до збоїв у програмі або, у рідкісних випадках, до виконання небезпечного коду.
Google повідомила про цю проблему 16 вересня, а виправлення було опубліковане 16 жовтня. За словами дослідників, ця помилка, ймовірно, залишалася невиявленою через припущення, що код був ретельно протестований.
“Покриття коду як метрика не здатне виміряти всі можливі шляхи виконання і стани коду—різні прапорці й конфігурації можуть викликати різну поведінку, виявляючи різні помилки”, — пояснили дослідники.
ШІ і майбутнє фазз-тестування
Команда Google з безпеки відкритого коду планує розвивати використання LLM для автоматичного створення патчів до знайдених помилок і звітування про них без участі людини.
“Наша мета — досягти такого рівня впевненості, щоб людська перевірка більше не була потрібною,” — зазначили дослідники. Це допоможе автоматично повідомляти розробників про нові вразливості.
Цей проєкт доповнює іншу ініціативу Google під назвою “Big Sleep”, яка також використовує ШІ для пошуку вразливостей. Нещодавно ця програма виявила невідому раніше експлуатовану помилку в SQLite, популярному рушії баз даних із відкритим кодом.