În depozitul Hugging Face au fost descoperite modele AI malițioase care execută cod

Cercetătorii de la JFrog au descoperit modele de învățare automată malițioase în depozitul Hugging Face, instalarea cărora poate permite executarea codului atacatorului, oferind control asupra sistemului utilizatorului. Problema este cauzată de faptul că unele formate de distribuție a modelelor permit încorporarea de cod executabil; de exemplu, modelele care utilizează formatul „pickle” pot include obiecte serializate în Python, precum și cod care se rulează la încărcarea fișierului, iar modelele Tensorflow Keras pot executa cod prin Lambda Layer.

Pentru a preveni distribuirea unor astfel de modele malițioase, Hugging Face implementează scanarea pentru substituția codului serializat, dar modelele detectate arată că verificările existente pot fi ocolite. În plus, Hugging Face, în majoritatea cazurilor, doar etichetează modelele ca fiind periculoase, fără a le bloca accesul. Au fost identificate aproximativ 100 de modele potențial malițioase, dintre care 95% sunt destinate utilizării cu framework-ul PyTorch și 5% cu Tensorflow. Cele mai comune modificări malițioase includ captarea obiectelor, organizarea unui acces extern la sistem (reverse shell), lansarea aplicațiilor și scrierea în fișiere.

În depozitul Hugging Face au fost descoperite modele AI malițioase care execută cod

Se remarcă că, conform acțiunilor realizate, majoritatea modelelor malițioase detectate sunt create de cercetători în securitate care încearcă să obțină recompense pentru descoperirea vulnerabilităților și a metodelor de ocolire a protecției Hugging Face (de exemplu, în loc de un atac real, aceste modele încearcă să lanseze un calculator sau să trimită o solicitare de rețea cu informații asupra succesului atacului). În acest context, există și instanțe care lansează un shell invers pentru a conecta atacatorul la sistem.

De exemplu, modelele „baller423/goober2” și „star23/baller13” sunt direcționate să atace sistemele care încarcă fișierul modelului în PyTorch prin funcția torch.load(). Pentru a organiza executarea codului, este utilizată metoda „__reduce__” din modulul pickle, care permite inserarea de cod arbitrar Python în procesul de deserializare, care se execută la încărcarea modelului.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster