Среди бытовых заблуждений цифровой эпохи первое место по праву занимает вера в корзину и кнопку удаления. Человек выкидывает файл в корзину, очищает её и успокаивается: данных больше нет. Данные, между тем, никуда не уходили. На диске остался каждый бит старого документа, изменилось лишь указание системе: это место свободно, пишите сюда новое. Пока поверх не легли свежие байты, прежний файл лежит тихо, целиком и безупречно читаемый для того, кто умеет смотреть. Само понятие "полного удаления" в компьютерном мире оказывается в удивительном положении почти вымысла: есть только аккуратное перекрытие старого новым, и вся наука безопасного уничтожения данных строится вокруг этого простого факта.
Что именно происходит при удалении файла
Самые массовые файловые системы родились задолго до того, как кто-то заговорил о безопасном стирании, и их замысел был исключительно хозяйственным: удаление должно быть мгновенным. Стирание же всех данных по-настоящему означало пробежать диску по каждому кластеру файла и перезаписать их, что на скоростях девяностых вылилось бы в минуты ожидания за каждый приговорённый файл. Инженеры выбрали трюк: оставить содержимое, удалить только регистрационную запись.
На знаменитой системе FAT регистрация сводилась к изящной примете: первый символ имени файла в каталоге заменялся служебным байтом, и с этой минуты система считала запись свободной, а цепочку кластеров файла доступной для нового зайва. На NTFS действует тот же принцип с поправкой на архитектуру: запись о файле в главной таблице помечается неиспользуемой, данные о кластерах объявляются свободными, сами данные при этом прилежно лежат на месте. В любом из случаев команда "удалить" обходится маркировкой, а не подметанием.
Тут и рождается иллюзия, ставшая сюжетом тысяч историй про восстановленные фотографии и спасённые архивы. Удалённый файл не исчез, а просто лишился прописки, и до тех пор пока системе не понадобилось его место, он терпеливо ждёт у порога.
Почему восстановление работает и как живут программы-спасатели
Целая индустрия программ для восстановления данных существует именно вследствие этой хозяйственной логики. Такие утилиты не тратят время на разговоры с файловой системой, они идут через неё и читают диск целиком, разыскивая характерные подписи: сигнатурные байты в начале файлов изображений, документов, архивов. Эта техника известна под именем карвинг, и на свежем диске, где до места файла не добрались новые записи, она приносит почти идеальные результаты.
Сутью противодействия, естественно, становится прямое перекрытие содержимого. Стоит только записать на место старых кластеров новые данные, и восстановление программными средствами становится физически невозможным: на носителе больше нет следов прежнего состояния, память о нём хранится лишь в допотопных метафизических теориях остаточной намагниченности, до которых ещё вернёмся.
Главное практическое следствие для пользователя филигранно простое: вероятность вернуть нечаянно удалённый файл тем выше, чем меньше работал диск после удаления. Поэтому золотое правило восстановления гласит: прекращайте любую запись на носитель немедленно и запускайте спасение одновременно; каждая лишняя минута работы системы жуёт память о старых файлах.
Методы безопасного стирания и почему цифры 35 ходят по легендам
По ту сторону стоит задача намеренного уничтожения, и она тоже имеет свою классическую литературу. Простейший способ безопасного стирания всякого файла состоит в записи поверх него нулей, единиц или псевдослучайных байтов: достаточно одного полного прохода, чтобы программное восстановление потерпело полное фиаско. Эта простота, однако, столкнулась со страхом перед лабораторным восстановлением с утончённым оборудованием, и паранойя технических специалистов породила методы с многократной перезаписью.
Самым цитируемым образцом стал алгоритм Питера Гутмана из середины девяностых с тридцатью пятью проходами разных битовых масок, разработанный под нищету кодировок самых разных старинных дисков так, чтобы перемешать следы любой схемы записи. Историческое анекдотичество происхождения метода мало кого смущает: многие до сих пор клянутся именно 35 проходами. Рядом живут алгоритмы Брюса Шнайера с семью проходами и известная норма американского министерского стандарта DoD 5220.22-M, предусматривающая проходы со случайными и фиксированными байтами с последующей проверкой.
Показательно вердиктирование независимых экспертов и национальных институтов, согласно которым на современных дисках достаточно одного добротного прохода перезаписи, потому что плотность записи не оставляет пространства для старых научных фокусов с остаточной намагниченностью. Тридцать пять проходов это вежливая дань истории, а не техническая необходимость, хотя сторонники настоящей паранойи никогда не променяют привычную процедуру на новый стандарт.
SSD и флэш-память меняют правила уничтожения
С приходом твердотельных накопителей вся тема перевернулась заново, хоть и c сальдо в другую сторону. На флэш-памяти каждая запись изнашивает ячейки, поэтому контроллер старательно растаскивает записи по всему массиву чипов, блюдя приблизительно одинаковый износ. Добро это творение для долговечности, но для безопасного стирания - полная головоломка: когда программа хочет перезаписать конкретный блок, контроллер может просто перенаправить запись в другое физическое место, а старые данные останутся лежать.
Поэтому для SSD классические рецепты перезаписи работают ненадёжно, и были изобретены родные механизмы. Современные накопители умеют исполнять команду безопасного стирания, которая велит всему массиву памяти разом отчиститься, а для шифрованных SSD существует криптографический приём: уничтожение ключа шифрования превращает все данные в бессмыслицу, не утруждая себя перезаписью. Команда TRIM, которую операционные системы посылают диску при удалении файлов, дополняет картину тем, что заранее очищает блоки, переведённые в разряд свободных.
Хозяину носителя справедливо записать для себя правило нового образца: на флэш-памяти не перезаписывайте файлы по старинке, пользуйтесь штатным безопасным стиранием или полным шифрованием с отбрасыванием ключа. Гарантии здесь дают и контроллер, и криптография, а не старая школа нулей поверх единиц.
Практические советы для тех, кто хочет удалить по-настоящему
Из суммы опыта выводится короткий список здравых обычаев:
- Помните: удаление файла это уборка указателя, а не удаление данных, и настоящее освобождение начинается с перезаписи;
- Для магнитных дисков одного прохода перезаписи нулями или случайными данными хватит для бытовых нужд уверенно;
- Для SSD используйте команды безопасного стирания или шифрование раздела с последующим удалением ключа;
- Перед продажей или выбрасыванием носителя исполняйте полное стирание целиком, а не выборочное удаление;
- Если удалённое случайно и нужно восстановить - остановите всю запись на носитель сразу.
Стандарты здравого смысла дополняются формальными: существуют национальные стандарты уничтожения данных, которых придерживаются организации с персональными и коммерческими секретами, и любой серьёзный инструмент стирания ссылается на их имена как на знаки качества.
Где прячется информация помимо самих файлов
Разговор о настоящем уничтожении не будет честным без упоминания о том, как много следов живёт вне собственно файлов. Редактор документов хранит автоматические копии и списки недавних файлов. Система ведёт журналы обращений, в кластере незанятого пространства дремлют обрывки старых данных, фотография с телефона успевает родить превью и копию уменьшенного размера. Обменная память, дампы, резервные копии в облаке - любые из этих шкафов может аккуратно сохранить то, что вы искренне стирали в главном хранилище. Опытный специалист, водя определение полного уничтожения, подразумевает не только файл, но и всю периферийную экосистему отражений вокруг него.
С этим связан урокичный корпоративный опыт: при утилизации оргтехники далеко зайти не приходится, достаточно вспомнить прошивку многофункционального устройства с её внутренним диском. Известны случаи, когда у сданных в утиль копировальных аппаратов внутри обнаруживались терабайты сканов прошлых лет. Вывод, как всегда в этой статье, крайне мирный: контролировать данные нужно не только там, где они лежат по прямому ярлыку, но и по всей извилистой географии их копий.
Короткий словарь надёжного прощания с данными
Для желающих действовать методично обозначим ландшафт практических приёмов. Для одиночных файлов на классических дисках подойдёт любая утилита надёжного стирания, перезаписывающая данные файл за файлом. Для целых разделов на магнитных дисках служат программы полного стирания раздела. Для твердотельных дисков главные инструменты это фирменное безопасное стирание через служебную команду и полное шифрование с разрушением ключа. Для флэш-карт и телефонов реабилитационный минимум состоит из заводского сброса при заранее включённом шифровании. В крупной организации вся эта география дополнительно фиксируется в политиках учёта и сертификатах уничтожения, без которых ни один серьёзный аудит не считается завершённым.
Отдельной строкой стоит физическое уничтожение носителей, когда требования к секретности превышают любые программные ограничения. На этом уровне вопрос решают уже не нули, а деформация пластин, и разговаривать о нём подробнее мы не будем - достаточно отметить, что на определённой ступени ответственности законы физики надёжнее самой прилежной перезаписи.
Почему легенда о полном стирании прочно засела в головах.
Сама по себе идея, что файл после корзины всё ещё лежит на диске, выглядит для неспециалиста шуткой на грани обмана. Психологически мы привыкли связывать удаление с иконкой: файл исчез из окна, и этого нам достаточно, чтобы записать событие в категорию "не существует". Между тем перед нами лишь интерфейсная условность, выбранная ради скорости. Понимание этой простой обратной связи производит на многих людей странно успокоительное впечатление: исчезнувший файл можно вернуть, надоедливую фотографию можно стереть навсегда, и для того и для другого существует своя житейская технология.
Немало семейных и корпоративных добрых историй связано именно с этим знанием. Случайно удалённый отчёт восстанавливали спустя часы, свадебные фотографии с повреждённой карты памяти возвращали целиком, а сотни студентов отмечали день спасения курсовой. На обратной стороне лежат поучительные коллизии: бывшие владельцы ноутбуков, выставивших машину на продажу с "полностью стёртыми" данными, иногда читали потом в интернете списки находок, извлечённых с таких носителей исследователями. Знание архитектуры удаления разделяет эти два лагеря надёжнее, чем любая формальная грамота.
Занавес для корзины.
Если у читателя после этой статьи и останется одна привычка, пусть это будет привычка смиренного отношения к кнопке удаления. Она делает именно то, что задумано: ускоряет работу системы и освобождает каталог. Всё остальное - наша с вами ответственность. Храним данные осмысленно, удаляем со знанием, стираем с перезаписью, и тогда иллюзия удаления перестанет быть иллюзией, превратившись ровно в то, чем является: инструментом, который надёжен ровно настолько, насколько внимательно мы держим в руках его рукоять.
Итого про иллюзию клавиши Delete.
Клавиша Delete это не ластик, это консьерж, который выносит табличку с именем, но оставляет вещи в комнате. Подлинное исчезновение наступает только тогда, когда на место старых данных въезжают новые, и вся технология безопасного уничтожения это просто разные варианты организации этого подселения. Кто понял эту механику однажды, тот перестаёт удивляться чудесам восстановления и перестаёт дремать в вопросе утилизации носителей: и первое, и второе в конце концов означает одно и то же - следите за тем, чтобы место старого занимали нули.