Введение 5
1. Описание предметной области 9
1.1. Социоинженерные атаки: термины и понятия 9
1.2. Задача классификации: термины и понятия 9
1.3. Описание используемых программных средств 12
2. Построение классификатора для пользовательских страниц 13
2.1. Формализация задачи 13
2.2. Описание выбранного классификатора и алгоритма построения 13
2.3. Анализ полученных результатов 15
2.4. Выводы по главе 19
3. Описание разработанного программного решения 20
3.1. Разработанный подход к сбору общедоступной информации 20
3.2. Сбор данных для обучения классификатора 23
3.2.1. Раздел «Карьера» 23
3.2.2. Текстовые записи официальной группы организации 25
3.2.3. Счётчик пользовательских отметок «мне нравится» в группе 27
3.2.4. Раздел «Друзья» пользовательской страницы компании 28
3.2.5. Анализ топологии сети 29
3.2.6. Целевая переменная 30
3.3. Программная реализация классификатора 30
3.4. Схема базы данных 33
3.5. Сбор страниц на основе обученного классификатора 33
3.6. Описание дистрибутива программного модуля 35
4. Заключение 37
Список литературы 39
Актуальность темы исследования.
Информационные технологии сегодня являются неотъемлемой частью нашей жизни. Системы, хранящие и обрабатывающие информацию, используются повсеместно. Информация сегодня становится ключевым предметом интереса. Публикации в СМИ об очередном инциденте нарушения информационной безопасности стали традиционными [2]. Количество кибератак возрастает с каждым годом, они приносят всё большие убытки, требует значительно больше времени для расследования преступлений такого рода [2]. При этом большая часть исследований посвящена программно-техническим атакам, в этом срезе проблема информационной безопасности достаточно хорошо изучена, существуют разработки, снижающие вероятность успеха атак [20, 21]. В то же время пользователи информационных систем являются её самым уязвимым местом, атаки через них считаются одними из самых эффективных [1, 12, 13, 14]. Атаки, направленные не на поиск программно-технических уязвимостей, а на уязвимости пользователей информационной системы называются социоинженерными. Такие атаки основаны на использовании манипулятивных техник.
Коллектив исследователей на базе лаборатории теоретических и междисциплинарных проблем информатики Санкт-Петербургского института информатики и автоматизации Российской академии наук разработал прототип программного комплекса, имитирующий социоинже- нерную атаку на основе деревьев атак и позволяющий делать оценку успеха атаки на пользователя [13, 14]. В основе разработки лежит комплекс моделей: «критические документы - информационная система - персонал - злоумышленник». На основании этих моделей разработан подход для получения численных выражений оценок защищенности пользователя. В основе модели пользователя лежит профиль его уязвимостей, который представляет собой набор пар уязвимость - выраженность уязвимости. Профиль уязвимостей пользователя строится на основе его психологических особенностей, которые, в свою очередь, выявляются через анкетирование сотрудников. В то же время известны подходы, согласно которым злоумышленник может получать информацию о компании «извне» из общедоступных источников.
Различные социальные сети являются одним из таких источников информации о пользователях. На страницах социальных сетей можно найти такую информацию как списки новостных подписок пользователя, добавленные аудиозаписи, списки друзей и контактов, личную информацию об увлечениях и интересах и т.п. Данная работа направлена на уточнение оценки успешности социоинженерной атаки на пользователя информационной системы через изменение подхода к построению профиля уязвимостей пользователя. Изменённый подход предполагает синтез используемых методик, основанных на получении информации о пользователях системы через анкетирование сотрудников, а также методик, связанных с анализом общедоступных данных, преимущественно получаемых на сайтах социальных сетей. Для сбора информации о сотрудниках через социальные сети необходимо решить задачу поиска аккаунтов сотрудников организации. Задача, решаемая в данной работе, заключается в реализации программного модуля, осуществляющего автоматизацию первичного поиска сотрудников задаваемой организации. Сбор и анализ пользовательских страниц сотрудников реализован с помощью социальной сети «ВКонтакте», которая согласно различным источникам является одной из самых распространённых на территории Российской Федерации [16, 17, 24].
Научная новизна. В данной выпускной квалификационной бакалаврской работе реализована модель, позволяющая выявлять сотрудников задаваемой организации на основе ряда признаков, наблюдаемых у пользователей социальной сети. Разработан подход, допускающий полностью автоматизированное её построение. Также, в данной работе представлены оценки эффективности данной модели.
Постановка целей и задач. Как уже было отмечено ранее, на сегодняшний день единственным разработанным подходом к составлению психологического профиля пользователя является подход на основе анкетирования сотрудников. Теоретическая цель работы состоит в выявлении отличительных признаков, на основе которых можно будет сделать вывод о принадлежности конкретная страница в социальной сети сотруднику компании. Практическая цель состоит в программной реализации модуля, выявляющего страницы сотрудников компании. В перспективе внедрение такой модели в существующий программный комплекс позволит автоматизированно составлять психологический профиль пользователя, что либо дополнит существующий подход с опросами новыми данными, либо полностью его заменит.
В рамках данной работы для достижения конечной цели был поставлен ряд задач:
1. Произвести обзор представленных классификаторов, на основании которого выбрать наиболее подходящий для обозначенной цели;
2. Разработать метод сбора и классификации пользовательских страниц в социальной сети «ВКонтакте».
3. Составить модель, позволяющую получить классификатор для каждой компании без затрат на оценку значений целевого параметра.
4. Программно реализовать модуль, выявляющий страницы сотрудников в социальной сети «ВКонтакте».
5. Сохранить результаты в реляционной СУБД для организации дальнейшего доступа к страницам пользователей.
6. Внедрить программный модуль в разработанный ранее программный комплекс.
Теоретическая и практическая значимость исследования. На основе исследования был разработан новый подход, позволяющий создавать модель классификатора для конкретной компании, что позволяет строить более точную структуру для анализа пользовательских страниц без этапа предварительного «ручного» анализа конечного набора пользовательских страниц.
Структура и объём работы. Представленная работа состоит из введения, трёх глав, заключения и используемой литературы.
Глава 1 содержит общие сведения и термины по теме социоинже- нерных атак и задачи классификации, а также перечень используемых программных средств.
Глава 2 посвящена выбранному классификатору для анализа пользовательских страниц: приведена формализация задачи, при которой условия исходной задачи сводятся к задаче бинарной классификации, описана программная реализация классификатора на языке C#. В 4 разделе представленной главы представлен анализ полученных результатов.
Глава 3 описывает этапы разработки программного модуля: описание параметров для классификатора, реализация сбора этих параметров для пользовательских страниц, схема базы данных и её реализация. Также в данной главе содержится описание внешнего интерфейса дистрибутива внедряемого программного модуля и приведён алгоритм сбора страниц сотрудников на основе обученного классификатора.
В представленой работе были выполнены следующие задачи:
1. были выбраны деревья принятия решений в качестве классификатора,
2. разработан метод сбора и классификации пользовательских страниц,
3. разработана модель, позволяющая осуществлять автоматизированную оценку целевого параметра обучающей выборки,
4. разработана и реализована схема БД с возможностью получения информации о значениях параметров идентифицированных сотрудников,
5. программный модуль внедрён в разработанный ранее программный комплекс.
Все поставленные задачи выполнены и цель работы достигнута.
Результаты работы были представлены на 3 конференциях:
1. Юбилейная XV Санкт-Петербургская международная конференция «Региональная информатика (РИ-2016)»»;
2. XX Международная конференция по мягким вычислениям и измерениям (XX International Conference on Soft Computing and Measurements, SCM 2017);
3. Всероссийская научная конференция по проблемам информатики «СПИСОК-2017», Санкт-Петербург, 25-27 апреля 2017 года.
По теме дипломного проекта было подготовлено 5 публикаций:
1. Шиндарев Н.А., Абрамов М.В. Построение вероятностной графической модели для оценки успешности социоинженерной атаки// Региональная информатика (РИ-2016). XV Санкт-Петербургская международная конференция «Региональная информатика (РИ- 2016)» (Санкт-Петербург, 26-28 октября 2016 г.): Материалы конференции. СПб.: СПОИСУ, 2016, С. 514 (опубликована)
2. Багрецов Г.И., Шиндарев Н.А., Абрамов М.В., Тулупьева Т.В. Подходы к разработке моделей для анализа текстовой информации в профилях социальной сети в целях построения профиля уязвимостей пользователя // XX Международная конференция по мягким вычислениям и измерениям (принято к печати, индексация в РИНЦ)
3. G. Bagretsov, N. Shindarev, M. Abramov, T. Tulupyeva. Approaches to development of models for text analysis of information in social network profiles in order to evaluate user’s vulnerabilities profile // XX International Conference on Soft Computing and Measurements, SCM 2017 (поданы материалы, индексация в Scopus)
4. N. Shindarev, G. Bagretsov, M. Abramov, T. Tulupyeva. Constructing an intellectual system for social network’s user’s profile analysis aimed at structuring user’s vulnerabilities profile // 2nd International Scientific Conference «Intelligent Information Technologies for Industry» (IITI), Sep 14, 2017 - Sep 16, 2017 (поданы материалы, индексация в Scopus)
5. Шиндарев Н.А., Абрамов М.В., Тулупьев А.Л. Анализ страниц пользователей социальной сети “ВКонтакте” с целью выявления сотрудников заданной компании // Всероссийская научная конференция по проблемам информатики «СПИСОК-2017», Санкт- Петербург, 25-27 апреля 2017 года (принято к печати, индексация в РИНЦ).
[1] Information security business. studies of current trends in information security business. URL: http://media.kaspersky.com/pdf/IT_ risk_report_Russia_2014.pdf.
[2] The losses from cybercrime continue to grow. URL: http://www8.hp.com/ru/ru/software-solutions/ponemon-cyber-security-report/index.html.
[3] Precision and recall. URL: https://en.wikipedia.org/wiki/ Precision_and_recall.
[4] Sensitivity and specificity. URL: https://en.wikipedia.org/wiki/ Sensitivity_and_specificity.
[5] Wikipedia: Binary classification. URL: https://en.wikipedia.org/ wiki/Binary_classification.
[6] Сайт проекта accord.net. URL: http://accord-framework.net/.
[7] Сайт проекта nuget. URL: https://www.nuget.org/.
[8] Сайт проекта visual studio 2015. URL: https://msdn.microsoft. com/ru-ru/library/dd831853.aspx.
[9] Сайт проекта vknet. URL: https://vknet.github.io/vk/.
[10] Model-view-presenter, 2016. URL: https://en.wikipedia.org/ wiki/Model-view-presenter.
[11] Morpher .net sdk, 2016. URL: http://morpher.ru/dotnetapi/.
[12] M. V. Abramov and A. A. Azarov. Social engineering attack modeling with the use of bayesian networks. Soft Computing and Measurements (SCM), 2016 XIX IEEE International Conference on, pages 58-60, IEEE, 2016.
[13] M.V. Abramov, A.A. Azarov, T.V. Tulupyeva, and A.L. Tulupyev. Model of malefactor profile for analyzing information system personnel security from social engineering attacks. Information & Control Systems/Informazionno-Upravlyaushie Sistemy, 83(4):77-84, 2016.
[14] A.A. Azarov, T.V. Tulupyeva, A.V. Suvorova, A.L. Tulupyev, M.V. Abramov, and R.M. Usypov. Social Engineering attacks: problem of analisys. Science, SPb, 2016.
[15] R.S. Boyer and J.S. Moore. A fast string searching algorithm. Communications of the ACM, 20(10):762-772, 1977.
...