Получение инженерной информации жесткого диска

Контроллер IDE, SCSI имеет специальную команду выдачи информации о подключенном устройстве. Программа IdeInfo выдает блок 512 байт информации о жестком диске, если в системе есть контроллер IDE и жесткий диск. Информация содержит параметры диска и его серийный номер. Некоторые OS не дают доступ к этой информации.

Опрос справочников

Еще один способ защиты от несанкционированного использования информации называется опросом справочников. Он не обеспечивает стойкой, долговременной защиты программного обеспечения, но может быть легко реализован и очень удобен в работе. При его применении пользователь не обязан работать с дистрибутивной дискетой, можно и с ее копиями. Работа программ, защищенных на основе этого метода, и их копий делится на два этапа. Первый: получение от пользователя информации из некоторого источника, называемого справочником, и сравнение ее с эталонной. (То есть программа проверяет, действительно ли введенная информация находится в справочнике.) Второй: работа самой программы или ее копии. При этом необходимо сделать все возможное, чтобы текст справочника был доступен только законному пользователю, так как доступ к справочнику в этом методе снимает все преграды для работы программы. Описанная возможность работы с копиями, недоступная при реализации других методов защиты данных, заставляет изготовителей программного обеспечения применять этот способ в своих разработках.

В простейшем случае справочником является обычный текстовый файл, который пользователь располагает либо на дискете, либо на жестком диске, либо имеет его в качестве распечатки. Его можно сделать скрытым, если он расположен на магнитном носителе. Вместо текстового файла можно использовать служебную информацию, которая характеризует определенный класс машин. Однако в этом случае придется преодолевать дополнительные сложности при доступе к такой информации.

Сравнение введенной информации (пароля) с соответствующей информацией из текста справочника может быть осуществлено двумя способами:

1. Путем поиска информации в текстовом файле, расположенном на магнитном носителе, по указанным координатам и сравнения ее с введенной. Например, программа выдает запрос: "Введите пятое слово третьего абзаца седьмой страницы." Пользователь вводит слово. Программа считывает из текста справочника пятое слово третьего абзаца седьмой страницы и сравнивает его с введенным.

2. Путем сравнения слова из определенной части текста, представленного распечаткой, с данными, содержащимися в защищающей программе. Этот случай является как бы обратным к случаю 1. Программа содержит информацию, что в тексте справочника такие-то слова находятся в таких-то местах (например, слово "программа" является пятым словом третьего абзаца седьмой страницы, слово "справочник" - первое слово второго абзаца пятой страницы и т.д). В ответ на запрос программы, описанный в первом способе, пользователь в тексте справочника по указанным координатам ищет слово и вводит его. Программа сравнивает полученное слово с информацией, которой она располагает.

При небольшом по объему справочнике, а также малом запасе опрашиваемых парольных слов целесообразно список всех парольных слов разместить совершенно открыто в качестве файла на специальной дискете. Это позволит пользователю не держать в памяти информацию о том, какое слово где находится, и не тратить время на поиски нужного слова в справочнике, а снимать защиту самым элементарным образом, опробуя каждое слово из созданного списка. Но если эта дискета попадет в руки к постороннему лицу, то оно будет благодарно вам за возможность просто ознакомиться с вашими секретами.

Однако просмотр перед каждым запуском программы списка паролей и опробование каждого из них занимает довольно много времени. К тому же в таких системах часто возникают ошибки из-за неоднозначности решения: выделять или нет заголовок как отдельный абзац. Например, взяв пятое слово из третьего абзаца в качестве пароля, вы не можете запустить программу, так как автор выделил заголовок в отдельный абзац и требуемое слово находится не в третьем, а во втором абзаце текста, если рассматривать его без заголовка.

Из-за указанных недостатков описанный выше механизм чаще всего используются в качестве составной части многопрофильных систем защиты от копирования.

Введение ограничений на использование программного обеспечения

В одном из способов защиты программного обеспечения от незаконного использования применяются ограничения по:

  • времени его эксплуатации;
  • количеству запусков;
  • его перемещению для использования на других машинах.

Иногда изготовители программного обеспечения накладывают ограничения на срок его работы у определенного пользователя, то есть как бы выдают временную лицензию, по истечении срока которой происходит либо самоуничтожение программы, либо она перестает работать. Идея, лежащая в основе этого метода, достаточно прозрачна: нужно только получить текущую дату из таймера, а затем, сравнив с "лицензионным" сроком использования, либо разрешить работу программы, либо запретить. Однако и недостаток данного метода защиты ясен: можно просто изменить дату, установленную в таймере, и тогда программа будет выполняться незаконно.

Еще одним способом ограничить использование программного обеспечения является введение счетчика запусков. Обычно такой счетчик устанавливают в:

  • CMOS памяти;
  • теле программы или в специальных числовых файлах;
  • загрузочном секторе диска(вместо информации о версии DOS);
  • FATе (в первом элементе таблицы, обычно заполненном кодом FFF);
  • резервных секторах;
  • сбойных секторах;
  • системном реестре;
  • за концом одного из файлов на локальном диске.

