Studiuesit nga kompania JFrog kanë zbuluar në depozitën Hugging Face modele dashakeqe të machine learning, instalimi i të cilave mund të çojë në ekzekutimin e kodit të sulmuesit për të marrë kontrollin mbi sistemin e përdoruesit. Problemi shkaktohet nga fakti se disa formate të shpërndarjes së modeleve lejojnë futjen e kodit të ekzekutueshëm; për shembull, modelet që përdorin formatin «pickle» mund të përfshijnë objekte të serializuara në gjuhën Python, si edhe kod që ekzekutohet gjatë ngarkimit të skedarit, ndërsa modelet Tensorflow Keras mund të ekzekutojnë kod përmes Lambda Layer.
Për të parandaluar përhapjen e modeleve të tilla dashakeqe, Hugging Face përdor skanim për të zbuluar futjen e kodit të serializuar, por modelet dashakeqe të identifikuara tregojnë se kontrollet ekzistuese mund të anashkalohen. Për më tepër, në shumicën e rasteve Hugging Face thjesht i shënon modelet si të rrezikshme, pa bllokuar qasjen në to. Në total janë identifikuar rreth 100 modele potencialisht dashakeqe, 95% e të cilave janë të destinuara për përdorim me framework-un PyTorch, ndërsa 5% me Tensorflow. Ndryshimet dashakeqe më të shpeshta janë kapja e objekteve, krijimi i një reverse shell, nisja e aplikacioneve dhe shkrimi në skedar.

Vihet re se, duke gjykuar nga veprimet që kryejnë, shumica e modeleve dashakeqe të identifikuara janë krijuar nga studiues të sigurisë që përpiqen të marrin shpërblim për zbulimin e dobësive dhe metodave për anashkalimin e mbrojtjes së Hugging Face (për shembull, në vend të një sulmi real, modele të tilla përpiqen të nisin kalkulatorin ose të dërgojnë një kërkesë rrjeti me informacion mbi suksesin e sulmit). Megjithatë, hasen edhe ekzemplarë që nisin një reverse shell për të lidhur sulmuesin me sistemin.
Për shembull, modelet «baller423/goober2» dhe «star23/baller13» synojnë të kryejnë sulm ndaj sistemeve që ngarkojnë skedarin e modelit në PyTorch me anë të funksionit torch.load(). Për organizimin e ekzekutimit të kodit përdoret metoda «__reduce__» nga moduli pickle, e cila lejon futjen e kodit arbitrar Python në procesin e deserializimit që kryhet gjatë ngarkimit të modelit.
Burimi: opennet.ru
