Sztuczna inteligencja przyspiesza cyberzagrożenia
Kilka lat temu wykrycie i wykorzystanie luki w oprogramowaniu wymagało tygodni lub miesięcy pracy ekspertów. Dziś, dzięki modelom generatywnym, ten proces może zająć zaledwie kilka minut – a koszt obliczeń w chmurze często nie przekracza jednego dolara. Przykład niedawnego projektu Anthropic, Glasswing, pokazuje, jak szybko AI może zostać użyta do przeprowadzenia ataków.
Choć duże modele językowe stanowią realne zagrożenie, oferują również szansę na wzmocnienie cyberobronności. Według Anthropic, ich model Claude Mythos w wersji preview pomógł już obronnym zespołom wykryć ponad tysiąc nieznanych dotąd luk zero-day, w tym w każdym głównym systemie operacyjnym i przeglądarce internetowej. Firma koordynuje proces ujawniania luk i współpracuje z deweloperami nad ich załataniem.
Czy AI faworyzuje atakujących czy obronę?
Nie jest jeszcze jasne, czy automatyczne wykrywanie luk przez AI ostatecznie przyniesie korzyści atakującym, czy obrońcom. Aby zrozumieć, jak organizacje mogą zwiększyć swoje szanse na utrzymanie przewagi, warto przyjrzeć się wcześniejszej fali automatycznego wykrywania podatności.
Fuzzing – prekursor współczesnych metod
Na początku lat 2010. pojawiły się narzędzia, które atakowały programy za pomocą milionów losowych, zniekształconych danych – porównywane do „małpy przy maszynie do pisania”, która naciska klawisze, aż trafi na lukę. Takie „fuzzery”, jak American Fuzzy Lop (AFL), odkrywały krytyczne błędy w każdej głównej przeglądarce i systemie operacyjnym.
Reakcja społeczności bezpieczeństwa była pouczająca. Zamiast panikować, organizacje zindustrializowały obronę. Przykładem jest OSS-Fuzz od Google – system, który nieustannie uruchamia fuzzery na tysiącach projektów oprogramowania. Dzięki temu deweloperzy mogli wykrywać błędy przed ich wydaniem, zamiast czekać, aż zrobią to atakujący.
Oczekuje się, że podobny scenariusz rozegra się w przypadku wykrywania luk przez AI. Organizacje będą integrować te narzędzia z procesem rozwoju oprogramowania, uruchamiać je w sposób ciągły i ustanawiać nowy standard bezpieczeństwa.
Asymetria w walce z lukami
Fuzzing wymagał znacznej wiedzy technicznej – był narzędziem dla specjalistów. Modele językowe natomiast wykrywają podatności za pomocą prostego polecenia, co prowadzi do niepokojącej asymetrii:
- Atakujący nie muszą już być technicznie zaawansowani, aby wykorzystywać luki w kodzie.
- Obrońcy wciąż potrzebują inżynierów, którzy przeanalizują wyniki AI i podejmą działania naprawcze.
Koszt znalezienia i wykorzystania luk może zbliżyć się do zera, ale naprawa ich pozostanie złożonym i kosztownym procesem.
AI wykrywa błędy – ale kto je naprawi?
Peter Gutmann, autor książki Engineering Security, kiedyś zauważył, że „wiele dzisiejszych technologii bezpieczeństwa jest uznawanych za ‘bezpieczne’ jedynie dlatego, że nikt nigdy się im nie przyjrzał”. To spostrzeżenie zostało poczynione jeszcze przed tym, jak AI znacznie obniżyło koszt przeszukiwania kodu pod kątem błędów.
Większość współczesnego oprogramowania – w tym krytyczne zależności open source, od których zależy komercyjne oprogramowanie – jest utrzymywana przez małe zespoły, wolontariuszy lub pojedynczych programistów bez dedykowanych zasobów na bezpieczeństwo. Luka w jednym projekcie open source może mieć ogromny wpływ downstream.
Przykładem jest Log4j – biblioteka logowania utrzymywana przez niewielką grupę wolontariuszy. W 2021 roku krytyczna luka w Log4j dotknęła setki milionów urządzeń, stając się jedną z najpowszechniejszych podatności w historii oprogramowania. To tylko jeden z wielu przykładów problemu zależności, które nigdy nie zostały poważnie zweryfikowane pod względem bezpieczeństwa.
„AI może odkrywać luki szybciej i taniej niż kiedykolwiek wcześniej, ale to, jak szybko i skutecznie je naprawimy, zależy od ludzkich zasobów i priorytetów.”