Файл: московский технический университет связи и информатики.docx

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.11.2023

Просмотров: 86

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Блок-схема алгоритма работы модуля проверки работоспособности антивирусного ПО представлена на рисунке 6, а в листинге 5 показан код программной реализации.



Рисунок 6. Блок схема алгоритма проверки работоспособности антивирусного ПО.

Листинг 5. Программный код алгоритма проверки работоспособности антивирусного ПО.


Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

'проверка процессов
Dim Proc() As Process

Dim Proc2() As Process

Dim ModuleName, ModuleName2, ProcName, ProcName2 As String

ModuleName = "avp.exe"

ModuleName2 = "windefend.exe"

ProcName = System.IO.Path.GetFileNameWithoutExtension(ModuleName)

ProcName2 = System.IO.Path.GetFileNameWithoutExtension(ModuleName2)

Proc = Process.GetProcessesByName(ProcName)

Proc2 = Process.GetProcessesByName(ProcName2)

If Proc.Length > 0 Then

TextBox5.AppendText("Касперский работает" & vbCrLf)

TextBox7.AppendText(Now & TextBox5.Text & vbCrLf)

Else

TextBox5.Text = "Касперский не работает"

TextBox7.AppendText(Now & TextBox5.Text & vbCrLf)

End If
If Proc2.Length > 0 Then

TextBox5.AppendText(" Defender работает")

TextBox7.AppendText(Now & "" & TextBox5.Text & vbCrLf)

Else

TextBox5.AppendText(" Defender не работает")

TextBox7.AppendText(Now & "" & TextBox5.Text & vbCrLf)

End If

End Sub

      1. Тестирование антивирусного ПО


Для тестирования антивируса производится скачивание тестового файла. После загрузки проверяется как антивирус поведет себя с этим файлом. Если файл был удален, то работа антивируса подтверждается. Блок-схема алгоритма тестирования антивирусного ПО представлена на рисунке 7, а в листинге 6 показан код программной реализации.



Рисунок 7. Блок схема алгоритма тестирования антивирусного ПО.

Листинг 6. Программный код алгоритма тестирования антивирусного ПО.


Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

'Проверка с помощью файла eicar.com.

Try

My.Computer.FileSystem.DeleteFile("C:\Temp\eicar.zip")

Catch ex As Exception

End Try

'скачивание

My.Computer.Network.DownloadFile("https://cloud.internet-lab.ru/f/7da02e5f831b4c4d875d/?dl=1", "C:\Temp\eicar.zip")
Dim FI As IO.FileInfo = New IO.FileInfo("C:\Temp\eicar.zip")

If FI.Exists Then

TextBox6.Text = "Антивирус не работает"
Else

TextBox6.Text = "Антивирус работает"

TextBox7.AppendText(Now & " " & TextBox6.Text & vbCrLf)

End If
End Sub

      1. Вывод результатов


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


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

В любом порядке выполняется проверка МСЭ и антивирусов, в результате чего в соответствующие текстовые поля заносятся данные, а в результаты всех проверок с указанием времени выводятся в общий лог, представленный на рисунке 9. В листинге 7 показан программный код реализации сохранения полученных данных.

Сохранение результатов производится в файл C:\info.txt как показано на рисунке 10.



Рисунок 8. Интерфейс программы.



Рисунок 9. Результаты работы программы.

Листинг 7. Программный код экспорта результатов в текстовый файл.

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click

Dim TextBoxs As TextBox() = {TextBox7}

Dim Lines() As String = New String(TextBoxs.Length - 1) {}

For Id = 0 To TextBoxs.Length - 1

Lines(Id) = TextBoxs(Id).Text

Next

System.IO.File.WriteAllLines("C:\info.txt", Lines)

End Sub


      1. Экспорт результатов


Результаты проверки выводится в текстовый файл C:\info.txt как показано на рисунке 10.



Рисунок 10. Журнал работы программы.

Заключение


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

Для реализации средств контроля работоспособности антивирусных пакетов и межсетевых экранов выбрана среда разработки Visual Studio, язык разработки – Visual Basic.Net.

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

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

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

будет выполняться произвольный код, например, установка стороннего ПО или настройка системы.

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


1. Олифер, Олифер: Компьютерные сети. Принципы, технологии, протоколы.

2. Техническая документация Microsoft Windows.

3. Документация по семейству продуктов Visual Studio https://learn.microsoft.com/ru-ru/visualstudio/

4. Сервисы и услуги безопасности. Firewall https://docs.sbercloud.ru/overview/security-introduction/topics/products-tools__network__firewall.html

Приложение


Приложение 1

Листинг 8. Программный код.

Imports System

Imports System.IO

Imports System.Management

Imports System.Net.NetworkInformation

Imports System.Net
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

'кнопка проверки подключения к сети

Try

If My.Computer.Network.Ping("www.google.com", 1000) = True Then

TextBox1.Text = "Компьютер подключен"

TextBox7.AppendText(Now & " " & TextBox1.Text & vbCrLf)

Else

