لینوس توروالدز
اگر یک مهاجم به اجرای کد با حقوق ریشه دست یابد، می تواند کد خود را در سطح هسته اجرا کند، به عنوان مثال، با جایگزین کردن هسته با استفاده از kexec یا خواندن/نوشتن حافظه از طریق /dev/kmem. واضح ترین پیامد چنین فعالیتی ممکن است
در ابتدا، توابع محدودیت ریشه در زمینه تقویت حفاظت از بوت تایید شده توسعه یافتند، و توزیعها برای مدتی طولانی از وصلههای شخص ثالث برای مسدود کردن دور زدن بوت امن UEFI استفاده میکردند. در همان زمان، چنین محدودیت هایی در ترکیب اصلی هسته به دلیل وجود نداشت
حالت Lockdown دسترسی به /dev/mem، /dev/kmem، /dev/port، /proc/kcore، debugfs، حالت اشکال زدایی kprobes، mmiotrace، tracefs، BPF، PCMCIA CIS (ساختار اطلاعات کارت)، برخی از رابط های ACPI و CPU را محدود می کند. ثبتهای MSR، تماسهای kexec_file و kexec_load مسدود شدهاند، حالت خواب ممنوع است، استفاده از DMA برای دستگاههای PCI محدود است، وارد کردن کد ACPI از متغیرهای EFI ممنوع است،
دستکاری با پورت های ورودی/خروجی از جمله تغییر شماره وقفه و پورت ورودی/خروجی برای پورت سریال مجاز نیست.
به طور پیش فرض، ماژول قفل فعال نیست، زمانی ساخته می شود که گزینه SECURITY_LOCKDOWN_LSM در kconfig مشخص شده باشد و از طریق پارامتر هسته "lockdown="، فایل کنترلی "/sys/kernel/security/lockdown" یا گزینه های اسمبلی فعال شود.
مهم است که توجه داشته باشید که قفل کردن فقط دسترسی استاندارد به هسته را محدود می کند، اما در برابر تغییرات در نتیجه سوء استفاده از آسیب پذیری ها محافظت نمی کند. برای جلوگیری از تغییرات هسته در حال اجرا در هنگام استفاده از اکسپلویت توسط پروژه Openwall
منبع: opennet.ru