Способы идентификации программного продукта

Категории статей

Ученые ставят диагноз планете

Cтолько углекислого газа, как сейчас, в атмосфере не было последние 2 млн лет, метана и закиси азота — 800 тыс. лет. Далее

Природный регулятор температуры колибри

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

Биоразлагаемые пакеты – вред или польза?

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

Видео лекции на канале Temperatures.ru

Две видео лекции уже доступны для просмотра на канале Temperatures.ru Далее

Теплэко – тепло из ниоткуда?

К рекламе на телевидении нужно относиться очень критически, особенно когда её представляют умные люди. Далее

Популярные статьи

Польза и вред инфракрасного обогревателя (323422)

Среди электрических обогревателей, которые мы используем в быту, наиболее популярными сейчас становятся инфракрасные нагреватели. Они очень широко рекламируются в Интернете и в газетах. Говорят, что они намного эффективнее масляных радиаторов и тепловентиляторов. Меньше потребляют энергии, не сжигают кислород и т.д. Главное – они совершенно не вредные, никакого отрицательного воздействия на организм человека не оказывают. Далее

Почему горячая вода замерзает быстрее, чем холодная? (209332)

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

Вредно ли разогревать пищу в микроволновке? (199115)

Одна моя знакомая отказывается есть пищу, которую кто-то разогрел в микроволновой печи. Всему виной — страшилки в Интернете. Далее

Контролируйте температуру приготовления мяса! (181235)

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

451 градус по Фаренгейту, температура возгорания бумаги? (165466)

451 градус по Фаренгейту. Это название знаменитой книги Рэя Брэдбери. На языке оригинала звучит так: ‘Fahrenheit 451: The Temperature at which Book Paper Catches Fire, and Burns’. Действительно ли при этой температуре начинают гореть книги? Далее

Основные разделы

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

Сокращения, используемые в тексте: ПО – программное обеспечение; СИ – средство измерений; МХ – метрологические характеристики; БД – база данных; СУБД – система управления базами данных; ГЦИ – государственный центр испытаний.

Единообразный подход к любому ПО любого СИ, принятый в МИ 3286 и МИ 3290, стал камнем преткновения, серьёзно затрудняющим проведение ГЦИ СИ испытаний СИ, в конструкции которых тем или иным образом используется ПО. Критика (особенно действующих нормативных документов) – вещь нерациональная, если не предлагать альтернативу. Исходя из этого убеждения в приведённом ниже тексте я буду стараться воздерживаться от критических замечаний и излагать свою точку зрения на один из аспектов испытаний ПО при утверждении типа СИ – его идентификацию.

Затруднения при испытаниях ПО СИ начинаются с отсутствия в МИ терминов и определений, связанных с классификацией ПО и его окружения. Ниже приведены термины и определения для отсутствующих в МИ понятий, которые кажутся важными для испытаний ПО СИ.

Встроенное ПО СИ – исполняемое ПО, размещённое в запоминающих устройствах, расположенных внутри корпуса СИ.

Интегрированное ПО СИ – встроенное ПО СИ, недоступное для изменений через имеющиеся у СИ интерфейсы.

Загружаемое ПО СИ – встроенное ПО СИ, для которого в процессе эксплуатации СИ предусмотрена возможность записи через имеющиеся у СИ интерфейсы в запоминающие устройства, расположенные внутри корпуса СИ.

Автономное ПО – исполняемое ПО, размещённое вне корпуса СИ.
Примечание:
Определения встроенное ПО СИ, интегрированное ПО СИ, загружаемое ПО СИ, автономное ПО СИ могут использоваться также и в отношении части ПО, например: интегрированная часть ПО СИ, автономная часть ПО СИ.

Аппаратное окружение ПО СИ – комплекс аппаратных средств, с использованием ресурсов которого исполняется ПО СИ.

