Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Крис Касперски
Копировщики лазерных дисков совершенствуются с каждым днем, но и разработчики защитных механизмов не дремлют, тем не менее новые защиты тут же ломаются. Почему? Вашему вниманию предлагаем обзор наиболее популярных ошибок и конструктивных просчетов с рекомендациями по их устранению, а также законченный алгоритм чрезвычайно стойкой защиты, не копируемой никаким копировщиком.
Хакерская мудрость гласит: «взломать можно все, это только вопрос времени». Программный продукт, ориентированный на массовый рынок, такая ситуация вполне устраивает. Какой-то процент пользователей покупает программу, какой-то нет. Но для специализированных программных комплексов (расчет прецизионного литья или звездных спектров), количество пользователей которых измеряется какими-то тысячами, такой подход уже неприемлем. Потенциальный рынок настолько мал, что каждая нелегальная копия чувствуется весьма болезненно. Значит, надо защищать так, чтобы не взломали, но как?
У нас две новости – хорошая и не очень. Надежные защиты все-таки существуют, но их разработка требует больших усилий и знания реалий. Это довольно заковыристая предметная область, и с одной лишь теоретической подготовкой в нее не войдешь. Тем не менее спрос рождает предложение, и автор статьи делится своим многолетним опытом по созданию стойких защитных комплексов.
Основные концепции защиты
Главное свойство защиты – это надежность (не путать со стойкостью ко
взлому). Защита должна уверенно работать на всем спектре программно-аппаратного
обеспечения с заранее непредсказуемыми свойствами. Антиотладочные приемы
следует использовать с большой осторожностью или не использовать вообще,
поскольку от них слишком много проблем. К тому же защита должна быть проста в
реализации и отладке. Например, если часть функционала вынесена в
микроконтроллер, смонтированный на отдельной печатной плате, подключаемой через
PCI-шину или COM/USB/LPT-порт, взлом становится не только нерентабельным, но и
практически невозможным. Конечно, при условии, что микроконтроллер не позволяет
считывать ПЗУ (некоторые приемы аппаратного взлома можно найти на страничке
Сергея Скоробогатого:
Рисунок 1. Электронный ключ…
Рисунок 2. …и его взлом путем считывания содержимого EEPROM под микроскопом с увеличением 500х
Защита не может отталкиваться ни от серийных номеров, ни от ключевых файлов, поскольку всегда найдется пользователь, пожелавший разделить себя с миром, и, в общем-то, по-своему он будет прав. Черные списки «засвеченных» серийных номеров и прочие организационные меры, как показывает практика, недостаточно эффективны и со своей задачей не справляются.
Также недопустимо привязываться к оборудованию,
поскольку потребители очень не любят, когда ограничивают их свободу. К тому же,
если стоимость защищенного комплекса составляет хотя бы 500$, хакеры могут
клонировать весь компьютер целиком, особенно если это будут китайские хакеры
(цены на оборудование в Азии намного ниже европейских). Наиболее популярным
объектом привязки служит серийный номер жесткого диска и MAC-адрес сетевой
карты, которые легко изменить (в частности, для жесткого диска можно
воспользоваться комплексом PC-3000 от ACE Laboratory –