Linus Torvalds
Nếu kẻ tấn công thực thi mã bằng quyền root, hắn có thể thực thi mã của mình ở cấp kernel, ví dụ: bằng cách thay thế kernel bằng kexec hoặc bộ nhớ đọc/ghi thông qua /dev/kmem. Hậu quả rõ ràng nhất của hoạt động đó có thể là
Ban đầu, các chức năng hạn chế root được phát triển trong bối cảnh tăng cường bảo vệ khởi động đã được xác minh và các bản phân phối đã sử dụng các bản vá của bên thứ ba để chặn việc vượt qua UEFI Secure Boot trong một thời gian khá dài. Đồng thời, những hạn chế đó không được đưa vào thành phần chính của kernel do
Chế độ khóa hạn chế quyền truy cập vào /dev/mem, /dev/kem, /dev/port, /proc/kcore, debugfs, chế độ gỡ lỗi kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Cấu trúc thông tin thẻ), một số giao diện ACPI và CPU Các thanh ghi MSR, lệnh gọi kexec_file và kexec_load bị chặn, chế độ ngủ bị cấm, việc sử dụng DMA cho các thiết bị PCI bị hạn chế, việc nhập mã ACPI từ các biến EFI bị cấm,
Không được phép thao tác với các cổng I/O, bao gồm thay đổi số ngắt và cổng I/O cho cổng nối tiếp.
Theo mặc định, mô-đun khóa không hoạt động, nó được xây dựng khi tùy chọn SECURITY_LOCKDOWN_LSM được chỉ định trong kconfig và được kích hoạt thông qua tham số kernel “lockdown=”, tệp điều khiển “/sys/kernel/security/lockdown” hoặc các tùy chọn lắp ráp
Điều quan trọng cần lưu ý là việc khóa chỉ giới hạn quyền truy cập tiêu chuẩn vào kernel chứ không bảo vệ khỏi các sửa đổi do khai thác lỗ hổng. Để chặn các thay đổi đối với kernel đang chạy khi dự án Openwall sử dụng các lỗ hổng khai thác
Nguồn: opennet.ru