Diit.cz - Novinky a informace o hardware, software a internetu

UEFI versus rm -rf / versus systemd versus lidský faktor

Ano, příkaz „rm -rf /“ žádný běžný uživatel nepoužívá. Ale kdyby ve vás náhodou přesto hlodala touha jej zkusit, tak prosím ne pokud máte počítač s UEFI.

UEFI má na Linuxu (a samozřejmě i jiných OS) tu vlastnost, že EFI proměnné zpřístupňuje v logické struktuře v adresáři /sys. Příkaz rm -rf /, pokud jej neznáte, slouží k rychlému smazání disku. Celého disku, resp. celé struktury. To lomítko v něm určuje kořenový adresář celého filesystému, v našem scénáři tedy včetně (U)EFI části počítače.

Aktuální problém linuxového světa je v tom, že prakticky téměř celý (no dobře, řekněme tedy tak 97 % majoritních linuxových distribucí) používá inicializační systém systemd. On to vlastně už není jen init, systemd umí obstarávat stále větší spektrum úkonů, včetně virtualizačních a jiných a v systémech, kde je nasazeno, zpřístupňuje (U)EFI v adresáři /sys pro čtení i zápis. Když pak příslušný mazací příkaz pustíte, „odpálí“ všechno včetně EFI proměnných. A v závislosti na implementaci v počítači tak může „usmrtit“ celý počítač, tedy jeho základní desku (jiné komponenty jako třeba DIMM moduly či optickou mechaniku nějaké UEFI moc netrápí, u notebooků ve stylu „všechno na jednom PCB“ to ale může být hodně velký problém).

Lennart Poettering se k tomu už za systemd vyjádřil. Není dle něj důvod cokoli měnit, tedy zpřístupňovat EFI jen pro čtení. Podobně třeba systemd dává rootovi plný přístup k /dev/sda, protože to má využití a v obou případech je k odpravení celého systému „do věčných lovišť“ potřeba právě onen vědomý úkon. Já bych jízlivě dodal: do chvíle, než nějaký 16letý hacker napíše kód, který využije nějaké bezpečnostní díry k získání práv roota a spustí to na pozadí sám, čistě jen pro tu legraci.

I Matthew Garrett souhlasí s postupem systemd. To nemůže být dle něj odpovědné za to, že daný počítač (základní deska) má nekvalitní a špatně udělanou implementaci UEFI/firmwaru. Systemd je v tomto zkrátka nevinně. Je potřeba lidský faktor k tomu,aby byl problém, ať již faktor špatného správce systému, nebo faktor špatného vývoje UEFI ve firmě, která vám základní desku, počítač či notebook dodala. Stejného destrukčního efektu lze dosáhnout i na Windows.

Tagy: 

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku UEFI versus rm -rf / versus systemd versus lidský faktor

Pátek, 5 Únor 2016 - 16:26 | Petr Kraus | Protože jsem se snažil nastínit absurditu "...
Čtvrtek, 4 Únor 2016 - 21:02 | HKMaly | Proc bys toho subroota mazal? Osobne nechapu,...
Čtvrtek, 4 Únor 2016 - 20:53 | HKMaly | Prave proto, ze root neni osoba ale uroven prav,...
Čtvrtek, 4 Únor 2016 - 20:50 | HKMaly | Kdybys rekl BSD, ale MS-DOS? Ani ve snu. A...
Čtvrtek, 4 Únor 2016 - 12:17 | IT Joker | „na Windows bys na to musel napsat program a...
Čtvrtek, 4 Únor 2016 - 11:44 | Jirka1 | Vidím rozdíl mezi tím zabít si příkazem systém a...
Čtvrtek, 4 Únor 2016 - 09:03 | danieel | Asi takove, ze ta parodie na OS porad respektuje...
Čtvrtek, 4 Únor 2016 - 08:47 | kozec | Eh, čo? Samozrejme, že to nepoužívam... Ono...
Čtvrtek, 4 Únor 2016 - 01:58 | xvasek | V Solarisu šly zavádět moduly jenom před bootem...
Čtvrtek, 4 Únor 2016 - 00:26 | mpe | Problém je v tom, že root není osoba, která si...

Zobrazit diskusi