SafeDisc

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Работа с оптическими дисками
Типы оптических дисков
Форматы
Технологии защиты

SafeDisc — система защиты от копирования для Windows приложений и игр, разработанная Macrovision Corporation.

Цели[править | править исходный текст]

Основная задача SafeDisc — предотвращение несанкционированного копирования собственнического ПО, как домашнего с помощью домашних копировщиков, так и промышленных, а также попыток обратного проектирования. В течение нескольких лет было выпущено несколько версий SafeDisc, каждая из которых ставила перед собой задачи сделать копирование дисков более сложным. Текущая версия представляется как SafeDisc Advanced.

Уязвимости[править | править исходный текст]

Несмотря на то, что защита SafeDisc эффективно препятствует обычным пользователям создавать функциональные копии CD или DVD дисков, она довольно легко обходится профессиональными крэкерами. Ранние версии SafeDisc не представляли особых трудностей для копирования дисков. Последние версии 2.9+ могут создавать диски, которые представляют трудность для копирования или обратного проектирования, что требует определённых приводов с возможностью записи «слабых секторов» и добавочных форматов данных, которые являются характерными для SafeDisc.

Предыдущие версии SafeDisc’а преодолевались с помощью программ, монтирующих виртуальные диски, таких как DAEMON Tools и Alcohol 120%. В настоящее время SafeDisc ведёт чёрный список такого ПО, и это значит, что тем, кто хочет использовать данный метод, приходится скрывать монтировщик, устанавливая дополнительный софт, к примеру, CureRom.

Другой потенциально возможной атакой на SafeDisc является извлечение зашифрованных данных приложения из архива, в котором они содержатся: все данные находятся в ICD файле, защищенном формате, используемом SafeDisc’ом чтобы убедиться в том что оригинальный диск был загружен. UnSafeDisc захватывает и расшифровывает файлы SafeDisc открывая ICD файл, расшифровывая его и конвертируя его в исполняемый EXE. Однако, к каждой программе требуется отдельный патч, чтобы добиться её полной функциональности.

История версий[править | править исходный текст]

SafeDisc (V1)[править | править исходный текст]

Защищенные с помощью SafeDisc V1 могут быть распознаны по нескольким файлам, находящимся на диске:

  • 00000001.TMP
  • CLCD16.DLL
  • CLCD32.DLL
  • CLOKSPL.EXE
  • DPLAYERX.DLL

А также по существованию двух файлов <GAME>.EXE и <GAME>.ICD (где <GAME> — это имя игры). Исполняемый EXE файл является только загрузчиком, который расшифровывает и загружает защищенный исполняемый файл игры из файла ICD. Первые версии SafeDisc были также просты для обхода, обычными пользователями и профессиональными дупликаторами, как и копирование.

SafeDisc (V2)[править | править исходный текст]

Следующие файлы должны существовать на каждом защищенном CD:

  • 00000001.TMP
  • 00000002.TMP (не всегда)

Загрузчик файла (<GAME>.EXE) теперь интегрирован в основной исполняемый файл, что делает файл <GAME>.ICD ненужным. Также файл CLOKSPL.EXE, который появился в SafeDisc v1, больше не существует.

Точную версию SD2 можно найти внутри файла <GAME>.EXE с помощью строки: «BoG_ *90.0&!! Yy>», следующие за ней 3 длинных беззнаковых числа (unsigned long) будут обозначать номера версии, подверсии и ревизии соответственно (в шестнадцатеричном виде). Во время создания резервной копии диска, будут появляться ошибки чтения в промежутке секторов 822-10255.

Также в этой версии защиты были введены «слабые» сектора, которые приводят к проблемам синхронизации с некоторыми пишущими CD-приводами. Цифровые сигнатуры продолжают существовать в этой версии, но это не имеет никакого эффекта на образы дисков, смонтированных в Daemon Tools или подобных программах.

В дополнение, в SafeDisc версии 2.50 была добавлена проверка на Absolute Time in Pregroove (ATIP), что делает невозможным использование записанной копии, без использования программ, которые маскируют это (к примеру, это может делать CloneCD).
SafeDisc версий 2.90 и выше усложнил возможность записи копии на болванку, поскольку для этого теперь требуется привод, обладающий способностью записывать «слабые сектора», такие приводы нечасто встречаются.

SafeDisc (V3)[править | править исходный текст]

SafeDisc v3 использует ключ, чтобы зашифровать главный исполняемый файл (EXE или DLL) и создает соответствующую цифровую сигнатуру, которая добавляется к дискам CD-ROM/DVD-ROM когда они реплицируются. Размер сигнатуры варьируется от 3 до 20 МБ в зависимости от того, насколько сильное шифрование требуется. Процесс аутентификации занимает примерно от 10 до 20 секунд.

SafeDisc (V4)[править | править исходный текст]

Текущая используемая версия SafeDisc это v4. Ею было защищено свыше 40 % собственнических коммерческих игр, выпущенных начиная с Августа 2004, включая Quake 4.

Проблемы безопасности[править | править исходный текст]

На компьютер пользователя SafeDisc устанавливает собственный драйвер устройства для ОС Windows, который называется secdrv.sys. В дополнение, чтобы включить защиту от копирования предоставляется доступ уровня ring 0 для запуска приложения. Это является потенциальной брешью в безопасности, поскольку трояны и другое вредоносное ПО могут использовать драйвер чтобы получить администраторский доступ к машине, даже если программы запущены под учетной записью с ограниченными правами доступа.

5 ноября 2007, Microsoft сообщила о найденной уязвимости в драйвере SECDRV.SYS[1], которая позволяет атакующему повысить уровень привилегий. Данная уязвимость не затрагивает Windows Vista. Без данного драйвера игры, защищённые SafeDisc’ом, не будут запускаться на Windows.

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

  1. Microsoft Security Advisory (944653)

Ссылки[править | править исходный текст]

SafeDisc на сайте Macrovision