- Bài viết về cách vượt qua BitLocker, tính năng mã hóa toàn bộ ổ đĩa của Microsoft Windows, trên laptop Lenovo bằng một bộ phân tích logic giá rẻ
- Khóa mã hóa toàn bộ ổ đĩa (FVEK) của BitLocker được mã hóa bằng khóa chủ ổ đĩa (VMK) và lưu trên đĩa. VMK được lưu trong mô-đun nền tảng tin cậy (TPM), nhờ đó chỉ có thể giải mã đĩa khi khởi động trên đúng máy tính đó.
- Lỗ hổng nằm ở chỗ trong quá trình khởi động, VMK được truyền giữa TPM và CPU ở dạng không mã hóa, vì vậy có thể bị chặn bắt và dùng để giải mã ổ đĩa.
- Tác giả đã sử dụng bộ phân tích logic DSLogic Plus mua với giá dưới 100 USD vào năm 2021 để chặn bắt quá trình trao đổi với TPM.
- Bus SPI (Serial Peripheral Interface) được lấy mẫu ở tần số tối thiểu 100MHz để thu thập tín hiệu ổn định.
- Người ta xác định rằng khóa VMK được sử dụng ở giai đoạn cuối của POST, tức khoảng 14 giây sau khi bắt đầu quá trình khởi động.
- Tín hiệu đã chặn bắt được giải mã qua ba lớp: SPI, TIST (TPM Interface Specification) và TPM 2.0.
- Lệnh TPM dùng để yêu cầu trả về khóa là
TPM2_Unseal, và lệnh này đã được dùng để lấy VMK.
- Sau đó ổ đĩa được mount và một cửa hậu được cài bằng cách ghi đè chương trình Sticky Keys bằng
cmd, cho phép mở shell SYSTEM khi nhấn phím Shift năm lần trong lúc khởi động.
- Tác giả lưu ý rằng việc dùng DSLogic cho tác vụ này khá thách thức vì nhiều bản ghi bị lỗi và tần số lấy mẫu chỉ vừa đủ để cung cấp xung nhịp ổn định.
- Bài viết kết luận rằng việc sử dụng TPM rời (vật lý) không thực sự tăng cường bảo mật hệ thống như kỳ vọng mà chỉ tạo ra cảm giác an toàn giả tạo. Để phòng vệ trước kiểu tấn công này, nên dùng firmware TPM (fTPM) hoặc thiết lập PIN hay mật khẩu cho BitLocker.
1 bình luận
Ý kiến Hacker News
TPM2_StartAuthSessionvà chỉ định mã hóa cho từng lệnh trong phiên