<< Предыдущая

стр. 18
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

вреждения на другой дискете, но гораздо проще было эмулировать повреж-
денные сектора, т. к. их список было довольно легко получить, если имелся
доступ к оригинальной дискете.
Несмотря на то, что дискеты практически вышли из обихода с появлением
перезаписываемых компакт-дисков, последний раз защиту, основанную на
использовании испорченных секторов на дискете, мне довелось увидеть
в январе 2001 года. Так был защищен один из пакетов программ, предназна-
ченных для восстановления забытых паролей.
Самый продвинутый способ создания ключевых дискет реализовыватся на
уровне портов ввода-вывода контроллера гибких дисков — самом низком
Глава 11. Привязка к носителям информации 1_19_

уровне, доступном программисту. Используя хитрые методы записи инфор-
мации, например форматирование дорожки, прерываемое в ходе выполне-
ния, удавалось создавать дискеты с такими характеристиками, которые
практически невозможно было повторить даже с помощью специальных
контроллеров, например платы Option Board Deluxe, разработанной компа-
нией Central Point Software.
Но в начале 90-х годов появилась программа FDA (Floppy Disk Analyser),
разработанная российской компанией Мединком. Эта программа была спо-
собна анализировать содержимое дорожек дискеты и с высокой степенью
точности создавать копии. Большая часть защищенных дискет копировалась
в автоматическом режиме, а для особо сложных случаев был предусмотрен
режим ручного управления копированием.
Весьма забавно, что сама программа FDA поставлялась на ключевой диске-
те, допускающей четыре инсталляции с привязкой к компьютеру.
Однако с появлением операционной системы Windows NT, под которой
прямая работа с контроллером жестких дисков из прикладной программы
стала невозможной (для этого требовалась установка драйвера), ключевые
дискеты практически перестали применяться для защиты от копирования.
К тому же, им на смену пришли компакт-диски.


11.2. Привязка к компакт-дискам
Несмотря на внешнюю несхожесть дискет и компакт-дисков, очень многие
методы создания некопируемых магнитных носителей были успешно пере-
несены на оптические диски.
Разумеется, большинство используемых компакт-дисков не допускает пере-
записи, а те, что допускают, не позволяют изменять информацию в произ-
вольном месте — можно только дописать новые данные или стереть все, что
было записано ранее. Поэтому на компакт-дисках не делают защиты со
счетчиком установок.
Однако существует множество способов создать диски, которые не копиру-
ются стандартными средствами или для которых существует надежный спо-
соб отличить копию от оригинала. Рассмотрим наиболее распространенные
из них.
Прежде всего, стоит отметить, что получать доступ к содержимому компакт-
диска можно на нескольких уровнях.
Самый высокий уровень — это уровень файловой системы. Данные записы-
ваются на диск в определенном формате (например ISO-9660), и драйвер
файловой системы компакт-диска (CD-ROM File System, CDFS) отвечает за
120 Часть III. Как не надо защищать программы

то, чтобы представить содержимое диска в виде дерева каталогов и файлов.
На этом уровне доступны такие операции, как получение списка файлов,
открытие файла с определенным именем и чтение из него информации.
Следующий уровень — уровень секторов. Грубо говоря, на этом уровне диск!
представляется как последовательность секторов, содержащих полезные
данные, и таблица, описывающая содержимое диска (Table Of Contents,
ТОС). Доступны операции чтения ТОС и секторов с заданными номерами.
Самый низкий уровень — уровень команд контроллера. Разные приводы
CD-ROM могут иметь различия в доступном наборе команд, но только на
этом уровне можно получить самую полную информацию, которую спосо-
бен выдать привод относительно установленного диска. Использование
этого уровня требует разработки драйвера.

11.2.1. Простейшие защиты
Если пользователь пытается сделать копию диска на уровне файловой сис-
темы, он сначала копирует все дерево каталогов и файлов на винчестер,
а потом с помощью любой программы для создания компакт-дисков запи-
сывает диск, содержащий скопированные файлы.
Программа, привязанная к компакт-диску, может проверять метку тома
диска, которая не сохраняется при копировании файлов на винчестер.
Правда, эту метку можно установить вручную при создании образа нового
диска. Так что лучше проверять серийный номер, который выбирается слу-
чайным образом при создании диска и не может быть задан пользователем.
Также на какой-нибудь файл можно сделать несколько ссылок из разных
директорий. При этом легко добиться того, что суммарный размер файлов,
скопированных на жесткий диск, превысит размер компакт-диска.
У какого-нибудь файла в директории компакт-диска можно установить
очень большой размер, что не позволит прочитать этот файл, т. к. его дан-
ные просто не будут существовать.
Но все эти методы оказываются бессильны, если выполняется копирование
диска на уровне секторов, а не на уровне файловой системы. Сейчас посек-
торное копирование поддерживает почти любая хорошая программа для
создания компакт-дисков, например Nero Burning ROM, разработанная
компанией Ahead Software AG.
И, разумеется, для борьбы с посекторным копированием применяются
другие методы.
Глава 11 Привязка к носителям информации 121

11.2.2. Диски большой емкости
Стандартный компакт-диск вмещает 640 Мбайт данных. Однако можно, не-
значительно изменив параметры диска, уместить на него 700 и даже
800 Мбайт. При этом диск без проблем будет читаться в большинстве при-
водов CD-ROM.
Даже если никаких специальных проверок не выполняется, для того чтобы
сделать точную копию диска большого объема, изготовленного методом
штамповки, требуется записываемый диск, вмещающий необходимое коли-
чество информации, пишущий привод, способный правильно записать та-
кой диск, и подходящая программа записи. Еще несколько лет назад это
могло служить серьезным препятствием, но сейчас найти необходимые бол-
ванки и CD-Writer с поддержкой Overburn (запись дисков большой емкости)
и хорошую программу для записи дисков не составляет труда.

11.2.3. Отклонение от стандарта записи на диск
Иногда создатели защищенных дисков сознательно идут на нарушение
стандарта, описывающего, как и что должно записываться на диск. Драйвер
файловой системы использует далеко не всю информацию, которую можно
получить о диске, а только то, что необходимо для определения размера
диска и доступа к отдельным файлам. А программы посекторного копиро-
вания стремятся использовать максимум информации и часто отказываются
работать с диском, если встречают противоречивые данные.
Правда, сейчас многие программы позволяют игнорировать некоторые на-
рушения стандарта и успешно копируют большинство дисков, защищенных
таким способом.
Нарушения стандарта имеют еще один негативный аспект: они могут при-
вести к тому, что диск не будет читаться на некоторых компьютерах, а то и
вообще вызовет поломку привода CD-ROM.

11.2.4. Физические ошибки на диске
Если диск содержит сознательно внесенные нарушения в области данных,
которые приводят к ошибкам чтения, это не обязательно является наруше-
нием стандарта — ошибки могли возникнуть и по естественным причинам,
таким как загрязнение или механическое повреждение носителя. Следова-
тельно, все приводы должны правильно отрабатывать ситуации, когда опре-
деленный сектор не может быть прочитан. А программа может принимать
решение о подлинности диска на основании того, что некоторые строго оп-
ределенные сектора не читаются.
•\22 Часть III. Как не надо защищать программы


Программы посекторного копирования часто отказываются продолжать ра-
боту с диском, если не могут прочитать очередной сектор, а если и создают
новый диск, то на нем непрочитанные с оригинала секторы заполняются
нулями или произвольными данными и больше не содержат ошибок.
Но существуют и другие программы, работающие с контроллером напрямую
и выполняющие копирование не на уровне логических секторов, а, факти-
чески, на уровне "сырых" данных, которые привод получает с диска. Иногда
это называют побитовым копированием.
Наверное, самым популярным инструментом для побитового копирования
компакт-дисков была программа CloneCD, разработанная компанией;
Elaborate Bytes AG. О программе приходится говорить в прошедшем време- •
ни, т. к. на официальной странице CloneCD в Интернете вывешено сооб-
щение о том, что продажи и распространение прекращены. Причина такого
решения связана с новым законом о защите авторских прав, но деталей,
к сожалению, не приводится.
Однако кроме CloneCD существует много других программ, успешно справ-
ляющихся с побитовым копированием практически любых компакт-дисков
и создающих копии, принимаемые защитой за оригинал.
Также существуют программы, эмулирующие компакт-диски. Они позволя-
ют использовать заранее сохраненный образ компакт-диска для того, чтобы
изображать привод CD-ROM с установленным в нем диском. Многие эму-
ляторы, например Daemon Tools, умеют передавать не только содержимое
диска, но и все ошибки, которые используются для предотвращения копи-
рования и проверки аутентичности компакт-диска.
Однако существуют и системы защиты компакт-дисков, которые долгое
время весьма успешно противостояли программам побитового копирования
и эмуляторам. Примером такой защиты может служить StarForce.

Щ
11.3. Система защиты
StarForce Professional
Про StarForce (SF), систему защиты программного обеспечения, распро-
страняемого на дисках CD-ROM, от несанкционированного тиражирования,
пока написано не очень много. В основном это информация рекламного
характера, исходящая от разработчиков, но попадаются высказывания и тех,
кто эту защиту пытался обойти.
На официальном интернет-сайте приводится следующее описание характе-
ристик системы защиты StarForce Professional:
• SF Professional не позволит запустить программный продукт, если
компакт-диск идентифицирован как скопированный. Вне зависимости
Глава 11. Привязка к носителям информации 123

от того, где и как была сделана копия диска (в домашних условиях или
на заводском оборудовании), система определит, что данный диск — не-
легальный;
D компакт-диски, защищенные SF Professional, не копируются такими
программами, как CloneCD, CDRWin, BlindWrite и им подобными.
Защищенные приложения не запускаются на эмуляторах компакт-
дисков, к которым относятся Daemon Tools, Virtual CD-ROM и т. п.;
• используя комплект разработчика на этапе создания программного кода,
можно значительно усилить защиту приложения против самых эффек-
тивных методов взлома;
• для встраивания защиты SF Professional не требуется специального тех-
нологического оборудования, нужен только компьютер и доступ на один
из серверов StarForce;
• компакт-диски, защищенные SF Professional, максимально совместимы
с разнообразными моделями существующих устройств CD/DVD-ROM.
Это обусловлено тем, что в SF Professional используется уникальный ме-
тод определения подлинности диска без вмешательства в его физическую
структуру;
• система защиты использует алфавитно-цифровой 24-значный ключ, ко-
торый вводится пользователем защищенного программного приложения
в процессе эксплуатации только один раз — в момент первого запуска.
Ключ будет работать исключительно с дисками данной партии про-
граммного обеспечения.
Некоторую полезную информацию можно почерпнуть из интервью с Игорем
Павлюком, менеджером по связям с общественностью компании Protection
Technology, которая является разработчиком StarForce. В интервью приводятся
цитаты, собранные в различных форумах исследователей программ, в том
числе зарубежных, где активно происходит обсуждение возможностей взлома
или копирования защищенного программного обеспечения.
Так в одном из сообщений на http://cdfreaks.com выдвигается призыв уничто-
жить новую защиту в зародыше (StarForce Copy protection — Kill the bird in its egg).
В другом сообщении на том же сайте можно заметить техническое любо-
пытство: как StarForce ухитряется обходить методы побитового копирова-
ния, используемые программами типа CloneCD? (I'm curious how they are able
t0
bypass the 1:1 copy-method that CloneCD and all other burning programs use...).
Но любопытство быстро сменяется на серьезные опасения, что новая систе-
ма защиты скоро станет весьма популярной, потому что не требуется специ-
альное оборудование, не существует универсального способа взлома и за-
щищенные диски не копируются с помощью CloneCD (This StarForce
Protection system for CD's and CD-R's seems to be very popular soon, because all
124 Часть III. Как не надо защищать программы


steps in making protected cd's can be done inhouse; also there is no generic crack
available and this protection can't be copied by CloneCD).
А в одном сообщении на форуме поддержки Daemon Tools (одного из самы|
мощных эмуляторов компакт-дисков) утверждается, что сделать копию дне*
ка, защищенного StarForce, практически невозможно из-за особенностей
защитного механизма (ft will be nearly impossible to make a backup of StarForce
CDs, because of the nature of their protection). Да и разработчик Daemon Tools
подтверждает это утверждение своей репликой о том, что защищенный диск
может быть скопирован только на специальную болванку, соответствующую
конкретной партии дисков (What concerns StarForce it is not possible to burn
even theoretically with any program or writer, unless you get special media, which can
be different for each title or even party of CDs of same title. So forget if).
Однако, как известно, непробиваемых защит не бывает, что подтверждают,
например, статьи на www.reversing.net, в которых рассказывается о методах
получения расшифрованной версии ЕХЕ-файла, работоспособной без ори-
гинального компакт-диска.
В форуме Daemon Tools один человек утверждал, что ему удалось сделать
копию диска, которая опознается как оригинал в 9 случаях из 10. А в другом
сообщении разработчик Daemon Tools практически обещает реализовать
эмуляцию дисков, защищенных StarForce (You have to wait until dumping
programs appear that can dump it correctly. Most likely FantomCD will be one of
the programs capable to produce such images (MDS format). Beta version of Daemon
already works successfully with mounted StarForce images — so the question is
in images only).
На фоне всего вышеизложенного задача оценить, насколько надежной является
защита StarForce и что она собой представляет в действительности, показалась
довольно интересной. Ниже приводятся результаты научно-исследовательской
работы, выполненной кафедрой "Информационная безопасность" (ИУ-8)
МГТУ им. Н. Э. Баумана по соглашению с компанией Protection Technology.
Представители Protection Technology не возражали против публикации этих
результатов. В качестве экспериментального образца использовалась игра
"Heroes of Might and Magic IV", защищенная StarForce 2.0.


11.3.1. Общая характеристика защиты
Защитные механизмы, работающие на компьютере конечного пользователя
защищенного диска, можно условно разделить на две части. К первой части
отнесем все способы противодействия исследованию защищенной програм-
мы и приведению исполняемых файлов к состоянию, в котором они будут
способны работать без оригинального компакт-диска. Во второй части ока-
жется непосредственно механизм проверки подлинности компакт-диска.
Глава 11. Привязка к носителям информации 125

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

<< Предыдущая

стр. 18
(из 39 стр.)

ОГЛАВЛЕНИЕ

Следующая >>