OpenAI prowadził eksperyment ze skutecznością swojego nowego (wewnętrznego) modelu AI. Całość miała na celu wykonanie benchmarku o nazwie ExploitGym. Jak sama nazwa wskazuje, eksperyment polegał na hackowaniu ;-)
Zacznijmy od tego, że OpenAI nie napisało do modelu: “hackuj co tam ci przyjdzie do głowy”. Miał on dokładnie sprecyzowane zadanie. Posiadał również bardzo ograniczony / kontrolowany dostęp do Internetu (tak aby uniknąć sytuacji z niekontrolowanym hackowaniem zewnętrznych systemów)
No więc po pierwsze model znalazł podatność 0 day, która umożliwiła mu dostęp do Internetu. Cytuję za OpenAI:
Aby uzyskać dostęp do Internetu, modele zidentyfikowały i wykorzystały wcześniej nieznaną lukę typu zero-day w Artifactory proxy cache rejestru pakietów. Zgłosiliśmy tę podatność dostawcy wraz z innymi podatnościami w Artifactory, które nasze modele zidentyfikowały w ramach naszych analiz.
Mając powyższy dostęp, model użył do realizacji ataków platformy Modal. Część danych przechowywał też na Pastebinie.
Następnie model stwierdził, że rozwiązanie zadanego mu problemu może znajdować się gdzieś w infrastrukturze Hugging Face
Model wykorzystał więc w aplikacji Hugging Face podatność SSTI (Server Side Template Injection), która umożliwiała wykonanie kodu w OS na serwerze
Powyższe uprawnienia nie były zbyt duże, więc potrzebny był kolejny krok: eskalacja uprawnień. Dokładniej rzecz biorąc, AI uzyskało uprawnienia cluster-admin w Kubernetesie. Cytat za Hugging Face:
The agent went from code execution in a single worker pod to cluster-admin across multiple internal clusters in under thirteen hours.
Dalej poszło “względnie prosto” – wykradanie kolejnych danych dostępowych umożliwiających dostęp do kolejnych kluczowych zasobów. W szczególności udało się wykraść jeden z kluczy prywatnych, służących do podpisywania tokenów JWT:
Among the harvested secrets was an EdDSA JWT signing key. With the private key in hand, the agent minted its own short-lived, correctly-signed identity tokens and used them to read its own private datasets.
Na koniec truskawka na torcie (jak mawiają niektórzy ;))) – AI użyło własnego protokołu, służącego do kradzieży danych na zewnątrz. Cel: ominięcie prostych systemów DLP.
Pełną ilustrację incydentu możecie zobaczyć na grafice poniżej (źródło: opis incydentu opracowany przez Hugging Face)
~ms
Spodobał Ci się wpis? Podziel się nim ze znajomymi: