Анонимность цифровых изображений


Дано: есть 2 категории фотографий/видео (личные и служебные), снятые физически одной и той же (распространённой, типичной) цифровой фото/видеокамерой.

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

Вопросы:
  1. Разрешима ли в принципе такая задача (в идеальном виде), или же не стоит и пытаться над ней думать, а использовать разную фото/видеоаппаратуру под разные цели? Современная слишком умная аппаратура потенциально может иметь воз способов закодировать серийный номер аппарата в производимые фото/видео, а метод кодирования может быть в категории ДСП. Не заниматься же стегоанализом...
  2. Подскажите, где можно почитать про используемые в настоящее время "водяные знаки" в фото/видеоаппаратуре — что-то типа "форензики цифровых материалов".
  3. Посоветуйте открытый *nix-софт поумнее для редактирования заголовков/метаданных jpg/видео-файлов.

Пояснения:
  1. Припоминается древняя история с простановкой скрытых знаков на печать высококачественными принтерами.
  2. Кто-то что-то где-то писал про "битые пиксели в определённых местах" — то ли как про случайные повреждения камеры, сказывающиеся на всех производимых файлах, то ли как про предусмотрительно зашитые производителем повреждения.
  3. Про анализ изображений по типу/материалам случайно засветившихся на фоне объектов мне известно.


Комментарии
— unknown (01/08/2011 17:39, исправлен 01/08/2011 17:40)   

Who clicks there!: Anonymizing the photographer in a camera saturated society[link1].


Работа крайне странная: авторы озаботились сценарием того, что некто из толпы снимает нечто. Саму толпу тоже фотографируют (пишут на видеокамеры). Нужно скрыть положение этого "некто" в толпе. Точнее его место съёмки должно быть невычисляемо по снимку.


Для этого делается несколько промежуточных кадров с разных мест, с которых затем синтезируется кадр с изменённым положением. Как такое возможно (особенно при съёмке динамичных сцен) и как при этом не теряется качество снимка, не вполне ясно. Как честно говоря и степень серьёзности этой работы. Но какие-то исследования на тему анонимизации фотоматериалов ведутся.


Разрешима ли в принципе такая задача (в идеальном виде)

Она плохо формализована и малоисследована, поэтому скорее:

использовать разную фото/видеоаппаратуру под разные цели

Гость (01/08/2011 20:08)   
Нужно скрыть положение этого "некто" в толпе. Точнее его место съёмки должно быть невычисляемо по снимку.

Спасибо за ссылку. Само наличие подобных работ интересно, но в моём случае означенная угроза нейтрализуется частично за счёт вырезания фона фотографии и за счёт предположения о несуществовании постоянно включённых видеокамер.
— бывший_эксперт (11/08/2011 10:07)   
Насчет скрытых "водяных знаков" на фотоснимках – не знаю, может и есть таковые. Точно знаю, что при экспертизе цифровых фотоснимков в экспертных учреждениях (того же МВД) используются дополнительные данные, прикрепленные к снимку (exif data). Просмотреть эти данные можно даже стандартными функциями проводника Windows – особенно хорошо это сделано у 7-ки. Также эти данные можно просмотреть в 16-ричном редакторе. Насколько мне известно, подделать эти данные довольно трудно (но возможно даже при наличии цифровой подписи), а вот просто удалить с помощью того же 16-ричного редактора легко.

Про exif data:
http://ru.wikipedia.org/wiki/EXIF
Гость (11/08/2011 19:53)   
Вопрос о подделке не стоит — это другая и действительно трудная задача. Достаточно, чтобы разные фотографии нельзя было легко проассоциировать друг с другом.
Гость (11/08/2011 21:49)   
Распечатываете, ловите на улице случайного прохожего с фотоаппаратом в мобильном телефоне, просите перефотографировать и переслать вам. :)
Гость (12/08/2011 18:23)   
Качество сильно падает от переснятия. Уже думал об этом.
Гость (13/08/2011 12:15)   
Чем хуже качество, тем меньше вероятность сохранения "водного знака"
Гость (13/08/2011 15:54)   
Вот если бы было можно было как-то "переснимать" электронно, без распечатки, это уже интересней. Но перевод в bmp и последующее кодирование в jpg другими средствами не факт что снимет определённые модуляции спектра в картинке, если таковые используются.
Гость (13/08/2011 22:15)   
Бывает что и распечатка с последующим сканированием не помогает[link2]
Гость (13/08/2011 23:01)   
Не помогает также преобразование BMP->JPG[link3], сжатие с худшим качеством[link4] и даже засветка части фотографии[link5]. И это просто голографическое фурье-пренобразование, не говоря уж о всяких новомодных вейвлетах... Не факт, что уже такое стоит во всех фотовидеокамерах, но ждать, думаю, осталось недолго.
Гость (17/08/2011 19:02)   
Насчет скрытых "водяных знаков" на фотоснимках – не знаю, может и есть таковые. Точно знаю, что при экспертизе цифровых фотоснимков в экспертных учреждениях (того же МВД) используются дополнительные данные, прикрепленные к снимку (exif data). Просмотреть эти данные можно даже стандартными функциями проводника Windows – особенно хорошо это сделано у 7-ки. Также эти данные можно просмотреть в 16-ричном редакторе. Насколько мне известно, подделать эти данные довольно трудно (но возможно даже при наличии цифровой подписи)

Да ладно. Проще некуда, есть куча утилит, делающих это легко и непринуждённо .
Гость (17/08/2011 22:04)   
Это не правда. Подделать трудно. Есть over 9000 параметров, включая такие, которые программно вообще поменять проблематично — у каждого фотоаппарата своя кривая чувствительности, спектральные свойства и прочие тонкости. Учите оптику, мать вашу. Если хоть один из параметров не будет соответствовать, значит, это подделка.
Гость (17/08/2011 22:20)   
вставляете в пэинт, делаете принтскрин, снова вставляете в пэинт.

с видео то же самое, включаете виндоус медиа плеер, включаете программу захвата экрана, выбираете место на экране и всё!

под другие ОС есть аналоги программ.
Гость (19/08/2011 01:29)   
И как это по-вашему поменяет спектральные характеристики?
— SATtva (19/08/2011 23:22)   
Получить "спектральные характеристики" и "кривую чувствительности" системы сенсора камеры и оптики невозможно по LDR-изображению. Для этого требуются исходные данные с высоким динамическим диапазоном и без какой бы то ни было постобработки.
Гость (21/08/2011 23:24)   
Если постобработка одинковая то это, возможно, не столь существенно – нужны не сами характеристики, а возможность различать камеры.
Гость (09/03/2012 04:59)   
Не совсем задача ТС, но похожая на неё:

Есть такая статья[link6] (скачать препринт можно здесь[link7]), под названием «On Anti-Collusion Codes and Detection Algorithms for Multimedia Fingerprinting»:
Multimedia fingerprinting is an effective technique to trace the sources of pirate copies of copyrighted multimedia information. AND anti-collusion codes can be used to construct fingerprints resistant to collusion attacks on multimedia contents. In this paper, we first investigate AND anti-collusion codes and related detection algorithms from a combinatorial viewpoint, and then introduce a new concept of logical anti-collusion code to improve the traceability of multimedia fingerprinting. It reveals that frameproof codes have traceability for multimedia contents. Relationships among anti-collusion codes and other structures related to fingerprinting are discussed, and constructions for both AND anti-collusion codes and logical anti-collusion codes are provided.

Грубо говоря: есть у вас авторизованный доступ к какой-нибудь библиотеке или журналу. Захотели вы сделать доброе дело и распространить знания широким массам — скачали материал и выложили в паблике. Тут приходят копирасты и видят гуляющую по интернетам копию вашего материала. Далее смотрят на водяные знаки*, заблаговремененно проставленные баблиотекой и содержащие как можно более полную информацию о сетевых параметрах скачивавшего, определяют виновника торжества, а дальше Бубон → СИЗО → Тюрьма. Но авторизованные качальщики могут оказаться столь хитры, что сговорятся между собой, сольют все копии материалов в одно место, и «усреднят» их, выведя «среднюю копию», по которой копирасты не смогут сказать кто же именно виновен (дословно: в той или иной мере в копии будут отражены параметры всех качальщиков). Против такого сговора кто-то ранее предложил так называемые «anti-collusion codes», защищающие копирастов. В этой статье авторы показыавают слабости и методы обхода уже существующих «anti-collusion codes», также предлагая способ их усоврешенствования (это как я понял, сильно не пинайте). Далее, кому интересно, можно походить по цитированиям в статье, посмотреть что вообще есть по этой теме в литературе.

Журнал, где опубликован результат, не подразумевает свободного распространения статей**, потому я сейчас очень характерно подпадаю под предмет исследования этой статьи с той лишь разницей, что библиотека университета Tsukuba уже выложила в этих интернетах препринт (может, это легально?) :)

*По смыслу тут «fingerprinting» ближе к «водяным знакам» («watermarking»), чем к собственно отпечаткам.
**Хотя именно этот IEEE-журнал уже давно поддерживают предварительную публикацию в arxiv.org, и посему очень странно, что авторы решили не выкладывать туда свою работу.
Гость (09/03/2012 05:42)   
Просмотреть эти данные можно даже стандартными функциями проводника Windows – особенно хорошо это сделано у 7-ки.
В UNIX ещё легче: команда
$ exiftool filename.jpg
(кстати, аналогично для видеофайлов).

подделать эти данные довольно трудно (но возможно даже при наличии цифровой подписи)
В интернете какое-то время назад в контексте «Навальный vs они» обсуждалась фотография, сделанная в кафе на телефон, где якобы судья сидит за одним столиком с заинтересованным лицом. Предполагалось, что фотография сделана на определённую марку аппарата и в определённый период временни. Анализ осложняло то, что народ не имел оригинала фотографии. В форенсиковых тредах (ссылку долго гуглить), насколько помню, дообсуждались то ли до того, что определить нельзя, то ли до того, что явная подделка (есть следы намеренных модификаций EXIF-данных). Убедительно прошу воздержаться от развития связанных тем «Навальный», «сделано у нас», «пример Китая» и тому подобных оффтопиков.

а вот просто удалить с помощью того же 16-ричного редактора легко.
Вроде б этой команды достаточно (по крайней мере, после неё exiftool ничего не показывает):
$ jhead -purejpg filename.jpg


В принципе, давно стоит после слива фоток с фотоаппарата взять за правило команду
$ find /path/to/photos -iname \*.JPG -exec jhead -purejpg {} \;
Аналогично происходит и пережимание (уменьшает разрешение/размер/качество):
$ find /path/to/photos -iname \*.JPG -exec convert -resample 50 {} {}.jpg \; -print
Перед собственно пережиманием для отладки рекомендуется выполнить
$ find /path/to/photos -iname \*.JPG -exec echo convert -resample 50 {} {}.jpg \;
и подумать «что оно будет делать». После успешного пережатия можно удалить старые фото:
$ cd /path/to/photos; mmv \*.JPG.jpg \#1.jpg
— unknown (09/03/2012 13:24)   
Журнал, где опубликован результат, не подразумевает свободного распространения статей**, потому я сейчас очень характерно подпадаю под предмет исследования этой статьи с той лишь разницей, что библиотека университета Tsukuba уже выложила в этих интернетах препринт (может, это легально?) :)

Разница, наверное, ещё и в том, что исследование касается т.н. "multimedia", т.е. должно фигурировать хот бы широкое использование изображений для "Anti-Collusion Codes" и "Multimedia Fingerprinting".

Есть ещё термин "Traitor tracing".
Гость (25/05/2012 08:37)   
вставляете в пэинт, делаете принтскрин, снова вставляете в пэинт.
/comment47671[link8]. Кстати, автор методы — редкостный[link9] [вырезано цензурой].

Получить "спектральные характеристики" и "кривую чувствительности" системы сенсора камеры и оптики невозможно по LDR-изображению. Для этого требуются исходные данные с высоким динамическим диапазоном и без какой бы то ни было постобработки.
Можно получить частичную информацию об оных. Если где-то есть нарочито битые пиксели, они же будут и на изображении. Если камера конкретного типа не точно передаёт цвета, это отразится и на изображениях. Набрав статистику по типовым камерам, думаю, можно многое сказать даже по одному изображению в плане того, чем оно было снято.

Насколько мне известно, подделать эти данные довольно трудно (но возможно даже при наличии цифровой подписи), а вот просто удалить с помощью того же 16-ричного редактора легко.
Про exif data: http://ru.wikipedia.org/wiki/EXIF
Обыскал весь интернет, и не смог найти ничего про удаление хидеров из png-файлов. Все тулзы (jhead, exiftool) работают именно с jpg-форматом. Как удалить хидер из png? Он может тоже много чего светить. Есть способ "преобразовать в jpg как convert file.png file.jpg", затем удалить хидер из jpg (jhead -purejpg file.jpg), и, наконец, преобразовать формат в исходный — convert file.jpg file.png, но, боюсь, это только заметает мусор под ковёр, а данные хидера где-то могут остаться. По крайней мере, уже сталкивался с чем-то подобным при преобразованиях eps и pdf: новый формат даных — просто контейнер, содержащий старый формат, где последний при обратном преобразовании можно извлечь. Т.е. имеется разница между реальным преобразованием данных и формальным представлением (достаточно приклеить нужный хидер к данным, чтобы файл распознавался как нечто требуемое и формально просматривался, но сами данные при этом не поменяются). Поправьте, где вру.
Гость (31/05/2012 20:18)   

% pngcrush -rem allb source.png dest.png

Это добавляет небольшой побочный эффект — пережимает исходное изображение, но лучше софтины я не нашёл после непродолжительных поисков, да и не мешает это, наоборот, меньше места занимать будет.
По желанию можно -alla, чтобы удалить ещё и gAMA-чанки. Ещё можно с помощью -m 1 задать вручную метод, тогда работать будет быстрее. Также можно самому редактировать tEXt-чанки с помощью -text. В общем, подробности в % man pngcrush.
Просматривать информацию об этих чанках не очень удобно, % identify -verbose source.png или % pngcrush -n -v source.png, но определить наличие утечки можно.

Под виндоуз есть программа помощнее — TweakPng[link10], в вайне статус платиновый[link11].
Также есть чья-то самопальная софтина[link12], см.ответ на стэковерфлоу[link13].
Гость (31/05/2012 20:39)   

Т.е. качество картинки ухудшится?
P.S.: Спасибо за информацию. Посмотрю/поизучаю.
Гость (31/05/2012 20:47)   

Нет. PNG использует сжатие без потерь, изменятся только параметры кодирования. См.% man pngcrush.

P.S. Это глюч форума или почему у Гостя (31/05/2012 20:39) моя сигнатура?
Если проверять вручную, то пишет:
Гость (31/05/2012 20:56)   
Это моя сигнатура из https://www.pgpru.com/comment52810, только как она попала сюда? Гость специально вставил?
И почему форум не написал, что подпись неверна? Он проверяет только для зарегистрированных на сайте?
Гость (31/05/2012 20:58)   
Гость 0x4B3C7781, у тебя ж секретный ключ угнали, пора менять кей.
Гость (31/05/2012 21:01)   

Нет, он телепатически понимает, когда подпись верная, а когда нет. У pgpru.com своя база ключей зарегистрированных участников. Она иногда синхронизируется с внешними серверами (раз в 2 недели, кажется). Но если кто-то не пожелал выложить сюда свой ключ, указав её при регистрации, то как проверить? Естественно, никак.
— spinore (31/05/2012 21:08)   
Ладно, хорош уже. Кончаю троллить :) Просто пришла в голову «идея» :D

Гость 0x4B3CC7781, не обижайтесь, просто хотел показать обратную сторону использования подписей, которые не соответствуют ни одному из ключей зарегистрированных участников сайта.
Гость (31/05/2012 21:10)   

% gpg --recv-keys 0x4B3C7781
Гость (01/06/2012 05:39)   
1) Остается ли еще какое-то идентифицирующее "говно" после юзания jhead, которое не показывает exiftool?
2) Что-то я не в восторге от pngcrush, сведения о разрешении экрана все равно остались.
Гость (01/06/2012 06:18)   
Кстати, по выводу exiftool видно, каким устройством сделано, и некоторые данные этого устройства. Но серийника etc. этого устройства там нет.
Как же, как рассматривалось выше, спецслужбы делают вывод об идентификации устройства? Видимо, какие-то еще данные есть в файле, кроме хидеров? Или этого небольшого количества инфы достаточно для профилирования? Или просто суд, не разбираясь в вопросе, штампует приговоры? (Я не про наш, я про американский, с нашим то все ясно и без слов, там инфа была по деятельности ФБР и по США).
Гость (01/06/2012 07:08)   
Остается ли еще какое-то идентифицирующее "говно" после юзания jhead, которое не показывает exiftool?

Exiftool показывает то (или часть того), что задокументировано. Руками можно потереть эскиз изображения (jhead -dt file.jpg) и заголовки (jhead -purejpg file.jpg), причём степень полноты стирания заголовков не ясна. Тем не менее, никто не запрещает изучить формат jpg самостоятельно и происследовать его на предмет возможных утечек через заголовки. Это всё — про документированные опции.

Другая сторона медали — стеганографические вставки в изображение (можно сказать, кодирование информации в случайный шум, присутствующий в любом реальном изображении), т.е. недокументированные форматом jpg опции. Продетектировать их, в общем случае, едва ли представляется возможным. Остаётся вопрос, используется ли такая техника по умолчанию в современных фотоаппаратах или нет, но это скорее вопрос к инженерам и ими подписываемым NDA. Скрытые "водяные знаки", например, для высококачественных принтеров были обнаружены и частично кем-то описаны, так что не стоит удивляться, если подобное уже есть и в каких-то фотоаппаратах. Во всяком случае, при работе с серьёзными вещами я бы не рекомендовал надеяться, что таких вставок нет. Однако, потереть базовые заголовки всегда посильно пользователю, а потому почему бы тогда этим не пользоваться? Всё же уменьшает риск.

В плане png есть интересная опция — текущая директория, только вот не ясно, откуда она берётся. Если файл скопировать с одной директории в другую, то эта опция автоматически меняется (всегда подставляется текущая директория). Или же это не опция, а вычисляемый параметр? Странно как-то.

Как же, как рассматривалось выше, спецслужбы делают вывод об идентификации устройства?

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

Или этого небольшого количества инфы достаточно для профилирования?

Профилирование возможно всегда, это базовое свойство информации :) Главное — иметь оригинал изображения, тогда спрофилировать тип камеры проще всего — просто по совокупности признаков (хотя вопрос, можно ли узнать серийник, а не просто точный тип камеры, остаётся открытым). Если речь идёт о судебных разбирательствах, то всё может быть проще: если показано, что инкриминируемые снимки действительно сняты тем типом камеры, которая имеется у обвиняемого, это "фактор плюс", а если другим типом — "фактор минус". При всё этом ни то, ни другое само по себе не является достаточным доказательством.

Или просто суд, не разбираясь в вопросе, штампует приговоры?

О каких приговорах идёт речь? Разве там есть упоминание серийных номеров фотоаппаратов?
Гость (01/06/2012 14:58)   
Есть ещё exiv2, использовать как % exiv2 rm file.jpg, возможности примерно те же.
Иногда немного помогает % strings file, дабы выловить очевидные утечки, типо software version/comment в тех же png-файлах. Но это не поможет против сжатого/зашифрованного, конечно.
Где вы её наблюдаете? В самом файле через strings видно? tEXt-чанк? У меня ни identify, ни pngcrush не показывают никаких директорий.

