Làm thế nào tôi có thể chắc chắn rằng một thư mục hoặc tập tin thực sự bị xóa?


14

Tôi biết rằng hầu hết các tệp, khi bị xóa, không thực sự bị xóa khỏi đĩa và có thể được phục hồi sau đó.

Làm thế nào tôi có thể đảm bảo rằng một thư mục tôi đã xóa sẽ thực sự bị xóa khỏi đĩa? Có tiện ích cho điều đó?

Tôi đang sử dụng Debian Linux.


5
Câu trả lời ngắn gọn: Bạn không thể! Câu trả lời dài: Hoặc phá hủy vật lý đĩa hoặc viết lại câu hỏi: Mất bao nhiêu nỗ lực để khôi phục dữ liệu và tỷ lệ thành công của một nỗ lực đó là bao nhiêu?
Marco

Câu trả lời:


11

Mã hóa dữ liệu trước khi lưu trữ. Để xóa dữ liệu, hãy lau phím.

Nếu bạn đã viết dữ liệu bằng văn bản gốc, thì đã quá muộn để xóa sạch nó một cách đơn giản. Có thể có nhiều bản sao của dữ liệu được đặt ở nhiều nơi:

  • trên hệ thống tập tin nếu tập tin được ghi nhiều lần (ghi đè hoặc thay thế);
  • trên hệ thống tập tin nếu nó được sắp xếp lại như là một phần của phân mảnh;
  • trong tạp chí (điều này có khả năng biến mất khá nhanh sau khi dữ liệu được viết lần cuối);
  • trong các bản sao lưu;
  • trong các lĩnh vực bị vô hiệu hóa (đặc biệt là trên SSD).

Để loại bỏ các bản sao của dữ liệu trên hệ thống tập tin, một phương pháp thô sơ là lấp đầy không gian trống ( cat /dev/zero >somefilevà đợi nó dừng lại vì hệ thống tập tin đã đầy). Điều này sẽ ghi đè lên tất cả các khối đầy đủ.

Các phần nhỏ của dữ liệu có thể vẫn còn trong các khối không hoàn chỉnh được sử dụng một phần bởi các tệp khác. Điều này đặc biệt quan tâm đến tên tệp, có thể vẫn còn trong các khối lưu trữ nội dung thư mục. Để loại bỏ mọi thứ, hãy sao lưu tất cả các tệp, ghi đè hoàn toàn thiết bị chứa hệ thống tệp, sau đó khôi phục các tệp.

Phương tiện lưu trữ có thể giữ lại dữ liệu trong các khối không còn được sử dụng. Trên đĩa cứng, điều này có nghĩa là các khối xấu đã được phân bổ lại; Đây là một sự cố khá hiếm khi xảy ra cho đến khi đĩa bắt đầu mòn. Trên SSD, đây là một sự cố phổ biến do cân bằng hao mòn. Trong cả hai trường hợp, mối đe dọa là rất thấp, bởi vì truy cập dữ liệu đó đòi hỏi một kẻ tấn công hơi tinh vi với một số phần cứng đắt tiền vừa phải và thời gian để lãng phí. Nếu bạn quan tâm đến những mối đe dọa này, hãy mã hóa dữ liệu của bạn và đừng để chìa khóa của bạn nằm xung quanh.

Lưu ý rằng bạn có thể thấy lời khuyên về việc xóa dữ liệu bằng cách thực hiện nhiều lần hoặc sử dụng dữ liệu ngẫu nhiên thay vì số không (trong Gut Gutmann lau lau). Quên đi: điều này chỉ áp dụng cho các đĩa cứng của thập niên 1980 (và thậm chí sau đó dữ liệu không rẻ để tái tạo và việc xây dựng lại là không đáng tin cậy). Ghi đè bằng số 0 là đủ tốt; thực hiện nhiều lần vượt qua ngẫu nhiên là lời khuyên lỗi thời hoặc dầu rắn. Xem Tại sao việc ghi số không (hoặc dữ liệu ngẫu nhiên) trên ổ cứng tốt hơn nhiều lần so với chỉ thực hiện một lần?


