- •Лабораторная работа № 1
- •1. Тема: «Компьютерные вирусы»
- •2. Индивидуальное задание
- •3. Выполнение индивидуального задания
- •4. Ответы на контрольные вопросы
- •1. Что такое компьютерный вирус?
- •2. Классификация компьютерных вирусов
- •3. Что такое троянские программы и прочие "вредные" программы?
- •4. Способы заражения исполняемых программ?
- •5. Способы заражения пакетных файлов?
- •6. Что такое загрузочные вирусы?
- •7. Что такое полиморфные вирусы?
- •8. Какие вирусы называют стелс-вирусами?
- •9. Достоинства и недостатки известных вам антивирусных программ?
- •Лабораторная работа 2
- •1. Тема: «Парольная защита»
- •2. Индивидуальное задание
- •3. Листинг программы
- •4. Ответы на контрольные вопросы
- •1. Принципы классификации систем защиты программного обеспечения (по)
- •2. Классификация систем защиты по по методу установки
- •3. Классификация систем защиты по по используемым механизмам защиты
- •4. Классификация систем защиты по по принципу функционирования
- •5. Назначение упаковщиков-шифраторов
- •6. Системы защиты от несанкционированного копирования
- •8. Системы привязки по к компьютеру
- •9. Выделение объективных характеристик программы
- •10. "Родимые пятна"
- •11. Водяные знаки как метод пассивной защиты.
- •12. Психологические методы защиты.
- •Лабораторная работа № 3
- •2. Индивидуальное задание
- •3. Результат выполнения индивидуального задания;
- •4. Ответы на контрольные вопросы.
- •1. Что такое симметричные криптоалгоритмы?
- •2. Классификация симметричных криптоалгоритмов.
- •3. Какие методы подстановки, используемые для шифрования, вы знаете?
- •4. Какие методы перестановки, используемые для шифрования, вы знаете?
- •5. Что понимается под шифрованием информации методом гаммирования?
- •6. Что называется ключом в криптосистеме?
- •7. Разовый блокнот.
- •8. Что такое криптостойкость системы?
- •9. Правила использования ключа.
8. Системы привязки по к компьютеру
Системы "привязки" ПО при установке на ПК пользователя осуществляют поиск уникальных признаков компьютерной системы, либо они устанавливаются самой системой защиты. После этого модуль защиты в самом ПО настраивается на поиск и идентификацию данных признаков, по которым в дальнейшем определяется авторизованное или неавторизованное использование ПО. При этом возможно применение методик оценки скоростных и иных показателей процессора, материнской платы, дополнительных устройств, ОС, чтение/запись в микросхемы энергонезависимой памяти, запись скрытых файлов, настройка на наиболее часто встречаемую карту использования ОЗУ и т.п.
9. Выделение объективных характеристик программы
Идентификация программы или отдельного модуля представляет интерес в том случае, когда другие методы защиты не приносят успеха. Широко обсуждаются проблемы авторского права для отдельной процедуры программы и взаимосвязь между идеей и способом ее реализации. Выделение объективных характеристик программы - довольно сложная процедура, тем не менее, признаки подобия двух программ или модулей, содержащихся в больших программах, указать можно. Проблема заключается в том, чтобы уметь идентифицировать программы, которые изменены хакером, погружены в другую программу или откомпилированы в машинный код.
10. "Родимые пятна"
Понятие "родимые пятна" используется для описания характеристик, появляющихся в результате естественного процесса разработки программы и относящихся к особенностям стиля программирования, ошибкам и избыточностям, которые не должны иметь места в независимо написанной программе. Каждое из них может служить убедительной уликой нарушения авторского права.
11. Водяные знаки как метод пассивной защиты.
Использование водяных знаков как метода выявления подделки занимает особое место, поскольку препятствует созданию точной копии, которую пользователь не мог бы отличить от оригинала.
12. Психологические методы защиты.
Психологические методы основаны на том, чтобы создать у нарушителя чувство неуверенности и психологического напряжения, заставляя его все время помнить, что в похищенном программном продукте могут сохраняться средства защиты. Поэтому полезно было бы дать объявление, что в программное обеспечение встроены механизмы защиты (независимо от того, так ли это на самом деле). Существует огромное число хитроумных способов расстановки отличительных меток в программе и никакой хакер не может быть уверен, что ему удалось уничтожить все ключи и механизмы защиты.
Лабораторная работа № 3
1. Тема: "Симметричные криптосистемы"
Цель работы:получение практических навыков защиты программного обеспечения от несанкционированного доступа путем шифрования с использованием симметричных криптоалгоритмов.
2. Индивидуальное задание
Шифрование аналитическими преобразованиями Шифрование по таблице Вижинера
3. Результат выполнения индивидуального задания;
#include<iostream.h>
# include <conio.h>
# include <MATH.H>
# include <CTYPE.H>
# include <stdio.h>
void main(void)
{
int i,b,c;
char word[100],key[100];
int b1[100];
clrscr();
cout<<"Введите ключ: "<<endl;
gets (key);
for(c=0;key[c]!=NULL;c++);
cout<<endl;
cout<<"Введите шифруемое предложение: "<<endl;
gets (word);
for(i=0;word[i]!=NULL;i++)
word[i]=toupper(word[i]);
cout<<endl;
cout<<"Зашифрованное предложение: "<<endl;
for(i=0;word[i]!=NULL;i=i)
for(b=0,i=i;b!=c;b++,i++)
word[i]=word[i]+key[b]%26;
for(i=0;word[i]!=NULL;i++)
cout<<word[i];
cout<<endl;
getch();
cout<<endl;
cout<<"Расшифрованное предложение: "<<endl;
for(i=0;word[i]!=NULL;i=i)
for(b=0,i=i;b!=c;b++,i++)
word[i]=tolower( word[i]-key[b]%26);
for(i=0;word[i]!=NULL;i++)
cout<<word[i];
getch();
}
Пример