Olcsó, új generációs merevlemezdokkok hardveres titkosítást és RFID alapú azonosítást igérnek. A reklámok 128-bites AES titkosításról szólnak, de azt nem kötik az orrunkra, hogy hogyan használják az algoritmust.
A német Drecom által gyártott 2.5 inch-es Easy Nova Data Box PRO-25UE RFID vincseszterdoboz specifikációja igéretesnek tűnik: hardveres adattitkosítás, akár kulcstartón is hordozható RFID chippel történő azonosítás és opcionális 160 vagy 250 GB-os kapacitás. Az RFID chipet a doboz mellé helyezve az integrált Innmax IM7206-os kriptovezérlő megnyitja a lemez tartalmát a csatlakoztatott számítógép előtt. A dolog ugyanúgy működik Linux és Mac OS X alatt is mint Windows-on, nincs szükség speciális driverekre.
[...]
Az analízisünk első lépése a titkosított adatok vizuális elemzése volt. Kezdetnek kiszedtük a mellékelt Samsung merevlemezt, és rákötöttük egy hagyományos USB SATA adapterre. Azonnal észrevettük, hogy a partíciós tábla és a FAT32-es formázás által érintetlenül hagyott szektorok a merevlemez gyártásakor beállított nullákkal vannak teleírva. Ugyan ez nem jelent nagy kriptográfiai baklövést, annyit minden esetre elárul a támadónak, hogy merre keresse a titkosított adatokat a lemezen.
Ideális esetben a titkosított adat véletlen eloszlásúnak tűnik. Egy fázis-tér ábra segít gyorsan megállapítani az adatok álvéletlenségét, ezzel pedig az adathalmaz titkosításának relatív erősségét. Egy három dimenziós fázis-tér ábra esetén az a, b, c, d, e, f, stb. sorozat használható tér-koordinátaként: (a-b,b-c,c-d), (b-c,c-d,d-e), (c-d,d-e,e-f), stb.
Az ábrán keletkező minták felfedik az ismétlődő kapcsolatokat a későbbi szekvenciákban. Ezen a fázisábrán 50.000 16-bites véletlen szám egy struktúrálatlan pontfelhőt mutatna:A véletlen és jól titkosított adatok egyenletes eloszlást mutatnak
Mivel a titkosított merevlemez első 100 kB-jának 30%-a nullákból áll, várhatóan a pontok egyharmada az origóban lesz. Legalább a maradék két harmadnak véletlenszerűen kellene elhelyezkednie az ábrán, ha rendes titkosításról lenne szó. Sajnos az eloszlás minden, csak nem egyenletes:
A merevlemezen lévő titkosított adatok képében vonalak látszanak - a gyenge titkosítás jele
A 35.000 nem-nulla jelentős része, melyektől véletlen eloszlást várnánk, négy helyen csoportosul a diagrammon. Ha közelebbről megnézzük az egyes szektorokat egy hexeditorral, ismétlődő szekvenciákat találunk:
00008e00 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00008e10 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
00008fe0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
00008ff0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|
A következő 512 byte-os blokkot megnézve:
00009000 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009010 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000091e0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
000091f0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|
Újra:
00009200 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009210 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000093c0 4d 00 20 59 9a 00 40 b2 f1 01 80 64 e2 03 00 c9 |M. Y..@....d....|
000093d0 01 07 00 92 c7 0e 00 24 8e 1d 00 48 1c 3b 00 90 |.......$...H.;..|
És újra:
00009400 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00009410 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
...
000095e0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
000095f0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 3b 00 |Zn......h....r;.|
Ez a szabályos ismétlődés folytatódott és a majdnem egyező számsorok azt súgják, hogy AES helyett egy konstans, 512-byteos blokktitkosítót alkalmaztak, XOR-ral implementálva.
A hiányző előformázással ellentétben, a változatlan kulcssal történő XOR-olás hatalmas kriptográfiai hiányosságot jelent - gyakorlatilag ismert nyílt-szöveg alapú támadást tesz lehetővé. A XOR titkosítás így működik:
Kriptoszövegn = Nyílt-szövegn XOR kulcs-blokk(kulcsn)
A megfejtés ugyanígy működik, a kriptoszöveg és a nyílt szöveg szerepét felcserélve:
Nyílt-szövegn = Kriptoszövegn XOR kulcs-blokk(kulcsn)
Ha a kulcs-blokk azonos minden szektorra - mint a fennti esetben - az eredmény:
kulcs-blokk(kulcs)=kriptoszövegn XOR nyílt-szövegn
bármely n blokkra. Más szóval csak egy olyan 512 byte hosszú blokkot kell találni, amelyhez tartozó nyílt szöveg ismert, hogy kiszámítsuk a kulcs-blokkot. Emiatt hívják ezt a módszert nyílt-szöveg alapú támadásnak. Tovább súlyosbítja a helyzetet, hogy a 67. szektor szinte csak nullákat tartalmaz, ha FAT32-re formázunk.
00008400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|Így szinte az egész titkosító kulcsot megkaphatjuk a titkosított merevlemez 67. szektorának kiolvasásával. [...] Ha megnézed a
00008410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00008420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
...
000085d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000085e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000085f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
dd if=/dev/sdc bs=512 count=1 skip=67 | hexdump -vC
parancs kimenetét, majdnem a teljes keresett 512- byte-ot megkapod:00008400 77 c8 54 35 ee 90 a9 6a dc 21 53 d5 7d 43 a6 aa |w.T5...j.!S.}C..|
00008410 3f 86 4c 55 7e 0c 99 aa 39 18 32 55 72 30 64 aa |?.LU~...9.2Ur0d.|
00008420 21 60 c8 54 42 c0 90 a9 41 80 21 53 82 00 43 a6 |!`.TB...A.!S..C.|
...
000085d0 01 07 00 92 c7 0e 00 24 8e 1d 00 48 1c 3b 00 90 |.......$...H.;..|
000085e0 fd 76 00 20 fa ed 00 40 f4 db 01 80 2d b7 03 00 |.v. ...@....-...|
000085f0 5a 6e 07 00 b4 dc 0e 00 68 b9 1d 00 d0 72 6e aa |Zn......h....rn.|
De itt az utolsó két byte nem helyes, ezeket XOR-olni kell 55-tel és aa-val, hogy megkapjuk a helyes 3b és 00 értékeket. Most már ismerjük a teljes 512 byteos titkosító kulcsot, melynek segítségével a lemez összes szektorát megfejthetjük.
Ki gondolta volna, hogy ilyen egyszerű lesz? Valójában a léc olyan alacsony, hogy kezdő támadóknak sem jelent problémát az átlépése. A titkosítás megfejtése a legalacsonyabb blokk szinten lehetséges, az RFID által nyújtott mindenfajta védelem teljességgel haszontalan, ezért ezzel már nem is foglalkoztunk.
A heise Security már kapott egy állásfoglalást az Innmaxtól, az IM7206-os vezérlőchip gyártójától, melyben megerősítik a felfedezéseket. Az IM7206 az AES titkosítást csak az RFID chip azonosítójának a vezérlő flash memóriájába történő lementéséhez használja. A cég szerint a valódi titkosítási eljárás szabadalmaztatott algoritmuson alapul. A gyártó továbbá úgy érvel, hogy az IM7206 csak alapvető védelmet nyújt, és "átlagos felhasználók" számára tervezték. Ezzel szemben a drágább IM8202 vezérlő chipet nagyobb biztonsági igényeket támasztó felhasználók számára fogják készíteni - állításuk szerint ez valódi 128 bites AES titkosítást alkalmaz majd - bár a chip még fejlesztés alatt áll.
A merevlemez kasztni gyártója a Drecom szintén megerősítette a felfedezésünket, és nagy erőkkel dolgozik a megoldáson. Holger Henke, az Easy Nove termékmenedzsere szerint a Data Box PRO-25SUE helytelen "128-bites hardver alapú adattitkosítás" cimkézése az Innmax helytelen vezérlő-specifikációjából adódott. Henke az új, IM8202-vel ellátott Easy Nova egység megjelenését az év végére jósolta. Addig is a cég folytatja a termék forgalmazását "egyszerű titkosítás" megjelöléssel.
Az Easy Nova terméke nem az egyetlen a piacon, ami az IM7206-ot használja. Veltételezhető, hogy más, azonos kontrollert alkalmazó termékek is szenvednek ettől a sebezhetőségtől. A következő kripto-lemezmeghajtók használják az IM7206-ot:
Ki gondolta volna, hogy ilyen egyszerű lesz? Valójában a léc olyan alacsony, hogy kezdő támadóknak sem jelent problémát az átlépése. A titkosítás megfejtése a legalacsonyabb blokk szinten lehetséges, az RFID által nyújtott mindenfajta védelem teljességgel haszontalan, ezért ezzel már nem is foglalkoztunk.
A heise Security már kapott egy állásfoglalást az Innmaxtól, az IM7206-os vezérlőchip gyártójától, melyben megerősítik a felfedezéseket. Az IM7206 az AES titkosítást csak az RFID chip azonosítójának a vezérlő flash memóriájába történő lementéséhez használja. A cég szerint a valódi titkosítási eljárás szabadalmaztatott algoritmuson alapul. A gyártó továbbá úgy érvel, hogy az IM7206 csak alapvető védelmet nyújt, és "átlagos felhasználók" számára tervezték. Ezzel szemben a drágább IM8202 vezérlő chipet nagyobb biztonsági igényeket támasztó felhasználók számára fogják készíteni - állításuk szerint ez valódi 128 bites AES titkosítást alkalmaz majd - bár a chip még fejlesztés alatt áll.
A merevlemez kasztni gyártója a Drecom szintén megerősítette a felfedezésünket, és nagy erőkkel dolgozik a megoldáson. Holger Henke, az Easy Nove termékmenedzsere szerint a Data Box PRO-25SUE helytelen "128-bites hardver alapú adattitkosítás" cimkézése az Innmax helytelen vezérlő-specifikációjából adódott. Henke az új, IM8202-vel ellátott Easy Nova egység megjelenését az év végére jósolta. Addig is a cég folytatja a termék forgalmazását "egyszerű titkosítás" megjelöléssel.
Az Easy Nova terméke nem az egyetlen a piacon, ami az IM7206-ot használja. Veltételezhető, hogy más, azonos kontrollert alkalmazó termékek is szenvednek ettől a sebezhetőségtől. A következő kripto-lemezmeghajtók használják az IM7206-ot:
- STYSEN E08 RFID Security Mobile Disk
- DoTop RFID SATA to USB storage
- Agestar RFID Security External Enclosure SRB2A
- Silverstone Treasure TS01B
- Sharkoon Swift-Case Securita
EQ · http://www.rycon.hu 2008.03.29. 13:37:47
buherator · http://buhera.blog.hu 2008.03.29. 13:47:12
EQ · http://rycon.hu 2008.03.29. 17:13:33
noss 2008.03.29. 20:33:17