Система и способ удаления файлов и противодействия их восстановлению
SYSTEM AND METHOD OF DELETING FILES AND COUNTERACTING RECOVERY THEREOF

Область техники
Изобретение относится к средствам компьютерной безопасности, а более конкретно к средствам необратимого удаления файлов.
Уровень техники
Информация, используемая на вычислительном устройстве (компьютере) пользователя, обычно хранится на перезаписываемом устройстве хранения данных. Таким устройством хранения данных, как правило, является накопитель на жестких магнитных дисках (англ. Hard Disk Drive, HDD) и твердотельный накопитель (англ. Solid-State Disk, SSD). Подобные устройства являются основными накопителями данных практически во всех компьютерах. Следует так же отметить, что очень распространены и мобильные перезаписываемые устройства хранения данных, такие, как USB Flash Drive («флешка») и различные виды карт памяти.
После записи и считывания информации с устройства хранения данных важным вопросом является удаление этой информации. Так как, например, при продаже устройства хранения данных или передаче кому-то удаленные файлы, которые ранее были удалены общим подходом, могут быть восстановлены, тем самым пользователь может невольно предоставить все еще доступные после удаления персональные данные. Восстановление файлов возможно из-за того, что при общем подходе удаление файла не производится удаление данные, соответствующих удаляемому файлу, с устройства хранения данных, а только помечается в файловой системе файл как удаленный. Соответственно, после этого данные файла все еще присутствуют на устройстве хранения данных, при этом при дальнейшем использовании устройства хранения данных такие данные файла могут быть перезаписаны данными другого файла. Такое удаление позволяет ускорить работы файловой системы при удалении файлов. Такой подход используется в связи с тем, что полное удаление файлов занимает очень много время, при этом чем больше время, тем дольше нельзя будет использовать устройства хранения данных. Например, удаление файла, содержащего видеофильм, размером 50 Гбайт займет существенное время даже на таких устройствах хранения данных как SSD накопители. Кроме того, быстрое удаление продлевает ресурс (долговечность) устройств хранения данных. Поэтому в настоящее время требуется удаление файла таким образом, чтобы нельзя было его восстановить даже специализированными утилитами.
Кроме того, также существуют специальные утилиты восстановления, позволяющие восстановить информацию на устройствах хранения данных различными путями. Например, с помощью посекторного чтения устройства хранения данных, анализ различных логических структур устройства хранения данных, поиск и извлечение удаленных файлов. На случай, если все описывающие файлы метаданные потеряны, существуют утилиты, анализирующие считываемое с устройства хранения данных предположительное содержимое файлов. Многие файлы (изображения, документы и т.д.) имеют характерные заголовки, что позволяет восстановить их даже при полном отсутствии сведений о размещении и размере файла.
Конечно же возможность восстановить случайно удаленные файлы - чрезвычайно важная функция. В тоже время такой возможностью восстановления удаленных файлов и получения информации, содержащейся в удаленных файлах, могут воспользоваться и злоумышленники. Особенно эта проблема может быть актуальна для коммерческих компаний, которые могут обладать огромным количеством информации, являющейся коммерческой тайной. Примером подобной информации являются финансовые отчеты, пароли, персональные данные пользователей и прочее.
Чтобы надежно удалить файл и быть уверенным в том, что его невозможно восстановить и получить доступ к информации, содержащейся в файле, необходимо использовать подход, реализованный в программных продуктах, которые называются шредерами (англ. shredder). Такие программы работают примерно одинаково.
Так, например, полезная модель RU 96433 компании АО «Лаборатория Касперского» описывает систему безвозвратного удаления файла (вариант шредера). Принцип работы описанного шредера состоит в том, что шредер выполняет удаление файла, подчиняясь «формуле» - текстовой строке, в которой закодированы операции, выполняемые в процессе удаления файла. Элементы «формулы» позволяют предписать затирание контекста (данных и/или информации) файла случайными данными, а также затирание контекста нулями, единицами, чередованием единиц и нулей, или цепочкой заданных байт. Кроме того, «формула» позволяет выполнять различные манипуляции, нацеленные на искажение метаданных файла - его переименование, изменение размера и различных атрибутов. Комбинируя данные методы, можно выполнить многократное удаление файла, реализуя все стандартные алгоритмы необратимого уничтожения информации.
При этом у текущей реализации шредеров есть и недостатки.
Одним из недостатков является то, что для программ автоматического анализа и восстановления файлов шредер в какой-то мере не усложняет, а наоборот, упрощает задачу - он затирает содержимое файлов, как следствие, удаленный файл естественно не восстановить, но занятое им место гарантированно не содержит характерных сигнатур, позволяющих программе восстановления идентифицировать их как объекты определенного типа для последующего анализа и восстановления. Поэтому программа восстановления (утилита) данных просто пропускает такие участки диска, что сокращает его время работы, снижает размер протоколов и списки потенциально-восстановимых объектов, отображаемых для анализа. Причем, в ряде случаев, после применения шредера речь идет о сокращении объемов таких списков на порядки. Соответственно, это позволит программам восстановления быстрее проанализировать устройства хранения данных, а именно, свободные места, которые могут и не являться таковыми.
Вторым недостатком является то, что шредер нацелен на необратимое затирание контента заданных файлов или папок, при этом шредер не может затереть свободное место на устройстве хранения данных. Хотя свободное не означает пустое место, а только то, что оно не занятое в текущее время файлами. Такая ситуация возможна, когда пользователь, например, удалил файлы обычным способом, без применения шредера. Например, у пользователя в фотоаппарате стоит флеш-карта. По мере фотографирования он удаляет неудачные кадры непосредственно на фотоаппарате, содержимое файлов при этом не затирается. Затем пользователь затирает некоторые фотографии шредером, при подключении флеш-карты к компьютеру. Впоследствии при анализе флеш-карты, стертые обычным методом (на фотоаппарате) файлы будут доступны для восстановления, в том числе и злоумышленнику.
Поэтому существует потребность в создании решения, которое устраняло бы указанные недостатки. Настоящее изобретение позволяет затруднить, а в некоторых случаях и сделать невозможным восстановление данных после удаления файла. А также затереть (удалить) информацию, которая принадлежала удаленным файлам и содержится в свободном пространстве устройства хранения данных, соблюдая компромисс между надежностью удаления и затратами ресурсов на него.
Раскрытие изобретения
Настоящее изобретение предлагает решение, нацеленное на развитие современных систем и способов удаления файлов, для противодействия современным утилитам восстановления удаленных файлов на основании сигнатурного поиска на устройстве хранения данных.
Одним техническим результатом настоящего изобретения является противодействие восстановлению как самих удаленных файлов, так и данных, содержащихся на устройстве хранения данных, удаленных файлов после удаления файлов за счет формирования структуры записи, имитирующей наличие множества файлов определенного типа, с последующей ее записью по крайней мере в месте расположения данных удаляемого файла на устройстве хранения данных. Такая структура позволяет противодействовать утилитам восстановления путем усложнения их работы так, что восстановление удаленных файлов становится не целесообразным и в большинстве случаев не возможным.
Другим техническим результатом настоящего изобретения является обеспечение необратимости восстановления информации от удаленного ранее файла за счет формирования структуры записи и с последующей записью на устройстве хранения данных по крайней мере в свободное пространство устройства хранения данных, которое может содержать информацию ранее удаленных файлов.
Описанные далее способ и система позволяет динамически настраивать алгоритм удаления файлов, где алгоритм содержит формируемую структуру записи, на основании параметров удаления, которые в свою очередь определяются на основании по крайней мере одного из: информации о метаданных файла, месторасположении файла, информации об устройстве хранения данных и его контексте, а также с возможностью учитывать критерии пользователя.
В качестве одного варианта исполнения настоящего изобретения предлагается способ удаления файла, хранящегося на устройстве хранения данных, при этом указанные способ выполняется процессором компьютера и включает: получение исходных данных об удаляемом файле, где исходные данные содержат по крайней мере имя и местоположение удаляемого файла; определение параметров удаления, включающие данные об удаляемом файле и контексте устройства хранения данных, где контекст включает сведения о типе устройства хранения данных и файловой системе; настройку алгоритма удаления, включающего формирование структуры записи и определение места записи для удаляемого файла, согласно определенным параметрам с помощью правил формирования, при этом структура записи указывает записываемые сигнатуры по меньшей мере вместо удаляемого файла, а место записи указывает на первый кластер записи и интервал, с которым производится дальнейшая запись согласно структуре записи; удаление файла путем применения сформированного алгоритма.
В другом варианте исполнения способа записываемая сигнатура является по крайней мере сигнатурой заголовка файла заданного типа.
В еще одном варианте исполнения способа каждая записанная сигнатура имитирует наличие файла определенного типа в месте записи.
В другом варианте исполнения способа записываемых сигнатур задано более, чем для одного типа файла, при этом как совпадающие с типом удаляемого файла, так и отличающиеся.
В еще одном варианте исполнения способа запись сигнатуры определенного типа файлов в кластеры устройства хранения данных производится на основании весовых коэффициентов.
В другом варианте исполнения способа запись сигнатуры определенного типа файлов в кластеры устройства хранения данных производится, ориентируясь на контекст устройства хранения данных, тип и размер удаляемого файла.
В еще одном варианте исполнения способа записываемая сигнатура является сигнатурой сформированной структуры, идентичной по формату служебным структурам файловой системы устройства хранения данных.
В другом варианте исполнения способа структурами файловой системы по крайней мере являются каталоги, заголовки разделов, структуры файловых систем FAT и NTFS.
В еще одном варианте исполнения способа местом записи в кластеры также являются кластеры, относящиеся к свободному пространству на устройстве хранения данных.
В другом варианте исполнения способа дополнительно место записи определяется согласно требованию пользователя, где требование характеризуется уровнем важности удаляемого файла.
В еще одном варианте исполнения способа сигнатуры записывают как в начало кластеров, так в другие части кластера.
В другом варианте исполнения способа дополнительно производится затирание свободного пространства на устройстве хранения данных сформированной структурой записи или случайными данными.
В качестве другого варианта исполнения предлагается система удаления файла, хранящегося на устройстве хранения данных, которая содержит: средство анализа, предназначенное для получения исходных данных об удаляемом файле, где исходные данные содержат по крайней мере имя и местоположение удаляемого файла, определение параметров удаления, включающие данные об удаляемом файле и контексте устройства хранения данных, где контекст включает сведения о типе устройства хранения данных и файловой системе, передачи параметров удаления средству формирования структуры; средство формирование структуры, предназначенное для настройки алгоритма удаления, включающего формирование структуры записи и определение места записи для удаляемого файла, согласно полученным параметрам с помощью правил формирования, при этом структура записи указывает записываемые сигнатуры по меньшей мере вместо удаляемого файла, место записи указывает на первый кластер записи и интервал, с которым производится дальнейшая запись согласно структуре записи; базу данных правил, взаимодействующую со средством формирования структуры, содержащую по крайней мере правила формирования структуры записи; средство необратимого удаления, предназначенное для удаления файла путем применения сформированного алгоритма, позволяющего противодействовать восстановлению.
В другом варианте исполнения системы записываемая сигнатура является по крайней мере сигнатурой заголовка файла заданного типа.
В еще одном варианте исполнения системы каждая записанная сигнатура имитирует наличие файла определенного типа в месте записи.
В другом варианте исполнения системы записываемых сигнатур задано более, чем для одного типа файла, при этом как совпадающие с типом удаляемого файла, так и отличающиеся.
В еще одном варианте исполнения системы запись сигнатуры определенного типа файлов в кластеры устройства хранения данных производится на основании весовых коэффициентов.
В другом варианте исполнения системы запись сигнатуры определенного типа файлов в кластеры устройства хранения данных производится, ориентируясь на контекст устройства хранения данных, тип и размер удаляемого файла.
В еще одном варианте исполнения системы записываемая сигнатура является сигнатурой сформированной структуры, идентичной по формату служебным структурам файловой системы устройства хранения данных.
В другом варианте исполнения системы местом записи в кластеры также являются кластеры, относящиеся к свободному пространству на устройстве хранения данных.
В еще одном варианте исполнения системы дополнительно производится затирание свободного пространства на устройстве хранения данных сформированной структурой записи и случайными данными.
В другом варианте исполнения системы дополнительно место записи определяется согласно требованию пользователя, где требование характеризуется уровнем важности удаляемого файла.
В еще одном варианте исполнения системы сигнатуры записывают как в начало кластеров, так в другие части кластера.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
На Фиг. 1 схематично представлена система, выполненная с возможностью реализовать различные варианты осуществления настоящего изобретения.
Фиг. 2 иллюстрирует пример результата работы системы удаления, представленной на Фиг. 1.
На Фиг. 3 представлен пример результата работы системы удаления при использовании свободного пространства на устройстве хранения данных при удалении файла.
На Фиг. 4 показана блок-схема, схематично иллюстрирующая способ удаления файлов в устройстве хранения данных с противодействием восстановлению удаленных файлов.
Фиг. 5 иллюстрирует пример компьютерной системы общего назначения, с помощью которого может быть реализовано заявленное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
В качестве вступления рассмотрим общий принцип работы современных утилит (программ) восстановления данных после удаления файлов, который заключается в следующем:
- от пользователя получают информацию о том, какие именно файлы необходимо искать на устройстве хранения данных для восстановления, при этом информация может иметь вид как обозначение категорий (например, «Документы», «Изображения» и т.п.), так и конкретный набор типов файлов (например, JPEG, DOCX и т.п.);
- выполняют сканирование устройства хранения данных методом, который предполагает обращение к файловой системе (например, таких как файловые системы FAT и NTFS) на предмет наличия записей, помеченных признаком «удаленный файл», при этом найденные файлы во время изучения могут отображать с оценкой вероятности восстановления;
- выполняют сканирование пространства устройства хранения данных, которое считается свободным, где при сканировании: в начале каждого кластера свободного пространства выполняют поиск характерных сигнатур, позволяющих определить тип файла; если обнаруживают сигнатуру, соответствующую заданным на первом шаге параметрам, то кластер и следующую за ним цепочку кластеров рассматривают как потенциально восстановимый объект определенного типа, причем дальнейший анализ заголовка зачастую позволяет спрогнозировать примерное количество кластеров для восстановления;
- отображают пользователю список найденных потенциально восстановимых объектов с возможностью выбора, предварительного просмотра и восстановления.
Стоит отметить, что при сканировании пространства также выполняют поиск и структур, похожих на удаленные объекты файловой системы (например, каталоги) с целью анализа найденной структуры для возможного использования найденных там сведений для восстановления удаленных файлов.
Естественно, что при таком алгоритме восстановления процесс анализа идет очень долго (например, для флеш-карты размером 32 Гб может идти несколько часов), и многие найденные файлы будут не нужны, т.к. будут являться «мусорными» данными. Однако такой подход позволяет в итоге найти и восстановить все удаленные файлы пользователя. Как отмечалось выше, затирая содержимое файла различными ненужными данными на устройстве хранения данных, шредер упрощает работу таким утилитам восстановления, так как им незачем тратить время на анализ занятых таким файлом кластеров.
Итак, особенностью заявленного изобретения является перезапись удаляемого файла сформированной структурой, которая формируется по крайней мере либо динамически случайным образом, либо с использованием сведений о контексте устройства хранения данных и информации об удаляемом файле (файлах). Также в одном из вариантов реализации представленное изобретение при формировании структуры учитывает и желание пользователя, где желание выражено уровнем необратимости удаляемого файла (уровнем важности удаляемых данных). Структура представляет собой информацию, которую записывают вместо удаляемого файла, при этом дополнительно запись может производится и на свободном пространстве устройства хранения данных. В одном из вариантов реализации записываемая информация представляет собой заголовки файлов, тип которых соответствует типу удаляемого файла или задается на основании анализа информации о файле и контекста устройства хранения данных. В другом варианте реализации записываемая информация идентична информации, указывающей на формат служебных структур файловой системы, содержащейся на устройстве хранения данных. В частности, каталогам, заголовкам разделов, индексам NTFS, структурам FAT и MFT. Стоит отметить, что структура может формироваться как в реальном времени, так и выбираться из заранее сформированных сигнатур, представляющих варианты структур и хранящиеся в базе данных.
Как правило, запись сформированной структуры производится на единственном или последнем проходе стирания/удаления файла, при этом запись производится по меньшей мере в кластеры, занимаемые удаляемым файлом. В некоторых случаях реализации структура может содержать несколько типов заголовков (сигнатур) файлов для записи вместо удаляемых файлов.
Стоит отметить, что под кластером понимается группа из одного и более секторов устройства хранения данных, рассматриваемая операционной системой при дисковых операциях как единая область. Размер кластера зависит от объема устройства хранения данных и устанавливается на этапе форматирования устройства хранения данных.
Кроме того, при определении структуры для записи определяется и последовательность действий, которая указывает, куда необходимо записать сформированную структуру. Структура может быть записана как в каждый кластер, который занимает удаляемый файл, так и через случайные или заданные промежутки. Поэтому выбор количества сигнатур в структуре и их местоположения на устройстве хранения данных при удалении файлов определяется так называемым алгоритмом стирания. Алгоритм стирания позволяет определить указанные параметры как случайным образом на основании весовых коэффициентов, так и ориентируясь на такую информацию, как контекст устройства хранения данных, тип и размер удаляемого файла.
Еще одной особенностью заявленного изобретения является затирание свободного, не занятого файлами места на устройстве хранения данных путем заполнения случайными данными с добавлением сформированной структуры.
Такая структура позволяет с имитировать наличие множества файлов определенного типа на устройстве хранения данных. При использовании обоих особенностей: перезапись кластеров удаляемого файла и запись на свободное пространство структуры, контент (содержимое файла) стираемых файлов будет необратимо затерт, а утилиты восстановления файлов найдут данные, указывающие на огромное количество (например, миллионы) стертых и потенциально восстановимых файлов. В итоге утилитам восстановления невозможно будет понять, какие же из найденных файлов действительно удаленные, а какие являются имитацией (муляжами). Поэтому необходимо будет анализировать каждый выявленный файл, что на порядки увеличит время и ресурсы компьютерной системы и значительно снизит эффективность утилит восстановления, что в свою очередь приведет к нецелесообразности проведения попыток восстановления.
В еще одном варианте реализации изобретения для ускорения процесса при удалении файлов на устройстве хранения данных запись сформированных структур, например, как имитация заголовков файлов, может производится не в каждом кластере удаляемого файла, а с шагом в N кластеров, при этом N подбирается в зависимости от желания пользователя. Так, например, при N=10 скорость стирания незанятого места возрастет в 10 раз, но при этом будет стерты данные через каждые 80 Кб, что гарантировано сделает файлы, содержащие изображения, аудио/видео данные или документы, практически недоступными для восстановления.
Стоит отметить, что заявленное изобретение может быть реализовано как самостоятельное изобретение, так и является усовершенствованием полезной модели RU 96433 компании АО «Лаборатория Касперского».
На Фиг. 1 представлена примерная структурная схема системы удаления файлов на устройстве хранения данных с противодействием восстановлению удаленных файлов 100. При описании указанного изобретения в качестве устройства хранения данных 105 понимаются такие устройства как накопитель на жестких дисках (т.н. HDD), твердотельный диск (т.н. SSD накопители) или мобильные носители информации, такие как USB Flash Drive (флеш-карта). Подобные устройства являются основными накопителями данных практически во всех компьютерах.
Система удаления 100 содержит в своем составе средство анализа 110, средство формирования структуры 120, базу данных правил 130 и средство необратимого удаления 140. В начале работы система удаления 100 получает указание на необратимое удаление по крайней мере одного файла или зачистку свободного пространства от информации, которая осталась после удаленного ранее файла. Инициатором удаления может быть, как пользователь, так и программное обеспечение (ПО), обеспечивающее гарантированное удаление данных по заданному алгоритму (например, периодический поиск удаленных файлов и их гарантированное удаление). Результатам работы описываемой системы удаления 100 является необратимое удаления файлов или потенциально восстановимой информации.
В предложенном варианте реализации система удаления 100 для необратимого удаления файлов в динамике формирует алгоритм удаления, включающий структуру для записи и место записи, с целью удаления файла путем его перезаписи структурой. При этом как упоминалось ранее местом записи могут являться как кластеры/сектора устройства хранения данных, в которых содержатся данные самого удаляемого файла, так и кластеры, которые обозначены как пустые, т.е. в свободное пространство устройства хранения данных 105.
В одном из вариантов реализации подходом в формировании алгоритма удаления является алгоритм удаления с помощью формулы, описанный в упомянутом ранее патенте на полезную модель RU 96433. При этом отличием по крайней мере является формирование структуры записи и последующее удаление с помощью указанной структуры, а также использование при удалении свободного пространства на устройстве хранения данных 105 для противодействия восстановлению удаленных файлов или полного уничтожения ранее хранимой информации, которая была удалена обычным способом.
Так, для удаления по крайней мере одного файла на устройстве хранения данных 105 с противодействием восстановлению удаленного файла, система удаления 100 с помощью средства анализа 110 получает исходные данные об удаляемом файле, где исходные данные содержат по крайней мере имя и местоположение удаляемого файла. В общем виде под местоположением понимается расположение файла в каталоге файловой системы, т.е. путь (маршрут) доступа к файлу. Далее средство анализа 110 определяет параметры удаления, которые включают данные об удаляемом файле и контекст устройства хранения данных 105, который в свою очередь включает по крайней мере сведения о типе устройства хранения данных и используемой файловой системе. Средство анализа 110 передает параметры удаления средству формирования структуры 120 для настройки (создания) алгоритма удаления, включающего структуру и места записи, согласно полученным параметрам. Для этого средство формирования структуры использует правила формирования. Правила формирования позволяют определить исходя из полученных параметров удаления алгоритм удаления с необходимой структурой, месторасположением и интервалом использования сигнатур из структуры записи. Сигнатура представляет собой заголовки файлов определенного типа, которые предназначены для записи в кластеры, в которых хранится удаляемый файл, и/или в свободное пространство. По окончанию формирования алгоритма удаления со структурой записи средство необратимого удаления 140 производит удаление файла путем применения сформированного алгоритма, позволяющего противодействовать восстановлению.
Рассмотрим более подробно работу каждого средства системы удаления 100.
В предложенном варианте реализации системы удаления 100 средство анализа 110 анализирует файл, который нужно удалить, для определения параметров удаления файлов. Для этого средство анализа 100 получает исходные данные об удаляемом файле, где под исходными данными понимается по крайней мере имя и местоположение каждого удаляемого файла. Примерами определяемых параметров удаления по меньшей мере являются одни из:
- параметры, связанные с удаляемым файлом, такие как тип и размер файла;
- параметры, связанные с контекстом устройства хранения данных 105, такие как тип устройства хранения данных 105, используемая файловая система и типы содержащихся на устройстве хранения данных 105 файлов;
- параметры, связанные с потребностью пользователя, такие как скорость удаления файлов и важность удаляемых файлов.
Стоит отметить, что параметры, связанные с потребностью пользователя, система удаления 100 получает от пользователя через средства коммуникации (не показаны на Фиг. 1), такие как устройства ввода/вывода или средства представления вариантов выбора и получения результата выбора.
Еще одной задачей, которую выполняет средство анализа 110, является анализ свободного пространства устройства хранения данных 105 для определения наличия какой-либо информации, которая хранилась ранее в виде файла, а сейчас считается удаленной. Для этого средство анализа 110 производит анализ файловой системы для определения наличия свободного пространства, его объема и месторасположения, и вероятные кластеры, которые содержат информацию ранее удаленного файла.
После определения необходимых параметров удаления средство анализа 110 передает их средству формирования структуры 120.
Средство формирования структуры 120 предназначено для динамического формирования алгоритма удаления, включающего структуру для удаляемого файла, согласно определенным параметрам и применяя правила формирования, при этом структура определяет:
- информацию, записываемую вместо удаляемого файла;
- место начала записи (кластер);
- интервал, с которым производится дальнейшая запись согласно структуре записи.
Правила формирования структуры хранятся в базе данных правил 130. Формируемая структура содержит сведения включающие: сколько будет совершено проходов стирания по месту размещения удаляемого файла, какая информация будет записана на последнем проходе стирания и с каким шагом кластеров. В одном из вариантов реализации записываемая информация является заголовком файла заданного типа. Тип задается на основании определенных параметров, в частности на основании информации об удаляемом файле или файлах, содержащихся на устройстве хранения данных 105. В другом варианте реализации сигнатура, содержащая заголовок определенного типа файла, подбирается случайным образом на основании весовых коэффициентов типов файлов. В еще одном варианте реализации выбор сигнатуры может быть скомбинирован, например, для случаев, когда будут задаваться несколько типов заголовков файлов. Стоит отметить, что информация, которая записывается при удалении файла, в дальнейшем производит имитацию файла, т.к. записав заголовок файла такая запись при анализе, например утилитой восстановления, будет указывать на наличие хранящегося файла и соответственно будет отобрана для дальнейшего анализа, хотя, как такого файла и не существует.
Весовые коэффициенты могут устанавливаться в зависимости от популярности типов файлов и/или с точки зрения наличия конфиденциальной информации или важности информации для пользователя. Стоит отметить, что интервал, с которым будет производится запись сигнатур (имитационных заголовков файлов), в одном из вариантов реализации подбирается на основании уровня важности удаляемых файлов или скорости удаления, что позволяет соблюсти компромисс между надежностью удаления файлов и затратами (время, ресурсы) на указанное удаление. Указанные критерии могут быть заданы как пользователем, так и автоматически на основании заранее определенных шаблонов поведения при том или ином типе файла. Шаблоны поведения могут также храниться в базе данных правил 130 и являться частью правил формирования. Шаблоны могут подбираться в свою очередь на основании определенных средством анализа 110 параметров удаления. Как правило, шаблоны поведения формируются экспериментальным путем подбора оптимальных вариантов работы. Например, одни шаблонов поведения указывает на то, что в случае удаления файла, который принадлежит к файлам Microsoft Office и помечен пользователем важный, будет удалятся алгоритмом, который дает наибольшую гарантию полного удаления файла и без возможности восстановления. Другой шаблон поведения указывает на то, что при удалении файла, содержащего видео, необходимо подобрать алгоритм, который обеспечивает оптимальное удаление с точки зрения скорости и безвозвратности удаления. Третий шаблон поведения указывает на то, что при удалении файла, который имеет тип файла «.temp», требуется алгоритм, который обеспечивает наибольшую скорость удаления.
В еще одном варианте реализации структура записи содержит не сигнатуру, содержащую имитационный заголовок файла, а сигнатуру, содержащую информацию, имитирующую структуру файловой системы. В этом случае на месте удаляемых файлов будет записана информация похожая на каталог FAT, индексы NTFS и т.п. Кроме того, при формировании структуры каталога для перезаписи удаляемого файла, структура может содержать как записи, ссылающиеся на случайные кластеры устройства хранения данных 105, так и записи, ссылающиеся на реально существующие файлы подходящего типа. Например, использование такого подхода будет очень эффективно для файловой системы FAT32 при удалении файлов с устройств хранения данных (флеш-карт), содержащихся в фотоаппаратах и мобильных устройствах.
Средство формирования структуры 120 после формирования алгоритма удаления, включающего структуру, передает его средству необратимого удаления 140. Средство необратимого удаления 140 в свою очередь после получения указанного алгоритма удаления применяет его для удаления файлов и/или информации, содержащейся в свободном месте устройства хранения данных 105. После применения средством необратимого удаления 140 упомянутого алгоритма удаления на устройстве хранения данных 105 вместо удаляемых файлов, а также на свободном месте, в случае его использования, образуются N-oe количество имитаций заголовков определенного типа файла, которые будут усложнять или препятствовать восстановлению информации. Интервал N ограничивается только функциональными возможностями используемых устройств и средств.
На Фиг. 2 проиллюстрирован пример результата работы системы удаления 100. Согласно Фиг. 2 удаляемый файл был сохранен на устройстве хранения данных на шести кластерах, например, это файл DOC формата. При удалении структура была сформирована таким образом, что в начале каждого кластера записывался подготовленный заголовок, все остальное содержимое стиралось и записывалось некими «мусорными» данными. Примером «мусорных» данных являются совокупность "0", "1" и/или случайных байт. Таким образом после удаления файла образовались шесть имитационных файлов, которые будут определены утилитами восстановления и потребуют время на их анализ при попытке восстановления информации. Стоит отметить, что файл может храниться не непрерывно в кластерах (как показано на Фиг. 2), а в различных частях устройства хранения данных.
В другом примере реализации настоящего изобретения пользователю необходимо удалить один файл формата JPEG (фотография), при этом размер файла будет составлять 4 Мбайта. Предположим, что файл хранится на флеш-карте. Типовой размер одного кластера флеш-карты равен 4 или 8 Кбайт. После выбора структуры записи будет произведено удаление путем записи структуры в каждый кластер, в которых хранится указанный файл. Таким образом, если в каждый кластер файла записать структуру записи, которая похожа на заголовок реального файла определенного типа, то на флеш-карте создадутся 500 или 1000 (зависит от размера кластера) таких заголовков только на один удаленный настоящим изобретением файл с типовой фотографией. Кроме того, подход, используемый настоящим изобретением, позволяет не увеличивать объем записей на флеш-карту. Следовательно, данный подход удаления/затирания файла позволяет не увеличивать накладные расходы и не менять время выполнение операции и прочих параметров при данном подходе удаления файла по сравнению с действующими методами удаления.
Соответственно, удаление 100 фотографий представленной системой удаления 100 породит на флеш-карте от 50 до 100 тысяч имитационных файлов, на которые среагирует утилита восстановления, осуществляющая поиск файлов путем посекторного сканирования и анализа устройства хранения данных. При таком количестве объектов эффективность утилиты восстановления информации падает практически до нуля.
На Фиг. 3 представлен еще один пример результата работы системы удаления 100 при использовании свободного пространства на устройстве хранения данных 105 при удалении файла.
Как видно на Фиг. 3, в последний кластер удаляемого файла записан некий заголовок, который будет распознан утилитой восстановления как заголовок файла некоего популярного типа. Особенность примера состоит в том, что выбран заголовок файла, в котором есть данные, позволяющие утилите восстановления определить размер файла. Найдя такой заголовок, утилита восстановления будет пытаться рассматривать его как заголовок потенциально восстановимого файла, и включит также в дальнейший анализ некоторый объем незанятого пространства на устройстве хранения данных (этот фрагмент показан жирной полосой). Соответственно, при дальнейшем анализе есть вероятность, что незанятое пространство будет утилитой восстановления отнесено к несуществующему файлу и исключено из анализа. Однако данный пример, в котором используется и свободное пространство в отличии от использования структуры для записи в кластеры удаляемого файла, будет эффективным, не во всех, а только в ряде случаев. Стоит отметить, что данное свободное пространство, во-первых, может как содержать информацию, так и нет, а, во-вторых, размер свободного пространства может составлять, как только один кластер, так и N-oe количество.
Еще в одном примере реализации система удаления 100 использует свободное пространство устройства хранения данных 105 отдельно от удаляемого файла для записи сформированной структуры. При этом может быть использовано как все свободное пространство, так и только часть его. Это позволит увеличить количество имитационных файлов и в то же время удалить информацию, которая могла продолжать содержаться там после удаления файлов, которые были удалены обычным способом удаления (без использования шредера).
Так, использование свободного пространства актуально, например, когда при удалении файла есть вероятность, что ранее были удалены файлы того же типа (как в примере с фотографиями). Либо же пользователю необходимо максимально обезопасить себя от того, что файлы не будут восстановлены. В этом случае средство анализа 110 произведет анализ файловой системы и свободного пространства устройства хранения данных 105 с целью определить такие параметры, как: размер свободного пространства, наличие ранее удаленных файлов и их типы. Выявленные параметры далее будут учтены при формировании алгоритма удаления и структуры. Например, чем больше незанятого пространства, тем дольше время удаления, и могут быть выбраны варианты ускорения удаления файла. Так, может быть применено не полное затирание всего свободного пространства устройства хранения данных 105, а частичное удаление. При этом может быть задан процент удаления (затирания свободного пространства) на основании правил формирования, например, при показателе удаления порядка 10% восстановить какие-либо файлы становится невозможно. Возможен вариант реализации, в котором выполняется считывание содержимого незанятых кластеров, и анализ, есть ли там данные, похожие на известный файл. Если есть, то кластер и определенное количество незанятых вслед за ним кластеров затираются. При этом при затирании будут использоваться структуры имитирующие заголовки файлов определенного типа или структуры каталогов.
На Фиг. 4 представлен способ удаления файлов в устройстве хранения данных с противодействием восстановлению удаленных файлов. Система удаления 100 получило указание на удаление файла из устройства хранения данных 105.
На этапе 405 с помощью средства анализа 110 получают по крайней мере исходные данные об удаляемом файле. Такими данными является по крайней мере имя и местоположение удаляемого файла.
На этапе 410 средство анализа 110 производит анализа файла и устройства хранения данных 105 (например, файловой системы) для определения параметров удаления указанного файла. При анализе средство анализа 110 определяет по крайней мере параметры самого удаляемом файла и контекст устройства хранения данных, где контекст включает сведения о типе устройства хранения данных и файловой системе.
На этапе 415 с помощью средства формирования структуры 120 производится динамическое формирование (настройка) алгоритма удаления, где формирование также включает формирование структуры для записи и определение места записи при удалении файла, при этом используя определенные параметры и правила формирования из базы данных правил 130. Стоит отметить, что структура указывает по крайней мере какая информация записывается вместо файла. В одном из вариантов реализации записываемая информация является сигнатурой заголовка файла определенного типа. Тип файла вставляемый в заголовок может как совпадать с типом удаляемого файла, так и задаваться на основании правил формирования или случайным образом. В случае задания правилами формирования нескольких типов сигнатур их выбор может производиться случайным образом на основании весовых коэффициентов. В одном из вариантов реализации правила формирования также задают место записи сигнатуры, которое может быть, как в начале каждого кластера, в котором записан удаляемый файл, так и определен интервал (шаг) для записи. Также может определяться и место расположения сигнатуры непосредственно в самом кластере (от начала и до конца).
Еще одним моментом при формировании структуры записи является то, что вместо сигнатуры заголовка файла определенного типа может быть произведена запись в удаляемый файл информации, похожей на структуры файловой системы.
На этапе 420 с помощью средства необратимого удаления 140 удаляют указанный файл путем применения сформированного алгоритма, позволяющего противодействовать восстановлению.
В частном случае реализации заявленного изобретения может производится удаление информации из свободного пространства устройства хранения данных 105, которая соответствует типу файла, который требуется удалить или был удален. При этом для удаления информации используется сформированная структура. Для этого система удаления 100 может использовать один из следующих вариантов удаления информации:
1. Полное затирание всего свободного пространства.
2. Частичное затирание случайным образом, при этом задается процент от объема свободного пространства (например, 10%), который требуется затереть, размер (в кластерах) затираемого места и интервал.
3. Затирание только того пространства, где содержится информация. Для этого с помощью средства анализа 110 производится считывание содержимого незанятых кластеров и анализ на выявления информации, соответствующей искомой. Если будет обнаружена, то кластер, в котором найдено, и определенное количество незанятых вслед за ним кластеров затираются.
Фиг. 5 представляет пример компьютерной системы 20 общего назначения, которая может быть использована как компьютер клиента (например, персональный компьютер) или сервера. Компьютерная система 20 содержит центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Компьютерная система 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных компьютерной системы 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Компьютерная система 20 способна работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа компьютерной системы 20, представленного на Фиг. 5. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер) 20 подключена к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.