په انټیل SGX برید وکړئ ترڅو حساس ډیټا راوباسئ یا په انکلیو کې کوډ اجرا کړئ

د خلکو د آزادۍ اردو د دفاع ساینس او ​​​​ټیکنالوژۍ پوهنتون، د سینګاپور ملي پوهنتون او د ETH زیورخ څیړونکو د انټیل SGX (د سافټویر ګارډ ایکسټینشنز) په جلا جلا سیمو باندې د برید کولو نوې میتود رامینځته کړی. برید د SmashEx په نوم یادیږي او د بیا ننوتلو ستونزو له امله رامینځته کیږي کله چې د Intel SGX لپاره د چلولو اجزاو عملیاتو پرمهال د استثنایی حالتونو اداره کول. د برید وړاندیز شوی میتود دا ممکنه کوي، که تاسو په عملیاتي سیسټم کنټرول لرئ، په انکلیو کې موقعیت لرونکي محرم معلومات مشخص کړئ، یا ستاسو د کوډ کاپي د انکلیو په حافظه کې تنظیم کړئ او د هغې اجرا کول.

د استحصال پروټوټایپونه د انټیل SGX SDK (CVE-2021-0186) او مایکروسافټ اوپن انکلیو (CVE-2021-33767) پراساس د چلولو وخت سره د انکلیو لپاره چمتو شوي. په لومړي حالت کې، د HTTPS لپاره په ویب سرور کې کارول شوي د RSA کیلي استخراج کولو وړتیا ښودل شوې، او په دویمه کې، دا ممکنه وه چې د محتوياتو دننه د CURL یوټیلیټ لخوا ترلاسه شوي مینځپانګې وټاکي. زیانمنتیا لا دمخه د Intel SGX SDK 2.13 او Open Enclave 0.17.1 په خپرونو کې په برنامه توګه حل شوې. د Intel SGX SDK او مایکروسافټ اوپن انکلیو سربیره، زیان په ګوګل Asylo SDK، EdgelessRT، Apache Teaclave، Rust SGX SDK، SGX-LKL، CoSMIX او Veracruz کې هم ښکاري.

راځئ چې یادونه وکړو چې د SGX (د سافټویر ګارډ توسیع) ټیکنالوژي د شپږم نسل Intel کور پروسیسرونو (Skylake) کې راښکاره شوې او یو لړ لارښوونې وړاندې کوي چې د کارونکي کچې غوښتنلیکونو ته اجازه ورکوي چې د حافظې تړل شوي ساحې تخصیص کړي - محتويات چې مینځپانګې یې لوستل کیدی نشي او حتی د کرنل لخوا تعدیل شوی او کوډ په ring0، SMM او VMM حالتونو کې اجرا شوی. دا ناشونې ده چې په کوډ کې کوډ ته د کنټرول لیږد د دودیز کود افعال او د راجسترونو او سټیک سره د چلولو په کارولو سره - په ځانګړي ډول رامینځته شوي نوي لارښوونې EENTER، EEXIT او ERESUME انکلیو ته د کنټرول لیږد لپاره کارول کیږي ، کوم چې د واک چیکونه ترسره کوي. په دې حالت کې، په انکلیو کې ایښودل شوی کوډ کولی شي د کلاسیک زنګ وهلو میتودونه وکاروي ترڅو د انکلیو دننه دندو ته لاسرسی ومومي او ځانګړي لارښوونې د بهرنیو افعالونو زنګ وهلو لپاره. د انکلیو حافظې کوډ کول د هارډویر بریدونو پروړاندې د ساتنې لپاره کارول کیږي لکه د DRAM ماډل سره وصل کول.

په انټیل SGX برید وکړئ ترڅو حساس ډیټا راوباسئ یا په انکلیو کې کوډ اجرا کړئ

ستونزه دا ده چې د SGX ټیکنالوژي عملیاتي سیسټم ته اجازه ورکوي چې د هارډویر استثناء په غورځولو سره د انکلیو مخه ونیسي، او انکلیوونه په سمه توګه د داسې استثناییاتو اداره کولو لپاره ابتدايي اصول نه پلي کوي. د عملیاتي سیسټم کرنل او منظم غوښتنلیکونو برخلاف ، د انکلیو دننه کوډ د اتومي عملونو تنظیم کولو لپاره لومړني ته لاسرسی نلري کله چې په غیر متناسب ډول غورځول شوي استثناوې اداره کوي. پرته له ټاکل شوي اټومي پریمیټیو، انکلیو په هر وخت کې مداخله کیدی شي او بیرته اعدام ته راستانه شي، حتی کله چې انکلیو مهمې برخې اجرا کوي او په ناامنه حالت کې وي (د مثال په توګه، کله چې د CPU راجسترونه خوندي شوي / بیرته نه ساتل کیږي).

په انټیل SGX برید وکړئ ترڅو حساس ډیټا راوباسئ یا په انکلیو کې کوډ اجرا کړئ

د نورمال عملیاتو لپاره ، د SGX ټیکنالوژي اجازه ورکوي د انکلیو اجرا کول د تنظیم کولو وړ هارډویر استثنااتو لخوا مداخله وکړي. دا خصوصیت د انکلیو چلولو چاپیریالونو ته اجازه ورکوي چې د انټرا انکلیو استثنا اداره یا سیګنال پروسس پلي کړي ، مګر دا د بیا ننوتلو غلطیو لامل کیدی شي. د SmashEx برید په SDK کې د نیمګړتیاوو د استثمار کولو پراساس دی چې له امله یې د استثنایی سمبالونکي د بیا غږولو وضعیت په سمه توګه نه اداره کیږي. دا مهمه ده چې د زیانمننې څخه ګټه پورته کولو لپاره، برید کوونکی باید د دې وړتیا ولري چې د انکلیو په اجرا کې مداخله وکړي، د بیلګې په توګه. باید د سیسټم چاپیریال عملیات کنټرول کړي.

د استثناء له مینځه وړلو وروسته، برید کونکی د وخت یوه کوچنۍ کړکۍ ترلاسه کوي چې په ترڅ کې یې د اعدام تار د ان پټ پیرامیټونو د مینځلو له لارې مخنیوی کیدی شي. په ځانګړې توګه، که تاسو سیسټم ته لاسرسی لرئ (د انکلیو څخه بهر چاپیریال)، تاسو کولی شئ د انکلیو د ننوتلو لارښوونې (EENTER) اجرا کولو وروسته سمدستي یو نوی استثنا رامینځته کړئ، کوم چې به په هغه مرحله کې سیسټم ته کنټرول بیرته راولي کله چې د سټیک تنظیم کولو لپاره. enclave لا تر اوسه بشپړ شوی نه دی، په کوم کې چې د CPU راجسترونو حالت هم خوندي شوی.

بیا سیسټم کولی شي کنټرول بیرته انکلیو ته بیرته راستانه کړي، مګر څنګه چې د انکلیو سټیک د مداخلې په وخت کې تنظیم شوی نه و، نو انکلیو به د سیسټم په حافظه کې پاتې شوي سټیک سره اجرا کړي، کوم چې د بیرته راستنیدلو پروګرام کولو لپاره کارول کیدی شي (ROP) ) د استخراج تخنیکونه. اورینټیډ پروګرامینګ). کله چې د ROP تخنیک کاروي، برید کوونکی هڅه نه کوي چې خپل کوډ په حافظه کې ځای په ځای کړي، مګر د ماشین لارښوونو په ټوټو باندې کار کوي چې دمخه په بار شوي کتابتونونو کې شتون لري، د کنټرول بیرته راستنیدو لارښوونې سره پای ته رسیږي (د یوې قاعدې په توګه، دا د کتابتون دندو پایونه دي) . د استثمار کار د مطلوب فعالیت ترلاسه کولو لپاره ورته بلاکونو ("ګیجټس") ته د زنګ وهلو سلسله رامینځته کولو لپاره راځي.

په انټیل SGX برید وکړئ ترڅو حساس ډیټا راوباسئ یا په انکلیو کې کوډ اجرا کړئ
په انټیل SGX برید وکړئ ترڅو حساس ډیټا راوباسئ یا په انکلیو کې کوډ اجرا کړئ


سرچینه: opennet.ru

Add a comment