لوہار - DRAM میموری اور DDR4 چپس پر ایک نیا حملہ

ETH زیورخ، Vrije Universiteit Amsterdam اور Qualcomm کے محققین کی ایک ٹیم نے RowHammer حملے کا ایک نیا طریقہ شائع کیا ہے جو ڈائنامک رینڈم ایکسیس میموری (DRAM) کے انفرادی بٹس کے مواد کو تبدیل کر سکتا ہے۔ حملے کا کوڈ نام لوہار تھا اور اس کی شناخت CVE-2021-42114 کے طور پر کی گئی تھی۔ پہلے سے معلوم RowHammer کلاس طریقوں کے خلاف تحفظ سے لیس بہت سے DDR4 چپس اس مسئلے کے لیے حساس ہیں۔ آپ کے سسٹمز کو کمزوری کے لیے جانچنے کے ٹولز GitHub پر شائع کیے گئے ہیں۔

یاد رکھیں کہ RowHammer کلاس حملے آپ کو پڑوسی میموری سیلز سے ڈیٹا کو چکرا کر پڑھ کر انفرادی میموری بٹس کے مواد کو مسخ کرنے کی اجازت دیتے ہیں۔ چونکہ DRAM میموری خلیات کی ایک دو جہتی صف ہے، ہر ایک کیپیسیٹر اور ٹرانزسٹر پر مشتمل ہے، اسی میموری کے علاقے کو مسلسل پڑھنے کے نتیجے میں وولٹیج کے اتار چڑھاؤ اور بے ضابطگیوں کا نتیجہ ہوتا ہے جو پڑوسی خلیوں میں چارج کا ایک چھوٹا سا نقصان ہوتا ہے۔ اگر پڑھنے کی شدت زیادہ ہے، تو پڑوسی سیل کافی بڑی مقدار میں چارج کھو سکتا ہے اور اگلی تخلیق نو کے دور میں اپنی اصل حالت کو بحال کرنے کا وقت نہیں ملے گا، جو سیل میں محفوظ ڈیٹا کی قدر میں تبدیلی کا باعث بنے گا۔ .

RowHammer کے خلاف حفاظت کے لیے، چپ مینوفیکچررز نے TRR (ٹارگٹ رو ریفریش) طریقہ کار تجویز کیا، جو ملحقہ قطاروں میں خلیات کی بدعنوانی سے تحفظ فراہم کرتا ہے، لیکن چونکہ تحفظ "غیر واضح طور پر سیکیورٹی" کے اصول پر مبنی تھا، اس سے مسئلہ حل نہیں ہوا۔ جڑ، لیکن صرف معلوم خصوصی معاملات سے محفوظ، جس نے تحفظ کو نظرانداز کرنے کے طریقے تلاش کرنا آسان بنا دیا۔ مثال کے طور پر، مئی میں، گوگل نے ہاف ڈبل طریقہ تجویز کیا، جو TRR تحفظ سے متاثر نہیں ہوا، کیونکہ حملے سے وہ خلیات متاثر ہوئے جو براہ راست ہدف سے متصل نہیں تھے۔

لوہار کا نیا طریقہ TRR تحفظ کو نظرانداز کرنے کا ایک مختلف طریقہ پیش کرتا ہے، جس کی بنیاد پر چارج لیکیج کا سبب بننے کے لیے مختلف فریکوئنسیوں پر دو یا زیادہ جارحانہ تاروں تک غیر یکساں رسائی ہے۔ میموری تک رسائی کے پیٹرن کا تعین کرنے کے لیے جو چارج لیکیج کا باعث بنتا ہے، ایک خاص فزر تیار کیا گیا ہے جو سیل تک رسائی کی ترتیب، شدت اور منظمیت کو مختلف کرتے ہوئے، مخصوص چپ کے لیے خود بخود حملے کے پیرامیٹرز کا انتخاب کرتا ہے۔

اس طرح کا نقطہ نظر، جو ایک ہی خلیوں کو متاثر کرنے سے وابستہ نہیں ہے، موجودہ TRR تحفظ کے طریقوں کو غیر موثر بنا دیتا ہے، جو کسی نہ کسی شکل میں سیلوں کو بار بار کالوں کی تعداد کو گننے کے لیے ابلتا ہے اور، جب کچھ اقدار تک پہنچ جاتی ہیں، تو ری چارجنگ شروع کرتی ہے۔ پڑوسی خلیات کی. لوہار میں، رسائی کا نمونہ ہدف کے مختلف اطراف سے ایک ساتھ کئی خلیوں میں پھیلا ہوا ہے، جس کی وجہ سے حد کی قدروں تک پہنچے بغیر چارج رساو کو حاصل کرنا ممکن ہو جاتا ہے۔

