Lỗ hổng trong Linux Boot cho phép cài mã độc trước khi hệ điều hành khởi động

K
Kaya
Phản hồi: 0

Kaya

Writer
Lỗ hổng Linux Boot cho phép kẻ tấn công vượt qua cơ chế bảo vệ Secure Boot và mã hóa ổ đĩa, nhằm chạy mã độc trước khi hệ điều hành thực sự được tải.

Nguyên nhân xuất phát từ việc nhiều bản phân phối Linux mặc định cho phép truy cập vào một debug shell từ initramfs khi người dùng nhập sai mật khẩu quá nhiều lần trong quá trình khởi động.

Cơ chế mở debug shell trong initramfs vốn được thiết kế để hỗ trợ khắc phục sự cố, ví dụ như: Khi người dùng quên mật khẩu hoặc hệ thống gặp lỗi mount ổ đĩa. Tuy nhiên, chính vì được xem là “tính năng hỗ trợ” nên phần lớn các hướng dẫn hardening đều bỏ qua, gây ra tâm lý chủ quan và xem nhẹ rủi ro từ chính cửa hậu này.
1751968724351.png
Bản chất Initramfs (Initial RAM Filesystem) là tập hợp file được nạp sớm vào bộ nhớ khi máy tính khởi động, giúp hệ điều hành tìm và gắn kết ổ đĩa chính. Initramfs không được ký số như kernel hoặc module nên hoàn toàn có thể bị giải nén, chỉnh sửa và đóng gói lại mà hệ thống không phát hiện. Khi hệ thống khởi động lại sau khi được người dùng thật đăng nhập, mã độc trong initramfs sẽ thực thi dưới quyền root.

Initramfs là một thành phần quan trọng nhưng lại thường bị bỏ quên trong các khuyến nghị bảo mật phổ biến như CIS Benchmark hay NIST STIG. Trong quá trình cấu hình hệ thống, phần lớn người dùng và quản trị viên chỉ tập trung vào mã hóa ổ đĩa, thiết lập Secure Boot hay quyền truy cập bootloader, mà ít chú ý đến các cơ chế khởi động sớm như initramfs.​

Kịch bản tấn công thực tế​

Tin tặc chủ yếu lợi dụng cơ chế khởi động mặc định của nhiều bản phân phối Linux hiện nay. Khi người dùng nhập sai mật khẩu giải mã ổ đĩa quá số lần cho phép, thay vì khóa máy thì hệ thống lại cung cấp một shell dòng lệnh gốc (root shell) qua thành phần initramfs.​
  1. Kẻ tấn công sẽ khởi động máy và cố tình nhập sai mật khẩu giải mã ổ đĩa.​
  2. Khi shell gỡ lỗi hiện ra, họ cắm USB chứa bản Ubuntu mini và script tấn công.​
  3. Sau đó:​
    • Mount phân vùng "/boot" chưa mã hóa​
    • Sửa file initrd.img để chèn script độc hại (ví dụ tự động chạy khi boot xong)​
    • Repack và ghi đè lại file​
  4. Lần khởi động sau, script độc hại sẽ tự động thực thi dưới quyền root, mà người dùng hoàn toàn không biết.​
Điều đáng nói là tất cả diễn ra mà không cần phá mã hóa ổ đĩa hay vượt qua Secure Boot.​

Phạm vi ảnh hưởng​

  • Tất cả hệ thống Linux có mã hóa bằng LUKS nhưng vẫn bật mặc định chế độ debug shell trong initramfs (như Ubuntu, Fedora, Arch…)​
  • Các thiết bị trong môi trường doanh nghiệp, laptop hoặc máy chủ chưa khóa truy cập vật lý đều có nguy cơ bị "nhòm ngó"​

Để phòng ngừa kịch bản tấn công này, chuyên gia đưa ra một vài khuyến cáo, người dùng cần thực hiện ngay:​

  1. Tắt chế độ debug shell từ initramfs:
    • Với Ubuntu: Thêm panic=0 vào kernel boot parameter​
    • Với Red Hat/Fedora: thêm rd.shell=0 rd.emergency=halt​
  2. Đặt mật khẩu cho mọi thao tác GRUB, không chỉ chỉnh sửa kernel.​
  3. Cân nhắc mã hóa luôn phân vùng /boot bằng LUKS (nâng cao) hoặc chuyển sang mô hình UKI (Unified Kernel Image) có thể ký số toàn bộ kernel + initramfs.​
  4. Tích hợp TPM (Trusted Platform Module) để đo đạc và xác thực initramfs trong quá trình khởi động.​
Theo WhiteHat.vn
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly92bnJldmlldy52bi90aHJlYWRzL2xvLWhvbmctdHJvbmctbGludXgtYm9vdC1jaG8tcGhlcC1jYWktbWEtZG9jLXRydW9jLWtoaS1oZS1kaWV1LWhhbmgta2hvaS1kb25nLjY0NTAzLw==
Top