Pojďme programovat elektroniku

Programování elektroniky: Když přeteče zásobník, vybuchne jaderná elektrárna Havlíčkův Brod

  • Každý rok se dočteme o hromadě zranitelností v softwaru
  • Dnes si vyzkoušíme tu učebnicovou
  • Záškodník způsobí fiktivní atomovou katastrofu

A máme tu další zranitelnost v programu X, pomocí které může útočník Y spouštět zákeřný kód Z. Zhruba nějak tak začíná každý zpravodajský článek ze světa počítačové bezpečnosti a ze zranitelnosti, zákeřného kódu a jeho spouštění se už pro mnohé staly vlastně nicneříkající slova.

Abychom těmto slovům dali skutečný tvar a obsah, dnes si to celé vyzkoušíme. Ale nebojte se, doktorát z MIT nebude potřeba, tento prakticky vhled do počítačové (ne)bezpečnosti totiž s trochou píle zvládne i vaše babička.

Útokem buffer overflow obejdeme heslo

V dnešním pokračování našeho seriálu o programování elektroniky nebudeme flashovat žádný malý čip, ale vytvoříme aplikaci pro ovládání fiktivní jaderné elektrárny v Havlíčkové Brodě s primitivním přihlašovacím formulářem pro jejího ředitele, inženýra Papouška.

Podívejte se na náš útok v praxi. Podrobné vysvětlení krok za krokem najdete níže v článku pro předplatitele:

Zdrojové kódy a spustitelné desktopové programy pro Windows i Linux najdete na GitHubu našeho seriálu

No, a pak – aniž bychom znali Papouškovo heslo – se do ovládacího pultu dostaneme také. Demonstrujeme si na něm totiž učebnicový útok z rodiny buffer/stack overflow. Jako vždy nebude chybět kompletní a komentovaný zdrojový kód programu. Tak, dost bylo teoretické omáčky a hurá do Havlíčkova Brodu.

Jaderná elektrárna Havlíčkův Brod

Poblíž soutoku Šlapanky a Sázavy stojí už od roku 1986 elektrárna s dvojicí reaktorů VVER 440 Milada-I3A a Zuzana-I3B. Pro výrobu páry v generátorech se pak používá přilehlá vodní nádrž s docela trefným názvem Kafíčko.

48859d42-db02-4118-8058-3b1edf02559e
Jaderná elektrárna Havlíčkův Brod s nádrží Kafíčko na Mapy.cz

JEHB (Jaderná elektrárna Havlíčkův Brod) prošla v 90. letech rozsáhlou modernizací a jako první v tehdejším mladičkém Česku dostala nový počítačový systém, jehož autorem byl Státní ústav číslicový, s.p.

Součástí je textový a multiplatformní terminál pro vzdálený přístup skrze internetovou síť napsaný v jazyku C. A právě s ním si dnes pohrajeme, program se totiž zrodil před bezmála 30 lety, no a tomu odpovídá i jeho naivní zabezpečení.

ea8f9229-d13a-4981-b988-a6ce63434a51
Textový terminál pro přístup pana ředitele Papouška

Textový terminál pro ředitele Papouška 

Terminál vás po spuštění požádá o heslo, no a pokud bude odpovídat, inženýr Papoušek bude moci provést hromadu operací. Mohl by třeba z tepla své postele přetížit sekundární reaktor Zuzana-I3B a proměnit malebnou Vysočinu na stovky let v radioaktivní pustinu.

f862398f-bff8-4f7d-8821-26b35a47ef60
Úspěšné přihlášení k zabezpečenému terminálu elektrárny

Pokračování článku patří k prémiovému obsahu pro předplatitele

Chci Premium a Živě.cz bez reklam Od 41 Kč měsíčně
Diskuze (2) Další článek: Kioxia našla cestu k extrémně velkým SSD, ale musela by je chladit tekutým dusíkem

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