Как отличить фейковую фотографию при помощи криминалистических инструментов.
Сегодня всем нам приходится иметь дело с большим количеством слухов, фейковых новостей и фальшивых фотографий — профессиональные медиа часто и сами участвуют в их распространении, непреднамеренное вводя в заблуждение читателей.
Говорят, что все тайное, рано или поздно, становится явным. В этой статье мы рассмотрим профессиональный криминалистический инструмент, который позволит нам определить была ли редактирована фотография и что скрывается у нее внутри.
Forensically - это набор бесплатных инструментов для криминалистики цифровых изображений. Он включает в себя обнаружение клонов, анализ уровня ошибок, извлечение метаданных и многое другое.
Вы должны думать об этом инструменте, как о лупе. Это поможет вам увидеть детали, которые в противном случае были бы скрыты. Подобно лупе, она не может отличить истину от лжи или добро от зла, но может помочь вам раскрыть правду.
Для того, чтобы проверить фотографию на подлинность переходим на сайт https://29a.ch/photo-forensics и нажимаем Open File
Итак, для криминалистического анализ данный веб-сайт предлагает несколько полезных инструментов.
Инструменты
Увеличительное стекло (Magnifier)
Увеличительное стекло позволяет вам видеть маленькие, незаметные детали на изображении. Это достигается путем увеличения размера пикселей и контраста внутри окна.
Magnification - коэффициент увеличения.
В данный момент доступно три различных улучшения. Выравнивание гистограммы , Автоконтраст и Автоконтраст по каналам. Автоконтраст в основном сохраняет цвета нетронутыми, другие могут вызвать изменение цвета. Выравнивание гистограммы является наиболее надежным вариантом.
Обнаружение клонов
Детектор клонов выделяет похожие области на изображении. Это может быть хорошим индикатором того, что с изображением манипулировали с помощью инструмента клонирования.
Области, которые похожи, отмечены синим и связаны красной линией. Если много областей перекрываются, результат может выглядеть белым.
Используя данный инструмент, можно сразу сказать, когда какой-то объект был дублирован.
Минимальное сходство (Minimal Similarity) - Определяет, насколько похожи клонированные пиксели на оригинал.
Блокис меньшей детализацией, чем минимальная детализациия (Minimal Detail) не учитываются при поиске клонов.
Минимальный размер кластера (Minimal Cluster Size) - Определяет, сколько клонов аналогичного региона необходимо найти, чтобы они отображались в качестве результатов.
Размер блока (Block Size) - Определяет, насколько велики блоки, используемые для обнаружения клона. Если не разбираетесь, то лучше оставить по умолчанию.
Максимальный размер изображения (Maximal Image Size) - Максимальная ширина или высота изображения, используемого для поиска клона. Большие изображения занимают больше времени для анализа.
Показать квантованное изображение (Show Quantized Image) -Показывает изображение после его сжатия. Может быть полезно, если настроить минимальное сходство и минимальную детализацию . Блоки, которые были отклонены из-за недостаточной детализации, отображаются как черные.
Анализ уровня ошибок
Этот инструмент сравнивает исходное изображение с повторно сжатой версией. Это может заставить манипулированные регионы выделяться различными способами. Например, они могут быть темнее или ярче, чем аналогичные области, которыми не манипулировали.
С изображениями JPEG все изображение должно быть примерно на одном уровне. Если часть изображения имеет существенно другой уровень ошибки, то это, вероятно, указывает на цифровую модификацию.
Параметры:
Качество (JPEG Quality) - Это должно соответствовать исходному качеству изображения, которое было сделано в фотошопе.
Масштаб ошибки (Error Scale) - Увеличивает разницу между исходным и повторно сжатым изображением
Улучшение лупы (Magnifier Enhancement) - В данный момент доступно три различных улучшения. Выравнивание гистограммы , Автоконтраст и Автоконтраст по каналам. Автоконтраст в основном сохраняет цвета нетронутыми, другие могут вызвать изменение цвета. Выравнивание гистограммы является наиболее надежным вариантом. Вы также можете не устанавливать никакой инструмент.
Непрозрачность (Opacity) - Непрозрачность слоя ELA. Если его опустить, вы увидите больше исходного изображения.
Что искать?
ELA подчеркивает различия в степени сжатия JPEG. Области с равномерной окраской, такие как сплошное голубое небо или белая стена, вероятно, будут иметь более низкий результат ELA (более темный цвет), чем высококонтрастные края.
На что обратить внимание?
- Ребра. Подобные края должны иметь одинаковую яркость в результате ELA. Все высококонтрастные края должны быть похожи друг на друга, а все низкоконтрастные края должны выглядеть одинаково. На оригинальной фотографии низкоконтрастные края должны быть почти такими же яркими, как и высококонтрастные.текстуры.
- Поверхности. Одинаковые текстуры должны иметь одинаковую окраску под ELA. Области с большей детализацией поверхности, такие как крупный план баскетбольного мяча, вероятно, будут иметь более высокий результат ELA, чем гладкая поверхность.
- Цвета. Независимо от фактического цвета поверхности, все плоские поверхности должны иметь примерно одинаковую окраску в соответствии с ELA.
Осмотрите картинку и определите различные высококонтрастные края, малоконтрастные края, поверхности и текстуры. Сравните эти области с результатами ELA. Если есть значительные различия, то выявляются подозрительные области, которые могли быть изменены в цифровом виде.
Сохранение в формат JPEG удаляет высокие частоты и приводит к меньшему различию между высококонтрастными краями, текстурами и поверхностями. JPEG очень низкого качества будет выглядеть очень темным.
Уменьшение масштаба изображения может усилить контрастные края, делая их ярче при ELA. Точно так же сохранение JPEG с продуктом Adobe автоматически обостряет высококонтрастные края и текстуры, делая их намного ярче, чем поверхности с низкой текстурой.
Результаты этого инструмента могут вводить в заблуждение, так что советуем изучить дополнительные материалы из учебников и обучающих видеороликов.
Анализ шума
Это инструмент, по сути, обратный шумоподавляющий алгоритм. Вместо удаления шума он удаляет остальную часть изображения. Он использует супер простой отделяемый медианный фильтр, чтобы изолировать шум. Это может быть полезно для идентификации манипуляций с изображением, таких как аэрография, деформации, деформация и клонирование с коррекцией перспективы.
Лучше всего работает на высококачественных изображениях. Меньшие изображения, как правило, содержат мало информации, чтобы это работало.
Параметры
Амплитуда (Noise Amplitude) - Делает шум ярче.
Гистограмма (Equalize Histogram) - Уравнивает гистограмму к шуму. Это может раскрыть вещи, но также может скрыть их. Вы должны попробовать как выравнивание гистограммы, так и масштаб, чтобы проанализировать на шум.
Улучшение лупы (Magnifier Enhancement) - В данный момент доступно три различных улучшения. Выравнивание гистограммы , Автоконтраст и Автоконтраст по каналам. Автоконтраст в основном сохраняет цвета нетронутыми, другие могут вызвать изменение цвета. Выравнивание гистограммы является наиболее надежным вариантом. Вы также можете не устанавливать никакой инструмент.
Непрозрачность (Opacity) - Непрозрачность шума. Если его опустить, вы увидите больше исходного изображения.
Уровень развертки (Level Sweep)
Этот инструмент позволяет быстро пролистывать гистограмму изображения. Увеличивает контрастность определенных уровней яркости. Этот инструмент можно использовать, чтобы сделать края, которые были введены при копировании вставки контента, более заметным.
Чтобы использовать этот инструмент, просто наведите курсор мыши на изображение и прокрутите колесико мыши. Ищите интересные разрывы в изображении.
Положение 0,5 и ширина 32 будет означать, что 127-32 / 2 будет равно 0 в выходных данных. 127 + 32/2 будет равно 256.
Параметры
Sweep - Положение в гистограмме, подлежащей проверке. Вы можете быстро изменить этот параметр, используя колесико мыши при наведении курсора на изображение, что позволяет пролистывать гистограмму.
Ширина (Width) - Количество значений (или ширина среза гистограммы) для проверки. Вы по умолчанию должны быть в порядке.
Непрозрачность (Opacity) - Непрозрачность слоя развертки. Если вы опустите его, вы увидите больше исходного изображения.
Градиент яркости (Luminance Gradient)
Инструмент градиента яркости анализирует изменения яркости вдоль осей x и y изображения. Очевидно, что стоит посмотреть, как подсвечиваются разные части изображения, чтобы найти аномалии.
Части изображения, которые находятся под сходным углом (к источнику света), при одинаковом освещении, должны иметь одинаковый цвет;
Другое использование - проверка краев. Подобные ребра должны иметь похожие градиенты. Если градиенты на одном краю значительно резче, чем на остальных, это признак того, что изображение могло быть изменено. Это также довольно хорошо показывает шум и артефакты сжатия.
PCA
Этот инструмент выполняет анализ основных компонентов изображения. Это обеспечивает другой угол для просмотра данных изображения, что облегчает обнаружение определенных манипуляций и деталей. Этот инструмент в настоящее время однопоточный и довольно медленный при работе с большими изображениями.
Давайте рассмотрим пример того, как этот инструмент можно использовать.
Это фото, которое я недавно сделал:
Невооруженным глазом эта фотография не показывает каких-либо явных признаков манипуляции. Давайте посмотрим, что мы можем найти, посмотрев на основные компоненты.
Первый основной компонент
Все еще ничего подозрительного, давайте проверим второй:
Второй основной компонент
И действительно, именно здесь я удалил насекомое, летящего перед объективом, используя контентно-ориентированный залив в фотошопе.
Сопротивление сжатию
Этот метод все еще работает с более сильно сжатыми изображениями. Чтобы проиллюстрировать это, я провел тот же анализ, что и выше, для уменьшенной и более сжатой версии фотографии, использованной в этой статье, а не для оригинала. Как вы можете ясно видеть, аномалия, вызванная манипуляциями, все еще присутствует и довольно ясна, но не так отчетливо, как при анализе менее сжатой версии изображения. Вы также можете видеть, что PCA довольно хорошо обнаруживает артефакты, вызванные (повторным) сжатием.
Режим
- Проекция: проекция значения изображения на основной компонент.
- Разница: разница между входом и ближайшей точкой на выбранном главном компоненте.
- Расстояние: расстояние между входом и ближайшей точкой выбранного основного компонента.
- Компонент: ближайшая точка на выбранном главном компоненте.
Компонент (Component) - Компонент PCA, который вы хотите проверить. Первый компонент содержит наибольшую дисперсию. Более поздние компоненты могут раскрыть больше скрытых деталей.
Linearize - Включает работу в линейном пространстве, а не в гамма-пространстве. Медленнее .
Инвертировать (Invert) - Инвертируетвыходные данные.
Улучшение лупы (Magnifier Enhancement) - В данный момент доступно три различных улучшения. Выравнивание гистограммы , Автоконтраст и Автоконтраст по каналам. Автоконтраст в основном сохраняет цвета нетронутыми, другие могут вызвать изменение цвета. Выравнивание гистограммы является наиболее надежным вариантом. Вы также можете не устанавливать никакой инструмент.
Непрозрачность - Непрозрачность слоя развертки. Если вы опустите его, вы увидите больше исходного изображения.
Метаданные
Этот инструмент отображает скрытые метаданные exif на изображении, если таковые имеются.
Гео теги
Этот инструмент показывает местоположение GPS, где было снято изображение, если оно сохранено в изображении.
Анализ миниатюр
Этот инструмент показывает скрытое изображение миниатюры внутри исходного изображения, если оно есть. Такое изображение обычно показывается на иконке, в списке файлов. Порой, люди забывают его заменить, при редактировании фото. Предварительный просмотр может показать детали исходного изображения или камеры, с которой оно было снято.
Непрозрачность - Непрозрачность слоя. Если вы опустите его, вы увидите больше исходного изображения.
Показать различия (Show Differences) - При включении покажет различия между исходным изображением и миниатюрой, сохраненной в нем.
Анализ JPEG
Этот инструмент извлекает метаданные из файлов JPEG.
Формат файла JPEG содержит раздел для комментариев, помеченных 0xFFFE (COM). Они существуют в дополнение к обычным данным Exif, IPTC и XMP. В некоторых случаях они могут содержать интересную информацию, которая либо отсутствует в других метаданных, либо была удалена.
Например, изображения из Википедии содержат ссылку на изображение:
File source: https://commons.wikimedia.org/wiki/File:...
Более старые версии Photoshop, похоже, тоже оставляют комментарии JPEG.
File written by Adobe Photoshop 4.0
Некоторые версии libgd (обычно используемые в веб-приложениях PHP), похоже, оставляют комментарии, указывающие версию используемой библиотеки и качество, с которым изображение было сохранено:
CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90
Таблицы квантования
Это, пожалуй, самая интересная информация, раскрываемая в Forensically .
Основное понимание того, как работает JPEG, может помочь в понимании этого инструмента, поэтому я постараюсь дать вам поверхностное понимание того, как все это работает.
Если вы уже понимаете JPEG, вам, вероятно, следует пропустить этот раздел.
JPEG - это формат сжатия изображений с потерями. Он достигает хороших степеней сжатия, отбрасывая часть информации, содержащейся в исходном изображении.
Для этого сжатия изображение делится на блоки 8x8 пикселей. Вместо того, чтобы сохранять значения отдельных пикселей для каждого из 64 пикселей в блоке напрямую, JPEG сохраняет, насколько они похожи на один из 64 фиксированных «шаблонов» (коэффициентов). Если эти шаблоны выбраны правильно, это преобразование по-прежнему практически без потерь (за исключением ошибок округления), что означает, что вы можете вернуть исходное изображение, комбинируя эти шаблоны.
Шаблоны JPEG
Коэффициенты JPEG DCT от Devcore (Public Domain)
Теперь, когда изображение выражено в этих шаблонах, JPEG может выборочно отбрасывать некоторые детали изображения.
Сколько информации о том, какой шаблон отбрасывается, определяется в наборе таблиц, которые хранятся внутри каждого изображения JPEG. Эти таблицы называются таблицами квантования.
В стандарте JPEG есть несколько предложений о том, как рассчитать эти таблицы для заданного значения качества (1-99). Оказывается, не все используют эти таблицы и показатели качества.
Это хорошо для нас, поскольку означает, что, просматривая таблицы квантования, используемые в изображении JPEG, мы можем узнать кое-что об устройстве, которое создало это изображение.
Идентификация модифицированных изображений с использованием таблиц квантования JPEG
Большинство компьютерных программ и интернет-сервисов используют стандартные таблицы квантования. Самым заметным исключением из этого правила являются продукты Adobe, а именно Photoshop. Это означает, что мы можем обнаружить изображения, которые были в последний раз сохранены, используя Photoshop, просто взглянув на их таблицы квантования.
Многие производители цифровых камер также имеют свой ''секретный рецепт" для создания таблиц квантования. Это означает, что, сравнивая таблицы квантования между различными изображениями, снятыми камерой одного типа, и настройкой, мы можем определить, было ли изображение потенциально создано этой камерой или нет.
Автоматическая идентификация таблиц квантования
В настоящее время криминалистически автоматически определяются таблицы квантования, созданные в соответствии со стандартом. В этом случае он будет отображаться Standard JPEG Table Quality=95
.
Он также автоматически распознает некоторые таблицы квантования, используемые в фотошопе. В этом случае он будет отображаться Photoshop quality=85
.
Если таблица квантования не распознана, она выведет Non Standard JPEG Table, closest quality=82
или Unknown Table
.
В кратце
Изображения JPEG содержат таблицы, которые определяют, как изображение было сжато. Разные программы и устройства используют разные таблицы квантования, поэтому, взглянув на таблицы квантования, мы можем узнать кое-что об устройстве или программном обеспечении, которое сохранило изображение.
Большинство программного обеспечения и интернет-сервисов сохраняют свои файлы, используя матрицы квантования, определенные стандартом. Исключением из этого правила являются продукты Adobe, в которых используются собственные таблицы квантования. Jpegs, производимые цифровыми камерами, часто используют нестандартные цветовые матрицы.
Поэтому, если вы знаете, что камера, на которую предположительно было сделано изображение, использует матрицу квантования одного типа, а изображение, которое вы пытаетесь проверить, использует матрицу квантования другого типа, это может быть хорошим индикатором того, что файл был отредактирован или, по крайней мере, повторно сохранены.
Из того, что я видел, айфоны используют нестандартные таблицы квантования с качеством около 92. Телефоны на Android обычно используют стандартные матрицы квантования, но есть и исключения.
Извлечение строк
Этот инструмент сканирует двоичное содержимое изображения в поисках последовательности символов ascii. Это отличный запасной вариант для просмотра метаданных, которые находятся в изображении в формате, который еще не понимает Forensical. Он будет выводить последовательности буквенно-цифровых символов длиннее 4 или последовательности из 8 или более неконтролирующих символов ascii. Это позволяет вам обнаруживать метаданные, которые скрыты или не распознаны криминалистически. Соответствующие данные обычно хранятся в начале или конце файла.
Интересная строка для поиска - bFBMD, за которой следует последовательность цифр и букв af (шестнадцатеричное кодирование). Эта строка добавлена в (некоторые) изображения на Facebook.
Вместо заключения
Эта статья - лишь краткий экскурс в мир форензики цифровых снимков. Теперь, вы понимаете, что можно скрыть что-то от человеческого глаза, но никак не от вооруженного глаза фото-криминалиста.