OpenBSD جي W^X سيڪيورٽي ميڪانيزم کي مضبوط ڪرڻ جو منصوبو

ٿيو ڊي راڊٽ حصيداري ڪئي وئي W^X (Write XOR Execute) ميموري تحفظ واري ميڪانيزم کي مضبوط ڪرڻ جو منصوبو. ميڪانيزم جو جوهر اهو آهي ته پروسيس ميموري صفحن کي هڪ ئي وقت لکڻ ۽ عمل ڪرڻ لاءِ رسائي نه ٿو سگهجي. اهڙيء طرح، ڪوڊ صرف لکڻ جي معذور ٿيڻ کان پوء عمل ڪري سگهجي ٿو، ۽ ميموري صفحي تي لکڻ صرف عمل جي معذور ٿيڻ کان پوء ممڪن آهي. W^X ميڪانيزم صارف-اسپيس ايپليڪيشنن کي عام بفر اوور فلو حملن کان بچائڻ ۾ مدد ڪري ٿو، بشمول اسٽيڪ اوور فلوز، ۽ OpenBSD ۾ فعال آهي ڊفالٽ طرفان.

W^X تي ڪم جي شروعات کان وٺي، اهو واضح ٿي چڪو هو ته اهو هڪ ڊگهو رستو هو، ڇاڪاڻ ته JIT استعمال ڪندي ايپليڪيشنن جو هڪ وڏو تعداد موجود هو. JIT تي عملدرآمد کي ٽن ڀاڱن ۾ ورهائي سگھجي ٿو:

  • W ۽ X رياستن جي وچ ۾ ميموري کي تبديل ڪندي، سسٽم ڪال جي "قيمت" کي قبول ڪندي mprotect.
  • ساڳي ميموري جي W ۽ X ميپنگ جي هڪ جوڙي جي وچ ۾ عرف پيدا ڪرڻ.
  • سڀ کان وڌيڪ "گندا" اختيار جي ضرورت آهي W|X ميموري ماڊل جيڪا هڪ ئي وقت ۾ رڪارڊنگ ۽ عمل ڪرڻ جي اجازت ڏئي ٿي.

في الحال، ٽيون اختيار استعمال ڪندي خاص طور تي گهٽ پروگرام آهن ۽ وڌيڪ پهريون ۽ ٻيو استعمال ڪندي. جڏهن ته، جيئن ته W|X JIT (خاص طور تي Chromium ۽ Iridum) سان پروگرامن کي هلائڻ ضروري هو، هڪ "wxallowed" فائل سسٽم ماؤنٽ آپشن شامل ڪيو ويو، جنهن جي اجازت ڏني وئي ته ميموري کي لکڻ ۽ عمل ڪرڻ ٻنهي لاءِ هڪ ئي وقت استعمال ڪيو وڃي، ان صورت ۾ جيڪڏهن قابل عمل ELF. فائل "wxneeded" مارڪر سان نشان لڳل آهي، ۽ ايپليڪيشنون پاڻ کي ميڪانيزم استعمال ڪندي اضافي طور تي محفوظ ڪيون ويون آهن عهد и سروي استعمال ٿيل سسٽم ڪالن جي لسٽ کي محدود ڪرڻ ۽ فائل سسٽم جي حصن کي ترتيب ڏيڻ لاء دستياب آهي.

اهڙين ايپليڪيشنن ۾ ڪمزورين جي استحصال کي وڌيڪ پيچيده ڪرڻ لاءِ، ميڪانيزم ۾ اضافو تجويز ڪيو ويو آهي. MAP_STACK، جيڪو چيڪ ڪري ٿو ته ڇا سسٽم ڪال هڪ قابل تحرير ميموري واري صفحي تان عمل ڪيو پيو وڃي. جيڪڏهن صفحو لکڻ لائق آهي، عمل کي ختم ڪرڻ تي مجبور ڪيو ويندو. انهي طريقي سان، هڪ حملو ڪندڙ سسٽم ڪالن جو استحصال ڪرڻ جي قابل نه هوندو ۽ JIT جي عمل ۾ ضروري گيجٽ ڳولڻ جي ڪوشش ڪرڻ تي مجبور ڪيو ويندو يا ان کان به وڌيڪ ڏکيو ڪم ڪرڻ لاء سسٽم ڪال اسٽبس کي سڌو سنئون اندر ڳولڻ جي ڪوشش ڪندو. حادثي سان ڳنڍيل libc.

ڪروم / ايريڊيم پروسيس اڳ ۾ ئي ڪافي معتبر طور تي محفوظ ٿيل آهن استعمال ڪندي استعمال ڪندي ۽ ظاهر ڪرڻ، پر استعمال ڪرڻ جي صلاحيت کي هٽائڻ، مثال طور، لکڻ (2) سسٽم ڪال واضح طور تي ڪجهه فائدو آهي، ڇاڪاڻ ته اهو حملو ڪندڙ لاء اضافي مشڪلات پيدا ڪري ٿو. بهرحال، مشڪلاتون پڻ پيدا ٿي سگهن ٿيون جيڪڏهن JIT عمل درآمد W|X ميموري مان اصلي سسٽم ڪال استعمال ڪري ٿو. تنهن هوندي، اميد ڪرڻ جو سبب آهي ته اهو معاملو نه ٿيندو، ڇاڪاڻ ته ABI ڪيترائي ڀيرا تبديل ڪيا ويا آهن، پر ڪنهن به مسئلي جي رپورٽ نه ڪئي آهي.

تبديليون اڳ ۾ ئي OpenBSD-Current برانچ جي باقاعده تصويرن ۾ موجود آهن، سڀني دلچسپي وارن کي امتحان ڏيڻ جي دعوت ڏني وئي آهي.

Chrome/Iridium ۾ موڊ جي ظاهر ٿيڻ بابت لاڳاپيل خبرون Theo کان هڪ الڳ تبصرو مستحق آهن جي آئي ٽي بي. هن جي نقطي نظر کان، اهو ڪجهه استعمال جي ماڊل لاء قابل قبول آهي، پر شايد سڀني لاء نه، ڇو ته اهو طريقو واضح طور تي پروسيسر تي لوڊ وڌائيندو. في الحال، ڪروم گهڻو ڪري ڪم ڪندو جيڪڏهن توهان غير فعال "wxallowed" لاءِ /usr/local، جيتوڻيڪ اتي ڪجهه واڌارن سان مسئلا ٿي سگهن ٿا (ghostery هڪ مثال آهي). هڪ طريقو يا ٻيو، ٿيو اميد رکي ٿو ته JITless موڊ ۾ مڪمل ڪم مڪمل طور تي مڪمل طور تي آپريشنل حالت ۾ ويجهي مستقبل ۾ آندو ويندو.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو