Анонимность цифровых изображений
Дано: есть 2 категории фотографий/видео (личные и служебные), снятые физически одной и той же (распространённой, типичной) цифровой фото/видеокамерой.
Требуется: произвести такие манипуляции над исходными изображениями/видео, чтобы третья сторона, обладающая большими ресурсами (например, google), не смогла бы предоставить убедительных доказательств того, что оба типа материала были произведены физически одним и тем же аппаратом. Желательно, но не необходимо скрыть то, что оба типа материала получены одной и той же маркой фотоаппарата.
Вопросы:
- Разрешима ли в принципе такая задача (в идеальном виде), или же не стоит и пытаться над ней думать, а использовать разную фото/видеоаппаратуру под разные цели? Современная слишком умная аппаратура потенциально может иметь воз способов закодировать серийный номер аппарата в производимые фото/видео, а метод кодирования может быть в категории ДСП. Не заниматься же стегоанализом...
- Подскажите, где можно почитать про используемые в настоящее время "водяные знаки" в фото/видеоаппаратуре — что-то типа "форензики цифровых материалов".
- Посоветуйте открытый *nix-софт поумнее для редактирования заголовков/метаданных jpg/видео-файлов.
Пояснения:
- Припоминается древняя история с простановкой скрытых знаков на печать высококачественными принтерами.
- Кто-то что-то где-то писал про "битые пиксели в определённых местах" — то ли как про случайные повреждения камеры, сказывающиеся на всех производимых файлах, то ли как про предусмотрительно зашитые производителем повреждения.
- Про анализ изображений по типу/материалам случайно засветившихся на фоне объектов мне известно.
Exiftool показывает то (или часть того), что задокументировано. Руками можно потереть эскиз изображения (jhead -dt file.jpg) и заголовки (jhead -purejpg file.jpg), причём степень полноты стирания заголовков не ясна. Тем не менее, никто не запрещает изучить формат jpg самостоятельно и происследовать его на предмет возможных утечек через заголовки. Это всё — про документированные опции.
Другая сторона медали — стеганографические вставки в изображение (можно сказать, кодирование информации в случайный шум, присутствующий в любом реальном изображении), т.е. недокументированные форматом jpg опции. Продетектировать их, в общем случае, едва ли представляется возможным. Остаётся вопрос, используется ли такая техника по умолчанию в современных фотоаппаратах или нет, но это скорее вопрос к инженерам и ими подписываемым NDA. Скрытые "водяные знаки", например, для высококачественных принтеров были обнаружены и частично кем-то описаны, так что не стоит удивляться, если подобное уже есть и в каких-то фотоаппаратах. Во всяком случае, при работе с серьёзными вещами я бы не рекомендовал надеяться, что таких вставок нет. Однако, потереть базовые заголовки всегда посильно пользователю, а потому почему бы тогда этим не пользоваться? Всё же уменьшает риск.
В плане png есть интересная опция — текущая директория, только вот не ясно, откуда она берётся. Если файл скопировать с одной директории в другую, то эта опция автоматически меняется (всегда подставляется текущая директория). Или же это не опция, а вычисляемый параметр? Странно как-то.
С чего вы решили, что устройство всегда можно идентифицировать? Это была просто рабочая гипотеза, равно как и то, что серийник потенциально может встраиваться в каждый снимок.
Профилирование возможно всегда, это базовое свойство информации :) Главное — иметь оригинал изображения, тогда спрофилировать тип камеры проще всего — просто по совокупности признаков (хотя вопрос, можно ли узнать серийник, а не просто точный тип камеры, остаётся открытым). Если речь идёт о судебных разбирательствах, то всё может быть проще: если показано, что инкриминируемые снимки действительно сняты тем типом камеры, которая имеется у обвиняемого, это "фактор плюс", а если другим типом — "фактор минус". При всё этом ни то, ни другое само по себе не является достаточным доказательством.
О каких приговорах идёт речь? Разве там есть упоминание серийных номеров фотоаппаратов?
Иногда немного помогает % strings file, дабы выловить очевидные утечки, типо software version/comment в тех же png-файлах. Но это не поможет против сжатого/зашифрованного, конечно.
Где вы её наблюдаете? В самом файле через strings видно? tEXt-чанк? У меня ни identify, ни pngcrush не показывают никаких директорий.
Если вы про vpAg-чанк, то он появляется, например, если сделать import в ImageMagick без +repage.
Но действительно, -allb и -alla опции про него не знают, т.к. чанк т.н. «private», т.е. это самодеятельность программы, которой вы пользуетесь.
Это легко исправить — либо делать +repage:
, либо так:
Только если этот пользователь не хакер. http://habrahabr.ru/post/142192/
Надо доставлять нужные переводы строк руками и делать курсив, тогда будет хорошо: > //текст//
См.
http://www.sno.phy.queensu.ca/~phil/exiftool/#filename
http://www.sno.phy.queensu.ca/.....iftool/filename.html
А также сорцы — Image-ExifTool-8.93/lib/Image/ExifTool.pm, начиная со строчки 824.
Для надёжности можно дополнительно посмотреть через identify -verbose.
Надеюсь, что пока без водяных знаков, но последнее время сильно распространилась чума с засиранием полей в статьях (pdf-файлы), где указывается с какого IP и когда их качали. Надеятся, что если копия появится в свободной скачке, ОНИ узнают, кто это сделал. Контрмеры:
Если качать через Tor, то это не имеет значения.
В том-то и проблема, что скачать их бесплатно можно только с IP, принадлежащего организации (как правило — академическому институту), которая оплатила доступ к соответствующему журналу.
комментариев: 9796 документов: 488 редакций: 5664
комментариев: 511 документов: 2 редакций: 70
Когда сам делаю PDF-файл (проверялся pdflatex), был морально готов к тому, что он напишет версии для этого использовавшегося софта, но всё оказалось ещё хуже: он пишет название Linux-дистра. Более того, эта информация не показывается в выводе pdfinfo file.pdf, но её можно увидеть, если просто просмотреть файл текстовым редактором. Тупо удалить эту информацию в редакторе нельзя — pdf-файл перестанет открываться pdf-ридерами, но можно все символы заменить на какой-то фиксированный (такое впечатление, что контрольные суммы в PDF фиксируют только длину строк в метаданных, но не их содержимое). Примерно так оно выглядит в оригинале:
комментариев: 511 документов: 2 редакций: 70
mat трёт лучше, чем jhead. Он удлаяет всё то же, но ещё дополнительно стирает параметры JFIF Version, Resolution Unit, X Resolution и Y Resolution.
Делается через ffmpeg:
комментариев: 300 документов: 33 редакций: 12
комментариев: 300 документов: 33 редакций: 12
https://mat.boum.org/