Похожие презентации:
Разработка антивирусного ПО. Роль разработки методики внедрения СМИБ в государственной структуре
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 STUDIO9
10.
ЯЗЫК ПРОГРАММИРОВАНИЯ С#10
11.
УСТАНОВКА СРЕДЫРАЗРАБОТКИ
АНТИВИРУСНОГО ПО
11
12.
ВЫБОР ВЕРСИИ VISUAL STUDIO12
13.
ПРОЦЕСС УСТАНОВКИ СРЕДЫ VISUALSTUDIO
13
14.
ВОЗНИКНОВЕНИЕ СООБЩЕНИЯ14
15.
ВЫБОР УСТАНОВОЧНОГО ФАЙЛА15
16.
ПРОЦЕСС УСТАНОВКИ СРЕДЫРАЗРАБОТКИ VISUAL STUDIO
16
17.
ИКОНКА «VISUAL STUDIO 2022»17
18.
ВХОД В VISUAL STUDIO18
19.
СОЗДАНИЕ УЧЕТНОЙ ЗАПИСИ19
20.
СОЗДАНИЕ УЧЕТНОЙ ЗАПИСИ20
21.
СОЗДАНИЕ ПРОЕКТА ВСРЕДЕ РАЗРАБОТКИ
АНТИВИРУСНОГО ПО
21
22.
МЕНЮ СРЕДЫ VISUAL STUDIO22
23.
ВЫБОР СОЗДАВАЕМОГОПРИЛОЖЕНИЯ
23
24.
CОЗДАНИЕ ПРОЕКТА VISUAL STUDIO24
25.
ПРИНЦИП РАБОТЫАНТИВИРУСНОГО ПО
25
26.
СИГНАТУРНЫЙ АНАЛИЗ26
27.
РАЗМЕЩЕНИЕЭЛЕМЕНТОВ
ГРАФИЧЕСКОГО
ИНТЕРФЕЙСА
27
28.
ОБЩИЙ ВИД ФОРМЫ28
29.
FORM129
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