لوکس - د DRAM حافظې او DDR4 چپس باندې نوی برید

د ETH زیورخ ، ویریج یونیورسیټ امستردام او کوالکوم څخه د څیړونکو یوې ډلې د RowHammer برید نوی میتود خپور کړی چې کولی شي د متحرک تصادفي لاسرسي حافظې (DRAM) انفرادي بټونو مینځپانګې بدل کړي. د برید کوډ نوم بلیکسمیت او د CVE-2021-42114 په توګه پیژندل شوی. ډیری DDR4 چپس چې د مخکیني پیژندل شوي RowHammer ټولګي میتودونو پروړاندې محافظت سره مجهز دي د ستونزې لپاره حساس دي. د زیان مننې لپاره ستاسو سیسټمونو ازموینې لپاره وسیلې په GitHub کې خپاره شوي.

په یاد ولرئ چې د RowHammer ټولګي بریدونه تاسو ته اجازه درکوي د انفرادي حافظې بټونو مینځپانګې د ګاونډیو حافظې حجرو څخه په سایکل ډول د معلوماتو لوستلو سره تحریف کړئ. څرنګه چې د DRAM حافظه د حجرو دوه اړخیزه لړۍ ده، هر یو د کیپسیټر او ټرانزیسټور څخه جوړ دی، د ورته حافظې سیمې په دوامداره توګه لوستل ترسره کول د ولتاژ بدلونونو او انډولیزونو پایله لري چې په ګاونډیو حجرو کې د لږ چارج د ضایع کیدو لامل کیږي. که د لوستلو شدت لوړ وي، نو ګاونډی حجره ممکن په کافي اندازه لوی چارج له لاسه ورکړي او د بیا تولید راتلونکی دوره به د خپل اصلي حالت بیرته راګرځولو لپاره وخت ونلري، چې دا به په حجره کې د ذخیره شوي معلوماتو ارزښت کې د بدلون لامل شي. .

د RowHammer په وړاندې د ساتنې لپاره، د چپ جوړونکو د TRR (Target Row Refresh) میکانیزم وړاندیز وکړ، کوم چې په نږدې قطارونو کې د حجرو د فساد په وړاندې ساتنه کوي، مګر څرنګه چې دا محافظت د "د ناڅرګندتیا په واسطه امنیت" په اصولو ولاړ و، دا ستونزه حل نه کړه. ریښه، مګر یوازې د پیژندل شویو ځانګړو قضیو څخه ساتل کیږي، کوم چې د محافظت څخه د تیریدو لپاره د لارو موندلو اسانه کړې. د مثال په توګه، د می په میاشت کې، ګوګل د نیم دوه اړخیز میتود وړاندیز وکړ، کوم چې د TRR محافظت لخوا اغیزمن شوی نه و، ځکه چې برید هغه حجرې اغیزمنې کړې چې مستقیم هدف ته نږدې نه وې.

د تورسمیت نوی میتود د TRR محافظت څخه د تیریدو لپاره مختلف لاره وړاندیز کوي ، په مختلف فریکونسیو کې دوه یا ډیرو برید کونکو تارونو ته د غیر یونیفارم لاسرسي پراساس ترڅو د چارج لیک کیدو لامل شي. د حافظې لاسرسي نمونې ټاکلو لپاره چې د چارج لیکیدو لامل کیږي ، یو ځانګړی فزر رامینځته شوی چې په اوتومات ډول د ځانګړي چپ لپاره د برید پیرامیټونه غوره کوي ، د حجرو لاسرسي ترتیب ، شدت او سیسټمیکیت توپیر کوي.

دا ډول کړنلاره، چې د ورته حجرو د نفوذ سره تړاو نلري، د TRR د ساتنې اوسني میتودونه غیر اغیزمن کوي، کوم چې په یوه بڼه یا بل ډول حجرو ته د تکراري تلیفونونو شمیرلو لپاره راټیټوي او کله چې ځینې ارزښتونو ته ورسیږي، بیا چارج پیل کوي. د ګاونډیو حجرو. په تورسمیت کې، د لاسرسي نمونه په یوځل کې د هدف له مختلف اړخونو څخه په څو حجرو کې خپریږي ، کوم چې د حد ارزښتونو ته رسیدو پرته د چارج لیک ترلاسه کول ممکنه کوي.

