Blacksmith – új támadás a DRAM memória és a DDR4 chipek ellen

Az ETH Zürich, a Vrije Universiteit Amsterdam és a Qualcomm kutatói csoportja új RowHammer támadási módszert tett közzé, amely képes megváltoztatni a dinamikus véletlen hozzáférésű memória (DRAM) egyes bitjeinek tartalmát. A támadás kódneve Blacksmith volt, és CVE-2021-42114-ként azonosították. Számos, korábban ismert RowHammer osztályú metódusok elleni védelemmel ellátott DDR4 chip érzékeny a problémára. A rendszerek sebezhetőségének tesztelésére szolgáló eszközök a GitHubon vannak közzétéve.

Emlékezzünk vissza, hogy a RowHammer osztályú támadások lehetővé teszik az egyes memóriabitek tartalmának torzítását a szomszédos memóriacellákból származó adatok ciklikus kiolvasásával. Mivel a DRAM memória cellák kétdimenziós tömbje, amelyek mindegyike egy kondenzátorból és egy tranzisztorból áll, ugyanazon memóriaterület folyamatos leolvasása feszültségingadozásokat és anomáliákat eredményez, amelyek kismértékű töltésveszteséget okoznak a szomszédos cellákban. Ha az olvasási intenzitás nagy, akkor a szomszédos cella kellően nagy mennyiségű töltést veszíthet, és a következő regenerációs ciklusnak nem lesz ideje visszaállítani eredeti állapotát, ami a cellában tárolt adatok értékének megváltozásához vezet. .

A RowHammer elleni védelem érdekében a chipgyártók a TRR (Target Row Refresh) mechanizmust javasolták, amely véd a szomszédos sorok celláinak korrupciójával szemben, de mivel a védelem a „biztonság az ismeretlenség által” elvén alapult, ez nem oldotta meg a problémát. a gyökér, de csak az ismert speciális esetektől védett, ami megkönnyítette a védelem megkerülésének módját. Például májusban a Google a Half-Double módszert javasolta, amelyre nem volt hatással a TRR-védelem, mivel a támadás olyan sejteket érintett, amelyek nem voltak közvetlenül a célpont közelében.

A Blacksmith új módszere más módot kínál a TRR-védelem megkerülésére, mivel két vagy több különböző frekvenciájú agresszor karakterlánchoz való nem egyenletes hozzáférésen alapul, ami töltésszivárgást okoz. A töltésszivárgáshoz vezető memória-hozzáférési minta meghatározására egy speciális fuzzert fejlesztettek ki, amely automatikusan kiválasztja a támadási paramétereket egy adott chiphez, változtatva a cellaelérés sorrendjét, intenzitását és szisztematikusságát.

Egy ilyen megközelítés, amely nem ugyanazon cellák befolyásolásával jár, hatástalanná teszi a jelenlegi TRR-védelmi módszereket, amelyek ilyen vagy olyan formában a cellák ismétlődő hívásainak számbavételében, és bizonyos értékek elérésekor az újratöltés kezdeményezésében merülnek ki. szomszédos sejtekből. A Blacksmith-ben a hozzáférési minta egyszerre több cellára oszlik el a cél különböző oldalairól, ami lehetővé teszi a töltésszivárgás elérését a küszöbértékek elérése nélkül.

A módszer lényegesen hatékonyabbnak bizonyult, mint a korábban javasolt módszerek a TRR megkerülésére – a kutatóknak sikerült bittorzítást elérniük mind a 40, a közelmúltban vásárolt különböző Samsung, Micron, SK Hynix és egy ismeretlen gyártó által gyártott DDR4 memóriachipben (a gyártó nincs megadva 4 zseton). Összehasonlításképpen, az ugyanezen kutatók által korábban javasolt TRRespass módszer az akkoriban tesztelt 13 chipből csak 42 esetében volt hatásos.

Általánosságban elmondható, hogy a Blacksmith módszer várhatóan a piacon lévő összes DRAM chip 94%-ára vonatkozik, de a kutatók szerint egyes chipek sebezhetőbbek és könnyebben támadhatók, mint mások. A chipekben a hibajavító kódok (ECC) használata és a memória frissítési gyakoriságának megduplázása nem nyújt teljes védelmet, de bonyolítja a működést. Figyelemre méltó, hogy a probléma nem blokkolható a már kiadott chipekben, és új hardver szintű védelem megvalósítását igényli, így a támadás sok évig releváns marad.

Gyakorlati példák között szerepel a Blacksmith használatával a memórialaptábla bejegyzéseinek (PTE, oldaltábla bejegyzése) tartalmának módosítása a kerneljogok megszerzése érdekében, ami megsérti az OpenSSH memóriájában tárolt RSA-2048 nyilvános kulcsot (behozhatja a nyilvános kulcsot valaki más virtuális gépe, hogy megfeleljen a támadó privát kulcsának az áldozat virtuális gépéhez való csatlakozáshoz), és megkerülje a hitelesítő adatok ellenőrzését a sudo folyamat memóriájának módosításával, hogy root jogosultságokat szerezzen. A chiptől függően egy célbit megváltoztatása 3 másodperctől több óráig tart.

Emellett megjegyezzük, hogy megjelent a nyílt LiteX Row Hammer Tester keretrendszer a RowHammer osztályú támadások elleni memóriavédelmi módszerek tesztelésére, amelyet az Antmicro fejlesztett a Google számára. A keretrendszer az FPGA használatán alapul, hogy teljes mértékben vezérelje a közvetlenül a DRAM chipre továbbított parancsokat, hogy kiküszöbölje a memóriavezérlő befolyását. A Python eszközkészletet kínálják az FPGA-val való interakcióhoz. Az FPGA-alapú átjáró tartalmaz egy modult a csomag adatátvitelhez (memória hozzáférési mintákat határoz meg), egy Payload Executort, egy LiteDRAM-alapú vezérlőt (a DRAM-hoz szükséges összes logikát feldolgozza, beleértve a soraktiválást és a memóriafrissítést) és egy VexRiscv CPU-t. A projekt fejlesztései Apache 2.0 licenc alatt kerülnek terjesztésre. Különféle FPGA platformok támogatottak, köztük a Lattice ECP5, a Xilinx Series 6, 7, az UltraScale és az UltraScale+.

Forrás: opennet.ru

Hozzászólás