Файл: московский технический университет связи и информатики.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
-
Тестирование антивирусного ПО
Для тестирования антивируса производится скачивание тестового файла. После загрузки проверяется как антивирус поведет себя с этим файлом. Если файл был удален, то работа антивируса подтверждается. Блок-схема алгоритма тестирования антивирусного ПО представлена на рисунке 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
-
Вывод результатов
Результаты выводятся в виде сообщения в текстовых полях на основной форме приложения.
Интерфейс разработанной программы представлен на рисунке 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
-
Экспорт результатов
Результаты проверки выводится в текстовый файл 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 |