защита программного обеспечения что это

ЗАЩИТА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

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

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

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

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

Так статья 7.12. Кодекса Российской Федерации об административных правонарушениях предусматривает административную ответственность за нарушение авторских и смежных прав, изобретательских и патентных прав. А статьей 146 Уголовного кодекса Российской Федерации за нарушение авторских и смежных прав, если это нарушение привело к причинению крупного ущерба, установлена уголовная ответственность.

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

Локальная программная защита

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

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

Сетевая программная защита

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

Глобальная программная защита

Если программа работает с каким-то централизованным сервером и без него бесполезна (например, сервера обновлений антивирусов), она может передавать серверу свой серийный номер; если номер неправильный, сервер отказывает в услуге. Недостаток в том, что, существует возможность создать сервер, который не делает такой проверки.

Защита при помощи компакт-дисков

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

Для защиты от копирования используется:

— запись информации в неиспользуемых секторах;

— проверка расположения и содержимого «сбойных» секторов;

— проверка скорости чтения отдельных секторов.

Первые два метода практически бесполезны из-за возможности снятия полного образа с диска с использованием соответствующего прикладного программного обеспечения. Третий метод считается более надежным (используется, в частности, в защите StarForce). Но существуют программы, которые могут эмулировать диски с учётом геометрии расположения данных, тем самым обходя и эту защиту. В StarForce, в числе прочих проверок, также выполняется проверка возможности записи на вставленный диск. Если она возможна, то диск считается не лицензионным. Однако, если образ будет записан на диск CD-R, то указанная проверка пройдет. Возможно, также, скрыть тип диска, чтобы CD-R или CD-RW был виден как обычный CD-ROM. Однако, в драйвер защиты может быть встроена проверка на наличие эмуляции.

В настоящее время наибольшую известность в мире имеют системы защиты от копирования SecuROM, StarForce, SafeDisc, CD-RX и Tages.

Защита при помощи электронных ключей

Электронный ключ, вставленный в один из портов компьютера (с интерфейсом USB, LPT или COM), содержит ключевые данные, называемые также лицензией, записанные в него разработчиком защищенной программы. Защита программы основывается на том, что только ему (разработчику) известен полный алгоритм работы ключа.

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

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

Привязка к параметрам компьютера и активация

Привязка программного обеспечения к информации о пользователе / конфигурации компьютера и последующая активация программного обеспечения в настоящий момент используется достаточно широко (пример – операционная система Windows).

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

защита программного обеспечения что это. Смотреть фото защита программного обеспечения что это. Смотреть картинку защита программного обеспечения что это. Картинка про защита программного обеспечения что это. Фото защита программного обеспечения что это

Достоинство данного метода защиты заключается в том, что не требуется никакого специфического аппаратного обеспечения, и программу можно распространять посредством цифровой дистрибуции (по сети Интернет).

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

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

Защита программ от копирования путём переноса их в онлайн

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

ЗАКЛЮЧЕНИЕ

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

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

начальник кафедры административно-правовых

дисциплин и информационного обеспечения ОВД

полковник полиции ___________________________Григорьев А.Н.

«___»______________ 2012 г.

Замечания и предложения по содержанию лекции:

Источник

Защита ПО от копирования и взлома: основные методы и стратегии

защита программного обеспечения что это. Смотреть фото защита программного обеспечения что это. Смотреть картинку защита программного обеспечения что это. Картинка про защита программного обеспечения что это. Фото защита программного обеспечения что это

По статистике, приведенной в исследовании 2018 BSA Global Software Survey:

Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».

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

Что касается доходов, то по данным BSA бизнес, который решит серьезно отнестись к защите своих программных продуктов, может рассчитывать на повышение прибыли примерно на 11% (впрочем, важно понимать, что это среднее значение).

Но что можно сделать для защиты своего ПО?

Есть много различных решений для лицензирования и защиты программного обеспечения. Прежде чем выбрать какой-то для себя, стоит ответить на несколько важных вопросов.

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

Во-вторых, нужно спросить себя, сколько вы готовы потратить на защиту. Ответ может быть сложным, поэтому, чтобы сделать правильный выбор, стоит проанализировать то, что может понадобиться именно вам.

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

Ключевые элементы защиты

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

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

Виды защит

Как и говорилось выше, есть различные опции для защиты ПО от взлома и копирования. Эти опции могут отличаться по стоимости, уровню защиты и специализации.

Защита по «доверию». Здесь вы рассчитываете на то, что пользователи будут платить без всяких проблем. Один пользователь — одна лицензия, вечная. В принципе, затрат с вашей стороны практически нет. Как только приложение скомпилировано, его можно начать распространять. Но проблема в том, что если ваш продукт станет популярным, то кто-то точно его взломает, начав раздавать. Защиты от взлома в таком случае нет, она нулевая.

Речь идет о защите без подключения к интернету. Обычно реализуется такая схема сразу после компиляции программы. Чаще всего используется программная оболочка с определенными настройками. Защищенная программа не подключается для проверки целостности ни к каким внешним серверам. В принципе, обойти такую защиту можно без всяких проблем.

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

При желании можно добавить опции проверки ПО: как используется, есть лицензия или нет. Если требуется постоянное подключение к сети, то продукт, скорее всего, будет работать не всегда и не везде.

Степень серьезности такой защиты — между средним и высоким уровнем.

Один из наиболее надежных методов, который сочетает в себе преимущества всех прочих стратегий. За лицензирование отвечает электронный USB-ключ, которому не требуется подключение к сети. Цена каждого ключа для разработчика низкая, нет периодических дополнительных трат. Реализовать можно как при помощи API, так и посредством программной оболочки.

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

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

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

О защите ПО стоит подумать еще на стадии проектирования: после того как проект готов частично или полностью, изменить что-то будет непросто.

Источник

Защита программного обеспечения что это

защита программного обеспечения что это. Смотреть фото защита программного обеспечения что это. Смотреть картинку защита программного обеспечения что это. Картинка про защита программного обеспечения что это. Фото защита программного обеспечения что это

Защита программного обеспечения — комплекс мер, направленных на защиту программного обеспечения от несанкционированного приобретения, использования, распространения, модифицирования, изучения и воссоздания аналогов.

Защита от несанкционированного использования программ — система мер, направленных на противодействие нелегальному использованию программного обеспечения. При защите могут применяться организационные, юридические, программные и программно-аппаратные средства.

Защита от копирования к программному обеспечению применяется редко, в связи с необходимостью его распространения и установки на компьютеры пользователей. Однако, от копирования может защищаться лицензия на приложение (при распространении на физическом носителе) или его отдельные алгоритмы.

Технические средства защиты

Методы можно классифицировать по способу распространения защищаемого программного обеспечения и типу носителя лицензии.

Локальная программная защита

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

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

Сетевая программная защита

Сканирование сети исключает одновременный запуск двух программ с одним регистрационным ключом на двух компьютерах в пределах одной локальной сети.

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

Если программа работает с каким-то централизованным сервером и без него бесполезна (например, сервера онлайн-игр, серверы обновлений антивирусов). Она может передавать серверу свой серийный номер; если номер неправильный, сервер отказывает в услуге. Недостаток в том, что, существует возможность создать сервер, который не делает такой проверки. Например, существовал сервер battle.da, который по функциям был аналогичен Battle.net (от компании Blizzard Entertainment), но пускал пользователей неавторизованных копий игр. Сейчас этот сервер закрыт, но существует немалое количество PvPGN-серверов, которые также не проверяют регистрационные номера.

Защита при помощи компакт-дисков

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

Как правило, этот способ защиты применяется для защиты программ, записанных на этом же компакт-диске, являющимся одновременно ключевым.

Для защиты от копирования используется:

Первые два метода практически бесполезны из-за возможности снятия полного образа с диска с использованием соответствующего прикладного ПО. Третий метод считается более надёжным (используется, в частности, в защите StarForce). Но существуют программы, которые могут эмулировать диски с учётом геометрии расположения данных, тем самым обходя и эту защиту. В StarForce, в числе прочих проверок, также выполняется проверка возможности записи на вставленный диск. Если она возможна, то диск считается не лицензионным. Однако, если образ будет записан на диск CD-R, то указанная проверка пройдет. Существует возможность скрыть тип диска, чтобы CD-R или CD-RW был виден как обычный CD-ROM. Однако, в драйвер защиты может быть встроена проверка на наличие эмуляции.

В настоящее время наибольшую известность в мире имеют системы защиты от копирования SecuROM, StarForce, SafeDisc, CD-RX и Tages.

Для многих программ указанный метод защиты недоступен ввиду отличного способа распространения (например, shareware-программы).

Защита при помощи электронных ключей

Электронный ключ (донгл), вставленный в один из портов компьютера (с интерфейсом USB, LPT или COM) содержит ключевые данные, называемые также лицензией, записанные в него разработчиком

Достоинства защиты с использованием электронных ключей:

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

Ранее к недостаткам можно было также отнести невысокое быстродействие ключа (в сравнении с CPU компьютера). Однако современные ключи достигают производительности в 1.25 DMIPS (пример — HASP, Guardant), а техника защиты с их помощью не предполагает постоянного обмена с ключом.

Существовавшие также ранее проблемы с установкой ключа на определённые аппаратные платформы в настоящий момент решены при помощи сетевых ключей (которые способны работать с одной или более копиями защищённого приложения, просто находясь с ним в одной локальной сети) и с помощью программных или аппаратных средств «проброса» USB-устройств по сети.

Привязка к параметрам компьютера и активация

Привязка к информации о пользователе / серийным номерам компонентов его компьютера и последующая активация программного обеспечения в настоящий момент используется достаточно широко (пример: ОС Windows).

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

Достоинство в том, что не требуется никакого специфического аппаратного обеспечения, и программу можно распространять посредством цифровой дистрибуции (по Интернет).

Основной недостаток: если пользователь производит модернизацию компьютера (в случае привязки к железу), защита отказывает. Авторы многих программ в подобных случаях готовы дать новый регистрационный код. Например, Microsoft в Windows XP разрешает раз в 120 дней генерировать новый регистрационный код (но в исключительных случаях, позвонив в службу активации, можно получить новый код и после окончания этого срока).

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

До недавнего времени такие защиты разрабатывались и внедрялись разработчиками самого программного продукта. Однако сейчас существуют SDK для работы с программными ключами, например HASP SL от компании Aладдин Р. Д. Также все большее распространение получают сервисы, предлагающие одновременно функцию «навесной» защиты и сервера активации/лицензирования (пример — Guardant Online, Protect online).

Защита программ от копирования путём переноса их в онлайн

Другим направлением защиты программ является использование подхода SaaS, то есть предоставление функций этих программ (всех или части), как сервиса. При этом код программы расположен и исполняется на сервере, доступном в глобальной сети. Доступ к нему осуществляется по принципу тонкого клиента. Это один из немногих случаев, когда реализуется защита от копирования.

Код исполняется на «доверенной» стороне, откуда не может быть скопирован.

Однако, и здесь возникает ряд проблем, связанных с безопасностью:

Возникают также вопросы доверия сервису (в том числе правовые), так как ему фактически «в открытом виде» передаются как само ПО, так и данные, которые оно обрабатывает (к примеру, персональные данные пользователей).

Защита кода от анализа

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

Защита программного обеспечения на мобильных платформах

Способы защиты программного обеспечения для мобильных платформ от копирования обычно основываются на невозможности рядового пользователя считывать/изменять хранящиеся в ППЗУ аппарата данные. Может также использоваться активация программного обеспечения.

Устаревшие технические средства защиты

В прошлом применялись и другие методы защиты ПО от нелегального использования.

Ключевая дискета

Метод был распространён во времена MS-DOS, сейчас, в силу устаревания технологии FDD, практически не применяется. Есть четыре основных способа создания некопируемых меток на дискетах:

Запись некопируемых меток на жёсткий диск

Некоторые старые программы для DOS создавали некопируемые метки на жёстком диске. Например, файл длиной 1 байт занимает на диске один кластер (не менее 512 байт), и в оставшиеся 511 байт можно записать некоторую информацию. Эта практика практически не используется, так как велик риск потери данных.

Привязка к некоторому физическому объекту

Лицензия программы может привязываться к некоторому физическому объекту, к примеру:

Юридические средства защиты

Согласно законодательству, программный код приравнивается к литературным произведениям, и к нему применяются все соответствующие нормативные акты. В контексте защиты ПО используется следующая терминология:

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

Организационные средства защиты

Основной принцип организационных мер защиты ПО заключается в невозможности полноценного использования программного продукта без соответствующей поддержки со стороны разработчика: подробной пользовательской документации, «горячей линии» технической поддержки, системы обучения пользователей, обновления версий и БД и т. п.

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

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

Недостатки технических методов защиты ПО

Уязвимости современных методов защиты ПО

Уязвимости современных методов защиты можно достаточно строго классифицировать в зависимости от использованного метода защиты.

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

Использование автоматических средств защиты

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

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

Проблема «лучше, чем легальное»

Это одна из фундаментальных проблем технических средств защиты. Заключается она в том, что система защиты неизбежно создаёт пользователю неудобства, и потому, с точки зрения пользователя, взломанная программа в каком-то смысле лучше, чем оригинальная. Например:

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *