k47.cz  — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura
twitter FB RSS
««« »»»

Nic nefunguje

16. 12. 2018 — k47 (♪)

„Na tom disku je dvacet let mého života,“ řekla ██████████, když mi v rukách při­stál vadný ex­terní disk, ke kte­rému ne­e­xis­to­valy žádné zálohy.

V tom oka­mžiku mi po zádech začal stékat stu­dený pot. Ten pocit znám víc než dobře. Už mi umřelo ně­ko­lik disků, někdy šlo o fa­tální in­ci­denty, které s sebou od­nesly data, jindy šlo jen o zpes­t­ření dne ná­sle­do­vané rych­lou zá­chran­nou ope­rací nebo ob­no­vou ze záloh. Na­po­sledy mi jako lusk­nu­tím prstů vy­buchlo sys­té­mové SSD a roz­lo­milo se ve dví. Pohled do očí di­gi­tál­ního roz­kladu, kdy na­jed­nou bez va­ro­vání všechno zmizí, jsem už zažil. Nej­horší není pocit, že jsem něco navěky ztra­til, ale ne­jis­tota o co přesně jsem přišel.

Začalo to ne­vinně. ██████████ při­nesla mrtvý disk, jestli bych se na něj nemohl po­dí­vat. Za­po­jil jsem ho do no­te­booku, po­ku­sil se ho na­moun­to­vat, nešlo to, dmesg hlásil ne­o­pra­vi­telné I/O chyby. Ok, říkám, při­po­jím ho do desktopu, udělám obraz disku a pak se uvidí, co na plot­nách ro­tu­jící rzi zů­stalo.

Ona přitom dou­fala, že ji disk bude slou­žit nadosmrti. To může vy­pa­dat jako naivní touha, ale na druhou stranu je to zcela ro­zumný před­po­klad pro člo­věka, který není za­svě­cený do hrůz hard­waru a soft­waru. Když si něco koupím, čekám, že to bude jed­no­duše fun­go­vat co nejdéle, ide­álně na­po­řád. Ale kdo zažil křeh­kost a po­mí­ji­vost di­gi­tální iluze na vlastní kůži a vidí do kře­mí­ko­vých střev strojů, které ovlá­dají jed­n­a­dva­cáté sto­letí, ví, že jde o naivní touhu, pro­tože nic ne­fun­guje. Po­čí­tače ve všech for­mách jsou pře­ludy, pouhé fata mor­gány sta­bi­lity vy­sta­vené z ne­spo­leh­li­vých kom­po­nent a bláz­ni­vých nápadů.

Disky jsou šílené, když se nad tím za­mys­líte—skle­něná plotna po­krytá mag­ne­tic­kým pra­chem, která rotuje 120x za vte­řinu, nad níž se vznáší čtecí hlava tak blízko, že kdyby byla zvět­šená do roz­měru do­prav­ního le­ta­dla, do­slova by oli­zo­vala komíny domů. A to není všechno, nové disky jsou na­pl­něné heliem a ty úplně šílené při zápisu za­hří­vají plotnu la­se­rem, aby mohli za­pi­so­vat ještě víc dat do stej­ného pro­storu.

Flash paměti, které na­hra­dily ro­tu­jící disky a jsou pří­tomny v pa­mě­ťo­vých kar­tách, te­le­fo­nech, table­tech a ja­kém­koli novém za­ří­zení, jsou také šílené. Úlo­žiště je tak ne­u­vě­ři­telně datově husté a v každé buňce se navíc ukládá ně­ko­lik hladin napětí, ne jen jeden bit, 1 nebo 0, 1.8 voltů nebo nic, ale hned ně­ko­lik, které musí přesně roz­po­znat, jinak bude číst smetí. S ros­toucí hus­to­tou se sni­žuje počet pře­pi­so­va­cích cyklů, který u po­sled­ních ge­ne­rací do­sa­huje jen jed­noho tisíce. Když blok pře­píšu 1000x, bude mrtvý. Ve­sta­věný pro­ce­sor proto musí řešit roz­klá­dání zátěže na celý flash. Flash disk je tak pl­no­hod­notný po­čí­tač s vlast­ním sou­bo­ro­vým sys­té­mem, data jsou ne­u­stále po­ru­šo­vána, ale logika se ne­u­stále stará o jejich opravu a kon­zis­tenci.

RAM paměti jsou také šílené, kon­krétně DRAM. Ta po­tře­buje jen jeden kon­den­zá­tor a jeden tran­zis­tor, aby ucho­vala jeden bit in­for­mace. Jde o tak husté pole, kde všechny prvky jsou u sebe tak blízko, že opa­ko­vaný zápis do jed­noho místa může pře­ho­dit sou­sední bity. Na tomto prin­cipu je za­lo­žen útok rowha­m­mer. K po­ru­šení dat může dojít ná­hodně, často se říká, že za chyby může kos­mické záření, které tre­filo kon­krétní kon­den­zá­tor. Ser­ve­rové paměti, kde k chybám nemůže dojít, ob­sa­hují ECC—me­cha­nis­mus kon­t­rol­ních součtů, které dokáží opra­vit jed­no­bi­to­vou chybu a de­te­ko­vat dvou­bi­tové závady. V kon­zum­ních za­ří­ze­ních ECC paměti v na­prosté vět­šině pří­padů nejsou, z důvodu sní­žení ceny, pří­tomné.

Pro­ce­sory jsou také šílené. Jde o mi­li­ardy tran­zis­torů a ki­lo­me­try drátů, které mají fun­go­vat přesně podle spe­ci­fi­kace a zcela bez chyb. To je jenom zbožné přání. Každý kus kře­míku ob­sa­huje hard­wa­rové chyby, které nikdy nejsou opra­veny.

Intel pra­vi­delně vydává errata—seznam chyb v kře­míku—a jen ty nej­zá­važ­nější mají do­sta­tečný dopad a při­táh­nou dost pu­b­li­city, aby byly řešeny a možná ně­ja­kým způ­so­bem opra­veny. Spectre a Mel­t­down jsou ty nej­zá­važ­nější z nich. Přes noc se uká­zalo, že skoro každý po­čí­tač, tablet nebo te­le­fon byl celé roky zra­ni­telný. Pro­tože šlo o zcela novou ka­te­go­rii zra­ni­tel­ností a začal ve velkém její výzkum a téměř každý týden je ob­je­vena nová va­ri­anta Spectre nebo Mel­t­down (ne­dávno tahle). Ale to není všechno, chyby v hard­waru nejsou oje­di­něné—Sky­lake měl chybu v Hy­per­trea­dingu, Haswell ne­o­pra­vi­telné chyby v hard­wa­rové trans­akční paměti a k tomu musíme při­po­číst moře errat, které říkají jen něco ve smyslu „kom­bi­nace in­strukcí X, Y a Z může vést ke špat­ným vý­sled­kům“.

V prin­cipu může cokoli kdy­koli umřít, bez vy­svět­lení a bez ce­re­mo­nií, nebo to může umírat okatě a oká­zale, nebo může celé roky do­chá­zet k ne­po­zo­ro­vané de­gra­daci dat. In­ter­ne­tové firmy uklá­dají data aspoň ve třech ko­pi­ích v mi­ni­málně dvou lo­ka­li­tách a ještě k tomu mají stu­dené zálohy. To vše jen proto, aby ne­do­šlo ke ztrátě dat. Ve velkém mě­řítku je tato křeh­kost vidět jasně, v da­ta­cen­tru na­pě­cho­va­ném ser­very každý den umře ně­ko­lik po­čí­tačů, pamětí, disků a sí­ťo­vých karet. Nejde o vý­ji­mečný stav, ale běžnou sou­část dne.

A to ne­mlu­vím o chy­bách v soft­waru, které jsou všu­dypří­tomné a číhají na každém rohu. Vět­ši­nou jsou be­nigní, občas otravné (ne­dávno se mi stalo, že když jsem klikl na soubor, abych ho ote­vřel, ten byl místo toho smazán) a někdy jde o kri­tické zra­ni­tel­nosti jako Heart­bleed nebo shell­shock. Taky ne­mlu­vím o úni­cích dat a hesel (v po­sled­ních týd­nech z QuoryMarri­otu) nebo rou­te­rech a IoT za­ří­ze­ních, která nejsou nikdy ak­tu­a­li­zo­vány. Zkuste před od­bor­ní­kem na po­čí­ta­čo­vou bez­peč­nost zmínit elek­tro­nic­kém hla­so­vání a sle­dujte jak zbledne, začne se třást a mumlat něco o tom, že po­tře­buje panáka.

Ale přesto by bylo nefér tvrdit, že vůbec nic ne­fun­guje, pro­tože in­ter­net ně­ja­kým způ­so­bem běží a naše po­čí­tače a te­le­fony se každou chvíli spon­tánně ne­vzně­cují. Spra­ved­li­vější by bylo říct, že ne­mů­žeme nic brát jako jis­totu, celý di­gi­tální svět nebo jeho velká část může zne­na­dání vy­buch­nout a, i když je to jen malá šance, musíme být ne­u­stále při­pra­veni na nej­horší.

píše k47 & hosté, ascii@k47.cz