SG.hu

A memóriát lefa­gyaszt­va bármilyen titkosított adat megszerezhető

Pár dollárért Kínából rendelt eszközök, egy módosított firmware és nagyon okos emberek, máris bármilyen adat kinyerhető.

2008-ban mutattak be először a fagyasztásos támadást, amelynek során a memóriachipeket lehűtik és így az összes bennük lévő adatot - köztük titkosítási kulcsokat is - meg lehet szerezni. Most továbbfejlesztették és automatizálták ezt a támadástípust egy memória-fagyasztó gép formájában, amely körülbelül 2000 dollárba kerül. Ezt a kanadai REcon reverse engineering konferencián Ang Cui, a Red Balloon Security alapítója és vezérigazgatója mutatta be. Az előadás középpontjában a "RAM Content Extraction Robot" áll, amelyet Cui és kollégái, Grant Skipper és Yuanzhe Wu fejlesztettek ki a DDR3 memóriamodulok dekódolt adatainak begyűjtésére. Indoklásuk szerint erre azért volt szükség, mert a hardvergyártók a hibakeresési interfészek letiltásával és titkosított firmware-ek használatával megnehezítették az eszközeik visszafejtését.

"A gyártók sok hibakeresési interfészt eltávolítanak" - mondta Cui. "Ez nem feltétlenül növeli egy termék biztonságát, de sokkal nehezebbé teszi az eszközbe való betekintést és a visszafejtését. Ezért úgy döntöttünk, hogy más utat választunk: ahelyett, hogy megpróbálnánk hibainjektálást végezni, amit a múltban tettünk, inkább megépítettük ezt a nagyon megfizethető, meglepően precíz robotot, amely egyszerre csak pontosan egy RAM-chipet fagyaszt le. Ezután lehúzzuk a fizikai memóriát az eszközről, amikor ki akarjuk olvasni a tartalmát, majd belerakjuk a kis FPGA rögzítőnkbe. Alapvetően csak a memóriát olvassuk ki úgy, hogy lekapjuk az eszközről, majd fizikailag betesszük az olvasóba. És ez meglepően jól működik" - magyarázta Cui.

"Sokszor a bootloaderben vannak a dekódoló kulcsok. De a bootloader kódját is látni, amihez sokszor - ha titkosított firmware van a flashen, és a boot ROM valamennyire biztonságos -, nagyon nehéz hozzáférni. Ezzel a megközelítéssel azonban hozzáférhetünk a kódhoz, az összes adathoz, a veremhez, egyszóval az egész fizikai memóriához" - mesélte. Cui elmondása szerint az eredeti hidegindítási támadás során egy laptop DRAM chipjeit -50 °C körüli hőmérsékletre hűtötték. Az adatok még kikapcsolás után is több percig benne maradnak. "De a beágyazott eszközök nem rendelkeznek moduláris RAM-mal" - mondta Cui. "Minden össze van forrasztva. Tehát nem egy, hanem öt chipet kell lehűtenünk, mert ezek mind egymásba vannak illesztve. A chipek közül három a lap egyik oldalán van, kettő pedig a lap alján."


"Tehát ki kellett találnunk egy olyan módszert, ami valahogy varázslatos módon mind az öt memóriachipet szó szerint ugyanannál a végrehajtott utasításnál kapcsolja le - ez nem igazán kivitelezhető. Kitaláltunk egy másik nagyon klassz trükköt, ahol ezt egyenként csináljuk, úgy hogy nem csak a determinisztikus végrehajtást keressük, hanem az eszköz elektromágneses kisugárzását is nézzük, hogy kitaláljuk, hogy mikor végez CPU-t igénylő feladatot. Mert ilyenkor az eszköz nem ír a memóriába" - idézte fel. "Tehát néhány tíz nanoszekundumos időzítési ablak helyett több tízezredmásodperces periódusokat kaptunk, amikor ezt megtehetjük. Így egyszerre lehúzhatóvá vált mind az öt memóriachip, majd rekonstruáltuk az adatokat, kiolvastuk a bootloadert és a kódot."

Cui szerint a több tíz milliszekundum elég hosszú idő ahhoz, hogy egy az Aliexpresszről 500 dollárért beszerzett CNC gép elvégezze a szükséges chipmanipulációt. A robot tehát valójában egy CNC-ből áll, amelyből eltávolították a felesleges alkatrészeket, például a motorokat. Ez egy memóriaolvasóhoz csatlakozik, amelyet egy FPGA és egy ESP32 modulon alapuló, MicroPython-t futtató vezérlővel alakítottak át. Foglalatként egy vezető elasztomert használnak, amelyek egy évtizeddel ezelőtt egyenként több száz dollárba kerültek, de ma már 30 dollár körüli összegért kaphatók a Taobao-n. Az ilyen IC tesztaljzat állaga a keményebb gumicukrokra hasonlít, aminek a rugalmassága lehetővé teszi, hogy a memóriachipeket befogadja anélkül, hogy az áramköri lap vagy a memóriachipek megsérülnének.


