Кивино гнездо: Закон Мёрфи для хранения данных
АрхивКивино гнездоКак свидетельствуют исследования по компьютерной криминалистике, "золотой век" в деле добычи цифровых улик подходит, похоже, к своему концу.
Две любопытные исследовательские статьи из разных концов планеты, опубликованные в Сети практически сразу друг за другом, дают существенно новый взгляд на криминалистические аспекты в работе SSD, или твёрдотельных устройств хранения данных, часто именуемых флэш-драйвами.
Восстановить нельзя
Внутренние механизмы работы SSD настолько существенно отличаются от традиционных накопителей на жёстких магнитных дисках, что криминалисты уже не могут опираться на нынешние технологии хранения данных в тех ситуациях, когда улики с носителей типа SSD фигурируют в судебных разбирательствах. Примерно к этому сводится суть предупреждения в итогах исследовательской статьи учёных из австралийского Университета Мердока ("Solid State Drives: The Beginning of the End for Current Practice in Digital Forensic Discovery" by Graeme B. Bell and Richard Boddington, PDF).
В основу исследования была положена большая серия экспериментов по сравнению нюансов хранения данных у изучаемых образцов: флэш-драйва Corsair 64GB SSD и традиционного магнитного диска Hitachi 80GB. При сравнительном анализе исследователи выявили в SSD целый букет проблем с восстановлением данных. Проблем, совершенно не свойственных магнитным дискам и вызванных алгоритмами очистки или "сбора мусора", применяемыми для поддержания флэш-драйвов на уровне максимальной производительности.
Под действием этих алгоритмов важные для следствия данные, хранимые на современных SSD, зачастую становятся объектом процесса, получившего среди криминалистов название "самокоррозия". Результатом этого процесса становится то, что улики на SSD непрерывно стираются или загрязняются посторонними данными - таким способом, который совершенно не свойственен носителям на базе жёстких магнитных дисков. И, что принципиально важно, все эти перемены с информацией происходят при отсутствии каких-либо команд от пользователя или от компьютера.
Результаты австралийских исследователей неизбежно порождают сомнения в целостности и достоверности тех файлов, которые изолируют криминалистическими методами и извлекают из устройств хранения. Можно даже сказать, что обозначилась отчётливая угроза окончания того "золотого века" в сборе цифровых улик, что был обеспечен особенностями хранения данных на магнитных носителях.
На протяжении нескольких последних десятилетий следователи работали с магнитными лентами, флоппи- и жёсткими дисками, которые стабильно продолжали хранить гигантские объёмы информации после того, как файлы, которые всё это содержали, были помечены системой как уничтоженные. Даже процедура безопасной зачистки (wiping), как известно специалистам, далеко не всегда бывает достаточной для полного уничтожения информации на магнитном носителе. Однако в твёрдотельных дисках SSD данные хранятся существенно иначе - в виде блоков или страниц транзисторных чипов логики NAND, которые необходимо электронным образом стирать, прежде чем их можно использовать повторно.
Результатом работы индустрии над повышением эффективности памяти SSD стало то, что большинство современных флэш-драйвов имеют встроенные в прошивку программы, которые регулярно и автоматически выполняют процедуры "самоочищения" или "сбора мусора". В результате этих санитарных процедур происходят постоянное затирание, изменение и перенос тех файлов, которые помечены системой как уничтоженные. Причем процесс этот начинается без всякого уведомления и очень быстро, почти сразу после подачи на чип питания. От пользователя не требуется никаких команд, а флэш-драйв при этом не издает никаких звуковых или световых сигналов, чтобы проинформировать пользователя о начале процедуры очистки.
При тестировании конкретного образца, после того как он был подвергнут быстрому форматированию, исследователи ожидали, что утилита очистки начнёт работать примерно минут через 30-60, полагая, что этот процесс должен происходить с SSD перед тем, как новые данные начнут записываться в блоки, прежде занятые файлами. К их удивлению, зачистка произошла всего три минуты спустя, после чего всего лишь 1064 файла улик от общего числа 316 666 остались доступными для восстановления с диска.
Решив проследить этот процесс дальше, ученые вынули флэш-диск из компьютера и подключили его к блокиратору записи - аппаратному устройству, специально предназначенному для изоляции от всех процедур, способных изменить содержимое носителя. Но и здесь всего через 20 минут после подключения почти 19 процентов всех файлов было затёрто из-за внутренних процессов, которые инициирует прошивка самого SSD без каких-либо внешних команд. Для сравнения можно отметить, что на эквивалентном магнитном жёстком диске все данные после аналогичного форматирования оставались восстановимыми вне зависимости от прошедшего времени - как и ожидалось исследователями.
Понятно, что для криминалистов, озабоченных сохранностью всех данных на носителе, эта особенность SSD представляет большую проблему. Как пишет в комментарии к их статье один из соавторов, Грэм Белл, "несколько человек в сообществе компьютерных криминалистов имели представление о том, что с данными в SSD происходят какие-то забавные вещи, однако почти все, кому мы показывали наши результаты, были шокированы масштабами того, что обнаружилось".
Если "сбор мусора" в SSD происходит перед или во время криминалистической процедуры снятия образа, то это приводит к необратимому уничтожению потенциально крупных массивов ценных данных. Тех данных, которые в обычном случае были бы получены как улики в ходе следственного процесса, откуда родился новый термин - "коррозия улик".
Нет сомнений, что открытия австралийских специалистов неизбежно будут иметь серьёзные последствия для тех уголовных и гражданских судебных дел, которые опираются на цифровые свидетельства. Если диск, с которого были получены улики, имеет признаки того, что с данными происходили изменения после изъятия устройства у владельца, то оппонирующая сторона получает основания потребовать исключения этих свидетельств из судебного рассмотрения.
Авторы статьи также предупреждают, что по мере роста ёмкости USB-флэшек изготовители могут начать встраивать аналогичные технологии очистки и в них, порождая ту же самую проблему и для массива вторичных (внешних) носителей информации. Кроме того, Белл и Боддингтон предполагают, что утилиты "сбора мусора" со временем будут становиться всё более агрессивными - по мере того, как изготовители внедряют всё более и более мощные в своей функциональности прошивки, чипсеты и большего объёма диски.
В итоговом заключении статьи, содержащем 18 пунктов проблемы, исследователи не предлагают никаких методов лечения, полагая, что простого и эффективного решения для этой проблемы не существует.
Стереть нельзя
Если говорить о другой американской исследовательской статье, также посвящённой специфическим особенностям хранения данных в SSD, то на первый взгляд её результаты кажутся явно конфликтующими с теми, что получены австралийцами. Здесь команда исследователей пришла к совершенно иному открытию: фрагменты данных, хранимых в памяти флэш-драйвов, могут оказываться практически неуничтожаемыми.
Как демонстрируют авторы этой статьи, флэш-драйвы очень трудно очистить от чувствительных к компрометации данных, используя традиционные методы безопасного затирания файлов и дисков. Даже в тех случаях, когда устройства SSD показывают, что файлы уничтожены, до 75 процентов данных, в них содержавшихся, могут всё ещё находиться в памяти флэш-драйвов. В частности, в некоторых случаях, когда твёрдотельные диски свидетельствуют, будто файлы "безопасно стёрты", на самом деле их дубликаты остаются в значительной степени нетронутыми во вторичных местоположениях.
Таковы, вкратце, выводы исследования, проведённого в Калифорнийском университете Сан-Диего и представленного в последних числах февраля на конференции Usenix FAST 11 ("Reliably Erasing Data From Flash-Based Solid State Drives" by Michael Wei, Laura Grupp, Frederick Spada, Steven Swanson. PDF).
Проблемы с надёжным затиранием данных на SSD, как пишут авторы работы, происходят из-за радикально иной внутренней конструкции носителя. Традиционные приводы типа ATA и SCSI используют намагничиваемые материалы для записи информации в конкретное физическое место, известное как LBA или адрес логического блока. В дисках SSD, с другой стороны, для цифрового хранения используются чипы, для управления контентом применяющие FTL или "слой флэш-трансляции". Когда данные в таком носителе модифицируются, то FTL часто записывает новые файлы в разные места, попутно обновляя карту распределения памяти для отражения сделанных перемен. Результатом таких манипуляций становится то, что остатки от прежних файлов, которые авторы именуют "цифровыми останками", в виде неконтролируемых дубликатов продолжают сохраняться на диске.
Как пишут авторы, "эти различия в обработке между магнитными дисками и SSD потенциально ведут к опасным расхождениям между ожиданиями пользователя и реальным поведением флэш-драйва... Владелец такого устройства может применять к SSD стандартные средства очистки жёстких дисков, ошибочно полагая, будто в результате данные на диске будут необратимо уничтожены. На самом деле эти данные могут оставаться на диске и требуют лишь несколько более сложных операций по их восстановлению".
Если говорить о конкретных цифрах, то исследователи установили, что порядка 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, можно констатировать следующее. Если ваш компьютер говорит флэш-драйву обнулить некие данные, то привод может вам соврать и в действительности обнуление, может, и будет, а может, и нет. Если же сам привод хочет что-нибудь затереть (причём он реально это делает и без всякого предупреждения), то эти данные будут уничтожены...
Ещё один из комментаторов, явно не лишённый чувства юмора, охарактеризовал столь замысловатую ситуацию такими словами:
"Почему вы называете это путаницей? Здесь всё прозрачно и понятно. Если вы хотите восстановить удалённые данные, то сделать этого вы не можете. Если вы хотите их уничтожить, то и этого сделать вы не можете. Это такой Закон Мёрфи для хранения данных на SSD".