Skip to content

Lỗ hổng mã hóa trong ổ đĩa cứng SSD cho phép kẻ tấn công giải mã dữ liệu

Các nhà nghiên cứu bảo mật đã phát hiện ra nhiều lỗ hổng nghiêm trọng trong một số ổ đĩa SSD có thể cho phép kẻ tấn công giải mã và khôi phục dữ liệu được bảo vệ mà không cần đến mật khẩu.

Các nhà nghiên cứu Carlo Meijer và Bernard van Gastel đến từ Đại học Radboud ở Hà Lan đã dịch ngược firmware cung cấp chức năng mã hóa dựa trên phần cứng trên một số ổ đĩa cứng SSD và phát hiện ra một số vấn đề nghiêm trọng. Nghiên cứu được công bố với tiêu đề “Self-encrypting deception: weaknesses in the encryption of solid state drives (SSDs)”.

Các nhà nghiên cứu cho biết: “Nhiều mô hình ổ cứng SSD cho phép giải mã và khôi phục toàn bộ dữ liệu mà hoàn toàn không cần đến password hay key”.

Họ đã thử nghiệm tấn công thành công đối với ba mẫu ổ cứng SSD của hãng Crucial là MX100, MX200, MX300, bốn mẫu ổ cứng SSD của hãng Samsung là 840 EVO, 850 EVO, T3 Portable, T5 Portable và tìm thấy ít nhất một lỗ hổng nghiêm trọng liên quan đến vấn đề mã hóa dữ liệu. Các lỗ hổng được giải thích là do việc triển khai không đúng các chuẩn bảo mật ATA và TCG Opal – hai tiêu chuẩn kỹ thuật để triển khai mã hóa trên ổ cứng SSD sử dụng mã hóa dựa trên phần cứng.

Mật khẩu bảo vệ và khóa mã hóa dữ liệu không được liên kết

Theo các nhà nghiên cứu, các mẫu ổ cứng SSD Crucial MX100, Crucial MX200, Samsung 850 EVO và Samsung T3 Portable có các vấn đề nghiệm trọng về bảo mật ATA và TCG Opal, chi tiết được thể hiện như hình dưới đây:

Vì không có ràng buộc hiện tại giữa mật khẩu bảo mật và khóa mã hóa dữ liệu (Data Encryption Keys – DEK), kẻ tấn công có thể mở khóa ổ đĩa cứng  bằng bất kỳ mật khẩu nào bằng cách sửa đổi thói quen xác thực mật khẩu trong RAM thông qua giao diện gỡ lỗi JTAG. Bằng việc truy cập vật lý vào các cổng gỡ lỗi của thiết bị, các nhà nghiên cứu đã sử dụng kỹ thuật dịch ngược firmware và sửa đổi nó để giải mã dữ liệu mã hóa dựa trên phần cứng bằng cách nhập mật khẩu bất kỳ.

Master Password

Các mẫu ổ cứng SSD MX300 của hãng Crucial cũng có một cổng JTAG nhưng đã bị vô hiệu hóa theo mặc định, tuy nhiên, các nhà nghiên cứu phát hiện ra rằng Crucial MX300 có một Master Password có giá trị mặc định được thiết lập bởi nhà sản xuất là một chuỗi rỗng. Nếu giá trị này không được thay đổi bởi người dùng, nó có thể cho phép bất kỳ ai mở khóa dữ liệu chỉ với một trường mật khẩu trống.

Khai thác tính năng Wear Leveling

Các nhà nghiên cứu đã khôi phục các khóa mã hóa dữ liệu (DEK) của ổ cứng SSD Samsung 840 EVO bằng cách khai thác tính năng “wear leveling” – một kỹ thuật để tăng tuổi thọ của bộ nhớ flash. Trong hầu hết các ổ cứng SSD, thuật toán điều chỉnh mức độ hao mòn bộ nhớ hoạt động bằng cách thường xuyên di chuyển dữ liệu tĩnh đến các vị trí vật lý khác nhau trong bộ nhớ flash NAND. Nhưng ngay cả sau khi dữ liệu được di chuyển, nó vẫn còn tồn tại trên vị trí cũ cho đến khi nó được ghi đè.