دا طریقه د TRR څخه د تیریدو لپاره د مخکینیو وړاندیز شویو میتودونو په پرتله خورا اغیزمنه ثابته شوه - څیړونکو وکولی شول په ټولو 40 کې د بټ تحریف ترلاسه کړي پدې وروستیو کې د سامسنګ، مایکرون، SK Hynix او یو نامعلوم تولید کونکي لخوا جوړ شوي مختلف DDR4 میموري چپس پیرود (جوړونکی و. په 4 چپس کې مشخص شوي ندي). د پرتله کولو لپاره، د TRRespass طریقه چې مخکې د ورته څیړونکو لخوا وړاندیز شوې وه د 13 چپس څخه یوازې د 42 لپاره اغیزمنه وه چې په هغه وخت کې ازمول شوي.

په عموم کې ، د تورسمیټ میتود تمه کیږي چې په بازار کې د ټولو DRAM چپس 94٪ باندې پلي شي ، مګر څیړونکي وايي ځینې چپس د نورو په پرتله ډیر زیان منونکي او برید کول اسانه دي. په چپس کې د غلطۍ سمون کوډونو (ECC) کارول او د حافظې ریفریش نرخ دوه چنده کول بشپړ محافظت نه کوي ، مګر عملیات پیچلي کوي. دا د یادونې وړ ده چې ستونزه په دمخه خپاره شوي چپس کې نشي بند کیدی او د هارډویر په کچه د نوي محافظت پلي کولو ته اړتیا لري ، نو برید به د ډیرو کلونو لپاره اړوند پاتې شي.

په عملي مثالونو کې د بلیکسمیت کارولو میتودونه شامل دي ترڅو د حافظې پا pageې جدول کې د ننوتلو مینځپانګې بدل کړي (PTE ، د پاڼې میز داخله) د کرنل امتیازات ترلاسه کولو لپاره ، په OpenSSH کې په حافظه کې ذخیره شوي RSA-2048 عامه کیلي فاسد کول (تاسو کولی شئ عامه کیلي په کې راوړو. د بل چا مجازی ماشین چې د برید کونکي شخصي کیلي سره د قرباني VM سره وصل کولو لپاره میچ کوي) او د روټ امتیازاتو ترلاسه کولو لپاره د سوډو پروسې حافظې بدلولو سره د اعتبار چیک بای پاس کړئ. په چپ پورې اړه لري، دا د یو هدف بټ بدلولو لپاره د 3 ثانیو څخه تر څو ساعتونو برید وخت نیسي.

سربیره پردې ، موږ کولی شو د RowHammer ټولګي بریدونو پروړاندې د حافظې محافظت میتودونو ازموینې لپاره د خلاص لایټ ایکس قطار هامر ټیسټر چوکاټ خپرولو یادونه وکړو ، د ګوګل لپاره د انټ مایکرو لخوا رامینځته شوی. چوکاټ د FPGA کارولو پراساس دی ترڅو د حافظې کنټرولر نفوذ له مینځه وړو لپاره مستقیم DRAM چپ ته لیږدول شوي کمانډونه په بشپړ ډول کنټرول کړي. په Python کې Toolkit د FPGA سره د تعامل لپاره وړاندیز کیږي. د FPGA-based gateway کې د پاکټ ډیټا لیږد لپاره ماډل شامل دي (د حافظې لاسرسي نمونې تعریفوي)، د پایلوډ اجرا کونکی، د LiteDRAM پر بنسټ کنټرولر (د DRAM لپاره ټول منطق پروسس کوي، پشمول د قطار فعالول او د حافظې تازه کول) او د VexRiscv CPU. د پروژې پرمختګونه د اپاچي 2.0 جواز لاندې ویشل شوي. د FPGA مختلف پلیټ فارمونه ملاتړ کیږي ، پشمول د Lattice ECP5، Xilinx لړۍ 6، 7، UltraScale او UltraScale+.

سرچینه: opennet.ru

Add a comment