Sigurnosna ranjivost u interfejsu pretraživača omogućava pristup računaru preko grafičke kartice

Sigurnosna ranjivost u interfejsu pretraživača omogućava pristup računaru preko grafičke kartice

Savremeni veb sajtovi postavljaju sve veće zahteve za računarskom snagom računara. Iz tog razloga, veb pretraživači takođe imaju pristup računarskim kapacitetima grafičke kartice (Graphics Processing Unit ili GPU) pored CPU-a računara već nekoliko godina.

Skriptni jezik JavaScript može da koristi resurse GPU-a preko programskih interfejsa kao što su VebGL i novi VebGPU standard. Međutim, ovo krije rizike. Koristeći veb lokaciju sa zlonamernim JavaScript-om, istraživači sa Instituta za primenjenu obradu informacija i komunikacije na Tehnološkom univerzitetu u Gracu (TU Graz) uspeli su da špijuniraju informacije o podacima, pritiskom na tastere i ključevima za šifrovanje na tuđim računarima u tri različita napada preko VebGPU-a.

VebGPU je trenutno još uvek u aktivnom razvoju, ali ga pretraživači kao što su Chrome, Chromium, Microsoft Edge i Firefok Nightli već podržavaju. Zahvaljujući većoj fleksibilnosti i modernizovanom dizajnu u poređenju sa VebGL-om, interfejs će biti široko korišćen u narednim godinama.

„Naši napadi ne zahtevaju od korisnika interakciju sa veb-sajtom i oni se odvijaju u vremenskom okviru koji im omogućava da se izvode tokom normalnog surfovanja internetom. Svojim radom želimo jasno da ukažemo proizvođačima pretraživača da moraju da se pozabave pristup GPU-u na isti način kao i drugim resursima koji utiču na bezbednost i privatnost“, kaže Lukas Giner sa Instituta za primenjenu obradu informacija i komunikacije pri TU Grac.

Istraživački tim je izvršio svoje napade na nekoliko sistema u kojima su instalirane različite grafičke kartice NVIDIA i AMD — korišćene su NVIDIA kartice iz GTKS 1000 serije i RTKS 2000, 3000 i 4000 serije, dok su korišćene AMD kartice iz Serija RKS 6000. Istraživački rad i prateći rad biće predstavljeni na ACM Asia Conference on Computer and Communications Securiti od 1. do 5. jula u Singapuru.

Za sve tri vrste napada, istraživači su koristili pristup keš memoriji računara dostupnoj preko VebGPU-a, koji je namenjen posebno brzom i kratkoročnom pristupu podacima od strane CPU-a i GPU-a. Ovaj sporedni kanal im je pružio meta-informacije koje su im omogućile da donesu zaključke o informacijama koje su relevantne za bezbednost.

Tim je mogao da prati promene u kešu tako što ga je sam popunjavao koristeći kod u JavaScript-u preko VebGPU-a i nadgledao kada su njihovi sopstveni podaci uklonjeni iz keša putem unosa. Ovo je omogućilo da se relativno brzo i precizno analiziraju tasteri.

Preciznijim segmentiranjem keša, istraživači su takođe mogli da iskoriste drugi napad da postave sopstveni tajni komunikacioni kanal, u kojem su popunjeni i nepopunjeni segmenti keša služili kao nule i jedinice i tako kao osnova za binarni kod. Koristili su 1.024 ovih segmenata keša i postigli brzinu prenosa do 10,9 kilobajta u sekundi, što je bilo dovoljno brzo za prenos jednostavnih informacija. Napadači mogu da koriste ovaj kanal za izdvajanje podataka do kojih su mogli da dođu koristeći druge napade u delovima računara koji su isključeni sa interneta.

Treći napad je bio usmeren na AES enkripciju, koja se koristi za šifrovanje dokumenata, veza i servera. I ovde su napunili keš memoriju, ali sa sopstvenom AES enkripcijom. Reakcija keša omogućila im je da identifikuju mesta u sistemu koja su odgovorna za šifrovanje i pristupe ključevima napadnutog sistema.

„Naš AES napad bi verovatno bio nešto komplikovaniji u uslovima u realnom vremenu jer mnoge enkripcije rade paralelno na GPU-u“, kaže Roland Černi iz Instituta za primenjenu obradu informacija i komunikacije pri TU Grac.

„Ipak, uspeli smo da pokažemo da takođe možemo veoma precizno da napadnemo algoritme. Naravno, unapred smo saopštili nalaze našeg rada proizvođačima pretraživača i nadamo se da će oni uzeti u obzir ovo pitanje u daljem razvoju VebGPU-a.“