Làm cách nào để xóa an toàn các tệp được lưu trữ trên ổ SSD?


27

Từ một bài viết (rất dài, nhưng chắc chắn đáng để đọc) về SSD :

Khi bạn xóa một tệp trong HĐH, không có phản ứng nào từ ổ cứng hoặc SSD. Không phải cho đến khi bạn ghi đè khu vực (trên ổ cứng) hoặc trang (trên SSD) mà bạn thực sự mất dữ liệu. Các chương trình khôi phục tệp sử dụng thuộc tính này cho lợi ích của chúng và đó là cách chúng giúp bạn khôi phục các tệp đã bị xóa.

Tuy nhiên, sự khác biệt chính giữa ổ cứng và SSD là những gì xảy ra khi bạn ghi đè lên một tệp. Mặc dù ổ cứng có thể chỉ cần ghi dữ liệu mới vào cùng một khu vực, SSD sẽ phân bổ trang mới (hoặc được sử dụng trước đó) cho dữ liệu được ghi đè. Trang chứa dữ liệu không hợp lệ bây giờ sẽ được đánh dấu là không hợp lệ và đến một lúc nào đó nó sẽ bị xóa.

Vậy, cách tốt nhất để xóa các tệp được lưu trữ trên ổ SSD là gì? Ghi đè bằng dữ liệu ngẫu nhiên như chúng ta đã quen với các đĩa cứng (ví dụ: sử dụng tiện ích "shred") sẽ không hoạt động trừ khi bạn ghi đè lên ổ WHOLE ...

Câu trả lời:


22

Làm thế nào về việc mã hóa khối lượng chính nó? Dữ liệu đã xóa sẽ vẫn ở đó nhưng không thể truy cập được cho bất kỳ ai mà không có khóa thích hợp.


Thật buồn cười tôi đã không nghĩ về điều đó - vì tôi luôn sử dụng mã hóa LUKS trên các đĩa cứng của mình;)
c089

Như đã nêu ở đây điều này sẽ có tác động hiệu suất nghiêm trọng. Với các ổ đĩa dựa trên SandForce, sử dụng xóa an toàn ATA sẽ xóa khóa mã hóa AES, cung cấp giải pháp cho vấn đề xóa an toàn khi không sử dụng mã hóa phần mềm.
c089

12

Nếu ổ SSD hỗ trợ bộ tính năng chế độ bảo mật ATA, thì nó có chức năng xóa an toàn được tích hợp, bạn có thể truy cập bằng cách sử dụng một cái gì đó như Xóa an toàn, được ghi lại ở đâyđây .


2
+1 cho bộ tính năng chế độ bảo mật ATA. Có một video hay về điều này trên SecurityTube.net
RJFalconer

2
Nhưng tính năng đó chỉ dành cho các ổ đĩa hoàn chỉnh, phải không?
c089

@ Chris089: Điều đó đúng: xóa an toàn sẽ xóa toàn bộ ổ đĩa. Ghi đè toàn bộ ổ đĩa với dữ liệu ngẫu nhiên không được đảm bảo để xóa toàn bộ ổ đĩa, do thiếu hiệu quả. (Tuy nhiên, nó có thể làm cho một số dữ liệu unerased không thể tiếp cận đối với người dùng bình thường, ít nhất.) Xem anandtech.com/storage/showdoc.aspx?i=3531&p=9 để biết thêm.
bk1e

Coi chừng các ổ đĩa (cũ) đã được tìm thấy không thực hiện tính năng này như bình thường. Nó cũng hoạt động với ổ cứng, nhưng trên SSD, nó có lợi thế là nó thực sự có thể hoàn thành sau vài giây thay vì hàng giờ.
Maarten Bodewes

Một vấn đề khó chịu với Secure Erase là nhiều ổ đĩa yêu cầu bạn phải xoay vòng nguồn vật lý (rút đầu nối nguồn và cắm lại) để đưa chúng ra khỏi trạng thái "đóng băng bảo mật". Chỉ sau đó, Secure Erase mới hoạt động. Không phải lúc nào cũng dễ dàng hoặc mong muốn phải mở PC của bạn, đặc biệt khi đó là máy tính xách tay hoặc hệ thống nhúng tồi tệ hơn.
misha256

10

Ngay cả khi bạn ghi đè lên toàn bộ ổ đĩa, bạn không thể hoàn toàn chắc chắn vì cả HD và SSD đều chứa các phần dự phòng được thay thế khi xảy ra lỗi hoặc trong trường hợp SSD hỗ trợ cân bằng hao mòn .

Nếu bạn muốn hoàn toàn chắc chắn dữ liệu không thể phục hồi được, bạn phải phá hủy ổ đĩa một cách vật lý ngoài khả năng phục hồi. Ghi đè cung cấp cho bạn sự chắc chắn hợp lý trên HD - trên SSD, thực sự không có cách nào để đạt được điều đó. Nếu bạn điền vào toàn bộ ổ đĩa, vẫn có khả năng khối dữ liệu đã được chuyển sang khối dự phòng để cân bằng hao mòn và sẽ xuất hiện lại sau.


Không thể downvote được, nhưng câu trả lời xóa an toàn làm mất hiệu lực đối số này. Tất nhiên, nếu bạn không muốn dựa vào sự xóa an toàn của nhà sản xuất, thì việc phá hủy vật lý đèn flash là một lựa chọn. Nhưng hãy chắc chắn rằng bạn đốt nó hoặc phá vỡ tất cả các chip, đèn flash rất đàn hồi.
Maarten Bodewes

Lưu ý rằng đây là một câu trả lời cũ; bây giờ, hầu hết các ổ đĩa đều được hỗ trợ nếu không phải tất cả các ổ đĩa, kể cả hầu hết các ổ đĩa cứng.
Maarten Bodewes

1
Xóa an toàn xóa tất cả SSD. Nhưng không tách tập tin hoặc phân vùng.
Mikhail Moskalev

9

Do bản chất của bộ nhớ flash NAND, SSD không thể ghi đè trực tiếp dữ liệu. Ghi đè liên tục một tập tin trước khi xóa nó sẽ không xóa nó một cách an toàn trên SSD SSD, dữ liệu sẽ được ghi ở nơi khác trên NAND.

Để hiểu tại sao lại như vậy, cần phải giải thích cách thức hoạt động của SSD bên trong.

  • Flash NAND được chia thành các khối , mỗi khối bao gồm một tập hợp các trang thường có kích thước 4 KB (cộng với mã sửa lỗi). Hầu hết các ổ SSD hiện đại sử dụng NAND với các khối 128 trang cho kích thước khối 512 KB, mặc dù một số ổ đĩa, đặc biệt là ổ cũ, có thể sử dụng các khối 256 KB hoặc nhỏ hơn. Sơ đồ sau giả định các khối 256 KB, nhưng khái niệm này giống nhau bất kể kích thước khối.

Sơ đồ các trang trong một khối NAND
Nguồn - Trình sắp xếp nhạc lịch sự tại Wikipedia, CC BY-SA 3.0

  • Mỗi trang có thể được viết riêng lẻ, nhưng các trang không thể được viết lại cho đến khi bị xóa và việc xóa chỉ có thể được thực hiện trong toàn bộ các khối. Điều này có nghĩa là bất cứ khi nào dữ liệu được viết lại, SSD phải đánh dấu dữ liệu trong các trang bị ảnh hưởng không hợp lệ và viết lại ở nơi khác, có thể trong một khối khác. Tại thời điểm thích hợp hơn, lý tưởng nhất là khi ổ đĩa không hoạt động và tất cả các trang trong một khối được đánh dấu không hợp lệ, SSD có thể xóa các khối không còn được sử dụng. Quá trình dọn dẹp này được gọi là thu gom rác .

  • Để SSD biết khối nào có thể bị xóa, hệ điều hành phải cho nó biết khối nào không còn chứa dữ liệu hợp lệ. Này được thực hiện bằng cách sử dụng ATA TRIM lệnh . SSD sau đó được miễn phí để thu gom rác những khối không sử dụng.

