Cellebrite eksploatacija nultog dana korišćena za targetiranje telefona srpskog studentskog aktiviste

Izvor: Amnesti Internešenel, Prevod: Bojana Jevtić
Bezbednosna laboratorija Amnesti internešenela, u saradnji sa Evropskom regionalnom kancelarijom Amnestija, otkrila je novi slučaj zloupotrebe proizvoda Cellebrite za upad u telefon omladinskog aktiviste u Srbiji. Napad je veoma sličan obliku napada koji smo prethodno dokumentovali u izveštaju „Digitalni zatvor“, objavljenom u decembru 2024. Ovaj novi slučaj pruža dodatni dokaz da su vlasti u Srbiji nastavile kampanju nadzora civilnog društva nakon našeg izveštaja, uprkos široko rasprostranjenim pozivima na reformu, kako u Srbiji tako i šire, kao i istrazi njegovog proizvoda, najavljenom zloupotrebom Cellebrite-a.
Iako nije dokumentovano u ovom blog postu, Amnesti internešenel je takođe pronašao dokaze o najmanje još dva slučaja zloupotrebe Cellebrite-a protiv civilnog društva (pored onih koji su navedeni u izveštaju), što sugeriše da je ta praksa i dalje rasprostranjena i da Bezbednosno-informativna agencija Srbije (BIA) i srpske bezbednosne službe ostaju uverene da mogu da nastave da koriste tako impresivnu i informativnu politiku.
U saopštenju objavljenom 25. februara 2025, Cellebrite je objavio da je suspendovao upotrebu svojih proizvoda od strane „relevantnih kupaca“ u Srbiji nakon izveštaja Amnesti internešenela iz decembra 2024, koji je dokumentovao široko rasprostranjenu zloupotrebu tehnologije Cellebrite od strane srpskih vlasti. Najnovija saznanja o daljim zloupotrebama čine ove suspenzije neophodnim i ključnim prvim korakom u zaustavljanju tekuće i nezakonite zloupotrebe proizvoda kompanije.
Eksploatacija nultog dana usmerena na kernel drajvere Android USB identifikovane ali neobrađene
Ovaj tehnički post na blogu pruža detaljnu analizu o tome kako je Android telefon jednog studenta demonstranta eksploatisan i otključan od strane sofisticiranog lanca eksploatacije nultog dana koji cilja Android USB drajvere, koji je razvio Cellebrite. Amnesti International je prvi put pronašao tragove ove Cellebrite USB eksploatacije korišćene u posebnom slučaju sredinom 2024. godine.
Ovi najnoviji nalazi ukazuju na to da kontinuirana zloupotreba Cellebrite-ovih naprednih alata za ekstrakciju mobilnih telefona, čak i nakon široko objavljenih dokaza o zloupotrebama, nastavlja da podriva prava. Pošto su eksploatacije identifikovane u ovom istraživanju usmerene na USB drajvere jezgra Linuka, ranjivost nije ograničena na određeni uređaj ili dobavljača i može uticati na više od milijardu Android uređaja.
U 2024. Laboratorija za bezbednost je podelila tehničke dokaze o ovom lancu eksploatacije nultog dana sa industrijskim partnerima, uključujući Google-ovu grupu za analizu pretnji. Ovi tragovi su omogućili Google istraživačima bezbednosti da identifikuju najmanje tri ranjivosti nultog dana koje su verovatno iskorišćene kao deo ovog Cellebrite lanca eksploatacije. Prva ranjivost, CVE-2024-53104, nevezano upisivanje u USB Video Class (UVC) drajver, otklonjena je u Android bezbednosnom biltenu iz februara 2025. godine.
Dodatne ranjivosti CVE-2024-53197 i CVE-2024-50302 su otklonjene uzvodno u Linuk kernelu, ali još uvek nisu uključene u Android bezbednosni bilten. Početna tehnička analiza eksploatacije i ranjivosti data je u odeljku 3 u nastavku.
Amnesti internešenel želi da se zahvali studentskom aktivisti koji je meta ove kampanje što je podelio svoju priču i svim partnerima koji su podržali ovo istraživanje, uključujući Balkansku istraživačku i reportersku mrežu (BIRN) i SHARE fondaciju u Beogradu.
Amnesti internešenel se posebno zahvaljuje Benoa Sevensu iz Google-ove grupe za analizu pretnji za njegov neprocenjiv doprinos ovoj istrazi i njegov rad na identifikaciji osnovnih USB ranjivosti iskorišćenih u ovom napadu. Bezbednosna laboratorija je takođe zahvalna Android timu za bezbednost i privatnost na njihovom aktivnom angažovanju na rešavanju digitalnih bezbednosnih rizika koji utiču na civilno društvo.
1. Otkrivanje veoma sofisticiranog USB lanca eksploatacije nultog dana
Tokom protekle godine, Laboratorija za bezbednost je podržala brojne demonstrante i druge pojedince širom sveta koji sumnjaju da je podacima u njihovim mobilnim telefonima i ličnim podacima pristupano ili su izvučeni bez saglasnosti ili sudskog odobrenja. Forenzičko istraživanje Amnesti Internešenela o ovim slučajevima nam je omogućilo da izgradimo detaljno razumevanje tehničkih metodologija koje se koriste u mobilnim forenzičkim proizvodima, poput onih koje je razvio Cellebrite i slične kompanije.
Takvo istraživanje takođe može omogućiti, u nekim slučajevima, identifikaciju softverskih eksploatacija koje se aktivno zloupotrebljavaju protiv civilnog društva, sa povezanim negativnim uticajem na ljudska prava. Otklanjanje ovih ranjivosti može smanjiti tekuću štetu, u očekivanju akcije mobilnih forenzičkih dobavljača da ograniče nezakonitu upotrebu svojih proizvoda.
Amnesti internešenel je ranije dokumentovao kako je eksploatacija nultog dana usmerena na Qualcomm Android uređaje (CVE-2024-43047) korišćena za izvlačenje podataka sa telefona srpskog aktiviste u decembru 2023. Dokazi koje je prikupila Bezbednosna laboratorija omogućili su Google projektu Zero da identifikuje osnovnu ranjivost kernela koju je otklonio Qualcomm u oktobru 2024.
Ovaj tehnički izveštaj opisuje novi Cellebrite lanac eksploatacije nultog dana koji je zloupotrebljen za tajno otključavanje telefona studentskog aktiviste iz Srbije. Bezbednosna laboratorija Amnesti internešenela prvi put je otkrila dokaze o Cellebrite-ovom USB lancu eksploatacije nultog dana, kada je sredinom 2024. korišćen za otključavanje Android uređaja u posebnom kućištu van Srbije.
Eksploatacija, koja je ciljala USB drajvere jezgra Linuka, omogućila je korisnicima Cellebrite-a fizičkim pristupom zaključanom Android uređaju da zaobiđu zaključani ekran Android telefona i dobiju privilegovani pristup uređaju. Pošto je eksploatacija usmerena na USB drajvere jezgra Linuka, uticaj nije ograničen na određeni uređaj ili dobavljača i može uticati na veoma širok spektar uređaja. Iste ranjivosti bi takođe mogle da izlože Linuk računare i ugrađene uređaje na Linuk-u fizičkim napadima, iako nema dokaza da je ovaj lanac eksploatacije dizajniran za ciljanje ne-Android Linuk uređaja.
Ovaj slučaj naglašava kako napadači iz stvarnog sveta iskorišćavaju Android-ovu USB površinu za napad, koristeći prednosti širokog spektra zastarelih drajvera USB kernela koji su podržani u Linuk kernelu. Dobavljači Android-a moraju hitno da ojačaju odbrambene bezbednosne funkcije kako bi ublažili pretnje od nepouzdanih USB veza na zaključane uređaje.
Upstream zakrpe za dodatne ranjivosti u ovom lancu biće dostupne od strane proizvođača Android-a u narednim mesecima. Amnesti Internešenel sada objavljuje ovo istraživanje kako bi podigao svest o tome kako se ova USB površina za napad eksploatiše na divlje.
Pošto napad opisan u ovom blogu zahteva fizički pristup uređaju i detaljne inženjerske napore, rizik od ponovne upotrebe ove eksploatacije je relativno nizak. Međutim, da bismo ublažili ovaj rizik, zadržavamo deljenje tehničkih detalja o identifikovanim ranjivostima dok bezbednosne ispravke ne budu dostupne od strane svih glavnih proizvođača Android-a. Takođe u ovom trenutku ne otkrivamo sve povezane evidencije rušenja i artefakte eksploatacije.
Ovi nalazi takođe naglašavaju važnost dobavljača uređaja i istraživača industrije koji blisko sarađuju sa civilnim društvom kako bi identifikovali i popravili ranjivosti koje utiču na aktiviste i novinare, pomažući da se zaštite svi njihovi korisnici u tom procesu. Tokom proteklih šest meseci, najmanje šest ranjivosti nultog dana – eksploatisanih na divlje – pronađeno je kroz saradnju sa istraživačima bezbednosti civilnog društva iz Citizen Lab-a i Amnesti Internešenela.
2. Kako su digitalni forenzički alati korišćeni protiv civilnog društva u Srbiji
Dana 16. decembra 2024, Laboratorija za bezbednost Amnesti internešenela i regionalna kancelarija za Evropu objavili su „Digitalni zatvor”: Nadzor i suzbijanje civilnog društva u Srbiji. Izveštaj je dokumentovao kako srpska policija i obaveštajne službe koriste napredni telefonski špijunski softver zajedno sa forenzičkim proizvodima za mobilne telefone kako bi nezakonito targetirali novinare, ekološke aktiviste i druge koji su kritični prema vladinoj politici u kampanji tajnog nadzora.
Jedno od najeksplozivnijih otkrića bilo je da se pokaže kako se mobilni forenzički proizvodi izraelske kompanije Cellebrite naširoko zloupotrebljavaju za izvlačenje podataka sa mobilnih uređaja koji pripadaju novinarima i aktivistima. Kao odgovor na naše nalaze, Cellebrite je izjavio da „istražujemo tvrdnje iznete u ovom izveštaju. Ako budu potvrđeni, spremni smo da uvedemo odgovarajuće sankcije, uključujući prekid veze Cellebrite-a sa svim relevantnim agencijama”.
Izveštaj je takođe izazvao oštre reakcije u Srbiji, gde je udruženje od 10 organizacija civilnog društva podnelo krivične prijave protiv policije i obaveštajnih organa zbog nezakonitog nadzora i zvanično zatražilo odvojene istrage od strane Kancelarije ombudsmana i Poverenika za zaštitu podataka. Tužilaštvo Srbije za visokotehnološki kriminal zvanično je registrovalo slučaj u januaru 2025.
U januaru 2025, mesec dana nakon objavljivanja izveštaja, Laboratorija bezbednosti je dobila zahtev za testiranje uređaja omladinskog demonstranta kojeg je Bezbednosno-informativna agencija Srbije (BIA) uhapsila i pritvorila 25. decembra 2024, posle velikih studentskih protesta u Beogradu. Okolnosti njegovog hapšenja, kao i ponašanje službenika BIA, u velikoj meri su se poklapali sa načinom rada koji je korišćen protiv demonstranata i koji smo dokumentovali u našem izveštaju u decembru. Forenzička istraga uređaja sprovedena u januaru potvrdila je upotrebu Cellebrite-a na telefonu studentskog aktiviste. Detalji hapšenja i napada na telefon demonstranta su uključeni u odeljak 3, u nastavku.
U ovom postu na blogu pružamo rezime događaja oko hapšenja i targetiranja studentskog demonstranta. Kao i slučajevima dokumentovanim u našem decembarskom izveštaju, Cellebrite UFED je korišćen na aktivističinom telefonu bez njegovog znanja ili saglasnosti, i van zakonski sankcionisane istrage. Naizgled rutinska upotreba Cellebrite softvera protiv ljudi za ostvarivanje njihovih prava na slobodu izražavanja i mirnog okupljanja, nikada ne može biti legitiman cilj i stoga predstavlja kršenje zakona o ljudskim pravima. (Za detaljniju analizu pravnog okvira Srbije oko digitalnog nadzora i uticaja korišćenja Cellebrite-a na civilno društvo i na ljudska prava, pogledajte poglavlja 7 i 8.2 Digitalnog zatvora).
3. Studentski aktivista priveden od strane policajca u civilu na protestu
„Vedran“ (ime je promenjeno radi zaštite bezbednosti, privatnosti i poverljivosti studenta) je 23-godišnji studentski aktivista koji redovno učestvuje na studentskim protestima koji su u toku u Beogradu. Iako je slabo povezan sa nekoliko omladinskih organizacija, sebe smatra delom šireg mirnog studentskog protestnog pokreta koji je zahvatio Srbiju u novembru 2024.
„Vedran” je 25. decembra 2024. želeo da pogleda „otvoreni sastanak sa mladima” koji je u Beogradu organizovala vladajuća Srpska napredna stranka.
Na ulazu na mesto protesta „Vedran” je ostavio svoju vuvuzelu kod obezbeđenja. Posle nekog vremena (oko 17.30 po srednjeevropskom vremenu) prišla su mu sedmorica muškaraca u civilu i naterala ga da uđe u automobil. Uprkos njegovim zahtevima da se identifikuju, nisu se predstavili i ponašali su se agresivno. Pitali su ga zašto je tu i zašto nosi vuvuzelu i tražili da im pokaže telefon. On je to odbio i potom je odvezen u policijsku stanicu u Sava Mali (deo Beograda).
“Vedran” je rekao Amnesti internešenel-u da je čim je ušao u policijsku stanicu, oko 18.30 po lokalnom vremenu, isključio telefon i predao ga policajcima. Odveden je u kancelariju na 1. spratu i narednih šest sati ispitivala su ga četvorica muškaraca u civilu koji se nikada nisu predstavili.
Telefon mu je vraćen oko 00:45. Bio je isključen.
3.1 Cellebrite eksploatacije korišćene za otključavanje telefona pre pokušaja napada Android aplikacijom
Bezbednosna laboratorija Amnesti internešenela izvršila je forenzičku analizu na „Vedranovom” Samsung Galaxy A32 kako bi proverila da li je uređajem manipulisano dok je „Vedran” bio pritvoren u policijskoj stanici.
Forenzičkom analizom su pronađeni jasni dokazi eksploatacije koje Amnesti Internešenel sa sigurnošću može pripisati korišćenju Cellebrite-ovog UFED proizvoda. Dnevnici takođe pokazuju da je proizvod Cellebrite omogućio vlastima da uspešno dobiju privilegovani root pristup telefonu i da otključaju uređaj.
Vremenska oznaka (lokalno vreme) | Događaj |
2024-12-25 18:36:10 | “Vedran” je isključio telefon. |
2024-12-25 20:01:14 | Telefon je uključen prvi put u policijskoj stanici. |
2024-12-25 20:22:13 | Telefon je ponovo uključen u policijskoj stanici |
2024-12-25 20:24:37 | Emulirani USB uređaj (uparen sa Cellebrite Turbo Linkom) povezan sa telefonom. |
2024-12-25 20:28:38 | Forenzički tragovi uspešne eksploatacije Cellebrite-a i izvršavanja koda kao root korisnik. |
2024-12-25 20:30:11 | Dodatni tragovi Cellebrite aktivnosti na uređaju. |
2024-12-25 20:37:15 | Tragovi ukazuju na otključavanje ekrana. |
2024-12-25 20:37:59 | Ponovno pokretanje telefona je pokrenuto preko Android shell-a |
Forenzički tragovi upotrebe Cellebrite-a na Android uređaju demonstranta
Amnesti internešenel je pronašao dokaze da su srpske vlasti pokušale da instaliraju nepoznatu Android aplikaciju nakon što je telefon otključan uz pomoć Cellebrite-a.
Zbog ograničenih forenzičkih evidencija, nije bilo moguće identifikovati konkretnu Android aplikaciju koju su vlasti nameravale da instaliraju. Međutim, ovaj pokušaj tajnog instaliranja Android aplikacije nakon korišćenja Cellebrite-a za otključavanje je u skladu sa prethodnim slučajevima zaraze špijunskim softverom NoviSpy koje je dokumentovao Amnesti International.
Vremenska oznaka (lokalno vreme) | Događaj |
2024-12-25 20:42:54 | Tragovi pokazuju da je telefon opet uključen 5 minuta nakon pokretanja ponovnog pokretanja |
2024-12-25 20:55:49 | Google Chrome app otvorena na telefonu |
2024-12-25 20:56:03 | Data dozvola da se instalira APK sa Chrome-om |
2024-12-25 20:56:22 | Program za instalaciju Android paketa je otvoren sa biometrijskim/pin upitom. Čini se da je instalacija aplikacije blokirana. |
2024-12-25 20:58:33 | Tragovi aktivnosti u aplikaciji Samsung My Files koji mogu ukazivati na čišćenje tragova napadača. |
2024-12-25 21:13:18 | Forenzički tragovi dodatne eksploatacije Cellebrite-a i izvršavanja koda kao root korisnik. Ovo može biti pokušaj da se ponovo pokrene alternativni Cellebrite radni tok, kao što je izvođenje toka ekstrakcije nakon prvog otključavanja. |
Pokušaji instaliranja bočno učitanog Android paketa nakon otključavanja pomoću Cellebrite-a
Nakon neuspešnih pokušaja instaliranja APK-a, forenzički dokazi pokazuju nove pokušaje eksploatacije telefona sa Cellebrite UFED. Ovi tragovi počinju kopiranjem Cellebriteovog falcon tool-a na telefon. Ovo može ukazivati na novi pokušaj eksploatacije telefona sa otključanim tokom.
Vremenska oznaka (lokalno vreme) | Događaj |
2024-12-25 21:26:17 | Telefon je ponovo pokrenut |
2024-12-25 21:31:38 | Cellebrite falcon binary kopiran na telefon od strane korisnika ADB shell-a. |
2024-12-25 21:38:55 | Kernel OOPS kad pokušate da oslobodite memoriju iz funkcije Linux Transcendent u frontswap_tmem_e+0xc8/0x1b0. |
2024-12-25 21:47:01 | Kernel OOPS pri rukovanju USB HID događaja. |
2024-12-25 21:50:03 | Forenzički tragovi uspešne eksploatacije Cellebrite-a i izvršavanja koda kao root korisnik. |
2024-12-25 21:53:59 | Dodatni tragovi Cellebrite UFED ispuštanja datoteka sa root privilegijama. |
2024-12-25 21:58:59 | Praćenje različitih shell komandi uključujući find, grep koji se pokreće na uređaju. |
Tragovi dodatnih pokušaja eksploatacije koji uključuju binarni sistem Cellebrite falcon
Čini se da je drugi krug eksploatacije sa Cellebrite-ovim falcon binarnim programom bio uspešan jer su različite komande nakon eksploatacije pokrenute na uređaju. Nejasno je da li su evidencije koje se odnose na Linuk Transcendent Memory kod povezane sa eksploatacijom ovog drajvera ili nepovezanim artefaktom oštećenja memorije kernela.
3.2 Android USB ranjivosti nultog dana iskorišćene za otključavanje Samsung Android telefona
U prethodnim tabelama su navedeni neki od tragova eksploatacije identifikovanih na uređaju. Određivanje tačnih ranjivosti koje se iskorištavaju u napadu na oštećenje memorije često može biti izazovno, posebno nakon incidenta, zbog nedostatka detaljnog evidentiranja na uređaju.
Međutim, u ovom slučaju, Amnesti Internešenel ima veliko poverenje da sledeća forenzička evidencija pruža jasne dokaze o lancu eksploatacije USB-a Cellebrite. Dok predstavljamo evidencije specifične za najnoviji slučaj u Srbiji, uočeni obrasci — uključujući povezane padove — usklađeni su sa sličnim slučajevima identifikovanim tokom prošle godine.
Napad uključuje povezivanje različitih USB perifernih uređaja. „Video uređaj“ je povezan tokom početnih faza eksploatacije. Drugi uređaji pokazuju ponovljene veze koje ukazuju na ponovljene faze eksploatacije potrebne da bi se otkrila memorija kernela i memorija kernela kao deo eksploatacije.
Nije jasno da li je svaki dole naveden uređaj bio deo uspešnog lanca eksploatacije. Pošto se napad dešava pre prvog otključavanja, napadači će možda morati da aktivno ostavljaju otisak prsta da bi utvrdili koji, ako uopšte bilo koji lanac eksploatacije može biti kompatibilan:
Događaj | Napomene |
USB čvorište je povezano | |
USB “HID uređaj” povezan | VID: 0x045e PID: 0x076c (Uređaj: Comfort Mouse 4500). Ponovljene veze u periodu od 30 sekundi. |
USB “Video uređaj” povezan | VID: 0x04f2 PID: 0xb071 (Uređaj: UVC Webcam / Chicony CNF7129). |
USB HID dodirna tabla je povezana | VID: 0x1130 PID: 0x3101 (Uređaj: Anton Touch Pad). Ponovljene veze u periodu od 30 sekundi. |
USB “Zvučni uređaj” povezan | VID: 0x041e PID: 0x3000 (Uređaj: SoundBlaster Extigy). Ponovljene veze u periodu od 30 sekundi. |
USB “Zvučni uređaj” povezan | VID: 0x0763 PID: 0x2012. (Uređaj: M-Audio Fast Track Pro). Ponovljene veze u periodu od 30 sekundi. |
Uspešno izvršenje koda kao root | Izvršenje koda primećeno otprilike 10 sekundi nakon poslednje “HID uređaj” konekcije. |
Čini se da su svi povezani USB uređaji emulirani u softveru preko Cellebrite hardverskog ključa. Cellebrite-ov
Premium UFED ili Inseiets proizvod, koji podržava otključavanje uređaja, koristi poseban „Turbo Link“ adapter, koji se može koristiti za olakšavanje takvih napada zasnovanih na hardveru.
Nazivi uređaja navedeni u tabeli—kao što su „Video uređaj“ ili „Zvučni uređaj“—su stvarni nazivi proizvoda navedeni u odgovarajućim deskriptorima USB uređaja. Pored toga, brojevi verzija USB uređaja za sve detektovane periferne uređaje su uniformno postavljeni na konstantu „12.34“, što je snažan pokazatelj emulacije, a ne originalnog hardvera.
USB device attached: vidpid 04f2:b071 mfg/product/ver/serial Video/Video Device/12.34/00001
USB device attached: vidpid 041e:3000 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 0763:2012 mfg/product/ver/serial Sound/Sound Device/12.34/00001
USB device attached: vidpid 045e:076c mfg/product/ver/serial hid/HID Device/12.34/fedcba9876543210
Serijski broj HID USB uređaja je postavljen na 33117733, što opet ukazuje da su ID uređaja i serijski brojevi emulirani kao deo pokušaja eksploatacije, a ne kao legitimni USB uređaj.
<6>[ 350.950690]
(1)[159:kworker/1:1]usb 1-1.1: udev->lpm_capable=0
<6>[ 350.950737] (1)[159:kworker/1:1]usb 1-1.1: usb_enumerate_device
<6>[ 350.981150] (1)[159:kworker/1:1]usb 1-1.1: vid:0x45e, pid:0x76c
<6>[ 350.981182] (1)[159:kworker/1:1]usb 1-1.1: product:HID Device, manufacturer:hid
<6>[ 350.981196] (1)[159:kworker/1:1]usb 1-1.1: New USB device found, idVendor=045e, idProduct=076c
<6>[ 350.981205] (1)[159:kworker/1:1]usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>[ 350.981214] (1)[159:kworker/1:1]usb 1-1.1: Product: HID Device
<6>[ 350.981222] (1)[159:kworker/1:1]usb 1-1.1: Manufacturer: hid
<6>[ 350.981230] (1)[159:kworker/1:1]usb 1-1.1: SerialNumber: 33117733
ID USB uređaja i ID dobavljača koji se nalaze u deskriptoru USB uređaja koriste USB podsistem Linuk kernela da bi odredio koji upravljački program kernela će upravljati povezanim USB uređajem. Nažalost, zbog širokog spektra podržanih USB uređaja i neophodnosti prilagođavanja zastarelog hardvera i neusaglašenih implementacija, Linuk USB stek/skladište predstavlja veliku površinu napada. Ovo uključuje brojne drajvere i manje testirane putanje koda koje bi lokalni napadač potencijalno mogao da iskoristi.
Da bismo bolje razumeli Cellebrite lanac eksploatacije, sada ćemo analizirati svaki emulirani USB uređaj redom, identifikujući odgovarajuće drajvere kernela koji su možda bili eksploatisani tokom napada.
“Video uređaj” (0xb071)
Video uređaj USB uređaj je naveo USB ID par (VID: 0x04f2 PID: 0xb071) koji je registrovan kao Chicony CNF7129 UVC Webcam. ID ovog proizvoda rukovodi Linux USB Video Class (UVC) drajver.
Ovaj specifični ID USB uređaja može da dosegne prilagođene putanje koda kernela, nazvanog quirk, pod nazivom „UVC_QUIRK_RESTRICT_FRAME_RATE“. Otkriveno je da je ovo jedini ID USB uređaja koji pokreće ovu čudnu grešku, što sugeriše da je eksploatacija usmerena na ranjivost uvedenu u taj specifični kod. Neobična, ili nestandardna kodirana putanja za rukovanje ovim USB uređajem, predstavljena je 2010. godine, pre skoro 15 godina.
/* Chicony CNF7129 (Asus EEE 100HE) */
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_INT_INFO,
.idVendor = 0x04f2,
.idProduct = 0xb071,
.bInterfaceClass = USB_CLASS_VIDEO,
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_QUIRK(UVC_QUIRK_RESTRICT_FRAME_RATE) },
Ovi artefakti suzili su veoma malu oblast kernel koda, što verovatno uvodi ranjivost oštećene memorije koja se može iskoristiti. Benoa Sevens iz Google Grupe za analizu pretnji je otkrio da ova putanja koda omogućava upisivanje van granica kada se analiziraju okviri tipa UVC_VS_UNDEFINED u uvc_parse_format(). Ranjivost je otklonjena uzvodno u Linux kernelu u novembru 2024, i dodeljena joj je CVE-2024-53104. Ispravka je uključena u Android bezbednosni bilten iz februara 2025. i štiti sve popravljene uređaje od izvršavanja koda koristeći ceo ovaj lanac eksploatacije USB-a.
„Zvučni uređaj“ (0x3000)
Sledeći USB uređaj, „Zvučni uređaj“ (VID: 0k041e PID: 0k3000) imitira Creative Extigy USB zvučnu karticu. Linuk ALSA USB upravljački program za zvuk koji rukuje ovim uređajem takođe ima jednu osobinu, učitavanje specifičnog koda za rukovanje inicijalizacijom skupa nestandardnih Extigy i Mbox zvučnih kartica uključujući Extigy uređaje sa ovim određenim ID-om uređaja.
int snd_usb_apply_boot_quirk(struct usb_device *dev,
struct usb_interface *intf,
const struct snd_usb_audio_quirk *quirk,
unsigned int id)
{
switch (id) {
case USB_ID(0x041e, 0x3000):
/* SB Extigy needs special boot-up sequence */
/* if more models come, this will go to the quirk list. */
return snd_usb_extigy_boot_quirk(dev, intf);
Neobičan kod u funkciji „snd_usb_extigy_boot_quirk“ ponovo učitava i kopira deskriptor USB uređaja tokom njegovog prilagođenog koda za inicijalizaciju uređaja. Zlonamerni emulirani Extigy ili Mbox uređaj može da iskoristi ovaj quirk kod tako što će obezbediti nevažeći deskriptor USB uređaja tokom poziva „usb_get_descriptor()“, pri čemu deskriptor ima vrednost bNumConfigurations koja premašuje početnu vrednost koju je USB uređaj poslao tokom prve veze u „usb_get_configuration()“.
static int snd_usb_extigy_boot_quirk(struct usb_device *dev, struct usb_interface *intf)
{
—
dev_dbg(&dev->dev, “sending Extigy boot sequence…\n”);
/* Send message to force it to reconnect with full interface. */
err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev,0),
0x10, 0x43, 0x0001, 0x000a, NULL, 0);
if (err < 0)
dev_dbg(&dev->dev, “error sending boot message: %d\n”, err);
err = usb_get_descriptor(dev, USB_DT_DEVICE, 0,
&dev->descriptor, sizeof(dev->descriptor));
config = dev->actconfig;
if (err < 0)
dev_dbg(&dev->dev, “error usb_get_descriptor: %d\n”, err);
Benoa Sevens iz Google Grupe za analizu pretnji identifikovao je da ova ranjivost može da vodi pristupu van granica kasnije, npr. u usb_destroy_configuration ako je “dev->config” član uređaja oštećen, što opet omogućava daljinsko izvršavanje koda. Ranjivost u quirk kodu je ispravljena uzvodno u novembru 2024, i dodeljena joj je CVE-2024-53197.
“Zvučni uređaj” br. 2 (0x2012)
Drugi “Zvučni uređaj” (VID: 0x0763 PID: 0x2012) opet ima specifičan quirk kod koji se primenjuje kada se USB uređaj pokrene u fasttrackpro_skip_setting_quirk(). Ovaj uređaj se učitava odmah nakon zlonamernog Extigy uređaja.
/* fasttrackpro usb: skip altsets incompatible with device_setup */
if (chip->usb_id == USB_ID(0x0763, 0x2012))
return fasttrackpro_skip_setting_quirk(chip, iface, altno);
Zanimljivo je da evidencija povezivanja USB uređaja viđena tokom eksploatacije ukazuje na to da je deskriptor USB uređaja zlonamernog Extigy uređaja očigledno ponovo mapiran kao Fasttrack Pro uređaj dok je učitan u kernel.
Vremenska oznaka | Seq Num | Radnja | Ime proizvoda | Proizvod | Putanja uređaja |
20:26:24.932 | 6405 | dodaj | Extigy zvučna kartica | 41e/3000/1234 | /1-1/1-1.4/1-1.4:1.0 |
20:26:24.944 | 6406 | dodaj | FastTrackPro zvučna kartica | 763/2012/1234 | /1-1/1-1.4/1-1.4:1.1 |
20:26:25.176 | 6408 | odstrani | FastTrackPro zvučna kartica | 763/2012/1234 | /1-1/1-1.4/1-1.4:1.0 |
20:26:25.177 | 6409 | odstrani | FastTrackPro zvučna kartica | 763/2012/1234 | /1-1/1-1.4/1-1.4:1.1 |
Deskriptor uređaja Extigy zvučne kartice je oštećen dok je povezan sa telefonom
Putanja uređaja uključuje broj USB magistrale i broj USB uređaja ili DEVNUM, što ukazuje na tačnu magistralu i putanju koju kernel koristi za komunikaciju sa uređajem.
U gornjoj tabeli možemo videti da su dodata dva različita uređaja zvučne kartice (0x3000 i 0x2012). Otprilike 0,2 sekunde kasnije evidencije kernela pokazuju da su dva 0x2012 uređaja uklonjena. I prvi i treći unos u tabeli pokazuju istu putanju uređaja „1-1.4:1.0“. Ovi zapisi sugerišu da su napadači mogli da koriste CVE-2024-53197 da uspešno prepišu originalni deskriptor uređaja 0x3000 sa proizvoljnim USB deskriptorom koji sadrži 0x2012 uređaj.
Nejasno je zašto je uređaj FastTrackPro (0x2012) izabran kao meta. Napadač će možda moći da koristi svojstva novog FastTrackPro-a da potvrdi da je primitiv za oštećenje memorije CVE-2024-53197 funkcionalan na ovom uređaju.
Anton Touch Pad uređaj (0x3101)
Sledeći povezani uređaj – gde nismo primetili ime uređaja koji je dao napadač – emulirao je multitouch HID USB ulazni uređaj. U Linuk kernelu je identifikovan kao Anton Touchpad. Šifra za ovaj uređaj uvedena je pre 11 godina.
#define USB_VENDOR_ID_ANTON 0x1130
#define USB_DEVICE_ID_ANTON_TOUCH_PAD 0x3101
Opet, kernel koristi nestandardnu konfiguraciju za ovaj uređaj i postavlja opciju drajvera pod nazivom „MT_CLS_EKSPORT_ALL_INPUTS“ kada učitava uređaje ovog tipa. Ista opcija se prenosi samo na jedan drugi tip uređaja.
/* Anton devices */
{ .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
MT_USB_DEVICE(USB_VENDOR_ID_ANTON,
USB_DEVICE_ID_ANTON_TOUCH_PAD) },
Upravljački program zatim koristi opciju „MT_CLS_EKSPORT_ALL_INPUTS“ da učita dve neobične stvari za uređaj, pored postavljanja zastavice „export_all_inputs“.
{ .name = MT_CLS_EXPORT_ALL_INPUTS,
.quirks = MT_QUIRK_ALWAYS_VALID |
MT_QUIRK_CONTACT_CNT_ACCURATE,
.export_all_inputs = true },
Benoa Sevens je otkrio da ova čudna stvar i konfiguracija uređaja mogu da se koriste za prebacivanje neinicijalizovane memorije kernela lokalnom napadaču putem specijalno kreiranih HID izveštaja. Problem otkrivanja memorije je ublažen anuliranjem HID bafera izveštaja kada je dodeljen. Ova ranjivost je ispravljena kao CVE-2024-50302.
“HID uređaj” (0x76c)
Poslednji USB uređaj povezan tokom toka eksploatacije bio je „HID uređaj“ (VID: 0x045e PID: 0x076c) koji je emulirao Microsoft Comfort Mouse 4500. Kao što ste do sada pretpostavili, ovaj uređaj takođe ima linuks kernel quirk, ovog puta u upravljačkom programu USB HID uređaja.
#define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c
Primenjena je neobična karakteristika „MS_DUPLICATE_USAGES“ i ponovo se primenjuje samo na ovaj određeni ID proizvoda i uređaja. Relevantni quirk kod za ovaj uređaj uveden je u Linuk kernel pre skoro 14 godina.
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500),
.driver_data = MS_DUPLICATE_USAGES },
MS_DUPLICATE_USAGES quirk kod je takođe izuzetno jednostavan, sa jednom linijom dodatnog koda kernela za brisanje nekih jasnih podataka na USB deskriptoru. Nejasno je koju tačno funkciju ovaj quirk igra kao deo lanca.
if (quirks & MS_DUPLICATE_USAGES)
clear_bit(usage->code, *bit);
Ovaj emulirani HID uređaj je bio povezan najmanje 42 puta i bio je poslednji uređaj povezan neposredno pre nego što je uređaj pokazao znake uspešnog izvršenja proizvoljnog koda kao root. Ponovljene veze mogu biti pokušaji da se doteraju memorija kernela ili pokrene izvršavanje koda.
Dugoročni bezbednosni rizici od drajvera uređaja čija memorija nije sigurna
Ovaj lanac eksploatacije USB-a pokazuje rizik dugog repa kod Linux kernela koji nije bezbedan za memoriju, posebno veliku količinu koda drajvera uređaja koji je uveden za rukovanje nizom USB uređaja koji nisu usklađeni sa standardima. Nedavni napori da se uvedu memorijski bezbedni jezici kao što je Rust u kernelu Linuxa pružaju obećavajuću opciju za smanjenje takvih bezbednosnih problema u novonapisanim drajverima uređaja. Druga bezbednosna ublažavanja, kao što je blokiranje veze novog ili nepouzdanog USB hardvera na zaključanom uređaju, mogu pružiti neposredniju odbranu od ranjivosti u postojećim drajverima kernela koji nisu bezbedni za memoriju.
4. Zaključak: hitna potreba za istragom zloupotrebe digitalnih forenzičkih alata u Srbiji
Amnesti internešenel je 31. januara 2025, obavestio Cellebrite o kontinuiranoj zloupotrebi njihovih forenzičkih proizvoda od strane srpskih vlasti. Dodatni slučaj opisan ovde dogodio se 25. decembra 2024, devet dana nakon objavljivanja našeg izveštaja i skoro mesec dana nakon što je Amnesti internešenel prvi put dostavio Cellebrite-u detaljne dokaze o zloupotrebi njihovih proizvoda. Cellebrite je 25. februara izjavio da:
“Nakon pregleda navoda iznetih u izveštaju Amnesti internešenela iz decembra 2024. godine, Cellebrite je preduzeo precizne korake da ispita svaku tvrdnju u skladu sa našom politikom etike i integriteta. Smatrali smo da je prikladno da u ovom trenutku zaustavimo upotrebu naših proizvoda od strane relevantnih korisnika”.
Izjava Cellebrite-a
Nakon pregleda navoda iznetih u izveštaju Amnesti internešenela iz decembra 2024. godine, Cellebrite je preduzeo precizne korake da ispita svaku tvrdnju u skladu sa našom politikom etike i integriteta. Smatrali smo da je prikladno da u ovom trenutku zaustavimo upotrebu naših proizvoda od strane relevantnih korisnika.
Iako su izjava i odluka da prestanu da koriste svoje proizvode „od strane relevantnih korisnika“ dobrodošli dokaz da je Cellebrite preduzeo korake da istraži i preduzme mere, nije jasno da li je ovaj poslednji slučaj uključen u njihovu istragu. Štaviše, Cellebrite nije mogao Amnesti Internešenelu pružiti dodatne informacije o vremenskom roku na koji su klijenti suspendovani, niti koji su uslovi ili garancije za zaštitu ljudskih prava koji bi morali biti ispunjeni pre nego što im bude dozvoljeno da ponovo koriste Cellebrite proizvode. Ovaj slučaj čini još hitniju potrebu da Cellebrite uvede smislene i efikasne mere zaštite kako bi se smanjio rizik da njihovi proizvodi omogućavaju kršenje ljudskih prava, uključujući temeljnu reviziju njihovih procedura dužne pažnje; implementacija tehničkih mehanizama za ograničavanje invazivnosti forenzičkih alata Cellebrite; i da obezbede nadoknadu i obeštećenje za žrtve čija su prava povređena nezakonitom upotrebom njihovih proizvoda.
U svetlu ovog najnovijeg slučaja zloupotrebe naprednih digitalnih tehnologija od strane srpskih vlasti, svi provajderi forenzičkih i tehnologija za nadzor trebalo bi da obustave prodaju tehnologije nadzora srpskim vlastima, zbog realnog rizika da se takvi alati koriste u okviru tekućeg gušenja protestnih pokreta. Dobavljači IMSI hvatača, špijunskog softvera i mobilne forenzičke tehnologije trebalo bi da obustave prodaju BIA i drugim nivoima vlasti u Srbiji dok se ne uspostavi okvir usklađen sa ljudskim pravima kako bi se sprečile dalje zloupotrebe.
U svetlu kontinuirane zloupotrebe digitalnih forenzičkih alata u političke svrhe u Srbiji i odluke kompanije Cellebrite da obustavi upotrebu svog proizvoda od strane nekih korisnika u zemlji, srpske vlasti moraju – bez daljeg odlaganja – da istraže sve prijavljene slučajeve zloupotrebe digitalnih forenzičkih alata protiv članova civilnog društva i novinara u Srbiji, da uspostave efikasan i snažan pravni okvir koji obezbeđuje nadzor nad nezavisnom praksom i sprečava takvu nezavisnu praksu. Konačno, vlasti moraju da obezbede delotvoran pravni lek žrtvama nezakonitog targetiranog nadzora i da pozovu počinioce na odgovornost za kršenja.
Za detaljnije preporuke, pogledajte Odeljak 9 Digitalnog zatvora.
Amnesti internešenel je sa BIA podelio detalje slučaja dokumentovanog u ovom istraživanju i dao Bezbednosno-informativnoj agenciji priliku da odgovori na nalaze pre objavljivanja ovog brifinga/izveštaja. BIA nije odgovorila na zahtev.
Dodatak: Potpuni tragovi pokušaja eksploatacije USB-a
Sledeća tabela prikazuje tragove svake USB veze i prekida veze koji su viđeni dok je telefon omladinskih aktivista eksploatisan korišćenjem Cellebrite UFED. Očigledni su odvojeni tokovi eksploatacije, svaki počinje povezivanjem USB čvorišta i završava se njegovim isključenjem. Dok se neki uređaji kao što je HID miš (0x076c) vide u svakom toku, UVC web kamera (0xb071) i Extigy zvučna kartica (0x3000) se vide samo u drugom i trećem toku.
Uočeni artefakti sugerišu da je Cellebrite UFED sistem pokušao da pokrene više povezanih, ali različitih lanaca eksploatacije kako bi otključao uređaj. Analiza ranjivosti iznad pokazuje kako se protok UVC web kamere i Extigy zvučna kartica mogu koristiti za oštećenje memorije kernela i pribavljanje proizvoljnog koda.

Tekst prenet sa portala Amnesty International.