Curenje podataka kroz Intel CPU prstenastu sabirnicu

Tim istraživača sa Sveučilišta u Illinoisu razvio je novu tehniku ​​napada bočnog kanala koja manipulira curenjem informacija kroz prstenasto povezivanje Intelovih procesora. Napad vam omogućuje da istaknete informacije o korištenju memorije u drugoj aplikaciji i pratite informacije o vremenu pritiska tipke. Istraživači su objavili alate za izvođenje povezanih mjerenja i nekoliko eksploatacija prototipa.

Predložena su tri exploita koja će omogućiti:

  • Oporavite pojedinačne bitove ključeva za šifriranje kada koristite RSA i EdDSA implementacije koje su ranjive na napade s bočnih kanala (ako kašnjenja računanja ovise o podacima koji se obrađuju). Na primjer, curenje pojedinačnih bitova s ​​informacijama o vektoru inicijalizacije (nonce) EdDSA dovoljno je za korištenje napada za sekvencijalno vraćanje cijelog privatnog ključa. Napad je teško izvediv u praksi i može se izvesti s velikim brojem rezervi. Na primjer, uspješan rad se prikazuje kada je SMT (HyperThreading) onemogućen i LLC predmemorija je segmentirana između CPU jezgri.
  • Definirajte parametre o kašnjenjima između pritisaka tipki. Kašnjenja ovise o položaju tipki i omogućuju, putem statističke analize, ponovno stvaranje podataka unesenih s tipkovnice s određenom vjerojatnošću (na primjer, većina ljudi obično upisuje "s" nakon "a" mnogo brže nego "g" nakon “s”).
  • Organizirajte skriveni komunikacijski kanal za prijenos podataka između procesa brzinom od oko 4 megabita u sekundi, koji ne koristi zajedničku memoriju, predmemoriju procesora i resurse specifične za CPU jezgru i strukture procesora. Napominje se da je predloženu metodu stvaranja tajnog kanala vrlo teško blokirati postojećim metodama zaštite od napada sa strane kanala.

Eksploatacije ne zahtijevaju povišene privilegije i mogu ih koristiti obični, neprivilegirani korisnici. Napominje se da bi se napad potencijalno mogao prilagoditi organiziranju curenja podataka između virtualnih strojeva, ali to je pitanje bilo izvan opsega studije i testiranje virtualizacijskih sustava nije provedeno. Predloženi kod je testiran na Intel i7-9700 CPU-u u Ubuntu 16.04. Općenito, metoda napada testirana je na stolnim procesorima iz obitelji Intel Coffee Lake i Skylake, a potencijalno je primjenjiva i na poslužiteljske procesore Xeon iz obitelji Broadwell.

Tehnologija Ring Interconnect pojavila se u procesorima koji se temelje na mikroarhitekturi Sandy Bridge i sastoji se od nekoliko sabirnica u petlji koje se koriste za povezivanje računalnih i grafičkih jezgri, poslužiteljskog mosta i predmemorije. Bit metode napada je da, zbog ograničenja propusnosti prstenaste sabirnice, memorijske operacije u jednom procesu odgađaju pristup memoriji drugog procesa. Identificiranjem detalja implementacije obrnutim inženjeringom, napadač može generirati opterećenje koje uzrokuje kašnjenje pristupa memoriji u drugom procesu i koristiti ta kašnjenja kao sporedni kanal za dobivanje informacija.

Napade na interne CPU sabirnice otežava nedostatak informacija o arhitekturi i načinima rada sabirnice, kao i visoka razina šuma, što otežava izolaciju korisnih podataka. Bilo je moguće razumjeti principe rada sabirnice obrnutim inženjeringom protokola koji se koriste pri prijenosu podataka kroz sabirnicu. Za odvajanje korisnih informacija od šuma korišten je model klasifikacije podataka temeljen na metodama strojnog učenja. Predloženi model omogućio je organiziranje praćenja kašnjenja tijekom izračuna u određenom procesu, u uvjetima kada više procesa istovremeno pristupa memoriji, a određeni dio podataka se vraća iz predmemorije procesora.

Dodatno, možemo primijetiti identifikaciju tragova korištenja exploita za prvu varijantu Spectre ranjivosti (CVE-2017-5753) tijekom napada na Linux sustave. Eksploatacija koristi curenje informacija sa strane kanala za pronalaženje superbloka u memoriji, određivanje inode datoteke /etc/shadow i izračunavanje adrese memorijske stranice za dohvaćanje datoteke iz predmemorije diska.

Izvor: opennet.ru

Dodajte komentar