Программное окружение ПО СИ – комплекс программных средств, с использованием ресурсов которого исполняется ПО СИ.
Примечания:
1. Определения аппаратное окружение ПО СИ и программное окружение ПО СИ могут использоваться также и в отношении части ПО, например: аппаратное окружение интегрированной части ПО СИ, программное окружение автономной части ПО СИ.
2. Термин программное окружение ПО СИ не имеет смысла в случае интегрированного ПО СИ.

Входные данные – информация на входе процесса, в т.ч. исполняемого ПО, алгоритма и т.п.

Конфигурационные данные – изменяемая в процессе эксплуатации СИ информация, влияющая на функционирование исполняемого ПО СИ.

Выходные данные – информация на выходе процесса, в т.ч. исполняемого ПО, алгоритма и т.п.

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

Допускаемая нагрузка ПО СИ – объём потока входных данных, не приводящий к изменению функциональных характеристик исполняемого ПО СИ.

Идентификация интегрированного ПО

В качестве одной из причин необходимости идентификации ПО СИ, включая интегрированное ПО, авторы МИ называют потенциальную недобросовестность изготовителя, в силу которой он может попытаться изменить ПО с корыстной целью (видимо, это связано с предыдущей сферой деятельности авторов МИ – игровыми автоматами). Непонятно, почему такое внимание уделено именно ПО СИ – ведь изготовитель ровно с тем же эффектом может изменить схемотехнику СИ и это никак специально не контролируется. Более того, существует практика того, что изготовитель имеет право вносить в конструкцию СИ изменения после подтверждения в рамках «внутренних» типовых испытаний факта того, что вносимые изменения не влекут за собой ухудшения потребительских свойств изделия, в т.ч. МХ СИ. Функционально ПО – это такая же часть конструкции СИ, как, например инструментальный усилитель или АЦП, а лишать производителя права улучшать конструкцию СИ не кажется вполне законным.

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

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

Идентификация загружаемого ПО

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

Загружаемое ПО может вовсе не иметь исполняемого кода в привычном понимании, представляя собой набор конфигурационных данных – «проект», который воспроизводит необходимую мнемосхему вместе с параметрами её функционирования. В этом случае в одном массиве или базе данных могут храниться как неизменные данные, для которых может быть каким-либо образом получен цифровой идентификатор типа значения контрольной хэш-функции, так и изменяющиеся во времени данные – результаты измерений и параметры технологического процесса. Для осуществления контроля соответствия такого ПО экземпляру ПО, представленному на испытания в целях утверждения типа СИ, как один из вариантов, может быть проведено тщательное программное разделение, затем созданы специальные программные сценарии для выделения метрологически значимых неизменных данных, преобразования их в непрерывные последовательности и последующего вычисления для этих последовательностей значений контрольной хэш-функции. Одновременно должны быть применены средства идентификации текущей среды исполнения и загрузчика, так как только вместе эти компоненты точно воспроизводят необходимую функциональность ПО СИ. Очевидно, что этот путь требует значительных затрат средств и времени.

Читайте также:  Валтрекс способ применения дозы

Каждый конкретный случай загружаемого ПО СИ должен рассматриваться индивидуально с точки зрения поиска наиболее экономически целесообразного решения задачи подтверждения его целостности и подлинности. Не факт, что идентификационные признаки загружаемого ПО удастся свести в таблицу подобную приведённой в МИ 3290.

Идентификация автономного ПО

При рассмотрении сопровождающего СИ автономного ПО сперва следует изучить вопрос о том, какую задачу это ПО решает. ПО СИ – это часть его конструкции. Независимо от реализованного «внутри» СИ метода измерений, СИ по определению (5.10, 6.2, 8.1 РМГ 29) решает измерительную задачу так, что результат измерений на его выходе – это результат прямых измерений, даже если в дальнейшем проверка этих результатов измерений осуществляется косвенным методом.

