 |
padonki |
 |
Зарегистрирован: 14 авг 2006, 20:43 Сообщений: 3780 Благодарил (а): 10 раз. Поблагодарили: 108 раз. Пункты репутации: 0
|
Про StarForce (SF), систему защиты программного обеспечения, распространяемого на дисках CD-ROM, от несанкционированного тиражирования, пока написано не очень много. В основном это информация рекламного характера, исходящая от разработчиков, но попадаются высказывания и тех, кто эту защиту пытался обойти.
На официальном интернет-сайте приводится следующее описание характеристик системы защиты StarForce Professional: - SF Professional не позволит запустить программный продукт, если компакт-диск идентифицирован как скопированный. Вне зависимости от того, где и как была сделана копия диска (в домашних условиях или на заводском оборудовании), система определит, что данный диск — нелегальный; - компакт-диски, защищенные 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 10 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 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 (MDSformat). 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.
Защита Star Force
Проверка подлинности диска состоит из нескольких этапов. Сначала читается информация о диске, установленном в приводе, и проверяется его метка тома. Затем выполняется 8 запросов на чтение случайных одиночных секторов с номерами в диапазоне от 1 до 65 536. Результаты чтения никак не используются, и, скорее всего, эти действия нужны для разгона диска до номинальной скорости вращения. Затем еще раз читается (но уже не проверяется) информация о диске. Все перечисленное выше проходит через драйвер файловой системы CDFS, никак не защищено от анализа и, следовательно, наверняка не влияет на процесс аутентификации.
Все остальные обращения к диску идут на более низком уровне. В той версии StarForce, анализ которой проводится, обращения адресовались драйверу устройства Cdrom и представляли собой SCSI-команды. Последовательность этих команд такова. 1. Чтение содержания диска (Table Of Content, ТОС). 2. Чтение одиночных секторов с номерами 16, 17, 17 (дважды читается 17-ый сектор). 3. Чтение одиночных секторов с номерами 173117, 173099, 173081, 173063, 173045, 173027, 173009, 172991, 172973. 4. Чтение случайных 17 блоков по 8 секторов с номерами первого читаемого сектора в диапазоне примерно от 168100 до 173200. 5. SCSI-команда с кодом ОхВВ, описание которой не удалось найти в документации, но которая, скорее всего, отвечает за управление скоростью вращения привода. 6. Чтение одиночного сектора с номером 173117. Причем если с первой попытки диск не опознан как оригинальный, то шаги 3 и 4 повторяются в цикле. Значит, после выполнения шага 4 вся информация, необходимая для аутентификации диска, уже получена.
Попробуем разобраться, зачем может потребоваться каждый из шагов. Чтение ТОС, скорее всего, требуется для определения номера сектора, с которого начинается последняя сессия мультисессионного диска. Так как сессия всего одна, то в 16 и 17 секторах как раз и хранятся описания структуры тома (метка тома, количество секторов, адрес директории диска и т. д.). А повторное чтение сектора 17, скорее всего, используется для того, чтобы примерно оценить порядок времени, атрачиваемого на один оборот диска. Разница времени между двумя чтениями одного сектора должна быть кратна длительности оборота диска.
В последовательности номеров секторов 173117, 173099, 173081, 173063, 173045, 173027, 173009, 172991, 172973 легко усматривается закономерность — каждое следующее значение на 18 меньше предыдущего. Число 18 тоже явно не случайное — на том радиусе диска, где размещаются сектора с указанными номерами, на один виток спирали помещается примерно 18 секторов. А чтение секторов в порядке убывания номера с большой вероятностью используется для того, чтобы предотвратить чтение с предупреждением, когда привод считывает во внутренний буфер не только заданные сектора, но и несколько последующих, на случай если данные читаются последовательно. Получив значения восьми интервалов (между девятью операциями чтения) и зная длительность и периодов обращения диска (полученную повторным чтением сектора), можно с большой точностью определить скорость вращения диска.
А дальше выполняется 17 чтений блоков со случайными номерами с целью измерения 16 интервалов времени. Если все интервалы хорошо (с малыми отклонениями) укладываются в формулу (2), то диск признается подлинным. Если же отклонения от ожидаемых величин превышают некоторое пороговое значение, то проводится повторное вычисление скорости вращения и повторное измерение задержек между чтением блоков по 8 секторов. Взлом Star Force
Чтобы заставить StarForce поверить, что в приводе стоит оригинальный диск, надо совсем не много: чтобы задержки между чтениями соответствовали ожидаемым. А для этого необходимо знать точные характеристики диска: радиус, на котором начинается спираль, и размер сектора. Для определения этих величин можно провести те же самые измерения, что проводит StarForce при проверке диска, а затем варьировать начальный радиус и размер сектора, пока не будут найдены оптимальные значения. Критерием оптимальности, например, может служить сумма отклонений разностей углов, вычисленных по формуле (1), и углов, полученных из замеренных интервалов времени по формуле, обратной (2). Современное оборудование (во всяком случае, оборудование бытового класса) действительно не позволяет создавать копии защищенного диска, но написание эмулятора, способного обмануть StarForce, не представляет сверхсложной задачи. Достаточно перехватывать обращения к драйверу CD-ROM и в случае, если выполняется команда чтения, делать временною задержку, какую мог бы иметь оригинальный диск, и только после этого возвращать управление вызывающей программе.
В качестве практической демонстрации возможности эмуляции был разработан драйвер, функционирующий под операционной системой Windows 2000 и выполняющий описанные выше действия. Когда драйвер загружен, StarForce оказывается не в состоянии отличить подделку от оригинала. Игра стабильно запускается практически с любой копии оригинального диска, с виртуального диска, созданного программой Daemon Tools, и даже с дисков, которые похожи на оригинальный только тем, что имеют правильную метку тома и размер области данных не менее 350 Мбайт, чтобы существовали сектора с запрашиваемыми номерами. Резюме по защите Star Force
StarForce, несомненно, является неординарной защитой. Ее исключительность заключается хотя бы в том, что до сих пор не существует надежного способа быстро создавать работоспособные копии защищенных дисков.
Однако проведенное исследование показывает, что для эмуляции защищенного диска нужно совсем немного. Примерно через 3 месяца после выполнения работы, результаты которой были приведены ранее, компания Protection Technology объявила о выпуске следующей версии своей системы защиты - StarForce Professional 3.0. Разработчики утверждают, что одно из многочисленных улучшений заключается как раз в усилении противодействия эмуляции компакт-дисков.
Одной из составляющих StarForce Professional (системы, разработанной компанией Protection Technology для защиты информации, распространяемой на компакт-дисках) является протектор. В его функции входят проверка подлинности компакт-диска и запуск защищенной программы, но только в том случае, если введенный пользователем лицензионный код соответствует установленному в приводе диску.
В StarForce применяется множество уникальных технологических решений. Так, например, в защищенном исполняемом файле секция кода заполнена одними нулями, а код защиты выполняется из динамической библиотеки protect.dll, которая автоматически загружается и инициализируется при запуске программы.
Большая часть защиты сосредоточена в драйвере, устанавливаемом в ядро операционной системы. Именно там идет проверка подлинности компактдиска. Сам драйвер также зашифрован с целью затруднения его исследования.
Часть защищаемой программы хранится в псевдокоде и выполняется на встроенной в протектор виртуальной машине.
Несмотря на то, что в Интернете можно найти подробные описания процесса ручного снятия StarForce с некоторых программ, таких случаев крайне мало. Частично это может быть объяснено тем, что для исследования защиты необходимо наличие оригинального компакт-диска, а также тем, что основная категория продуктов, которые защищаются с помощью StarForce, — компьютерные игры. А взлом защиты игр экономически не очень выгоден, т. к. стоимость одной копии игры невелика, а период популярности весьма короток. Но надо отдать должное разработчикам — они неплохо потрудились.
Кстати, вскоре после появления StarForce 3.0 буквально в течение одного месяца авторы как минимум трех эмуляторов компакт-дисков объявили о том, что новые версии их программ способны эмулировать диски, защищенные StarForce версий 1 и 2. С тех пор прошло больше года, но поддержка StarForce 3.0 так и не появилась ни в одном из эмуляторов. Так что по состоянию на сегодняшний день, компакт-диски, защищенные при помощи StarForce, продолжают оставаться устойчивыми к взлому.
_________________ Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось. 
|
|