Если вы про vpAg-чанк, то он появляется, например, если сделать import в ImageMagick без +repage.
Но действительно, -allb и -alla опции про него не знают, т.к. чанк т.н. «private», т.е. это самодеятельность программы, которой вы пользуетесь.

Это легко исправить — либо делать +repage:

, либо так:


Только если этот пользователь не хакер. http://habrahabr.ru/post/142192/
Гость (01/06/2012 15:12)   
Блин, какой у вас «>» некрасивый, лучше через другое цитирование.
Гость (01/06/2012 16:35)   

Надо доставлять нужные переводы строк руками и делать курсив, тогда будет хорошо: > //текст//
Гость (01/06/2012 17:13)   
Нет, это «pseudo»-tags.
См.
http://www.sno.phy.queensu.ca/~phil/exiftool/#filename
http://www.sno.phy.queensu.ca/.....iftool/filename.html[link14]

А также сорцы — Image-ExifTool-8.93/lib/Image/ExifTool.pm, начиная со строчки 824.
Для надёжности можно дополнительно посмотреть через identify -verbose.
Гость (01/06/2012 17:18)   
А есть ли аналогичные чистильщики всяких заголовков для видеофайлов?
Гость (30/11/2012 19:19)   

Надеюсь, что пока без водяных знаков, но последнее время сильно распространилась чума с засиранием полей в статьях (pdf-файлы), где указывается с какого IP и когда их качали. Надеятся, что если копия появится в свободной скачке, ОНИ узнают, кто это сделал. Контрмеры:

  1. Вырезание нужных страниц (обычно трэш на первой):
    $ pdftk input_file.pdf cat 2-70 output output_file.pdf
    В данном примере — со 2ой по 70ю страницы включительно.
  2. $ pdfcrop --margins "20 20 20 -15" input.pdf output.pdf
    Вырезает поля, соответственно, слева, сверху, справа и снизу, вместо них добавляя пустые поля. Команда оптимизирована под вырезание снизу. Можно поиграться с числами под конкретный тип pdf'ок.
Гость (09/06/2014 19:36)   
F[link15]ingerprinting Web Application Platforms by Variations in PNG Implementations

Fingerprinting is an important preliminary step when auditing web applications. But the usual techniques based on the analysis of cookies, headers, and static files are easy to fool. Fingerprinting digital images is a technique commonly used for forensic investigations but rarely for security audits. Moreover, it is mostly based on the analysis of JPEG images only. In this talk we study the implementation differences between a number of PNG decoders/encoders, either build-in or commonly used with the main web application development platforms. As a result, we give a set of tests that can discriminate between various PNG libraries. As a consequence, it is often possible to identify the platform behind a website even when an effort has been made to prevent fingerprinting, as long as said website allows the upload of PNG images.
Гость (09/06/2014 19:53)   
Надеюсь, что пока без водяных знаков, но последнее время сильно распространилась чума с засиранием полей в статьях (pdf-файлы), где указывается с какого IP и когда их качали.

Если качать через Tor, то это не имеет значения.
Гость (09/06/2014 20:34)   

В том-то и проблема, что скачать их бесплатно можно только с IP, принадлежащего организации (как правило — академическому институту), которая оплатила доступ к соответствующему журналу.
— unknown (10/06/2014 09:44)   
Экспортнуть (фактически отрендерить) постранично в TIFF/JPEG и собрать из этого обратно PDF/DJVU заново. Есть утилиты, которые это делают, можно написать скрипты. Так иногда делали для чтения на тупых электронных книжках. Недостаток: размер файла растёт до уровня отсканированного; всё перестаёт масштабироваться при увеличении, особенно от этого страдают схемы и формулы с мелкими индексами.
— pgprubot (23/06/2015 20:09, исправлен 23/06/2015 20:13)   

Когда сам делаю PDF-файл (проверялся pdflatex), был морально готов к тому, что он напишет версии для этого использовавшегося софта, но всё оказалось ещё хуже: он пишет название Linux-дистра. Более того, эта информация не показывается в выводе pdfinfo file.pdf, но её можно увидеть, если просто просмотреть файл текстовым редактором. Тупо удалить эту информацию в редакторе нельзя — pdf-файл перестанет открываться pdf-ридерами, но можно все символы заменить на какой-то фиксированный (такое впечатление, что контрольные суммы в PDF фиксируют только длину строк в метаданных, но не их содержимое). Примерно так оно выглядит в оригинале:

/Producer (pdfTeX-X.XX.XX)
/Creator (TeX)
/CreationDate (D:2015XXXXXXXXX0Z)
/ModDate (D:2015XXXXXXXXX0Z)
/Trapped /False
/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-X.X-X.XX.XX 
  (TeX Live 2015/dev/LINUX_DISTRO) kpathsea version X.X.XXXX)

— pgprubot (01/07/2015 22:19, исправлен 01/07/2015 22:20)   

mat[link16] трёт лучше, чем jhead. Он удлаяет всё то же, но ещё дополнительно стирает параметры JFIF Version, Resolution Unit, X Resolution и Y Resolution.



Делается[link17] через ffmpeg:

$ ffmpeg -i in.mov -map_metadata -1 -c:v copy -c:a copy out.mov
или avconv:
$ avconv -i input.mp4 -map 0 -map_metadata 0:s:0 -c copy output.mp4

— cypherpunks (05/08/2015 07:55)   
другой способ:
— cypherpunks (05/08/2015 08:00)   
мат много чего умеет чистить:
For now, MAT fully supports the following formats:

Portable Network Graphics (.png)
JPEG (.jpg, .jpeg, …)
Open Documents (.odt, .odx, .ods, …)
Office OpenXml (.docx, .pptx, .xlsx, …)
Portable Document Fileformat (.pdf)
Tape ARchives (.tar, .tar.bz2, …)
MPEG AUdio (.mp3, .mp2, .mp1, …)
Ogg Vorbis (.ogg, …)
Free Lossless Audio Codec (.flac)
Torrent (.torrent)

https://mat.boum.org/
— гыук (06/08/2015 11:58)   

Там же есть:
Alternatives

Since MAT is not a silver bullet, you may want to take a look at:

Exiftool
exiv2
jhead
— pgprubot (15/08/2015 16:34, исправлен 15/08/2015 16:39)   

man jhead:


-dc
Delete comment field from the JPEG header. Note that the comment is not part of the Exif header.

-de

Delete the Exif header entirely. Leaves other metadata sections intact.

-di

Delete the IPTC section, if present. Leaves other metadata sections intact.

-dx

Delete the XMP section, if present. Leaves other metadata sections intact.

-du

Delete sections of jpeg that are not Exif, not comment, and otherwise not contributing to the image either – such as data that photoshop might leave in the image.

-purejpg

Delete all JPEG sections that aren't necessary for rendering the image. Strips any metadata that various applications may have left in the image. A combination of the -de -dc and -du options.

-purejpg подразумевает -dx и -di? Наверно, -du включает в себя -dx и -di. Изображений с IPTC у меня нет, чтоб проверить. -dx действительно что-то удаляет из файла до -purejpg, но после него — нет («modified» не пишется). Вообще, ICC — это такая штука, что может не подпадать под определение того, что дано в -du. Есть ссылка


M[link19]etadata Types

There are many different types of metadata. Some types are only generated by cameras. Other types are created by specific applications. And a few types of metadata can come from anywhere. The most common types of metadata you are likely to encounter include File, EXIF, Maker Notes, IPTC, ICC Profiles, XMP, PrintIM. However, there are many other types of metadata records.

но там не объясняют, как всё чистить, хотя преподносят так, что exiftool теоретически может всё. Такое впечатление, что Exif — это только один тип метаданных, и всё программы концентрируются именно на нём, хотя есть и другие типы. exiftool своим названием провоцирует думать, что он правит только Exif, однако, опция -icc_profile там есть, а ICC и IPTC многократно упоминаются в man exiftool. Должно быть, по умолчанию он эти данные тоже показывает командой exiftool file.jpg.


Если сделать mat и jhead -dt, то extract[link20] почему-то всё равно показывает, что thumbnail имеется:

$ mat file.jpg
$ jhead -dt file.jpg
[*] Cleaning file.jpg
[+] file.jpg cleaned!
$ extract file.jpg
Keywords for file file.jpg:
 
(extract:XXXXX): GStreamer-CRITICAL **:
gst_object_unref: assertion 'object != NULL' failed
mimetype - image/jpeg
thumbnail - (binary, XXX bytes)
mimetype - image/jpeg
image dimensions - XXXXxYYYY
image dimensions - XXXXxYYYY
thumbnail - (binary, ZZZZZ bytes)
Кстати, на тему mat целая статья[link21] есть, где IPTC и XMP упомянуты явно, но может быть так, что про какой-то тип данных (тот же ICC) авторы решат, что он нужен, поскольку влияет на изображение, и не будут его удалять.

— SATtva (24/08/2015 13:41)   
Программу научили автоматически определять авторство фотографий[link22]

Препринт работы выложен[link23] на arXiv.org.
<...>
Авторы собрали 119806 снимков разных жанров, сделанных 25 известными фотографами на протяжении всего XX века. Для обучения программы ученые экспериментировали с различными наборами признаков, чтобы определить, какие из них дают наилучшие результаты для распознавания. В работе использовались как низкоуровневые признаки, выбранные вручную (например, цветовая гистограмма) так и глубокие признаки, полученные автоматическими классификаторами.
<...>
Авторы не приводят в препринте количественных данных по точности работы алгоритма, однако отмечают, что в целом программа справилась «удовлетворительно». Оказалось, что наибольший вклад при распознавании вносили «мелкие» признаки, определенные автоматически. Для удобства анализа авторы сгруппировали их так, чтобы они обозначали какими-либо характеристики, понятные человеку, например, объект съемки. Таким образом удалось показать, что алгоритм в основном опирался на содержание фотографии («здания», «люди», «пейзаж»), а такие признаки, как гамма, вносили меньший вклад.
— Гость_ (25/08/2015 23:35)   
Там наверно отличие ловят на уровне "импрессионизм, абстракционизм или жизненное фото". Работает ли их алгоритм на множестве фотографий одного класса – не понял.

Ссылки
[link1] http://arxiv.org/abs/1106.2696

[link2] http://www.smirnov.sp.ru/watermark/results/index.html

[link3] http://www.smirnov.sp.ru/watermark/bmp_jpeg.html

[link4] http://www.smirnov.sp.ru/watermark/finger.html

[link5] http://www.smirnov.sp.ru/watermark/rus.html

[link6] http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5895079

[link7] https://www.tulips.tsukuba.ac.jp/dspace/bitstream/2241/113559/1/IEEETIT_57-7.pdf

[link8] https://www.pgpru.com/comment47671

[link9] http://www.smirnov.sp.ru/graphic_text/graphic_text.html

[link10] http://entropymine.com/jason/tweakpng/

[link11] http://appdb.winehq.org/objectManager.php?sClass=application&iId=1378

[link12] https://github.com/gbenison/png-text-embed

[link13] http://stackoverflow.com/questions/9036152/insert-a-text-chunk-into-a-png-image/9142187#9142187

[link14] http://www.sno.phy.queensu.ca/~phil/exiftool/filename.html

[link15] https://www.blackhat.com/us-14/briefings.html#fingerprinting-web-application-platforms-by-variations-in-png-implementations

[link16] http://xmodulo.com/remove-file-metadata-linux.html

[link17] https://superuser.com/questions/441361/strip-metadata-from-all-formats-with-ffmpeg

[link18] https://www.pgpru.com/comment51097

[link19] http://fotoforensics.com/tutorial-meta.php

[link20] https://packages.debian.org/jessie/extract

[link21] http://arxiv.org/abs/1212.3648

[link22] https://nplus1.ru/news/2015/08/24/author-recognition

[link23] http://arxiv.org/abs/1508.05038