Программирование средства внедрения и анализа водяных знаков в исходные тексты программ

Автор: Пользователь скрыл имя, 19 Октября 2011 в 03:02, курсовая работа

Описание работы

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

Содержание

Введение 4
1 Описание методов и средств решения задачи 6
1.1 Постановка задачи на курсовое проектирование 6
1.2 Общие аспекты проблемы авторского права 6
1.3 Современные методы защиты программного обеспечения 7
2 Методы внедрения водяных знаков 19
2.1 Исследование статистических свойств исполняемого кода 19
2.2 Предлагаемые методы внедрения водяных знаков 21
2.3 Оценка эффективности подстановок 24
3 Описание разработанного программного обеспечения 26
3.1 Общая структура 26
3.2 Проектирование базы данных 26
3.3 Описание основных компонентов 27
3.4 Описание алгоритма программы 30
4 Описание результатов работы 32
4.1 Описание главной формы программы 32
4.2 Описание результатов работы программы и выводы по ним 33
Заключение 35
Список использованных источников 36
Приложение А. Листинг программы 37

Работа содержит 1 файл

Введение.docx

— 1.17 Мб (Скачать)

3 Описание разработанного программного обеспечения

     3.1 Общая структура

     Схема общей структуры программы приведена  на рисунке 10. 

Рисунок 10 – Схема общей структуры  программы 

     В блоке 1 происходит выбор и чтение исходного текста программы на языке  Си. Затем это позволит производить  с ним различные преобразования и анализа статистических характеристик.

     В блоках 2 и 6 происходит подсчет статистических характеристик заданного исходного  текста программы.

     В блоке 7 происходит визуальный и интуитивно-понятный вывод результатов (см. главу 4).

     3.2 Проектирование базы  данных

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

  • Команды – таблица БД, содержащая названия команд и их идентификаторы в базе данных;
  • Преобразования - таблица БД, содержащая необходимые преобразования для работы программы;
  • Также предусмотрено сохранение в БД статистических характеристик исходных текстов.

       Одним из способов создания базы данных MSSQL Server - это конвертация созданной и успешно работающей базы Microsoft Access в MSSQL с помощью простого и удобного конвертатора DBConvert for MS Access & MS SQL или при помощи встроенных средств в Microsoft Access 2007. Процесс работы конвертора занимает считанные секунды, независимо от количества таблиц, индексов и связей между таблицами в базе данных.

       В связи с этим все таблицы были предварительно созданы в Microsoft Access 2007 c помощью конструктора таблиц, затем они были заполнены данными.

       После этого с помощью программы DBConvert for MS Access & MS SQL база данных Microsoft Access была преобразована в формат MSSQL Server.

       Для создания Базы данных были использованы Microsoft Office Access 2007, MSSQL Server, DBConvert for MS Access & MS SQL.

     3.3 Описание основных компонентов

       Для реализации поставленной задачи и корректной работы программы были использованы компоненты представленные в таблице 1. 

       Таблица 1 - Описание действия используемых компонентов

Пиктограмма Описание  действия
SQLConnection         Устанавливает постоянную связь с SQL-базой данных.
SqlDataReader Представляет  данные из одной или нескольких таблиц Базы данных, позволяя компонентам  работы с данными (data-aware) манипулировать ими посредством компонента DataSource.
Представляет  данные из одной таблицы базы данных через SQL и позволяет компонентам работы с данными манипулировать ими по-средством компонента DataSource
SqlDataSource Определяет  используемый источник данных и является связующим компонентом между  набором данных и элементом управления, в котором эти данные отображаются или редактируются
dataGridView Позволяет отображать данные из попей базы данных в табличной  форме. Свойства столбцов таблицы устанавливаются объектами типа TField
groupBox Группа является родительским элементом управления для всех размещенных в ней  компонентов. Если в компонент типа TGroupBox поместить радиокнопки, то они  будут образовывать единую группу.
openFileDialog Компонент для  открытия файлов
button Представляет  кнопку
richTextBox Простой текстовый редактор. Позволяет вводить многострочный текст с клавиатуры, загружать его из файла, редактировать и сохранять в файл текстового формата.
 

     Для подключения к созданной ранее  базе данных использовался компонент  SQLConnection (рисунки 11-12). В данном компоненте осуществляется диспетчеризация работы с набором данных. А во всех остальных компонентах наборов данных нужно установить в свойстве Connection имя компонента SQLConnection. Соединение с базой данных компонентов наборов данных, связанных с SQLConnection, происходит, даже если в самом SQLConnection не предпринимается никаких действий для открытия базы данных.

Рисунок 11 — Подключение базы данных  к проекту. Этап 1 

       Рисунок 12 — Подключение базы данных  к проекту. Этап 2 

       

       Рисунок 13 — Успешная проверка подключения 

       На  рисунке 14 представлена схема взаимодействия компонентов разработанного программного обеспечения и созданной базы данных. 

       Рисунок 14 — Схема взаимодействия компонентов разработанного программного обеспечения и созданной базы данных

     3.4 Описание алгоритма  программы

     В блоке 2 происходит выбор и чтение исходного текста программы на языке  Си. Затем это позволит производить  с ним различные преобразования и анализа статистических характеристик.

     В блоках 3 и 7 происходит подсчет статистических характеристик заданного исходного  текста программы.

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

     В блоке 9 происходит визуальный и интуитивно-понятный вывод результатов (см. главу 4). 

       

Рисунок 15 – Графическая схема  алгоритма 
 
 
 
 

4 Описание результатов работы

     4.1 Описание главной  формы программы

       На  главной форме (рисунок 16) находятся несколько вкладок.

        

Рисунок 16 – Главное окно программы

Рисунок 17 – Главное меню

       Вкладка "Исходный текст" – представляет собой исходный текст программы, после выбора файла пользователем. Выбор осуществляется посредством меню "Файл", пункт "Открыть" (рисунок 17). 

Рисунок 18 – Вкладка "Измененный текст" 

       Вкладка "Измененный текст" – отображает произведенные автоматически или в ручном режиме изменения. Автоматическое изменение происходит после нажатия клавиши "Изменить исходный текст" (рисунок 17).

       Вкладка "Статистические показатели" графически отображает распределение наиболее частоупотребимых операторов (рисунок 19).

       Вкладка "Статистика" выводит полную статистику по операторам в текстовом виде.

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

     4.2 Описание результатов работы программы и выводы по ним

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

       Графические результаты работы показаны на рисунке 19. 

Рисунок 18 – Вкладка "Статистические показатели"

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

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

Рисунок 19 – Статистические показатели

Заключение

       Разработанный программный  комплекс позволяет быстро и эффективно вставлять цифровые водяные знаки в исходные тексты программ. Использование СУБД Microsoft SQL Server позволяет хранить данные в удобной форме, а наличие программного интерфейса, созданного с помощью системы программирования Visual Studio 2008, даёт возможность пользователю легко редактировать базу данных. Разработанная программа обладает простым и понятным интерфейсом и высокой скоростью работы.

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

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

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

Список  использованных источников

  1. Манфред Брой, "Информатика. Основополагающее введение. Структуры систем и системное  программирование. Часть III" // М.: Диалог-МИФИ, 1996 – 300 c.
  2. А. В. Анисимов, И. Ю. Иванов,  “Подходы к защите программного обеспечения от атак злонамеренного хоста” / Киев: “Софтпанорама плюс плюс”, 2005 – 21 c.
  3. С.С. Портянко, В.Н. Ярмолик, "Cтатистический подход для внедрения водяных знаков в исполняемый код" / Минск: БГУИР, 2005 – с. 98-102
  4. С.С. Портянко, В.Н. Ярмолик, "Современные методы и средства защиты авторских прав разработчиков программного обеспечения”, / Минск: БГУИР, 2005 – с. 126-135
  5. Википедия – свободная энциклопедия [Электронный ресурс] – Datasheet/ Wikipedia – Электронные данные. – Режим доступа: Цифровой водяной знак.
  6. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А. Д. Хомоненко. — СПб.: КОРОНА принт, 2004. 736 с.
  7. Оков И.Н., Ковалев Р.М. Электронные водяные знаки как средство аутентификации передаваемых сообщений // Защита информации. Конфидент. 2001. № 3, с.80-85.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение  А. Листинг программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using ZedGraph;

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