Идентификация цифрового фотоаппарата


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

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

Как думаете, эта идея может быть воплощена? Или может, она уже реализована? ;)

Комментарии
— Вий (28/05/2009 18:16)   
Думаю, что такая реализация вполне возможна. Кстати примерно это уже было, насколько я знаю, реализовано в производстве цветных принтеров, каких конкретно сейчас уточнить не смогу.
Гость (28/05/2009 18:19)   
И как лучше всего с этим бороться? Последующей обработкой фотографий методом размазывания (снижения резкости), повышения/понижением яркости, сдвига цветовой гаммы или как?
Гость (28/05/2009 18:23)   
Или, может уже готовая прога, некий "фото-анонимайзер" есть?
— Вий (28/05/2009 18:24)   
Пользоваться старым пленочным фотоаппаратом :) :) :)
— SATtva (28/05/2009 19:38)   
Вы об EXIF-расширениях слышали? В половине случаев можно узнать историю файла просто посмотрев в эти поля.
Гость (28/05/2009 20:04)   
Какой ужас.... И это расширения в линуксовых системах тоже есть?
И если от них "чистилки"?

И также по прежнему таки интересен ответ и по начальному вопросу.
Гость (28/05/2009 20:32)   
Как думаете, эта идея может быть воплощена? Или может, она уже реализована? ;)

Насколько я слышал, в хороших фотоаппаратах уже вроде бы есть. Но не более чем на уровне слухов. Реализовать такое в любой момент не проблема. Дорогая аппаратура, типа принетров очень высокого разрешения принудительно помечается таким образом, чтобы не печатали деньги. Было и исследование и целый сайт, который рассказывал какие компании, производящие принтеры, каким образом помечают печатную бумагу. В принципе, аналогичное можно сказать и про битые пиксели в цифровых видеокамерах. Насчёт как избавиться – это надо специалистов спрашивать, кто разбирается в том, возможно ли и насколько эффектвно, зашумление подобных штук. Есть ещё такая идея: под каждый конкретный фотоаппарат, думаю, сняв "образцы" и тщательно сравнив их, можно вычислить где находятся битые пискели и чем отличается фото ото идеального. Далее просто можно применять "обратный алгоритм" и всё.
— gonzo (28/05/2009 23:16)   
А какова модель угрозы? Фотоаппарат анонимно же приобретается.
— unknown (29/05/2009 09:40, исправлен 29/05/2009 10:37)   
Во-первых, безо всяких битых пикселей, матрица фотоаппарата имеет определённый индивидуальный профиль (наподобие оттиска в старых печатных машинках, хотя это очень далёкое и неграмотное сравнение).

Главное, что речь идёт не об отдельных дефектных пикселах, от которых было бы легко избавиться.

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

При обработках фотографии (размытие, зашумление, уменьшение) этот высчитанный профиль матрицы фотокамеры конечно деградирует, но плавно, а не скачкообразно и относительно стоек. Зависит правда от множества факторов (тип снимаемого объекта, освещение в момент съёмки, режим съёмки и т.д.).

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

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

В третьих, да, есть поля EXIF, но они никак не зашифрованы и от них избавиться проще всего. Как простым патченьем фотофайлов, так и пересохранением фото через фоторедактор – через копирование открытого изображения в буфер обмена и создание нового файла (в GIMP, Photoshop – в EXIF пропишется версия редактора, а не фотоаппарата).

А какова модель угрозы? Фотоаппарат анонимно же приобретается.

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

А личные и безобидные фото в стиле "я – Вася Пупкин на отдыхе в обнимку с Эйфелевой башней" для хранения на память, размещения в инете и показа друзьям, конечно делаются только с другого фотоаппарата, который лежит возле компа в тумбочке.
Гость (29/05/2009 18:30)   
Очень хорошее разъяснение, спасибо, возьмем на заметку :)

А они, знаки эти, очень стойкие и выдерживают серьёзные издевательства над изображением
И что, обычные манипуляфции в редакторе (резкость, размытие, яркость, ресайзинг) особо не помогают? Особенно мне кажется эффективным ресайзинг – снял при 4096x2048, а пересохранил при 2048x1024

И все-таки хочется специализированную утилиту, которая бы делала все автоматически, и хорошо бы, если сама находила эти "знаки" и разрушала их. А если нет, то как бороться с этим всем самостоятельно?

Если для нашей анонимности уже есть яд, то по идее должно быть и противоядие?
— SATtva (29/05/2009 19:47)   
И все-таки хочется специализированную утилиту, которая бы делала все автоматически, и хорошо бы, если сама находила эти "знаки" и разрушала их.

Во-первых, никто не утверждал, что они действительно есть. Во-вторых, для эффективного стирания водяных знаков необходимо знать технологию их наложения (можно, конечно, применить полдюжины фильтров в графическом редакторе в надежде, что они неинвертируемы, и получить полностью убитую картинку, но тогда какой был смысл фотографировать изначально?).
Гость (29/05/2009 19:52)   
Т.е., выходит, мы под колпаком у Мюллера и спасения нет?
— SATtva (29/05/2009 19:57)   
А на этот вопрос у нас в FAQ ответ давно имеется[link1]. ;-)
Гость (29/05/2009 23:09)   
Ммм... а при чем тут криптозащита? Ведь в данном случае мы ничего не защищаем от НСД, наоборот, выкладываем для всеобщего обозрения. Речь идет лишь об обеспечении анонимности. Или я не понял намека.
— unknown (29/05/2009 23:33)   
Технологии цифровых водяных знаков (ЦВЗ) разрабатываются (более чем с десяток лет, правда без особых успехов внедрения) в соответствии с принципами "robust watermarking".

Предназначены для выслеживания нарушителей копирайта или похитителей секретных материалов.

Маловероятно, что кто-то тайно будет это внедрять в обычные фотики. Дорого и неотлажено. Пока.

Тем не менее теоретические принципы никак не запрещают создания ЦВЗ по следующим критериям:

1) В изображение внедряется ЦВЗ по известному противнику алгоритму, тем не менее это не даёт ему определить – содержит изображение ЦВЗ или нет, если только он не имел в чистом исходного или специально подготовленного изображения (снимал чёрный квадрат Малевича в темноте без фотовспышки).
2) Определить наличие ЦВЗ в обычной фотографии (не квадрате Малевича) может только сторона имеющая секретный ключ.
3) Возможно доказательство наличия ЦВЗ третьей стороне без раскрытия секретного ключа.
4) ЦВЗ выдерживает все типы искажений изображения или максимально возможное их количество, кроме тех, которые делают его практически непригодным к использованию. (Создавались модели ЦВЗ, стойкие к обрезанию значительной части изображения, уменьшения размера, разным фильтрам и т.д.).

Математика и алгоритмы там довольно сложные – преобразования Фурье, вейвлеты, фракталы, внедрение не только в абстрактно битовые, а в спектральные и прочие составляющие, сочетание кодирования с шифрованием и т.д.
Гость (30/05/2009 00:09)   
ЦВЗ выдерживает все типы искажений изображения или максимально возможное их количество, кроме тех, которые делают его практически непригодным к использованию. (Создавались модели ЦВЗ, стойкие к обрезанию значительной части изображения, уменьшения размера, разным фильтрам и т.д.).

Это просто пипец... Не думал, что все настолько так плохо :(
Гость (30/05/2009 04:19)   
Т.е., выходит, мы под колпаком у Мюллера и спасения нет?

Всё равно под колпаком будете: либо у Миллер[link2]'а, либо у Мюллера :-D, так что Вам выбирать :) [шутка]

Это просто пипец... Не думал, что все настолько так плохо :(

А этот сайт затем и есть, чтоб было "предупреждён – значит вооружён" // Спасибо SATtva'е.

По поводу "плохо": концептуально – да, а на практике возиться с встраиванием подобного в фотоаппарат или с криминалистикой изображений будут лишь если им "очень надо". Действительно, есть очень много продвинутых криминалистических процедур, но важно, что многие из них слишком дорогостоящие, а потому производиться просто так для обычного дела не будут (по кр. мере в РФ).
— unknown (30/05/2009 22:52)   
[offtopic]

Кстати, любой клочёк бумаги тоже неанонимен, а имеет расположение волокон, уникальное как отпечатки пальцев.
Хоть вы его в кипятке варите.

Раньше для сканирования этих волокон нужны были дорогие электронные микроскопы (это кстати может использоваться для виртуальной сборки сканов разрезанных шредером документов, какими бы мелкими не были куски).

Теперь приспособили обычные бытовые сканеры с программной обработкой светотени.

Извлекается нечто вроде профиля бумаги в виде короткого хэша, по которому можно определить уникальность бумажного листа:

http://www.freedom-to-tinker.c.....g-commodity-scanners[link3]

http://citp.princeton.edu/pub/paper09oak.pdf

эти ссылки пробегали недавно у Шнайера.

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

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

[/offtopic]
Гость (01/06/2009 22:01)   
– иначе прощай тайна голосования.
Кстати, подумал: а может ли ваше славное криптосообщество придумать такую систему голосования, которую власть имущие в принципе не смогли бы фальсифицировать, заставить работать на себя?

А то получается: мешки бюллетеней с мокрыми печатями в "Центр", там толпа идиотов их тщательно правильно подсчитывает, затем вводят в Большой Компьютер, который тоже все очень правильно суммирует, потом идет распечатка – и в руки организаторов попадает итоговый листок, на котором все на ходу "правильно подправлено".

Неужели этому нельзя положить конец?
Гость (01/06/2009 22:54)   
Вопрос уже не однократно обсуждался на сайте (в.у.н.о.н.с.): смотрите[link4].

Чтобы каждый раз не писать длинно, в дальнейшем прийдётся делать ответы в виде:
ВУНОНС![link4].

И вообще, "электронное голосование site:pgpru.com" -> google.
Гость (21/08/2013 19:16)   
Особенно мне кажется эффективным ресайзинг – снял при 4096x2048, а пересохранил при 2048x1024


Лучче имхо, брать скриншот с экрана, когда фотография открыта на фулл-скрин.

Сравните эти две картинки:

http://monitor.net.ru/forum/files/img_0002_205.jpg

nokia 3110, стоит 20$, себестоимость вероятно 10$.

http://paulov.ru/files/2013/01/135.jpg

И цифровой фотоаппарат.

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

Око видит тебя
Гость (21/08/2013 20:09)   

Да поймите же, информация может быть закодирована не в отдельных пикселях, а во всём изображении, по типу голограммы, и различимость её будет аналогична различимости самой преобразованной картинки. И чем её меньше, тем труднее от неё избавиться.
Гость (22/08/2013 08:24)   
Интересный топик[link5] на тему.
Гость (23/08/2013 14:07)   
Накладываем эфект на фотку, появляется



где, lat, long – координаты, со вшитого gps, который сейчас даже в бирки от трусов встраивают.
hw№ – номер железки с завода, imei[link6], mac-address[link7]
count – номер фотки сделанной фотоаппаратом, с момента его создания.
date – дата( вот тут, косяк, таймер от батарейки, таймер можно переводить, зашить таймер не получится, нужен аккумулятор )

Таким образом, никакие модификации фотографии не спасут её от такого фильтра, такая же картина со сканерами, принтерами, etc.
Гость (23/08/2013 14:22)   
Накладываем эффект на фотку
Какой эффект?
Гость (23/08/2013 14:24)   
Я в своём фотоаппарате ничего про GPS не нашёл, exiftool тоже ничего про GPS не показывает, а вот с камерами на телефонах — да, надо быть острожным, там GPS повсюду чтобы помочь вам запомнить, где что было снято.
Гость (24/08/2013 18:46)   
Вот про принтеры: http://www.eff.org/Privacy/printers/
Гость (25/08/2013 01:44)   

Это давно уже минимум 9 лет, как известная здесь вещь [1][link8], [2][link9].
Гость (14/03/2015 20:40)   

Кое-что самое важное стоит зацитировать, чтоб не потерялось:

К общим признакам устройства документирования, отражающимся в снимке относятся размеры кадра и данные EXIF. Если снимок имеет формат JPEG – коэффициенты матрицы ДКП можно отнести к групповым признакам, они являются индивидуальными для модели или серии моделей устройства. Исследовать матрицы ДКП можно с помощью утилиты JPEGSnoop. Менее зависит от формата частотно-контрастная характеристика, которая является своеобразной АЧХ оптической системы и фоточувствительного сенсора. Единственная проблема – ЧКХ не постоянна на разных участках кадра, и в общем ее корректное сравнение лучше всего проводить по снимкам радиальной миры, что, понятное дело, на практике не вполне осуществимо. К индивидуальным признакам камеры можно отнести паттерн неоднородности фоточувствительности сенсора (photo-response non-uniformity (PRNU)). Для исследования пригодится утилита PRNUcompare. Так же индивидуальным признаком является наличие и расположение загрязнений. Данный признак регулярно проявляется на зеркалках, у которых на сенсор попадает пыль, пока меняют объектив. Но мне попадались и случаи поверхностного загрязнения оптики на мыльницах и видеокамерах. Без использования ПО поиск следов загрязнения на фотоснимке... несколько затруднён.

В принципе, если фотоснимок имеет формат JPEG и является оригиналом, связки PRNUCompare и JPEGSnoop должно хватить за глаза.

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

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

А проявляется он сильнее на больших выдержках. Которых производители камер стараются избегать. На обычных выдержках битые пиксели имеют яркость, сопоставимую с окружением. И в довесок – мы ведь обычно не с raw работаем, а с jpeg. Размытие при сжатии никто не отменял. Я не про то, что не возможно, сам делал по битым пикселям. Но это как идентификация принтера по дефектам барабана. Теоретически – работает. Практически – идентификации подлежит в лучшем случае 1 из 10.

Про видео не скажу, а вот определять, каким фотоаппаратом снята картинка, мы умеем в нашем Forgery Detection Plugin (http://forensic.belkasoft.com/en/forgery-detection). Делается это по совокупности признаков, главный из которых вовсе не легкоподделываемый EXIF, а таблица квантизации и некоторые статистические характеристики, присущие лишь определённой модели телефона.

Если интересно, можно запросить тестовую версию на месяц, руководствуясь инструкцией на http://belkasoft.com/trial.

http://www.imageforensic.org/

Не сочтите за рекламу, это просто чтобы знать, чем форензики пользуются для анализа фотографий. JPEGsnoop есть только под винду. :-(
Гость (15/03/2015 11:10)   

Ещё и дату съемки[link10].
Гость (15/03/2015 15:39)   

Музыкальный момент — сайт Кремля портит дату всем фотографиям, не только этих двум из опытов. То есть кто-то специально писал пару строк кода, чтобы портить дату. Возможно это требование ФСО? Чтобы не давать в эфир посекундный лог жизни Путина. Она же дико одинаковая у него все 15 лет. С посекундным логом на большом временном отрезке у злоумышленников появляется вполне себе предсказательная система.

А я SATtva'е когда-то предлагал не писать время комментариев на сайте, но он счёл это бессмысленным.

Вообще, этот топик (как и другой[link11]) о том, что «стирания EXIF'а достаточно» — популярное заблуждение.
Гость (15/03/2015 16:24)   
Куда в таком случае пишется дата, если там не было EXIF?
Гость (15/03/2015 16:47)   

То есть кто-то специально писал пару строк кода, чтобы портить дату.

Они, похоже, редактировали EXIF, а не удаляли его.
Гость (15/03/2015 16:51)   

Ссылки на фото есть, можно проверить наличие EXIF.
— SATtva (15/03/2015 17:08)   

В БД метки времени всё равно ж фиксируются. В новом движке, в принципе, можно снизить точность сохраняемых меток времени (например, округлять их до часов), поскольку последовательность операций, где она важна, определяется по суррогатным индексам — метки времени там играют больше эстетическую роль. Но всё равно следует определиться с моделью угрозы. Например, если мы включаем в неё lawful interception и прочее логирование на стороне хостинг-провайдера, то такая мера ничего не даст.
Гость (15/03/2015 20:22)   
Понятно, что взяв за максиму «противник подмял под себя хостера и может делать всё, что угодно», получаем бессмысленность, но помимо такого противника есть множество иных и помельче, и вот им как раз очень удобно следить за активностью полутора анонимов на форуме по публично доступным меткам времени.
Гость (03/04/2015 10:31)   
Интересно, могут ли производители фотоаппаратов использовать стеганографию, изменяя коэфициенты JPEG-матрицы по секретному ключу, встраивая в изображение таким способом серийник и т.п. Если да, то поможет ли избавиться от таких меток пережатие изображение в редакторе?
— unknown (03/04/2015 11:36)   
Теоретически возможно, но слишком замороченно и ресусозатратно это всё делать серийно и на практике. Алгоритм должен быть слишком качественным, чтобы купив два фотоаппарата одинаковой марки из одной серии и сняв ими какой-то эталон в лабраторных условиях, не выявить явных различий, указывающих на наличие умышленного изменения коэффициентов. Хотя там столько проприетарного кода, что даже в raw-формат можно встраивать небольшую размазанную уникальную метку, не палясь и не портя качество изображения.
Гость (04/04/2015 20:22)   

В общем случае — нет[link12].

Ссылки
[link1] http://www.pgpru.com/faq/kriptografija#h44-8

[link2] https://www.pgpru.com/proekt/poljzovateli?profile=SATtva

[link3] http://www.freedom-to-tinker.com/blog/felten/fingerprinting-blank-paper-using-commodity-scanners

[link4] http://www.pgpru.com/forum/politikapravorealjnyjjmir/golosovatjpointernetuneslozhnejjchempoljzovatjsjamikrovolnovkojj

[link5] http://computer-forensics-lab.org/forum/viewtopic.php?f=89&t=1048

[link6] https://ru.wikipedia.org/wiki/IMEI

[link7] https://ru.wikipedia.org/wiki/MAC-адрес

[link8] http://www.pgpru.com/novosti/2004/1124budjostorozhentvojjprintersleditzatobojj

[link9] http://www.pgpru.com/forum/politikapravorealjnyjjmir/anonimnostjpriispoljzovaniiprinterov

[link10] https://roem.ru/13-03-2015/187989/putin-antiphotoshop/

[link11] http://www.pgpru.com/forum/anonimnostjvinternet/anonimnostjcifrovyhizobrazhenijj

[link12] http://www.pgpru.com/comment47672