пятница, 30 сентября 2011 г.

Просто пример

На форуме COMPUTER FORENSICS AND INVESTIGATIONS промелькнула однажды вот такая фотография из практики СЗРЦСЭ:
Мне нравится с её помощью иллюстрировать техническое исследование фотоснимков. 
Во первых, методом пристального изучения деталей картинки видно, что около ручки задней двери, несколько ниже неё, отразился, судя по всему, фотограф с другом. Возникает вопрос, почему больше ничего внятного не отразилось? Ответ прост: потому, что двери заретушировали так, что ниже передней дверной ручки закрасили зазор между ними. Какое уж там отражение?
При внимательном рассмотрении видно, что на капоте авто что-то нарисовано. Этого почти не заметно, но оно есть. Там в комплекте было еще несколько снимков, в том числе - вид спереди. Досадно, но на том снимке капот чистый. Это к тому вопросу, что чем больше подделываешь, тем легче накосячить - во-первых, и никакой объём исследуемого материала лишним не бывает - это во-вторых.

Если воспользоваться JPEGsnoop'ом, вот что мы увидим:

1.  В файле имеется маркер APP1(xFFE1), в котором есть информация, позволяющая идентифицировать камеру и определить время съёмки:
EXIF MakerIFD @ Absolute 0x000002BB
[Canon.ImageType ] = "Canon EOS 400D DIGITAL"
[Canon.FirmwareVersion ] = "Firmware 1.0.5"
[Canon.SerialNumber ] = 1180613288
EXIF SubIFD @ Absolute 0x00000101
[DateTimeOriginal ]  = "2008:09:12 15:49:06"
[DateTimeDigitized ] = "2008:09:12 15:49:06"
 
 
2. В файле имеется маркер APP0 (xFFE0) OFFSET: 0x00000002. Если вы внимательно читали предыдущие посты, то уже знаете, что этот маркер  firmware аппаратов Canon не пишет. Пишет какое-то другое ПО.

3. Видимо, это то ПО, которое вписало в файл маркер APP13 (xFFED):
OFFSET: 0x00003E78
...
Identifier = [Photoshop 3.0]

4. Вот и результаты сравнения матриц ДКП нам такое вот говорят:
EXIF.Make / Software      EXIF.Model   Quality  
SW :[Adobe DNG Converter]              [ ]  
SW :[Adobe Photoshop ]                 [Save As 05 ]

5. В EXIF есть еще такая вот ссылочка: 
EXIF IFD0 @ Absolute 0x00000026 
[Software ] = "ACD Systems Digital Imaging"
[DateTime ] = "2008:09:12 19:18:10" 
которая нам как-бы намекает. 
Как связаны ACDSee и Photoshop 3.0 в этом конкретном случае, мы не будем разбираться. Может,  ACD Systems лицензировали древний код от Adobe, может, рачительный фотохудожник реально работает антиквариатом, не знаю. 

6. А вот зато нам JPEGsnoop подсказывает, что есть в файле миниатюра, да еще пожатая жипегом:
*** Embedded JPEG Thumbnail ***
Offset: 0x00001727
Length: 0x00002751 (10065)

Осталось сделать Image Search FWD и Export JPEG, и вот, voila: 
Оказывается, иконка, созданная фирмварью Канона, осталась в неприкосновенности. ACD Systems и возможно, даже  Photoshop не трогают маркеры, не относящиеся напрямую к данным основного изображения.
Что не может не радовать.

Видите, как всё легко? Не радуйтесь, это не даром показательный пример. 

четверг, 29 сентября 2011 г.

Camera Serial Number

На сайте, где можно попытаться отыскать свой про...павший фотоаппарат, есть перечень моделей, пишущих в EXIF свой серийник.

JPEGSnoop part III



Ранее были часть I и часть II

После первого месяца экспериментов с программой рекомендуется всё же ознакомиться с функциями её меню:

File\Open – абсолютно ненужный пункт меню, дублирующий кнопку с открытой папочкой
File\Save Log – сохраняет результаты работы в текстовый файл.
File\Reprocess – повторно декодирует файл, что полезно после изменения параметров обработки
Опции меню View позволяют задавать масштаб изображения, управлять выводом отдельных каналов, накладывать сетку границ MCU на изображение.
 
Options\DHT Expand – включает дополнительное отображение таблиц Хаффмана в виде бинарных строк переменной длины:
 ----------------------------------------------------------

  Expanded Form of Codes:

    Codes of length 02 bits:

      00 = 00 (EOB)                      (Total Len =  2)

    Codes of length 03 bits:

      010 = 01                           (Total Len =  4)

  ...

    Codes of length 09 bits:

      111111110 = 0B                     (Total Len = 20)

 ----------------------------------------------------------
Options\Hide unknown EXIF tags и – абсолютно неэкспертная опция, скрывающая те теги EXIF,которое не известны JPEGsoop’у
Options\Maker Notes – еще одна неэкспертная опция: вкл/выкл декодирование раздела Maker Notes, который содержит дополнительную информацию производителя. Автор программы рекомендует отключать эту опцию, потому как производитель хранит в этом разделе всякое непонятное, которое только занимает место в логе и отвлекает внимание. Очень nonforensic approach.
Options\Scan Segment\Decode Image  - включить декодирование сегмента данных изображения. Одновременно проверяются коды переменной длины и выявляются ошибки данных (если есть). Одновременно выполняется преобразование YCbCr > RGB.
Options\Scan Segment\Histogram RGB – если включен режим Decode Image, включается отображение гистограммы трёх цветовых каналов RGB.
Options\Scan Segment\Histogram Y – если включены режимы Decode Image и Histogram RGB, включается отображение гистограммы яркостного канала Y.
Учитывая размер гистограмм, само их отображение имеет скорее декоративный, чем прикладной характер. Значение данной опции придаёт только то обстоятельство, что при включении режима Histogram Y в лог скидывается дамп данных, на основе которых строится гистограмма. Дамп содержит значения постоянной составляющей яркости всех MCU (блоков 8x8 пикс), на которые разбита картинка, в диапазоне величин  [-1024;+1023].
Options\Scan Segment\Full IDCT – включает режим полного обратного ДКП, в результате чего вычисляются и постоянная и высокочастотная составляющие компонентов сигнала для каждого MCU. Режим обеспечивает максимальное разрешение картинки, но притормаживает процесс обработки.
Options\Scan Segment\No IDCT – восстанавливается только постоянная составляющая компонентов. Картинка рисуется быстро, но не очень качественно.
Options\Scan Segment\Dump – после включения опции в лог после заголовка маркера SOS записывается 640 байт дампа данных.
Options\Scan Segment\Detailed Decode – включает режим детальной расшифровки кодов переменной длины для MCU с заданными координатами.
Options\Configuration – открывает меню некоторых дополнительных настроек программы.

Tools\Image Search Fwd, Image Search Rev  - поиск от текущей позиции очередного маркера SOI(Start Of Image) по сигнатуре 0xFFD8.
Tools\Lookup MCU Offset – поиск смещения от начала файла, по которому расположен MCU, содержащий пиксели с заданными координатами. Используется в основном для работы с повреждёнными данными.
Tools\File Overlayзамена фрагмента файла
Tools\Search Executable for DQT – поиск исполняемого кода, выполняющего ДКП. Функция может быть использована для модернизации кода сканеров, фотоаппаратов и т.д. с целью изменения качества сохраняемого JPEG изображения.
Tools\Add Camera / SW to DB... – добавление сигнатуры таблиц ДКП в локальную базу данных.
Tools\Export JPEGэкспорт данных изображения в отдельный файл. Может быть использован для извлечения миниатюр, кадров из видеофильма формата AVI Motion JPEG
Например, для поиска миниатюр необходимо запустить поиск   Image Search Fwd/Rew, затем, если найденный блок действительно представляет собой миниатюру (в нижнем окне программы она отобразится в виде малюсенькой иконки), следует выполнить экспорт в файл.   

Свои соображения про некоторые недостатки JPEGSnoop именно как экспертного инструмента, я изложу по возможности...   когда нибудь.

Пример технического исследования цифрового фотоснимка с использованием JPEGsnoop

JPEGSnoop, part II


JPEGsnoop понимает, что такое тег EXIF. Данные тега размещаются в маркере АРР1 и в данном случае позволяют идентифицировать конкретную фотокамеру (см. Cannon.SerialNumber):
Следует отметить, что в файле отсутствует маркер АРР0.
В этом случае данные EXIF не противоречат значениям таблиц квантования, на основании чего сделан вывод, что файл создан заявленным устройством документирования:
Если в базе данных программы не содержатся сведения о таблицах квантования, программа оказывается в растерянности:
А вот в случае, когда данные EXIF противоречат результатам сравнения таблиц квантования, сомнений никаких нет:
Следует отметить, что файл отредактированного изображения не потерял маркера АРР1 с данными EXIF, а наоборот, приобрел дополнительный маркер АРР0, который, вообще-то, программным обеспечением камеры не создаётся (что видно по предыдущей картинке). В этом заключается отличие графических редакторов от редакторов звука и видео. Последние не церемонятся с метаданными и заново переписывают всю структуру файла.
Таким образом, для вывода об обработке данных важны не только сами по себе сведения тега EXIF и значения таблиц квантования, но и само наличие и расположение маркеров в файле.

среда, 28 сентября 2011 г.

JPEGSnoop, part I


Нет необходимости объяснять значение структурного анализа данных для решения различных задач Digital Forensic Investigations. Нет необходимости объяснять, насколько часто объектом этих самых Investigations являются файлы формата JPEG.
Для исследования структуры файлов JPEG необходим инструмент, в качестве которого, на мой взгляд, в настоящее время лучше всего подходит программа JPEGsnoop.

Знакомство с программой целесообразно начинать только после ознакомления с алгоритмом компрессии JPEG и форматом файлов JFIF. Замечательная подборка информации на данную тему – здесь.

JPEGsnoop показывает внутреннюю структуру данных файла JFIF и содержание его основных маркеров.

Разумно рассмотреть работу с программой на примере:
Верхние строки сообщают нам имя и размер открытого файла.
Далее следует перечень обнаруженных в файле маркеров и их содержание.
Первый маркер - SOI (Start of image) - по существу является сигнатурой, по которой распознаются файлы JFIF. 
Маркер APPO содержит заголовок файла JFIF.  В соответствии со спецификацией, маркер должен содержать информацию о версии спецификации, разрешении изображения по горизонтали и вертикали, сведения о картинке предпросмотра (thumbnail). В нашем случае размеры картинки равны 0, т.е.  thumbnail в файле отсутствует.
Маркер СОМ встречается нечасто и содержит произвольные комментарии. В нашем случае - это сведения о том, что файл скачан из галереи в Интернетах.
Следующий маркер, DQT, содержит коэффициенты таблицы квантования коэффициентов ДКП. Таблица имеет ID=0. Умная программа уже расшифровала, что именно эта таблица используется для квантования яркостного канала (Luminance):
А вот эта - для квантования каналов цветности (Chrominance):
Следующий маркер - SOF (Start Of Frame) - обозначает начало кадра и содержит информацию о его формате:  
В кадре содержатся сведения о его размере в точках, ориентации, количестве используемых компонент цветового пространства (изображение в градациях серого использует только яркостную компоненту, полноцветное - еще и две цветовые). Тут же содержатся сведения о том, что яркостная компонента не прорежена, для её квантования используется таблица c ID=0, а обе цветовые - прорежены вдвое по горизонтали и вертикали и квантуются таблицей с ID=1.
Следом расположен маркер DHT, содержащий коэффициенты таблиц Хаффмана. 
После таблиц Хаффмана следует маркер SOS, непосредственно содержащий квантованные и сжатые коэффициенты ДКП: 
Далее следует блок, в котором JPEGsnoop обобщает статистику по изображению (красная линия отмечает вырезанную за ненадобностью часть картинки):  
И, наконец, маркер EOI и резюме,которое JPEGsnoop формирует по результатам обработки данных:
UPD START В первых строках резюме показаны результаты вычисления хеш-функции таблиц ДКП, как прямых, так и повернутых. Именно они сохраняются в базе данных и именно по ним осуществляется поиск совпадений UPD END
В резюме нам сообщается, что в блоке EXIF, которого в исследуемом файле просто нет, отстутствуют сведения о модели камеры или версии ПО, создавшего файл. Далее следует перечень камер и программ, на которые, судя по таблицам ДКП, похожа та программа, которая сгенерировала исследуемый файл.
Последние строки сообщают, что изображение синтезировано или подвергалось обработке, а так же сообщается, что в базе данных программы файлы с такой структурой и параметрами не встречались. 

Вот, собственно и всё, что может сказать нам про этот исследуемый файл программа JPEGsnoop.

О том, что она может еще - несколько позже

вторник, 27 сентября 2011 г.

Великий и могучий

В стенограммах всегда улыбают написанные через многоточки ругательства. 
"Нах.й" и "Бля.ть" - однозначно в memories 

воскресенье, 25 сентября 2011 г.

Про пригодность...

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



пятница, 23 сентября 2011 г.

Полнота и непротиворечивость

Цифровые фотографии, звуко- и видеозаписи можно объединить по одному признаку: все они являются результатом аналого-цифрового преобразования. Этим обстоятельством обусловлена общность методов их создания, их обработки и их исследования.


Какая система экспертных специальностей, необходимая для исследования фото- фоно- и видеодокументов, была бы всеобъемлющей и непротиворечивой?

Прежде чем ответить на этот вопрос, необходимо посмотреть, какие задачи решаются при исследовании этих объектов.


Прежде всего, конечно же, идентификация личности.


1.1. Звукозаписи: идентификация по голосу и речи. Идентификационные признаки делятся на две группы: с одной стороны – акустические, обусловленные физическими, физиологическими и психомоторными свойствами голосообразующего тракта; с другой – аудитивно-лингвистические, обусловленные высшей нервной деятельностью.

Очевидно, что решение задачи идентификации требует комплекса знаний в двух различных областях: физической акустике и лингвистике/фонетике.

В принципе – сложная и объёмная экспертная задача, вполне заслуживающая выделения в отдельную экспертную специальность. Даже две. Одна – для физиков/акустиков, вторая – для филологов/лингвистов.


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

Тоже сложная экспертная задача, уже очень давно решаемая в рамках отдельной экспертной специальности.


1.3. Видеозаписи. Кому-то покажется, что вот здесь-то нас и ждёт засада, ведь видеозапись – это или портрет, или речь, а в лучшем случае – и то, и другое. А вот системы идентификационных признаков, которые фиксируются именно видеозаписью и не фиксируются ничем другим – нету.

Но это только кажется. Достаточно погуглить по фразе gait identification with video cameras или Gait Recognition review, чтобы убедиться, что видеозапись фиксирует именно то, что и должна: динамику движений человека. Которая, как и любые психомоторные навыки, имеет ярко выраженный индивидуальный характер, чем пользуются и почерковеды, и фоноскописты.
Вопрос криминалистической идентификации по моторике ходьбы в том смысле, который имеют в виду криминалисты советской школы, остаётся открытым, но на отрасль forensic investigation это направление явно претендует.


Продолжение следует...