د ډیسک کوډ کول او nosuid ماؤنټ د یوې مفکورې د بېلو بڼو په څېر اورېدل کېږي، او هېڅ اړیکه نه لري۔ یو یې په آرام حالت کې معلومات ساتي، بل یې پرېکړه کوي چې کله پروګرام پیل شي کرنل د امتیاز بټ درناوی کوي که نه۔ هغه مرستونکی چې خپلې تمې شوې پېژندنې ته نه رسېږي، د دویم په اړه شکایت کوي۔ دا انګیرنه چې لومړی یې مسؤل دی، خلک دې ته هڅوي چې هغه کلینټان بیا نصب کړي چې هېڅکله خراب شوي نه وو۔

دوه نااړوندې ځانګړتیاوې

د ډیسک کوډ کول ځواب ورکوي چې کله ماشین بند وي بلاکونه څوک لوستلای شي۔ د ماؤنټ انتخاب ځواب ورکوي چې کله څوک یو فایل چلوي کرنل د هغې د موډ بټونو سره څه کوي۔ په لومړي کې هېڅ شی دویم نه محدودوي، او په بشپړ ډول کوډ شوی لپ ټاپ کولای شي د ټولو محدودیتونو سره یو فایل سیسټم ماؤنټ کړي۔

دواړه د یوې ځانګړتیا په توګه لوستل هغه تیوري جوړوي چې کوډ شوی کور د root لاسرسي مخه نیسي۔ هغه تیوري پاتې کېږي ځکه چې دواړه نښې په یوه ماشین کې ښکاري، نه ځکه چې یو ګډ لامل لري۔

په رېښتیا د تېرېدو مخه څه نیسي

د execve حواله تشریح کوي چې څنګه د set-user-ID لرونکی چلېدونکی فایل د نوي پروسې اغېزمنه پېژندنه د فایل مالک ته بدلوي۔ هماغه پاڼه هغه شرطونه لیست کوي چې دغه تېرېدل ځپي او د ډلې پېژندونکو لپاره یې برابر شرطونه: no_new_privs تنظیم، له nosuid سره ماؤنټ شوی فایل سیسټم، او هغه پروسه چې تعقیبېږي۔ په هماغه شرطونو کې د فایل وړتیاوې له پامه غورځول کېږي۔ هغه څلور قاعدې د دې ډول نږدې هر راپور پوښي۔

هغه لیست تشریح کوي چې ولې ls چاپ کوي هغه موډ هېڅکله د اجازې بشپړه کیسه نه ده۔ دا نه وایي چې کوم شرط یو ځانګړی د ناکامۍ پیغام جوړ کړ، او کېدای شي اپلیکیشن په هماغه کلمو کې د یوې نااړوندې اعتبارنامې عملیات راپور کړي۔ د پایلې اخیستلو دمخه دقیق پروګرام، پیلوونکی او د تېروتنو ترتیب ولیکئ۔

هغه چلېدونکی فایل وپېژنئ چې ملاتړ شوي بسته نصب کړی، د هغې مالک، ریښتینی لار او د هغې لرونکي فایل سیسټم پالیسي۔ د ډاونلوډ فولډر کې پروت کاپي نصب شوی مرستونکی نه دی، هر څه چې د هغې موډ وایي۔

په دې اړه څه نه باید وشي

پر نه تصدیق شوې باینري set-user-ID بټونه ایښودل او تر هغه یې اړخ په اړخ کول چې محدودیت ورک شي، ترمیم نه دی۔ دا هغه پالیسي چې تاسو نه پوهېدل، په هغه امتیاز بدلوي چې تاسو یې پلټنه نه شي کولای، او هماغه تخنیک چې پر مرستونکي تطبیق شي یو پېژندل شوی د لوړېدو لار ده۔ له ماؤنټ څخه nosuid لرې کول لا بدتر دي، ځکه چې دا پر هغه فایل سیسټم هر پروګرام اغېز کوي، نه یوازې پر یو۔

ملاتړ شوې لار د کلینټ هغه مستنده مرستونکی یا خدمت نصب دی چې یو مدیر ترسره کوي او باینري هلته ږدي چې پالیسي یې تمه لري۔ په دې توګه د دوو پر ځای یو امتیاز میکانیزم پاتې کېږي۔

ریښتینی د پیل کانټیکسټ تایید کړئ

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

بیا هغه شبکه یي عملیات تایید کړئ چې مرستونکی د هغې لپاره شته۔ هغه مرستونکی چې پیلېږي خو انټرفېس نه شي تنظیمولای ستونزه یو پړاو وړاندې کړې، نه یې حل کړې۔

findmnt -no TARGET,OPTIONS /home
getcap /usr/libexec/openvpn-helper 2>/dev/null; ls -l /usr/libexec/openvpn-helper

د ماؤنټ انتخابونه او د مرستونکي مالکیت په یوه یادښت کې ولیکئ۔ که نه، بل کس چې دا ډیبګ کوي به د کوډ کولو تیوري بیا له سره تکرار کړي۔

اړوندې مقالې