Уменьшая значение счетчика при каждом запуске, контролирующая часть программы следит за ним и при достижении нулевого значения выполняет предусмотренные разработчиком действия.

Защита CD от копирования

В настоящее время существует большое количество специальных форматов данных, используемых для записи информации на компакт-диск. К ним относятся не только формат для аудиоданных (CD Digital Audio - CD-DA) и формат, применяемый для хранения произвольной информации в общепринятом для современных компьютерных систем виде (DATA CD), но также специфические форматы, позволяющие создавать фотоколлекции (Kodak CD, CD-G), хранить видеоинформацию в доступном к воспроизведению виде (CD-I), сохранять специфическую текстовую информацию наряду с аудиоданными (CD-TEXT) и другие. Предтечей всех этих форматов является обычный аудиодиск. Развитие других форматов было связано исключительно с грандиозным скачком технологий, произошедших вскоре после внедрения аудиодисков в серийное производство. Фирма Philips, как разработчик базового стандарта записи аудиодисков, была вынужден признать необходимость разработок принципиально нового подхода к проблеме записи структурированных данных на компакт диск. Более того, в связи с существованием на мировом рынке целого ряда аппаратных платформ, работающих на существенно отличающихся операционных системах, была произведена попытка унификации формата записи данных на компакт-диск. Так возникли весьма экзотические форматы записи, в некоторых случаях необходимые для написания игр и мультимедиа на базе игровых консолей (Amiga CD32, Atari Jaguar, Sony Playstation), в других – для расширения возможностей мультимедийного подхода в компьютерных и бытовых технологиях в принципе (Video-CD, CD-I, CD-XA, CD-TEXT, CD-G). Следует отметить одну немаловажную деталь – все эти форматы являются адаптацией базового формата для записи аудиодисков.

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

За 15 лет развития медиа- и компьютерной индустрии были попытки защитить такого рода интеллектуальную собственность и весьма успешные. Однако говорить о тех методах, которые были применены в то время для реализации защиты, как о методах, которые можно предположительно использовать не в заводских условиях, просто не имеет смысла. Защита дисков тех лет базировалась исключительно на манипуляциях с покрытием дисков, что было в принципе невозможно сделать, не имея пресс-станка для тиражирования дисков заводским способом.

Но теперь ситуация изменилась. Не так давно на рынке появились устройства записи дисков, позволяющие производить достаточно сложные манипуляции как с данными, так и с физикой процесса записи. И, что особенно важно, эти устройства стали вполне доступными в ценовом плане и не требуют специального оборудования.

Рассмотрим методы защиты информации на CD:

Метод 1. Защита информации путем нарушения некоторых управляющих служебных сигналов, записанных на диск синхронно с данными.

Метод 2. Защита информации путем записи на заранее подготовленный носитель, поверхность которого содержит ряд неустранимых дефектов, не мешающих чтению, однако кардинально мешающих перезаписи диска.

Метод 3. Защита информации, базирующаяся на изменении файловой системы, используемой при записи. Следует сказать, что, несмотря на то, что этот метод защиты несколько менее универсален, он тоже позволяет эффективно защитить данные от возможности нелегального копирования диска целиком, т.к. возможна гибридная реализация методов 1-3.

Рассмотрим подробнее каждый из перечисленных методов.

Метод 1.

При записи абсолютно всех типов данных на компакт-диск синхронно с блоками данных формируется и записывается ряд управляющих цифровых сигналов. Подобная запись в подавляющем большинстве случаев делается аппаратно и означает, что при этом устройство при помощи внутреннего генератора формирует управляющие последовательности без непосредственного участия программы-копировщика и помещает их в конце каждого блока данных. Такие последовательности принято называть субканалами. Субканалов всего восемь и их принято нумеровать строчными английскими буквами P,Q,R,S,T,U,V,W.

Компакт-диски, записанные в стандарте CD-DA, используют лишь два субканала – P-субканал, который является по сути дела стробирующим при передаче данных от инициатора к устройству, и Q-субканал, в котором записывалась информация о тайм-коде, статусе устройства, кодах аппаратного корректора ошибок, работающего по схеме Соломона-Рида, а также некоторая другая. Для дальнейшего использования было зарезервировано еще 6 субканалов – R-W, которые на компакт-диск записываются, но фактически не используются. За период развития формата CD-DA в прочие форматы было сделано лишь несколько удачных попыток использования R-W субканалов. Например, в R-субканале при записи диска в форматах CD-G и CD-TEXT записывается некоторая пользовательская информация о копирайтах и авторстве для каждого трека. В редких случаях информацию из R-W субканалов используют тестовые программы для оценки производительности того или иного устройства чтения/записи дисков. Практически, на сегодняшний день ординарный компакт-диск, содержащий информацию произвольного типа, несет в себе 75% незадействованных субканалов.

