Pozor na Thunderbolt. Připojené zařízení může krást data nebo ovládnout počítač

1. 3. 2019

Sdílet

Rozhraní Thunderbolt má díky přímému napojení periférií na sběrnici PCI Express pokročilejší schopnosti a také vyšší výkon než obyčejné USB. Umožňuje to například použít ho pro připojení externích grafických karet k notebookům. Ovšem stinnou stránkou těchto výhod jsou bezpečnostní rizika. Thunderbolt totiž umožňuje nepřátelskému zařízení kompletní přístup k celému počítači i datům v něm. A jak ukazují nově objevené zranitelnosti, ani IOMMU není ochrannou a současné operační systémy se tomuto riziku moc neumí bránit.

 

DMA u externího zařízení: starý problém

Podobné problémy si starší ročníky asi budou pamatovat i s rozhraním FireWire (IEEE 1394) a centrální příčina je zde stejná – stejně jako FireWire umožňuje totiž Thunderbolt připojeným zařízením kvůli vyššímu výkonu požívat DMA, neboli přímý přístup do paměti hostitelského počítače, a to jak pro čtení, tak pro zápis. To samozřejmě znamená, že pokud vám útočník podstrčí nějaké zlovolně upravené zařízení, může taková periférie smazat nebo přečíst vše v PC, případně potichu nainstalovat malware.

Thunderboltu 3 je toto riziko zhoršené tím, že používá univerzální port USB-C. Uživatel si proto může myslet, že do portu připojuje jen „hloupou“ nabíječku nebo třeba jenom USB flashdisk, které by neměly být tak rizikové. Ale zařízení se zatím může připojit v režimu Thunderbolt 3, jenž mu dává mnohem nebezpečnější možnosti. Infikované může být také zařízení, které někde koupíte – kabel, redukce z USB na VGA nebo podobné zařízení. A teoreticky je také možné, aby nebezpečné naprogramování zanesl do původně nevinného zařízení nějaký po internetu se šířící malware. Nebo zrádný zaměstnanec továrny, kde se vyrábí.

Útok Thunderclap: IOMMU dnes bohužel nefunguje

Protože riziko spojené s DMA je dlouho známé, jsou na světě obrany, které ho mají řešit, a obecně bránit systém před potenciálně nebezpečným připojeným hardwarem (i interním). Takzvaná jednotka IOMMU slouží v dnešních PC k tomu, aby omezila zařízením přístup jen na ty oblasti paměti, kde mají co pohledávat a které potřebují pro svoji práci a legitimní komunikaci s hostitelem.

zranitelnost thunderbolt thunderclap fpga zarizeni Zařízení Thunderclap používané pro penetrační testování rozhraní Thunderbolt a ochrany IOMMU

IOMMU by proto měla chránit před podobnými útoky, ale bohužel se ukazuje, že tato ochrana není často účinná. Univerzitní výzkumníci nyní publikovali referát o útocích, kterými lze navzdory IOMMU z připojeného zařízení proniknout do počítačů s macOS, FreeBSD i Linuxem (Windows jmenované nejsou, ale problematické jsou také). Vyrobili pro demonstraci těchto děr zařízení pojmenované Thunderclap založené na FPGA, které je naprogramované k proniknutí do ovladačů a operačního počítače, ke kterému je připojeno. A testování s Thunderclapem ukázalo, že během sekund se takto lze kompletně nabourat do zmíněných operačních systémů na řadě hardwarových platforem. Striktně vzato je ovšem takto ohrožen nejen Thunderbolt 3, ale rozhraní PCI Express obecně – jen u Thunderboltu je tato zranitelnost více exponovaná jeho externí povahou. Mimochodem, až začnou mobilní zařízení podporovat karty microSD s rozhraním NVMe/PCI Express, budou se také moci stát terčem úplně stejného útoku z nich.

 

thunderclap iommu thunderbolt zraninitelnost IOMMU má omezovat připojená zařízení v jejich přístupech do paměti, ochrana ale není 100% spolehlivá

Útok Thunderclap překonává ochranu s IOMMU proto, že operační systémy neimplementují její použití účinně. Autoři výzkumu předem o nalezených zranitelnostech informovali dotyčné firmy a některé ze slabých míst by údajně mezitím již měly být řešené aktualizacemi od Apple, Microsoftu a Intelu. Ale chyby, které Thunderclap demonstroval, nejsou ve zmíněných systémech zalátané všechny. Někteér zůstávají například v MacOS, u Linuxu a FreeBSD se také teprve bude řešit, co s výsledky projektu Thunderclap dělat. Microsoft například používá IOMMU jen velmi omezeně, takže asi budou často zranitelné i bez potřeby proniknout přes IOMMU. Podporu teoreticky mohou mít zařízení, vydaná loni s Windows 10 1803 a novější, ale výrobci zařízení nemají údajně stále dokumentaci, jak tyto ochrany (Kernel DMA Protection) používat. Situaci komplikuje to, že je třeba řešit množství různých ovladačů. Obecně ale výzkumníci udávají, že zranitelné na tyto chyby jsou teď všechny notebooky a počítače Apple s Thunderboltem, i standardní PC a notebooky, které tuto konektivitu obsahují.

thunderclap iommu thunderbolt zraninitelnost os Zranitelnosti odhalené projektem Thunderclap a jejich stav v různých operačních systémech

I s IOMMU je dává PCI Express útočníkům velký prostor

I pokud bude IOMMU správně implementovaná a používaná operačním systémem, ale asi Thunderbolt 3 zůstane určitým rizikem, protože stále bude otevírat nezanedbatelný „attack surface“. Vždy bude riziko, že nějaká špatně napsaná kontrola bude obsahovat zneužitelné chyby typu buffer overflow, kterými se zařízení bude moci přes omezení IOMMU dostat dál do systému. Podobný problém je spatřován například v tom, že mají zařízení pro USB-C začít používat autentizační certifikáty. A při jejich parsování je opět riziko chyb, kdy speciálně upravený certifikát může spustit chybu v obslužném kódu a vložit kód útočníka. Rozhraní, které je mezi externím zařízením a hostitelským systémem i s IOMMU, je komplexní a podle výzkumníků „porézní“, takže bude asi dlouhodobě rizikové na výskyt zneužitelných slabých míst. Thunderclap byl uvolněn jako open source a má sloužit výrobcům hardwaru právě k testování a odhalování takových zranitelností, ale jak známo, software obvykle nikdy nebývá bez chyby.

Řešení? Dávat si pozor, co zasouváte, omezit Thunderbolt

Problém s pokročilými rozhraními jako Thunderbolt 3 (a PCI Express, pokud přijmeme předpoklad, že i instalované interní rozšiřující karty nebo třeba SSD mohou být rizikové) bude asi dlouhodobý a nebude mít nějaké snadné řešení. Výzkumníci doporučují mít na počítačích zapnutou IOMMU v operačním systému – tam, kde má uživatel vůbec možnost ji zapnout (Linux, FreeBSD).

bitcoin_skoleni

Kromě toho je ale také záhodno vyhýbat se nedůvěryhodným zařízením pro port USB-C (nebo miniDisplayPort u počítačů s Thunderboltem 1 a 2). A pozor, mezi zařízení je zde nutné zahrnout i kabely a nabíječky – ty sice mohou vypadat jen jako pasivní kus drátu, ale i v nich se mohou skrývat aktivní čipy, které tedy mohou zaútočit na systém. Podle výzkumníků je pro uživatele, kteří chtějí co největší bezpečnost, nejlepší řešení úplná deaktivace rozhraní Thunderbolt. Zejména asi u notebooků, které při přenášení a mobilní práci mohou na podobou past natrefit snáze. Vypnutí funkce Thunderboltu na úrovni firmwaru počítače by mělo těmto útokům zabránit, a aspoň v některých případech zároveň umožnit danému fyzickému portu dál fungovat v roli běžného USB a nabíjecího portu.

thunderbolt prompt windows Prompt ve Windows dotazující se na aktivaci Thunderboltu pro připojené zařízení. Pokud by šlo o periférii, která nemá oficiálně Thunderbolt používat, mohlo by jít o známku útoku

Kromě toho je také možné mezi pochybná zařízení a počítač zapojit hloupý USB hub či dokovací zařízení, o kterém víte, že Thunderbolt nepodporuje. Nedůvěryhodný kabel nebo klíčenka pak nebude schopné režim Thunderbolt aktivovat a zaútočit na PC. Pokud vám počítač vyhodí při připojení zařízení požadavek na přepnutí do režimu Thunderbolt (Windows, některé Linuxy) a u daného zařízení to není očekáváno, pak si je také třeba dávat pozor a povolení neudělit.

Galerie: Zranitelnost Thunderclap: zařízení připojená k Thunderboltu mohou krást data i ovládnout počítač