Автономным ПО СИ следует считать только ту часть автономного ПО, которое непосредственно участвует в получении результата измерений в виде показаний СИ (6.43 РМГ 29). Та часть автономного ПО, которая занимается обработкой уже полученных результатов прямых измерений с целью получения на их основе результатов косвенных или совокупных измерений, на самом деле должна быть отнесена к программам обработки результатов измерений. Задача установления показателей точности этих результатов, включающая в себя в том числе идентификацию используемого ПО, решается соответствующей методикой измерений (ГОСТ Р 8.563). «Притягивание за уши» для решения этой задачи каких-то особенных процедур вроде обособленной «аттестации ПО» ? это попытка изобрести велосипед.

Для автономного ПО СИ и программ обработки результатов измерений различаются существенные требования к окружению. В первом случае, как правило, существенны требования как к программному, так и к аппаратному окружению, во втором – только к программному окружению. Во многих случаях, например, когда автономное ПО СИ формирует временные диаграммы управления процессом измерений, аппаратное и программное окружение могут оказывать влияние на функционирование автономного ПО СИ и, как следствие, на МХ СИ. В связи с этим следует отметить, что реализация описанного в ГОСТ Р 8.654 механизма программного разделения автономного ПО СИ на метрологически значимую и незначимую части будет успешной только тогда, когда установлено влияние ПО СИ на МХ СИ при любых разрешённых условиях применения в смысле аппаратного и программного окружения, включая проверку допускаемой нагрузки ПО СИ.

Вариант таблицы с идентификационными признаками ПО СИ, предлагаемый МИ 3286 представляется неудобным, поскольку не связан со структурой автономного ПО СИ и структурой его информационного взаимодействия с окружением.

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

Должны быть однозначно установлены требования к ОС, использование которых необходимо для правильного функционирования автономного ПО СИ. Сведения об ОС можно указать в таблице по форме таблицы 1.

Таблица 1 – Сведения об ОС

Должен быть однозначно установлен перечень программ – драйверов устройств, использование которых необходимо для правильного функционирования автономного ПО СИ. Для каждого драйвера устройства желательно указать характеристики, перечисленные в таблице 2.

Таблица 2 – Перечень драйверов устройств

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

Таблица 3 – Перечень прикладных программ

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

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

Таблица 4 – Перечень программных модулей автономного ПО СИ

Таблица 5 – Характеристики программного модуля «Х»

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

Вместо заключения хотел бы предложить заинтересованным специалистам публично высказать здесь своё мнение по вопросам идентификации ПО СИ при испытаниях в целях утверждения типа, а также вопросам проверки защиты ПО СИ и вопросам оценки влияния ПО на МХ СИ.

Источник

Способы идентификации программного продукта

Если не я за себя, то кто за меня?

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

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

Напомним, что закон так определяет понятие информации об управлении правами [13, ст. 4].

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

Устранение или изменение любой электронной информации об управлении правами без разрешения правообладателя является нарушением авторского права [13, ст. 39, п.5].

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

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

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

Таким образом, для предварительной защиты программного продукта автору необходимо решить три вопроса:

1) о содержании информации об управлении правами;

2) о способе внедрения информации в каждый экземпляр продукта;

3) о методах сокрытия информации об управлении правами.

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

Коды, в которых представлена информация об управлении правами, будем называть идентификационными (авторскими) метками.

На практике разработчики в качестве идентификационной метки используют идентификатор автора. Это может быть текстовая информация с именем разработчика и/или авторский код, представляющий собой уникальное число. Кроме того, идентификатор может включать также адрес, E — mail , телефон и т.п. Программный продукт идентифицируется, как правило, названием, номером версии, датой выхода версии и другими характеристиками. Подчеркнем, что автор вправе использовать любую необходимую информацию.

Читайте также:  Способ нанесения рисунка 7 букв

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

Скрыть информацию об управлении правами, равно как и любую другую информацию, можно двумя путями.

Первый путь — скрыть содержание информации. Отметим, что при этом факт наличия (передачи) информации остается известным.

Второй путь — скрыть сам факт наличия (передачи) информации. Содержание при этом может быть открытым.

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

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

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

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

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

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

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

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

