Mayhem - Memory Bit Korruptioun Attack fir Sudo an OpenSSH Authentifikatioun z'iwwergoen

Fuerscher vum Worcester Polytechnic Institute (USA) hunn eng nei Aart vu Mayhem Attack agefouert, déi d'Rowhammer dynamesch Random Access Memory Bit Verzerrungstechnik benotzt fir d'Wäerter vun de Stackvariablen ze änneren, déi als Fändelen am Programm benotzt ginn, fir ze entscheeden ob Authentifikatioun a Sécherheetskontrollen hunn passéiert. Praktesch Beispiller vun der Attack ginn bewisen fir d'Authentifikatioun an SUDO, OpenSSH a MySQL ze ëmgoen, wéi och d'Resultat vu Sécherheetsbezunnen Kontrollen an der OpenSSL Bibliothéik z'änneren.

Den Attack kann op Uwendungen applizéiert ginn déi Schecken benotze fir Wäerter ze vergläichen déi vun Null ënnerscheeden. Beispill vu vulnérable Code: int auth = 0; ... // Verifikatiounscode deen den Auth-Wäert am Fall vun enger erfollegräicher Authentifikatioun ännert wann (auth != 0) AUTH_SUCCESS zréckginn; soss zréck AUTH_FAILURE;

Am Kontext vun dësem Beispill, fir en erfollegräichen Attack ass et genuch fir all Bit an der Erënnerung, déi mat der 32-Bit Auth-Variabel um Stack assoziéiert ze korruptéieren. Wann e bëssen an der Variabel beschiedegt ass, ass de Wäert net méi null an de bedingte Bedreiwer bestëmmt d'Erfolleg vun der Authentifikatioun. Esou Validatiounsmuster sinn zimlech heefeg an Uwendungen a ginn zum Beispill an SUDO, OpenSSH, MySQL an OpenSSL fonnt.

Mayhem - Memory Bit Mangling Attack fir Sudo an OpenSSH Authentifikatioun z'iwwergoen

D'Attack kann och op Vergläicher vun der Form "if(auth == 1)" applizéiert ginn, awer an dësem Fall gëtt seng Ëmsetzung méi komplizéiert, well et néideg ass net e bësse vun 32 ze verzerren, awer de leschte Bit. D'Method kann och benotzt ginn fir d'Wäerter vun de Variablen an de Prozessorregisteren ze beaflossen, well den Inhalt vun de Registere kann temporär op de Stack gespullt ginn wann e Kontextschalter, Funktiounsruff oder Signalhandter brennt. Wärend der Zäit, während Registerwäerter an der Erënnerung sinn, kënnen Verzerrungen an dës Erënnerung agefouert ginn an de geännerte Wäert gëtt an de Register restauréiert.

Mayhem - Memory Bit Mangling Attack fir Sudo an OpenSSH Authentifikatioun z'iwwergoen

Fir d'Bits ze verzerren, gëtt eng vun de Modifikatioune vum RowHammer Klassattack benotzt. Zënter DRAM Erënnerung ass eng zweedimensional Array vun Zellen, déi all aus engem Kondensator an engem Transistor besteet, déi kontinuéierlech Liesungen vun der selwechter Erënnerungsregioun ausféieren, resultéiert zu Spannungsschwankungen an Anomalien, déi e klenge Verloscht vun der Ladung an de Nopeschzellen verursaachen. Wann d'Liesintensitéit héich ass, da kann d'Nopeschzell e genuch grouss Betrag vun der Ladung verléieren an den nächsten Erhuelungszyklus huet keng Zäit fir säin ursprénglechen Zoustand ze restauréieren, wat zu enger Verännerung vum Wäert vun den Daten an der Zell gespäichert gëtt. . Fir géint RowHammer ze schützen, hunn Chiphersteller en TRR (Target Row Refresh) Mechanismus bäigefüügt, deen Zellkorruptioun a spezielle Fäll blockéiert, awer net géint all méiglech Attackvariatioune schützt.

Fir géint de Mayhem Attack ze schützen, ass et recommandéiert am Vergläicher net eng Evaluatioun vun Differenzen aus Null oder engem Zoufall mat engem ze benotzen, mee e Matchcheck mat engem zoufällege Somwäert mat Net-Null Oktetten. An dësem Fall, fir de gewënschten Wäert vun der Variabel ze setzen, ass et néideg eng bedeitend Unzuel vu Bits präzis ze verzerren, wat onrealistesch ass, am Géigesaz zu der Verzerrung vun engem Bit. Beispill vun net-attackable Code: int auth = 0xbe406d1a; ... // Verifikatiounscode deen den Auth-Wäert op 0x23ab8701 setzt am Fall vun enger erfollegräicher Authentifikatioun wann (auth == 0x23ab8701) AUTH_SUCCESS zréckginn; soss zréck AUTH_FAILURE;

Déi spezifizéiert Schutzmethod gouf scho vun den Sudo Entwéckler benotzt a gouf an der Verëffentlechung 1.9.15 als Fix fir d'CVE-2023-42465 Schwachstelle abegraff. Si plangen e Prototyp vum Code ze verëffentlechen fir den Attack auszeféieren nodeems d'Fixatioune fir déi wichtegst vulnérabel Projete gemaach goufen.

Source: opennet.ru

Setzt e Commentaire