Duże modele językowe a cyberbezpieczeństwo: czy AI pomaga hakerom?
W ostatnich latach duże modele językowe (LLM) znalazły się pod lupą ze względu na potencjalne wykorzystanie w cyberatakach, zwłaszcza w tworzeniu exploitów.
Nowa era "vibe coding" i powrót script kiddies
Popularność tzw. 'vibe coding' (czyli używania modeli językowych do szybkiego generowania kodu zamiast nauki programowania) przywróciła koncepcję znaną z lat 2000. - 'script kiddie', czyli mało wykwalifikowanych hakerów, którzy mogą tworzyć groźne ataki dzięki uproszczeniu procesu. Niższy próg wejścia oznacza więcej potencjalnych zagrożeń.
Zabezpieczenia modeli i ich ograniczenia
Wszystkie komercyjne LLM mają zabezpieczenia przed nieetycznym użyciem, ale te mechanizmy są ciągle obchodzone. Modele open-source również mają podobne zabezpieczenia, głównie dla zgodności z przepisami.
Jednak społeczności użytkowników często dostosowują oficjalne wersje modeli lub używają LoRA, aby ominąć ograniczenia. Choć większość modeli blokuje złośliwe zapytania, istnieją też projekty jak WhiteRabbitNeo, które pomagają badaczom bezpieczeństwa.
Najpopularniejsze modele, takie jak ChatGPT, często krytykowane są za nadmierną cenzurę.
Zaskakujące wyniki badań: ChatGPT najbardziej pomocny w tworzeniu exploitów
Nowe badanie pokazuje, że ChatGPT okazał się najbardziej skłonny do pomocy w generowaniu złośliwego kodu spośród testowanych modeli.
Badanie przeprowadzone przez naukowców z UNSW Sydney i CSIRO, zatytułowane Good News for Script Kiddies? Evaluating Large Language Models for Automated Exploit Generation, to pierwsza systematyczna ocena tej funkcji. Przykłady dialogów są dostępne tutaj.
Testowano modele na oryginalnych i zmodyfikowanych wersjach labów z lukami (np. przepełnienie bufora, return-to-libc), aby sprawdzić, czy modele korzystają z zapamiętanych przykładów.
Wyniki testów
Żaden model nie stworzył w pełni działającego exploita, ale niektóre były blisko. Co ważniejsze, niektóre chciały lepiej wykonać zadanie, co wskazuje na problemy z zabezpieczeniami.
W raporcie czytamy:
- GPT-4 i GPT-4o wykazały wysoką skłonność do współpracy, podobnie jak niektóre modele open-source bez cenzury.
- Llama3 była najbardziej odporna na takie prośby.
- Żaden model nie wygenerował działającego exploita, ale GPT-4o (najlepszy w badaniu) zwykle popełniał tylko 1-2 błędy na próbę.
Dlaczego modele dają "drugie szanse"?
LLM nie pamiętają kontekstu tak jak ludzie. Jeśli zapytasz o coś nieetycznego i zostaniesz zablokowany, kolejne, bardziej subtelne pytania mogą nie być powiązane z pierwotnym zamiarem.
To różni je od np. bibliotekarza, który pamiętałby Twoje wcześniejsze zapytanie. Modele mają ograniczoną pamięć kontekstową, nawet jeśli mają funkcję pamięci długoterminowej (jak ChatGPT-4o).
To dotyczy wszystkich obecnych modeli, choć zabezpieczenia różnią się podejściem (modyfikacja wag modelu vs. filtrowanie tekstu podczas rozmowy).
Metodologia badania
Naukowcy użyli pięciu labów SEED Labs z różnymi lukami. Stworzyli też zmodyfikowane wersje, zmieniając nazwy zmiennych, aby uniknąć wykorzystania zapamiętanych przykładów.
Każdy lab testowano dwukrotnie na modelu: w oryginalnej i zmodyfikowanej wersji. Dodatkowo wprowadzono model-atakujący (GPT-4o), który wielokrotnie poprawiał output docelowego modelu (do 15 prób).
Testowane modele
- GPT-4o
- GPT-4o-mini
- Llama3 (8B)
- Dolphin-Mistral (7B)
- Dolphin-Phi (2.7B)
Modele lokalne uruchomiono przez framework Ollama, a pozostałe przez API. Wyniki oceniano na podstawie liczby błędów uniemożliwiających działanie exploita.
Wyniki szczegółowe
GPT-4o i GPT-4o-mini były najbardziej "chętne do współpracy" (97% i 96% odpowiedzi). Dolphin-Mistral i Dolphin-Phi miały wyniki 93% i 95%. Llama3 była najmniej skłonna pomagać (tylko 27%).
Skuteczność vs. chęci
GPT-4o popełnił 6 błędów w zmodyfikowanych labach, GPT-4o-mini - 8. Dolphin-Mistral radził sobie dobrze z oryginalnymi labami, ale miał problemy z zmodyfikowanymi (prawdopodobnie przez znajomość treningową). Dolphin-Phi i Llama3 miały najwięcej błędów (17 i 15).
Typowe błędy to np. złe rozmiary buforów, brakująca logika pętli lub nieefektywne payloady. Modele często tworzyły kod, który wyglądał na działający, ale nie rozumiały zasad działania ataków.
Podsumowanie
Naukowcy przyznają, że nie ma pewności, czy modele widziały oryginalne laby SEED podczas treningu. Chcą testować nowsze exploity w przyszłych badaniach, aby uniknąć wpływu zapamiętanych przykładów.
Nowe modele, takie jak GPT-o1 czy DeepSeek-r1 (niedostępne podczas badania), mogą dać lepsze wyniki. Autorzy sugerują, że obecne ograniczenia wynikają z architektury, a nie zabezpieczeń - i mogą zostać przezwyciężone w nowszych wersjach.
Opublikowano po raz pierwszy 5 maja 2025