Khôi phục dữ liệu SSD: Cách vượt qua TRIM với sự hỗ trợ của PC-3000 SSD
Một trong những thách thức lớn nhất đối với các chuyên gia pháp y kỹ thuật số khi khôi phục dữ liệu SSD bị xóa hay format nhầm chính là lệnh TRIM – tính năng xuất hiện vào đầu kỷ nguyên SSD (khoảng 14 năm trước) và trở thành một tính năng gốc trong tất cả ổ đĩa cứng hiện nay. Tuy nhiên, với sự trợ giúp của những công nghệ hiện đại, việc vượt qua lệnh TRIM để lấy lại những dữ liệu “đã mất” là hoàn toàn khả thi. Hãy cùng tìm hiểu trong bài viết dưới đây.
TRIM là gì và chúng hoạt động như thế nào?
TRIM là một lệnh SSD phần cứng nội bộ hoạt động cùng Hệ điều hành. Theo mặc định, TRIM được tích hợp đầy đủ trong tất cả các hệ điều hành bắt đầu từ Windows Vista SP1, Windows 7 và MacOS X 10.6 (khoảng từ 2009-2010).
Chúng ta đều biết rằng chip nhớ NAND có thể ghi và đọc thông tin cực nhanh, nhưng việc ghi lại sẽ rất chậm bởi bộ nhớ NAND cần:
- Tìm nơi ghi dữ liệu mới;
- Xóa dữ liệu cũ (điền các ô NAND bằng số 0)
- Thực hiện thao tác ghi.
Để cải thiện tốc độ xử lý, các nhà phát triển SSD quyết định thêm lệnh TRIM (trình làm sạch ổ đĩa) sẽ xóa tất cả dữ liệu được đánh dấu là đã xóa trong nền. Điều này sẽ giúp tiết kiệm rất nhiều thời gian khi người dùng quyết định ghi dữ liệu mới vào vị trí đã được TRIMed và làm sạch. Vậy làm cách nào SSD biết dữ liệu nào nên được TRIMed? Hệ điều hành cho ổ đĩa biết dữ liệu nào được đánh dấu là “đã xóa” và SSD chỉ cần xóa các block thuộc về các khu vực đã xóa.
Đôi khi, SSD còn có thể làm một việc đơn giản hơn trong trường hợp format nhanh, đó chính là xóa trình biên dịch – vi trình chính xử lý các khu vực vật lý thành logic. Khi đó, SSD chỉ trả về các số không khi cố gắng đọc bất kỳ dữ liệu nào từ nó (trình dịch logic mới không được biết về các dữ liệu vật lý cũ, vì vậy nó chỉ “đọc” các số không).
Điều tương tự có thể xảy ra với thẻ mSD, SD và CF khi bạn vô tình format chúng qua máy ảnh kỹ thuật số. Trong khôi phục RAW, bạn sẽ không thể tìm thấy bất cứ thứ gì bởi trình dịch đã bị xóa và phiên bản mới của trình dịch cũng không liên quan đến bất kỳ dữ liệu cũ nào.
Trong những trường hợp như vậy, chúng tôi sử dụng PC-3000 Flash để đọc bộ nhớ NAND từ mSD/SD và tái tạo lại hình ảnh. Sau đó, dữ liệu có thể xem lại ở định dạng RAW và thậm chí tạo một ảnh với cấu trúc thư mục hoàn chỉnh hoặc một phần.
Tuy nhiên, đối với SSD, chip-off không hoạt động vì tất cả SSD hiện đại đều chưa mã hóa phần cứng đầy đủ hoặc XOR tương ứng với tính năng nén dữ liệu, vì vậy chúng ta sẽ không thể thấy bất kỳ dữ liệu nào bên trong NAND trước khi giải mã.
Trước đây, việc xử lý các ca khôi phục dữ liệu ổ cứng chỉ đơn giản là bấm một vài nút trong DE và ta đã có một cấu trúc thư mục hoàn chỉnh và dữ liệu ở định dạng RAW. Tuy nhiên, những ngày tháng tốt đẹp ấy đã không còn nữa, bởi ngày nay, ngay cả những ổ đĩa cổ điển dựa trên công nghệ Ghi Lợp Từ (SMR) cũng đang sử dụng TRIM! Kết quả là, sau khi format nhanh, trình dịch sẽ bị xóa và bạn sẽ chỉ nhận được các số 0 thay vì dữ liệu thực.
Hãy tưởng tượng bạn cần khôi phục dữ liệu cho một trường hợp format nhầm ổ SSD. Liệu điều này có khả thi không? Nó phụ thuộc vào nhiều thứ như: dung lượng ổ đĩa, số lượng dữ liệu được ghi trên ổ đĩa, v.v. Thông thường, ổ đĩa sẽ mất từ 10 phút đến 24 giờ trước khi xóa hoàn toàn dữ liệu trong nền.
Bộ điều khiển SSD hiện đại có cấu trúc đa lõi, cho phép chúng thực hiện nhiều việc cùng lúc. Ví dụ: khi bạn đang cố quét ổ đĩa và tìm thấy dữ liệu nào đó ở định dạng RAW bằng Trình trích xuất dữ liệu, một lõi CPU khác sẽ tiếp tục quá trình nền và tất cả dữ liệu sẽ tiếp tục bị xóa.
Hãy nhớ rằng, ổ đĩa sẽ tiếp tục TRIMing dữ liệu ngay khi nó được cấp điện! Dù bạn ngắt kết nối SSD dựa trên SATA khỏi cáp SATA cũng không ích gì bởi CPU sẽ tiếp tục xóa ở chế độ nền.
Cách duy nhất để ngăn chặn TRIM chính là vô hiệu hóa quyền truy cập từ CPU vào chip NAND! Để làm được điều này, ta cần ngắn mạch ổ đĩa chuyển về chế độ SAFE MODE – nó sẽ giúp chúng ta vô hiệu hóa mọi quyền truy cập vào chip NAND và giữ cho ổ đĩa chỉ hoạt động ở chế độ CPU-RAM. Lúc này, chúng ta chỉ có thể ghi/đọc thông tin từ RAM mà không thể tác động đến chip NAND.
Để tiến hành khôi phục dữ liệu, chúng ta cần một Trình tải – một firmware chuyên biệt và được tối ưu hóa bởi các nhà phát triển của ACELab. Nó giống như một firmware nhỏ tương thích với bộ điều khiển đích, nơi các nhà phát triển ACELab tắt hoàn toàn mọi hoạt động nền và mở khóa một số tính năng bổ sung đã bị khóa trước đó. Nếu có một Utility tương thích, chúng ta có thể thử tải Trình tải vào RAM và giành quyền truy cập vào Techno Mode của SSD. Tiếp theo, hãy cố gắng xây dựng lại trình dịch bằng cách sử dụng các bản sao cũ của nó và tải vào ổ đĩa RAM. Sau đó, ta có thể thử truy cập dữ liệu trong Trình trích xuất dữ liệu bằng trình tải tùy chỉnh mà chúng ta đã làm trước đây. Trong trường hợp này, ổ đĩa sẽ hoạt động ở chế độ single-channel. Tốc độ xử lý khá chậm nhưng không có bất kỳ hoạt động nền nào.
Tóm lại
- TRIM hoạt động rất nhanh. Nếu một cái gì đó đã bị xóa hoặc ổ đĩa đã được format, bạn chỉ có vài phút trước khi dữ liệu biến mất vĩnh viễn;
- Ngắt nguồn điện khỏi ổ đĩa ngay lập tức! Bất kỳ kết nối ổ đĩa nào để kiểm tra (qua SATA, M.2, USB, v.v) sẽ là nguyên nhân gây ra chức năng TRIM trong CPU SSD!
- Ổ đĩa mục tiêu PHẢI ĐƯỢC SSD PC-3000 HỖ TRỢ. Nếu không, ta sẽ không thể tắt TRIM hoặc ngăn chặn việc xóa dữ liệu.
Dưới đây là một ví dụ thực tế chứng minh cách chúng hoạt động. Chúng tôi có một ổ đĩa không tên (SmartBuy NOVA) dựa trên bộ điều khiển SM2259XT và hai chip NAND do Intel/Micron sản xuất.
Ổ đĩa này chứa đầy dữ liệu của người dùng gồm video, hình ảnh, tài liệu – mọi thứ mà một khách hàng ngẫu nhiên đang sử dụng hàng ngày.
Bây giờ, hãy thử format ổ đĩa bằng nút format nhanh trên Windows.
Trong Universal Utility và trong Trình trích xuất dữ liệu, chúng ta sẽ chỉ thấy các số 0, vì DE đang sử dụng trình dịch ổ đĩa gốc – và đó là trình dịch mới được tạo sau khi format nhanh ổ đĩa.
Bây giờ thì chúng ta không có nhiều thời gian bởi khi càng quét ổ đĩa thì càng có nhiều block bị xóa trong nền. Chúng ta cần nhanh chóng ngắn mạch ổ đĩa về SAFE MODE – thủ thuật này sẽ giúp ta vô hiệu hóa các chip NAND khỏi CPU.
Hãy giữ cho ổ đĩa được ngắn mạch, bởi đối với bộ điều khiển Silicon Motion and Phison, chúng ta cần cấp nguồn lại cho chúng một vài lần trong quá trình khởi tạo ổ đĩa. SSD phải luôn đặt trong chế độ SAFE MODE.
Hãy khởi chạy Utility tương thích cho SM2259XT (ví dụ – Silicon Power) và tải lên trình tải để kích hoạt các chức năng bổ sung của ổ đĩa.
Khi ổ đĩa hoàn tất quá trình khởi tạo, có thể tiếp tục khởi chạy quy trình xây dựng trình dịch. Ổ đĩa sẽ quét Service Area và lấy một số mô-đun SA quan trọng chưa thông tin về các sector được phân bổ lại, bị xóa, tình trạng của chúng, đồng thời sẽ tạo một trình dịch mới ở chế độ tự động.
Trình dịch đã sẵn sàng. Chuyển sang Trình trích xuất dữ liệu và thực hiện tác vụ mới bằng cách sử dụng PC-3000 UTILITY làm nguồn.
Khi mọi thứ đã sẵn sàng, trước khi tạo ảnh ổ đĩa, trước tiên hãy kiểm tra LBA 1 232 134, nơi được điền bởi các số 0 sau khi format ổ đĩa, giờ đã hiển thị dữ liệu!
Và tất nhiên, chúng ta phải sử dụng khôi phục RAW để xem tệp. Nếu đã có được một số tệp, hãy dừng quá trình và bắt đầu với hình ảnh ổ đĩa hoàn chỉnh. Phòng trường hợp có một số trục trặc với ổ đĩa, chúng ta vẫn nhận được một bản sao đầy đủ nội dung.
Khi sao chép xong, hãy quay lại RAW và cố gắng tìm kiếm thứ gì đó hữu ích. Như bạn có thể thấy, RAW chứa đầy dữ liệu! Không may là đôi khi Cấu trúc thư mục có thể bị mất do format nhanh ghi đè lên Zero Block – thứ chưa thông tin về các sector Master Boot và BOOT. Không có những thông tin này sẽ không có File System.
Trình trích xuất dữ liệu là một công cụ rất mạnh mẽ. Sau khi phân tích đĩa, ngay cả trong trường hợp format ổ đĩa, ta vẫn có thể tìm thấy các bản sao cũ của phân vùng và khôi phục chúng. Tất nhiên, nó không thể bằng một bản FS hoàn chỉnh nhưng tốt hơn nhiều so với chỉ một bản RAW.
Kết luận
Chúng ta có thể sử dụng PC-3000 SSD để ngăn chặn TRIM. Dưới đây là những gạch đầu dòng quan trọng:
- TRIM được bật theo chế độ mặc định trong mọi HĐH và trong mọi ổ SSD kể từ năm 2010;
- Dữ liệu bắt đầu TRIMed từ 1 phút đến 24 giờ (tùy thuộc vào dung lượng ổ đĩa và lượng dữ liệu đã xóa);
- Quick format cũng sẽ khiến trình dịch bị xóa. Tất cả dữ liệu sẽ được hiển thị thành 0 trong Trình trích xuất dữ liệu;
- Cách duy nhất để ngăn chặn TRIM là ngắt nguồn điện khỏi ổ đĩa hoặc giữ ổ đĩa ở SAFE MODE vĩnh viễn;
- Việc khôi phục dữ liệu trên SSD sau khi xóa hoặc format vẫn có thể thực hiện với điều kiện có sự hỗ trợ của PC-3000 SSD!
HTI Group hiện là nhà phân phối độc quyền các sản phẩm của ACELab tại thị trường Việt Nam. Liên hệ Hotline 0928.765.688 để được tư vấn chi tiết về sản phẩm.
(Theo ACELab)