SSD cố gắng trải đều ghi trên NAND để tránh lỗi sớm, một quá trình dựa trên không gian trống có sẵn cho ổ đĩa.

  • Mỗi khối NAND chỉ có thể duy trì một số hữu hạn các chu kỳ ghi / xóa. Nhiều ổ SSD tiêu dùng hiện nay sử dụng NAND 19-21nm trong đó mỗi khối tốt cho khoảng 3.000 chu kỳ trước khi không sử dụng được, mặc dù SSD doanh nghiệp và một số SSD tiêu dùng cao cấp sử dụng các loại NAND bền hơn có sẵn trên thị trường.

  • Tuy nhiên, trong mọi trường hợp, SSD phải trải đều ghi trên toàn bộ ổ đĩa để tránh làm hao mòn quá mức trên bất kỳ khối nào nhằm tránh sự hỏng hóc sớm của ổ đĩa, thông qua một quá trình gọi là cân bằng hao mòn . Chỉ có thể đạt được mức độ hao mòn hiệu quả nếu có một lượng không gian nhất định ( cung cấp quá mức ) được dành riêng để cho phép thu gom rác hiệu quả theo yêu cầu ngay cả khi ổ đĩa đã gần đầy.

  • Trong điều kiện khắc nghiệt khi SSD được yêu cầu ghi dữ liệu nhanh hơn nó có thể xóa các khối cũ (phổ biến trong khối lượng công việc của trung tâm dữ liệu nặng ghi), có thể buộc phải ghi lại dữ liệu trong một khối thành một khối khác, sau đó xóa ngay khối cũ để mở đường cho dữ liệu mới, trước khi nó có cơ hội thực hiện thu gom rác.

  • Việc viết lại cưỡng bức một khối ít hơn lý tưởng vì nó làm giảm hiệu suất và góp phần khuếch đại ghi , trong đó nhiều dữ liệu được ghi vào NAND bên dưới so với số lượng thực tế mà ổ đĩa được hướng dẫn để ghi. Việc cung cấp quá mức giúp giảm thiểu việc khuếch đại ghi bằng cách cung cấp thêm không gian dự phòng để ghi lại dữ liệu và xóa các khối cũ. Đây là lý do tại sao các SSD doanh nghiệp cao cấp như Samsung SSD 845DC PRO có các kích cỡ như 200 GB và 400 GB mặc dù ổ đĩa thực sự chứa gần hơn 256 hoặc 512 GB NAND bên trong. Xem thêm: Tại sao SSD có kích thước kỳ lạ?

  • Loạt giấy trắng SSD của Samsung cung cấp một lời giải thích kỹ lưỡng về hoạt động bên trong của SSD. Viết và xóa các trang và khối NAND và bộ sưu tập rác được giải thích trong sách trắng 04 .

Cách duy nhất để thực sự xóa dữ liệu trên SSD là sử dụng các lệnh Xóa an toàn ATA.

  • Xóa an toàn hướng dẫn ổ đĩa xóa sạch tất cả dữ liệu được lưu trữ, bao gồm cả dữ liệu có thể vẫn còn trong các vùng NAND được cung cấp quá mức. Tất cả các khối bị xóa khi điều này được thực hiện, dẫn đến một ổ đĩa nguyên sơ.

  • Trong các ổ đĩa có khả năng tự mã hóa, Secure Erase có thể được thực hiện đơn giản bằng cách xóa khóa mã hóa. Vì dữ liệu trên NAND của ổ đĩa được mã hóa là không thể đọc được nếu không có khóa, nên không cần phải xóa tất cả các khối như cần thiết trên một ổ đĩa không được mã hóa.


Xin lưu ý rằng không phải tất cả các ổ đĩa đều thực hiện đúng các lệnh xóa an toàn. Nếu bạn vẫn muốn sử dụng ổ đĩa, đó có thể là điều tốt nhất bạn có thể làm nếu bạn không có tầm nhìn xa để mã hóa ngay từ đầu. Nếu bạn muốn loại bỏ ổ đĩa, bạn nên phá hủy nó - đặc biệt là các chip flash.
Bob