Подобная ситуация позволяет особым образом защитить компакт-диск. В процессе записи субканалов отдельно от данных формируются полностью заполненные блоки, причем такая запись отнюдь не нарушает никаких договоренностей и стандартов записи данных на компакт диск, но дополняет. В области неиспользованных субканалов записывается дополнительная управляющая информация, которая неявно связана с данными субканалов P и Q. Программа для записи защищенных подобным образом дисков использует данные Q-субканала для формирования W-субканала. Данные, которые будут записаны в W-субканал, есть по сути закодированные симметричным алгоритмом соответствующие управляющие данные. Первичный ключ для кодирования формируется на основе данных, записанных в служебных областях на компакт-диске. Параллельно вводиться дополнительный псевдостробирующий R-субканал. Суть введения последнего заключается в том, что часть записанных на диск данных помещаются в область с верным Q-субканалом, но с ошибочным основным стробом. При чтении записанного таким образом компакт-диска эти данные будут просто проигнорированы, не вызвав сообщения об ошибке. Однако, при использовании программы, способной корректно читать подобные диски, перед принятием решения о том, насколько эффективна читаемая информация, будет произведена дизъюнкция реального и псевдостробирующих каналов, что обеспечит корректное и полное чтение данных во всем объеме.

Смысл введения кодированного W-субканала заключается в следующем. Большинство программ при копировании диск-диск не читают область субканалов непосредственно, но используют встроенные генераторы либо полагаются на возможности самого устройства. При попытке перезаписи диска с использованием подобных алгоритмов W и R субканалы потеряются. Программа, которую нелегально скопировали, перед запуском или в процессе своей инсталляции проверит ультраструктуру субканалов носителя, с которого произведен запуск и в том случае, если декодирование субканала с программно полученным ключом не даст контрольного результата, просто не запуститься.

Данный вариант защиты еще более эффективен при совместном использовании с методом 2.

Метод 2.

Данные должны быть записаны на диск, содержащий “плохие” для чтения области. Подобные области не должны мешать чтению данных ни одним из принятых для данного формата методов. Попытки чтения этих областей при копировании компакт-диска должны закончиться негативно и прервать процесс копирования.

Существует целый ряд устройств для записи компакт-дисков, поддерживающих команды управления мощностью лазера и скоростью вращения вала привода. К ним относятся Plextor, Matsashita, Plasmon и некоторые модели Teac. Создание сбойной области на диске сводиться к процедуре хаотичного варьирования этих параметров в процессе записи при помощи SCSI-команд Optical Power Calibration и Set Shaft Spd [1,2]. Необходимым и достаточным условием последующего успешного чтения данных, записанных подобным образом, есть точный мониторинг сбойных зон в момент записи. Это означает, что записывающая программа варьирует параметры лазера до записи, после чего, при достижении нормальных условий записи на поверхность диска в данном месте, записывает эффективные данные. Причем данные Q-субканала, отвечающие за позиционирование следующего не сбойного сектора, формируются внутри пишущей программы, а не самим устройством и записываются отдельно.

Таким образом, используя этот алгоритм, мы можем получить защищенный диск с практически любыми данными.

Недостаток этого метода состоит в ощутимом уменьшении общего объема данных, которые возможно записать при повышении степени защиты диска. Однако преимущество метода в том, что ни одно устройство копирования не сможет сделать копию такого диска в режимах TAO (Track-at-Once), SAO (Session-at-Once) и RAW. Конечно пользователь может нелегально скопировать данные без дублирования структуры диска, но легко реализуемая программная проверка носителя, откуда запущена программа, не даст возможности для запуска программы не с оригинального компакт-диска.

Метод 3.

Запись данных на любой носитель всегда делается структурировано. Метод построения базовых структур для упорядочения информации на носителях принято называть файловой системой. Этот метод определяет такие параметры, как размер апертуры чтения/записи (что иногда ошибочно называют длинной сектора), способ формирования директориальных записей и таблицы размещения, синхронизационные данные и коды контрольных сумм.

Запись данных на компакт-диск производиться с использованием файловой системы CDFS (Compact Disc File System). При этом в служебной области формируется таблица размещения данных, содержащая векторы начала данных (дорожек или файлов) и длины.

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

При попытке копирования такого диска стандартная программа чтения определит, что диск заполнен, но суммарная длина всех файлов близка к нулю. И не сможет выполнить копирование ни в одном режиме, кроме режима RAW. С другой стороны, при запуске c такого диска программа-загрузчик, которая начнет работать автоматически, корректно прочитает данные из областей с нестандартной файловой системой, после чего приложение, записанное на диске, запуститься. Использование этого метода возможно вместе с методами 1 и 2, что еще в большей степени повышает надежность защиты.

Описанные методы позволяют осуществить защиту от попыток копирования с использованием режимов TAO, SAO и RAW. Однако следует помнить, что существует еще и метод снятия копии с матрицы-оригинала компакт-диска в заводских условиях, когда делается полная и точная физическая копия на пресс-станке, а потом тиражируется в нужных пиратам объемах. Но это уже скорее проблема в решении общих вопросов обеспечения безопасности на фирме-производителе. Поэтому мы считаем, что разработанные нами методы должны существенно снизить возможность нелегального копирования и тиражирования данных с компакт-диска.

Наши рекомендации