Почему люди говорят, что ничего действительно не удаляется?
Допустим, у меня на жестком диске есть байт, содержащий байт 0x00. Если я перезаписываю его байтом 0x01, как кто-нибудь может знать, что он содержит байт 0x00?
Почему люди говорят, что ничего действительно не удаляется?
Допустим, у меня на жестком диске есть байт, содержащий байт 0x00. Если я перезаписываю его байтом 0x01, как кто-нибудь может знать, что он содержит байт 0x00?
Я не думаю, что они могут, если вы действительно перезапишите эту область жесткого диска значением магнитного поля, соответствующим 0x01 достаточное количество раз. Однако, это не так, как работают операционные системы. Операционные системы хранят ряд файловых указателей, которые сопоставляются с местоположением файла на физическом диске. Когда вы удаляете файл, вы удаляете этот указатель на файл, но в этот момент вы не перезаписываете диск.
Существуют программы, которые обходят это и записывают значения в физические блоки вашего жесткого диска, таким образом изменяя силу поля в этом блоке. Это исключает предыдущее значение.
Я могу ошибаться, но могут быть статистические методы для получения того, что, вероятно, было значением в этом куске, но, как я уже сказал, я не уверен.
Есть также люди (Питер Гутманн), которые считают, что теоретически возможно восстановить, используя определенные магнитные методы, данные, которые были ранее перезаписаны. Хотя это и не кажется практичным, есть несколько криминалистических служб восстановления данных, которые утверждают, что способны, по крайней мере, до некоторой степени, извлекать данные, которые были перезаписаны.
Подробнее о его материалах здесь: http://www.cs.auckland.ac.nz/~pgut001/pubs/secure_del.html и http://www.cypherpunks.to/~peter/usenix01.pdf
Потому что ваша файловая система - это просто таблица с идентификаторами файлов и физическими адресами, которые указывают на данные для этих записей. Если вы удаляете файл, вы просто удаляете свою запись, но ваши данные остаются в том же месте, где это было раньше.
Он действительно удаляется только в том случае, если файловая система решит позднее восстановить этот неиспользуемый адрес, в противном случае данные все еще там.
В дополнение к тому, что говорят другие, SSD делают это более интересным.
Когда вы пишете в определенное место на SSD, вы не обязательно всегда пишете в одно и то же место. Это сделано, чтобы избежать проблем с износом ячеек памяти, если определенное место записано много раз. Записи распределяются по всему диску, копируя старый сектор и изменяя его при записи в новое место. Побочным эффектом является то, что остаются старые копии данных. Пользователь, программист или даже ОС знают об этом и не могут им управлять. Все это делается в микросхеме контроллера на SSD.
Некоторые современные файловые системы делают подобные вещи (Copy on Write или CoW), но там есть ОС, которая знает, какие старые данные могут быть доступны.