Если говорить о конкретных цифрах, то исследователи установили, что порядка 67 процентов данных, хранившихся в файле, остались на диске даже после того, как он был уничтожен в SSD с использованием функции "безопасного стирания", имеющейся в системе Apple Mac OS X. Другие утилиты безопасного (с перезаписью) стирания в условиях других операционных систем показали примерно похожие результаты. Например, после уничтожения отдельных файлов программой Pseudorandom Data на SSD могло оставаться до 75 процентов данных, а при использовании британской правительственной технологии зачистки British HMG IS5 оставалось до 58процентов.
Как предупреждает статья, эти результаты свидетельствуют: в ситуации с SSD перезаписывание данных оказывается неэффективным, а стандартные процедуры стирания, предоставляемые изготовителями, могут не срабатывать надлежащим образом.
По мнению исследователей, наиболее эффективным способом для безопасного удаления данных в условиях SSD оказывается использование устройств, шифрующих своё содержимое. Здесь процедура Wiping сводится к уничтожению ключей шифрования в специальном разделе, именуемом "хранилищем ключей", - по сути гарантируя, что данные останутся на диске навсегда зашифрованными.
Но тут, конечно же, подстерегает другая проблема. Как пишут авторы статьи, "опасность заключается в том, что защита опирается на правильную работу контроллера, очищающего внутренний отсек хранения, содержащий криптоключ и любые другие производные от него величины, которые могут быть полезны при криптоанализе. Принимая во внимание те ошибки реализации, которые мы обнаружили в некоторых вариантах утилит безопасного стирания, было бы неоправданно оптимистичным подразумевать, что поставщики SSD правильно зачистят хранилище ключей. Хуже того, здесь нет никакого способа (например, разобрав устройство) удостовериться, что стирание действительно произошло".
Свои результаты исследователи получали путём записи на диски SSD разных файлов с хорошо идентифицируемыми структурами данных. После чего использовалось специальное устройство на основе FPGA (чипов с перепрограммируемой логикой) для быстрого поиска и выявления оставшихся "отпечатков" этих файлов после применения процедур безопасного стирания. Спецустройство исследователей стоит около тысячи долларов, однако "более простая версия аппарата на основе микроконтроллера стоила бы порядка 200 долларов и потребовала бы лишь наличия скромного технического опыта для его конструирования".
Как сформулировали совокупные итоги двух этих статей на дискуссионном форуме Slashdot, "или диски SSD действительно трудно зачистить, или же с них действительно очень трудно восстановить удалённые файлы. Получается какая-то запутанная история"...
Один из непосредственных участников первого (австралийского) исследования, Грэм Белл, объясняет этот кажущийся парадокс следующим образом.
Прежде данные на дисках традиционно зачищали вручную, то есть в явном виде отдавая компьютеру команду, чтобы он велел приводу записать что-то другое поверх прежних данных. Если такой команды на перезапись не поступало, то в магнитных носителях данные продолжали сохраняться. Однако если тот же самый трюк пытаться применять к SSD, то он может не срабатывать. Тот логический адрес памяти, что вы пытаетесь перезаписать, мог быть уже перераспределён на лету, так что ваша команда "перезаписать" идет к какой-нибудь другой физической ячейке памяти, а не к той, которая хранила данные раньше. С логической точки зрения всё это выглядит так, будто перезапись сработала: вы уже не сможете больше получить доступа к этим данным через ОС вашего компьютера. Однако с точки зрения самого флэш-драйва эти данные всё ещё там, спрятанные в какой-нибудь физической ячейке, которая в данное время не используется, если подразумевать соответствующий логический сектор. Однако какая-нибудь хитроумная прошивка или ушлый хакер с паяльником в принципе может до этих данных добраться.
В то же время отдельно от этих особенностей современные носители SSD используют разные специфические трюки для того, чтобы автоматически повышать свою производительность. Один из этих трюков заключается в заблаговременном затирании ячеек памяти, в которых содержатся данные, более уже не учитываемые файловой системой. В этом случае привод сам активно пытается непрерывно очищать с диска всё, что только может. Причём делает это всё исключительно по собственной инициативе - просто ради ускорения будущих операций записи, предоставляя заранее заготовленный пул доступных и ни подо что не задействованных ячеек.
Подводя итог этим особенностям SSD, можно констатировать следующее. Если ваш компьютер говорит флэш-драйву обнулить некие данные, то привод может вам соврать и в действительности обнуление, может, и будет, а может, и нет. Если же сам привод хочет что-нибудь затереть (причём он реально это делает и без всякого предупреждения), то эти данные будут уничтожены...