Наверное всё, что нужно знать про DRM, защиту контента и продвинутые водяные знаки.
Часть I, про DRM
Главная проблема для Netflix'а и других стримингов — слив контента на торренты, в общий доступ. Ну и последующее снижение количества подписчиков сервиса.
Чтобы избежать плачевной ситуации онлайн-кинотеатры защищают контент всеми силами, используя DRM и водяные знаки по указке правообладателей. Сначала расскажу про DRM.
? Что такое DRM?
Digital Rights Management или же технические средства защиты авторских прав. Этот термин применим ко всем технологиям, которые используют владельцы авторских прав, чтобы ограничивать использование их цифровых материалов. Вот так вот.
У DRM три основные функции:
- шифрование,
- расшифровка контента и
- управление ключами этого шифрования.
Итак, когда видео приходит в браузер пользователя, оно упаковано с помощью DRM. Без ключа для расшифровки невозможно начать просмотр.
Например, в приложениях Netflix'а есть функция, которая позволяет сохранить сериал или фильм и посмотреть позже. Но, даже если эти файлы достать из кэша приложения, не получится их посмотреть в стороннем плеере.
Только те, у кого есть подписка, получают ключ шифрования. Отдельно от контента. Это главный принцип «управления лицензией» DRM.
? Поддержка DRM браузерами
Подписчики могут смотреть сколько угодно, когда угодно, где угодно — на любом устройстве с интернетом«Нетфликс на любом экране» — главная идея сервиса, и разработчики сделали возможным просмотр на огромном количестве устройств без ущерба для компании. Но среди всех платформ для просмотра браузер самый важный.
Netflix
Но с ним не все так просто. Поэтому разработали кучу технологий для просмотра DRM-защищенного контента в браузерах. Давайте пробежимся по истории и заглянем в будущее сервисов видео-стриминга, DRM и веб-стандартов.
? В прошлом — проприетарные DRM, требующие установки плагинов
С запуска онлайн-сервиса Нетфликса в 2000-х и в течение всего десятилетия большинство контентных сервисов использовали для защиты проприетарные DRM.
Их тогда было большое количество: Microsoft PlayReady, Google Widevine Classic, Adobe Access, Intertrust Marlin и INKA Entworks Netsync. Это разнообразие и стало большой проблемой, проблемой плагинов.
Предупреждение об опасности плагина ActiveX
ActiveX-плагины знакомы многим — их использовали в те времена многие компании для защиты любого контента в вебе. Эти традиционные проприетарные DRM принуждали пользователей устанавливать отдельные плагины в их браузеры, такие как Flash, чтобы видео и аудио оставалось в безопасности, но проигрывалось в браузере.
Во всяком случае, из-за проблем безопасности и прожорливости этих решений браузеры просто отказались от их поддержки.
? Сейчас — Мульти-DRM без плагинов
Итак, для решения проблем с плагинами в HTML5 создали несколько стандартов.
Например, стандарт расширений для зашифрованного контента (Encrypted Media Extension — EME) предоставляет API для веб-приложений, которое позволяет им взаимодействовать с DRM.
А с помощью стандарта EME и расширений источника медиа (Media Source Extension — MSE) браузеры обзавелись поддержкой проигрывания защищенного контента, что называется, из коробки.
К слову, почему Мульти-DRM? Все-таки разные браузеры все равно поддерживают разные DRM, а не одно общее решение. Поэтому все DRM объединяют одним словосочетанием.Например, умирающий Internet Explorer и Edge поддерживали только PlayReady — DRM своих создателей Microsoft.
Точно также, Google Chrome поддерживает только модульную Google Widevine, а Эппловский Safari — только FairPlay. Но Firefox использует Google Widevine, также как и Хром.
Следовательно, чтобы предоставлять сервис пользователям с разными браузерами и ОС, нужно интегрировать сразу три DRM.
А ещё разные DRM используют разные технологии потоковой передачи данных: PlayReady и Widevine используют MPEG-DASH, тогда как FairPlay DRM — HLS (HTTP Live Streaming).
Естественно Мульти-DRM используют не только в браузерах, но и на смартфонах или смарт-тв.
Мульти-DRM работают на большинстве устройств современных юзеров. Но если надо поддерживать и старые устройства, на которых нет поддержки Мульти-DRM, придется использовать устаревшие форматы, как и делает Нетфликс.
? В будущем — единый контент с CMAF
Мульти-DRM позволяет браузерам работать с DRM без плагинов, но всё равно требуют упаковку в два формата потоковой передачи данных. Это уже что-то, но не достаточно.
Поэтому в новой спецификации MPEG-CENC Common Encryption, и защита PlayReady и защита Widevine DRM может применяться к контенту в формате DASH, но вот PlayFair от Apple требует HLS.
Чтобы разрешить проблему необходимости DASH и HLS вместе была создана Common Media Application Format (CMAF).
Картинка из блога Unified Streaming
Цель CMAF — это поддержка сразу всех браузеров и платформ используя одну технологию, формат и не требующую перекодирования. Но это требует обновления каждой спецификации, каждой DRM.
Большинство проблем уже разрешили Microsoft, Apple, Google и другие сочувствующие компании, объединившись.
Однако, из-за обилия разных девайсов у юзеров (например, старых андроид-смартфонов), которые всё еще не могут в CMAF нужно еще подождать, пока эту технологию станут использовать сервисы видеостриминга (OTT-services).
Помимо унификации форматов DRM, главное преимущество CMAF — супер-низкая задержка с помощью технологии Chunked Transfer Encoding (фрагментированная передача зашифрованного контента).
Низкая задержка — это очень важный фактор для стриминга видео в реальном времени. Таких как футбольные матчи, например. Недавно технология низкой задержки CMAF стала обсуждаемой темой у разработчиков из индустрии.
Больше прочитать про унификацию DRM можно в отдельной статье.
? Мульти-DRM — удобно, но сложно
Мульти-DRM сразу поддерживает все платформы, где можно что-либо смотреть и не требует установки — она намного более удобна для конечных юзеров технология, чем старые DRM.
Однако провайдерам контента, которые используют DRM трудно интегрировать разные DRM и форматы потоковой передачи.
Для легкого внедрения Multi-DRM рекомендую использовать комплексные решения, которые объединяют в себе сразу несколько технологий защиты контента и предоставляют единый API с готовыми интеграции с энкодерами и видеоплеерами.
? А что делает Кинопоиск?
Я написал в поддержку Кинопоиска HD и узнал, что они используют Google Widevine. Это мне написали в поддержке, но, думаю, для Apple-юзеров FairPlay тоже есть.
Часть II, про криминалистику и невидимые водяные знаки
В первой части мы узнали про Мульти-DRM, которые используют сервисы видеостриминга, такие Netflix, для защиты контента от пиратов.
Так как DRM-защищенный контент распространяется зашифрованным — любой, у кого нет лицензии DRM (права на проигрывание) не может просмотреть видео. Это уже какая-то защита.
Но её не достаточно.
Так, приложение человека с купленной подпиской должно преобразовать защифрованный контент в проигрываемый, обычный. И во время проигрывания уже расшифрованного видео есть некоторые очевидные и не очень технические ограничения, которые делают возможным утечку.
Следовательно, добавлять водяные знаки нужно, чтобы понять, у кого всё-таки получилось слить видео на торренты и предотвратить дальнейшее распространение…
? Что такое эти невидимые водяные знаки?
В оригинале — Forensic Watermarking — криминалистические водяные знаки. Но я перевёл по смыслу.Это такие же водяные знаки, как на фотостоках, только более продвинутые.
В то время как обычные цифровые водяные знаки предназначены для подтверждения авторских прав с помощью встраивания информации о владельце прямо в контент, невидимые водяные знаки содержат в себе информацию о самих потребителях контента для отслеживания утечек.
Когда правообладатель или стриминговый сервис находит незаконно распространенный контент, он найдет водяной знак и определит по нему, кто слил контент. А потом отключит подписку юзера и передаст дело в руки правоохранительных органов.
? Зачем нужны невидимые водяные знаки?
У вас могут оставаться вопросы по поводу реальной необходимости невидимых водяных знаков. На самом деле, даже когда контент защищен DRM, трудно полностью предотвратить утечку.
Да, содержимое передается клиенту по защищенному каналу, в зашифрованном виде. Клиентскому приложению в любом случае придется расшифровать контент для проигрывания.
На этой расшифрованной стадии контент всё-таки можно защитить, применив DRM аппаратного уровня (Hardware-level DRM), доверенное окружение воспроизведения (Trusted Execution Environment — TEE) и высоко-пропускную защиту цифрового контента (High-bandwidth Digital Content Protection — HDCP).
Но все равно, эти технологии уязвимы.
? Пираты используют внешние камеры
Традиционный способ слива кино — CamRip или же экранки.
По простому, когда смартфон или отдельную камеру просто записывают экран, поставив перед ним на штатив.
Аналогово-цифровое преобразование (Analog-to-Digital — A2D) aka один из видов пиратства, от которого защищают водяные знакиБлагодаря новым компактным камерам с высоким разрешением теперь можно записывать видео с тем же качеством, что и оригинал — в 4k. Уже не только 720p!
Вообще, для стриминговых сервисов экранки — намного бо?льшая проблема, чем для кинотеатров, где можно просто запретить записывать видео и звук. К слову, в кинотеатрах есть, в добавок к видеонаблюдению, определяющее блики камеры оборудование. И водяные знаки у каждого кинотеатра тоже свои.
? Пираты записывают с помощью программ
Итак, возможность проигрывания DRM-защищенного контента в браузерах — одна из главных для подписчиков и, следовательно, самих стриминговых сервисов.
Однако, поскольку некоторые браузеры используют программное DRM, можно легко сохранить видео DRM в виде обычного видео формата MOV или MP4 с помощью простых программ для записи экрана.
Но в случае PlayReady DRM в браузерах IE11 (Win 8.1) и Edge (Win 10) невозможно сделать скриншот или записать экран из-за запрета на это со стороны операционки. В Mac OS FairPlay Streaming DRM тоже не дает записать экран в Safari.
А вот Chrome и Firefox, несмотря на поддержку программной WIdevine DRM не защищают контент от записи экрана…
? Требование Голливуда
В 2007 году самые крупные студии Голливуда, включая Disney, Sony, Warner Bros., Universal и Paramount создали некоммерческую организацию, которую назвали Motion Picture Laboratories (MovieLabs), чтобы изучать технологии распространения и защиты от пиратства фильмов.
Motion Picture Laboratories, Inc.
Чтобы предотвратить нарушение авторских прав, спецификации MovieLabs требуют применения DRM на уровне железа и невидимых водяных знаков для особо-ценного контента. Например, фильмов в 4k UHD.
? Азы невидимых водяных знаков
Два главных условия для успешного применения таких водяных знаков — это, собственно, невидимость и стойкость.
- Невидимость. Различие между изначальным изображением и защищенным водяным знаком не должно быть видно.
- Стойкость. Водяной знак должен пережить атаки (перекодирование, обрезание, фильтрацию) и быть после распознаваемым.
Обычные видимые водяные знаки, очевидно, не подходят для этих целей. Голливуду же не нужно ухудшение картинки.
Чтобы обеспечить невидимость, водяные знаки вставляют так, что разница не заметна, создавая небольшой шум.
Слева — нетронутая Лена из плейбоя, справа — защищенная водяными знаками
Замечательный пример выше демонстрирует, что защищенное изображение должно быть совсем неотличимо от оригинала.
Слишком сильная устойчивость к атакам сделает невидимые водяные знаки видимыми. Применение максимальной защиты и при этом соответствующей требованиям — главная задача баланса в деле с невидимыми водяными знаками.Следующее требование — уникальность водяных знаков, чтобы знать, кто пират. Для этого технология на основе сеанса кодирует информацию о пользователе водяными знаками и вставляет в контент.
Технологии, вставляющие водяные знаки на основе сессий можно поделить на серверные и клиентские.
- Клиентский вотермаркинг: водяные знаки вставляют приложения на устройстве пользователя. Для этого требуется минимум изменений на сервере, но есть недостаток в том, что для каждой платформы нужно программировать эту функциональность. Да и не особо надежно это.
- Серверный вотермаркинг: бэкенд видеосервиса вставляет водяные знаки. Преимущество здесь в том, что видеоплеер на клиенте никак не нужно программировать.
? Где обитают невидимые водяные знаки
Невидимый вотермаркинг используется на различных стадиях показа фильмов, сериалов и тому подобного контента. А проще говоря, почти всегда.
- На предпоказе: когда некоторым заинтересованным лицам дают посмотреть раньше всех. Иногда билеты на такие показы разыгрывают. Утечка будет очень не кстати в этом случае, поэтому превентивно вставляют защиту.
- В кинотеатре: как я заметил в кинотеатрах тоже не зевают. В фильм вставляют и время сеанса и информацию про сам кинотеатр.
- На стриминговом сервисе: тут водяные знаки с зашитыми данными о потребителе вставляют «в режиме реального времени», прямо в премиум-контент.
? Мульти-DRM и криминалистический вотермаркинг
Резюмирую. В то время, как DRM — технология для предотвращения халявного доступа к просмотру, вотермаркинг служит для отслеживания сливов уже заплатившими пользователями.
DRM и вотермаркинг дополняют друг друга и их нужно принимать вместе. Что и делают большинство онлайн-кинотеатров.
? Как Okko ловит пиратов
В подкасте Запуск Завтра, выпуск про то, как устроены онлайн-кинотеатры, там гости рассказали, как в Окко используют водяные знаки для отлова пиратов. Довольно простое объяснение (около 29 минуты), как именно кодируется информация «водяными знаками»:
Нужно некоторые зоны экрана, условно, квадратики пикселей сделать чуть менее интенсивными. Глаз это не увидит, но алгоритм, который будет анализировать видео, на 10 минутах заметит, что вот эти пиксели чуть-менее яркие, чем соседние.
Спасибо за прочтение!
Оригинал статьи был написан в 2019 году и, может быть что-то изменилось за эти несколько лет, но суть осталась прежней. А если вы знаете ещё что-то интересное про защиту контента, прошу в комментарии.
В любом случае, эти технологии нас окружают ежедневно и когда знаешь, хотя бы поверхностно, как они устроены, отпадают вопросы, почему так быстро разряжается батарея при просмотре в браузере на ноутбуке.
Надеюсь, вам было интересно. Изучайте, делитесь, комментируйте!
mwizard
Покупаем два экземпляра одного фильма с разных учеток
Находим разницу в стриме
Уравниваем
??????????????????????????
PROFIT!
RickCastle2018 Автор
Гениально! Есть как раз доклад @bobuk про обман нейросетей. Тут можно применить генеративно-состязательные сети.
А может так уже и делают…
DartfoL
будет весело, если в процессе уравнивания из-за какой-нибудь ошибки вотермарки не удалятся, а наоборот, в видеопоток войдут вотермарки от обеих сервисов
LordDarklight
Смысл такого взлома в том, чтобы как раз найти эти вотермарки — они будут либо найдены, либо алгоритм надо дорабатывать. Комбинировать оба видео, наверное не будут (хотя это самое простое решение), выкладывать будут только с одного источника, вырезав с него найденные вотермарки. Если не найдут — то не выложат.
Ещё вариантом атаки может быть как раз комбинация двух источников + наложение случайного полнокадрового шума тоже как невидимого вотермарка + дополнительная обработка с комбинированием двух кадров одного с размытием другого с шарпом — конечно это может чуть ухудшить качество картинки — зато вполне себе затрёт любой невидимый вотермарк. В общем вотермарки не так уж хорошо защищают — технология старая и профессионалы давно уже научились её обходить. Но вот дилетантов-пиратов вотермарки должны хорошо сдерживать
white-wild
Можно увеличить количество сервисов 3,5 и т п. Тогда уже будет лучше, вопрос тут скорее что делать с уникальными видео для конкретного сервиса. Можно понадеяться на одинаковое кодирование для всех видео.
iAndrey
С одного сервиса качаешь с 4 учётных записей, разными устройствами с разных IP, в разное время. В видео оставляешь только те участки, где есть совпадения на 2-3 копиях. Там, где различается, можно смешать все 4 и добавить шум поверх + выровнять по яркости\насыщенности с рядом находящимися участками.
LordDarklight
Для уникального видео смотри мой пост выше (и тут уже тоже предалагли этот вариант вчера) — про случайный шум + блур + шарп + двойное перекодирование — вотермарк будет с большой вероятностью искажён до неузнаваемости без его фактического поиска.
Либо, как тут, уже писали, с одного источника можно снять несколько изображнений в разное время, с разных IP и эккаунтов, и с чистым кешем — водяные знаки идентификации пользователя будут разные — можно сравнивать — 3-х таких источников будет вполне достаточно для надёжного тройного сравнения. Но не годится для уникального источника, который доступе пирату в одной копии (например слив с уникального показа в кинотеаторе) — тогда способом выше пытаемся исказить вотермарк без его поиска
lunacyrcus
Ну при таком-то ошибиться трудно наверно, там похоже даже простого усреднения пикселей с 2 разных источников хватает чтобы зашумить все ватермарки (а еще лучше конечно рандомизировать, и вообще добавить незаметного шума по всем пикселям).
Собственно видеопиратство никуда не делось и не уменьшилось (разве что по объективным причинам, как вот сами пользователи стали больше покупать лицензионного). Так что видимо вполне используется такой метод с несколькими учетками. Можно даже сказать что никогда пиратить не было так удобно, так как раньше приходилось довольствоваться рипами с кинотеатров с жутким звуком и качеством, причем еще рискуя с тем чтобы их получить, а тут уже 4к прямо из дома.
Akuma
Зачем? Ну создайте левый аккаунт, оплатите левой картой «на бомжа» и пиратьте сколько влезет. Весь нетфликс можно переписать, пока они будут искать кто слил видео.
todoman
Вижу глубинное непонимание написанного в посте.
Зачем Нетфликсу искать этого "бомжа"? Они по вотермарке с первого же слива понимают, какой аккаунт льёт и просто блокируют его подписку.
Kanut
А толку от простой блокировки? Ну заблокировали кого-то и дальше что? Он сделает себе новый аккунт и будет дальше сливать. То есть я бы сказал что тут скорее речь идёт о административном или даже уголовном преследовании тех кто сливает.
todoman
>>Он сделает себе новый аккунт
Это в комментариях с дивана выглядит легко. На деле – новый "бомж", новый ip, новая банковская карта и снова целый месяц оплаченной подписки. Сложновато и дороговато для слива одной серии.
Kanut
Не смешите меня. Даже я, живя в стране с относительно жёсткой регуляцией всего этого дела и не особо интересуясь вопросом, знаю как за условные полчаса сделатъ себе новую банковскую карту и новый ip. При этом и карта и ip будут достаточно "анонимны" чтобы нетфликс не смог их связать с предыдущими без привлечения полиции/прокуратуры.
И это всё в онлайне и с расходами в районе 10-15 евро. То есть если мне не грозит юридическое преследование и я на сливе одной серии буду зарабатывать больше 15€, то это даже у меня будет работать. И я уверен что если начать разбираться в вопросе и заниматься таким регулярно, то и расходы будут заметно меньше.
П.С. Это даже если забыть что тот же нетфликс(как и большинство других подписок подобного рода) у нас можно оплачивать анонимными "подарочными" картами с кодами, которые продаются на любой бензоколонке. А часто вообще есть бесплатный "пробный" месяц.
Soukhinov
Ещё следует учесть, что из под левой учётки с левой банковской картой можно сначала скачать полнетфликса, а потом уже выложить это «на торренты». Таким образом, указанные 10-15 евро оплатят слив не одной серии, а многих.
Akuma
«Вижу глубинное непонимание написанного в посте»
С дивана это делается в два клика. Первый — создание доп.вирт карты. Второй — смена IP.
todoman
Количество виртуальных карт ограничено для одного клиента банка. Я дважды сталкивался с ограничением в двух разных банках (не пират, а по другому поводу).
Akuma
И тем не менее, это все детские ограничения для пиратов. Есть много бомжей, есть граждане других стран, есть базы краденых карт.
И никого искать по факту не будут за 999 руб.
Да у нас сотни тысяч переводят по цепочке счетов на бомжей и ничего не могут найти. За этот нетфликс никто искать даже не будет, ну вы чего ))
todoman
Да понятно. Там где-то вверху тредов говорилось про то, что, по крайней мере, натиск мамкиных пиратов вотермарки и проч. держат.
Akuma
Мамкиных пиратов держит DRM, не позволяя делать Ctrl + S.
Но в профессиональном плане это как калитка без забора.
По поводу лимита карт, кстати, вы посчитайте сколько громких фильмов выходит за год. Есть даже считать 1 карта на 1 фильм — за год это прям вообще не проблема.
amarao
Нетфликс даёт триал, так что даже платить не надо.
Akuma
Да не, я как раз понимаю как это работает. И объясняю, что это никак не поможет от слива профессиональными пиратами.
Что даст блокировка аккаунта? Фильм уже слит в сеть, как и десяток других с этого же аккаунта, за 999 руб. На следующий день создается второй аккаунт, оплачивается и сливается дальше.
todoman
А, да, про «сначала скачать/заскринить сотню фильмов, а потом уже выкладывать в сеть» что-то не подумал, верно.
Akuma
Сотню не получится. Это все реалтайм и пока сотню снимите, уже будет неактуально сливать новинки. Но сливают явно не по одному с аккаунта — больше.
Admaer
Какой риалтайм? Это неправильные (WEBRip) пираты так делают. Правильные (WEB-DL) сливают всё разом, на больших скоростях. Пишут, что слив одного фильма занимает несколько минут, его расшифровка - ещё меньше и всё это без участия человека. Т.е. с одного аккаунта можно накачать столько, сколько на винты влезет.
"Нетфликс", конечно, может блокировать пользователей, которые смотрят трёхчасовой фильм за пять минут. Но лично я сомневаюсь, что они будут так делать.
Akuma
Я думаю в рамках одно аккаунта нетфликс такое заблочит очень просто. Трафик отследить уж точно можно без проблем. Ну разве что прикинуться разными устройствами и влезть в лимит устройств тарифа.
iAndrey
Собираюсь в отпуск на месяц. Сплю плохо, поэтому в день по 2-3 фильма смотреть буду. 20 дней отпуска * 3 фильма. Итого, мне за сегодня\завтра надо 60 фильмов успеть скачать. Ибо там, на островах, я ничего скачать не смогу толком.
Akuma
Скачивание в оффлайн происходит в шифрованном виде. Можете хоть весь нетфликс выкачать, пиратить это не поможет. Выше шла речь про выкачивание «открытого» трафика.
iAndrey
Иными словами, в оффлайн качается DRM контент, а при каких-то условиях с нетфликса тянется DRM-free?
Akuma
Я думаю, что DRM-free вообще не тянется. Как и указано в статье — тянутся ключи.
iAndrey
Т.е. в любом случае скачивается "в шифрованном виде". Тогда я не могу понять, что вы хотели сказать в комментарии выше по ветке.
Akuma
Я говорил о том, что если предположить, что весь трафик у нетфликса шифрованный, то сливать фильмы можно только в виде WEBRip, т.е. просто писать с экрана в реалтайме.
Скачать «побыстрому» фильм не выйдет, скорее всего.
Но я не пират. Все что я пишу основано лишь на опыте веб-разработки и представлении как это все работает в целом.
Kanut
На самом деле давно уже есть тулы вроде вот такого: https://audials.com/en/movies
И они даже легальны. По крайней мере в ряде стран точно. То есть скачивать и делать себе копии можно вообще без проблем и в любом качестве. Распространять нельзя.
iAndrey
Если оффлайн просмотр работает, значит автономная система может данные расшифровать и у неё есть необходимый для этого ключ. Значит можно вытащить этот ключ и написать своё ПО. Значит можно делать так, как сказал Admaer. Круг замкнулся.
Akuma
Да, тоже верно. Но вытащить ключ из приложения тоже может быть непростой задачей.
Кстати, не проверял, будет ли оффлайн-просмотр работать полностью оффлайн. Вполне возможно, что ключ подтягивается онлайн во время запуска оффлайн фильма :)
Kanut
Где-то два или три года назад у нетфликса оффлайн работал полностью оффлайн. Проверял в отпуске.
Но при этом похоже был какой-то таймер или привязка к дате. Потому что потом когда мы из отпуска уже вернулись и я просто разгребал место на диске, то уже ничего не работало.
Finesse
Можно придумать систему кодирования, которая определить источник обоих сливов в таком случае
ifap
1. Покупаем один экземпляр одного фильна на данные чужой карты.
2. ??????????????????????????
3. PROFIT!