SWAPGS - د CPU د اټکلي اجرا کولو میکانیزم کې یو نوی زیان

د Bitdefender څخه څیړونکي پیژندل شوی نوی زیانمنتیا (CVE-2019-1125) د عصري CPUs د اټکلي لارښوونې اجرا کولو میکانیزم کې، کوم چې د SWAPGS په نوم یادیږي، کوم چې د پروسیسر لارښوونې نوم سره مطابقت لري چې د ستونزې لامل کیږي. زیانمنتیا دا اجازه ورکوي یو بې امتیازه برید کونکی کولی شي د کرنل حافظې ساحې مینځپانګه وټاکي یا د مجازی ماشینونو چلول. ستونزه تصدیق شوی په Intel پروسیسرونو کې (x86_64) او په جزوي توګه اغیزه کوي د AMD پروسیسرونه چې د اصلي برید ویکتور نه ښکاري. د سپیکټر او میلټډاون زیانونو سره د مبارزې لپاره دمخه پلي شوي میتودونه د Intel پروسیسرونو کارولو پرمهال د SWAPGS برید پروړاندې محافظت نه کوي ، مګر اصلاحات لا دمخه د لینکس ، ChromeOS ، Android او وینډوز لپاره وړاندیز شوي.

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

د نوي برید ځانګړتیا د لیک کارول دي چې د SWAPGS لارښوونې د قیاس پلي کولو پرمهال پیښیږي ، کوم چې په عملیاتي سیسټمونو کې د GS راجستر ارزښت بدلولو لپاره کارول کیږي کله چې کنټرول د کارونکي ځای څخه OS کرنل ته تیریږي (GS. د کارن په ځای کې کارول شوي ارزښت په کرنل کې د عملیاتو پرمهال کارول شوي ارزښت سره بدلیږي). په لینکس کرنل کې، GS یو per_cpu پوائنټر ذخیره کوي چې د کرنل ډیټا ته د لاسرسي لپاره کارول کیږي ، او د کارونکي ځای د TLS (Thread Local Storage) ته اشاره کوي.

د دې لپاره چې د SWAPGS لارښوونې ته دوه ځله زنګ وهلو څخه مخنیوی وکړئ کله چې د کرنل ځای څخه بیا کرنل ته لاسرسی ومومئ یا د کوډ اجرا کولو پرمهال چې د GS راجستر بدلون ته اړتیا نلري ، د لارښوونې دمخه چیک او مشروط څانګه ترسره کیږي. د قیاس اجرا کولو انجن په فعاله توګه د SWAPGS لارښوونې سره کوډ اجرا کوي پرته له دې چې د چک پایلې ته انتظار وباسي، او که ټاکل شوې څانګه تایید نشي، پایله یې ردوي. په دې توګه، یو حالت رامینځته کیدی شي کله چې یوه څانګه چې د SWAPGS اجرا کول پکې شامل نه وي په قیاس سره وټاکل شي، مګر د اټکلي اجرا کولو په جریان کې د GS راجستر ارزښت به د SWAPGS لارښوونې لخوا بدل شي او په انحصاري حافظې عملیاتو کې کارول کیږي چې په CPU کیچ کې پای ته رسیږي.

څیړونکو د برید دوه سناریوګانې وړاندیز کړې چې د ګټې اخیستنې پروټوټایپونه چمتو شوي. لومړۍ سناریو د هغه وضعیت پراساس ده چیرې چې د SWAPGS لارښوونې په قیاس سره نه اجرا کیږي ، که څه هم دا واقعیا په اجرا کې کارول کیږي ، او دوهم یې برعکس دی ، کله چې د SWAPGS لارښوونې په قیاس سره اجرا کیږي ، که څه هم دا باید واقعیا اجرا نشي. د هرې سناریو لپاره، د استخراج لپاره دوه اختیارونه شتون لري: برید کوونکی کولی شي د کرنل په ساحه کې په ځانګړي پته کې ارزښت وټاکي، او برید کوونکی کولی شي په کرنل کې په تصادفي پته کې د ځانګړي ارزښت لټون وکړي. د برید ترسره کول ډیر وخت نیسي او استخراج ممکن د لیک بشپړولو لپاره څو ساعتونو ته اړتیا ولري.

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

فکس د کوربه سیسټم او میلمنو چاپیریالونو کې د کرنل تازه نصبولو ته اړتیا لري، وروسته د سیسټم ریبوټ. په لینکس کې د محافظت غیر فعالولو لپاره ، د "nospectre_v1" اختیار کارول کیدی شي ، کوم چې د SWAPGS زیان منونکي مخنیوي لپاره اقدامات هم غیر فعالوي. د حل په توګه شتون لري پیچ د لینکس کرنل لپاره، کوم چې دمخه په ریلیزونو کې شامل دی 4.19.65, 5.2.7، 4.14.137، 4.9.188 او 4.4.188. د لینکس توزیع لپاره تازه معلومات لاهم ندي خپاره شوي (Debian, RHEL, فیډورا, آرکس لینکس, SUSE/openSUSE, د وبنټو). په وینډوز کې، ستونزه په خاموشۍ سره حل شوه د جولای تازه. د ګوګل شرکت چمتو شوی د کرنل 4.19 لپاره فکس د ChromeOS سره لیږدول شوی او Android.

د Bitdefender د څیړونکو په وینا، Intel د تیر کال په اګست کې د ستونزې څخه خبر شو. دا پریکړه شوې وه چې ستونزه په برنامه ډول حل کړي ، د کوم لپاره چې د مایکروسافټ ، ګوګل او لینکس کرنل څخه پراختیا کونکي د فکس په همغږي پرمختګ کې دخیل و. زاړه Intel پروسیسرونه، د Ivy برج څخه مخکې، په استحصال کې کارول شوي د WRGSBASE لارښوونې لپاره د ملاتړ نشتوالي له امله برید کول خورا ستونزمن دي. ARM، POWER، SPARC، MIPS، او RISC-V سیسټمونه د ستونزې لخوا اغیزمن شوي ندي ځکه چې دوی د SWAPGS لارښوونې ملاتړ نه کوي.

ستونزه په عمده توګه د Intel پروسیسرونو مالکین اغیزه کوي -
د AMD سیسټمونو کې، یوازې د دویم برید سناریو د بیا تولید وړ و، کوم چې د GS راجستر د اساس ارزښت اټکل پروسس کولو پورې محدود دی، کوم چې د تصادفي حافظې ساحو کې د ځانګړو ارزښتونو لیدلو لپاره کارول کیدی شي. د دې برید اختیار بندولو لپاره کافي د سپیکٹر v1 پروړاندې د محافظت موجوده میتودونه.

سرچینه: opennet.ru

Add a comment