Метод и средства защиты исполняемого программного кода от динамического и статического анализа


Download 482 Kb.
bet4/20
Sana18.06.2023
Hajmi482 Kb.
#1555637
TuriРеферат
1   2   3   4   5   6   7   8   9   ...   20
Bog'liq
Аранов, Владислав Юрьевич

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

    1. Недостатки существующих существующих подходов и средств защиты и постановка задачи исследования

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

  • защита алгоритмов работы ПО (т.е. защита от реинжиниринга),

  • защита ПО от несанкционированного использования (после покупки требуется ввод серийного номера, привязанного к оборудованию),

  • защита ПО от несанкционированного копирования (например, DVD-дисков).

По операционным системам данные решения делится на:

  • защита Windows-приложений

  • защита мобильных приложений на всех платформах (основные: Windows Mobile, WinCE, Android, iPhone)

  • защита для Apple/Мас

  • защита для Linux

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


10





имеют решения для всех видов защит. Например, компания Oreans предоставляет ПО для всех видов защит, что описано ниже. Есть компания, которая предоставляет средства защиты почти для всех операционных систем, в списке нет только Apple. Это компания Flexera, ее продукт FlexLM поддерживает Windows (все версии), WinCE, Linux, VxWorks.
Наиболее крупные компании в этой сфере — это следующие пять компаний: Flexera Software (США), Oreans Technologies (США), StarForce (Россия), VMProtect (Россия), Silicon Realms(CUIA). Краткая информация об их продуктах представлена в табл. 1.1.
Таблица 1.1


Характеристики протекторов - лидеров в области защиты ПО

Компания

Продукт

Качество

Популярность в мире

Flexera Software (США) (входит в Rovi Corp)

FlexNet Publisher (FlexLM)

Среднее

Высокая

Oreans Technologies (США)

Code Virtualizer - защита кода Themida - защита приложения WinLicense - серийные номера

Отличное

Высокая

StarForce
(Россия)

FrontLine
ProActive
Crypto

Хорошее

низкая;
в РФ - высокая

VMProtect Software (Россия, Екатеринбург)

VMProtect Lite /
Professional /
Ultimate

Хорошее

Низкая

Silicon Realms (США, группа Digital River)

SoftwarePassport (Armadillo) - защита приложения

Среднее

Средняя


Крупнейшей системой защиты в мире является «Flex» («FlexLM», «FlexNet»). Следует отметить, что все версии этой защиты были взломаны, в частности, для таких защищенных продуктов-гигантов, как Adobe Photoshop, Adobe Creative Suite, Autodesk Autocad, Autodesk 3DS MAX. Несмотря на существующие взломанные версии, производители ПО продолжают использовать эту защиту.


11




Крупнейшей системой защиты в России является StarForce. Особенность продуктов StarForce - наличие специализированных версий для всех возможных вариантов использования ПО: от записи CD/DVD-дисков и защиты образовательных программ до распространения программ с серийными ключами в интернете и многопользовательских онлайн игр. Все популярные игры с защитой StarForce были взломаны. Надо отметить активную работу компании по выпуску «патчей», т.е. обновлений системы защиты для противодействия взлому.
Как видно в табл. 1.1 компания Oreon Technologies представляет наиболее качественные услуги по защите программного обеспечения. Кроме хорошего качества, она так же выделяется обширной линейкой продуктов, и, таким образом, ее интересы сосредоточены в различных направлениях защиты ПО. Продукт Themida - это протектор для приложений. WinLicense — это тот же протектор с добавлением возможности защиты приложений на основе разного рода серийных номеров [7]. SDK WinLicense управляет генерацией этих серийных номеров, их проверкой, безопасным хранением, привязкой к железу, созданием временных серийных номеров с истечением срока к указанной дате или через указанное число запусков, созданием приложений, защищенных паролем и так далее. И, наконец, CodeVirtualizer - это независимая часть Themida, которая позволяет исключительно преобразовывать указанные функции внутри приложения в код для виртуальной машины Themida. Никакой другой защиты он не обеспечивает (защиты от отладки, шифрования, проверок целостности и прочего в нем нет). Таким образом, CodeVirtualizer для защиты кода использует метод виртуализации, что в не последнюю очередь повлияло на качество этого продукта.
Так же хочется выделить компанию VMProtect, которая для своих приложений использует метод виртуализации кода, как один из основных методов защиты программного обеспечения. В настоящее время их наиболее популярный продукт - VMProtect SenseLock Edition (VMProtect SE) - это совместная разработка компании "VMProtect Software" и "Seculab", в которой реализованы все новейшие достижения в области защиты программного обеспечения от несанкционированного использования [8,9]:

  • виртуализация исполняемого кода;

  • упаковка и шифрование защищаемого файла;

  • выполнение кода защиты с использованием электронного ключа;

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

  • протокол обмена данными с электронным ключом на основе асимметричного алгоритма RSA-1024, исключающий появление эмуляторов.


12




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

Download 482 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   20




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling