Вопрос или проблема
man shred
предупреждает, что команда не полезна для файловых систем, которые не перезаписывают данные на месте. У меня нет большого опыта с современными и будущими файловыми системами, но я подозреваю, что многие из них поддерживают специальный режим записи на месте для этой цели, который используется командой shred.
Прав ли я в этом предположении? Это уже реализовано в shred
? Есть ли способ узнать об этом без особых усилий (например, когда объявляется новая файловая система)?
shred
в основном бесполезен. Для того чтобы удалить содержимое удаленного файла из образа диска, недостаточно перезаписать те места, где файл был: необходимо удалить все копии файла. Дело не только в том, что файл был перезаписан на месте. У многих типов файлов могут быть несколько файлов с практически одинаковым содержимым, потому что файл редактировался и остались удаленные резервные копии.
Кроме того, если диск повредится, может оказаться невозможным получить доступ к данным программными средствами, но все еще возможно восстановить их аппаратными средствами, или позволив диску охладиться (помещение жесткого диска в морозильник делает его менее подверженным ошибкам на некоторое время, пока он не окончательно не выйдет из строя).
Безопасный способ для уничтожения файла — это изначально хранить его в зашифрованном контейнере, защищенном надежным паролем (сгенерируйте достаточно длинный, случайный пароль и запишите его; когда закончите с файлом, сожгите бумажку).
Без особых усилий, вероятно, нет. Вы можете использовать команду dd
, чтобы проверить пространство на диске, где находился ваш файл, но даже это трудно сделать независимо от файловой системы.
Я бы сказал, что, возможно, более эффективный подход — не использовать shred, а шифровать ваши данные. Вместо уничтожения данных вы могли бы просто уничтожить ключ.
Традиционные файловые системы Linux (ext2/3/4) уже перезаписывают данные на месте. Сделать это в btrfs/ZFS почти невозможно.
Я не могу найти никаких ссылок на перезапись файлов на месте в UFS, но предполагаю, что, будучи более старой файловой системой, они это делают.
Так что, я полагаю, ответ таков: Нет, это предполагает слишком многое. Некоторые файловые системы не поддерживают (или в настоящее время не поддерживают) перезапись на месте.
Если вы имеете дело с неизвестной файловой системой, то предложений solo о шифровании конфиденциальных данных, вероятно, стоит рассмотреть. Уточняя комментарий liori – если зашифрованные данные находятся на SSD, вы не сможете легко удалить сохраненный ключ с физического диска. Однако он перезаписывает логический сектор, поэтому злоумышленнику придется разработать специальное ПО для SSD, чтобы иметь хоть какую-то надежду на восстановление данных.
Ответ или решение
Эффективность инструмента shred
на различных файловых системах
Инструмент shred
предназначен для безопасного удаления данных путём многократной перезаписи содержимого файлов. Однако его эффективность значительно варьируется в зависимости от типа файловой системы. Обозначим ключевые моменты, на которые стоит обратить внимание при использовании shred
.
-
Перезаписи данных на месте:
shred
работает по принципу перезаписи данных на тех же местах, где они были изначально сохранены. Тем не менее, некоторые файловые системы не поддерживают функциональность перезаписи на месте. К таким системам относятся, например, Btrfs и ZFS, где удаление или перезапись, как правило, требует дополнительных шагов из-за особенностей их проектирования (использование снимков, временных меток и т. д.). -
Традиционные файловые системы: В то время как более старая файловая система UFS и традиционные системы, такие как ext2, ext3 и ext4, поддерживают перезапись на месте, использование
shred
на таких системах будет более эффективным. При этом важно помнить, что даже в таких системах могут оставаться метаданные и резервные копии, которые потенциально могут быть восстановлены. -
Шифрование как альтернатива: Эффективным решением для защиты конфиденциальных данных является шифрование. Создание зашифрованного контейнера и уничтожение ключа после завершения работы с данными предоставляет высокий уровень безопасности. При этом, даже если данные останутся доступными на физическом носителе, без ключа они будут недоступны для злоумышленников.
-
Проверка поддерживаемых функций файловой системы: Для определения, поддерживает ли файловая система перезапись на месте, нет простого и универсального способа. Тем не менее, можно использовать такие команды, как
dd
, для анализа свободного пространства, где данные могли бы остаться. Однако такая проверка может сильно зависеть от конкретной реализации файловой системы и требует глубоких технических знаний. -
Организация безопасного хранения данных: Способы уничтожения данных, такие как механическое разрушение носителей или их очистка с помощью специального оборудования, могут дополнительно снизить риски восстановления данных.
В заключение, shred
может быть полезным инструментом, но его действие зависит от особенностей конкретной файловой системы. В большинстве случаев, для достижения наилучшего уровня безопасности данных, стоит рассмотреть использование шифрования в сочетании с другими методами удаления данных. Таким образом, обязательно следует оценивать, какая файловая система используется, и принимать соответствующие меры для эффективного удаления конфиденциальной информации.