Добавлен: 18.01.2024
Просмотров: 39
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Чтобы сделать какую-либо информацию бесполезной для недоброжелателя, используется совокупность методов преобразования данных, которая называется криптографией. Системы шифрования данных могут выполнять криптографические преобразования на уровне файлов (архиваторы типа ARJ и RAR) или на уровне дисков (программа шифрования Diskreet).
Другим признаком для классификации систем шифрования дисковых данных является способ функционирования данных систем. По способу функционирования системы шифрования дисковых данных делятся на следующие два класса:
-
системы «прозрачного» шифрования (преобразование осуществляется в режиме реального времени, причем незаметно для пользователя); -
системы, вызываемые для осуществления шифрования данных (утилиты, которые нужно специально вызывать для осуществления шифрования данных).
Различают два основных способа шифрования данных, которые передаются по сетям:
-
канальное шифрование (защита всей информации, которая передается по каналу связи, включая служебную информацию); -
оконечное (абонентское) шифрование (позволяет обеспечить конфиденциальность данных, которые передаются между двумя абонентами; защищается только содержание сообщений, а вся служебная информация остается открытой).
Достоинства канального шифрования:
-
встраивание процедур шифрования данных на канальный уровень позволяет использовать аппаратные средства, а это способствует повышению производительности систем.
Недостатки канального шифрования:
-
шифрование служебных данных осложняет механизм маршрутизации сетевых пакетов, в частности, требует расшифровку данных в устройствах промежуточной коммуникации (шлюзы, ретрансляторы и т.д.); -
шифрование служебной информации может привести к появлению статистической закономерности в шифрованных данных, что может повлиять на надежность защиты и ввести ограничения на использование криптографических алгоритмов.
Недостатком абонентского шифрования является возможность анализа информации о структуре обмена сообщениями, например, о получателе, о времени передачи данных, а также об объеме данных.
При обмене данными по сети возникает проблема аутентификации автора документа, а также самого документа, т.е. установление подлинности автора и проверка отсутствия каких-либо изменений в полученном документе. Для аутентификации данных применяются:
-
код аутентификации сообщения; -
электронная подпись (относительно небольшое количество дополнительной аутентифицирующей информации, которая передается вместе с подписываемым текстом).
Безопасность любой криптосистемы определяется тем, какие используются криптографические ключи. В случае ненадежного управления этими ключами недоброжелатель может завладеть ключевой информацией, что позволит ему получить полный доступ ко всей информации, заложенной в системе или КС.
Различают следующие виды функций управления ключами:
-
генерация (генерация ключей симметричных криптосистем с использованием аппаратных и программных средств генерации случайных чисел и т.д.); -
хранение (организация безопасного хранения, учета и удаления ключевой информации); -
распределение ключей (гарантирование скрытности распределяемых ключей, оперативность и точность).
Вредоносное программное обеспечение (ПО) и, прежде всего, компьютерные вирусы представляют очень серьезную опасность для ИС. Недооценка этой опасности может иметь серьезные последствия для информации пользователей. В то же время чрезмерное преувеличение угрозы вирусов негативно влияет на использование всех возможностей компьютерной сети. Знание механизмов действия вредоносного ПО, методов и средств борьбы с ними позволяет эффективно организовать противодействие вирусам, свести к минимуму вероятность заражения и нанесения вреда машинам и информации.
О наличии вредоносного ПО в системе пользователь может судить по следующим признакам:
-
появление сообщений антивирусных средств о заражении или о предполагаемом заражении, «самопроизвольное» отключение антивирусных программ; -
явные проявления присутствия вируса, такие как: сообщения, выдаваемые на монитор или принтер, звуковые эффекты, неожиданный запуск программ, уничтожение файлов и другие аналогичные действия, однозначно указывающие на наличие вируса в системе; -
неявные проявления заражения, которые могут быть вызваны и другими причинами, например, сбоями или отказами аппаратных и программных средств компьютерной системы – увеличение времени обработки той или иной информации, необоснованное уменьшение свободного объема на дисковых носителях, отказ выполнять программы-сканеры вирусной активности, «зависания» системы и т.д.; -
рассылка писем, которые пользователем не отправлялись, по электронной почте.
Вредоносное программное обеспечение – это любая программа, написанная с целью нанесения ущерба или использования ресурсов атакуемого компьютера.
Компьютерные вирусы – это известный всем вид вредоносного ПО. Вирусы – это программы, обладающие способностью к самовоспроизведению (размножению) в среде стандартной операционной системы (ОС) путем включения в исполняемые или хранящиеся программы своей, возможно, модифицированной копии, способной к дальнейшему размножению. Указанное свойство присуще всем типам компьютерных вирусов.
Для защиты от воздействия вредоносного ПО на компьютеры пользователей
Целью антивирусной стратегии является эффективное предотвращение заражения вирусами информационной системы. Другими словами, не максимально быстрое обнаружение и удаление появляющихся вирусов, а создание условий, при которых уже само появление вируса на пользовательском компьютере или, еще хуже, на сервере будет рассматриваться как чрезвычайное происшествие. Поэтому в основе всей стратегии антивирусной безопасности любой фирмы должны лежать следующие разделы:
-
политика антивирусной безопасности; -
план работ по обеспечению антивирусной безопасности; -
порядок действий в критических ситуациях.
Каждая фирма работает с различным уровнем информационной безопасности и в разных условиях информационной среды. Все элементы стратегии организации должны полностью соответствовать целям и задачам, решаемым ее ИС, и специфике тех условий, в которых она работает. Следовательно, и приобретаемая антивирусная система должна полностью отвечать требованиям принятой стратегии.
Для организации эффективной антивирусной защиты необходимо наличие соответствующего антивирусного средства. Несмотря на все разнообразие современных антивирусных программных продуктов, принципы их работы одинаковы.
Лучший способ борьбы с вирусной атакой – ее предотвращение. Для решения этой задачи необходимо:
-
соответствующим образом конфигурирование антивирусного ПО; -
использование только лицензионного ПО; -
ограничение набора программ, которые пользователь может установить; -
устранение известных уязвимостей в используемом ПО; -
контроль использования дисков CD-ROM и флеш-накопителей; -
разработка политики обработки электронной почты; -
разработка политики безопасности приложений, которые обрабатывают документы с интерпретируемыми языками.
Чтобы соответствующим образом сконфигурировать антивирусное ПО, необходимо произвести следующие установки антивируса:
-
сканирование в режиме реального времени, в фоновом или аналогичном режиме, должно быть разрешено; -
при старте системы необходимо выполнять сканирование памяти, загрузочного сектора и системных файлов; -
своевременно обновлять вирусные базы данных; -
желательно сканировать файлы всех типов или, как минимум, СОМ-, ЕХЕ-файлы, а также файлы типа VBS, SHS, OCX; -
установить аудит всех действий антивирусных программ.
Поскольку ПО, полученное из неизвестного источника, может быть троянским или зараженным вирусом, то необходимо пользоваться только лицензионным ПО.
Ограничение набора программ, которые пользователь способен установить в ОС, связано с тем, что эти программы могут быть заражены вирусами или служить причиной успеха других атак. Особо следует обратить внимание на различные сервисы Internet и, в первую очередь, на программы передачи сообщений, такие как IRC, ICQ и др. (они могут передавать файлы и служить источником заражения ОС).
2. ПРАКТИЧЕКАЯ РЕАЛИЗАЦИЯ
2.1. Разработка алгоритма, интерфейса и программная реализация.
На первом этапе требуется разработать алгоритмы работы модулей в соответствии, с которым, будет функционировать приложение.
Следующим этапом является разработка интерфейса приложения. Приложение может быть выполнено в виде консольного или иметь оконный интерфейс с расположенными на нем элементами управления. Один из вариантов оконного интерфейса представлен на рисунке 1.
Разработанный интерфейс должен обеспечивать выполнение всех функций в соответствии с составленным алгоритмом.
При программной реализации приложения необходимо, обеспечить выполнения функциональных возможностей заложенных при разработке алгоритма приложения. Рассмотрим в качестве примера программную реализацию, представленную ниже помодульно (Рисунок -1).
Рисунок 1. Возможный вариант интерфейса приложения.
2.2. Проверка наличия подключения к Интернету.
Данная проверка должна осуществляться при нажатии на соответствующую кнопку. Проверку можно осуществить с помощью команды "ping". Для этого должен выполняться соответствующий код, подобный следующему:
using System.Net.NetworkInformation;
IPStatus status = IPStatus.Unknown;
try
{
status = new Ping().Send("www……...ru").Status;
}
catch { }
if (status == IPStatus.Success)
{
textBox1.Text = "Данный компьютер подключен к интернету";
}
else
{
textBox1.Text = "Данный компьютер не подключен к интернету";
}
2.3. Проверка наличия установленного межсетевого экрана
Проверку установленного программного обеспечения можно проверить с помощью нескольких способов, одним из таких способов является проверка наличия папок с установленными файлами или наличия непосредственно самих файлов программного обеспечения. Например, следующим образом:
private void button2_Click(object sender, EventArgs e)
{
if (!(File.Exists("C:/Program Files/……………...exe")))
{
textBox2.Text = "Фаервол ……….. установлен!";
}
else
{
textBox2.Text = "Фаервол ………………… не установлен!";
}
}
2.4. Проверка работоспособности межсетевого экрана
Проверку работоспособности межсетевого экрана можно осуществить с помощью обращения из программы к внешнему ресурсу. Если доступ удастся получить и фаервол не сообщит о такой попытке, значит, он не работает или неправильно настроен. Для реализации такого способа, можно использовать программный код представленный ниже.
using System.Net.NetworkInformation;
WebClient Client = new WebClient();
String Response;
try
{
Response = Client.DownloadString("http://www..........com");
}
catch
{
textBox3.Text = "Межсетевой экран функционирует правильно!";
}
if(textBox3.Text=="")
{
textBox3.Text = "Межсетевой экран функционирует неверно, или не функционирует вовсе!";
}
2.5. Проверка наличия установленного антивируса
Для обеспечения информационной безопасности ПК, на нем должен быть установлен антивирусный пакет. Одним из способов проверки наличия установленного приложения на компьютере является проверка по списку установленных программ в реестре. Примерный код, выполняющий такую операцию, представлен ниже.
private void button6_Click(object sender, EventArgs e)
{
GetInstalledSoftware();
}
private void GetInstalledSoftware()
{
List
using (var hklm = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)) // или 32
using (var rk = hklm.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"))
{
foreach (string skName in rk.GetSubKeyNames())
{
using (RegistryKey sk = rk.OpenSubKey(skName))
{
try
{
if (sk.GetValue("DisplayName") != null)
{
items.Add(sk.GetValue("DisplayName").ToString());
listBox1.Items.Add(new ListViewItem(items.ToArray()));
listBox1.SetSelected(listBox1.Items.Count - 1, true);
if (listBox1.SelectedItem.ToString() == "ListViewItem: {………………………………………..}")
{
textBox4.Text = "Антивирус ………………. установлен в системе";
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
items.Clear();
}
}
}
private string CheckValue(object input)
{
if (input != null)
return input.ToString();
else
return string.Empty;
}
2.6. Проверка работоспособности антивирусного ПО
При отсутствии в составе антивирусного пакета монитора, работающего постоянно, обеспечивается не полная защита операционной системы от вредоносных программ. Как правило, во всех современных антивирусах присутствует резидентный модуль позволяющий проверять программы и документы в режиме реального времени. Для того, что бы проверить, запущен ли резидентный модуль антивируса в автоматическом режиме, можно использовать программный код, подобный в листинге представленному ниже.
using System.Diagnostics;
private void button5_Click(object sender, EventArgs e)
{
var runningProcs = from proc in Process.GetProcesses(".") orderby proc.Id select proc;
if (runningProcs.Count(p => p.ProcessName.Contains("spideragent")) > 0)
{
textBox5.Text="Антивирус …………….. работает!";
}
else
{
textBox5.Text = "Антивирус …………….. не работает!";
}
}
Для того, что бы проверить, функционирует ли резидентный модуль антивируса можно создать тестовые файлы и проверить удаляет ли их антивирус. На первом этапе нужно создать файлы с содержимым: "X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H"+"+H*" и после заданного времени проверить наличие такого файла. Проверки можно выполнить с файлами различных типов. При проверке с помощью указанной строки, необходимо в тестовые файлы вставлять содержимое строки, предварительно удалив выделенный красным цветом текст. Далее выполнить сохранение файлов в тех же форматах.
2.7. Вывод результатов
По окончании проведения проверок необходимо вывести информацию с их результатами. Результаты выводятся в виде сообщения в отдельном окне или в текстовом поле на основной форме приложения. Результаты можно выводить автоматически после проведения всех проверок или по нажатию на соответствующую кнопку. Рассмотрим способ информирования с помощью текстового поля в приложении после нажатия на кнопку «Вывод результатов». Фрагмент примерного кода представлен ниже. В этом фрагменте представлен код выводящий информацию о проверке наличия соединения с интернетом и наличия установленного на ПК фаервола. Аналогичным образом в это текстовое поле выводятся результаты других проверок.
private void button11_Click(object sender, EventArgs e)
{
textBox8.Clear();
//Вывод информации о проверки наличия соединения
textBox8.Text = "Результаты проведенного тестирования антивируса и фаервола" + System.Environment.NewLine + System.Environment.NewLine;
if (textBox1.Text == "Да") textBox8.Text = textBox8.Text + "1. Данный компьютер подключен к интернету";
else
{
if (textBox1.Text == "Нет") textBox8.Text = textBox8.Text + "1. Данный компьютер не подключен к интернету";
else
{
textBox8.Text = textBox8.Text + " 1. Тестирование подключения к интернету не выполнялось";
}
}
textBox8.Text = textBox8.Text + System.Environment.NewLine;
//Вывод информации о проверки наличия фаервола
if (textBox2.Text == "Не установлен") textBox8.Text = textBox8.Text + "2. Фаервол ………… не установлен на этом ПК!";
else
{
if (textBox2.Text == "Установлен") textBox8.Text =textBox8.Text + "2. Фаервол ………….. установлен на этом ПК!";
else
{
textBox8.Text = textBox8.Text + "2. Проверка наличия фаервола на данном ПК не выполнялась";
}
}
textBox8.Text = textBox8.Text + System.Environment.NewLine;
. . . . . . . . . . . . .
textBox1.Clear(); textBox2.Clear();
textBox3.Clear(); textBox4.Clear();
textBox5.Clear(); textBox6.Clear();
}
По окончании вывода результатов необходимо очистить поля с 1 по 6 для того что бы избежать ситуации, что при повторной проверке, будут выведены неверные результаты.
2.8. Сохранение результатов в файл.
Для сохранения результатов выполненных тестов в файл необходимо использовать следующий примерный программный код, представленный ниже. На рисунке 3 представлено окно сохранения результатов.
private void button9_Click(object sender, EventArgs e)
{
//saveFileDialog1.ShowDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string filename = saveFileDialog1.FileName;
// сохраняем текст в файл
File.WriteAllText(filename, textBox8.Text);
}
}
Рис.3. Окно сохранения результатов тестирования
2.9. Выход из программы
Для более комфортного использования разработанного приложения необходимо предусмотреть кнопку выхода из приложения. Пример кода обработки нажатия кнопки и выхода их приложения представлен ниже.
private void button10_Click(object sender, EventArgs e)
{
Close();
}
Выводы по разделу: В ходе рассмотрения практической части курсовой работы была разработана программа «Проверки информационной безопасности», который отвечает предъявляемым требованиям.
ЗАКЛЮЧЕНИЕ
В курсовой работе были рассмотрены теоретические основы обеспечения информационной безопасности предприятия ООО «Телеком»,, изучена структуру информационной системы предприятия. Проведен анализ программных средств защиты информации, а также настройка комплекса мер по антивирусной защите в сети предприятия. Изучены возможности современных антивирусных решений. Разработаны алгоритмы модулей и реализована на их основе комплексное программное обеспечение для проверки безопасности ПК, предназначенное для контроля работоспособности установленных на ПК антивируса и фаервола.
Таким образом, поставленные задачи на выполнение курсового проекта выполнены в полном объеме.
Список используемой литературы
-
ГОСТ Р 56546-2015 Защита информации. Уязвимости информационных систем. Классификация уязвимостей информационных систем -
РД 50-34.698-90. Автоматизированные системы. Требования к содержанию документов.
Интернет-ресурсы:
-
Выбираем антивирус: Определяем лучший авер/Internet Security по версии журнала Хакер [Электронный ресурс] // URL: https://xakep.ru/2011/05/31/55562/ (дата обращения 07.11.2019) -
Информационная безопасность. Защита информации [Электронный ресурс] // URL: http://all-ib.ru/ (дата обращения 07.11.2019) -
Интернет-портал по информационным технологиям [Электронный ресурс] // URL:http://www.intuit.ru (дата обращения 05.11.2019) -
Портал Российская система качества [Электронный ресурс] // URL: https://roskachestvo.gov.ru/ (дата обращения 01.11.2019) -
Интернет-портал компании Лаборатория Касперского [Электронный ресурс] // URL: https://kaspersky.ru/ (дата обращения 06.11.2019) -
Интернет-портал компании ESET [Электронный ресурс] // URL: https://www.esetnod32.ru (дата обращения 06.11.2019) -
Интернет-портал компании Dr.Web [Электронный ресурс] // URL: https://www.drweb.ru/ (дата обращения 06.11.2019) -
Интернет-портал компании Avast [Электронный ресурс] // URL: https://www.avast.ru/ (дата обращения 06.11.2019) -
Интернет-портал компании AVG [Электронный ресурс] // URL: https://www.avg.com/ (дата обращения 06.11.2019)
Приложение
#!/usr/b n/env python3 | |
| import requests, subprocess, random, os, pathlib, urllib.request, pyfiglet |
| from datetime import datetime |
| def start(): |
| now = datetime.now() |
| curdate = datetime.date(datetime.now()) ; curdate = str(curdate) |
| curtime = now.strftime("%H:%M:%S") ; curtime = str(curtime) |
| otchet = ['Время запуска программы: ', curdate, curtime, '', 'Результаты выполнения программы:'] |
| print(pyfiglet.figlet_format("GIT EDITION")) |
| print(pyfiglet.figlet_format("Ryabov M")) |
| n1 = check_networkconn() ; otchet.append(n1) |
| n2 = check_firewall() ; otchet.append(n2) |
| n3 = check_firewall_work() ; otchet.append(n3) |
| n4 = check_antivirus() ; otchet.extend(n4) |
| n5 = check_av_work() ; otchet.append(n5) |
| saveotchet(otchet) |
| #Модуль проверки наличия соединения с Интернетом. |
| def check_networkconn(): |
| url = "http://www.google.com" |
| timeout = 5 |
| try: |
| request = requests.get(url, timeout=timeout) |
| otvet = '1. Подключено к сети Интернет.' |
| except (requests.ConnectionError, requests.Timeout) as exception: |
| otvet = '1. Нет сети.' |
| return otvet |
| #Модуль проверки наличия установленного межсетевого экрана. |
| def check_firewall(): |
| fw_finder = subprocess.check_output('netsh advfirewall show currentprofile').decode("cp866") |
| if 'Состояние ВКЛЮЧИТЬ' in fw_finder: |
| otvet = '2. МЭ включен.' |
| else: |
| otvet = '2. МЭ отключен/отсутствует.' |
| return otvet |
| #Модуль проверки работоспособности межсетевого экрана. |
| def check_firewall_work(): |
| weburl = urllib.request.urlopen('https://www.google.com') |
| if weburl.getcode() == 200: |
| data = weburl.read() |
| otvet = '3. Межсетевой экран разрешил данное соединение. Является угрозой безопасности для ОС.' |
| else: |
| otvet = '3. МЭ прервал интернет соединение. Работает корректно.' |
| return otvet |
| #Модуль проверки наличия установленного антивируса. поиск программы либо в реестре либо на пк |
| def check_antivirus(): |
| name1 = "C:\\Program files\\" |
| name2 = ['AVAST software', 'Kaspersky', 'Eset'] |
| otvet = [] |
| for n2 in name2: |
| name = name1 + n2 |
| if os.path.isdir(name): |
| otv = '4. Установлен антивирус: '+n2+'.' |
| otvet.append(otv) |
| if otvet == []: |
| otv = '4. Антивирусы не обнаружены!.' |
| otvet.append(otv) |
| return otvet |
| #Модуль проверки работоспособности антивирусного ПО. |
| def writefile(name,textgen): |
| f=open(name, "w+") |
| f.write(textgen) |
| f.close |
| def check_av_work(): |
| lower = "abcdefghijklmnopqrstuvwxyz" |
| upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
| numbers = "0123456789" |
| symbols = "[]}{()*;/,_-" |
| all = lower+upper+numbers+symbols |
| length = 70 |
| textgen = "".join(random.sample(all,length)) |
| name2 = "".join(random.sample(lower,5))+".txt" |
| name1 = '' |
| name = name1 + name2 |
| writefile(name,textgen) |
| try: |
| os.remove(name) |
| otvet = '5. АВ ПО не обнаружило создание вредоносного файла '+name2+'.' |
| except FileNotFoundError: |
| otvet = '5. АВ ПО обнаружило создание вредоносного файла '+name2+' и отправило его в карантин.' |
| except: |
| otvet = '5. Неизвестная ошибка.' |
| return otvet |
| #Модуль сохранения результатов проверки. |
| def saveotchet(otchet): |
| name = "Оценка Безопасности КС - Курсовая by Рябов М.txt" |
| f=open(name, "w+") |
| for o in otchet: |
| f.write(o + '\n') |
| f.close |
| print('Проверка прошла успешно, результаты записаны в файл: ' + "C:\\Users\\Admin\\" + name) |
| start() |