что такое сигнатура файла

Восстановление файлов по сигнатурам или “черновое” восстановление данных

Как данные хранятся на диске?

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файлаЕсли развернуть любую из этих папок, то откроется ее содержимое: что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Все, что мы видим в проводнике – имена файлов и папок, их размеры, дата создания и изменения, все эти сведения и хранятся в файловой системе, которую мы договорились называть “оглавлением”. Физически файловая система – это область диска, выделенная для хранения этих данных, которые ещё называют “метаданными”, то есть “данными о данных”. Когда мы удаляем файл или папку с жесткого диска, в файловой системе (оглавлении нашей книги) удаляется соответствующая запись (или просто помечается как удаленная), сами же данные при этом остаются на диске, но то место, которое они занимали теперь считается незанятым, а значит, когда мы будем записывать новые файлы, эта область диска может быть ими перезаписана. Именно поэтому после случайного удаления никогда не следует ничего записывать на диск или флэшку, ведь чем больше информации вы запишете на диск после случайного удаления файлов, тем больше вероятность, что старые данные будут перезаписаны новыми, и тогда восстанавливать уже будет нечего.

Конечно, при восстановлении данных чаще всего стараются реанимировать файловую систему целиком, чтобы нужные файлы снова оказались разложены по тем же каталогам, где они лежали до сбоя. Но это не всегда возможно и тогда прибегают к “последнему шансу”: восстановлению данных по сигнатурам.

Что такое сигнатура файла?

Как известно, данные в файлах хранятся в цифровом виде. Для того, чтобы отличить один тип файла от другого и придумана сигнатура, то есть подпись (разумеется, тоже цифровая). Она размещена в начале файла и является идентификатором типа файлов. Это проще показать, чем рассказать. Рассмотрим сигнатуру файла на примере распространенного формата для хранения фотографий jpeg. Если открыть любой файл jpeg в шестнадцатеричном редакторе, то мы увидим одну и ту же последовательность символов в одном и том же месте:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Сигнатуры есть не у всех типов файлов: если, например, открыть в шестнадцатеричном редакторе текстовый файл (с расширением txt), то мы обнаружим, что там нет никакой сигнатуры: с самого первого байта начинается текст:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Как восстанавливают файлы по сигнатурам

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

А если открыть ее в оснастке “Управление дисками”, то мы увидим, что на ней нет файловой системы:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Я создал на флэше одну папку с именем “Осень 2020” и записал в нее 129 файлов jpeg в среднем качестве: каждый файл занимает приблизительно 4-5 Мб дискового пространства. Если теперь еще раз отформатировать эту флэшку, то она будет отображаться в проводнике как пустой диск:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Мы смоделировали ситуацию случайного форматирования флэшки. Займемся восстановлением данных с нее. Вообще-то алгоритм восстановления данных по сигнатурам – самый простой из существующих, и он реализован в очень многих программах автоматического восстановления данных, в том числе бесплатных, но профессиональные лаборатории, конечно используют соответствующее их статусу оборудование и программное обеспечение. Мы воспользуемся программно-аппаратным комплексом PC3000 UDMA. Разумеется, функция поиска файлов по сигнатурам входит в его арсенал.

После создания задачи восстановления данных в комплексе PC-3000 мы увидим такую картину:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Во время последнего форматирования была создана новая файловая система NTFS, которая содержит служебные файлы, созданные ей самой. Эти файлы не отображаются в проводнике Windows, но они показаны в программе восстановления данных. Однако данных предыдущей файловой системы, конечно не видно. Проведем сканирование нашей флэшки поиском по сигнатурам:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Такую последовательность программа считает окончанием текущего файла. Осталось только сохранить в памяти смещение, по которому находится начало файла и его размер и можно двигаться дальше в поисках следующего. Итак, все файлы найдены и теперь их можно сохранить на диск (разумеется не на тот же, с которого мы восстанавливаем данные). После сохранения, зайдя в папку с восстановленными файлами, мы видим, что восстановление прошло корректно:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Но здесь мы обнаружим одну особенность: файлы имеют другие названия, а главное они все сложены в одну папку. Почему? Потому, что информация об именах файлов, каталогах в которых они хранились (и множество других атрибутов файлов), хранится только в файловой системе. А при поиске по сигнатурам эту информацию просто негде взять. Это один из существенных минусов способа чернового восстановления данных, но не единственный. Об остальных позже.

