Разработка антивирусного ПО. Роль разработки методики внедрения СМИБ в государственной структуре

1.

РАЗРАБОТКА
АНТИВИРУСНОГО ПО
СТУДЕНТ ГРУППЫ ИИТМ-22-1
ГОРДИН АНДРЕЙ
1

2.

ПЛАН
1. Роль разработки методики внедрения СМИБ в
государственной структуре
2. Используемое ПО при разработке
антивирусного ПО
3. Установка среды разработки антивирусного
ПО
4. Создание проекта в среде разработки
антивирусного ПО
5. Принцип работы антивирусного ПО
6. Размещение элементов графического
интерфейса
2

3.

ПЛАН
7. Проектирование информационной системы
8 . Алгоритм работы антивирусного ПО
9. Написание кода антивирусного ПО
10. Разработка дизайна антивирусного ПО
3

4.

РОЛЬ РАЗРАБОТКИ МЕТОДИКИ ВНЕДРЕНИЯ
СМИБ В ГОСУДАРСТВЕННОЙ СТРУКТУРЕ
4

5.

СИСТЕМА МЕНЕДЖМЕНТА
ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Информационная
Система
безопасность
менеджмента
СМИБ
предприятия
5

6.

ВНЕДРЕНИЕ СМИБ
Внедрение СМИБ
Внедрение
антивирусного ПО
6

7.

ПРИМЕНЕНИЕ МЕТОДИКИ
РАЗРАБОТКИ АНТИВИРУСНОГО ПО
Угроза 1
Угроза 2
Антивирус 1
Угроза 3
Антивирус 3
Антивирус 2
Методика разработки
антивирусного ПО
7

8.

ИСПОЛЬЗУЕМОЕ ПО ПРИ
РАЗРАБОТКЕ
АНТИВИРУСНОГО ПО
8

9.

VISUAL STUDIO
9

10.

ЯЗЫК ПРОГРАММИРОВАНИЯ С#
10

11.

УСТАНОВКА СРЕДЫ
РАЗРАБОТКИ
АНТИВИРУСНОГО ПО
11

12.

ВЫБОР ВЕРСИИ VISUAL STUDIO
12

13.

ПРОЦЕСС УСТАНОВКИ СРЕДЫ VISUAL
STUDIO
13

14.

ВОЗНИКНОВЕНИЕ СООБЩЕНИЯ
14

15.

ВЫБОР УСТАНОВОЧНОГО ФАЙЛА
15

16.

ПРОЦЕСС УСТАНОВКИ СРЕДЫ
РАЗРАБОТКИ VISUAL STUDIO
16

17.

ИКОНКА «VISUAL STUDIO 2022»
17

18.

ВХОД В VISUAL STUDIO
18

19.

СОЗДАНИЕ УЧЕТНОЙ ЗАПИСИ
19

20.

СОЗДАНИЕ УЧЕТНОЙ ЗАПИСИ
20

21.

СОЗДАНИЕ ПРОЕКТА В
СРЕДЕ РАЗРАБОТКИ
АНТИВИРУСНОГО ПО
21

22.

МЕНЮ СРЕДЫ VISUAL STUDIO
22

23.

ВЫБОР СОЗДАВАЕМОГО
ПРИЛОЖЕНИЯ
23

24.

CОЗДАНИЕ ПРОЕКТА VISUAL STUDIO
24

25.

ПРИНЦИП РАБОТЫ
АНТИВИРУСНОГО ПО
25

26.

СИГНАТУРНЫЙ АНАЛИЗ
26

27.

РАЗМЕЩЕНИЕ
ЭЛЕМЕНТОВ
ГРАФИЧЕСКОГО
ИНТЕРФЕЙСА
27

28.

ОБЩИЙ ВИД ФОРМЫ
28

29.

FORM1
29

30.

ПАНЕЛЬ ЭЛЕМЕНТОВ
30

31.

ПАНЕЛЬ «СВОЙСТВА»
31

32.

ДОБАВЛЕНИЕ СТОЛБЦА
32

33.

ДОБАВЛЕНИЕ СТОЛБЦА
33

34.

ПРОЕКТИРОВАНИЕ
ИНФОРМАЦИОННОЙ
СИСТЕМЫ
34

35.

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
БД МЕТОДОМ «ОБЪЕКТ-СВЯЗЬ»
Питер Чен (род.1947)
35

36.

ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
БД МЕТОДОМ «ОБЪЕКТ-СВЯЗЬ»
36

37.

ЛОГИЧЕСКАЯ МОДЕЛЬ БД
37

38.

ЛОГИЧЕСКАЯ МОДЕЛЬ БД
38

39.

ФИЗИЧЕСКАЯ МОДЕЛЬ БД
39

40.

НАПИСАНИЕ КОДА
40

41.

ПРОГРАММНЫЙ КОД
41

42.

ИНИЦИАЛИЗАЦИЯ КОЛЛЕКЦИЙ
public Form1()
{
InitializeComponent();
}
List<Signature> signature = new List<Signature>();
List<string> viruceFile = new List<string>();
List<InfectedFile> infectedFiles = new
List<InfectedFile>();
42

43.

БИБЛИОТЕКИ
using System.Collections.Genericбиблиотека, отвечающающая за коллекции
43

44.

СТРУКТУРЫ
struct Signature
{
public string ViruceName;
public string SignatureName;
public string DescriptionViruce;
}
struct InfectedFile {
public string infectedFilePath;
public Signature viruceFound;
}
44

45.

ЗАПИСЬ ВИРУСОВ В КОЛЛЕКЦИЮ
private void signatureWrite(string viruce, string
signatureText,string DescriptionViruce)// принимает
значения полей записи
{
Signature signatureInstance;// объявляет объект
структуры
signatureInstance.ViruceName = viruce;
signatureInstance.SignatureName = signatureText;
signatureInstance.DescriptionViruce=
DescriptionViruce;// присваивает значения полям
структуры
signature.Add(signatureInstance);//добавляет
объект структуры в коллекцию
}
45

46.

ДОБАВЛЕНИЕ ВИРУСОВ
private void signatureWrite()
{
signatureWrite("A1B2.478", "A1B2C3D4", "Опасный замещающий вирус. По
окончании своей работы вирус имитирует ошибку позиционирования на
текущем диске");
signatureWrite("Adolf.475", "Adolf Hitler", "Опасный резидентный вирус. С
вероятностью 1/8 блокирует удаление файлов.");
signatureWrite("Aija", "Tks to B.B., Z-VirX ..... [Aija]. ", "Очень опасный Bootвирус. 25 марта уничтожает содержимое первого сектора на всех цилиндрах
активного раздела DOS");
signatureWrite("Als.339", "XA-XA 1.01 A.L.S. ", "Очень опасный нерезидентный,
замещающий программный код, вирус");
signatureWrite("Amz.789", "AMZ", "24 сентября пытается уничтожить
некоторые сектора всех доступных дисков");
signatureWrite("Amz.1100", "AMZ", "1 марта и 13 сентября пытается
уничтожить некоторые сектора всех доступных дисков, также иногда
уничтожает содержимое CMOS-памяти и создает файл BOPS - BOP.S.");
signatureWrite("Anarchy.2048", "ГрОб", "Заражает EXE- и COM-файлы (COMфайлы первая команда которых не JMP NEAR PTR(0E9h ? ?)), внедряя в начало
файла 2048 байт своего тела в формате EXE-файла.");
46

47.

ВЫВОД РЕЗУЛЬТАТОВ
СКАНИРОВАНИЯ
private void Read()
{
dataGridView1.Rows.Clear();
foreach (var infect in infectedFiles) {
dataGridView1.Rows.Add(infect.infectedFilePath,infect.vir
uceFound.ViruceName,infect.viruceFound.DescriptionViru
ce, infect.viruceFound.SignatureName);
}
label2.Text = "Обнаружено вирусов: " +
infectedFiles.Count().ToString();
}
47

48.

ДОБАВЛЕНИЕ ЗАПИСЕЙ В
ПРОМЕЖУТОЧНУЮ ТАБЛИЦУ
private void infectedFileWrite(string path,Signature
viruce)
{
InfectedFile infectedFileInstance;
infectedFileInstance.infectedFilePath = path;
infectedFileInstance.viruceFound = viruce;
infectedFiles.Add(infectedFileInstance);
}
48

49.

ЗАГРУЗКА ФОРМЫ
private void Form1_Load(object sender, EventArgs e)
{
button2.Hide();
button3.Hide();
button4.Hide();
Read();
signatureWrite();
}
49

50.

ВЫБОР СКАНИРУЕМОЙ ПАПКИ
• private void button1_Click(object sender, EventArgs
e)
{
folderBrowserDialog1.ShowDialog();
label1.Text = "Адрес папки:" +
folderBrowserDialog1.SelectedPath;
progressBar1.Value = 0;
button2.Show();
}
50

51.

СКАНИРОВАНИЕ ВИРУСНЫХ
ФАЙЛОВ
private void button2_Click(object sender, EventArgs e)
{
string[] search =
Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*.txt");
progressBar1.Maximum = search.Length;
foreach (string item in search) {
StreamReader stream = new StreamReader(item);
string read = stream.ReadToEnd();
bool nalVirusuces = false;
foreach (var st in signature) {
if (read.IndexOf(st.SignatureName) !=-1) {
nalVirusuces = true;
infectedFileWrite(item,st);
}
progressBar1.Increment(1);
}
51

52.

СКАНИРОВАНИЕ ВИРУСНЫХ
ФАЙЛОВ
if (nalVirusuces) {
viruceFile.Add(item);
button3.Show();
}
button4.Show();
}
Read();
MessageBox.Show("Вирусные файлы удалены.
Для удаления резидентных копий из оперативной
памяти перезагрузите, пожалуйста, компьютер");
}
52

53.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСНЫХ
ФАЙЛОВ
private void button3_Click(object sender, EventArgs e)
{
try {
GC.Collect();
GC.WaitForPendingFinalizers();
string path = (string)dataGridView1.CurrentRow.Cells[0].Value;
viruceFile.Remove(path);
File.Delete(path);
try
{
foreach (DataGridViewRow RowItem in
dataGridView1.Rows)
{
53

54.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСНЫХ
ФАЙЛОВ
if (RowItem.Cells[0].Value.ToString() == path)
{
InfectedFile infDelete;
infDelete.infectedFilePath = path;
infDelete.viruceFound.ViruceName =
RowItem.Cells[1].Value.ToString();
infDelete.viruceFound.DescriptionViruce =
RowItem.Cells[2].Value.ToString();
infDelete.viruceFound.SignatureName =
RowItem.Cells[3].Value.ToString();
infectedFiles.Remove(infDelete);
}
}
}
54

55.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСНЫХ
ФАЙЛОВ
catch { }
{}
Read();
MessageBox.Show("Вирусные файлы удалены. Для
удаления резидентных копий из оперативной памяти перезагрузите,
пожалуйста, компьютер");
}
catch {
MessageBox.Show("Вирусный файл не выбран");
}
}
55

56.

УДАЛЕНИЕ ВСЕХ ВИРУСНЫХ ФАЙЛОВ
private void button4_Click(object sender, EventArgs e)
{
GC.Collect();
GC.WaitForPendingFinalizers();
foreach (string fn in viruceFile)
{
File.Delete(fn);
}
viruceFile.Clear();
infectedFiles.Clear();
Read();
MessageBox.Show("");
}
56

57.

АЛГОРИТМ РАБОТЫ
АНТИВИРУСНОГО ПО
57

58.

ЗАГРУЗКА ФОРМЫ
58

59.

ВЫБОР СКАНИРУЕМОЙ ПАПКИ
59

60.

СКАНИРОВАНИЕ ФАЙЛОВ
60

61.

СКАНИРОВАНИЕ ФАЙЛОВ
61

62.

СКАНИРОВАНИЕ ФАЙЛОВ
62

63.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСОВ
63

64.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСОВ
64

65.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСОВ
65

66.

УДАЛЕНИЕ ВЫБРАННЫХ ВИРУСОВ
66

67.

УДАЛЕНИЕ ВСЕХ ВИРУСОВ
67

68.

ПЕРЕГРУЗКА VOID SIGNATUREWRITE()
68

69.

ПЕРЕГРУЗКА SIGNATUREWRITE(STRING,
STRING, STRING)
69

70.

МЕТОД INFECTEDFILEWRITE()
70

71.

МЕТОД READ()
71

72.

РАЗРАБОТКА
ЦВЕТОВОЙ СХЕМЫ
72

73.

ПРИРОДНЫЕ ЦВЕТА
73

74.

ПРИРОДНЫЕ ЦВЕТА
74

75.

ПРИРОДНЫЕ ЦВЕТА
75

76.

ИСПОЛЬЗОВАНИЕ ЦВЕТОВ В
АНТИВИРУСНОМ ПО
76

77.

ГОТОВЫЙ ДИЗАЙН
77

78.

СПАСИБО ЗА
ВНИМАНИЕ
78
English     Русский Правила