Иван Трещев – Низкоуровневый анализ машинного кода. Для студентов технических специальностей (страница 5)
Ubisoft официально объявили о возвращении онлайн-аутентификации 9 февраля 2010 года. Они представили свою новую онлайн игровую платформу Uplay, которую начали использовать в таких играх, как Silent Hunter 5, The Settlers 7 и Assassin’s Creed II. Silent Hunter 5 взломали в течение 24 часов с момента релиза. Однако, пользователи пиратской версии могли играть только в начальные уровни игры. Система Uplay работает таким образом, что на пользовательский ПК игра устанавливается не полностью, а докачивает содержимое с игровых серверов Ubisoft по мере прохождения игры. Чуть более, чем через месяц после релиза на ПК, в первую неделю апреля, было выпущено ПО, с помощью которого можно было обойти DRM-защиту в Assassin’s Creed II. ПО являло собой эмулятор сервера Ubisoft для игры. Чуть позже, в этом же месяце, была выпущена версия, которая убирала необходимость в соединении с серверами полностью.
В начале марта 2010 года сервера Ubisoft подверглись масштабной DDoS-атаке, что привело к закрытию доступа к играм для ~5% игроков. В качестве компенсации за принесённые неудобства, компания предоставила пострадавшим пользователям по бесплатной скачиваемой игре. С марта 2010 года сервера Ubisoft больше не падали.
Примеру Ubisoft последовали и другие разработчики, такие, как Blizzard Entertainment. Они также перешли на вариант защиты, когда большая часть игровой логики находится «на стороне», или обрабатывается серверами создателя игры. Blizzard использует подобный подход в своей игре Diablo III. Electronic Arts использовали такой подход в своей перезагрузке сериала SimCity. Надо сказать, что подобный подход отрицательно повлиял на обе компании, ибо они просто не смогли справиться с количеством игроков на серверах, что привело к многочисленным жалобам и растущему недовольству пользователей. Electronic Arts пытается убрать необходимость постоянного подключения к серверам, но пока это не представляется возможным, ибо вся игра была создана с учётом этого.
Вмешательство в ПО
Некоторые студии в качестве защиты используют не совсем стандартные подходы. Bohemia Interactive использует DRM-схему, которая при запуске нелегальной копии игры просто мешает играть, начиная с 2001 года, с выходом Operation Flashpoint: Cold War Crisis. Игра начинает создавать ситуации, в которых у игроков снижается точность оружия, или, например, сами игроки превращаются в птиц. Компания Croteam в своей игре Serious Sam 3: BFE использовала похожий подход, натравливая на игроков, использующих нелегальные копии игры, монстра, которого невозможно было убить.
5 Общий анализ средств защиты ПО от копирования
В большинстве случаев наиболее надежными и эффективными остаются технические способы защиты, но для успешного противостояния всем угрозам разработчики коммерческого ПО должны озаботиться вопросами информационной безопасности еще на старте разработки нового продукта. А вопросов здесь по большому счету два: как защитить свои ноу-хау и как противостоять нелегальному копированию?
Методы защиты софта от нелегального копирования развивались и эволюционировали последние 30 лет. В эпоху, когда не было Интернета, сканеры и ксероксы являлись экзотической редкостью, а операционные системы были однозадачными, производители компьютерных игр привязывали свой софт к поставляемому с ним печатному мануалу. В какие-то моменты использования программы требовалось найти что-то в руководстве пользователя.
Когда этот метод потерял актуальность, стали использоваться более продвинутые технические методы (например, ключевые дискеты). Использовались искусственно созданные сбойные секторы дискет, нестандартное форматирование и «плавающие» биты. И хотя некоторые производители (например, российская компания Abbyy) использовали этот метод защиты вплоть до недавнего времени, на смену им пришли новые технологии.
Недорогой софт, выпускаемый в промышленных масштабах (особенно компьютерные игры), проще всего защищать, привязывая к носителю (CD- или DVD-дискам). Там используются, по сути, те же методы, которыми раньше защищали дискеты: нестандартное форматирование, сбойные секторы на диске, специально закодированный таким образом ключ. В качестве дополнительной меры защиты в системе может устанавливаться специальный защищенный драйвер, призванный бороться с различными эмуляторами. Этот метод защиты сравнительно дешев и подходит для широко тиражируемых продуктов. К ограничениям можно отнести не самую высокую степень защиты и неудобство, вызванное привязкой к физическому носителю. Самые известные системы защиты по такой технологии: SecuROM, StarForce, SafeDisk, Tages.
5.1 Электронные ключи
Для защиты более дорогого программного обеспечения применяются электронные ключи или интернет-активация с привязкой к оборудованию. Электронные ключи выигрывают здесь с точки зрения защищенности: в отличие от ключевой дискеты или привязки к CD, электронный ключ в домашних условиях невозможно скопировать, а изучить «внутренности» довольно затруднительно без специального оборудования. Кроме того, современные микропроцессоры в электронных ключах позволяют шифровать трафик между ключом и защищенным приложением криптографическим алгоритмом на одноразовых сессионных ключах, что уничтожает возможность применения целого класса эмуляторов. При использовании этого метода защиты надо понимать, что благодаря технологиям современных ключей можно построить очень эффективную и взломостойкую защиту, но для этого нужно проектировать защиту вместе с проектированием архитектуры самого приложения.
Отдельной строкой идут электронные ключи с возможностью загрузки внутрь произвольного пользовательского кода. Если при разработке приложения хотя бы часть уникальных алгоритмов приложения перенести в такой ключ, а оставшуюся «снаружи» часть приложения заставить постоянно общаться с ключом с помощью асимметричной криптографии (например, в ключ периодически посылаются произвольные данные для выполнения электронно-цифровой подписи), то можно выстраивать защиту с гарантированной взломостойкостью.
5.2 Интернет-активация
Неудобство распространения физических носителей и электронных ключей, а также развитие Интернета и цифровой дистрибуции привели к взрывному росту популярности различных методов онлайн-защиты.
Компания Microsoft с 1999 г. начала применять интернет-активацию в большинстве своих продуктов, и вот уже более 10 лет сотни миллионов копий ее программного обеспечения успешно защищаются таким образом. Суть защиты состоит в том, что приложение вычисляет параметры оборудования, на которое оно установлено (серийные номера материнской платы, процессора и т.д.), в зашифрованном виде пересылает их на сервер активации и после получения ключа приложение начинает работать в полную силу, но оказывается привязанным к «железу», куда оно установлено.
Преимуществ у онлайн-за-щиты множество. Например, отсутствие физических носителей, что означает как отсутствие проблем с пересылкой электронных ключей и дисков, так и невозможность их механических поломок. Также можно отметить относительную дешевизну внедрения и поддержки этого метода защиты и, конечно, возможность широкой цифровой дистрибуции и «мгновенной» покупки ПО из любой точки Земли.
Однако стойкость всех вышеперечисленных методов защиты упирается в сложность реверсинга приложения и его технологий привязки к диску, электронному ключу или онлайн-активации. Поэтому крайне необходимо защитить приложение не только от копирования, но и от изучения и отладки.
5.3 Обфускация кода
Несмотря на то что ассемблер современных процессоров не так прост для понимания, как высокоуровневый С-код, опытный взломщик с большой долей вероятности сможет при наличии времени и сил воспроизвести любые алгоритмы в приложении, включая и те, что обеспечивают защиту от копирования. И если где-то существует заблуждение, что сама по себе компиляция в машинный код – это уже хорошая защита, то в современном мире это не так, не говоря уже о том, что множество технологий не предусматривает компиляции в машинный код, а анализировать байт-код или промежуточное представление куда легче (например,.NET, Java или ActionScript).
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.