یہ طریقہ TRR کو نظرانداز کرنے کے پہلے تجویز کردہ طریقوں کے مقابلے میں نمایاں طور پر زیادہ موثر ثابت ہوا - محققین نے حال ہی میں سام سنگ، مائکرون، ایس کے ہینکس اور ایک نامعلوم صنعت کار (مینوفیکچرر) کی طرف سے خریدی گئی مختلف DDR40 میموری چپس میں سے تمام 4 میں بٹ ڈسٹورشن حاصل کرنے میں کامیاب ہوئے۔ 4 چپس پر مخصوص نہیں ہے)۔ مقابلے کے لیے، TRRespass طریقہ جو پہلے انہی محققین نے تجویز کیا تھا، اس وقت ٹیسٹ کیے گئے 13 چپس میں سے صرف 42 کے لیے موثر تھا۔

عام طور پر، لوہار کا طریقہ مارکیٹ میں موجود تمام DRAM چپس کے 94% پر لاگو ہونے کی توقع ہے، لیکن محققین کا کہنا ہے کہ کچھ چپس دوسروں کے مقابلے میں زیادہ خطرناک اور حملہ کرنے میں آسان ہیں۔ چپس میں ایرر کریکشن کوڈز (ای سی سی) کا استعمال اور میموری ریفریش ریٹ کو دوگنا کرنا مکمل تحفظ فراہم نہیں کرتا، لیکن آپریشن کو پیچیدہ بنا دیتا ہے۔ یہ قابل ذکر ہے کہ مسئلہ کو پہلے سے جاری کردہ چپس میں بلاک نہیں کیا جا سکتا اور اس کے لیے ہارڈ ویئر کی سطح پر نئے تحفظ کے نفاذ کی ضرورت ہے، اس لیے یہ حملہ کئی سالوں تک متعلقہ رہے گا۔

عملی مثالوں میں لوہار کو استعمال کرنے کے طریقے شامل ہیں تاکہ میموری پیج ٹیبل (PTE، صفحہ ٹیبل انٹری) میں اندراجات کے مواد کو تبدیل کرنے کے لیے کرنل مراعات حاصل کریں، اوپن ایس ایس ایچ میں میموری میں محفوظ RSA-2048 عوامی کلید کو خراب کرنا (آپ عوامی کلید کو اس میں لا سکتے ہیں۔ کسی اور کی ورچوئل مشین حملہ آور کی پرائیویٹ کلید سے ملنے کے لیے شکار کے VM سے جڑنے کے لیے) اور روٹ مراعات حاصل کرنے کے لیے sudo پروسیس کی میموری میں ترمیم کرکے اسناد کی جانچ کو نظرانداز کریں۔ چپ پر منحصر ہے، ایک ٹارگٹ بٹ کو تبدیل کرنے میں 3 سیکنڈ سے لے کر کئی گھنٹے تک حملے کا وقت لگتا ہے۔

مزید برآں، ہم RowHammer کلاس حملوں کے خلاف میموری کے تحفظ کے طریقوں کی جانچ کے لیے اوپن LiteX Row Hammer Tester فریم ورک کی اشاعت کو نوٹ کر سکتے ہیں، جسے Antmicro for Google نے تیار کیا ہے۔ فریم ورک FPGA کے استعمال پر مبنی ہے تاکہ میموری کنٹرولر کے اثر کو ختم کرنے کے لیے براہ راست DRAM چپ پر بھیجے جانے والے کمانڈز کو مکمل طور پر کنٹرول کیا جا سکے۔ Python میں ٹول کٹ FPGA کے ساتھ تعامل کے لیے پیش کی جاتی ہے۔ FPGA پر مبنی گیٹ وے میں پیکٹ ڈیٹا کی منتقلی کے لیے ایک ماڈیول (میموری تک رسائی کے نمونوں کی وضاحت کرتا ہے)، ایک پے لوڈ ایگزیکیوٹر، ایک LiteDRAM پر مبنی کنٹرولر (DRAM کے لیے درکار تمام منطقوں پر کارروائی کرتا ہے، بشمول قطار ایکٹیویشن اور میموری اپ ڈیٹ کرنا) اور ایک VexRiscv CPU۔ پروجیکٹ کی پیشرفت اپاچی 2.0 لائسنس کے تحت تقسیم کی گئی ہے۔ مختلف FPGA پلیٹ فارم سپورٹ ہیں، بشمول Lattice ECP5، Xilinx Series 6, 7, UltraScale اور UltraScale+۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں