Sztuczna inteligencja Big Sleep firmy Google wykryła lukę dnia zerowego w bazie danych SQLite, otwierając nowy rozdział w wykrywaniu wad związanych z bezpieczeństwem pamięci. Dowiedz się, jak to przełomowe rozwiązanie może na nowo zdefiniować polowanie na błędy.
Big Sleep, ewolucja projektu Google Naptime, była rozwinięty dzięki współpracy Google Project Zero i DeepMind. Jego zdolność do analizowania błędów w kodzie i wskazywania błędów niewykrytych wcześniej tradycyjnymi metodami fuzzingu zapewnia nowe podejście do identyfikowania złożonych luk w zabezpieczeniach.
Czym jest narzędzie Big Sleep AI?
Wielki sen to eksperymentalne narzędzie Google do wyszukiwania błędów w oparciu o sztuczną inteligencję, które wykorzystuje możliwości LLM do identyfikowania luk w zabezpieczeniach oprogramowania. Google stworzyło to narzędzie, aby wyjść poza tradycyjne techniki, takie jak fuzzing, poprzez symulację ludzkich zachowań i zrozumienie kodu na głębszym poziomie. W przeciwieństwie do fuzzingu, który polega na losowym wstrzykiwaniu danych w celu wywołania błędów oprogramowania, Big Sleep sprawdza kod, aby wykryć potencjalne zagrożenia bezpieczeństwa.
W październiku 2024 r. firma Big Sleep pomyślnie zidentyfikowała lukę w zabezpieczeniach związaną z niedopełnieniem bufora stosu w SQLite. Jeśli ta luka nie zostanie wyeliminowana, atakujący mogą spowodować awarię bazy danych SQLite lub potencjalnie wykonanie dowolnego kodu. Odkrycie jest godne uwagi, ponieważ dokonano go w przedpremierowej wersji SQLite, co gwarantuje, że luka zostanie załatana, zanim dotrze do użytkowników.
Jak Big Sleep odkrył lukę w SQLite
Google zlecił Big Sleep analizę ostatnich zatwierdzeń w kodzie źródłowym SQLite. Sztuczna inteligencja przeczesywała zmiany, wspomagana przez dostosowane podpowiedzi, które zapewniały kontekst dla każdej zmiany kodu. Uruchamiając skrypty Pythona i sesje debugowania w trybie piaskownicy, Big Sleep zidentyfikował subtelną wadę: ujemny indeks „-1” zastosowany w kodzie, który może spowodować awarię lub potencjalnie umożliwić wykonanie kodu.
Zespół Big Sleep udokumentował ten proces odkrywania w niedawnym poście na blogu, wyjaśniając, w jaki sposób agent AI oceniał każde zatwierdzenie, testował pod kątem luk w kodzie, a następnie wyśledził przyczynę błędu. Ta luka w zabezpieczeniach związana z niedopełnieniem bufora stosu, sklasyfikowana jako CWE-787, pojawia się, gdy oprogramowanie odwołuje się do lokalizacji pamięci poza przydzielonymi buforami, co skutkuje niestabilnym zachowaniem lub wykonaniem dowolnego kodu.
Dlaczego to odkrycie ma znaczenie dla cyberbezpieczeństwa
- Wypełnianie rozmytej luki: Fuzzing, choć skuteczny, ma ograniczenia. Z trudem odkrywa złożone, głęboko zakorzenione błędy w oprogramowaniu. Celem Google Big Sleep jest wypełnienie tych luk poprzez wykorzystanie LLM do „zrozumienia” kodu, a nie tylko wywoływania przypadkowych błędów.
- Wykrywanie błędów w czasie rzeczywistym: Zdolność Big Sleep do wykrywania luk w zabezpieczeniach podczas tworzenia kodu zmniejsza ryzyko przedostania się błędów do środowiska produkcyjnego. Identyfikując wady w wersji przedpremierowej, Big Sleep minimalizuje potencjalne okna exploitów dla atakujących.
- Zautomatyzowane zabezpieczenia na dużą skalę: Tradycyjne polowanie na owady wymaga znacznej wiedzy ludzkiej i czasu. Big Sleep, dzięki podejściu opartemu na sztucznej inteligencji, mógłby zdemokratyzować wykrywanie błędów poprzez automatyzację i przyspieszenie procesu.
Porównanie Big Sleep z innymi narzędziami bezpieczeństwa opartymi na sztucznej inteligencji
Google twierdzi, że Big Sleep koncentruje się na wykrywaniu problemów z bezpieczeństwem pamięci w powszechnie używanym oprogramowaniu, co często stanowi wyzwanie dla konwencjonalnych narzędzi sztucznej inteligencji. Na przykład narzędzie Vulnhuntr firmy Protect AI, narzędzie sztucznej inteligencji obsługiwane przez Claude firmy Anthropic, zostało zaprojektowane do wykrywania luk dnia zerowego w bazach kodu Pythona, ale skupia się na wadach niezwiązanych z pamięcią. Według rzecznika Google „Big Sleep odkrył pierwszy nieznany, możliwy do wykorzystania problem związany z bezpieczeństwem pamięci w powszechnie używanym oprogramowaniu w świecie rzeczywistym”.
Celując w określone typy błędów, Big Sleep i Vulnhuntr uzupełniają się, sugerując przyszłość, w której agenci wykorzystujący sztuczną inteligencję będą mogli specjalizować się w różnych aspektach cyberbezpieczeństwa.
Google postrzega sukces Big Sleep jako znaczący krok w kierunku integracji Sztuczna inteligencja w cyberbezpieczeństwo obrona. Zespół Google Big Sleep stwierdził: „Wierzymy, że ta praca ma ogromny potencjał obronny. Fuzzowanie znacząco pomogło, ale potrzebujemy podejścia, które pomoże obrońcom znaleźć błędy, które są trudne (lub niemożliwe) do znalezienia poprzez fuzzowanie”.
Zespół podkreślił znaczenie sztucznej inteligencji w zapobiegawczych środkach bezpieczeństwa, w ramach których luki są identyfikowane i łatane, zanim atakujący będą mogli je odkryć.
Eksperymentalny charakter Wielkiego Snu
Chociaż sukces Big Sleep w wykrywaniu luki w SQLite jest obiecujący, Google zauważył, że technologia ta pozostaje w fazie eksperymentalnej. Model sztucznej inteligencji wciąż podlega udoskonalaniu, a zespół przyznał, że w niektórych przypadkach fuzzer dostosowany do konkretnego celu może dorównywać lub przekraczać jego obecne możliwości.
Pomimo tych zastrzeżeń zespół pozostaje optymistą, postrzegając to jako początek większej roli sztucznej inteligencji w wykrywaniu luk w zabezpieczeniach. Nieustannie testując możliwości Big Sleep pod kątem znanych i nieznanych luk w zabezpieczeniach, Google dąży do udoskonalenia swoich możliwości wyszukiwania błędów, potencjalnie czyniąc z niego istotne narzędzie dla programistów i zespołów ds. bezpieczeństwa na całym świecie.
AI w cyberbezpieczeństwie
Pomyślne wykrycie luk w zabezpieczeniach SQLite przez Big Sleep może sygnalizować zmianę paradygmatu w cyberbezpieczeństwie, w którym agenci sztucznej inteligencji samodzielnie identyfikują i rozwiązują problemy związane z bezpieczeństwem. To przejście na zautomatyzowane środki bezpieczeństwa mogłoby zapewnić bezprecedensową ochronę, zamykając lukę pomiędzy wykryciem błędów a ich wykorzystaniem.
- Wyprzedzające wykrywanie błędów: Narzędzia oparte na sztucznej inteligencji, takie jak Big Sleep, reprezentują proaktywne podejście do bezpieczeństwa. Identyfikując luki w zabezpieczeniach przed wydaniem oprogramowania, narzędzia te mogą zapobiegać exploitom dnia zerowego i zmniejszać ryzyko dla użytkowników końcowych.
- Ekonomiczne bezpieczeństwo: Tradycyjne polowanie na błędy jest kosztowne i czasochłonne. Rozwiązania AI mogą usprawnić procesy bezpieczeństwa, dzięki czemu wykrywanie luk będzie szybsze, bardziej skalowalne i potencjalnie bardziej opłacalne.
- Ciągłe doskonalenie: W miarę ewolucji narzędzi opartych na sztucznej inteligencji, takich jak Big Sleep, będą one doskonalić swoją zdolność rozumienia i analizowania struktur kodu, co doprowadzi do bardziej wszechstronnej identyfikacji luk w zabezpieczeniach w rzeczywistych aplikacjach.
Kredyty obrazkowe: Kerem Gülen/Ideogram