12

Có một công cụ rất phổ biến được gọi là shred . Nó sẽ ghi đè lên mỗi tệp 25 lần trước khi nó bị xóa. Đó có thể là những gì bạn đang tìm kiếm.

Cách sử dụng shred khá đơn giản

$ shred secret_archive.tar.gz

Tuy nhiên, lưu ý rằng trên các hệ thống hiện đại shredcó thể không hiệu quả hoặc vô dụng nếu:

  • Các chương trình của bạn tạo các tệp tạm thời mà bạn không biết (Giống như nhiều Ứng dụng GUI)
  • FS của bạn dựa trên Copy-On-Write (Giống như ZFS hoặc Btrfs)
  • FS của bạn dựa trên nhật ký (Giống như NILFS)
  • FS của bạn sử dụng ghi nhật ký dữ liệu (Giống như JFS, ReiserFS, XFS, ext3 hoặc ext4 trong một số cấu hình)
  • FS của bạn sử dụng tính năng nén
  • FS của bạn phân bổ các phiên bản mới của tệp tại các vị trí khác nhau
  • Bạn có ảnh chụp nhanh hoặc Sao lưu
  • Bạn đang ở trên một mạng FS
  • Bạn đang sử dụng ổ SSD với thuật toán cân bằng hao mòn

Các tùy chọn khác và có khả năng bảo mật hơn là:

  • Mã hóa dữ liệu quan trọng
  • Ghi đè toàn bộ phân vùng hoặc thiết bị lưu trữ
  • Phá hủy vật lý của thiết bị

1
Theo trang của tôi shredhoạt động ngay cả với ext3 (và tôi đoán ext4 cũng vậy) khi sử dụng chế độ data = order (mặc định) và data = writBack . Hơn nữa, có một cách thay thế đơn giản: chỉ cần tạo một tệp khổng lồ chiếm toàn bộ dung lượng còn lại của hệ thống tệp để tệp bị xóa của bạn sẽ bị ghi đè.
scai

Cảm ơn. Tôi chỉ sửa nó. journaling -> data jornaling
taffer

@scai, phương thức tệp khổng lồ sẽ không nhất thiết phải hoạt động vì các khối của tệp có thể đã được phân bổ lại và chưa được ghi (như dữ liệu bị hủy, khối tệp hoặc thư mục cuối cùng ...)
Stéphane Chazelas

3
shredlà dầu rắn: không tốt hơn head -c $(wc -c secret_archive.tar.gz)>! secret_archive.tar.gz`. Sử dụng shred luôn là vô nghĩa trừ khi bạn sử dụng đĩa cứng từ những năm 1980 hoặc đầu những năm 1990.
Gilles 'SO- ngừng trở nên xấu xa'

3
shred / bcwipe / vv. là dầu rắn ở cấp độ hệ thống tập tin. Đối với bất kỳ hệ thống tập tin. Do cách bạn làm việc với các tệp: Mỗi lần bạn nhấp vào lưu, tệp cũ sẽ bị xóa (nằm trong không gian trống) và một tệp mới được tạo. Bạn không thể hủy nó nếu hệ thống tập tin đã quên nó. - Nó khác nhau ở cấp độ thiết bị hoặc ghi đè lên toàn bộ không gian trống. Có shred là một trong số ít nguồn dữ liệu ngẫu nhiên nhanh có sẵn trong Linux / Unix. / dev / (u) ngẫu nhiên quá chậm để có thể sử dụng để ghi đè số lượng lớn dữ liệu. - Vì vậy, một lượt cắt nhỏ là OK cho thiết bị hoặc không gian trống, chỉ không cho tập tin duy nhất
frostschutz
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.