APIC/EPIC! انٹیل چپس راز افشا کرتی ہے یہاں تک کہ دانا کو بھی نہیں دیکھنا چاہیے… پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

APIC/EPIC! انٹیل چپس کے راز لیک ہو جاتے ہیں یہاں تک کہ دانا کو بھی نہیں دیکھنا چاہیے…

یہاں اس ہفتے کا BWAIN ہے، a کے لیے ہماری مزاحیہ اصطلاح ایک متاثر کن نام کے ساتھ بگ.

BWAIN ایک تعریف ہے جسے ہم اس وقت دیتے ہیں جب سائبر سیکیورٹی کی کوئی نئی خامی نہ صرف دلچسپ اور اہم ثابت ہوتی ہے بلکہ اس کے اپنے لوگو، ڈومین نام اور ویب سائٹ کے ساتھ بھی سامنے آتی ہے۔

یہ ڈب ہے۔ ÆPIC لیک، الفاظ پر ایک جملہ اے پی آئی سی اور EPIC.

سابق کے لیے مختصر ہے۔ ایڈوانسڈ پروگرام ایبل انٹرپٹ کنٹرولر، اور مؤخر الذکر صرف لفظ "مہاکاوی" ہے، جیسا کہ میں وشال, بڑے پیمانے پر, انتہائی, میگا, بہت زیادہ.

سیکسن کے زمانے سے Æ حرف تحریری انگریزی میں استعمال نہیں ہوا ہے۔ اس کا نام ہے æsc، تلفظ راھ (جیسے درخت میں)، اور یہ جدید لفظ ASH میں A in کی آواز کی بہت زیادہ نمائندگی کرتا ہے۔ لیکن ہم فرض کرتے ہیں کہ آپ کو اس لفظ کا تلفظ کرنا ہے۔ ÆPIC یہاں یا تو بطور "APIC-slash-EPIC"، یا بطور "ah!-eh?-PIC"۔

یہ سب کیا ہے؟

یہ سب پانچ دلچسپ سوالات اٹھاتے ہیں:

  • APIC کیا ہے؟، اور مجھے اس کی ضرورت کیوں ہے؟
  • آپ کے پاس یہ ڈیٹا کیسے ہو سکتا ہے۔ یہاں تک کہ دانا جھانک نہیں سکتے؟
  • اس مہاکاوی ناکامی کی وجہ کیا ہے؟ APIC میں؟
  • کیا ÆPIC لیک مجھے متاثر کریں?
  • کیا کروں اس کے بارے میں؟

ایک APIC کیا ہے؟

آئیے 1981 کی طرف پلٹتے ہیں، جب IBM PC پہلی بار نمودار ہوا۔

پی سی میں ایک چپ شامل تھی۔ انٹیل 8259A قابل پروگرام مداخلت کنٹرولر، یا PIC۔ (بعد میں ماڈلز، PC AT کے بعد سے، دو PICs تھے، جو ایک ساتھ جکڑے ہوئے تھے، تاکہ مزید رکاوٹ والے واقعات کو سپورٹ کیا جا سکے۔)

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

ان ہارڈویئر رکاوٹوں میں ایسے واقعات شامل تھے جیسے: کی بورڈ کا کی اسٹروک حاصل کرنا؛ سیریل پورٹ ایک کردار وصول کرتا ہے؛ اور بار بار ہارڈ ویئر ٹائمر ٹک ٹک کر رہا ہے۔

اس طرح کے ہارڈویئر انٹرپٹ سسٹم کے بغیر، آپریٹنگ سسٹم کو مستقل بنیادوں پر آنے والی کی اسٹروکس کو چیک کرنے کے لیے فنکشن کالز سے بھرے رہنے کی ضرورت ہوگی، جو کہ CPU پاور کا ضیاع ہوگا جب کوئی ٹائپ نہیں کررہا تھا، لیکن جوابی نہیں ہوگا۔ کافی ہے جب انہوں نے کیا.

