Русский
Русский
English
Статистика
Реклама

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

Защита документов от копирования

16.07.2020 20:13:21 | Автор: admin
Существует 1000 и один способ защиты электронных документов от несанкционированного копирования. Но как только документ переходит в аналоговое состояние (согласно ГОСТ Р 522922004 Информационная технология. Электронный обмен информацией. Термины и определения, понятие аналоговый документ включает в себя все традиционные формы представления документов на аналоговых носителях: бумаге, фото-и кинопленке и т. п. Аналоговая форма представления может быть преобразована в дискретную (электронную) форму с помощью различных методов оцифровки), количество способов его защиты от копирования резко сокращается, а стоимость их практической реализации также стремительно возрастает. Например, как это может выглядеть в правильной компании:

  1. Ограничить количество мест и применяемых технологий преобразования электронного документа в аналоговый.
  2. Ограничить количество мест и круг лиц, допущенных для ознакомления с содержимым аналоговых документов.
  3. Оборудовать места ознакомления с содержимым аналогового документа средствами видеофиксации, визуального контроля
  4. и т. п.

Рисунок 1

Кроме высокой стоимости, применение таких способов катастрофически снижает эффективность работы с документами.

Компромиссом может стать применение нашего продукта SafeCopy.

Принцип защиты документов


С помощью SafeCopy для каждого получателя изготавливается уникальная копия документа, в которую с помощью аффинных преобразований вносится скрытая маркировка. При этом могут немного изменяться интервалы между строками и символами текста, наклон символов и т.д. Главный плюс такой маркировки её нельзя убрать без изменения содержимого документа. Водяные знаки смываются обычным Paint, с аффинными преобразованиями такой фокус не пройдёт.

Рисунок 2

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

Для чего пригодится маркировка?


Защита конфиденциальных документов. Сценарий описан выше. Кратко так: промаркировали копии, выдали их получателям и бдим. Как только копия документа объявилась в неразрешенных местах, сравнили ее со всеми промаркированными копиями и оперативно определили владельца объявившейся копии.

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

Рисунок 3

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

Проверка подлинности документов. Про методы изготовления защищённой полиграфической продукции можно почитать у Вики. По сути, они сводятся к изготовлению бланков с разного рода маркировкой водяными знаками, специальными чернилами и т.д. Примеры такой продукции банкноты, страховые полисы, водительские удостоверения, паспорта и т.д. Такую продукцию нельзя изготовить на обычном принтере. Зато на нём можно распечатать документ с аффинными преобразованиями текста. Что это даёт?

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

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

Привлечение нарушителей к ответственности. Крупные утечки стоят компаниям больших денег. Чтобы наказание нарушителя не ограничилось выговором, необходимо привлечь его к ответственности в суде. Мы запатентовали свой способ защиты документов, чтобы в суде результаты SafeCopy принимались в качестве доказательств.

Чего не может маркировка?


Маркировка не панацея в борьбе с утечками данных и защите копий документов. Внедряя её на своём предприятии, важно понимать три ключевых ограничения:

Маркировка защищает документ, а не его текст. Текст можно запомнить и пересказать. Текст с маркированной копии можно переписать и отправить в мессенджере. От этих угроз не спасёт ничего. Здесь важно понимать, что в мире тотального фейка слив только части текста документа это не больше, чем электронные сплетни. Чтобы слив имел ценность, он должен содержать данные для проверки подлинности сливаемой информации печати, подписи и т.д. И здесь маркировка уже будет полезна.

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

Маркировка определяет, чья копия утекла, а не того, кто её слил. Пример из жизни документ утёк. Маркировка показала, что утек экземпляр Ивана Неудачникова (имя и фамилия изменены). Служба безопасности начинает расследование и выясняется, что Иван оставил документ на столе в своём кабинете, где его сфотографировал злоумышленник. Ивану выговор, службе безопасности квест по поиску виновных среди людей, посещавших кабинет Неудачникова. Такой квест нетривиален, но более прост, чем поиск среди людей, посещавших кабинеты всех получателей документа.

Смешивать, но не взбалтывать


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

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

Интеграция с СЭД. В СЭД выделяется подмножество документов, которые требуют маркировки. Каждый раз, когда новый пользователь запрашивает такой документ из СЭД, он получает его маркированную копию.

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

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