TextBox1.Text = ("Компьютер не подключен")

End If

Catch

TextBox1.Text = ("Нет сети")

TextBox7.AppendText(Now & " " & TextBox1.Text & "Проверьте сетевое подключение" & vbCrLf)

End Try

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

'Проверка поиском по имени файла

Dim FI As IO.FileInfo = New IO.FileInfo("C:\Program Files\Windows Defender\MpCmdRun.exe")

If FI.Exists Then

TextBox2.Text = "МСЭ установлен."

TextBox7.AppendText(Now & " " & TextBox2.Text & vbCrLf)

Else

TextBox2.Text = "МСЭ не установлен."

TextBox7.AppendText(Now & " " & TextBox2.Text & "Обратитесь к системному администратору" & vbCrLf)

End If

End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

'Проверка веб-запросом

Try

Using client = New WebClient()

Using stream = client.OpenRead("http://www.google.com")

TextBox3.Text = "МСЭ функционирует правильно"

TextBox7.AppendText(Now & " " & TextBox3.Text & vbCrLf)

End Using

End Using

Catch

TextBox3.Text = "Межсетевой экран функционирует неверно"

TextBox7.AppendText(Now & " " & TextBox3.Text & "Обратитесь к системному администратору" & vbCrLf)

End Try
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

'Проверка установленных антивирусов

Dim IPAddress As String = "127.0.0.1"

Dim connectionOptions As New ConnectionOptions()

connectionOptions.EnablePrivileges = True

connectionOptions.Impersonation = ImpersonationLevel.Impersonate

'обращение к реестру

Dim managementScope As New ManagementScope(String.Format("\\{0}\root\SecurityCenter2", IPAddress), connectionOptions)

managementScope.Connect()

'поиск в реестре по атрибуту антивирус

Dim objectQuery As New ObjectQuery("SELECT * FROM AntivirusProduct")

Dim managementObjectSearcher As New ManagementObjectSearcher(managementScope, objectQuery)

Dim managementObjectCollection As ManagementObjectCollection = managementObjectSearcher.[Get]()
Dim antivirus As String = ""
'вывод антивирусов

If managementObjectCollection.Count > 0 Then

For Each item As ManagementObject In managementObjectCollection

antivirus = antivirus + item("displayName") + ", "

TextBox4.Text = antivirus

TextBox7.AppendText(Now & " Установленные антивирусы: " & TextBox4.Text & vbCrLf)

Next

antivirus = antivirus.Remove(antivirus.Count - 3, 3)

Else

TextBox4.Text = "Антивирусные программы не установлены"

TextBox7.AppendText(Now & " Антивирусные программы не установлены" & vbCrLf)

End If
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click

'проверка процессов
Dim Proc() As Process

Dim Proc2() As Process

Dim ModuleName, ModuleName2, ProcName, ProcName2 As String

ModuleName = "avp.exe"

ModuleName2 = "windefend.exe"

ProcName = System.IO.Path.GetFileNameWithoutExtension(ModuleName)

ProcName2 = System.IO.Path.GetFileNameWithoutExtension(ModuleName2)

Proc = Process.GetProcessesByName(ProcName)

Proc2 = Process.GetProcessesByName(ProcName2)

If Proc.Length > 0 Then

TextBox5.AppendText("Касперский работает" & vbCrLf)

TextBox7.AppendText(Now & TextBox5.Text & vbCrLf)

Else

TextBox5.Text = "Касперский не работает"

TextBox7.AppendText(Now & TextBox5.Text & vbCrLf)

End If
If Proc2.Length > 0 Then

TextBox5.AppendText(" Defender работает")

TextBox7.AppendText(Now & "" & TextBox5.Text & vbCrLf)

Else

TextBox5.AppendText(" Defender не работает")

TextBox7.AppendText(Now & "" & TextBox5.Text & vbCrLf)

End If

End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

'Проверка с помощью файла eicar.com.

Try

My.Computer.FileSystem.DeleteFile("C:\Temp\eicar.zip")

Catch ex As Exception

End Try

'скачивание

My.Computer.Network.DownloadFile("https://cloud.internet-lab.ru/f/7da02e5f831b4c4d875d/?dl=1", "C:\Temp\eicar.zip")
Dim FI As IO.FileInfo = New IO.FileInfo("C:\Temp\eicar.zip")

If FI.Exists Then

TextBox6.Text = "Антивирус не работает"
Else

TextBox6.Text = "Антивирус работает"

TextBox7.AppendText(Now & " " & TextBox6.Text & vbCrLf)

End If
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click

'очистка журнала

TextBox7.Text = ""

End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click

'экспорт в текстовый файл

Dim TextBoxs As TextBox() = {TextBox7}

Dim Lines() As String = New String(TextBoxs.Length - 1) {}

For Id = 0 To TextBoxs.Length - 1

Lines(Id) = TextBoxs(Id).Text

Next

System.IO.File.WriteAllLines("C:\info.txt", Lines)

End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click

'выход

Application.Exit()

End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub

End Class