Добавлен: 25.10.2023
Просмотров: 555
Скачиваний: 21
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
В области информационной безопасности компании, которые занимаются разработкой ПО проводят свои исследования. Данные исследования полезны для изучения специалистам по информационной безопасности, для того чтобы спрогнозировать тип и характер угроз. Согласно отчёту портала ptsecurity в первом квартале 2019 года наиболее распространёнными средствами атаки на финансовые организации стало использование ВПО и социальная инженерия или
«фишинг», именно «фишинг» направлен на задействование сотрудников организации. На рисунке 6 представлена диаграмма методов атак на финансовые организации.[33, 36]
Рисунок 6 – Методы атак на финансовые организации в Q1 2019
Если учесть, что средства защиты развиваются вместе с угрозами, то можно предположить, что способы и задействованные средства при кибератаках претерпят существенные изменения. Наиболее вероятный метод, это осуществить атаку с помощью ничего не подозревающего сотрудника, например, чтобы он запустил вредоносный исполняемый файл. Такой вид атак классифицируется как
«социальная инженерия», в повседневной жизни такие атаки называются
«фишинг» или «инсайдерские».
Как видно из диаграммы, такой вид атак почти стал вровень по популярности с ВПО. Основная опасность фишинга заключается в том, что его трудно предотвратить. Подобный вид атак, всё ещё остаётся наиболее опасным для финансовых организаций, так как реализованная угроза с помощью сотрудника, может повлечь серьёзные последствия. Защита организации изнутри всё ещё является слабым местом многих организаций.
В подтверждение слов о серьёзности внутренней угрозы. Портал anti- malware провёл исследование о характере внутренних угроз. В результате этого исследования была составлена диаграмма.
Рисунок 7 – Диаграмма угроз3>1>1>1>
3.3 Обработка исключительных ситуаций и ошибок в программе
В разрабатываемом программном решении на Python для обработки исключительных ситуаций и ошибок мы используем механизм исключений и обработку исключений. Это позволяет корректно обрабатывать возможные ошибки и ситуации, которые могут возникнуть в процессе работы программы. Давайте рассмотрим примеры обработки исключительных ситуаций:
1. Обработка ошибок загрузки сообщения:
Если при загрузке сообщения возникает ошибка, например, файл сообщения не найден или некорректный формат файла, мы должны предусмотреть соответствующую обработку ошибок. Вотпримеркода:
```python
def load_message(file_path):
try:
# Код загрузки сообщения из файла
# ...
return message
except FileNotFoundError:
print("Ошибка: Файлсообщенияненайден.")
return None
еxceptInvalidFileFormatError:
print("Ошибка: Некорректныйформатфайласообщения.")
returnNone
```
В этом коде мы используем блок `try-except` для перехвата исключений, которые могут возникнуть при загрузке сообщения. Если возникает ошибка `FileNotFoundError`, мы выводим сообщение об ошибке, указывающее, что файл сообщения не найден. Если возникает ошибка `InvalidFileFormatError`, мы выводим сообщение о некорректном формате файла.
2. Обработка ошибок анализа сообщений:
В процессе анализа заголовков и содержимого сообщений также могут возникать ошибки, например, если структура сообщения не соответствует ожидаемому формату или отсутствуют необходимые данные. Вот пример обработки ошибок в алгоритме анализа заголовков:
```python
defanalyze_headers(headers):
try:
# Коданализазаголовков
# ...
return analysis_result
exceptMissingDataError:
print("Ошибка: Отсутствуют необходимые данные в заголовках сообщения.")
return None
except InvalidHeaderFormatError:
print("Ошибка: Некорректныйформатзаголовковсообщения.")
returnNone
```
В этом коде мы использовали блок `try-except` для перехвата возможных исключений при анализе заголовков. Если возникает ошибка `MissingDataError`, мы выводим сообщение о отсутствии необходимых данных в заголовках. Если возникает ошибка `InvalidHeaderFormatError`, мы выводим сообщение о некорректном формате заголовков.
Таким образом, обработка исключительных ситуаций и ошибок в программе позволяет корректно реагировать на возможные проблемы и уведомлять пользователя о них, обеспечивая более стабильное и надежное функционирование программного решения.
3.4 Подготовка тестовых наборов данных
Для тестирования и валидации разработанной методики и программного решения мы подготавливаем тестовые наборы данных, которые содержат разнообразные примеры электронных сообщений. Эти наборы данных помогут нам проверить работу алгоритмов анализа и обработки сообщений, а также оценить эффективность методики защиты от целевого фишинга.
При подготовке тестовых наборов данных мы учитываем следующие аспекты:
1. Разнообразие типов сообщений: Мы включаем в тестовые наборы данных разнообразные типы сообщений, такие как обычные письма, рекламные сообщения, социальные сети, банковские уведомления и т.д. Это поможет нам проверить, насколько хорошо методика справляется с различными видами фишинга.
2. Поддельные фишинговые сообщения: Мы включаем в тестовые наборы данных фишинговые сообщения, которые созданы специально для тестирования системы. Это поможет нам оценить эффективность методики в распознавании и обнаружении таких сообщений.
3. Реальные примеры фишинговых сообщений: Мы также включаем реальные примеры фишинговых сообщений из открытых источников или баз данных фишинговых атак. Это поможет нам проверить, насколько хорошо методика справляется с актуальными угрозами.
4. Обычные и легитимные сообщения: В тестовых наборах данных также должны присутствовать обычные и легитимные сообщения, чтобы оценить, насколько низка вероятность ложных срабатываний методики и программного решения.
Кроме того, важно убедиться, что тестовые наборы данных достаточно объемные и разнообразные для полноценного покрытия возможных сценариев и ситуаций.
Подготовка тестовых наборов данных требует систематического подхода и ручной работы. Мы можем создать различные папки с файлами сообщений разных типов, организовать структуру каталогов, указывающую на содержание и свойства каждого сообщения, и разделить наборы данных на обучающие, тестовые и валидационные наборы.
Важно также учитывать правовые и этические аспекты при использовании реальных фишинговых сообщений и соблюдать соответствующие правила и нормы.
3.5 Анализ результатов тестирования и корректировка программного решения
После проведения тестирования разработанной методики и программного решения, мы проводим анализ полученных результатов с целью оценки их эффективности и выявления необходимых корректировок. Этот анализ позволяет нам оценить успешность методики в борьбе с целевым фишингом
, а также определить качество работы программного решения. Важно учитывать следующие факторы:
-
Эффективность обнаружения: Оценка способности методики и программного решения обнаруживать целевой фишинг. Мы анализируем процент успешно обнаруженных фишинговых атак относительно общего числа попыток. -
Ложноположительные срабатывания: Оценка количества ложноположительных результатов, то есть случаев, когда методика неправильно идентифицирует легитимные сообщения как фишинговые. Слишком высокий уровень ложноположительных срабатываний может негативно сказаться на удобстве использования и доверии к методике. -
Реакция на новые угрозы: Оценка гибкости методики и ее способности адаптироваться к новым видам и методам целевого фишинга. Мы анализируем, насколько быстро методика обнаруживает и реагирует на новые угрозы, а также насколько успешно она предотвращает атаки. -
Уведомление пользователей: Оценка эффективности механизма уведомления пользователей о потенциальных фишинговых атаках. Мы анализируем, насколько пользователи реагируют на предупреждающие сообщения и принимают меры для защиты своих данных.
Рисунок 8 –Диаграмма последовательностей
В процессе анализа результатов тестирования мы выполняем следующие шаги:
1. Оценка точности и полноты: Мы анализируем результаты классификации сообщений и определяем, насколько точно методика и программное решение распознают и классифицируют фишинговые и нормальные сообщения. Мы сравниваем результаты с исходными метками сообщений из тестовых наборов данных.
2. Оценка ложных срабатываний и пропусков: Мы анализируем количество ложных срабатываний, когда методика ошибочно классифицируетнормальные сообщения как фишинговые, и пропусков, когда фишинговые сообщения не распознаются. Это помогает нам определить границы и уровень надежности методики.
3. Идентификация проблемных сценариев: Мы анализируем результаты для выявления типичных проблемных сценариев, в которых методика и программное решение не справляются с обнаружением или классификацией фишинговых сообщений. Это позволяет нам идентифицировать слабые места и причины недостаточной эффективности.
4. Корректировка программного решения: На основе анализа результатов тестирования мы вносим соответствующие корректировки в программное решение. Это может включать изменение алгоритмов анализа, настройку параметров классификации или добавление новых функций для улучшения точности и полноты методики.
После внесения корректировок мы повторно тестируем методику и программное решение для проверки улучшений и повышения их эффективности. Этот процесс итеративно повторяется до достижения удовлетворительных результатов и соответствия требованиям, сформулированным в начале работы.
Важно также документировать результаты анализа, внесенные корректировки и основные выводы, чтобы обеспечить прозрачность и возможность последующей проверки и повторного использования разработанной методики и программного решения.
3.6 Основные функций программы
Для начала работы программы мы заходим в свою почту и находим подозрительное письмо, которое нам отправили. Это может быть спам, рассылка или фишинговое письмо. Письмо должно быть в формате .msg для корректной работы. Вот пример письма, который мы возьмём для разбора:
Рисунок 9 – Пример письма для анализа
Для начала анализа, мы скачаем данное письмо на компьютер. Затем, для удобства работы в программе, мы переименуем его. При скачивании письма, оно обязательно должно иметь расширение .msg, так как программа работает именно с этим расширением.
Рисунок1 0 – Расположение кнопки для скачивание письма
Расположение кнопки для скачивания письма может варьироваться в зависимости от почтового клиента или программы, которую вы используете. Обычно кнопка для скачивания письма находится вверху или внизу самого письма, возле других доступных действий, таких как ответить, переслать или удалить. Она может быть представлена в виде значка документа или стрелки, указывающей на скачивание. Также вы можете найти опцию скачивания письма в контекстном меню, вызываемом правым кликом на самом письме.
В качестве примера, используется почтовая службаmail.ru, на рисунки выше приведён пример кнопки "Скачать на компьютер", чтобы скачать данное сообщение в формате .msg. После этого вы можете переименовать его в "015.eml" для большего удобства. Затем вы можете перекинуть данный файл в вашу программу, а именно в сам код, для дальнейшего анализа.
Путем скачивания и переименования файла письма вы готовите его для обработки и анализапрограммой. Это важный шаг, посколькунужно обеспечить корректную обработку и правильное распознавание формата письма программой. После перемещения файла в программу вы можете продолжить с анализом содержимого письма и провести необходимые проверки на наличие фишинговых элементов или других потенциальных угроз.