Широко известен метод авторской метки в последние биты данных, представленных в цифровом виде. Метод основывается на двух положениях:

1) органы чувств человека неспособны различить малые изменения в очертаниях, цвете или яркости изображения, качестве звука;

2) оцифрованные данные можно исказить без потери информационного содержания.

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

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

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

Самой известной технологией в области защиты прав автора на графическую информацию является технология Digital Water Marc (цифровой водяной знак) компании Digimarc Corporation .

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

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

Считывается цифровая метка с помощью другой программы — ReadMarc .

Цифровая метка Digital Water Marc содержит информацию о создателе файла-изображения (идентификатор создателя — уникальное число) и атрибуты изображения, а также может содержать информацию об организации (идентификатор организации), изображении (идентификатор изображения), информацию о лицензионном соглашении (идентификатор лицензионного соглашения), которая позволяет проследить соблюдение лицензионного соглашения по данному изображению. Для получения собственного идентификатора (идентификатора создателя) пользователь обязан зарегистрироваться в сервисном центре компании Digimarc ( MarcCentre ).

Технология Digital Water Marc встроена в виде модуля plug — in в программные продукты Adobe и Corel .

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

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

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

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

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

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

Внедрение в программу и сопровождение программы информацией об управлении правами назовем идентификацией программы.

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

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

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

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

Читайте также:  Масляная бомбочка для ванны способ применения

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

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

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

· существуют свободные полностью или частично секторы файла;

· структуры заголовков файлов в формате EXE , P о rtable Executable , New Executable содержат зарезервированные поля;

· существуют пустоты между сегментами исполняемого кода

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

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

В другую группу методов компьютерной стеганографии можно объединить способы изменения объектных кодов, базирующиеся на положении о том, что объектный код содержит информацию (описательного характера), модификация которой также не приведет к потере правильного функционирования программы. Так, например, форматы выполнимых файлов ( EXE , P о rtable Executable , New Executable ) таковы, что изменение значений некоторых полей не скажется на выполнении программы. Кроме того, объектные коды содержат текстовую информацию, изменение которой никак не повлияет на работу программы.

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

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

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

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

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

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

Для увеличения стойкости идентификационных меток можно также рекомендовать подход, используемый технологией идентификации программных продуктов [28]. Технология идентификации программных продуктов специально разработана для создания практического средства (автоматизированная система) идентификации программ, предназначенного для внедрения идентификационных меток в объектные коды готовых программ. Рассмотрим моменты данной технологии, связанные с увеличением стойкости идентификационных меток.

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

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

Автор технологии рассчитывает на то, что обнаружив часть меток, нарушитель будет считать, что обнаружил их все, и прекратит дальнейший поиск.

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

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

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

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

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

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

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

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

Схемы, применяемые для создания электронной цифровой подписи, подробно изложены в литературе, например, в учебном пособии Харин Ю.С., Берник В.И., Матвеев Г.В. «Математические основы криптологии» [21]. Поэтому здесь заметим только, что большинство алгоритмов создания электронной цифровой подписи основаны на шифровании с открытым ключом.

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

1. Методы компьютерной стеганографии — Б.В. Артехин. Стеганография [29]; В.А. Клопов, О.В. Мотуз. Основы компьютерной стеганографии [30]; М. Тигулев. «Стеганозавр, или Тайнопись на кормпьютере» [34].

2. Технологии и системы защиты авторских прав на мультимедийную продукцию — А. Николенко. «Этот цифровой, цифровой мир. » [31].

3. История стеганографии — В каждом рисунке солнце [32].

4. Стеганографические программные продукты — А. Карасев. «Компьютерная тайнопись» [33].

5. Технология Digital Water Marc — сайт компании DigiMakc по адресу www . digimarc . com ; Николенко А. «Американская цифровая мечта» [35].

6. Математические основы электронной цифровой подписи —

Харин Ю.С., Берник В.И., Матвеев Г.В. «Математические основы криптологии» [21] стр. 263-285.

Источник

Оцените статью
Разные способы