Неотъемлемой частью любой программной платформы является ПО для неё. Для таких широко распространенных пользователе-ориентированных платформ, как Android, iOS, на первое место выходит удобство получения, установки и обновления прикладного ПО.

Дмитрий Гусев, Протекшен Технолоджи Ресеч

Неотъемлемой частью любой программной платформы является ПО для неё. Для таких широко распространенных пользователе-ориентированных платформ, как Android, iOS, на первое место выходит удобство получения, установки и обновления прикладного ПО. С этой целью держатели платформ встраивают в них развитую поддержку системы распространения контента. В случае Android основным таким провайдером контента служит Google Play (ранее назывался Android Marketplace). Google Play (GP) является посредником между производителем контента (авторами программ или аудиовизуальных произведений) и конечными потребителями (пользователями устройств.) Так как значительная часть подобного контента подразумевает его оплату потребителем, провайдер и производители используют ту или иную систему DRM для контроля распространения контента.

В статье рассмотрены пять наиболее популярных в мире решений для защиты мобильного ПО и контента от взлома и нелегального распространения. В силу того, что статья подготовлена специалистом компании Протекшен Технолоджи Ресеч (StarForce), которая выпускает собственное DRM решение для защиты приложений под Андроид, названия рассматриваемых решений изменены на условные. Решение StarForce в статье не рассматривается.

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

Базовые сведения о платформе Android

Android - достаточно открытая платформа. Большинство версий Android позволяют записывать на устройство и запускать программы из произвольных источников. Таким образом, Google Play не является монопольным провайдером контента (в отличии от iOS, где приложение на типичное устройство можно установить только из Apple App Store после прохождения процедуры сертификации.) Это позволяет одновременно сосуществовать нескольким провайдерам контента (и даже независимым разработчикам) с собственными системами DRM.

Приложения под Android представляют собой самодостаточные файлы-контейнеры с расширением.apk.

Android_DRM_1

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

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

Для контроля за использованием контента и предотвращения его несанкционированного использования Android_DRM_1 предлагает Программную Библиотеку, которая позволяет запросить у Android_DRM_1 информацию о факте приобретения приложения с текущего пользовательского аккаунта.

Условно, данная DRM представляет собой обычную функцию, которая возвращает одно из трёх значений:

  • Лицензировано - приложение лицензировано для данного аккаунта и может быть запущено
  • Не Лицензировано - приложение не лицензировано для данного аккаунта и его запуск нежелателен
  • Ошибка - проверка лицензии недоступна (например, нет сетевого соединения)

Ответы сервера подписаны с помощью уникального (для продавца) приватного ключа, публичный содержится в приложении. Чтобы можно было запустить приложение при отсутствии доступа к сети, система допускает кеширование ответов сервера.

Программная Библиотека Android_DRM_1 допускает (хотя и настоятельно не рекомендует) привязку программы к конкретному устройству, но она должна быть реализована разработчиком самостоятельно. В документации предлагается использовать сторонний сервер (разработчика/издателя), который бы вёл базу регистрационный-идентификатор - идентификатор-устройства. Способы получения уникального идентификатора устройства также предлагается разработать самому.

Таким образом, Программная Библиотека Android_DRM_1 - это отдельная высокоуровневая компонента, которую разработчик должен самостоятельно встроить в приложение и реализовать необходимую логику. Программная Библиотека Android_DRM_1 не предоставляет какой-либо непосредственной защиты кода приложения и самой себя. Реализация DRM выполнена на Java, поставляется в виде исходного кода и может быть легко декомпилирована, изучена и модифицирована для преодоления лицензионных ограничений. Производитель Android_DRM_1 рекомендует использовать сторонние средства для защиты кода.

Взломостойкость Android_DRM_1

  • В сети существует как минимум один общедоступный проект по автоматическому поиску кода Программной Библиотеки Android_DRM_1 в.apk файлах и его нейтрализации.

Android_DRM_2

Является собственным решением сетевого магазина, продающего приложения под Android. Основной принцип работы системы идентичен Android_DRM_1 (приложение проверяет факт покупки на удалённом сервере), однако, в отличии от Программной Библиотеки Android_DRM_1 процесс встраивания DRM в приложение автоматизирован. Разработчик/издатель просто закачивает своё готовое приложение на сервер сетевого магазина и в него автоматически встраивается модуль защиты.

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

Взломостойкость Android_DRM_2

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

Android_DRM_3

Android_DRM_3представляет собой упрощённую альтернативу Android_DRM_1 и Android_DRM_2.

В отличии от Android_DRM_1, для покупки приложения не требуется иметь установленным на конечном устройстве приложение-магазин. Покупка осуществляется непосредственно с web-страницы Android_DRM_3. При покупке пользователь сразу производит оплату через PayPal или GoogleCheckout и получает персональную ссылку для скачивания приложения. Никакой модификации готового приложения не требуется.

Другой предоставляемый сервис - Программная Библиотека Android_DRM_3. Она является альтернативой Программной Библиотеки Android_DRM_1. При покупке приложения (способом, описанным выше, или, например, через сайт другого провайдера) пользователь также получает на электронную почту активационный ключ. При запуске приложения пользователь должен активировать его, введя этот активационный ключ. Проверка ключа осуществляется на сервере Android_DRM_3. Система крайне проста и поставляется с исходным кодом.

Взломостойкость Android_DRM_3

  • Поскольку никакой специальной защиты кода система не использует, её достаточно легко изучить и нейтрализовать модификацией приложения.

Android_DRM_4

Android_DRM_4 представляет собой встраиваемую библиотеку DRM и серверную часть. Функционально Android_DRM_4 повторяет Android_DRM_3 - при покупке приложения через сетевой магазин или иную систему распространения, в базе данных на серверной части заводится уникальный аккаунт покупки. Одновременно с этим покупатель получает от сервера письмо с кодом активации приложения. При запуске защищённого приложения пользователь вводит этот код, он сравнивается с зарегистрированным на сервере и, при совпадении, приложение успешно запускается. В отличии от Android_DRM_3, при развёртывании этой системы потребуется отдельный сервер, чтобы содержать на нём серверную часть защиты.

Система поставляется с открытым кодом по лицензии GNU GPL2.

Взломостойкость Android_DRM_4

  • Поскольку никакой специальной защиты кода система не использует, её достаточно легко изучить и нейтрализовать модификацией приложения.
  • Проверка ключа осуществляется через незашифрованный канал, возможно использовать proxy-сервер для обмана защиты.

Android_DRM_5

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

  • Android_DRM_5защищает только код приложения. DRM-функционал не предоставляется.
  • Осуществляет защиту только Native-части кода приложений. Этот код должен быть написан на C/C++. Java не поддерживается.
  • Защита в полуавтоматическом режиме встраивается в исходный код.
  • Исходный код обрабатывается с помощью Clang + LLVM в промежуточный байткод, к которому применяются последующие шаги по обфускации/чексуммированию/и т.д., на выходе получается стандартный объектный файл. После линковки приложение ещё раз обрабатывается (вероятно для расстановки и вычисления контрольных сумм).
  • Идеология защиты построена на встраивании в функции программы специальных маркеров, которые могут выполнять следующие действия:
    • Обфускация кода функции (перемешивание, замусоривание, и т.д.);
    • Определение наличия отладчиков;
    • Проверка целостности приложения;
    • Восстановление кода приложения (борьба с патчами);
    • При последующей обработке исходного кода эти маркеры трансформируются в код защиты;
    • Пакет работает только на Linux и MacOS.

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

Взломостойкость Android_DRM_5

Как уже говорилось выше, не удалось обнаружить ни одного защищенного приложения, для оценки взломостойкости.

Сравнительная таблица систем DRM

* Сам код не защищается, но в него встраиваются многочисленные вызовы ядра защиты.

Заключение

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

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

