آنها مشکلات امنیتی را در بخشهای هسته لینوکس که توسط یکی از کارمندان Huawei پیشنهاد شده بود ، کشف کردند

توسعه دهندگان پروژه Grsecurity اطلاعات مربوط به مسائل امنیتی را منتشر کرد که پیدا شد در پچ پیشنهادی برای بهبود امنیت هسته لینوکس توسط یک کارمند Huawei، وجود یک آسیب پذیری بی اهمیت سو explo استفاده شده در مجموعه پچ HKSP (محافظت از هسته Huawei).

این وصله های "HKSP" توسط کارمند Huawei 5 روز پیش منتشر شده و شامل ذکر Huawei در نمایه GitHub و استفاده از کلمه Huawei در رمزگشایی نام پروژه (HKSP - Huawei Kernel Self Protection) ، حتی اگر emplado اشاره می کند که این پروژه هیچ ارتباطی با شرکت ندارد و از آن خودش است.

این پروژه تحقیقاتی را در اوقات فراغت من انجام داده است ، نام hksp توسط خودم گذاشته شده است ، مربوط به شرکت هواوی نیست ، هیچ محصول هواوی وجود ندارد که از این کد استفاده کند.

این کد وصله توسط من ایجاد شده است زیرا یک نفر انرژی کافی برای پوشش دادن همه چیز را ندارد. بنابراین ، تضمین کیفیت مانند بررسی و آزمایش وجود ندارد.

درباره HKSP

HKSP شامل تغییراتی مانند تصادفی سازی از مبادلات ساختار ، حفاظت از حمله به فضای نامی شناسه کاربر (نام فضای PID) ، فرآیند جداسازی پشته ناحیه mmap ، تشخیص فراخوانی مضاعف عملکرد kfree ، مسدود شدن نشت از طریق pseudo-FS / proc (/ ماژول ها ، کلیدها ، کاربران کلید) ، / proc / sys / هسته / * و / proc / sys / vm / mmap_min_addr ، / proc / kallsyms) ، تصادفی سازی آدرس ها در فضای کاربر ، محافظت اضافی از Ptrace ، محافظت از smap و smep ، امکان منع ارسال داده ها از طریق سوکت های خام ، مسدود کردن آدرس ها در سوکت ها و چک های UDP و یکپارچگی فرایندهای در حال اجرا نامعتبر است.

این چارچوب همچنین شامل ماژول هسته Ksguard است ، که برای شناسایی تلاش برای معرفی روت کیت های معمولی در نظر گرفته شده است.

این وصله ها علاقه به Greg Kroah-Hartman را برانگیخت ، مسئول حفظ شاخه پایدار هسته لینوکس ، چه کسی خواهد بود از نویسنده خواسته تا وصله یکپارچه را به سه بخش تقسیم کند تا بررسی ساده شود و ارتقا to به ترکیب اصلی.

Kees Cook (Kees Cook) ، رئیس پروژه ترویج فناوری محافظت فعال در هسته لینوکس ، همچنین در مورد وصله ها صحبت مثبت کرد و این موارد توجه را به معماری x86 و ماهیت اعلان بسیاری از حالتهایی که فقط ضبط می کنند جلب کرد. اطلاعات مربوط به مشکل را پیدا کنید ، اما سعی نکنید آن را مسدود کنید.

یک مطالعه پچ توسط توسعه دهندگان Grsecurity بسیاری از اشکالات و ضعف های کد را نشان داد همچنین نشانگر عدم وجود یک مدل تهدید بود که امکان ارزیابی کافی از ظرفیت های پروژه را فراهم می کند.

برای توضیح اینکه کد بدون استفاده از روش های امن برنامه نویسی نوشته شده است ، نمونه ای از آسیب پذیری بی اهمیت در دسته / proc / ksguard / state کنترل کننده پرونده ارائه شده است که با مجوزهای 0777 ایجاد شده است ، این بدان معنی است که همه دسترسی به نوشتن دارند.

تابع ksg_state_write که برای تجزیه دستورات نوشته شده در / proc / ksguard / state استفاده می شود ، یک بافر tmp ایجاد می کند [32] ، که در آن داده ها بر اساس اندازه عملوند منتقل شده ، بدون در نظر گرفتن اندازه بافر مقصد و بدون بررسی ، نوشته می شوند. پارامتر با اندازه رشته. به عبارت دیگر ، برای بازنویسی بخشی از پشته هسته ، مهاجم فقط باید یک خط ساخته شده به صورت خاص در / proc / ksguard / دولت بنویسد.

با دریافت پاسخ ، توسعه دهنده در مورد صفحه GitHub پروژه "HKSP" نظر داد پس از کشف آسیب پذیری ، وی همچنین یادداشتی را اضافه کرد که پروژه در اوقات فراغت او برای تحقیق در حال پیشرفت است.

با تشکر از تیم امنیتی برای یافتن اشکالات زیادی در این وصله.
ksg_guard یک بیت نمونه برای شناسایی روت کیت ها در سطح هسته است ، ارتباطات کاربر و هسته در حال راه اندازی رابط کاربری proc است ، هدف اصلی من بررسی سریع ایده است بنابراین من به اندازه کافی بررسی های امنیتی اضافه نمی کنم.

در واقع تأیید روت کیت در سطح هسته ، در صورت نیاز به طراحی ابزار ARK (ضد روت کیت) برای سیستم لینوکس ، هنوز هم باید با جامعه گفتگو کنید ...


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.