«Защита» mp3 файлов на amazon.com

Всем привет.
Не так давно дали на работе задачку по изучению факта наличия какой-либо скрытой информации в требуемых mp3-файлах. Т.к. точно не было известно, есть ли что-то в них или нет, задача представлялась почти неразрешимой. В свое время писал диплом на тему скрытия информации в аудиофайлах (аудиостеганография) и представлял, что если захотеть что-то спрятать, то обнаружить это будет почти невозможно. Первым делом начал поиски с чтения полей ID3 тэгов, вспомнил, что есть, в частности, тэг Lyrics (служащий для сохранения текста песни), содержимое которого в том же winamp-е не отображается.

На поверку данное поле оказалось пустым.
После некоторого времени общения с гуглом наткнулся вначале на статью про Amazon MP3 (http://en.wikipedia.org/wiki/Amazon_MP3), а затем уже и на песни на amazon.com, которые содержат в себе некий «unique purchase identifier». Изучению этого идентификатора и будет посвящена статья.

Давайте по порядку.
25 сентября 2007 года года amazon.com запускает публичную бэта-версию интернет-магазина музыки, который в начале 2008г. стал первым музыкальным магазином по продаже музыки без цифровой защиты авторских прав (DRM). Из той же статьи в вики узнаем, что изначально амазон не подписывал продаваемые им mp3-файлы цифровым водяным знаком, некоторые файлы были подписаны лейблами, чтобы идентифицировать продавца, но не покупателя.

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

Пару таких мелодий:
http://www.amazon.com/Silent-Night/dp/B0047E6AR2/ref=pd_sim_dmusic_t_5?tag=acleint-20
http://www.amazon.com/gp/product/B005I0DKPO/ref=dm_dp_trk1

Официальная информация на сайте амазона:
http://www.amazon.com/gp/help/customer/display.html/ref=dm_adp_uits?ie=UTF8&nodeId=200422000

Если по-русски: скачанный файл будет содержать уникальный идентификатор покупки, дату/время покупки и др. информацию о которой ниже.

Скачать в лоб данные композиции не получилось (амазон ругается и говорит, что может их продать только на территории США). Пришлось попросить американских знакомых и через некоторое время у меня на руках была одна и та же песня, но скачанная независимо двумя разными людьми с разных аккаунтов в амазоне. По виду файлы были абсолютно одинаковы, размер совпадал до байта.

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

В начале каждого зашифрованного файла есть приватный фрейм, начинающийся с PRIV и далее идет xml.

Вот пример:

image

Отдельно xml:

image

(Часть данных была сознательно изменена)
И что же мы видим:
C2br1vaR — случайные числа Amazon, присвоенные заказу
Amazon.com — название магазина Amazon.com
2011-12-08T03:10:50Z — Дата и время покупки песни
00011805301110 — судя по всему это идентификатор альбома (Universal Product Code)
USAG21130102Международный стандартный номер аудио/видео записи
KRXaw+vu1wr8bB2cCNxJScKWcFKk7fDg — номер транзакции продажи, которые в базе данных Амазона привязаны к номеру кредитки, адресу и пр. данным покупателя
user-name — идентификатор покупателя (начальная часть емейла покупателя)
Далее идут еще несколько параметров. Скорее всего это цифровая подпись, по которой можно будет определить модифицировался файл или нет.

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

По собственным наблюдениям данная секция PRIV вместе с xml занимает порядка 8кб mp3-файла (точнее непосредственно нужная информация занимает менее 1кб, остальное дополняется нулями)
image

image

image

В данном случае скрытия информации имеет место неразрушающая аудиоданные стеганография, т.е. внедряемые данные никак не влияют на сами аудиоданные, а прячутся в служебных полях, которые в наиболее распространенных ID3-Tag сканерах не отображаются.
В одном забугорном блоге некий умелец уже выложил программу, которая удаляет «амазоновского рода информацию» — http://invertedsky.net/desiccate/.
Может работать пакетно, может вначале проанализировать файлы и указать пользователю есть ли данные поля в файле или нет.

Погуглив, наткнулся на еще один импортный блог, владелец которого сделал ID3-Tag viewer, способный читать все фреймы в mp3 файле согласно стандартам — http://glassocean.net/perrys-id3-tag-viewer/.
Таким образом самая обычная на первый взгляд (и слух) mp3-шка может содержать в себе очень много полезной и даже конфиденциальной информации.

Слушайте хорошую музыку и будьте внимательнее при выкладывании музыки в общий доступ!
Share post

Comments 74

    +20
    Начальство собирается делать музыкальный сайт? :-)
      –25
      >Слушайте хорошую музыку и будьте внимательнее при выкладывании музыки в общий доступ!

      я бы заменил на
      >Слушайте хорошую музыку и не воруйте!
        +35
          –21
          Если это не воровство, то зачем удалять эту информацию? Ах да, вас-же забанят если подобная запись окажется где-то на просторах интернета. Покупать музыку с такими «плюшками» или свободно распространяемую — ваш выбор. Но не нужно лгать себе.
            +7
            Не покажете где и на каком этапе покупки музыкального трека вы обязуетесь хранить его как зеницу ока? Файл может оказаться на просторах интернета по десятку разных причин, от краж и вирусов до случайно скопировавших трек друзей. Никто в здравом уме не станет ни банить, ни преследовать кого-либо за компрометацию покупки. Это незаконно.
              0
              На самом деле не в курсе какие будут санкции у нас или за бугром, если купленный легальный контент окажется в свободном доступе без ведома правообладателей — будь то вирус или действительно кража/потеря носителя. Но факт остается фактом — вы купили мелодию, в ней записано, что это именно вы ее купили и она вдруг стала в свободном доступе… Что тогда?
                +3
                Да ничего тогда. В доступе и в доступе. Наказуем факт распространения, например, когда вас поймали как раздающего торрент. При этом совершенно неважно купленный контент раздается или нет. А факт появления где-то вашей копии совершенно ни о чем не говорит. Вы нигде не обязывались организовывать сейфы швейцарского банка и охранять чужие права от посягательств.
              –6
              Ну ок, тогда желаю всем, кто пишет и продает программы / сайты и т.п., чтобы у вас покупали ровно по 1 экземпляру. Ведь, как мне сказали, «копирование не воровство».
                +3
                Надеюсь что ты тоже будешь лишь в одном экземпляре, хотя… oh shi!
                  0
                  Как не странно, я пишу только под открытыми лицензиями.
                    0
                    Красавец, в гены встраиваешь?
              0
              Не для всех случаев согласен с Вами. Например, есть коммерческая тайна например, и копирование информации с ней — воровство самое натуральное.
              +3
              >>>Слушайте хорошую музыку и не воруйте!

              По смыслу этого поста: «Слушайте хорошую музыку и не делитесь ни с кем!»
                +1
                Пусть приходят в гости и слушают.
                0
                >>Слушайте хорошую музыку и будьте внимательнее при выкладывании музыки в общий доступ!

                >я бы заменил на
                >>Слушайте хорошую музыку и не воруйте!

                Слушайте хорошую музыку, не воруйте и будьте внимательны при выкладывании музыки в общий доступ.
                +2
                ну почти)
                  +6
                  XML в данном случае мне кажется совсем уж избыточным или даже вредным. Зачем рассказывать что где лежит, какое поле за что отвечает?
                    0
                    интересно изучить, иначе бы и не было данного поста
                      +1
                      Да я не про изучение. Я про амазон. Зачем было вставлять xml, который суть открытый, понятный и структурированный и несколько избыточный, если можно было все сложить в своем формате и не палить лишний раз?
                      С точки зрения изучения все здорово, да. Изучать xml проще всего :)
                        +1
                        Потому-что наплевать. Как обычно.
                          +7
                          Если сделать так, что трудно найти, то рано или поздно нашли бы и тогда критики амазону было бы больше, чем вот так, у всех на виду, а степень защиты от тех, кто расширит файл примерно одинаковая, т.к. хватит и одного человека, который нашел метку и способ удаления, чтобы все этим воспользовались, ну на крайняк всегда можно сконвертить в другой формат и метка пропадет, была она или не было :)
                          +10
                          Потому что задача Амазона в данном случае не перехитрить пиратов любой ценой и уу-уу! всем сделать козью морду всех поймать и засудить.

                          Я живу в стране, где автосигнализации и противоугонки это скорее исключение из правил и ставятся только на особые, очень дорогие или специальные машины, где можно бросить на стоянке мотоцикл, надев ему на руль дорогой шлем, и пойти в магазин.
                          Не то что «не воруют»… Просто есть страны, где люди не считают, что дом обязательно должен быть огорожен колючкой под током и парой ротвейлеров.

                          То что вы считаете «защитой от взлома» может быть простым механизмом учета.
                            0
                            И причем тут взлом/учет? Зачем таскать избыточную информацию? Зачем тут нужен XML?
                            Учет не оправдывает избыточности. А если бы это был только механизм учета — они бы не прятали это в тело и не лепили бы цифровую подпись.

                            Да, дорогой шлем могут не переть из-за камер на супермаркете в том числе.
                              +1
                              две сотни лишних байт на пять-десять мегабайт файла не так уж и много. И что значит прятать? Хотели спрятать — спрятали бы прямо в потоке.
                                +1
                                А что если они и xml добавили для любопытных, и в потоке спрятали?
                                  +1
                                  Согласно автору, разница в файлах была только в этом месте.
                                0
                                > Зачем таскать избыточную информацию?

                                8KB это, конечно, критичная избыточность в многомегабайтном mp3 ;)

                                > Да, дорогой шлем могут не переть из-за камер на супермаркете в том числе.

                                Да, у вас на все есть ответ и объяснение, я смотрю ;)
                                  0
                                  Я не говорил про критичную, я говорил про избыточность. Просто так вот я воспитан, наверное, что замечаю такие вещи.

                                  >>Да, у вас на все есть ответ и объяснение, я смотрю ;)

                                  Люблю альтернативные варианты :)
                                0
                                Минные поля забыли (:
                          +9
                          Ну, тут ничего интересного нет — просто показано как штатными средствами в mp3 вбить свою информацию. Куда интереснее было бы почитать про водяные знаки в применении к звуку, т.е., когда данные вшиваются в сам звуковой поток.
                            0
                            скрытые аудио-наркотики в новом альбоме Леди Гаги?
                              0
                              Тут был пост про то, как один магазин фотографий вшивал уникальные id в свои фотки. Так вот, было много вони что автор этим самым портит фото и «дурит клиентов».
                              +6
                              >В данном случае скрытия информации имеет место неразрушающая аудиоданные стеганография
                              Данные фактически открытые, в удобоваримом виде (xml), да ещё и явно предупреждают перед покупкой, что файл содержит скрытые маркеры — какая уж тут стеганография? :) Конечно, можно предположить, что некая уникальная информация «разбросана» по всему файлу (и так же не влияет на звучание, всё как в вашем дипломе) так, чтобы можно было бы найти покупателя и после удаления им этой xml. XML даже может быть «отвлекающим маневром», работающий как раз на стеганографию ;) Человек думает, что нашел идентификатор и удалил её, а на самом деле идентификатор остался в целости и невредимости.
                                0
                                но фактически же имеет место скрытие информации и неподготовленный слушатель сразу ничего и не поймет и возможно никогда и не узнает об этом)
                                другое дело что да — такое встраивание очень уязвимое
                                  +1
                                  Тут явно указывается, что такая информация есть, стеганография же ставит перед собой скрыть факт наличия скрытой информации. Возможно я придираюсь к слову, хотя и не исключаю наличия стенографии у Амазона: пустить по ложному следу, но при этом оставить возможность найти покупателя без этой xml'ки ;)
                                    0
                                    вполне может быть, но почему-то мне кажется что встраивание «невыдираемой» информации непосредственно в аудиоданные еще в онлайн-магазинах не реализовано )
                                      0
                                      А вы примените вышеупомянутые программы, стирающие атрибуты, к обеим версиям MP3 файла, и после этого сделайте им diff. А то кто его знает… =)
                                        0
                                        не-не, повторюсь, в данном случае действительно разница лишь в начале файла во фрейме PRIV (сравнивал файлы побитово Araxis Merge-ом)
                                  +4
                                  Вашу гипотезу легко проверить. Если все аудио-фреймы на одинаковых песнях совпадают, то аудиостеганографии нету. А если есть, то мне кажется, алгоритм быстро раскурят, собрав несколько экземпляров песни и примерно зная параметры, которые по идее должны быть встроены.

                                  Да и вообще, я думаю, обработкой любым сжатием с потерями, можно избавиться от стеганографии внутри. Или нет?
                                    0
                                    Как минимум «подпортить» скрытие таким образом получится (кодирование наименее значащих бит как раз наиболее слабо к посторонним воздействиям), насчет полного избавления не уверен, т.к. существуют алгоритмы, использующие изменение амплитуды, изменение фазы, изменения времени задержки эхо-сигнала.
                                    К сожалению столкнуться с их реализацией на практике не приходилось.
                                      +4
                                      Хорошо спроектированную стеганографию — нет. На то собственно и придуманы помехоустойчивые коды. Конечно у любого кода есть «порог восстановимости», но если для удаления зашиты придется превратить файл в 56kbit mono, то можно считать, что защита со своей задачей справилась :)
                                        0
                                        Согласен с вами. Кстати, у меня тоже был диплом на тему стеганографии, но только в изображениях, да ещё и сжатых фрактальным методом. Но по сути, если реально что-то нужно спрятать, но нужно применять комбинацию разных методов. Вообще со стеганографией очень интересно поиграться, но вот применение в реальных задачах…
                                          0
                                          обработкой любым сжатием с потерями

                                          Если файл в mp3, то сильно потеряете в качестве. Вот lossless -> lossy — в самый раз, подчистит стенографию (если она не помехоустойчива) и качество, в принципе, сохранится.
                                        0
                                        eyeD3 --remove-all? Или не удалит?
                                          +3
                                          Все остальные части файла абсолютно идентичны?

                                          Переформулирую вопрос: есть ли шанс, что водяные знаки также используются?
                                            +1
                                            Да, идентичны абсолютно, разница только в содержимом фрема PRIV.
                                            Т.о. mp3-шка изначально может быть с водяным знаком + при скачке вставляется xml.
                                              0
                                              Но этот водяной знак может идентифицировать только продавца. Ну, в крайнем случае, приблизительное время продажи.

                                              Спасибо.
                                            0
                                            Залейте какой-нибудь амазоновский mp3 на файлхостинг, интересно узнать, увидит ли мой таггер скрытые поля.
                                              +1
                                                0
                                                Слушайте хорошую музыку и будьте внимательнее при выкладывании музыки в общий доступ!
                                                  +1
                                                  там все уже поменяно )
                                                +4
                                                А я-то думаю, какого черта Adobe Audition ругается при открытии многих забугорных mp3 на ошибку чтения meta, в частности на какой-то там xml… Он, видимо, считывает вообще все доступные данные, натыкатся на левый треш и с горечью сообщает об этом.
                                                Как наткнусь в следующий раз на такой файл — отпишусь :)
                                                0
                                                Интересно, а возможно ли «размазывание» данных по самому потоку данных mp3?
                                                Я имею ввиду у нас есть поток данных, который алгоритм преобразовывает в «музыку» если вносить определенные искажения в данные которые на слух неуловимы, но достаточны длят ого чтобы интерпретировать эти данные как подпись.
                                                  0
                                                  Возможно)
                                                  Такое точно описано в данное книге
                                                  Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография. Теория и практика
                                                  0
                                                  а как дела обстоят с lossless?
                                                  В частности с alac и потрековым flac. И можно ли запилить в песню экстра инфо, которое при рипе с болванки тоже скопируется (не тэги)?
                                                    0
                                                    Конечно можно. Рассовать по младшим битам отсчётов. Это проще, чем с пожатым — там надо разбираться с форматом, а с непожатым просто чуть скорректировать сами отсчёты.
                                                    +1
                                                    Ох, и все? Я думал, будет что-то поинтереснее, чем записывание id3-фреймов. Стоит сказать, что перед тем, как сделать релиз, пираты все чистят пакерами, так что вряд ли от такой инфы что-то останется.
                                                    Вот я бы послушал про то, как маркируют промо-треки.
                                                      0
                                                      некоторые «особо сознательные» группы, выпуская промотреки просто вставляют в нескольких местах войсовер «это трек с нашего нового альбома, купите его когда он выйдет»
                                                        0
                                                        Я имею ввиду те промо-треки, которые «крутят» (а они без войсовера) диджеи и обменивают между собой.
                                                          0
                                                          да я думаю они вообще без защит и подписей идут. смысла с ними в суд ходить мало, зато если снешься потом популярность может принять отрицательное значение.
                                                            0
                                                            Тут суть не в судах, а в том, чтобы просто не давать промо-треки определенным людям, раз они сливают их.
                                                            Ну, что-то, конечно, идет без защиты. Но некоторые лейблы/исполнители за этим следят и маркируют треки, да так, что снять маркировку можно только транскодом, из-за которого теряется качество.
                                                              0
                                                              гм… а кто на таком запалился уже из музыкантов и их лейблов?
                                                                0
                                                                Спалился на чем? На том, что маркируют или на том, что сливают?
                                                                  0
                                                                  на маркировке, а потом преследовании, если такое было.
                                                                    0
                                                                    Маркируют многие крупные лейблы электронной музыки, в особенности нетлейблы (все это касается в основном промо-треков).
                                                                    Насчет преследования — не знаю, из-за меток треки почти никогда не сливаются, за исключением тех случаев, когда делают транскод, который убивает качество, но убирает маркировку. Так что чтобы «подержать в руках» такой файл в оригинале, нужно быть очень близко к лейблам.
                                                      0
                                                      А каким образом это используется? Это как-то проверяется в МП3-плеерах? Вряд ли.
                                                      То есть у амазона есть штат сотрудников, которые отслеживаются файлы по интернету и проверяют откуда они?
                                                        0
                                                        В мп3-плеерах это никак не используется и никакого штата сотрудников не хватит, чтобы отследить файлы по интернету. Другое дело что в случае прецедента можно будет из данной мп3-шки вытащить информацию о происхождении этой мп3-шки, ее законного владельца и т.п.
                                                        +3
                                                        Стеганография — слишком громкое название для «сокрытия» данных, которые можно вытащить любым текстовым редактором. Хорошо хоть слово «защита» поставили в кавычки.
                                                          0
                                                          Совсем недавно посещала идея защиты текстов, которую едва ли так просто убрать — переставляются слова местами определенные (которые переставляемы), или заменяются на синонимы. Каждая перестановка — 1 бит. Каждый синоним — несколько бит (в зависимости от числа синонимов в ряду). Когда текст выдается пользователю — его оригинал кодируется вот так. И теперь можно понять, от кого не-публичный текст попал на сторонние ресурсы.
                                                            0
                                                            Если «непубличный» текст был выдан единственному пользователю и уже им опубликован, это можно сделать и без всякой «защиты».
                                                            А если пользователей хотя бы двое — они могут встретиться, сверить тексты, и никакой «защиты» не останется.
                                                            +1
                                                            В данном случае не имеет значение конкретный формат «защиты», читаемость отличительных фрагментов, их скопление или разбросанность по всему тексту, и даже гласность или негласность самого факта наличия «защиты». Все это технические детали.

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

                                                            «Защита» информации с уникальной маркировкой каждого экземпляра данных работает при небольшом количестве пользователей, когда все сообщество в целом заинтересовано в неразглашении этой информации — например, в спецслужбах. А когда пользователей миллионы, это не работает.

                                                            Вся суть подобной «защиты», которую продвигают копирасты, демонстрирует видимость работы только при условии тотальной цифровой безграмотности пользователей-ламеров, при наличии же хотя бы нескольких понимающих сущность цифровой информации она заведомо бессмысленна и напоминает попытки католической церкви в 16 веке помешать распространению печатных книг и грамотности читателей в целях сохранения своей власти. Поэтому копиразм должен быть разрушен.
                                                              +1
                                                              Смерть копирастам!!!

                                                            Only users with full accounts can post comments. Log in, please.