جیسا کہ آپ تصور کر سکتے ہیں، PIC کے بعد جلد ہی ایک اپ گریڈ شدہ چپ تھی جسے کہا جاتا ہے۔ اے پی آئی سیایک اعلی درجے کی سی پی یو میں ہی پی آئی سی کی قسم۔

ان دنوں، APICs صرف کی بورڈ، سیریل پورٹ اور سسٹم ٹائمر سے فیڈ بیک سے کہیں زیادہ فراہم کرتے ہیں۔

APIC ایونٹس کو متحرک کیا جاتا ہے (اور اس کے بارے میں ریئل ٹائم ڈیٹا فراہم کرتے ہیں) جیسے کہ اوور ہیٹنگ، اور ہم عصر ملٹی کور پروسیسرز میں مختلف کوروں کے درمیان ہارڈ ویئر کے تعامل کی اجازت دیتے ہیں۔

اور آج کی انٹیل چپس، اگر ہم بہت آسان کر سکتے ہیں، تو عام طور پر دو مختلف طریقوں سے کام کرنے کے لیے ترتیب دی جا سکتی ہے، جسے xAPIC موڈ اور x2APIC موڈ.

یہاں، xAPIC انٹرپٹ کنٹرولر سے ڈیٹا نکالنے کا "وراثت" طریقہ ہے، اور x2APIC زیادہ جدید طریقہ ہے.

مزید آسان بناتے ہوئے، xAPIC اس بات پر انحصار کرتا ہے جسے کہا جاتا ہے۔ ایم ایم آئی او، مختصرا میموری میپڈ ان پٹ/آؤٹ پٹ, APIC کے ڈیٹا کو پڑھنے کے لیے جب یہ دلچسپی کا واقعہ رجسٹر کرتا ہے۔

MMIO موڈ میں، آپ میموری کے مخصوص علاقے (RAM) سے پڑھ کر معلوم کر سکتے ہیں کہ APIC ایونٹ کو کس چیز نے متحرک کیا، جو خود APIC چپ کے ان پٹ/آؤٹ پٹ رجسٹروں کا آئینہ دار ہوتا ہے۔

اس xAPIC ڈیٹا کو کمپیوٹر کی فزیکل ریم میں کہیں 4096 بائٹ میموری بلاک میں میپ کیا گیا ہے۔

یہ ڈیٹا تک رسائی کو آسان بناتا ہے، لیکن اس کے لیے APIC چپ اور سسٹم میموری کے درمیان ایک پریشان کن، پیچیدہ (اور جیسا کہ ہم دیکھیں گے، ممکنہ طور پر خطرناک) تعامل کی ضرورت ہے۔

اس کے برعکس، x2APIC آپ سے مطلوب ہے۔ APIC ڈیٹا کو براہ راست پڑھیں کے طور پر جانا جاتا ہے کا استعمال کرتے ہوئے، چپ سے ہی ماڈل کے مخصوص رجسٹر (MSRs)۔

انٹیل کے مطابق، عمل کے MMIO حصے سے گریز کرنا "پروسیسر ایڈریس ایبلٹی میں نمایاں اضافہ اور رکاوٹ کی ترسیل پر کچھ اضافہ فراہم کرتا ہے۔"

خاص طور پر، اے پی آئی سی ڈیٹا کو براہ راست آن چپ رجسٹروں سے نکالنے کا مطلب ہے کہ تعاون یافتہ ڈیٹا کی کل مقدار، اور سی پی یو کور کی زیادہ سے زیادہ تعداد جس کا ایک ہی وقت میں انتظام کیا جا سکتا ہے، ایم ایم آئی او موڈ میں دستیاب 4096 بائٹس تک محدود نہیں ہے۔

آپ کے پاس ڈیٹا کیسے ہو سکتا ہے کہ دانا بھی جھانک نہیں سکتا؟

آپ نے شاید پہلے ہی اندازہ لگا لیا ہے کہ جب آپ xAPIC موڈ استعمال کر رہے ہوتے ہیں تو MMIO میموری ایریا میں ختم ہونے والا ڈیٹا ہمیشہ اتنی احتیاط سے منظم نہیں ہوتا جتنا اسے ہونا چاہیے…

…اور اس طرح اس MMIO علاقے میں کسی قسم کا "ڈیٹا لیک" اس مسئلے کا مرکز ہے۔

لیکن یہ دیکھتے ہوئے کہ آپ پہلے ہی sysadmin سطح کے اختیارات کی ضرورت ہے۔ MMIO ڈیٹا کو پہلے پڑھنے کے لیے، اور اس وجہ سے آپ تقریباً یقینی طور پر کسی بھی اور تمام ڈیٹا کو میموری میں حاصل کر سکتے ہیں…

…کیوں دوسرے لوگوں کا ڈیٹا غلطی سے APIC MMIO ڈیٹا ایریا میں ظاہر ہونا ایک کی نمائندگی کرتا ہے۔ مہاکاوی لیک

یہ کچھ قسم کے ڈیٹا چوری کرنے یا RAM سکریپنگ کے حملے کو عملی طور پر قدرے آسان بنا سکتا ہے، لیکن یقیناً یہ آپ کو مزید میموری کی اسنوپنگ کی صلاحیت نہیں دے گا جو آپ کے پاس تھیوری میں پہلے سے موجود تھی؟

بدقسمتی سے، یہ مفروضہ درست نہیں ہے اگر سسٹم پر موجود کوئی سافٹ ویئر انٹیل کا SGX استعمال کر رہا ہے، مختصر کے لیے سافٹ ویئر گارڈ کی توسیع.


SGX کے بارے میں مزید جانیں۔


SGX کو بہت سے حالیہ Intel CPUs کے ذریعے سپورٹ کیا جاتا ہے، اور یہ آپریٹنگ سسٹم کے کرنل کو کوڈ اور ڈیٹا کے ایک حصے کو RAM کے فزیکل بلاک میں "سیل" کرنے کا ایک طریقہ فراہم کرتا ہے تاکہ ایک انکلیو کے نام سے جانے والی چیز کو تشکیل دیا جا سکے۔

اس سے اس کا برتاؤ، عارضی طور پر، موبائل فونز میں موجود خصوصی حفاظتی چپس جیسا ہوتا ہے جو کہ راز کو محفوظ کرنے کے لیے استعمال ہوتے ہیں جیسے کہ ڈکرپشن کیز۔

ایک بار جب انکلیو کا SGX "لاک" سیٹ ہو جاتا ہے، صرف سیل بند میموری ایریا کے اندر چلنے والا پروگرام کوڈ ہی اس RAM کے مواد کو پڑھ اور لکھ سکتا ہے۔

نتیجے کے طور پر، انکلیو کے ایکٹیویٹ ہونے کے بعد ہونے والے کسی بھی حساب کی اندرونی تفصیلات سسٹم پر موجود کسی دوسرے کوڈ، تھریڈ، پروسیس یا صارف کے لیے پوشیدہ ہیں۔

دانا خود بھی شامل ہے۔

اس کوڈ کو کال کرنے کا ایک طریقہ ہے جسے انکلیو میں سیل کر دیا گیا ہے، اور اس کے لیے ایک طریقہ ہے کہ اس کے لیے کیے گئے حسابات کا آؤٹ پٹ واپس کر دیا جائے، لیکن اس کوڈ کو بازیافت کرنے، یا جاسوسی کرنے یا ڈیبگ کرنے کا کوئی طریقہ نہیں ہے۔ اس کے چلنے کے دوران اس سے وابستہ ڈیٹا۔

انکلیو مؤثر طریقے سے ایک بلیک باکس میں بدل جاتا ہے جس میں آپ ان پٹس کو فیڈ کر سکتے ہیں، جیسے کہ ایک پرائیویٹ کلید کے ساتھ دستخط کیے جانے والے ڈیٹا، اور آؤٹ پٹ نکال سکتے ہیں، جیسے ڈیجیٹل دستخط جنریٹ کیے گئے ہیں، لیکن جہاں سے آپ کرپٹوگرافک کیز کو آنکھ نہیں مار سکتے۔ دستخط کے عمل میں استعمال کیا جاتا ہے۔

