Szerző: Gálffy Csaba

2016. november 16. 16:30:00

Súlyos hiba a linuxos háttértár-titkosításban

Hibásan kezeli a hiányzó jelszót a titkosítás feloldását végző script, így ha elegendő alkalommal elrontjuk, magas jogosultságú shellt ad. Könyvtári PC-k, kioszkok lehetnek veszélyben.

Egészen hihetetlen új biztonsági hibát talált egy szakértő az egyik Linux-alrendszerben. A többek között a Debian és az Ubuntu által is használt háttértár-titkosítási megoldás, a LUKS (Linux Unified Setup-on-disk-format), illetve annak általában használt kiegészítője, a Cryptsetup ugyanis sebezhető, ez pedig a titkosított adatokat hozzáférhetővé teszi.

Gone in 70 seconds

A Hector Marco és Ismael Ripoll által leírt hiba lényege, hogy a beépített Cryptroot script rosszul ellenőrzi a beírt jelszót. Amikor a felhasználó meghaladja a próbálkozások maximumát, akkor a script normálisan fut tovább - ezt a hibát pedig a hívó script nem kezeli le helyesen, hanem úgy veszi, mintha a háttértár szokatlanul lassan reagálna (például valamiért lassan pörögne fel a merevlemez). A boot-folyamatot vezérlő script ezt követően többször megpróbálja felcsatolni (mountolni) a kérdéses eszközt, majd egy idő után feladja (hardverhibaként azonosítva a helyzetet) és egy busybox shellt ad a felhasználónak.

Miért érdemes belevágnod a Machine Learning képzésünkbe? (x) Október 15-én Machine Learning képzést indít a HWSW, íme néhány jó érv a kurzus mellett.

És hogyan használható ki a hiba? Egyszerűen nyomva kell tartani az Enter gombot a LUKS jelszókérésnél, a tesztelt eszközökön nagyjából 70 másodperc után megjelenik a shell prompt. Ebből a helyi meghajtó tartalma nem érhető el (hiszen az titkosított), de az initrd kontextusban futó shell ettől még roppant erős, és több támadás előtt is megnyitja az utat. Lehetővé teszi például, hogy a titkosított meghajtó tartalmát lemásoljuk, majd egy másik eszközön brute-force támadásnak vessük alá. Manipulálhatjuk a boot partíció tartalmát (hiszen az nem titkosított), illetve ha a boot folyamat nem biztonságos, akkor a kernelt is lecserélhetjük egy módosított verzióra (például egy sebezhető vagy preparált változatra). Végül pedig mivel teljes írási joggal bírunk, a partíciókat törölhetjük is tetszés szerint, ideiglenesen lehetetlenné téve annak használatát.

A hiba az összes Debian és Ubuntu disztribúcióban megtalálható, amennyiben az alapértelmezett eszközökkel, például a telepítéskor lefutó varázslóval titkosították a háttértárat. Emellett a Fedora 24 is sebezhető (ez initramfs helyett Dracut-ot használ). Jó eséllyel a leszármazott disztribúciók is sérülékenyek lehetnek (bár ezeket a kutatók nem tesztelték).

Fizikai hozzáférés?

A sebezhetőség hatását persze nagyban korlátozza, hogy fizikai hozzáférés szükséges a megtámadott géphez, tehát hálózati kapcsolaton keresztül szerencsére nem hajtható végre támadás. Ettől függetlenül nem érdemes alábecsülni annak veszélyességét, pedig szokás mondani, hogy ha a támadó fizikai hozzáférést szerez az eszközhöz, akkor a biztonságra keresztet lehet vetni. Ez ma már nem egészen így van, mondják a sebezhetőséget találó szakemberek is, a modern operációs rendszerek és hardveres fejlesztések ma már meglehetősen erős védelmet tudnak nyújtani (igaz, ezek sem mindig törhetetlenek, lásd az iPhone és az FBI esetét).

Milyen hatása lehet tehát a fenti sebezhetőségnek? Rengeteg olyan PC van, amelyhez a felhasználók korlátozott hozzáférést kapnak (könyvtári gépek, fotónyomtató automaták, kioszk-rendszerek stb.), a fenti sebezhetőség pedig olyan hozzáférést adhat illetékteleneknek, amely lehetővé teszi, hogy a rendszerek védelmét feltörjék és a számítógépet megrongálják vagy épp megfertőzzék.

a címlapról