При отправке документа пользователь добавляет признак необходимости маркировки. В нашем случае служебный адрес электронной почты. Почтовый сервер, получая письмо с таким признаком, изготавливает для каждого получателя копии всех вложений и рассылает их вместо оригинальных вложений. Для этого на почтовый сервер устанавливается компонент системы маркировки. В случае с Microsoft Exchange он исполняет роль т.н. транспортного агента. Работе почтового сервера этот компонент не мешает.
Подробнее..

Перевод Самая хитрая защита флоппи-дисков

25.12.2020 10:05:30 | Автор: admin

Введение


Недавно я затеял одиссею по изучению защит гибких дисков

В своих предыдущих постах я уже рассказывал (напрямую или косвенно) о примерах интересных схем защиты гибких дисков:

  • Слабые биты. [ссылка: Weak bits floppy disc protection: an alternate origins story on 8-bit]. Защита слабыми битами реализуется так: часть поверхности диска оставляется пустой изменений потоков намагниченности. В условиях отсутствия сигнала привод гибких дисков повышает коэффициент усиления своего усилителя и видит шум, проявляющий себя как недетерминированные цифровые сигналы с диска.
  • Нечёткие биты. [ссылка: Technical Documentation Dungeon Master and Chaos Strikes Back Detailed analysis of Atari ST Floppy Disks]. При защите нечёткими битами изменения потоков намагниченности записываются с интервалами, отличающимися по времени от спецификации (например, MFM). Благодаря использованию интервалов прямо посередине пары ожидаемых значений (например, 5 мкс вместо ожидаемых 4 мкс или 6 мкс) можно заставить контроллер дисков возвращать недетерминированные цифровые сигналы.
  • Длинные/короткие дорожки. [ссылка: Turning a 400 BBC Micro (1981) into a $40,000 disc writer (1987)] [см. раздел Capabilities Unlocked] [Перевод статьи на Хабре]. При защите длинными дорожками запись переходов намагниченности выполняется чуть быстрее, чем обычно. Это может быть целая дорожка или только её часть. В любом случае, будет казаться, что дорожка содержит больше байтов, чем обычно должно быть в дорожке. Такая защита работает, потому что у контроллера гибких дисков обычно есть широкий допуск на битрейт, чтобы учитывать тот факт, что дисковые приводы естественным образом крутятся на разных скоростях.

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

Western что?


Не так легко найти компанию Western Security, Ltd., связанную с компьютером BBC Micro. Как же понять, что она существует? Во-первых, при разработке моего эмулятора beebjit [ссылка] я сделал множество ошибок и получил кучу багов. Разбираясь с точной эмуляцией гибких дисков, чтобы иметь возможность загрузки оригинальных защищённых образов дисков, я наткнулся на следующее:


Игра Jolly Jack Tar компании Sherston Software

Разумеется, автор оригинала не мог учесть такой ситуации. Дело или в неисправном диске (это не так), или в незаконной копии (не совсем правда) или в эмуляторе с багами. Вот ещё один экран ошибки. Вероятно, это более ранняя версия схемы защиты? В сообщении написано disk вместо disc и даже не учитывается то, что диск может быть повреждён:


Игра Phantom Combat компании Doctor Soft

(Я рискую сильно отклониться от темы, но вот ещё один скриншот. Он не связан с Western Security Ltd., но на нём тоже представлен специальный экран, отображаемый при сбое защищённого загрузчика диска. Этот случай интересен тем, что при обычной работе пользователь не увидит такого замечательного изображения!)


Такое сообщение показывает Disc Duplicator 3, если считает, что создаётся незаконная копия

Во-вторых, мы знаем название Western по маркерам дубликаторов дисков. Маркер дубликаторов дисков это специальная дорожка, написанная одним из коммерческого ПО для дублирования дисков. Обычно это одна дорожка после конца обычного диска, например, 41-я или 81-я дорожка диска. Несмотря на то, что она находится вне пределов диска, большинство приводов дисков ищет хотя бы одну дорожку за его границами. На этой дорожке обычно можно найти один заголовок сектора и тело сектора с ошибкой CRC. Это необычная конструкция, которая выявляется, например, когда моя программа discbeast [ссылка] изучает диск Jolly Jack Tar:


Просмотр Jolly Jack Tar в Discbeast

В маркере дубликатора есть дата и одна-две текстовые строки. В случае Jolly Jack Tar это:

86 07 01 (1986, July 1st)
523-037E WESTERN NM,10/256 PROT DUP 5"-48/40 1S SD SS
32173-2Aw

Существует и ещё одна менее распространённая строка маркер дубликатора, связанная с Western security, например, в Tens and Units компании Sherston Software. Похоже, это более ранняя версия-прототип:

85 10 31 (1985, October 31st)
523-037C BBC NM,10/256 WESTERN SEC. PROTO1 DUP 5"-48/40 1
70422-00w

Вкратце повторим основы защиты дисков


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

  • Диск легко считать, но сложно записать.

Диск должен относительно легко считываться. Если диск не может считываться стандартными контроллерами дисков, то вы не сможете продать диск, потому что покупатели не смогут его загрузить!

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

Защита дисков BBC Micro не пошла по этому пути первые диски, а также многие последующие диски были экзотичными, но их было не особо сложно создать при помощи стандартного контроллера дисков. Однако требовалась специальная программа. У компаний-производителей ПО, в отличие от пользователей, была их специальная программа мастеринга, поэтому в этом смысле диск было сложно записать. Но позже, когда появились стандартные программы копирования наподобие Disc Duplicator 3, диски внезапно оказалось копировать легко, если у вас или у друга была продвинутая программа для копирования дисков.

Однако некоторые первопроходцы BBC Micro действительно записывали диски, которые нельзя записать при помощи стандартного контроллера дисков. Наиболее примечательные из них:

  • Схема со слабыми битами Саймона Хослера, ссылка есть выше. (И здесь: [ссылка].) [1]
  • Многие диски, например, The Sentinel компании Firebird, прятали данные между секторами. [2]

[1] Одна из основных задач контроллера дисков запись точных поверхностей дисков, т.е. никогда не записывать слабые биты. Однако в современную эпоху я нашёл способ хитростью заставить контроллер Intel 8271 записывать слабые биты. Насколько я знаю, эта техника не была открыта и не использовалась в те времена.

[2] Я думаю, что при умном программировании данные между секторами можно записывать стандартными контроллерами дисков. Для этого потребуется выполнять запись на дорожку несколько раз и сбрасывать контроллер дисков в критические моменты времени. Однако я не встречал старых программ копирования дисков, пытавшихся копировать такие диски.

Анализ защищённого загрузчика Western Security Ltd.



В этой версии The Wizard's Revenge компании Sherston Software используется защита диска Western Security Ltd.

Вот скриншот из игры.


А вот, что делает с диском discbeast:


Здесь нет ничего особо необычного. Красный блок в конце обозначает дорожку с одним сектором, имеющим ошибку CRC. Это не часть защиты диска, а маркер дубликатора. Зелёным цветом обозначена стандартная схема секторов, в которой нет ничего особо экзотичного. Буквой D обозначено наличие удалённых секторов. Это защита диска, но она не экзотична и не сложна в копировании. Однако при загрузке диска в мой эмулятор beebjit при помощи контроллера гибких дисков Western Digital WD1770 и -log disc:commands мы получаем нечто весьма необычное:

info:disc:1770: command $E4 tr 1 sr 3 dr 1 cr $29 ptrk 1 hpos 1884

Команда $E4 обозначает считать дорожку. Она не используется при обычном выполнении загрузки диска, да и в любом другом известном защищённом загрузчике.

Настало время немного разобраться в загрузчике, чтобы понять, что происходит. Цель этого поста заключается не в подробном описании всех мельчайших деталей загрузчика. Как и многие защищённые загрузчики, он зашифрован, а точнее обфусцирован. Деобфускация производится им самостоятельно при помощи множества слоёв самомодификации. На PC $0657 выполняется вызов диска для загрузки части загрузчика из удалённых секторов в дорожке 9. Подобное легко можно спутать с частью защиты, но это не так. Ниже, на PC $3CF7, есть цикл:

[ITRP] 3CF7: JSR $3D16
[ITRP] 3CFA: LDA $75
[ITRP] 3CFC: SEC
[ITRP] 3CFD: SBC $3F4E
[ITRP] 3D00: TAX
[ITRP] 3D01: LDA $86
[ITRP] 3D03: STA $3F71,X
[ITRP] 3D06: INC $75
[ITRP] 3D08: LDA $3F4F
[ITRP] 3D0B: CMP $75
[ITRP] 3D0D: BCS $3CF7

Я не ожидаю, что его назначение будет понятно из данного фрагмента (без всех подпроцедур), но здесь в цикле обходятся дорожки с 1 по 8 включительно. Каждая дорожка полностью считывается и длина дорожки сохраняется в таблице по адресу $3F71. Ниже, на PC $3CB6, эти длины сравниваются с таблицей, расположенной по адресу $3D9B. Эта проверка особенно интересна. Чтобы защита от копирования считалась выполненной, подсчитывается количество дорожек, длина которых находится в пределах 1 от ожидаемой, и это количество должно быть равно 7 или 8. Мы сразу же видим, что эта защита не является точной технологией. И этого стоило ожидать: диски являются аналоговыми носителями, поэтому в начале и конце дорожки присутствует немного шума. При разных считываниях один и тот же диск на одном приводе и контроллере может демонстрировать незначительные вариации длин дорожек. Посмотрев на загрузку в beebjit, можно увидеть подсчитанные и ожидаемые длины. (0x4A == 3122 байта.)

Перехват с моего диска:

3F71: 4A 4D 4B 4A 4B 4D 4D 4A

Ожидания:

3D9B: 4A 4C 4B 4A 4B 4D 4C 4A

Как видите, мои считывания с диска почти в точности равны ожидаемым, за исключением дорожки 2, на которой насчитали 3125 байт вместо ожидаемых 3124. Эта разность находится в интервале погрешности 1, поэтому проверку прошли все 8 дорожек (а требуется 7 или больше).

Объясню подробнее: защищённый загрузчик ожидает, что длина дорожек с 1 по 8 (в байтах закодированных частотной модуляцией) должна быть равна 3122, 3124, 3123, 3122, 3123, 3124, 3123, 3122. Это невероятный уровень точности и прецизионности записи для технологий 1985 года. Каждый байт занимает на вращающемся диске примерно 64 мкс, но для приводов дисков той эпохи часто указывали отклонение RPM (оборотов в минуту) меньше 1,5%. При 300 об/мин, 1,5% это 3 мс на оборот! По моему опыту, приводы обладают гораздо большей точностью, но тем не менее! Как с этим справлялись технологии 1985 года?

Дополнительное примечание о контроллерах дисков WD1770 и Intel 8271. Мы сосредоточились на анализе защиты на контроллере WD1770. Этот диск также нормально загружается на контроллере Intel 8271. В нём используется совершенно другой путь выполнения кода, чтобы в данном случае вычислять длину дорожек косвенно. Это удалось сделать, потому что все байты-заполнители, записанные до конца дорожки, равны 0x00, а не обычному значению 0xFF. Используется чтение с выходом за границы последнего сектора дорожки, а длина дорожки определяется по смене считываемых значений с 0x00 на 0xFF.

Гениальный ход


И потом мы осознаём гениальность этой схемы. Что если они не записывали дорожки с чрезвычайной точностью, потому что таких технологий ещё не существовало? Что если они просто записывали дорожку любым способом, а затем изучали результат? Думаю, создатели защиты делали следующее:

  • Форматировали диск. (И всё достаточно обычного форматирования диска, и вы получите ужасно сложно защищённый диск.)
  • Считывали длины дорожек 1-8 диска, которые только что были записаны.
  • Для каждого диска генерировались, обфусцировались и записывались в загрузчик на дорожке 9 соответствующие таблицы ожидаемых длин дорожек.

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

  • Диск должно быть легко считывать, но сложно записывать.

Однако защиту Western Security Ltd. довольно легко записать, достаточно отформатировать диск. Поэтому, вероятно, мы должны сказать:

  • Диск должно быть легко считывать, но сложно воссоздать.

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

Чем мы можем подтвердить свою теорию? Например, найти второй диск с той же игрой The Wizard's Revenge и посмотреть, отличаются ли они. Я нашёл диск, и да, они отличаются. Мой первый диск, который рассматривался выше:

Track 0 sectors 10 length 3124 fixups 1 CRC32 2E6B86E9
Track 1 sectors 10 length 3122 fixups 0 CRC32 37E30EC8
Track 2 sectors 10 length 3125 fixups 1 CRC32 F7BDE89B
Track 3 sectors 10 length 3123 fixups 0 CRC32 BB1E32C3
Track 4 sectors 10 length 3122 fixups 1 CRC32 2EC84AF1
Track 5 sectors 10 length 3123 fixups 0 CRC32 58FD732B
Track 6 sectors 10 length 3125 fixups 0 CRC32 43416F5A
Track 7 sectors 10 length 3125 fixups 1 CRC32 B3D8AB10
Track 8 sectors 10 length 3122 fixups 1 CRC32 8D02AC32
Track 9 sectors 10 length 3125 fixups 1 CRC32 75B1F57B
Track 10 sectors 10 length 3123 fixups 1 CRC32 D2B0A1EF
[...]

