د چیک پوائنټ د خوندي لینک کولو محافظت تخنیک وړاندیز کړی، چې دا د زیانونو څخه ګټه پورته کول خورا ستونزمن کوي

د پوستې شرکت وړاندې د خوندي لینک کولو محافظت میکانیزم، کوم چې دا ستونزمن کوي ​​​​چې د ګټې اخیستنې رامینځته کړي چې د مالوک کال اجرا کولو پر مهال تخصیص شوي بفرونو ته د پوائنټرونو تعریف یا بدلون بدلوي. خوندي لینک کول په بشپړه توګه د زیانونو څخه د ګټې اخیستنې امکان نه بندوي، مګر د لږ سر سره دا د پام وړ د ګټې اخیستنې د ځانګړو کټګوریو رامینځته کول پیچلي کوي، ځکه چې د استثمار وړ بفر اوور فلو سربیره، دا اړینه ده چې یو بل زیانمنونکي ومومئ چې د معلوماتو د افشا کیدو لامل کیږي. په حافظه کې د ټوټو ځای په ځای کول.

د خوندي لینک کولو پلي کولو پیچونه د Glibc (ptmalloc)، uClibc-NG (dlmalloc)، gperftools (tcmalloc) او Google TCMalloc لپاره چمتو شوي، او همدارنګه په کرومیم کې د محافظت لوړولو لپاره وړاندیز شوي.
د 2012 راهیسې، کرومیم لا دمخه د ماسک پیټر محافظت تخنیک کې جوړ شوی چې هدف یې د ورته ستونزې حل کول دي، مګر د چیک پوائنټ حل لوړ فعالیت ښیې).
وړاندیز شوي پیچونه دمخه د اګست په خپریدو کې د تحویل لپاره تصویب شوي ګلیبک ایکس اینوم ایکس او خوندي لینک کول به د ډیفالټ لخوا فعال شي. uClibc-NG د خوندي لینک کولو ملاتړ کوي داخل شو په 1.0.33 ریلیز کې شامل دی او د ډیفالټ لخوا فعال شوی. په gperftools کې بدلونونه (زاړه tcmalloc) منل شوی، مګر په راتلونکي ریلیز کې به د اختیار په توګه وړاندیز شي.

پرمختلونکي TCMalloc (نوی tcmalloc) له منلو انکار وکړ بدلون، د فعالیت د شدید تخریب او په منظمه توګه د چیک کولو لپاره د پراخه ازموینو اضافه کولو اړتیا ته اشاره کول چې هرڅه د تمې سره سم کار کوي. د چیک پوائنټ انجینرانو لخوا ازموینې وښودله چې د خوندي لینک کولو میتود د حافظې اضافي مصرف لامل نه کیږي ، او فعالیت کله چې د هپ عملیاتو ترسره کول په اوسط ډول یوازې 0.02٪ لخوا کمیږي ، او په بدترین حالت کې 1.5٪ لخوا (د پرتله کولو لپاره ، په سر کې سر) په کرومیم کې کارول شوي میتود د "2٪ څخه کم" اټکل شوی). شاملول
د خوندي لینک کولو په پایله کې د 2-3 اضافي مجلس لارښوونې اجرا کیږي هرکله چې وړیا () ویل کیږي، او 3-4 لارښوونې هرکله چې malloc() ویل کیږي. د پیل کولو او تصادفي ارزښت تولید مرحلو چلول اړین ندي.

د چیک پوائنټ د خوندي لینک کولو محافظت تخنیک وړاندیز کړی، چې دا د زیانونو څخه ګټه پورته کول خورا ستونزمن کوي

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

+# PROTECT_PTR (pos, ptr) تعریف کړئ \
+ ((__typeof (ptr)) ((((size_t) pos) >> 12) ^ ((size_t)ptr)))

+# REVEAL_PTR (ptr) PROTECT_PTR (&ptr, ptr) تعریف کړئ

- nextp = p->fd;
+ nextp = REVEAL_PTR (p->fd)؛
...

د میتود جوهر دا دی چې د ASLR پتې تصادفي میکانیزم (mmap_base) څخه تصادفي ډاټا وکاروئ ترڅو د واحد تړل شوي لیستونو ساتنه وکړي لکه Fast-Bins او TCache. مخکې لدې چې ارزښت په لیست کې راتلونکي عنصر ته په نښه کونکي باندې پلي شي ، دا د ماسک تبادله ترسره کوي او د مخ تنظیم کولو لپاره چک کوي. پوائنټر د "(L >> PAGE_SHIFT) XOR (P)" د عملیاتو په پایله کې ځای په ځای کیږي، چیرې چې P د پوائنټر ارزښت دی او L د حافظې ځای دی چیرې چې پوائنټر زیرمه کیږي.

د چیک پوائنټ د خوندي لینک کولو محافظت تخنیک وړاندیز کړی، چې دا د زیانونو څخه ګټه پورته کول خورا ستونزمن کوي

کله چې په سیسټم کې کارول کیږي ASLR (د پته ځای ترتیب ترتیب) د هپ بیس پته سره د L بټونو برخه تصادفي ارزښتونه لري چې د P کوډ کولو لپاره د کیلي په توګه کارول کیږي (د 12-بایټ مخونو لپاره د 4096-bit شفټ عملیاتو لخوا استخراج شوی). دا لاسوهنه په استثمار کې د پوائنټر د تښتولو خطر کموي، ځکه چې پوائنټر په خپل اصلي بڼه کې نه ساتل کیږي او د هغې ځای په ځای کول د هپ تخصیص پوهه ته اړتیا لري. برسېره پردې، د پیچ ​​کوډ د بلاک الینمینټ لپاره اضافي چک هم لري، کوم چې برید کونکي ته اجازه نه ورکوي چې یو پوائنټر بدل کړي د غیر متناسب ارزښت سره او د بټونو شمیره پوهه ته اړتیا لري چې په ترتیب کې دي، کوم چې په 64-bit سیسټمونو کې اضافي بلاک کولو ته اجازه ورکوي. له 15 څخه 16 د برید هڅې چې سمون په پام کې نه نیسي.

دا طریقه د بریدونو په وړاندې د ساتنې لپاره اغیزمنه ده چې د جزوی پوائنټر بیا لیکل (د ټیټ بایټونو بدلول)، د بشپړ پوائنټر بیا لیکل (د برید کونکي کوډ ته لیږدول) او په غیر متناسب پته کې د لیست موقعیت بدلول کاروي. د مثال په توګه، دا ښودل شوي چې په malloc کې د خوندي لینک کولو کارول به په دې وروستیو کې د استخراج مخه ونیسي پیژندل شوی د ورته زیان منونکي څیړونکو لخوا CVE-2020-6007 د فیلیپس هیو برج سمارټ ر lightا کې ، د بفر ډیر جریان له امله رامینځته شوی او تاسو ته اجازه درکوي د وسیلې کنټرول ترلاسه کړئ.

سرچینه: opennet.ru

Add a comment