Стоит отметить, что jpeg – это, пожалуй, один из самых простых форматов для восстановления по сигнатурам, именно поэтому я взял его в качестве примера. Алгоритм восстановления файлов других форматов сложнее и имеет в каждом случае свои особенности: например, многие форматы файлов не имеют признака окончания файла. Тогда для определения последнего сектора файла используется либо начало следующего файла, либо размер определяется по метаданным, которые содержатся в самом файле. Более сложные алгоритмы восстановления данных учитывают все эти нюансы, которые у каждого типа файлов свои, их описание выходит за рамки этой статьи.

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

Когда восстановление по сигнатурам не поможет?

Удаленные файлы были перезаписаны новыми данными

Тут все просто. И проблема, конечно, не в алгоритме восстановления файлов, а в том, что нужных данных уже просто нет на диске – они перезаписаны новой информацией. В этом случае не поможет уже никто, что бы там не утверждали конспирологи и параноики. Впрочем, на эту тему мы еще напишем статью. Когда она будет готова, здесь появится ссылка.

Файлы были фрагментированы на диске

Что значит “фрагментированы”? Такая ситуация возникает, когда диском или флэшкой активно пользуются (то есть почти всегда): записывают какие-то данные, потом удаляют ненужную или устаревшую информацию, затем снова записывают новые данные и так далее. В этом случае дисковое пространство становиться похоже на лоскутное одеяло: сначала идет часть с данными, потом пробелы, потом снова данные, снова пробелы из свободного пространства и так далее до конца диска. И если на диск нужно записать новый файл достаточно большого объема, то файловая система ищет на диске большую свободную область, и если весь файл туда не помещается, то записывает туда начало файла, затем дописывает оставшуюся часть (или части) в другую область диска. В этом случае один файл может быть разбит на несколько разных фрагментов, а информация о том, где какой фрагмент находится, хранится опять же в файловой системе (помните про оглавление книги), только теперь уже одному файлу соответствует не одна строчка в нашем оглавлении, а несколько, в зависимости от количества фрагментов, на которые он был разбит. И если этих записей больше нет в файловой системе, то никакой поиск не поможет восстановить файл целиком: ведь по сигнатуре мы можем определить только начало файла, а вот где находится его продолжение алгоритм уже не сумеет определить: эта информация хранится только в самой файловой системе и нигде больше ее нет. Поэтому восстановление файлов по сигнатурам не сработает в случае с фрагментированными файлами. Такие фалы либо вообще не будут открываться, либо будут “битыми” (поврежденными). Вот как выглядит такой “битый”, частично восстановленный файл, на примере все того-же jpeg:

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Данные на диске были зашифрованы

Требуется полноценное восстановление файловой системы

Часто бывает, что для получения доступа к данным недостаточно извлечь сами файлы, требуется еще и восстановление имен файлов и папок, в которых они были разложены. Например, это необходимо, если сами файлы были частью какого-то структурированного набора данных: базы 1С, коллекцией музыкальных сэмплов, и т.п. В этом случае требуется полноценное восстановление файловой системы со всей структурой папок, иначе программа не заработает, а сами данные будут бессмысленны для пользователя.

Резюмируя, можно сказать, что рассмотренный в этой статье метод восстановления данных по сигнатурам хорошо подходит для восстановления фотографий, а также небольших по объему медиа файлов или документов Office, но только тогда, когда они не фрагментированы и информация об их размещении не важна. Во всех остальных случаях метод чернового восстановления не дает качественного результата.

Ну а у меня на сегодня все. Берегите себя и свои данные! Автор: Вадим Шестернин aka WAIK. Лаборатория восстановления данных Advanced Group, Санкт-Петербург 11.09.2020.

Источник

Список сигнатур файлов

Из Википедии — свободной энциклопедии

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

Многие форматы файлов не предназначены для чтения как текст. Если такой файл будет просмотрен как текстовый файл, его содержимое будет невразумительно. Однако сигнатура файла может быть интерпретирована и показана как текст. В столбце ИСО 8859-1 указано, как расшифровывается сигнатура файла стандартной для UNIX-подобных операционных систем утилитой file при языковой кодировке ИСО 8859-1.

Расширение файлаОписаниеСмещениеISO 8859-1Шестнадцатиричная сигнатура
rpmRedHat Package Manager (RPM) package [1]0
binAmazon Kindle Update Package [2]0
PIC

IBM Storyboard bitmap file

Windows Program Information File
Mac Stuffit Self-Extracting Archive
IRIS OCR data file

0
PDBPalmPilot Database/Document File11
DBAPalm Desktop Calendar Archive0
DBAPalm Desktop To Do Archive0
TDAPalm Desktop Calendar Archive0
Palm Desktop Data File (Access format)0
icoComputer icon encoded in ICO file format [3]0
3gp

3rd Generation Partnership Project 3GPP and 3GPP2 multimedia files4
z

compressed file (often tar zip)

Compressed file (often tar zip)

0
bacFile or tape containing a backup done with AmiBack on an Amiga.

It typically is paired with an index file (idx) with the table of contents.

0
bz2Compressed file using Bzip2 algorithm0
gifImage file encoded in the Graphics Interchange Format (GIF) [4]0
tif

Tagged Image File Format0(little endian format)
(big endian format)
cr2Canon RAW Format Version 2 [5]

Canon’s RAW format is based on the TIFF file format [6]

0
cinKodak Cineon image0
Compressed file using Rob Northen Compression (version 1 and 2) algorithm0
dpxSMPTE DPX image0(big endian format)
(little endian format)
exrOpenEXR image0
bpgBetter Portable Graphics format [7]0
jpg

JPEG raw or in the JFIF or Exif file format0
ilbm

IFF 8-Bit Sampled Voice0

Amiga Contiguous Bitmap0

IFF Simple Musical Score0

iffAmiga Fantavision Movie0

Audio Interchange File Format0

idxIndex file to a file or tape containing a backup done with AmiBack on an Amiga.0
lzlzip compressed file0
exeDOS MZ executable file format and its descendants (including NE and PE)0
zip

zip file format and formats based on it, such as JAR, ODF, OOXML0(empty archive) (spanned archive)
rarRAR archive version 1.50 onwards [8]0
rarRAR archive version 5.0 onwards [9]0
elfExecutable and Linkable Format0
pngImage encoded in the Portable Network Graphics format [10]0
classJava class file, Mach-O Fat Binary0
UTF-8 encoded Unicode byte order mark, commonly seen in text files.0
Mach-O binary (32-bit)0

Mach-O binary (64-bit)0

Mach-O binary (reverse byte ordering scheme, 32-bit) [11]0
Mach-O binary (reverse byte ordering scheme, 64-bit)0
Byte-order mark for text file encoded in little-endian 16-bit Unicode Transfer Format0
Byte-order mark for text file encoded in little-endian 32-bit Unicode Transfer Format0
psPostScript document0
pdfPDF document0
asf

Advanced Systems Format [12]0
System Deployment Image, a disk image format used by Microsoft0
ogg

Ogg, an open source media container format0
psdPhotoshop Document file, Adobe Photoshop’s native file format0
wavWaveform Audio File Format0
aviAudio Video Interleave video format0
mp3MPEG-1 Layer 3 file without an ID3 tag or with an ID3v1 tag (which’s appended at the end of the file)0
mp3MP3 file with an ID3v2 container0
bmp

BMP file, a bitmap format used mostly in the Windows world0
isoISO9660 CD/DVD image file [13]0x8001

fitsFlexible Image Transport System (FITS) [14]0
flacFree Lossless Audio Codec [15]0
mid

MIDI sound file [16]0
doc

See also USMT 3.0 (Win XP) [27] and USMT 4.0 (Win 7) [28] User Guides

0
nesNintendo Entertainment System ROM file [29]0
tartar archive [30]0x101
toxOpen source portable voxel file [31]0
MLVMagic Lantern Video file [32]0
Windows Update Binary Delta Compression [33]0
7z7-Zip File Format0
gz

[rfc:1952 GZIP]0
lz4LZ4 Frame Format [34]

Remark: LZ4 block format does not offer any magic bytes. [35]

0
cabMicrosoft Cabinet file0
Various. (Replacing the last character of the original file extension with an underscore, e.g. setup.exe becomes setup.ex_)Microsoft compressed file in Quantum format, used prior to Windows XP. File can be decompressed using Extract.exe or Expand.exe distributed with earlier versions of Windows.0
flifFree Lossless Image Format0
mkv

Matroska media container, including WebM0
stg«SEAN : Session Analysis» Training file. Also used in compatible software «Rpw : Rowperfect for Windows» and «RP3W : ROWPERFECT3 for Windows».0
djvu

The following byte is either 55 ( U ) for single-page or 4D ( M ) for multi-page documents.

deblinux deb file0!.
webpGoogle WebP image file0RIFF….

U-Boot / uImage. Das U-Boot Universal Boot Loader. [38]0
rtfRich Text Format0
Microsoft Tape Format0
ts

MPEG Transport Stream (MPEG-2 Part 1)0

MPEG Program Stream (MPEG-1 Part 1 (essentially identical) and MPEG-2 Part 1)0
mpg

MPEG Program Stream

MPEG Transport Stream

MPEG-1 video and MPEG-2 video (MPEG-1 Part 2 and MPEG-2 Part 2)

No Compression (no preset dictionary)

Best speed (no preset dictionary)

Default Compression (no preset dictionary)

Best Compression (no preset dictionary)

No Compression (with preset dictionary)

Best speed (with preset dictionary)

Default Compression (with preset dictionary)

Источник

Три заблуждения, связанных с антивирусами: сигнатуры, вирусы и лечение

Поговорим о нескольких понятиях, которые зачастую понимаются ошибочно: какие бывают сигнатуры, что на самом деле такое вирусы и как работает лечение системы антивирусом.

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Мы много и часто рассказываем о правилах поведения (а может, даже и выживания) в Интернете, да и в цифровом мире в целом. Очень надеемся, что делаем это все не зря, — что люди учатся и потом учат своих близких. Это правда очень важно.

Однако во всех этих рассказах встречается немало специфических терминов, которые кто-то может не знать или понимать неверно. Сегодня мы поговорим о трех самых распространенных заблуждениях, связанных с антивирусами, и попробуем объяснить, почему мы называем определенные вещи так, а не иначе.

Заблуждение первое: сигнатуры — это что-то устаревшее

Так исторически сложилось, что антивирусные базы в разговоре и даже статьях часто называют сигнатурами. В действительности же классические сигнатуры, пожалуй, ни один антивирус не использует уже лет 20.

Проблема возникла из-за того, что с самого начала — а это восьмидесятые годы — понятие «сигнатуры» не было определено четко. Например, отдельной статьи про них в «Википедии» нет даже сейчас, а в статье про вредоносные программы понятие «сигнатуры» используется без определения — как нечто всем известное.

Давайте же это определение дадим. Классическая вирусная сигнатура — это непрерывная последовательность байтов, характерная для той или иной вредоносной программы. То есть она содержится в этом вредоносном файле и не содержится в чистых файлах.

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Например, характерная последовательность байтов может быть такой

Проблема в том, что сегодня с помощью таких классических сигнатур определить вредоносный файл достаточно проблематично — их создатели используют различные техники для того, чтобы запутать следы. Поэтому современные антивирусы используют значительно более продвинутые методы. И хотя в антивирусных базах примитивных записей по-прежнему много (больше половины), но есть еще и очень много умных записей.

Все это продолжают по старинке называть сигнатурами. И ладно бы просто называли — в общем-то, ничего страшного. Но это название зачастую используется уничижительно: мол, сигнатуры — устаревшие технологии. А на самом деле в этих «устаревших сигнатурах» порой какое-нибудь «разбиение пространства исполняемых файлов на кластеры в результате работы нейронной сети», которое никто и словами-то доступно не может описать.

В идеале стоило бы отказаться от использования самого термина «сигнатура» в смысле «любая запись в антивирусной базе». Но уж слишком прочно это слово вошло в обиход, да и альтернативного термина пока не придумали, так что все продолжают по привычке пользоваться им.

Поэтому важно иметь в виду, что само по себе слово «сигнатура» на самом деле не говорит ничего о продвинутости или примитивности.

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

Заблуждение второе: вирусы — это любые вредоносные программы

Вы наверняка отмечали, что вирусные аналитики нашей компании избегают употребления слова «вирус», предпочитая ему странноватые слова вроде «вредонос» или «зловред», а между собой часто говорят «малвара». Делаем мы это вовсе не из суеверия или профессионального пафоса.

Дело в том, что «Virus» — это вполне конкретная разновидность вредоноса, отличающегося очень специфическим поведением: это зловред, который заражает собой другие, чистые файлы. Вирусные аналитики также используют для этого типа вредоносных программ термин «инфекторы».

Инфекторы в вирусной лаборатории пользуются особым статусом. Во-первых, их чуть сложнее распознать — с виду файл чистый, а на самом деле в нем инфекция. Во-вторых, они требуют особого подхода: почти всегда для них нужна специальная процедура лечения и, как правило, еще и особая процедура детектирования. Поэтому инфекторами занимаются люди, специализирующиеся именно на этом типе угроз.

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

Классификация вредоносных программ

И вот для того, чтобы не путать «вирус» в обывательском смысле с вполне определенной категорией зловредов, вирусные аналитики, в том числе и в разговоре с прессой, употребляют слова «вредонос» или «зловред», когда речь идет о вредоносных программах в целом.

И раз уж мы заговорили о правильных терминах, то вот еще несколько. «Червь» — это вредонос, способный к самостоятельному распространению за пределы одного устройства. А «малвара» (malware), если следовать точной классификации, не включает в себя «адвару» (adware) — грубое рекламное ПО — и «рисквару» (riskware) — легальное ПО, которое может нанести вред пользователю, если установлено не им, а злоумышленниками.

Заблуждение третье: антивирус не умеет лечить

Мне встречалось такое заблуждение, будто антивирус сканирует и детектирует, а если что-то найдет, то потом надо скачивать специальную лечащую утилиту и использовать уже ее. Отдельные утилиты для особо популярных зловредов у нас действительно есть — например, специализированные утилиты, позволяющие бесплатно расшифровать файлы, зашифрованные вымогателями. Но и антивирус справляется с лечением ничуть не хуже. А в подавляющем большинстве случаев — даже лучше, за счет драйверов в системе и других технологий, которые в утилиту не запихнешь.

Лечение заключается в следующем. В 1% случаев, когда пользователю антивируса «посчастливилось» натолкнуться именно на вирус — инфектор (причем, скорее всего, еще до установки антивируса, иначе бы зловред просто не запустился), антивирус действительно будет перебирать все зараженные файлы на компьютере и производить процедуру дезинфекции — восстанавливать оригинал. Кстати, то же самое антивирус будет делать, если потребуется расшифровать файлы, зашифрованные вымогателем-шифровальщиком — зловредом класса Trojan-Ransom.

А в остальных 99% случаев, когда зловред ничего не инфицирует, а просто делает (или собирается делать) свое черное дело, лечение действительно состоит в банальном удалении файла зловреда. Просто потому, что заражения других файлов нет, так что и лечить их не требуется. Уничтожаем файл — и система здорова.

что такое сигнатура файла. Смотреть фото что такое сигнатура файла. Смотреть картинку что такое сигнатура файла. Картинка про что такое сигнатура файла. Фото что такое сигнатура файла

В большинстве случаев лечение как таковое не требуется, достаточно просто удалить вредоносный файл

Но тут есть одно исключение — если зловред уже работает в системе (а не просто лежит на диске), то антивирус переходит в состояние «Лечение активного заражения», чтобы все сделать надежно и до конца, без рецидивов. Вот здесь можно прочитать полное описание данной врачебной процедуры.

Кстати, ситуация такая возникает обычно по двум причинам:

Заключение

На сегодня все. Надеюсь, теперь вы:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *