» Блоги

Как работают алгоритмы сигнатурного поиска в программах восстановления данных

Клавиатура

Один из наиболее важных алгоритмов, которые делают универсальными инструментами восстановления данных, современные программы – это поиск по сигнатурам. Этот инструмент способен вытащить файл с уже отформатированных или поврежденных и недоступных дисков.

Рассмотрим, как же работают

Сигнатурный поиск

С поврежденными и отформатированными разделами файловой системы, а также с дисками, которые повторно разбиты на разделы специалисты работают с целью восстановления информации с программами для восстановления данных по сигнатурам.

На рынке различные производители предлагают множество технологий для восстановления данных с разными названиями: “Power Search”, а также “Content-Aware Analysis” и “Smart Scan”. Однако все перечисленные технологии восстановления данных работают по одинаковому принципу.

Рассмотрим, как же работает сигнатурный поиск.

Принцип работы

Надо отметить, что принцип работы самых первых антивирусов полностью совпадает с работой алгоритмов сигнатурного поиска. Алгоритм сканирует файл и ищет участки данных, которые совпадают с уже известными фрагментами информации. Именно так и антивирус сканирует файлы, но ищет фрагменты вирусов и сопоставляет их с уже известными фрагментами кода вируса. Надо отметить, что заголовки многих типов файлов содержат вполне характерные последовательности определенных символов. Например, файлы в формате JPEG содержат такие символы, как “JFIF”, а архивы ZIP обязательно начинаются с вполне определенных символов — “PK”, и, соответственно, документы PDF — с символов “%PDF-“. Текстовые и HTML файлы, например, совсем не обладают характерными сигнатурами, однако их можно определить по некоторым косвенным признакам, а именно содержат исключительно символы из таблицы ASCII.

Как определить размер файла?

 Для того, чтобы определить размер файла, необходимо знать некоторые данные этого файла.

Для его восстановления надо найти начало файла, а также четко определить его конец. Надо отметить, что проще найти конец файла, если есть информация о размере и адреса начала файла. Можно определить размер файла, проведя анализ заголовка (например: ZIP или JPEG или AVI и т.п.), и, как вариант, путем считывания и анализа секторов диска, которые идут сразу за заголовком. Рассматривая текстовый или HTML файл, то его концом алгоритм будет считать самый первый же сектор, содержащий символы, которые входят в таблицу ASCII.

Существуют и некоторые ограничения.

Ограничения

Допустим необходимо восстановить файл большого размера. В этом случае сигнатурный поиск – не является панацеей.

Если перезаписывать содержимое всего диска или фрагментированного большого файла, то эти действия могут оказать негативное влияние на саму возможность восстановления информации файла или всего диска.

Гибридные алгоритмы

На современном этапе развития техники и компьютерных технологий программы для восстановления данных, соответственно, используют, так называемый, гибридный подход к анализу диска. Программа делает попытку считать максимум информации из файловой системы и в этом случае прибегает к анализу диска по сигнатурам только в крайнем случае. Этими случаями можно назвать, например, полное отсутствие всей файловой системы или просто доступа к ней, а также в ситуации повреждения файловой системы. Особенно это касается поиска файлов, которые удалены давно. С целью восстановления документов Word у пользователя есть возможность использовать программу Hetman Word Recovery