Копирование без границ или передовые методики защиты CD

         

Защита от мониторов шины


Для взлома защиты не всегда требуется дизассемблировать код. Вместо этого можно запустить монитор шины для перехвата обмена программы с приводом. Анализируя последовательность вызовов SCSI/ATAPI команд, вполне реально разгадать алгоритм защиты, определив к каким именно характеристикам диска она привязалась.

Большой популярностью пользуется монитор Bus Hound, ознакомительную версию которого можно бесплатно скачать с сайта http://www.perisoft.net/bushound. Он не только позволяет перехватывать USB 1.0/2.0, SCSI/ATAPI/IDE/SATA, FireWire, Bluetooth, Fibre Channel порты, но еще и отображает относительное и абсолютное время выполнения запросов, что существенно облегчает исследование защит, основанных на временных характеристиках.

Наша защита никак не противодействует мониторам шины (Star-Force, кстати говоря, тоже), поэтому все команды видны как на ладони и алгоритм привязки становится понятным с первого взгляда (см. рис. 10).

Рисунок 10 исследование защиты с помощью монитора шины

Как "ослепить" монитор? Можно, конечно, использовать прямой доступ к IDE-контроллеру или разнообразные антиотладочные (точнее, "анти-мониторные") приемы, только… все это сложно, потенциально конфликтно и вообще ненадежно. Лучше "разбавлять" наши команды большим количеством "мусорных" SCSI/ATAPI-команд, чтобы затеряться на их фоне. Алгоритм станет неочевидным и анализ потребует намного больше времени и усилий. Один нюанс: "мусорные" команды ни в коем случае нельзя генерировать на случайной основе, в противном случае, хакер снимет несколько дампов, выделит в них постоянную часть, а все остальное отбросит за ненадобностью. А вот основные команды лучше выбирать случайным образом. В частности, для чтения сектора можно использовать и READ 10/12, и READ CD и READ CD MSF, и некоторые другие.



Содержание раздела