Dữ liệu lưu trên ổ SSD được bảo mật?

  • Nghiên cứu cho thấy tác vụ này rất khó, ghi đè hoặc xóa hoàn toàn dường như là phương pháp tốt nhất đối với việc “tẩy trùng” ổ SSD.
  • Mãi cho tới khi xuất hiện một nghiên cứu vào tuần trước, một vài chuyên gia nghi ngờ rằng việc xóa dữ liệu được lưu trên ổ SSD khó hơn nhiều so với việc xóa dữ liệu trên ổ HDD.

    Các chuyên gia trong ngành đã quay trở lại nghiên cứu này, nhưng chú ý rằng những ổ SSD với khả năng mã hóa có thể ngăn chặn dữ liệu bị dò rỉ hoặc ai đó thấy được sau khi một chúng “hết đời”. Bên cạnh đó, có một số phương pháp xóa ổ SSD rất thành công trong việc làm sạch loại ổ này.

    Bruce Schneier, chuyên gia bảo mật cho rằng: “Tôi không nghĩ rằng trước đây mọi người biết được điều này”.

    Nghiên cứu được thực hiện bởi các nhà nghiên cứu thuộc trường đại học California tại San Diego (UCSD), cho thấy rằng việc xóa dữ liệu trên ổ SSD mang lại tin 2 tin tốt và xấu cho bạn. Tin tốt là đây là một công việc khó khăn và tin xấu là nó gần như là điều không thể. Trong khi việc ghi đè dữ liệu vài lần có thể đảm bảo được dữ liệu trên ổ SSD có thể bị xóa, thì các nhà nghiên cứu phát hiện ra rằng họ vẫn có thể khôi phục dữ liệu bằng một số phần mềm.

    Kent Smith, giám đốc tiếp thị sản phẩm của SandForce cho rằng một phương pháp chắc chắn giúp bảo vệ dữ liệu của ổ SSD là xóa mã hóa.

    Xóa mã hóa bao gồm việc trước tiên là mã hóa một ổ SSD để chỉ người dùng sở hữu mật khẩu mới có thể truy cập dữ liệu trong đó. Khi ổ SSD “hết đời”, người dùng có thể xóa key mã hóa trên ổ, loại bỏ khả năng không mã hóa hoặc truy cập dữ liệu.

    Smith nói: “Trừ phi bạn có thể phá vỡ thuật toán mã hóa 128-bit AES, còn không thì không có cách nào để truy cập dữ liệu. Ổ vẫn có đầy đủ chức năng và vẫn có khả năng ghi dữ liệu lên nó. Điều này chỉ mất chưa đầy một giây”.

    Phương pháp bảo mật khác là xóa tất cả chip nhớ NAND.

    Smith cho rằng: “Chúng ta sẽ phải đi qua từng LBA đơn, từng khu vực đơn,…có chứa dữ liệu người dùng, cũng như thực hiện xóa mã hóa. Điều này có thể khiến bạn tốn nhiều thời gian hơn”.

    Chip điều khiển của SandForce, được dùng bởi hầu hết các nhà cung cấp ổ SSD, đều bao gồm một mã hóa 128-bit AES, cho phép người dùng đặt mật khẩu. Tuy nhiên, một số ổ SSD không có mã hóa trên phần cứng.

    Xóa dữ liệu cũng có thể thực hiện trên ổ qua lệnh xóa an toàn – Security Erase Unit (SEU), hoặc qua tính năng sắp được ra mắt của dòng ATA bằng tập hợp làm sạch thiết bị – Sanitize Device Set.

    Xóa an toàn đã được gài vào các thiết bị lưu trữ SATA, và nó cho phép người dùng xóa dữ liệu ở tất cả các khu vực, có thể được lưu trên một ổ cứng hoặc trên một sản phẩm NAND.

    Khi người dùng chọn lệnh SEU, tất cả LBA đều bị xóa trong Device Configuration Identity – nhận dạng cấu hình thiết bị – là tất cả những nơi một ổ SSD có thể lưu trữ dữ liệu của người dùng. Thêm vào đó, key mã hóa được cho về 0 hoặc bị phá hủy, khiến tất cả dữ liệu hiện có đều bị xáo trộn, và tất cả dữ liệu quan trọng đều bị xóa để ổ không thể định vị được ngay cả dữ liệu xáo trộn. Con chip sẽ tự động tạo một key mã hóa mới cho bất kì dữ liệu mới nào.

    Các nhà nghiên cứu UCSD ghi lại rằng: “Tính hiệu quả của việc xóa mã hóa nằm ở bảo mật của hệ thống mã hóa được dùng ( ví dụ là AES), cũng như khả năng của nhà lập trình để loại bỏ tấn công “kênh phụ” có thể giúp kẻ tấn công xuất key hoặc bằng cách nào đó “qua mặt” được mã hóa”.

    AES hay Advanced Encryption Standard, là thành công của tiền bối DES (Data Encryption Standard). Chuẩn mã hóa này được dùng bởi chính phủ Mỹ với việc sử dụng 128-bit và 256-bit để mã hóa lần lượt dữ liệu bí mật và dữ liệu bí mật cấp cao.

    Tuy nhiên, chỉ cung cấp mã hóa AES thì vẫn chưa đủ mà nó còn dựa rất nhiều vào việc mã hóa được triển khai như thế nào.

    Đây cũng là một phần quan trọng bởi người dùng thường không muốn sử dụng mật khẩu đủ dài mỗi khi tạo mật khẩu. Nếu người dùng chọn mật khẩu ít ký tự hơn cần thiết khi sử dụng 128-bit hoặc 256-bit (một ký tự = 8 bit, vậy nên chúng ta đang nói về mật khẩu lần lượt có 16 hoặc 32 ký tự), những ký tự còn lại thường được tự động đặt về 0.

    Trong những trường hợp như vậy, theo Charles Kolodgy, giám đốc nghiên cứu về bảo mật nội dung và quản lý nguy cơ tấn công sản phẩm tại IDC, mật khẩu đó trở lên dễ đoán hơn bao giờ hết.

    Kolodgy khuyến cáo người dùng nên tạo một mật mã hơn là sử dụng mật khẩu. Ông nói: “Bước đầu tiên là quan tâm chăm sóc tới hơn 90% người dùng. Sau đó, giải pháp tốt nhất là có một bộ tạo mật khẩu ngẫu nhiên trên ổ”.

    Ngay cả khi ổ của bạn có khả năng mã hóa riêng, Schneier vẫn tin rằng không có cách nào để chứng minh được bảo mật của một hãng là “ngu ngốc” “ngoài nỗ lực của $50,000 hoặc $100,000” khi ông viết trên một bài tiểu luận về mật khẩu bảo mật.

    Schneier là người đề nghị nên mua ổ càng đắt càng tốt và sau đó là mã hóa dữ liệu bằng phần mềm miễn phí, ví như TrueCrypt hoặc phần mềm tương tự có mức phí thấp như PGPDisk.

    Các nhà nghiên cứu của UCSD cũng đồng ý rằng xóa mã hóa là phương pháp tốt trong việc đảm bảo một ổ SSD được dọn dẹp khi không được dùng nữa hoặc khi dùng lại.

    Họ đã thử nghiệm trên 12 ổ SSD và phát hiện ra rằng không một công nghệ xóa file cá nhân của các phần mềm hiện nay là hiệu quả. Xóa toàn bộ ổ SSD bằng lệnh xóa cũng rất hiệu quả, nhưng nó chỉ hiệu quả khi bạn thực hiện chúng chính xác, và các phần mềm đều hoạt động tốt, nhưng không phải tất cả mọi thời điểm đều vậy.

    Các nhà nghiên cứu cũng không chỉ ra những phần mềm nào đã được sử dụng trong quá trình thử nghiệm.

    Hệ thống thư viện Non-volatile Systems Laboratory của UCSD đã đưa ra một phương pháp để “qua mặt” tầng dịch flash (FTL) trên ổ SSD và trực tiếp truy cập vào chip flash NAND để kiểm tra độ thành công của bất kì kỹ thuật xóa nào.

    Một tầng FTL của SSD thực hiện việc sắp xếp dữ liệu giữa địa chỉ khối logic (LBAs) thông qua giao diện ATA hoặc SCSI và các trang vật lý của chip nhớ flash NAND.

    Trong một bài báo có tên " Reliably Erasing Data from Flash-Based Solid State Drives", các nhà nghiên cứu của trường đại học này đã viết rằng “Tất cả các giao thức xóa ghi đè file đơn đều thất bại: giữa 4% và 75% nội dung các file vẫn còn nguyên trong ổ SATA SSDs."

    Thiết bị lưu trữ USB cũng không có kết quả khả quan hơn là bao: Khoảng 0.57% và 84.9% dữ liệu vẫn còn lưu lại trên ổ sau khi thực hiện quá trình ghi đè.

    Thậm chí, họ còn cố gắng ghi đè khu vực trống trên ổ và chống phân mảnh ổ để phân bố lại dữ liệu, khuyến khích FTL sử dụng lại nhiều khu vực lưu trữ vật lý hơn, nhưng điều này vẫn không có hiệu quả.

    Trong số 12 ổ SSD họ thử nghiệm với lệnh "Erase Unit", chỉ 4 ổ thực sự được xóa. Môt ổ SSD báo cáo rằng đã được xóa gọn gàng, nhưng các chuyên gia vẫn có thể khôi phục lại được dữ liệu.

    Trong một cuộc thí nghiệm ghi đè khác, có thời gian thử nghiệm lên tới 58 giờ với cùng số lượng ổ SSD, các nhà nghiên cứu phát hiện ra rằng 8 trong số những ổ còn lại đã được dọn dẹp sạch sẽ. Sau 2 lần ghi đè, ngoại trừ một ổ, tất cả các ổ đều được trở lại trạng thái xóa. Một ổ vẫn còn 1% dữ liệu ngay cả khi được ghi đè tới 20 lần.

    Bên cạnh đó, các nhà nghiên cứu còn phát hiện ra một điều là việc dọn dẹp một ổ cứng là tác vụ đơn giản hơn. Ở cấp độ người dùng, ổ cứng có thể tái format hoặc ghi đè. Đối với người dùng thương mại, một bộ xóa từ, có sử dụng từ trường mạnh để khử từ của ổ đĩa, có thể xóa hiệu quả tất cả dữ liệu.

    Tuy nhiên, SSD không hoạt động giống như HDD.

    Trên một ổ cứng, cung ghi và xóa đều giống nhau, có nghĩa là khi một host ghi đè dữ liệu, nó sẽ tới cùng một block mà dữ liệu gốc đã được ghi.

    Bộ nhớ flash được hình thành bởi các trang và các khối. Dữ liệu được ghi trong các trang 8KB, và hoạt động xóa xảy ra trong các khối 2MB, cũng được biết đến là "chunks” – khúc dữ liệu. Do vậy, khi hoạt động xóa xảy ra, toàn bộ khối 2MB sẽ được đánh dấu để xóa.

    Vậy nên, khi dữ liệu được viết lên bộ nhớ Flash NAND, đây là một quá trình 2 bước được biết đến như là chu trình đọc – chỉnh sửa – xóa – viết. Trước tiên, dữ liệu hiện tại sẽ được xóa và sau đó dữ liệu cũ kết hợp với dữ liệu mới có thể được ghi lên một trang khác trên bộ nhớ. Tuy nhiên, dữ liệu cũ, thực sự vẫn chưa bị xóa trong thời điểm ghi dữ liệu mới, nó chỉ bị đánh dấu để xóa.

    Các nhà sản xuất sử dụng thuật toán “thu lượm rác” để quay trở lại thời gian, cụ thể là khi ổ trong trạng thái nhàn rỗi, và xóa dữ liệu đã được đánh dấu xóa. Tất cả các thiết bị Flash NAND hoạt động theo cách này. Trong khi chờ đợi, dữ liệu trùng sẽ tồn tại trên bộ nhớ Flash NAND.

    Gregory Wong, chuyên gia phân tích của hãng nghiên cứu thị trường Forward Insights, nói: “Một số ổ không xóa tất cả dữ liệu”.

    Ví dụ, hầu hết các thuật toán wear – leveling trên ổ SSD được sử dụng ngày nay thường phân phát dữ liệu đều lên ổ để nó không ghi ra ngoài bất kì khu vực nào trên ổ Flash NAND. Vấn đề là, wear leveling cũng có thể “thủ tiêu” dữ liệu xóa bởi nó tái định vị lại các khối giữa thời gian chúng được ghi lần đầu và thời gian được ghi đè.

    Viện nghiên cứu tiêu chuẩn và công nghệ quốc gia (NIST) Mỹ hiện đang bị thúc ép bởi công nghệ SSD phải định nghĩa lại một số giao thức ghi đè xóa quân sự để công nhận các ổ mã hóa có thể xóa mã hóa được mà không cần phải ghi đè ổ.

    Ông Smith nói: “Tuy nhiên, điều này sẽ không xảy ra ngay tức thì. Các cơ quan chính phủ cần phải có thời gian dài mới có thể nắm bắt được các chuẩn”.

    (Theo Quantrimang)