لينڪس ڪرنل کي بچائڻ لاءِ Huawei ملازم پاران تجويز ڪيل پيچز ۾ سيڪيورٽي مسئلا

Grsecurity پروجيڪٽ جا ڊولپر ڦري ويو پيچ سيٽ ۾ هڪ ننڍڙي استحصال واري خطري جي موجودگي تي ڌيان ڏيڻ ايڇ ڪي پي ايس (Huawei Kernel Self Protection)، ڪجهه ڏينهن اڳ تجويز ڪيل لينڪس ڪنيل جي سيڪيورٽي کي بهتر ڪرڻ لاء. صورتحال ياد ڏياري ٿي سامسنگ سان ڪيس، جنهن ۾ سسٽم جي سيڪيورٽي کي بهتر ڪرڻ جي ڪوشش هڪ نئين خطري جي اڀار جو سبب بڻيو ۽ ان کي آسان بڻائي ڇڏيو ڊوائيسز کي سمجهوتو ڪرڻ.

HKSP پيچ هڪ Huawei ملازم طرفان شايع ڪيا ويا، GitHub پروفائل ۾ Huawei جو ذڪر شامل ڪريو، ۽ پروجيڪٽ جي نالي ۾ Huawei لفظ استعمال ڪريو (HKSP - Huawei Kernel Self Protection). ساڳئي وقت، Huawei نمائندن ڪمپني سان HKSP پروجيڪٽ جي ڪنيڪشن کي رد ڪري ڇڏيو ۽ چيو ته ڪوڊ ملازم جي ذاتي شروعات تي تيار ڪيو ويو آهي، سرڪاري Huawei پروجيڪٽ ناهي ۽ ڪمپني جي شين ۾ استعمال نه ڪيو ويو آهي. تي GitHub صفحو HKSP retroactively دريافت کان پوء ڪمزوريون پڻ شامل ڪيو ويو نوٽ ڪريو ته پروجيڪٽ تحقيق جي مقصدن لاء منهنجي فارغ وقت ۾ ترقي ڪئي پئي وڃي.

HKSP ۾ تبديليون شامل آھن جھڙوڪ ڪريڊٽ ڍانچي ۾ آف سيٽن جي بي ترتيب ڪرڻ، صارف جي سڃاڻپ ڪندڙ نيمس اسپيس (pid namespace) تي حملن جي خلاف تحفظ، ايم ايم پي ايريا کان پروسيس اسٽيڪ کي الڳ ڪرڻ، ڪفري فنڪشن ۾ ڊبل ڪالن جو پتو لڳائڻ، pseudo ذريعي ليڪس کي بلاڪ ڪرڻ. -FS/proc (/proc/ {ماڊيول، ڪيز، ڪيئي استعمال ڪندڙ}، /proc/sys/kernel/* and /proc/sys/vm/mmap_min_addr، /proc/kallsyms)، بهتر صارف اسپيس ايڊريس randomization، اضافي Ptrace تحفظ، وڌايل سمپ ۽ سمپ تحفظ، خام ساکٽ ذريعي ڊيٽا موڪلڻ کان منع ڪرڻ جي صلاحيت، UDP ساکٽ ۾ غلط ايڊريس کي بلاڪ ڪرڻ ۽ هلندڙ عملن جي سالميت کي جانچڻ. ان ۾ Ksguard kernel module پڻ شامل آهي، جنهن جو مقصد عام روٽ ڪٽ متعارف ڪرائڻ جي ڪوششن کي ڳولڻ آهي.

َ سڏيو Greg Kroah-Hartman، جيڪو لينڪس ڪرنل جي مستحڪم شاخ کي برقرار رکڻ جو ذميوار آهي، دلچسپيء جو هو، ۽ مصنف کان پڇيو ته مونوليٿڪ پيچ کي حصن ۾ ورهايو وڃي ته جيئن جائزي کي آسان بڻائي سگهجي ۽ مکيه ڪنييل ڏانهن وڌايو وڃي. ڪِيس ڪَڪُ ، سَرُ پروجيڪٽ تي واڌاري لينڪس ڪنييل ۾ فعال تحفظ ٽيڪنالاجي پڻ مثبت طور تي پيچس جو جواب ڏنو ۽، مسئلن جي وچ ۾، x86 آرڪيٽيڪچر جي پابند ۽ ڪيترن ئي طريقن جي نوٽيفڪيشن نوعيت ڏانهن ڌيان ڏنو، جيڪو صرف مسئلي بابت معلومات لاگ ان ڪري ٿو، پر ان کي بلاڪ ڪرڻ جي ڪوشش نه ڪريو.

Grsecurity ڊولپرز پاران پيچ جو مطالعو ڪوڊ ۾ ڪيتريون ئي غلطيون ۽ ڪمزوريون ظاهر ڪيون، ۽ هڪ خطري جي نموني جي غير موجودگي کي پڻ ڏيکاري ٿو جيڪا انهن کي منصوبي جي صلاحيتن کي مناسب طور تي فيصلو ڪرڻ جي اجازت ڏيندو. واضح طور تي اهو ظاهر ڪرڻ لاءِ ته ڪوڊ محفوظ پروگرامنگ طريقن کي استعمال ڪرڻ کان سواءِ لکيو ويو هو، هينڊلر ۾ هڪ ننڍڙي ڪمزوريءَ جو مثال ڏنو ويو آهي.
فائل /proc/ksguard/state، جيڪا ٺاهي وئي آهي حقن 0777 سان، مطلب ته هر ڪنهن کي لکڻ جي رسائي آهي. ksg_state_write فنڪشن، جيڪو /proc/ksguard/state ڏانهن لکيل حڪمن کي پارس ڪرڻ لاءِ استعمال ڪيو ويندو آهي، هڪ tmp[32] بفر ٺاهيندو آهي جنهن ۾ ڊيٽا لکجي ويندي آهي operand جي ماپ جي بنياد تي پاس ڪيل، ٽارگيٽ بفر جي سائيز کي نظر ۾ رکڻ کان سواءِ اسٽرنگ جي سائيز سان پيٽرولر جي جانچ ڪندي. اهي. ڪرنل اسٽيڪ جي حصي کي اوور رائٽ ڪرڻ لاءِ، هڪ حملي آور کي صرف لکڻ جي ضرورت آهي خاص طور تي فارميٽ ٿيل لائن کي /proc/ksguard/state.

static ssize_t ksg_state_write (struct file *file, const char __user *buf،
سائيز_t لين، loff_t * آفسيٽ)
{
u64 قدر؛
چار tmp[32]؛
size_t n = 0;

جيڪڏهن (copy_from_user (tmp، buf، len))
واپسي -1؛

قدر = simple_strtoul (tmp، '\0'، 10)؛
...

استحصال پروٽوٽائپ:

چار بف [4096] = {}؛
int fd = کليل ("/proc/ksguard/state"، O_WRONLY)؛
جيڪڏهن (fd >= 0) {
لکڻ (fd، buf، sizeof(buf))؛
بند ڪريو (fd)؛
}

جو ذريعو: opennet.ru

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