Nếu cần phải phá hủy vật lý, tôi sẽ mở ổ đĩa và phá hủy PCB bên dưới.
bwDraco

@Bob Bạn có một liên kết đến một nguồn thảo luận về việc thực hiện không chính xác? Các secure_eraselệnh là một phần của tiêu chuẩn ATA. Nó có thể không có mặt trên một số ổ đĩa rẻ hơn, nhưng nếu có thì nó nên hoạt động đúng. Lý do nó hoạt động tốt hơn các tùy chọn khác là nó khôi phục ổ đĩa về cấu hình ban đầu của nhà máy. Ngay cả trên ổ cứng, nó cũng nhanh hơn và hiệu quả hơn các công cụ như DBAN.
Paul

@ Paul security.stackexchange.com/questions/41676/... , usenix.org/legacy/events/fast11/tech/full_papers/Wei.pdf , security.stackexchange.com/questions/62253/... Có là hoàn toàn không bảo đảm một tùy ý phần sụn của ổ đĩa thực hiện chính xác bất kỳ lệnh đã cho nào (lỗi có thể xảy ra ở bất cứ đâu) - và thử nghiệm đã chứng minh rằng ít nhất một số ổ đĩa chắc chắn không. Vào cuối ngày, vấn đề lớn nhất là bạn không thể thực sự xác minh việc xóa chính xác.
Bob

1
Vì chúng tôi không thể đưa ra tuyên bố / đảm bảo thành công, chúng tôi phải giả sử ít nhất một số ổ đĩa không thực hiện đúng. Nếu chúng ta giả sử một số ổ đĩa không thực hiện đúng, thì điều an toàn cần làm là giả sử không có ổ đĩa nào thực hiện chính xác cho đến khi được chứng minh khác đi. Và thật không dễ để chứng minh - việc xóa có thể đúng với bạn, trong khi vẫn giữ thông tin trên các chip flash cho tất cả những gì bạn biết - điều đó có nghĩa là bạn phải luôn phá hủy vật lý đối với bất kỳ điều gì thực sự nhạy cảm.
Bob

6

Như @teabot đã nêu bằng cách sử dụng phần mềm mã hóa toàn bộ đĩa sẽ tránh được vấn đề xóa an toàn vì bạn không phải thực hiện thêm nữa. Tuy nhiên, như đã nêu trong một câu hỏi liên quan , điều này sẽ có tác động hiệu năng rất lớn bởi vì điều này ngăn chặn rất nhiều tính năng của bộ điều khiển như nén và TRIM và đã được báo cáo để giảm hiệu suất xuống mức mà ổ cứng thông thường nhanh hơn thì đắt hơn SSD. Đối với các thiết bị dựa trên SandForce, có một giải pháp tốt hơn: Các thiết bị đó thực hiện mã hóa AES theo mặc định và khóa sẽ bị xóa khi bạn sử dụng tính năng xóa an toàn ATA, làm cho tất cả dữ liệu không thể truy cập được trừ khi kẻ tấn công có thể phá vỡ AES (128 bit cho hiện tại, 256 bit cho các ổ đĩa mới được phát hành vào tháng 3 năm 2011).


1
Tuy nhiên, dường như không có một solutio nào để xóa an toàn chỉ một vài tệp. Bạn phải xóa toàn bộ đĩa.
c089

3

Như bạn nghĩ, xóa sạch tất cả không gian trống để đảm bảo rằng bất kỳ khối nào được sử dụng để chứa dữ liệu đều bị xóa là cách duy nhất để chắc chắn. Chà, ngoài việc lấy một trang web từ quỹ đạo ...

Điều này sẽ khá tốn thời gian và sẽ làm giảm tuổi thọ của chip flash, nếu bạn sử dụng shred multi-pass.

Một cách khác để bảo vệ dữ liệu bị xóa là lưu trữ dữ liệu được mã hóa ở những nơi đầu tiên sử dụng hệ thống tệp được mã hóa bằng cách sử dụng một cái gì đó như truecrypt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.