جیسا کہ آپ تصور کر سکتے ہیں، اگر SGX انکلیو کے اندر بند ہونے والا ڈیٹا غلطی سے MMIO RAM میں ڈپلیکیٹ ہو جائے جو آپ xAPIC "میموری میپڈ" موڈ استعمال کرتے وقت APIC ڈیٹا کو "آئینے" کرنے کے لیے استعمال ہوتا ہے…

… جو کہ SGX کی حفاظت کی خلاف ورزی کرے گا، جس میں کہا گیا ہے کہ SGX انکلیو کے بننے کے بعد اس سے کبھی کوئی ڈیٹا نہیں نکلنا چاہیے، جب تک کہ اسے جان بوجھ کر انکلیو کے اندر پہلے سے چل رہے کوڈ کے ذریعے برآمد نہ کیا جائے۔

APIC میں اس مہاکاوی ناکامی کا کیا سبب ہے؟

کے پیچھے محققین ÆPIC لیک پیپر دریافت کیا کہ میموری تک رسائی کے ایک ہوشیار اور غیر معمولی ترتیب کے ذریعے APIC ڈیٹا کو پڑھنے کا اہتمام کرکے…

…وہ پروسیسر کو APIC MMIO کی جگہ کو نہ صرف خود APIC سے تازہ موصول ہونے والے ڈیٹا سے بھرنے کے لیے دھوکہ دے سکتے ہیں، بلکہ اس ڈیٹا کے ساتھ بھی جو حال ہی میں CPU کے ذریعے کسی اور مقصد کے لیے استعمال کیا گیا ہے۔

یہ رویہ اس حقیقت کا ایک ضمنی اثر ہے کہ اگرچہ APIC MMIO میموری کا صفحہ 4096 بائٹس سائز کا ہے، لیکن xAPIC موڈ میں APIC چپ دراصل 4096 بائٹس کا ڈیٹا تیار نہیں کرتی ہے، اور CPU ہمیشہ صحیح طریقے سے غیر جانبدار نہیں ہوتا ہے۔ MMIO ریجن کے غیر استعمال شدہ حصوں کو پہلے زیرو بھر کر۔

اس کے بجائے، سی پی یو کیشے میں بچا ہوا پرانا ڈیٹا خود APIC چپ سے موصول ہونے والے نئے ڈیٹا کے ساتھ لکھا گیا۔

جیسا کہ محققین نے کہا ہے، بگ ابلتا ہے جسے an کہا جاتا ہے۔ غیر شروع شدہ میموری پڑھنا، جہاں آپ غلطی سے کسی اور کے بچ جانے والے ڈیٹا کو RAM میں دوبارہ استعمال کرتے ہیں کیونکہ نہ تو انہوں نے اور نہ ہی آپ نے اسے پہلے اس کے سابقہ ​​رازوں سے پردہ اٹھایا۔

کیا ÆPIC لیک مجھ پر اثر انداز ہوتا ہے؟

متاثرہ چپس کی مکمل فہرست کے لیے، دیکھیں انٹیل کی اپنی ایڈوائزری.

جہاں تک ہم بتا سکتے ہیں، اگر آپ کے پاس 10ویں یا 11ویں جنریشن کا انٹیل پروسیسر ہے، تو آپ شاید متاثر ہوں گے۔

لیکن اگر آپ کے پاس بالکل نیا 12 ویں جنریشن کا CPU ہے (تحریر کے وقت بالکل تازہ ترین)، تو ایسا لگتا ہے کہ صرف سرور کلاس چپس ہی متاثر ہیں۔

ستم ظریفی یہ ہے کہ 12 ویں جنریشن کے لیپ ٹاپ چپس میں، Intel نے SGX کو ترک کر دیا ہے، اس لیے یہ بگ لاگو نہیں ہوتا کیونکہ یہ ناممکن ہے کہ کوئی "سیل شدہ" SGX انکلیو جو لیک ہو سکے۔

بلاشبہ، ممکنہ طور پر کمزور چپ پر بھی، اگر آپ کسی ایسے سافٹ ویئر پر بھروسہ نہیں کر رہے ہیں جو SGX استعمال کرتا ہے، تو بگ بھی لاگو نہیں ہوتا ہے۔

اور بگ، ڈب CVE-2022-21233، صرف ایک حملہ آور کے ذریعہ استحصال کیا جاسکتا ہے جس کے پاس پہلے سے ہی آپ کے کمپیوٹر تک مقامی، منتظم سطح (روٹ) رسائی ہے۔

باقاعدہ صارفین APIC MMIO ڈیٹا بلاک تک رسائی حاصل نہیں کر سکتا، اور اس وجہ سے وہاں کسی بھی چیز کو جھانکنے کا کوئی طریقہ نہیں ہے، خفیہ ڈیٹا کو چھوڑ دیں جو کہ SGX انکلیو سے باہر نکلا ہو گا۔

اس کے علاوہ، مہمان مجازی مشینیں ہائپر وی، وی ایم ویئر یا ورچوئل باکس جیسے ہائپر وائزر میں میزبان آپریٹنگ سسٹم کے کنٹرول میں چلنے والے (VMs) تقریباً یقینی طور پر اس چال کو دوسرے مہمانوں یا خود میزبان سے راز چھیننے کے لیے استعمال نہیں کر سکتے۔

اس کی وجہ یہ ہے کہ مہمان VMs کو عام طور پر میزبان پروسیسر میں حقیقی APIC سرکٹری تک رسائی حاصل نہیں ہوتی ہے۔ اس کے بجائے، ہر مہمان کو اپنا نقلی APIC ملتا ہے جو اس VM کے لیے منفرد ہے۔

کیا کیا جائے؟

گھبرائیں نہیں۔

ایک لیپ ٹاپ یا ڈیسک ٹاپ کمپیوٹر پر، آپ کو بالکل بھی خطرہ نہیں ہوسکتا ہے، یا تو اس لیے کہ آپ کے پاس پرانا (یا خوش قسمت آپ، بالکل نیا!) کمپیوٹر ہے، یا اس لیے کہ آپ بہرحال SGX پر انحصار نہیں کر رہے ہیں۔

اور یہاں تک کہ اگر آپ کو خطرہ ہے، جو بھی آپ کے لیپ ٹاپ میں بطور ایڈمن/روٹ آتا ہے شاید اس کے پاس اتنی طاقت ہوتی ہے کہ وہ آپ کو پہلے ہی پریشانی کی دنیا میں ڈال سکتا ہے۔

اگر آپ کے پاس کمزور سرور ہیں اور آپ اپنی آپریشنل سیکیورٹی کے حصے کے طور پر SGX پر انحصار کر رہے ہیں، تو Intel سیکیورٹی ایڈوائزری کو چیک کریں۔ انٹیل- SA-00657 تحفظ اور تخفیف کی معلومات کے لیے۔

محققین کے مطابق جنہوں نے یہ لکھا، "انٹیل نے اس مسئلے کو حل کرنے کے لیے مائکرو کوڈ اور ایس جی ایکس سافٹ ویئر ڈویلپمنٹ کٹ اپ ڈیٹس جاری کیے ہیں۔"

ایسا لگتا ہے کہ لینکس کرنل ٹیم بھی ابھی ایک ایسے پیچ پر کام کر رہی ہے جو آپ کو اپنے سسٹم کو کنفیگر کرنے کی اجازت دے گا تاکہ یہ ہمیشہ x2APIC استعمال کرے (جو کہ آپ کو پہلے سے یاد ہوگا، مشترکہ میموری کے ذریعے APIC ڈیٹا منتقل نہیں کرتا ہے)، اور بوٹ اپ کے بعد سسٹم کو دوبارہ xAPIC موڈ میں زبردستی جانے سے روکے گا۔


ٹائم اسٹیمپ:

سے زیادہ ننگی سیکیورٹی