Другой диск:

Track 0 sectors 10 length 3126 fixups 1 CRC32 2E6B86E9
Track 1 sectors 10 length 3129 fixups 1 CRC32 37E30EC8
Track 2 sectors 10 length 3127 fixups 1 CRC32 F7BDE89B
Track 3 sectors 10 length 3127 fixups 1 CRC32 BB1E32C3
Track 4 sectors 10 length 3127 fixups 1 CRC32 2EC84AF1
Track 5 sectors 10 length 3129 fixups 1 CRC32 58FD732B
Track 6 sectors 10 length 3129 fixups 1 CRC32 43416F5A
Track 7 sectors 10 length 3128 fixups 1 CRC32 B3D8AB10
Track 8 sectors 10 length 3128 fixups 1 CRC32 8D02AC32
Track 9 sectors 10 length 3127 fixups 1 CRC32 1F5ABD44
Track 10 sectors 10 length 3128 fixups 0 CRC32 D2B0A1EF
[...]

Как мы видим, данные секторов (указанные в CRC32) дисков одинаковы, за исключением дорожки 9, на которой хранится таблица ожидаемых длин дорожек. А длины самих дорожек отличаются. В обоих случаях присутствуют колебания длин дорожек, а в случае второго диска дорожки чуть длиннее. Это значит, что привод, форматировавший диск, работал с чуть меньшим RPM, позволяя записать больше байтов за один оборот.

Есть и второй способ подтверждения нашей теории. Я спросил у Саймона Хослера, написавшего в 1980-х много игр для Sherston Software, помнит ли он какие-нибудь подробности. Он рассказал следующее:

Western Security создавал не я, но думаю, она работала так Она работала потому, что каждый привод дисков работает на своей скорости. Поэтому когда привод создаёт дорожку на диске, то после добавления всех заголовков, секторов и прочего, остаётся немного незаполненного пространства, куда он записывает немного заполняющих битов, которые ничего не делают. Количество заполняющих битов зависит от точной скорости форматирующего привода. Поэтому при копировании оно будет отличаться. Помню, эта система доставляла много проблем, потому что приводы дисков постоянно менялись (?). [...] систему называли Fingerprinting

Остаётся загадкой, как с созданием таких дисков мог справляться коммерческий дубликатор. Я нашёл отсылки к скрипту Freeform [ссылка], использовавшемуся совместно с дубликаторами Trace. Мне не удалось найти руководства по этому скриптовому языку. После деобфускации в памяти загрузчика остаются какие-то странные фрагменты, возможно они как-то с ним связаны?

3F80: 54 70 00 41 44 44 20 20 20 20 20 72 00 4D 4F 56 Tp.ADD r.MOV
3F90: 45 54 4F 20 20 74 00 55 4E 49 54 20 20 20 20 75 ETO t.UNIT u
3FA0: 00 54 52 41 43 4B 20 20 20 76 00 53 45 43 54 4F .TRACK v.SECTO
3FB0: 52 20 20 77 00 54 4F 50 54 52 41 43 4B 78 00 55 R w.TOPTRACKx.U

Воссоздание защищённых дисков в стиле Western Security


У меня завалялась пара сильно отличающихся приводов дисков, поэтому я решил их попробовать. Я отформатировал диск в каждом приводе, затем посмотрел на длины дорожек (в байтах), считанных контроллером дисков WD1772 в реальном компьютере BBC Micro model B.


Первый претендент: мой привод Chinon F-051MD. Это более старый привод, всего с 40 дорожками и только односторонний. Механизм дверки с защёлкиванием позже вышел из моды (может, был менее надёжным?). Ещё один способ его датировки крупный основной чип в стиле DIP. Это NEC D8048, который был клоном Intel 8048! (В нём есть ROM, который мне когда-нибудь ещё предстоит извлечь!)