Операционная система Android на первый взгляд кажется простой, но в ней столько всего, что когда начнешь разбираться по пунктам, глаза разбегаются. Некоторые пункты вызывают настоящее удивление у пользователей. К примеру, что значит «Сброс DRM (удаление всех лицензий DRM)? Вопрос, ответ на который знают немногие.

DRM расшифровывается как Digital Rights Management, что можно перевести как «Управление цифровыми правами». Говоря простым языком, DRM является технологией защиты от пиратства и используется правообладателями для контроля доступа и копирования работ, которые им принадлежат. DRM представляет из себя в буквальном смысле замок, благодаря которому пользователь не сможет скопировать или продать тот или иной продукт. Наверное, какие-нибудь суперхакеры смогут взломать код DRM, но для обычного пользователя технология будет играть роль этакой защиты. Кстати, в отдельных случаях технология DRM позволяет удалять файл с устройства пользователя дистанционно! Впрочем, это касается исключительных случаев и только определенного контента или ПО.

Когда и где встречается DRM-технология?

  • Для запуска файла или программного кода на определенном устройстве.
  • Для воспроизведения файлов.
  • Для воспроизведения файлов в какой-то определенной программе.

Что значит DRM-лицензия?

В операционной системе Android можно встретить пункт в разделе «Восстановление и сброс», который называется «Удаление DRM-лицензий» или «Сброс DRM-лицензий». Что это значит?

DRM-лицензия — это цифровой ключ, который позволяет расшифровывать контент или же дает право на его использование. В случае с Android речь может идти о лицензии на определенное ПО. Например, производитель встраивает в прошивку какое-то приложение, которое после активации работает месяц в течении пробного периода. После месяца доступ к приложению блокируется и необходимо купить полноценную версию. Это и есть DRM-лицензия, вернее, одна из многих возможных.

Сброс DRM-лицензий

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

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

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

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

Похожей технологией является TrustedInstaller , защищающая от удаления жизненно важных файлов для Windows (описание по ссылке).

DRM – это аббревиатура от «Digital Rights Management», что в переводе означает управление цифровыми правами. Данное управление реализуется в виде помещения в защищаемый с помощью DRM продукт различных технических средств, препятствующих незаконному распоряжению продуктом интеллектуальный собственности. Такой «цифровой замок» в виде лицензированного зашифрованного ключа может быть очень эффективен, собственник не сможет скопировать купленный цифровой продукт, передать его, продать и так далее.

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

Функциональность DRM

Как уже упоминалось выше, технология DRM препятствует незаконному распространению авторского контента, его копированию, передаче, переводу в другие форматы. Я понял, что это ДРМ позволяет ограничить работу с продуктом требуемыми строками, проводить его ограниченное копирование, дистанционно удалять требуемый файл на устройстве пользователя. Возможности её функционала весьма высоки.

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

Когда используется DRM

Вы можете встретить защиту DRM в различных ситуациях. К примеру:

  • файл при воспроизведении требует ключ в виде пароля, идентификатора кода или специального письма;
  • файл запускается только в определённой программе;
  • программа запускается только на конкретном устройстве (компьютере, музыкальном центре и т.д.)
  • количество возможных копирований файла существенно ограничено DRM лицензией.

Что это DRM лицензия

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

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

Сброс DRM лицензий

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

В системе Android вы можете сбросить все загруженные на вашем устройстве DRM-лицензии.

  1. Для этого вам нужно зайти в «Настройки»;
  2. Выбрать в них «Восстановление и сброс»;
  3. А затем нажать на «DRMreset».

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

Как снять DRM-защиту

Для снятия подобного вида защиты DRM существуют различные методы. Остановимся на некоторых из них:

  • специальные программы, к примеру,«DRM Media Converter» или «DRM Removal» позволяют удалить DRM защиты WMV, M4B, M4V, ASF и других файлов;
  • если файлы WMV и WMA защищены DRM, запишите WMA на СD, а WMV на DVD, а затем извлеките их на компьютер, защита будет снята;
  • воспользуйтесь конвертером для преобразования защищённых файлов WMV, WMA и других в другие видео и аудио форматы (используйте Digital Music Converter, Sound Taxi, Note Burner и другие подобные программы), после преобразования вы получите «чистый» файл.