Tuy nhiên, quá trình này có ảnh hưởng xấu đến bảo mật, họ giải thích rằng: “Giả sử rằng khóa mã hóa dữ liệu được lưu trữ không được bảo vệ, sau đó mật khẩu được thiết lập bởi người dùng cuối, thay thế khóa mã hóa dữ liệu không được bảo vệ bằng một biến thể được mã hóa. Các biến thể mới có thể được lưu trữ ở một nơi khác trong chip lưu trữ và vị trí cũ được đánh dấu là không sử dụng. Nếu không được ghi đè sau đó,  biến thể không được bảo vệ của khóa mã hóa dữ liệu vẫn có thể được truy xuất.”

Không nên tin tưởng hoàn toàn vào BitLocker để mã hóa ổ cứng SSD

Phần mềm mã hóa ổ cứng BitLocker của Windows được cài theo mặc định sử dụng mã hóa dựa trên phần cứng nếu có sẵn, do đó, thay vì sử dụng các thuật toán mã hóa dựa trên phần mềm, người dùng Windows tin cậy vào BitLocker và sử dụng các ổ đĩa có thể chứa các lỗ hổng nói trên.
Tuy nhiên, bạn có thể buộc BitLocker chỉ sử dụng mã hóa dựa trên phần mềm bằng cách thay đổi một thiết lập trong Windows Group Policy theo các bước dưới đây:

  • Mở Local Group Policy Editor bằng cách nhập “gpedit.msc” vào hộp thoại Run.
  • Đi tới “Computer Configuration\Administrative Templates\Windows Components\BitLocker Drive Encryption”.
  • Nhấp đúp vào tùy chọn “Configure use of hardware-based encryption for fixed data drives” trong bảng điều khiển bên phải.
  • Chọn “Disabled” và nhấp “OK” để lưu cài đặt mới.
  • Kích hoạt lại BitLocker.

Xem thêm: Microsoft hướng dẫn cấu hình Bitlocker mã hóa dữ liệu dựa trên phần mềm

Ngoài ra, thay vì dựa vào BitLocker, bạn có thể sử dụng công cụ VeraCrypt mã nguồn mở để mã hóa ổ cứng hệ thống Windows hoặc bất kỳ ổ đĩa nào khác. VeraCrypt được viết dựa trên phần mềm TrueCrypt và tự xử lý quá trình mã hóa mà không cần dựa vào ổ cứng SSD. Hơn nữa, không giống như BitLocker chỉ có trên các phiên bản Professional, Enterprise và Education của Windows 10, VeraCrypt cũng tương thích trên các máy tính Windows 10 Home và Windows 7 Home.

Bản vá bảo mật cho ổ cứng SSD Samsung và Crucial

Meijer và Gastel đã báo cáo các lỗ hổng cho Crucial và Samsung trước khi công bố những phát hiện của họ. Trong khi Crucial đã phát hành bản vá lỗi cho tất cả các ổ đĩa bị ảnh hưởng, Samsung đã tung ra các bản vá bảo mật cho các ổ SSD di động T3 và T5 của mình. Tuy nhiên, đối với các ổ đĩa EVO, Samsung khuyến nghị cài đặt phần mềm mã hóa (có sẵn trực tuyến miễn phí) tương thích với hệ thống của bạn.

Các nhà nghiên cứu còn nói thêm: “Mã hóa phần cứng hiện đang đi kèm với nhược điểm của việc phải dựa vào các chương trình mã hóa độc quyền, không công khai, khó kiểm toán được thiết kế bởi nhà sản xuất. Việc thực hiện đúng mã hóa ổ đĩa là khó khăn và hậu quả của việc phạm sai lầm thường là thảm họa. Vì lý do này, việc triển khai cần được kiểm toán và chịu sự giám sát công khai nhiều nhất có thể. Các nhà sản xuất nên công khai các chương trình mã hóa và mã nguồn tương ứng để có thể xác minh được các yêu cầu bảo mật”.

Theo The Hacker News

156 lượt xem