TPM se zlomi v pol ure

Matej Huš

8. avg 2021 ob 00:22:32

Od nekdaj je veljalo, da je računalnik, do katerega napadalec pridobi fizični dostop, slej ko prej kompromitiran. Z razvojem novih metod zaščite, od šifriranja do posebnih varnih enklav v čipih (Trusted Platform Module oz. TPM) se postavi vprašanje, ali ta problem še vedno ostaja. Raziskovalci iz Dolos Group so nedavno pokazali, da je prestrežen računalnik kljub vsem varnostnim ukrepom še vedno ranljiv.

Proučevali so scenarij, ko podjetje zaposlenim pripravi prenosne računalnike za delo od doma. Ti upoštevajo vsa znana priporočila NSA in NIST, kar vključuje šifriranje vsebine diska, uporabo varne (TPM) strojne opreme itd. Dobili so torej računalnik, ki je bil zaščiten, hkrati pa o njem niso vedeli ničesar. Ali ga je mogoče zlomiti?

Izkaže se, da v pol ure! Čeprav klasični prijemi niso delovali (napad prek DMA, obvoz avtentikacije, pridobivanje podatkov iz vmesnika ethernet/USB itd.), je šibek člen kar TPM. Računalnik je imel šifriran disk z BitLockerjem in se je avtomatično zagnal do prijavnega zaslona v Windows. To je zadostovalo. Ugotovili so, da TPM, ki je sicer zelo varen čip, v katerega niti fizično ni možno vdreti brez uničenja, komunicira s procesorjem prek vmesnika SPI. Ta ne nudi šifriranja, ki ga mora zato izvajati BitLocker. Raziskovalci so zato fizično prispajkali kontakte na čip in prebrali komunikacijo med TPM in procesorjem. Iz zbranih podatkov je bilo možno obnoviti šifrirni ključ za disk, kar jim je omogočil dostop do vseh podatkov na disku. Tam so med drugim našli VPN, ki se z omrežjem podjetja povezuje tako, da se pristnost preverja s certifikatom, ki je naložen na disk. Na ta način je v modernih sistemih omogočeno, da se računalnik poveže v VPN, še preden je kdo prijavljen vanj. To je sicer koristno za delo administratorjev, je pa točka tveganja. Od tod je šlo zlahka - z manipulacijo so prepričali Windows, da ne vpraša za geslo, temveč odpre ukazno vrstico. Od tem so prek VPN dostopili do sistema v podjetju.

Vse to kaže, da tudi najnovejši varnostni mehanizmi niso zadosti, če ne predvidimo vseh možnosti napada, kar pa je praktično nemogoče. Vseeno so nanizali nekaj osnovnih priporočil, kot so zaščita računalnika z geslom že pri zagonu, hranjenje več ključev in certifikatov (denimo za VPN) v TPM, šifriranje komunikacije med TPM in CPU itd. Predvsem pa je treba imeti v mislih, da računalnik ni nujno varen in legitimen, samo zato ker se je uspel povezati prek VPN.