Примерный вариант снятия DRM-защиты с PDF-файла вы можете посмотреть на видео:

Заключение

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

Низкая криптостойкость, ограниченность применения и множество налагаемых на пользователя неудобств, привели к тому, что с началом нашего десятилетия крупные игроки цифрового рынка перешли на другие варианты защиты данных (Apple, Sony и др.). Тем не менее, сегодня ясно, что эта защита DRM встречается достаточно часто и, скачивая какой-либо контент, будьте готовы к его ограниченному функционалу.

Честным пользователям я могу посоветовать приобретать лицензионные продукты, а любителям доступности – обратить внимание на бесплатные альтернативы DRM с более упрощённым функционалом.

Вконтакте

Сегодня мы расскажем вам про защиту DRM. Узнайте что это за технология DRM и его лицензия. Мы постараемся вам ответить на вопрос: «Как убрать защиту DRM?» и «Как осуществить сброс DRM?». Почему обычные пользователи и критики так не любят ДРМ? Все об интересном решении защитить свою продукцию и авторские права.

DRM — сокращение от Digital Rights Management и в переводе означает«управление цифровыми правами». Является очередной технологией защиты от пиратства. DRM используется правообладателями для контроля доступа и копирования их работ. В частности, DRM дает программистам, музыкантам и кинопроизводителям право дистанционного управления над тем, как люди будут устанавливать, слушать, просматривать и дублировать их цифровые файлы.

Итак, DRM — это широкий термин, описывающий различные технические средства. По сути, DRM представляет собой цифровой замок на файле. Эти замки называют «лицензированные ключи шифрования». В таких замках имеются сложные математические коды, которые предотвращают несанкционированное использование или копирование файла. Те, кто платит или имеет какие-нибудь «привилегии», получают коды для разблокировки.

В более тяжелых случаях, DRM — техническая возможность для дистанционного удаления файлов. На удивление, подавляющее большинство клиентов в США и Европе согласны с такой технологией.

DRM защита довольно неоднозначная штука

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

Можно понять и производителя, он имеет полное право защищать и покрывать свои затраты на производство каждой копии своей работы. Однако, большое количество ошибок, которые возникают в такой системе, заставляет задуматься над правильностью её устройства. Как узнать какие файлы имеют цифровые замки DRM? Как показывает опыт, защиту имеют файлы следующего типа:

  • Если вы используете файл WMA;
  • Вам нужно специальное программное обеспечение или конкретный музыкальный плеер для воспроизведения;
  • Количество компьютеров, на которые можно загрузить программу, ограничено;
  • Ограничено количество попыток записать файл на компакт диск;
  • Вам нужен специальный пароль или идентификатор входа, прежде чем вы можете запустить файл;
  • Прежде чем воспроизвести файл, для этого нужно получить специальное письмо.

Поставку к пользователю файлов DRM можно наблюдать в различных формах:

  • Упаковка — замок уже встроен в программное обеспечение, музыкальный или видеофайл;
  • Зашифрованные DRM файлы поставляются непосредственно производителем. Как правило пересылка идет через веб-сервера и электронную почту;
  • Лицензия — такие замки стоят на всех файлах, запуск которых требует лицензии, получить её мы можем заплатив за неё.
  • Частичная лицензия — к таким фалам следует отнести программы с которыми мы сталкивались много раз. Это различные антивирусы, приложения для конвертирования или синхронизации телефона с ПК. Пробный период может быть в форме числа загрузок, так и в форме обратного отсчета дней после установки. После истечения этого срока нам предлагают скачать полную версию программы.

С каждым днем такие замки становятся более сложными. На сегодняшний день файлы MP3 не имеют цифровых замков. Но получение доступа к файлам MP3 становится сложнее с каждым днем. Такие компании как Google и Apple уже начали разрабатывать наши просторы интернета на возможность получить максимальную прибыль. Создаются музыкальные сервисы для Андроид и iOS, где вы можете получить за определенную плату доступ к высококачественным аудио записям. Но пока музыкальный рынок полностью не захвачен, Itunes, AmazonMP3, GoogleMusic и другие большие музыкальные магазины будут предлагать свою продукцию без какого-либо управления цифровыми правами.


В США совсем недавно возник большой скандал в связи с тем, что Amazon Kindle дистанционно удалил книги из цифровой библиотеки своих читателей. В наших краях мы не особо боимся DRM защиты, не сможем скачать в одном месте, сделаем это в другом. Но современная тенденция ведет к тому, что даже правительство всерьез заинтересовалось в возможности «почистить» Рунет от всего пиратского и дать больше цифровых прав производителям услуг.

После того, как я прочитал пост о том, как , я сразу же вспомнил аналогичный случай. Как-то открыв обычный mp3 файл, вместо того, чтобы началось воспроизведение, к моему удивлению, открылась неизвестная веб-страница. Самое интересное, что страница была открыта в Internet Explorer"е (несмотря на то, что по умолчанию был установлен другой браузер), а ведь на той странице, автор файла мог бы добавить и какой-нибудь специальный эксплоит для IE.

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

Видео-Файл

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

После того, как скачивание завершилось, зная что другие плееры не могут воспроизвести этот файл, сразу открыл его в Windows Media Player"е, и первое, что я увидел, было сообщение: «Download media usage rights»:

После этого, появилось более убедительное сообщение, предлагающее скачать файл License-Installer который, между прочим, уже был проверен антивирусом и оказался на 100% чист:

Внимательно просмотрев сообщение, нажал на кнопку "Download Now" и в ожидание какой-либо реакции со стороны антивируса, увидел многим знакомое окошко, предлагающее скачать файл с сервера license.compress.to :

И тут же возник первый вопрос, если на первом окошке указан сервер free-license.imgpop.com , тогда зачем этот замечательный файл, предлагает скачать лицензию с сервера license.compress.to ? Чтобы выяснить в чём проблема, посетил оба сайта, в надежде найти там что-нибудь вкусненькое, но как и следовало ожидать, ничего там не обнаружил.

DRM защита

После этого, первое что пришло в голову, было «запустить сниффер», но воздержался (и правильно сделал) - решив открыть файл в Hex-редакторе. Открыл в Hex-редакторе файл, который весил 150 MB и к моему счастью, всё было очень просто, так как уже на 20-ой строке нашел вот такой кусок текста:

Стало намного интересней. Открыл страницу httр://free-license.imgpop.com/venuf.php?id=Movie_0001.wmv , которая перенаправляла (HTTP/1.1 302) на страницу: httр://free-license.imgpop.com/venuf/index.htm , а там увидел знакомую картинку, только чуть побольше, да ещё и в браузере:

Пока всё шло хорошо и желая немножко поэкспериментировать, решил изменить ссылку из видео-файла на своё. Но, увидев что после изменения строки даже WMP не может открыть файл и не зная что делать, спросил Google"а, не может ли он рассказать, что это за строка, WRMHEADER version="2.0.0.0" , которую (помимо многих других) нашёл с помощью Hex-редактора?

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

Более того, WMP не единственный плеер, который может открыть DRM защищенные файлы. Полный список плееров я не нашёл, но могу с уверенностью сказать что Nero ShowTime поддерживает DRM, только в отличие от WMP он реагирует более осторожно… только если подтвердить скачивание лицензии, веб-страница открывается в IE (несмотря на то, что он не является браузером по умолчанию).


А сейчас самое интересное: если изменить расширение файла из .wmv в .asf или в .wma , ничего не измениться, то есть плееры всё равно будет воспроизводить медиа-файл и что самое опасное, в большинстве случаев.wma-файлы будут открыты в Windows Media Player. Кстати, забыл сказать, после того как открыл видео-файл в Hex-редакторе, для удобства, удалил ненужные байты и в итоге размер файла стал равен 5.31KB.

Internet Explorer

Наверно, многие думают что «Опасности в этом нет! Никакие лицензии не буду скачивать! Да и вообще, причём тут Internet Explorer, WMP и видео-файлы?». Сначала я тоже так думал, ведь там есть кнопочка «Cancel», но как оказалось, опасность есть и не маленькая, а «Cancel» никого не спасет, если файл открылся в WMP. А Internet Explorer - это же браузер, программное обеспечение для просмотра веб-сайтов…

Я нашёл информацию о том что можно взломать DRM-защиту, но делать этого не стал. Во-первых, не знал удастся ли изменить ссылку, а во-вторых, выбрал более легкий путь. В файле hosts добавил строку:
127.0.0.1 free-license.imgpop.com

В корень локального сервера создал файл venuf.php и с помощью WMP открыл видео-ролик - через несколько секунд появилось следующее сообщение:

Дальше, с помощью alert() , решил попробовать, поддерживает ли он JavaScript - в результате получил пустую страницу. Подумал, что действительно не работает, но подключив свою интуицию, быстренько изменил функцию alert() на document.write() . Результат вызывал улыбку: на этот раз страница была не пуста, значит Windows Media Player поддерживает JavaScript.

Теперь, мысли о том, что медиа-плеер может открыть веб-страницы, да ещё и поддерживает JavaScript, не давали мне покоя. Желая узнать, что это за необыкновенный плеер, добавил в файле venuf.php строку:
echo $_SERVER["HTTP_USER_AGENT"];
и несмотря на то, что у меня установлен MSIE 8.0, я получил следующее сообщение:

Напоследок, решил проверить один эксплоит для MSIE, написан на JavaScript, вызывающий отказ в обслуживании браузера. Добавил эксплоит на страницу, открыл видео-файл и не успел я моргнуть, как Windows заявляет, что «Windows Media Player перестал работать»:


Как Вы поняли, пытаясь воспроизвести видео-файл, WMP принудительно отключился, а это значит, что он уязвим к эксплоиту предназначенному для MSIE. Я проверил только один эксплоит, но этого было достаточно, чтобы изменились мои представления о безопасности медиа-файлов .

Вместо постскриптума

Написав последние строки этой статьи, вдруг посетила меня одна идея: скачать, установить и тестировать один из самых популярных мультимедийных плееров - Winamp . Что я и сделал… А когда попробовал воспроизвести файл появилось следующее сообщение:

Я почти был уверен, что всё будет также как и с Nero ShowTime, но любопытство заставило мена нажать на кнопку "Yes"… Вместо запуска IE, я увидел следующее:


Не сразу понял в чём проблема, думая, что всякое может случится, но спустя несколько секунд, вспомнил что в файле venuf.php остался код эксплоита для MSIE. Дальше, используя переменную $HTTP_USER_AGENT выяснил, что также как и WMP для своих целях Winamp использует MSIE 7 Internet Explorer:

Правда, в отличие от Windows Media Player, Winamp не предупреждает откуда будет скачан файл лицензии, но разрешает использовать правый клик и посмотреть исходный код страницы… а также для него срабатывают алерты:

Заключение

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

Просто, не забывайте о том, что не у всех пользователей установлены другие аудио и видео проигрыватели. А ещё, я далеко не верю, что пользователь, который ждал 2 часа (в лучшем случае) чтобы скачать долгожданный файл, увидев что он не проигрывается, просто так удалит его, и никакое «не открывайте файлы в этом плеере!»- не поможет.

UPD:

Защита

Чтобы существенно снизить риск возможных атак, рекомендую отключить в WMP автоматическое получение лицензии для DRM-защищенных файлов. Для этого, открываем Параметры (Options) и во вкладке Конфиденциальность (Privacy) снимаем галочку с пункта "Получать лицензии автоматически для защищенного содержимого " (Download usage right automatically when I play or sync a file):