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

Молодой учёный

Механизм распознавания фишинговых сайтов по косвенным признакам

Информационные технологии
11.07.2020
407
Поделиться
Библиографическое описание
Механизм распознавания фишинговых сайтов по косвенным признакам / Р. А. Мартынюк, И. А. Кононыхин, Ф. В. Ежов [и др.]. — Текст : непосредственный // Молодой ученый. — 2020. — № 28 (318). — С. 19-22. — URL: https://moluch.ru/archive/318/72550/.


В данной статье представлен метод детекции подозрительных сайтов с использованием только косвенных признаков.

Ключевые слова: фишинг, распознавание, подозрительные сайты, косвенные признаки

Введение

Сейчас в Интернете остро стоит проблема кражи личных данных посредством фишинговых сайтов. На данный момент существуют инструменты, предупреждающие пользователя от том, что ссылка, по которой он пытается перейти, введет на поддельный сайт. Но они не гарантируют полную защиту от фишинга из-за их принципа работы.

В статье [1] описана антифишинговая защита основных популярных браузеров, где можно увидеть один изъян, она опирается на черные списки, хранящиеся в браузере. Это означает, что если домен веб-страницы не добавлен в список подозрительных сайтов, то никакого предупреждения не будет. Поэтому в этой статье представлен способ, который поможет улучшить современные инструменты блокировки подозрительных сайтов.

Постановка задачи

Сайт не будет определен как фишинговый, если его нет в черном списке. По статистике за месяц на один такой сайт заходит от 15 до 18 тысяч пользователей. Опытный пользователь может определить, что сайт поддельный, «на глаз», а обычный, не умеющий определять таким способом, — может лишиться своих данных.

Поэтому ставится задача, создать такой способ определения фишинговых сайтов в режиме реального времени по косвенным признакам, не опираясь на черный список. Данная задача включает в себя:

  1. Определить основные критерии, которые будут симулировать, как опытный пользователь определяет является ли сайт фишинговым.
  2. Создать механизм взаимодействия критериев друг с другом для определения статуса веб-страницы.

Основные критерии

Некоторые из критериев были взяты из [2, 3] и проверены на практике, а остальные были выделены в ходе изучения различных фишинговых сайтов. В итоге был составлен список основных критериев:

  1. соединение по защищенному протоколу https;
  2. наличие домена сайта в HSTS Preload List;
  3. наличие у доменного имени верхнего уровня DNSSEC-записей;
  4. является ли тело сайта картинкой;
  5. наличие тега
    , который отправляется на сторонний сайт;
  6. отношение ссылок, ведущих на этот же сайт, к ссылкам, ведущих на сторонний сайт;
  7. отношение количества ссылок в тегах , использующих CSS-файлы этого сайта, к количеству использующих CSS-файлы с других сайтов;
  8. количество слов на странице;
  9. количество слов с опечатками;
  10. отношение количества слов с опечатками к общему количеству слов на странице.

Пять из этих критериев являются категориальными признаками, а остальные пять — численными.

Нейросетевой подход

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

На основе уже определенных критериев были собраны данные с 230 сайтов, среди которых ровно половина является фишинговыми, а остальные — нормальные. В итоге данные делятся на три основные выборки с определенными размерами:

  1. тренировочная выборка размером 200 сайтов;
  2. тестовая — 20 сайтов;
  3. валидационная — 10 сайтов.

В каждой такой выборке половина сайтов является фишинговыми.

На JavaScript нейронная сеть была написана с помощью библиотеки Brain.js.

Архитектура и параметры обучения:

  1. функция потерь — среднеквадратическая ошибка:

  1. алгоритм оптимизации Adam:
    • скорость обучения — 1e-3;
  2. batch size — 20 сайтов;
  3. максимальное количество эпох — 5000;
  4. минимальная ошибка — 5е-3

Результаты обучения

Таблица 2

Результат обучения нейронной сети на языке JavaScript

Название модели

Эпоха

Ошибка

Model_JS

100

0.02504628191382472

200

0.018852015170452655

300

0.014522773979946852

400

0.01462846398000555

500

0.007162848323984566

Визуализированный результат работы сети на тренировочной и тестовой выборках. Визуализированный результат работы сети на тренировочной и тестовой выборках.

Рис. 1 Визуализированный результат работы сети на тренировочной и тестовой выборках.

Выводы

Данный механизм был реализован в расширении EPSDfree, автором которого являюсь я, и с его исходным кодом можно ознакомиться по ссылке https://github.com/Romamart/EPSDfree. Как показывает практика, этот способ помогает компенсировать некоторые недостатки антифишинговой защиты браузеров.

Литература:

  1. Безмалый В. Современные браузеры. Защита от фишинга [Электронный ресурс]. URL: https://www.osp.ru/pcworld/2011/07/13009498/.
  2. Vayansky I., Kumar S. Phishing — challenges and solutions [Электронный ресурс]. URL: https://www.researchgate.net/publication/322823383_Phishing_-_challenges_and_solutions.
  3. Нежников С. Фишинг в интернете: как не попасть в сети мошенников: [Электронный ресурс]. URL: https://sales-generator.ru/blog/fishing-v-internete/.
  4. Brain.js documentation [Электронный ресурс]. URL: https://github.com/BrainJS/brain.js#about.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Ключевые слова
фишинг
распознавание
подозрительные сайты
косвенные признаки
Молодой учёный №28 (318) июль 2020 г.
Скачать часть журнала с этой статьей(стр. 19-22):
Часть 1 (стр. 1-69)
Расположение в файле:
стр. 1стр. 19-22стр. 69

Молодой учёный