Technologia

AI OpenAI znalazła 948 luk dających roota w Linuksie za 1,2 mln dolarów

Adrian Kessler
Dodaj nas w Google

OpenAI stworzyło system, który wyszukuje szczególnie cenne luki w Linuksie — takie, które pozwalają zmienić zwykłe konto użytkownika w konto z pełną kontrolą nad maszyną. I znajduje je setkami. Podczas jednego przebiegu jego zestaw narzędzi wykrył w jądrze Linuksa niemal tysiąc różnych luk tego rodzaju, przygotował działający exploit dla każdej z nich i opracował propozycję poprawki do oceny przez opiekunów jądra. Wykorzystany model AI nie jest publicznie dostępny.

Jądro działa pod systemem Android w telefonach, większością serwerów na świecie, platformami chmurowymi, Chromebookami i superkomputerami. Luka pozwalająca podnieść uprawnienia sama w sobie nie wpuszcza do systemu obcej osoby. Umożliwia jednak komuś, kto już uzyskał w nim przyczółek — na przykład za pośrednictwem złośliwej aplikacji, skradzionego konta o niskich uprawnieniach lub przejętego kontenera — zdobycie uprawnień roota. Zalecenie OpenAI jest jednoznaczne: w niezałatanym systemie należy zakładać, że dobrze przygotowany napastnik dysponujący odpowiednimi zasobami może wykorzystać każde konto o niskich uprawnieniach tak, jakby było kontem roota.

Proces przypomina pracę zespołu ds. bezpieczeństwa podzielonego na wyspecjalizowane role. Agenci zwiadowczy wybrali 5034 obszary jądra dostępne dla użytkownika bez specjalnych uprawnień — około 2,8 miliona wierszy, czyli mniej więcej 7 proc. kodu. W ciągu 12 godzin agenci-analitycy przekształcili je w 2308 potencjalnych ustaleń. Następnie etap weryfikacji odtworzył 1724 z nich w maszynach wirtualnych w ciągu 30 godzin. OpenAI podaje, że z pozostałych ustaleń tylko 3,1 proc. okazało się błędnych z powodu nieprawidłowej analizy modelu. Agenci tworzący exploity przygotowali 1169 działających ataków pozwalających podnieść uprawnienia oraz 291 wycieków informacji. Testy przeprowadzono na standardowej konfiguracji komputera stacjonarnego, z włączonymi typowymi zabezpieczeniami jądra. Analiza wariantów połączyła exploity w 948 unikatowych luk, do każdej z nich dołączając propozycję poprawki.

Według raportu OpenAI koszt wyniósł 1 213 430 dolarów w kredytach API, czyli około 1279 dolarów na każdą unikatową lukę. W konkursach hakerskich, takich jak Pwn2Own i TyphoonPWN, za pojedynczy exploit pozwalający uzyskać uprawnienia roota w Linuksie płacono 20 000 i 70 000 dolarów. Przy takich stawkach wartość całego zbioru wyniosłaby od 18,9 do 66,3 miliona dolarów. Praca, która wcześniej wymagała rzadko spotykanego specjalisty, kosztuje teraz — w przeliczeniu na jedną lukę — mniej więcej tyle, co laptop ze średniej półki.

Ważniejszy od łącznej liczby jest trend. Podczas wcześniejszego przebiegu z użyciem GPT-5.6 Sol, jednego z istniejących modeli OpenAI, przeskanowano ówczesną wersję jądra i znaleziono 166 unikatowych luk za 513 690 dolarów. Nowszy model cyberbezpieczeństwa wykrył ponad pięć razy więcej nowych luk, mimo że między skanami jądro przez trzy miesiące było intensywnie wzmacniane. W próbce 166 exploitów znalazło się dziesięć technik uznanych przez zespół OpenAI i zewnętrznych ekspertów od jądra za nowe. Firma nie ujawniła szczegółów. Osobny, 112-godzinny przebieg na celowo wzmocnionym systemie testowym kernelCTF Google przyniósł 21 działających exploitów i kosztował około 32 936 dolarów.

Liczby nie pokazują kilku istotnych rzeczy. Wszystkie pochodzą od OpenAI, a żaden zewnętrzny zespół nie przeprowadził audytu tego eksperymentu. Liczba 948 oznacza propozycje poprawek, a nie poprawki już włączone do jądra. Do końca dziesięciodniowego skanowania 61 luk zostało naprawionych w głównej gałęzi projektu, 43 miały poprawki w fazie przygotowań, a 299 było już publicznie znanych lub omawianych. Zatem spora część z nich nie była nowością dla społeczności rozwijającej jądro. OpenAI przyznaje też, że przyłapało własny system na chodzeniu na skróty: podczas wczesnego przebiegu 20 spośród 200 zgłoszonych sukcesów pozwoliło uzyskać uprawnienia roota dzięki innej, nieznanej luce niż ta, którą przypisano do danego zadania. Wczesne poprawki pisane przez AI bywały poprawne, ale zawierały niepotrzebny kod lub nie pasowały do stylu przyjętego w jądrze. Zanim jakikolwiek exploit czy poprawka trafią do opiekunów jądra, każdy z nich nadal sprawdzają ludzie.

To właśnie na etapie weryfikacji pojawia się największa presja. Opiekunowie jądra — w wielu przypadkach wolontariusze albo inżynierowie firm, którzy mają też inne obowiązki — muszą teraz zmierzyć się z kolejką zgłoszeń, którą maszyna może uzupełniać szybciej, niż ludzie są w stanie ją opróżniać. OpenAI zaleca ponowne sprawdzanie zgłoszeń na aktualnym kodzie przed ich wysłaniem, aby opiekunowie nie tracili czasu na luki, które zostały już naprawione. Firma nie podała, ile z 948 luk trafi do jąder dostarczanych przez producentów telefonów. W Androidzie poprawka jądra dociera do użytkowników dopiero wtedy, gdy wdroży ją każdy producent, a telefony, które nie otrzymują już aktualizacji bezpieczeństwa, pozostają narażone.

Dla osób korzystających z Linuksa praktyczne zalecenia są takie jak dotąd, ale stawka jest wyższa: należy niezwłocznie instalować aktualizacje jądra i izolować niezaufany kod. OpenAI wskazuje administratorom narzędzia do izolacji, takie jak Firecracker i gVisor, a także zaleca ponowne skanowanie własnego kodu w miarę ulepszania modeli. Sam model do cyberbezpieczeństwa nie jest dostępny publicznie w żadnym kraju; OpenAI określa go jako nadchodzący, ale nie podało ceny ani daty premiery. Zgłoszenia luk trafiają do opiekunów jądra za pośrednictwem programu Patch the Planet, realizowanego z partnerami z branży bezpieczeństwa.

OpenAI opublikowało raport zatytułowany A thousand fewer paths to root 4 listopada. Skanowanie trwało dziesięć dni w połowie października i objęło najnowszą główną gałąź jądra, natomiast wcześniejszy skan z użyciem GPT-5.6 Sol przeprowadzono pod koniec lipca. OpenAI informuje, że wysłało już setki zgłoszeń i poprawek dotyczących krytycznych luk, a pozostałe będzie przekazywać stopniowo za pośrednictwem partnerów. W chwili zakończenia skanowania mniej więcej jedna na dziewięć spośród 948 luk miała poprawkę w głównej gałęzi jądra lub w fazie przygotowań.

Tagi: , , , , ,

Dodaj nas w Google

Dyskusja

Jest 0 komentarzy.