- •Міністерство освіти і науки, молоді та спорту україни
- •Календарний план виконання дипломної роботи
- •Реферат
- •Перелік умовних скорочень
- •Розділ 1 нормативно-правове забезпечення процесу управління інцидентами інформаційної безпеки
- •1.1.1. Гост р ісо/мекто 18044-2004. Менеджмент інцидентів інформаційної безпеки
- •1.1.2. Мсе-т е.409«Організація з реагування на інциденти та обробка інцидентів безпеки: Керівництво для організацій електрозв'язку»
- •1.1.3. Галузевий стандарт України суіб 2.0/iso/iec 27002:2010
- •1.2. Рекомендовані практики щодо управління інцидентами іб
- •1.2.1. Nist sp 800-61 Computer security incident handling guide
- •1.2.2. Рекомендаціі Інституту програмного інжинірингу університету Карнегі Мелона
- •1.3. Аналіз сучасних підходів до створення команд реагування на інциденти іб
- •Розділ 2 удосконалення системи управління інцидентами інформаційної безпеки
- •2.1. Аналіз переваг та недоліків системи управління інцидентами інформаційної безпеки nau-cert
- •2.2. Проектування програмного модуля для категоризації загроз
- •2.3. Синтез удосконаленої системи управління інцидентами інформаційної безпеки nau-cert
- •2.4. Висновки до розділу 2
- •Розділ 3 дослідження удосконаленої системи управління інцидентами інформаційної безпеки nau-cert
- •3.1. Розробка програмного модуля категоризації інцидентів іб
- •3.2. Експериментальне дослідження удосконаленої системи управління інцидентами інформаційної безпеки nau-cert
- •3.3. Висновки до розділу 3
- •Висновки
- •Список використаних джерел
- •Вихідний код програмного модуля категоризації інцидентів інформаційної безпеки
Вихідний код програмного модуля категоризації інцидентів інформаційної безпеки
Справочник «КласифікаторІнцидентів»:
Форма елементу:
Процедура ПередЗаписью(Отказ)
Если Не ЗначениеЗаполнено(Наименование) Тогда
Отказ = Истина;
Сообщить("Заповніть назву Класифікатора інцидентів");
КонецЕсли;
КонецПроцедуры
Процедура НаименованиеПриИзменении(Элемент)
Наименование = СокрЛП(Наименование);
КонецПроцедуры
Справочник «КлючовіСлова»:
Форма елементу:
Процедура ПередЗаписью(Отказ)
Если Не ЗначениеЗаполнено(Наименование) Тогда
Отказ = Истина;
Сообщить("Заповніть назву ключового слова");
КонецЕсли;
КонецПроцедуры
Процедура НаименованиеПриИзменении(Элемент)
Наименование = СокрЛП(Наименование);
КонецПроцедуры
Справочник «НастройкиПідключенняДоПошти»:
Форма елементу:
Процедура ДействияФормыПроверитьПодключение(Кнопка)
АутентификацияPOP3 = ?(АутентификацияPOP3 = "Обычная" ИЛИ АутентификацияPOP3 = "CramMD5" ИЛИ АутентификацияPOP3 = "APOP", АутентификацияPOP3, "Обычная");
Почта = Новый ИнтернетПочта;
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераPOP3 = СокрЛП(АдресСервераPOP3);
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации[АутентификацияPOP3];
Профиль.ПортPOP3 = ПортPOP3;
Профиль.Пользователь = СокрЛП(Пользователь);
Профиль.Пароль = Пароль;
Профиль.ВремяОжидания = ВремяОжидания;
Попытка
Почта.Подключиться(Профиль);
Сообщить("Успешно подключено!");
Почта.Отключиться();
Исключение
Сообщить("Не удалось подключиться к почте! Ошибка: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Процедура АутентификацияPOP3НачалоВыбора(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Спис = Новый СписокЗначений;
Спис.Добавить("Обычная");
Спис.Добавить("CramMD5");
Спис.Добавить("APOP");
Элемент.Значение = Спис.ВыбратьЭлемент("Аутентификация POP");
КонецПроцедуры
Справочник «Заявники»:
Форма елементу:
Процедура ПередЗаписью(Отказ)
Если Не ЗначениеЗаполнено(Наименование) Тогда
Отказ = Истина;
Сообщить("Заповніть Ім'я завника");
КонецЕсли;
Если Не ЗначениеЗаполнено(ТипЗаявника) Тогда
Отказ = Истина;
Сообщить("Заповніть Тип заявника");
КонецЕсли;
КонецПроцедуры
Документ «РеєстраціяІнциденту»:
Модуль об’єкту:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Если Не Отказ Тогда
НаборЗаписей = РегистрыНакопления.Інциденти.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.ВидСравнения = ВидСравнения.Равно;
НаборЗаписей.Отбор.Регистратор.Значение = Ссылка;
НаборЗаписей.Отбор.Регистратор.Использование = Истина;
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
Движение = НаборЗаписей.Добавить();
Движение.Период = Дата;
Движение.Регистратор = Ссылка;
Движение.Активность = Истина;
Движение.ІдентифікаторІнцидента = ІдентифікаторІнцидента;
Движение.Заявник = Заявник;
Движение.ОписІнцидента = ОписІнцидента;
Движение.Статус = Статус;
Движение.Кількість = 1;
НаборЗаписей.Записать();
КонецЕсли;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если Не ЗначениеЗаполнено(Статус) Тогда
Отказ = Истина;
Сообщить("Заповніть Статус інцидента");
КонецЕсли;
Если Не ЗначениеЗаполнено(Заявник) Тогда
Отказ = Истина;
Сообщить("Заповніть Заявника інцидента");
КонецЕсли;
Если Не ЗначениеЗаполнено(ЕлетроннаПошта) Тогда
Отказ = Истина;
Сообщить("Заповніть Електронну пошту заявника інцидента");
КонецЕсли;
Если Не ЗначениеЗаполнено(ІдентифікаторІнцидента) Тогда
Отказ = Истина;
Сообщить("Заповніть Ідентифікатор інцидента");
КонецЕсли;
Если Не ЗначениеЗаполнено(ОписІнцидента) Тогда
Отказ = Истина;
Сообщить("Заповніть Опис інцидента");
КонецЕсли;
КонецПроцедуры
Обработка «СозданиеАвтоматическихЗаявок»:
Форма елементу:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Если Не ЗначениеЗаполнено(ПапкаЗаявок) Тогда
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(ШаблонИменФайла) Тогда
ШаблонИменФайла = "IncudentForNauSert";
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
КлючовіСлова.Ссылка,
КлючовіСлова.Наименование
ИЗ
Справочник.КлючовіСлова КАК КлючовіСлова";
Тз = Запрос.Выполнить().Выгрузить();
Инд = 0;
Инд2 = 0;
Пока Инд < Количество Цикл
ОбработкаПрерыванияПользователя();
Состояние(Инд);
ТабДокумент = Новый ТабличныйДокумент;
Дата = ТабДокумент.Область("R1C1");
Заявник = ТабДокумент.Область("R2C2");
ЕлетроннаПошта = ТабДокумент.Область("R3C3");
ОписІнцидента = ТабДокумент.Область("R4C4");
Дата.Текст = Формат(ТекущаяДата(), "ДФ='yyyy_MM_dd HH_mm_ss'");
Заявник.Текст = СокрЛП("ТестовыйЗаявник");
ЕлетроннаПошта.Текст = СокрЛП("test@ukr.net");
ОписІнцидента.Текст = СокрЛП("Инцедент:" + Тз[Инд2].Наименование);
ИмяФайла = "" + ПапкаЗаявок + "\" + ШаблонИменФайла + " " + Инд + " " + Заявник.Текст + " від " + Дата.Текст + ".mxl";
ТабДокумент.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.MXL);
Инд = Инд + 1;
Инд2 = Инд2 + 1;
Если Инд2 > (Тз.Количество() - 1) Тогда
Инд2 = 0;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ПапкаЗаявокНачалоВыбора(Элемент, СтандартнаяОбработка)
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПапкаЗаявок = ДиалогОткрытияФайла.Каталог;
КонецЕсли;
КонецПроцедуры
Процедура ПапкаЗаявокОчистка(Элемент, СтандартнаяОбработка)
ПапкаЗаявок = "";
КонецПроцедуры
Обработка «ЗагрузкаАвтоматомЗаявокИзПапки»:
Форма елементу:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Если Не ЗначениеЗаполнено(ПапкаЗаявок) Тогда
Возврат;
КонецЕсли;
НайденныеФайлы = НайтиФайлы(ПапкаЗаявок, "*.mxl");
Инд = 0;
Пока Инд < НайденныеФайлы.Количество() Цикл
Файл = НайденныеФайлы[Инд];
ОбработкаПрерыванияПользователя();
Сообщить(Файл.ПолноеИмя);
ТабДокумент = Новый ТабличныйДокумент;
ТабДокумент.Прочитать(Файл.ПолноеИмя);
Дата = СокрЛП(ТабДокумент.Область("R1C1").Текст);
Дата = СтрЗаменить(Дата,"_", "");
Дата = СтрЗаменить(Дата," ", "");
Заявник = СокрЛП(ТабДокумент.Область("R2C2").Текст);
ЕлетроннаПошта = СокрЛП(ТабДокумент.Область("R3C3").Текст);
ОписІнцидента = СокрЛП(ТабДокумент.Область("R4C4").Текст);
Попытка
Дата = Дата(Дата);
Исключение
Дата = "";
КонецПопытки;
Если Не ЗначениеЗаполнено(Дата) Или
Не ЗначениеЗаполнено(Заявник) Или
Не ЗначениеЗаполнено(ЕлетроннаПошта) Или
Не ЗначениеЗаполнено(ОписІнцидента) Тогда
Сообщить("В файле " + Файл.ПолноеИмя + " что-то не то!");
Инд = Инд + 1;
Продолжить;
КонецЕсли;
НовыйДок = Документы.РеєстраціяІнцидентів.СоздатьДокумент();
НовыйДок.Дата = Дата;
НовыйДок.ЕлетроннаПошта = ЕлетроннаПошта;
НовыйДок.Заявник = НайтиЗаявителя(Заявник, ЕлетроннаПошта);
НовыйДок.Коментарій = "Загружено " + ТекущаяДата();
НовыйДок.ОписІнцидента = ОписІнцидента;
НовыйДок.ІдентифікаторІнцидента = ПоискКласификатора(ОписІнцидента);
НовыйДок.Статус = Перечисления.СтатусиІнцедентів.НеОпрацьовано;
НовыйДок.Записать();
Попытка
НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
Исключение
КонецПопытки;
УдалитьФайлы(Файл.ПолноеИмя);
Инд = Инд + 1;
КонецЦикла;
КонецПроцедуры
Функция НайтиЗаявителя(Заявник, ЕлетроннаПошта)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
Заявники.Ссылка
ИЗ
Справочник.Заявники КАК Заявники
ГДЕ
Заявники.Наименование = &Наименование";
Запрос.УстановитьПараметр("Наименование", СокрЛП(Заявник));
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Заявитель = Выборка.Ссылка;
Иначе
НовыйСпр = Справочники.Заявники.СоздатьЭлемент();
НовыйСпр.Наименование = СокрЛП(Заявник);
НовыйСпр.ЕлетроннаПошта = СокрЛП(ЕлетроннаПошта);
НовыйСпр.ТипЗаявника = Перечисления.ТипиЗаявників.ФізЛице;
НовыйСпр.Записать();
Заявитель = НовыйСпр.Ссылка;
КонецЕсли;
Возврат Заявитель;
КонецФункции
Функция ПоискКласификатора(ОписІнцидента)
Результат = Справочники.КласифікаторІнцидентів.НеОтсортовані;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
КласифікаторІнцидентівКлючовіСлова.Ссылка КАК Ссылка,
КласифікаторІнцидентівКлючовіСлова.КлючовеСлово КАК КлючовеСлово,
КласифікаторІнцидентівКлючовіСлова.Ссылка.Код КАК Код
ИЗ
Справочник.КласифікаторІнцидентів.КлючовіСлова КАК КласифікаторІнцидентівКлючовіСлова
ГДЕ
КласифікаторІнцидентівКлючовіСлова.Ссылка.ПометкаУдаления = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
Код,
КлючовеСлово";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Если Найти(ОписІнцидента, Выборка.КлючовеСлово) > 0 Тогда
Результат = Выборка.Ссылка;
Прервать;
КонецЕсли;
КонецЦикла;
Возврат Результат;
КонецФункции
Процедура ПапкаЗаявокНачалоВыбора(Элемент, СтандартнаяОбработка)
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПапкаЗаявок = ДиалогОткрытияФайла.Каталог;
КонецЕсли;
КонецПроцедуры
Процедура ПапкаЗаявокОчистка(Элемент, СтандартнаяОбработка)
ПапкаЗаявок = "";
КонецПроцедуры
Обработка «ЗагрузитиЗапитиЗПошти»:
Форма елементу:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Если Не ЗначениеЗаполнено(ПапкаЗаявок) Тогда
Возврат;
КонецЕсли;
Если Не ЗначениеЗаполнено(НастройкаПідключенняДоПочти) Тогда
Возврат;
КонецЕсли;
Почта = Новый ИнтернетПочта;
Профиль = Новый ИнтернетПочтовыйПрофиль;
ЗаполнитьЗначенияСвойств(Профиль, НастройкаПідключенняДоПочти);
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации[НастройкаПідключенняДоПочти.АутентификацияPOP3];
Попытка
Почта.Подключиться(Профиль);
МассивПисем = Почта.Выбрать(Ложь);
МассивПисемДляУдаления = Новый Массив;
Для Каждого Письмо из МассивПисем Цикл
Если Лев(Письмо.Тема,11) <> "Інцидент ІБ" Тогда
Продолжить;
КонецЕсли;
Сообщить("Получено письмо с идентификатором: " + Письмо.Идентификатор[0]);
Для Каждого Вложение из Письмо.Вложения Цикл
Если Найти(Вложение.ИмяФайла, ".mxl") > 0 Тогда
Вложение.Данные.Записать(ПапкаЗаявок + "\" + Вложение.ИмяФайла);
КонецЕсли;
КонецЦикла;
МассивПисемДляУдаления.Добавить(Письмо.Идентификатор[0]);
КонецЦикла;
Почта.УдалитьСообщения(МассивПисемДляУдаления);
Почта.Отключиться();
Исключение
Сообщить("Ошибка - " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Процедура ПапкаЗаявокНачалоВыбора(Элемент, СтандартнаяОбработка)
Режим = РежимДиалогаВыбораФайла.ВыборКаталога;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПапкаЗаявок = ДиалогОткрытияФайла.Каталог;
КонецЕсли;
КонецПроцедуры
Процедура ПапкаЗаявокОчистка(Элемент, СтандартнаяОбработка)
ПапкаЗаявок = "";
КонецПроцедуры"
Запит в Отчёте «Звіт»:
"ВЫБРАТЬ
ІнцидентиОбороты.ІдентифікаторІнцидента КАК ІдентифікаторІнцидента,
ІнцидентиОбороты.ОписІнцидента КАК ОписІнцидента,
ІнцидентиОбороты.Заявник КАК Заявник,
ІнцидентиОбороты.Статус КАК Статус,
СУММА(ІнцидентиОбороты.КількістьОборот) КАК Кількість
{ВЫБРАТЬ
ІдентифікаторІнцидента.*,
ОписІнцидента,
Заявник.*,
Статус.*,
Кількість}
ИЗ
РегистрНакопления.Інциденти.Обороты(&НачалоПериода, &КонецПериода, , ) КАК
ІнцидентиОбороты
{ГДЕ
ІнцидентиОбороты.ІдентифікаторІнцидента.*,
ІнцидентиОбороты.ОписІнцидента,
ІнцидентиОбороты.Заявник.*,
ІнцидентиОбороты.Статус.*,
ІнцидентиОбороты.КількістьОборот КАК Кількість}
СГРУППИРОВАТЬ ПО
ІнцидентиОбороты.Статус,
ІнцидентиОбороты.Заявник,
ІнцидентиОбороты.ІдентифікаторІнцидента,
ІнцидентиОбороты.ОписІнцидента"
1Події ІБ можуть бути результатом випадкових або навмисних спроб компрометації захисних заходів ІБ, але в більшості випадків подія ІБ сама по собі не означає, що спроба в дійсності була успішною і, отже, якимсь чином вплинула на конфіденційність, цілісність і (або) доступність , тобто не всі події ІБ будуть віднесені до категорії інцидентів ІБ.
2Необхідно мати певну шкалу серйозності інцидентів з відповідною класифікацією. Ця шкала може складатися, наприклад, з двох положень: «значні» і «незначні». Вибір градацій шкали повинен грунтуватися на фактичних або передбачуваних негативних впливах на бізнес-операції організації.