A robot a támadási folyamatot leegyszerűsíti azáltal, hogy a DRAM chipeket fizikailag áthelyezi a céleszköz és a kiolvasórendszer között. Cui és kollégái egy Siemens SIMATIC S7-1500 PLC-n ([programozható logikai vezérlő) demonstrálták robotjukat, amelyből képesek voltak visszanyerni a titkosított firmware binárisok tartalmát. Hasonlóan sikeres támadást hajtottak végre egy CISCO IP Phone 8800-as sorozatú DDR3 DRAM memóriája ellen is, hogy futásidőben hozzáférjenek az ARM TrustZone adataihoz. Úgy vélik, hogy technikájuk alkalmazható a bonyolultabb DDR4 és DDR5 rendszerek esetében is, ha egy drágább (kb. 10 000 dollár körüli) FPGA-alapú memória kiolvasó platformot használnak - ez a költség várakozásaik szerint idővel csökkenni fog.

A hidegindítási támadásokat fizikai memóriatitkosítással lehet kivédeni, mondta Cui. "A modern CPU-kban és a játékkonzolokban már teljes mértékben titkosított memóriát használnak" - magyarázta Cui. "Az legyőzi ezt a megközelítést, mert még ha képesek is lennénk a fizikai memóriát feltörni, akkor is szükségünk lenne a fizikai kulcsra, ami valahol máshol van az eszközben. De minél fontosabb egy dolog a világ számára, annál kevésbé biztonságos" - mondta. "Szóval az XBoxnak van memóriatitkosítása. A PS5-nek is van. De mi nem rendelkezik vele? Bármely PLC lapka. A kritikus infrastruktúrához tartozó beágyazott dolgok, amelyektől függünk, szinte egyike sem tud kivédeni egy ilyen jellegű támadást."

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • Macropus Rufus #4
    Ha hozzá fértek a ramhoz akkor már csak idő kérdése, hogy rájöjjenek a kulcsra.

    " A fenti titkositas szinte semmivel nem lassitja a rendszereket,"
    lassítja. Vegyél a gigahertzes órajelet, és számold ki, hány megahertz egyenértéken fog működni. A RAM titkosítása az effektív sebesség nagyságrendekkel mért csökkenése lesz. Szóval érezhetően lassítja a gépet.
  • kvp #3
    A rendesebb mai hardverek mar a RAM tartalmat is titkositjak a CPU-n belul, igy mar a rendszerbuszra sem kerul ki semmi cleartext-ben. Fagyaszthatjak a RAM chipeket, de a CPU-ban levo kulcs nelkul semmit nem lehet kiolvasni beloluk. A CPU-kban pedig statikus RAM-ban (regiszterekben) vannak a session kulcsok, igy nincs mit lefagyasztani, mert kis kondik helyett D flip-flop-okban van az kulcs. A fenti titkositas szinte semmivel nem lassitja a rendszereket, mert a rendszer busz interface-en athalado adatokat titkositja es oldja fel a megoldas, teljesen automatikusan es transzparensen. Ha a prociban van TRNG, akkor a kulcsok is teljesen veletlenek es semmilyen modon nem lehet kiolvasni oket. (nincs hozza belso trace sem)
  • Cat #2
    Azért szerintem nem véletlen, hogy egy kínai emberke a technológiák visszafejtésének nagy guruja. Gondolom ez ilyen nemzeti sajátosság náluk ;)

    A cikkben CISCO IP Phone 8800 szerepel.


    Szerintem ezt simán kilopják a cégtől, kiolvassák belőle a titkosító kódot, majd ezek után simán lehallgatják a vezérigazgató titkosított beszélgetését. Persze lehet, hogy teljesen másra jó.
  • Macropus Rufus #1
    érdekes eljárás. De igazából ezt, hogyan is lehetne kivitelezni? Hozzá kell férni a kérdéses géphez. Ez már eléggé limitálja a dolgot. Aztán az nem elég, hogy hozzá férnek, még szét is kell kapni és egy másik gép is kell amiben a ram-ot kiolvassák. Szóval ezt a helyszínen nem lehet kivitelezni. Szóval a gépet el kell lopni. Namost ha ez nem egy noti vagy valami hordozható vas, akkor már gondok vannak, mert egy desktop gép kicipelése egy épületből már feltűnő tud lenni. Ha a kérdéses gép egy szerver akkor meg teljesen felesleges ez az eljárás, mert azt sehová nem fogják vinni. Továbbá sok mainframe gép rendelkezik saját energiaforrással, mind a memóriák mint a cache memóriák részre, amik a memória modullal együtt távolíthatóak el, és így bennük marad az információ, ezért értelmetlen lesz ez a fagyasztós dolog. Szóval érdekes az eljárás, de nem annyira életszerű a használata. Sztem.
    Utoljára szerkesztette: Macropus Rufus, 2023.06.09. 13:37:00