Bezpečnost | Hacking | Servery | Odposlech

Mohou být v počítačích neviditelné štěnice? Technicky je to možné, ale nemáme jediný důkaz

  • Je tomu rok, co Bloomberg publikoval výbušnou zprávu
  • Na amerických serverech měly být čínské štěnice
  • I když to byla nejspíše kachna, experti ukázali, jaký by byl postup

Je tomu skoro přesně rok, co se na Bloombergu objevil článek s prostým nadpisem The Big Hack. Pokud si na něj už nepamatujete, jen připomenu, že se jednalo o obsáhlou zprávu o údajném instalování štěnic velikosti malých elektronických součástek na základní desky serverových počítačů.

A to ne jen tak ledajakých – mělo se totiž jednat o servery, které sloužily v datových centrech Amazonu, Applu a dalších velkých digitálních společností.

Kdyby se podobná zprávička objevila na kdejakém neznámém blogu, nikdo by ji nebral vážně, autorita amerického Bloombergu však zapůsobila jako červený hadr a The Big Hack rozpoutal vlnu auditů nejen u výrobce samotných základních desek, ale i v nitru federálních institucí.

Je to kachna!

Za pár týdnů bylo hotovo a Super Micro Computer sdělil bezpečnostní komunitě: Na našich deskách žádné štěnice nejsou a zpráva Bloombergu je naprostý nesmysl.

a9cf1b78-9d2c-4fb6-9215-55dc32619758
Fiktivní vizualizace údajné štěnice, která měla mít rozměry SMD kondenzátoru nebo rezistoru. Poškození podobná nařčení odmítli.

V podobném duchu zareagovaly také společnosti Apple, Amazon a nakonec i NSA, která má s odposlechy všeho druhu dostatek zkušeností. Bloomberg si nicméně za svým výbušným článkem nadále stál, nestáhl jej, a tak dal prostor spekulacím, jak to asi bylo doopravdy. Jedno je jisté, kauza z loňského října se už nikdy spolehlivě nevyřeší a bude jen podporovat nejrůznější fámy.

The most epic fail

A jak na The Big Hack zareagovala samotná komunita hackerů? Tedy těch hodných, kteří věnují svoji energii a um k odhalování bezpečnostních děr napříč IT?

48dbea84-8453-4dd8-a745-2521d2d780ac
Reportéři Bloombergu dostali od hackerů cenu za fail roku. Ovšem za jejich vlastní fail.

Celou kauzu ocenili dvěma trofejemi The Pwnie Awards z respektované konference BlackHat. Má to je jen jeden háček, reportáž Bloombergu a následnou mánii totiž vyhrála v kategoriích Pwnie for most-over-hyped bug a Pwnie for most epic fail.

Stručně řečeno, i BlackHat označil celou reportáž a následné události za nafouknutou bublinu bez jediného relevantního důkazu.

Je něco takového vůbec možné?

Nicméně pozor, je tu totiž jedno ale. Jednou věci je, zdali k připájení drobného čipu kdesi v čínské fabrice skutečně došlo, no a druhou věcí je, zdali je něco takového vůbec možné.

Tedy jestli lze opravdu nahradit třeba jen drobný SMD rezistor stejně velkým čipem, aniž by revizní analytik cokoliv poznal, a aby zároveň tento drobný čip, který nemá prakticky žádné další elektrické vývody, mohl napáchat nějakou reálnou škodu.

Kritický čip BMC

Odpověď? Ano, je to možné. A co víc, nepotřebujete k tomu armádu inženýrů s IQ 140 a bezednými zdroji. Stačí vám jen jeden bezpečnostní elektrokutil. Třeba Trammell Hudson, který si vyzkoušel, jak by takový hack na serverovou základní desku od Super Micro Computer vypadal v praxi. Stručně řečeno, snažil se napodobit přesně to, o čem tehdy psal Bloomberg.

Štěnice mohla být nainstalovaná třeba poblíž speciálního čipu, kterému se říká BMC (Baseboard Management Controller). Jak už název napovídá, může se jednat o relativně jednoduchý armový mikrokontroler na základní desce serverového počítače, který má nicméně ohromnou moc.

1ab81ff5-e808-43c2-ab11-b3ddce412718
BMC čip na deskách Supermicro má přístup k hromadě komponent nezávisle na hlavním procesoru Intel Xeon (Foto: Trammell Hudson, CC-BY)

BMC je tu od toho, aby mohl na dálku zapínat a vypínat počítač, instalovat nový firmware a řešit veškeré komplikace nezávisle na operačním systému, aniž by se musel k počítači fyzicky přiblížit technik. BMC a jeho firmware tedy může mít přístup prakticky ke všemu počínaje sítí a konče třeba USB, videovýstupem a sériovou linkou s právy administrátora.

Zároveň musí platit, že se k BMC nesmí za žádných okolností dostat nikdo jiný než člověk s patřičnými právy, o což se musí postarat návrh celého počítače.

Jak odposlouchávat (a měnit) firmware

Hudson si vzal na paškál základní desku řady Supermicro X10SDV-T a začal zkoumat její elektrické obvody. Podle výrobce byl hack právě tohoto modelu nemožný, Super Micro se totiž nikde nechlubí tím, jak je samotný čip BMC zapojený a žádný inženýr společnosti se nikdy nedostane ke kompletní dokumentaci.

85b46a15-d0cf-4bd6-bbe7-163f3c38919c
BMC čip na základní desce Supermicro a flashová paměť s firmwarem (Foto: Trammell Hudson, CC-BY)

To je sice pravda, Hudson ale nic podobného k vlastnímu průniku do jeho firmwaru nepotřeboval! Jak je to možné? Jednoduše, tak trochu božský čip totiž nahrává firmware z externí flashové paměti, což je ostatně u mnoha pokročilejších mikrokontrolerů vcelku běžná praxe.

A právě v tom spočívá háček.

I když deska používá hackerům-odolný čip BMC, který nemá žádnou veřejnou dokumentaci, ostatní elektrosoučástky na desce jsou zcela konfekční a běžně dostupné – včetně drobného švábu zmíněné externí 32MB flashové paměti od Macronix International.

13cbe0b8-39d2-42f3-b9c9-d5a6d21eeb4a
Samotný čip BMC sice veřejnou dokumentaci sice nemá, flashová paměť s jeho firmwarem ale ano, jedná se totiž o vcelku běžnou 32MB SPI Flash (Foto: Trammell Hudson, CC-BY)

Hudsonovi tedy stačilo nahlédnout do dokumentace, aby si všiml, že vodič datového výstupu paměti je s čipem BMC spojený skrze drobný rezistor. Když desku připojíte k napájení, BMC nahraje firmware z flashové paměti právě skrze tuto linku.

Sled nul a jedniček

Flashová paměť používá ke komunikaci sběrnici SPI, které jsme se už několikrát věnovali v našem seriálu o programování elektroniky, takže jeho čtenáři vědí, že ke spojení potřebuje hned několik vodičů. Vedle zápisu ještě čtení, pak pulzující signál, který udává takt, a tedy i rychlost komunikace, a nakonec identifikační signál.

Jelikož chtěl Hudson docílit toho, aby jeho štěnice vypadala jako rezistor, který má jeden vstup a jeden výstup, tyto další signály nemohl použít, protože by z jeho falešného rezistoru vedlo více drátků, čehož by si revizní elektroinženýr mohl při auditu všimnout.

3dffbcb5-977b-41cd-b2bd-deee2e6fb486cb769dab-ce2c-41a2-acc5-20799a60994b
Nejprve bylo třeba zjistit rychlost sběrnice SPI, a poté při startu odposlechnout celé nahrání firmwaru z flashové paměti (Foto: Trammell Hudson, CC-BY)

Všechny ostatní signály tedy musel prostě reverzně analyzovat. To znamená, že pomocí logického analyzátoru/osciloskopu nejprve zjistil, jak se na tomto vodiči rychle střídají stavy 0/1, z čehož odhadl pravděpodobný takt časového signálu.

Jelikož se v praxi používá u sběrnice SPI jen několik základních rychlostí a tedy taktů, Hudson brzy přišel na ten správný, což si ověřil jednoduše tak, že nahrál všechny střídající se nuly a jedničky na vodiči při připojení desky k napájení a získal tak obsah paměti.

Nahradíme prázdné místo vlastním kódem?

Další analýzou rozdělení dat v paměti pak Hudsonovi stačilo jediné. Najít vhodné prázdné místo (vyplněné logickými jedničkami), a jakmile potečou z paměti do BMC čipu právě skrze odposlouchávaný vodič, jednoduše je nahradí vlastním sledem logických nul a jedniček, které budou reprezentovat jeho vlastní programový kód. Bylo to relativně snadné i z toho důvodu, protože samotná data uvnitř flashového čipu nebyla nijak šifrovaná.

06102dff-9ff2-4bf0-9827-a284b974101f
Prázdné místo stačí nahradit vlastními bity s programovým kódem. Jedná se tedy o případ útoku MITM. (Foto: Trammell Hudson, CC-BY)

Útok je rozhodně možný, ale chybějí důkazy

Bezpečnostnímu expertovi se to nakonec podařilo a jeho odposlechnutý a za běhu nahrazený firmware čipu BMC zobrazil v servisním textovém terminálu jeho vlastní pozdrav.

Tím Hudson potvrdil, že útok takového typu je přinejmenším v případě této konkrétní desky opravdu možný, aniž by se na základní desce objevil nějaký nový a hlavně patrný elektrický obvod.

fadd8da9-37aa-4c6c-b84c-9170573a4f46
V terminálu se zobrazilo uvítání a ASCII art, které vůbec nebyly součástí originálního firmwaru BMC. Útočník je vložil do firmwaru po cestě při jeho načítání z externí flashové paměti. (Foto: Trammell Hudson, CC-BY)

Jediné, co udělal, bylo to, že jednu součástku nahradil druhou, přičemž samotný elektrický náboj datové linky se musel postarat i o napájení jeho čipu (tzv. parazitní napájení).

Jediné, co Hudson nedokázal, byla samotná miniaturizace, aby drobný SMD rezistor nahradil stejně maličkým čipem – svůj prototyp postavil na programovatelném hradlovém poli FPGA, které je mnohem větší. Pokud by však podobný útok prováděla některá z velkých státních entit – třeba zrovna ta čínská, výroba vlastního čipu v některé z mnoha fabrik okolo Šen-čenu, by nebyl žádný problém.

Útok na firewall Cisco se švábem za dolar

Práce Trammella Hudsona, se kterou se později pochlubil na bezpečnostní konferenci, přitom není jediná svého druhu. Hudson se snažil maximálně napodobit to, o čem psali reportéři Bloombergu a ověřit slova šéfa výrobce této základní desky, že je něco takového naprosto nemožné. To zjevně vyvrátil.

Pak tu byl ale zástup dalších hackerů, kteří v průběhu roku demonstrovali použití podobných štěnic za méně přísných podmínek. O jednom z nich, Monta Elkinsovi, nyní píše Wired a to hlavně z toho důvodu, že Elkins k demonstraci použil běžnou elektroniku za pár dolarů z Aliexpressu, byť jako terč použil desku jiného výrobce – firewall Cisco ASA 5505.

0a8d45b5-e065-4efd-86f7-e189d6a3bbb5
Monta Elkins ovládl router Cisco připájením štěnice v podobě drobného osmibitového mikrokontroleru ATtiny85, který znají i fanoušci Arduina. (Foto: Monta Elkins, via Wired)

Nutno podotknout, že Elkinsovu štěnici by svědomitý elektroanalytik s kompletní dokumentací asi odhalil, bezpečnostní specialista totiž tentokrát využil několika volných servisních pinů na desce k připájení vcelku běžného osmibitového mikrokontroleru ATtiny85 s rozměry několika milimetrů čtverečních.

I tento primitivní čip čtenáři našeho seriálu dobře znají, protože jsme si s jeho pomocí loni naprogramovali primitivní hru, která se musela celá vejít do jeho titěrné paměti.

e902aa23-4373-4414-8678-dde681480c944080dece-9e53-4713-98bb-fae16dad7eaa65b518af-ad6f-4242-93f7-64b0433f3903
Čip ATtiny85 v rozměrnější konstrukci DIP pro snadné prototypování a jeho SMD konstrukce na destičkách s USB. Stejný čip Elkins použil k odeslání vlastních instrukcí do řídícího čipu routeru Cisco ASA 5500.

Elkins namísto hry napsané v jednoduchém prostředí Arduina naprogramoval firmware, který se skrze vodiče na základní desce spojil se záchranou konzolí hlavního čipu a začal ji předávat instrukce s právy administrátora.

Odposlech nebo ovládání kritických čipů připájením jedné jediné a titěrné součástky je tedy technicky nesporně možné, avšak to, zdali k tomu (byť třeba jen v ojedinělých případech) dochází, zůstává i nadále jen v oblasti dohadů.

Na první a jednoznačně prokázaný bezpečnostní průšvih tohoto typu si tedy budeme muset asi ještě počkat.

Diskuze (14) Další článek: Program Windows Insider slaví 5 let. Díky němu mohou uživatelé směřovat Desítky tam, kam chtějí

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,