2 điểm bởi GN⁺ 2025-01-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Giới thiệu

    • Bài viết này giải thích cách vượt qua mã hóa BitLocker trên Windows 11 (phiên bản 24H2). Việc này được thực hiện bằng cách trích xuất khóa mã hóa toàn bộ ổ đĩa (FVEK) từ bộ nhớ.
  • Bối cảnh

    • Nếu kẻ tấn công có thể truy cập vật lý vào thiết bị, họ có thể khởi động lại máy tính đột ngột và dump RAM của phiên bản Windows vừa chạy gần đây để lấy thông tin nhạy cảm.
    • Nội dung của RAM sẽ nhanh chóng bị hỏng khi nguồn điện bị ngắt, vì vậy có những cách như làm lạnh RAM về mặt vật lý hoặc dùng nguồn cấp điện bên ngoài để ngăn điều đó.
    • Secure Boot là một tiêu chuẩn bảo mật giới hạn những gì có thể chạy khi thiết bị khởi động, nhưng vẫn tồn tại các cách để vượt qua.
  • Bước 1: Tạo thiết bị USB có thể khởi động

    • Cần chuẩn bị một thiết bị lưu trữ USB có dung lượng lớn hơn RAM của hệ thống mục tiêu.
    • Sử dụng script flashimage.sh để tạo và dùng ứng dụng có thể khởi động.
  • Bước 2: Khởi động lại đột ngột hệ thống mục tiêu

    • Mục tiêu là giảm tối đa thời gian máy bị tắt nguồn hoàn toàn.
    • Trong khi Windows đang tải, việc khởi động lại hệ thống trước khi màn hình đăng nhập xuất hiện là hiệu quả.
  • Bước 3: Khởi động từ thiết bị USB

    • Khởi động ngay từ USB vào Memory-Dump-UEFI để vào UEFI shell.
    • Chạy app.efi để tạo dump bộ nhớ.
  • Bước 4: Phân tích dump

    • Do FAT32 giới hạn kích thước tệp ở mức 4GB, có thể sẽ tạo ra nhiều file dump.
    • Có thể dùng chương trình concatDumps để gộp nhiều dump thành một.
    • Có thể dùng chương trình searchMem để tìm các mẫu cụ thể trong dump.
  • Pool tag

    • Pool tag là định danh 4 ký tự cho biết vị trí của memory pool trong kernel Windows.
    • Tệp pooltag.txt chứa nhiều pool tag khác nhau và mục đích của chúng.
  • Khôi phục khóa FVEK

    • Có thể tìm khóa FVEK dưới pool tag dFVE, liên quan đến bộ lọc crash dump của mã hóa ổ đĩa BitLocker cho toàn bộ ổ đĩa.
    • Cũng có thể tìm thấy khóa dưới tag None.
  • Bước tiếp theo

    • Cần bổ sung thuật toán đã được dùng với khóa thu được.
    • Có thể dùng công cụ dislocker để mở khóa ổ đĩa.
  • Ghi chú cuối

    • Để hiểu cách BitLocker được triển khai, tốt nhất là thực hiện gỡ lỗi ở mức kernel.
    • Microsoft cố gắng hủy các khóa, nhưng không thể hủy được tất cả.

1 bình luận

 
GN⁺ 2025-01-01
Ý kiến trên Hacker News
  • BitLocker mang lại lợi ích lớn nhất khi dùng TPM (PCR 7+11) cùng với PIN. Không thể đọc FVEK nếu không có PIN, và nếu nhập sai PIN quá nhiều lần thì TPM sẽ chuyển sang chế độ khóa chống tấn công dò đoán

    • Đang thử một cấu hình tương tự trên Linux, và vì systemd-cryptsetup/cryptenroll chỉ dành cho LUKS nên đang định dùng fscrypt để mã hóa các thư mục nhạy cảm
    • TPM rất khó khi triển khai vượt quá các chức năng cơ bản
    • Đây là dự án cá nhân và sẽ viết bài khi hoàn thành
  • Không hiểu mô hình bảo mật của BitLocker. Trong đa số bản cài đặt, chỉ cần nhấn nút nguồn là máy sẽ khởi động vào Windows

    • Nếu một máy có ổ cứng được mã hóa bị đánh cắp thì có phải chỉ cần bật lên là được hay không
    • Giả định là lưu lượng trên bus SPI phải được mã hóa, nhưng có vẻ máy sẽ dễ dàng cung cấp khóa
    • LUKS có lời nhắc nhập mật khẩu để mở khóa ổ đĩa
  • Một kiểu tấn công cụ thể được phòng vệ hoàn toàn bởi đặc tả giảm thiểu tấn công reset nền tảng của nhóm làm việc PC client

    • Nếu hệ điều hành không tắt sạch sẽ, firmware sẽ xóa RAM và dừng lại trước lần khởi động tiếp theo
    • Không rõ là Windows không dùng cơ chế này hay hệ thống được thử nghiệm không triển khai nó
  • Tác giả bài viết đây. Nếu có câu hỏi thì hãy nhắn tin. Làm việc này rất thú vị và cảm ơn mọi người đã quan tâm

  • Có một bài nói chuyện tại 38C3 về việc vượt qua BitLocker trên Windows 11

  • Có những máy "enterprise" mà một đối thủ bất kỳ có quyền truy cập vật lý không thể thực hiện "khởi động lại đột ngột" từ bên ngoài

    • Thật đáng tiếc là các OEM phổ biến vẫn cho phép "khởi động lại đột ngột" một cách quá dễ dàng
  • BitLocker chỉ bảo vệ khi máy tính đang tắt, và cần được cấu hình để yêu cầu mật khẩu khởi động

  • Windows có đề xuất tùy chọn mã hóa bộ nhớ và nén bộ nhớ

    • Intel và AMD đang làm việc để tích hợp việc này vào CPU, và mục tiêu là các máy chủ chạy nhiều VM chứ không phải laptop
  • Khi có quyền truy cập vật lý, có thắc mắc liệu với một khai thác đọc memory dump của máy mục tiêu thì một thiết bị "interposer" có thể sao chép hoặc sửa dữ liệu trên đường truyền từ bên ngoài hay không

    • Có thể sửa bộ nhớ giống như thiết bị "Action Replay" của Gameboy hay không
    • Có thể chèn một thiết bị vào giữa RAM và bo mạch chủ để chụp lại trạng thái bộ nhớ hay không
    • Không phải kỹ sư điện nên có thể đề xuất này không thực tế, nhưng có vẻ sẽ có giới hạn về không gian vật lý và băng thông
  • Một chiếc Surface 5 Pro với đĩa mã hóa bằng BitLocker nhanh chóng chuyển sang BSOD trong lúc khởi động

    • Không rõ cách này có hoạt động trong tình huống đó không, và đang chờ một khai thác để trích xuất ảnh từ đĩa