Второй претендент: не мой Mitsuibish MF504C, но довольно похожий. Гораздо более новый привод, с 80 дорожками и двухсторонний. Обратите внимание на более новые чипы, опрятную проводку и упрощённый механизм защёлкивания. Здесь этого не видно, но у него ещё и шаговый двигатель меньшего размера (следующее поколение?).

Длины дорожек с Chinon F-051MD:

[...]
Track 1 sectors 10 length 3137 fixups 1 CRC32 67F0950E
Track 2 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 4 sectors 10 length 3139 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 6 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 7 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 8 sectors 10 length 3139 fixups 1 CRC32 67F0950E
Track 9 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 10 sectors 10 length 3140 fixups 1 CRC32 67F0950E
[...]

Длины дорожек с Mitsubishi MF504C:

[...]
Track 1 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 2 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3118 fixups 0 CRC32 67F0950E
Track 4 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 6 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 7 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 8 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 9 sectors 10 length 3118 fixups 1 CRC32 67F0950E
Track 10 sectors 10 length 3119 fixups 1 CRC32 67F0950E
[...]

Эти два привода определённо имеют уникальные отпечатки пальцев! У более старого привода присутствует чуть больше вариативности/колебаний в длинах отдельных дорожек. На самом деле, похоже, что в последних секторах он может уместить больше байтов на дорожку большинство последних дорожек имеет длину 3142. Кроме того, старый привод обычно может уместить 20 или чуть больше байтов на дорожку. Это означает, что он вращается чуть медленнее. Более новый привод работает как часы, с минимальными флуктуациями длин дорожек. Из-за этого он чуть меньше подходит для генерации уникальных для каждого диска отпечатков пальцев, но копирование диска на домашнем компьютерном оборудовании всё равно будет сложным в используемой машине должен быть установлен привод с точно такой же прецизионностью, и привод должен работать точно с такой же скоростью, что и при записи оригинального диска.

В последний раз взглянем на длины дорожек, на этот раз с диска игры Phantom Combat компании Doctor Soft. В этом диске используется защита Western Security Ltd.:


Ничто так не свидетельствует о слишком переусложнённой защите дисков, как наклейка с предупреждением о совместимости (слева посередине). На наклейке написано, что поддерживаются только ROM-ы дисков Acorn. К сожалению, ROM-ы дисков других компаний были распространены намного больше.

[...]
Track 1 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 2 sectors 10 length 3152 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 4 sectors 10 length 3152 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3151 fixups 0 CRC32 67F0950E
Track 6 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 7 sectors 10 length 3150 fixups 0 CRC32 67F0950E
Track 8 sectors 10 length 3151 fixups 0 CRC32 67F0950E
[...]

Это и есть защита диска, скрытая под самым нашим носом. Это 8 защищённых дорожек, которые на самом деле являются дорожками с совершенно стандартным форматированием (CRC32 67F0950E). В них правильное количество секторов и там нет удалённых секторов. Программа discbeast отобразит эти дорожки сплошным зелёным цветом, то есть скажет, что ничего необычного в них нет!

Длина дорожек немного колеблется, а кроме того, дорожки необычно длинные (в идеале их длина составляет 3125 байтов). Не совсем понятно, намеренно ли дорожки записывались чуть длиннее, но это определённо помогает защите дисков. Любой привод дисков, который будут использовать для воссоздания этих дорожек, вряд ли будет вращаться с такой скоростью, потому что она на 0,8% медленнее, а технология двигателей приводов дисков обычно даёт результаты лучше. Интересно заметить, что простая защита длинными дорожками является всего лишь ещё одним вариантом в схеме Western Security.

Вероятно, этот диск записывался на самом BBC Micro, а не на какой-то сложной машине для дублирования: об этом говорит отсутствие маркеров дубликаторов; кроме того, секторы данных игры свидетельствуют, что их записывали посекторно, а не по дорожкам. Кто знает, возможно разработчики намеренно стремились найти медленный привод; у некоторых старых приводов даже есть крутящийся регулируемый резистор для изменения скорости двигателя.

Заключение


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

Подозреваю, что даже современное оборудование, например, Greaseweazle, будет испытывать проблемы с достижением побайтовой точности; необходимо дополнить его высококачественным приводом дисков, вращающимся с очень стабильной скоростью (например, моим Mitsubishi MF504C).

Я снова поговорил с Саймоном, и насколько он знает, защиту реализовал Джордж Килинг, с которым бы я хотел связаться только затем, чтобы похвалить его за потрясающую работу.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru