Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #72, НОЯБРЬ 2006 г.

мародерство

КРИС КАСПЕРСКИ АКА МЫЩЪХ

Спецвыпуск: Хакер, номер #072, стр. 072-068-4


- ЗАЩИТА ОТ АНАЛОГОВОГО КОПИРОВАНИЯ (ANALOG COPY PROTECTION ИЛИ ACP).

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

Протокол COPP использует коды аутентификационных сообщений (Message Authentication Codes или MACs) для проверки целостности COPP-команд, циркулирующих между приложением и видео-драйвером. Приложения взаимодействуют с COPP посредством вызова метода IAMCertifiedOutputProtection, представляющего собой интерфейс DirectShow Video Mixing Renderer filter (VMR-7 или VMR-9).

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

Прежде, чем начать взаимодействовать с COPP'ом, приложение должно последовательно выполнить следующие шаги:

- ПОЛУЧИТЬ ЦЕПОЧКУ СЕРТИФИКАТОВ ДРАЙВЕРА (А ТО ВДРУГ ПОПАДЕТСЯ «ЛЕВЫЙ» ДРАЙВЕР).

- ПОСТРОИТЬ DIRECTSHOW PLAYBACK GRAPH, ВОСПРОИЗВОДЯЩИЙ (TO RENDER) ВИДЕО-ПОТОК ЧЕРЕЗ VIDEO MIXING RENDERER FILTER (VMR).

- ЗАПРОСИТЬ VMR ДЛЯ IAMCERTIFIEDOUTPUTPROTECTION ИНТЕРФЕЙСА.

- ВЫЗЫВАТЬ IAMCERTIFIEDOUTPUTPROTECTION::KEYEXCHANGE, ВОЗВРАЩАЮЩИЙ 128-БИТНОЕ СЛУЧАЙНОЕ ЧИСЛО, СГЕНЕРИРОВАННОЕ ВИДЕО-ДРАЙВЕРОМ ВМЕСТЕ С ЦЕПОЧКОЙ СЕРТИФИКАТОВ, СОДЕРЖАЩЕЙ 2048-БИТНЫЙ ПУБЛИЧНЫЙ RSA-КЛЮЧ, КОТОРЫМ БЫЛ ПОДПИСАН ДРАЙВЕР.

- ПРОВЕРИТЬ ЦЕПОЧКУ СЕРТИФИКАТОВ И, ЕСЛИ ЦЕПОЧКА СЕРТИФИКАТОВ НЕВЕРНА, ПРЕКРАТИТЬ РАБОТУ И УЙТИ НА ПОКОЙ.

- ПРОВЕРИТЬ СПИСОК АННУЛИРОВАННЫХ СЕРТИФИКАТОВ (CERTIFICATE REVOCATION LIST ИЛИ CRL) И, ЕСЛИ ХОТЯ БЫ ОДИН ИЗ СЕРТИФИКАТОВ УЖЕ УСПЕЛ «ЗАСВЕТИТЬСЯ» В ЭТОМ ЛИСТЕ, ПРЕКРАТИТЬ РАБОТУ.

- ИЗВЛЕЧЬ ИЗ ЦЕПОЧКИ СЕРТИФИКАТОВ ПУБЛИЧНЫЙ RSA-КЛЮЧ.

- ИНИЦИАЛИЗИРОВАТЬ COPP-СЕССИЮ.

- СГЕНЕРИРОВАТЬ 128-БИТНЫЙ AES СЕССИОННЫЙ КЛЮЧ, КОТОРЫЙ БУДЕТ ИСПОЛЬЗОВАН ДЛЯ ПОДПИСИ ДАННЫХ И ПРОВЕРКИ ТОГО, ЧТО ПОДПИСАННЫЕ ДАННЫЕ НЕ БЫЛИ МОДИФИЦИРОВАНЫ.

- СГЕНЕРИРОВАТЬ ДВА КРИПТОГРАФИЧЕСКИХ СЕКРЕТНЫХ 32-БИТНЫХ СЛУЧАЙНЫХ ЧИСЛА, ПЕРВОЕ ИЗ КОТОРЫХ ПРЕДСТАВЛЯЕТ СОБОЙ НОМЕР ПОСЛЕДОВАТЕЛЬНОСТИ СТАТУСА, А ВТОРОЕ — НОМЕР ПОСЛЕДОВАТЕЛЬНОСТИ КОМАНД (КАЖДЫЙ РАЗ, КОГДА ПРИЛОЖЕНИЕ ПОСЫЛАЕТ КОМАНДУ ИЛИ ЗАПРОС СТАТУСА, СООТВЕТСТВУЮЩИЕ НОМЕРА ПОСЛЕДОВАТЕЛЬНОСТИ УВЕЛИЧИВАЮТСЯ НА ЕДИНИЦУ И ВОЗВРАЩАЮТСЯ ВМЕСТЕ С ЗАПРОСОМ НАЗАД ПРИЛОЖЕНИЮ).

Назад на стр. 072-068-3  Содержание  Вперед на стр. 072-068-5