Идентификация пользователя в различных социальных сетях по средствам анализа социальных связей пользователя и атрибутов профиля
Лапенок Марина Вадимовна к.т.н, д.пед.н., заведующий кафедрой информатики, вычислительной техники и методики обучения информатике, Уральский государственный педагогический университет, ул. К.Либкнехта, 9, г. Екатеринбург, 620100, (343)3713527, [email protected]
Патрушева Ольга Михайловна аналитик ООО «Уральский центр систем безопасности», ул. Ткачей, 6, г. Екатеринбург, 620075, (343)3799834, [email protected]
Аннотация
Статья посвящена актуальной теме противодействия использованию социальных сетей в качестве средства подготовки и совершения различных видов преступной деятельности. Приводятся результаты разработки алгоритма идентификации пользователя социальных сетей на основе анализа текстовых атрибутов и его социальных связей, который может быть включен правоохранительными органами в комплекс мероприятий для борьбы с незаконной деятельностью в социальных сетях. Проводится анализ алгоритмов по схожей тематике. Авторами предложена реализация алгоритма, а также приведены результаты экспериментов по его использованию с указанием конкретных процентных соотношений. In article the hot topic of counteraction to use of social networks is described. Social networks are means of preparation and commission of different types of criminal activity. Results of development of algorithm of identification of the user of social networks are given in work. Identification is carried out with use of the analysis of text attributes and social communications. Algorithm can be included by law enforcement agencies in a complex of actions for fight against illegal activity on social networks. The analysis of other authors on similar subject is carried out. Authors have offered realization of this algorithm, and also results of experiments on his use with the indication of concrete percentage ratios are given.
Ключевые слова
социальные сети, идентификация пользователя, социальный граф, графовая база данных, социальные связи
social networking, user authentication, social graph, graph database, social connections
Введение
В современном мире наблюдается опасная тенденция проникновения криминальных угроз в сеть Интернет, чему способствует минимальное правовое регулирование внутрисетевых отношений, отсутствие у большинства пользователей понятий о базовых мерах информационной безопасности и широкая
распространенность сети. В частности, современный социокультурный феномен -социальные сети обладают большим потенциалом среды совершения и подготовки преступлений.
Теоретическая часть
Социальная сеть - это платформа, онлайн-сервис или веб-сайт, предназначенный для построения, отражения и организации социальных взаимоотношений.
Сервис должен иметь базовые возможности, при наличии которых его можно считать социальной сетью:
- наличие у каждого пользователя персональной публичной или частично публичной страницы сайта - профиля, содержащего данные о пользователе;
- наличие у пользователя возможности создавать и поддерживать список других пользователей, с которыми он состоит в каких-либо отношениях в рамках социальной сети (например, дружба, деловые контакты и т.п.);
- просмотр и обход связей между пользователями внутри сервиса (например, пользователь может видеть «друзей» своих «друзей»);
- наличие возможности объединения пользователей в соответствии с их интересами в сетевые сообщества (группы) [1].
Следует подчеркнуть, что в социальных сетях, как правило, нет ограничений на цели объединения пользователей, то есть можно создать как группу «позитивных» пользователей с общими мировоззренческими взглядами или профессиональными интересами, так и группу с экстремистскими взглядами, группы по продвижению наркотических и психотропных веществ, по оказанию коммерческих услуг интимного характера.
Известны случаи [2,3], когда возможности социальных сетей были использованы для совершения различных преступных деяний или действий, побуждающих к совершению последних, таких как:
- поиск и общение сторонников крайних националистических идей, терроризма, приверженцев употребления наркотиков и других лиц с девиантными взглядами;
- распространение патогенной информации, способной причинить вред, в особенности, несовершеннолетнему человеку, в том числе материалов экстремистской направленности, материалов, пропагандирующих наркотические средства, психотропные вещества и их аналоги, рекламирующих услуги интимного характера. При этом скорость распространения деструктивного контента велика и часто не уступает реальному общению, а указание в социальных сетях личной информации обусловливает возможность целенаправленного распространения материалов для оказания максимального влияния;
- влияние на формирование определенных мнений и взглядов, как у отдельных пользователей, так и в сегментах социальных сетей;
- различные виды мошенничеств, в том числе с использованием виртуальной валюты и банковских карт. В обзоре о несанкционированных переводах денежных средств за 2014 год от Центрального банка Российской Федерации [4] говорится, что общая сумма несанкционированных операций с платежными картами, эмитированными на территории Российской Федерации, за 2014 год составила 1,58 миллиарда рублей;
- применение социальной инженерии - раздела социальной психологии, направленного на то, чтобы внедрять в человеческое сознание некоторую модель поведения и тем самым манипулировать поступками, используя «уязвимости» людей
- чувство страха, сострадания, подчинения или халатность. Если до распространения социальных сетей на поиск личной или конфиденциальной информации требовалось много времени и усилий, то социальные сети существенно упростили эту задачу;
- сбор информации об объекте перед кражами. Особое распространение получили кражи по наводке, которые инициируют сами пострадавшие, выкладывая в социальные сети фотографии своих жилищ и дачных участков с описанием их внутреннего устройства, расположения и ценностей, делящихся с помощью сервисов своими планами о проведении отпуска с указанием конкретных дат, и тем самым привлекая внимание правонарушителей;
- сбор интересующей информации перед похищением и торговлей людьми;
- организация и координация акций, ставящих целью открытую конфронтацию с законно избранной властью, терроризм;
- выяснение компрометирующих фактов о пользователях для последующего шантажа.
Таким образом, социальные сети обладают криминогенным потенциалом -возможностью использования взаимодействия внутри Интернета как для подготовки и совершения преступления, так и для формирования преступного поведения пользователя или мышления жертвы.
Вместе с тем нужно отметить, что борьба с преступными действиями в социальных сетях не развита и обычно ограничивается теоретическим обоснованием необходимости таковой. Практическая реализация идей происходит очень редко. Правоохранительные органы в единичных случаях используют следы преступной деятельности и другую доступную в социальных сетях информацию для предупреждения, раскрытия и расследования преступлений. Не выработаны научно обоснованные методики мониторинга информационного пространства социальных сетей, не используются технические средства, нет механизмов оценки угроз.
Одной из востребованных задач, решение которой обладает перспективой использования в оперативно-розыскных мероприятиях для обнаружения компьютерно-продвинутых преступников, является задача, наиболее известная под названием «разрешение сущностей» (задача разрешения сущностей - определение различных записей базы данных, относящихся к одному и тому же объекту реального мира), примененная относительно профилей в социальных сетях, то есть задача идентификации одного пользователя в различных социальных сетях.
В рамках данной работы представляется алгоритм решения этой задачи для пользователей социальных сетей и его реализация.
Основными проблемами информации, полученной из различных социальных сетей, являются:
- распределенность среди множества различных сервисов;
- недостаточность, обусловленная возможной анонимностью и конспирацией лиц и в значительной степени усложняющая процесс установления профиля соответствующего пользователя.
В решении вышеперечисленных проблем помогает социальная информация пользователя и понятие социального сходства. Поскольку пользователь сам формирует свои социальные связи в рамках социальной сети, то последние хорошо его демаскируют. Следует отметить, что даже в случае, когда пользователь по каким-либо причинам не заносит (или удаляет) данные в профиле:
- с большой долей вероятности пользователем будут поддерживаться социальные связи, то есть у него будет определенный список контактов («друзей»);
- пользователи, которые находятся в списке контактов у «анонимного» пользователя, возможно, не скрывают информацию о себе в профиле. Таким образом, можно использовать информацию лиц, находящихся в списке контактов («друзей») пользователя, для определения его профиля в другой социальной сети.
На рисунке 1 представлены профили одного пользователя в двух различных социальных сетях. Определение принадлежности профилей одному пользователю возможно благодаря существованию некоторой области пересечения списка контактов («друзей») пользователя, которые тоже имеют профили в рассматриваемых сетях. Размер области пересечения зависит от количества пар профилей, которые были признаны похожими по результатам расчета показателей текстовой схожести (на основании текстовых данных).
В результате сопоставления может возникнуть ситуация, когда одному профилю в одной социальной сети соответствуют несколько профилей из другой социальной сети с равными значениями показателя текстового сходства и возникает проблема выбора между ними.
На рисунке 2 представлены два социальных графа <А, B>. Под социальным графом будем понимать граф, узлы которого представлены профилями с различными атрибутами, а ребра - социальными связями между учетными записями (например, «дружба»). Связи в графе могут быть направленными или же ненаправленными в зависимости от семантики отношений, которые они отражают.
Рис. 2. Определение социальной схожести
Результатом выполнения алгоритма поиска профилей, принадлежащих одному и тому же реальному человеку в различных социальных сетях, является правильно определенная пара профилей (х, у) таких, что x е А, у е В. Сопоставленный профиль для профиля x е А обозначим pr(x) е В - проекцией профиля x е А в B.
Для решения проблемы выбора используется социальная информация всех проекций, для которых показатель текстового сходства превышает некоторое пороговое значение.
Определение социальной схожести происходит по следующей схеме.
Для искомого узла x е А определяются все соседние вершины. Обозначим множество этих вершин как N(x) = { п(х)ь п(х)2, ... , п(х)т }.
Для каждой соседней вершины п(х) выбираются все проекции в графе B (рг(п(х)1)1, рг(п(х)1)2, ... , рг(п(х)1)0} е РЯ(п(х)1), для которых показатель текстового сходства превышает некоторое пороговое значение.
Объединение всех множеств проекций РР1(п(\)0 образует множество
т
РК(п(х)) = и РВ(п(х)0 ¡=1
У каждой такой проекции pr(n(x)1)J определяются соседние вершины, объединение которых образует множество проекций искомой вершины х е А : РЯ(х) = { рг(х)ь рг(х)2, ... , рг(х)о }.
Для каждой такой проекции определяется множество ее соседних вершин М(рг(х)к) в графе B.
Для каждой проекции pr(x)k рассчитывается показатель социальной схожести
по формуле [5]:
8МаЬЛ|=
|ы(рг(х)к)ПРК(п(х))| №)|
Реализация (практическая часть)
В области разработки и реализации алгоритма решения задачи идентификации пользователя в различных социальных сетях проведено достаточно много исследований. При изучении результатов проведенных исследований были выявлены следующие часто встречающиеся допущения:
- упрощение модели сравнения текстовых атрибутов учетных записей;
- недостаточное использование социальной информации учетных записей;
- при расчете похожести структуры социальных связей каждому пользователю одной социальной сети ставился в соответствие единственный пользователь другой социальной сети, исходя из результатов сравнения текстовых полей учетной записи.
После изучения работ различных авторов в ходе проводимого исследования был сделан акцент на устранение вышеперечисленных допущений. В выработанном подходе активно используются социальные связи путем рассмотрения и анализа списка контактов («друзей») пользователя, а также используется информация, заполненная человеком в профиле социальной сети.
Алгоритм состоит из следующих этапов:
1) сбор исходных данных и их представление в едином формате;
2) последовательное применение функций вычисления сходства к соответствующим полям двух учетных записей и принятие решения о текстовом сходстве на основе бинарного классификатора (с расчетом числового показателя);
3) сравнение структуры социальных связей учетных записей и вычисление показателя социального сходства;
4) расчет результирующего показателя сходства учетных записей.
Исходными данными для работы алгоритма являются следующие:
- атрибуты пользователя, заполненные в профиле социальной сети. Примером таких данных может служить: фамилия, имя, отчество, дата рождения, школа, высшее учебное заведение, место работы, интересы, сообщения пользователя (известные также под названием «стена профиля»);
- социальные связи: список контактов пользователя (система «друзей»), участие пользователя в различных сообществах;
- ссылочные данные, такие как ссылки на других пользователей в текстах, указание информации о своих профилях в других социальных сетях и т.п.;
- другие данные.
На первом этапе алгоритма выполняются следующие действия.
1. Осуществляется сбор информации об интересующих пользователях из социальных сетей с использованием API-методов сервисов социальных сетей.
2. Реализуется выработка единого формата представления информации из разных социальных сетей и приведение ее к этому формату. Необходимость приведения данных к единому формату вызвана проблемой разнородности форматов данных, в которых социальные сети возвращают информацию о пользователях. Разнородность заключается в различных наименованиях полей и группировке данных. Для исключения проблемы необходимо сформировать схему соответствия, позволяющую приводить исходные данные к единой структуре.
3. Производится выбор исходных данных, по которым будет происходить вычисление подобия для различных атрибутов и расчет показателей текстовой схожести. Критериями для выбора данных являются:
- наличие и доступность данных, по отношению к которым происходит поиск профилей одного человека. С одной стороны, специфические или недоступные данные должны быть исключены. Недоступность некоторых данных для извлечения может быть обусловлена ограничениями, выставленными пользователем в настройках безопасности. С другой стороны, данные, наиболее часто заполняемые пользователями в различных социальных сетях, включены в исходные. Это такие атрибуты как имя, фамилия, пол, дата рождения, город проживания, школа, высшее учебное заведение, место работы;
- информативность данных для алгоритма. Примером неинформативных данных может служить параметр присутствия пользователя на сайте в данный момент, наличие на счету профиля пользователя валюты данной социальной сети и ее количество и т.п.;
- помещение исходных данных в графовую базу данных Neo4j. Для хранения данных пользователей, собранных в процессе реализации алгоритма, была выбрана графовая база данных Neo4j, поскольку используемые данные имеют графовую структуру, основными элементами которой являются узлы и связи между ними (ребра). По мнению некоторых авторов [6], для задач с естественной графовой структурой графовые системы управления базами данных могут существенно превосходить реляционные по производительности, а также имеют преимущества, связанные с наглядностью представления данных и внесения в них изменений.
4. В рамках рассматриваемой базы данных существует возможность добавления каждому такому узлу или ребру параметров, определяемых атрибутами учетной записи пользователя.
На втором этапе алгоритма происходит расчет показателя текстовой схожести для всех атрибутов данных, которые были выбраны на первом этапе. С учетом того факта, что различные данные нуждаются в различных функциях сравнения, они делятся на группы атрибутов:
- атрибуты, требующие точного совпадения;
- атрибуты, допускающие частичное совпадение.
Для первой группы атрибутов функции совпадения используют элементарные операции сравнения для проверки равенства полей и представляют результат в виде значения логического типа. Примерами атрибутов первой категории являются фамилия, пол, дата рождения.
Второй категории атрибутов свойственны орфографические ошибки, различный порядок слов, сокращения. Поэтому подобие двух последовательностей данных может быть измерено алгоритмами поиска подстроки в строке, нечеткого сравнения, в результате которых получится количество подобий. Ко второй группе атрибутов относятся город проживания, школа, высшее учебное заведение.
Третьим этапом является расчет показателей социальной схожести.
На четвертом этапе происходит расчет результирующего показателя сходства.
Расчет показателя сходства производится по формуле:
Match = сот ■ TMatch + cos ■ SMatch,
где CO j- я CO ^ - весовые значения для показателей текстового и социального сходства соответственно, причем (Oj. + 0)$ — 1.
В результате работы алгоритма вычисляется показатель сходства двух профилей в разных социальных сетях.
Реализация алгоритма включает в себя три этапа.
Этап 1. Исходные данные: исследуемый профиль в социальной сети 1. Используя набор готовых методов, называемых API социальной сети, или, при условии, если в API социальной сети нет методов, которые возвращают необходимые данные, используя GET-запросы к интересующей странице, получаем следующие атрибуты и социальные связи профиля:
- список «друзей» профиля в социальной сети 1;
- атрибуты искомого профиля и всех его контактов («друзей») из списка контактов («друзей»): имя, фамилия, дата рождения, родной город, страна, образование (высшее учебное заведение, школа, колледж и т.д.), место работы;
- ключевые слова, выборка которых происходит из текста, размещенного в профиле автором (так называемой «стены») по разработанному в рамках исследования алгоритму. Алгоритм выделения ключевых слов включает в себя следующие шаги:
1) исключение из текста стоп-слов и знаков препинания. К стоп-словам относятся местоимения, вводные слова, междометия, наречия, частицы, восклицания, числительные;
2) приведение слов к нормальной форме: существительные - единственное число, именительный падеж, глаголы приводятся к инфинитиву, прилагательные приводятся к существительным, от которых были образованы;
3) подсчет частоты слов;
4) подсчет порогового значения частоты в зависимости от объема текста;
5) формирование итогового массива ключевых слов из слов, частота употребления которых выше порогового значения.
Для реализации алгоритма использовался модуль pymorphy2 языка Python, который является морфологическим анализатором. С его помощью слова были приведены в нормальную форму, а также была получена грамматическая информация о словах, в частности, часть речи.
Этап 2. Проведение поочередного поиска для каждого профиля из списка контактов («друзей») этапа 1 его отображения в социальную сеть 2, а именно:
- первичная фильтрация, целью которой является формирование массива профилей, похожих по значениям атрибутов на профили из социальной сети 1. Для первичной фильтрации используется следующий алгоритм: по атрибутам профиля этапа 1 c помощью функции поиска, предоставляемой API, сопоставляем каждый профиль из списка «друзей» со всеми пользователями социальной сети 2 (стандартную функцию поиска можно использовать корректно для всех пользователей социальной сети 2). Результат первичной фильтрации - некоторое количество «похожих» по значениям атрибутов профилей из социальной сети 2. Они являются группой сравнения для каждого профиля из списка «друзей». Дополнительным результатом являются атрибуты (атрибуты получаем с помощью API методов социальной сети 2), список «друзей» каждого профиля из группы сравнения и ключевые слова «стены» для каждого из группы сравнения. Результат помещаем в базу данных Neo4j;
- расширение группы сравнения для каждого из контактов («друзей»), целью которого является увеличение количества профилей социальной сети 2, состоящих в группе сравнения для каждого из «друзей». Алгоритм расширения группы сравнения предусматривает поиск профилей, которые не были найдены прямым поиском через API, и добавление этих профилей к группе сравнения. Исходными данными для осуществления такого поиска являются словари имен, высших учебных заведений или школ. Внутреннее устройство словарей, используемых на данном этапе, представляется похожим на словарь синонимов
русского языка. В качестве синонимов представлены различные названия имен собственных, например, Екатеринбург - «Ебург» - «Екб» - «Екат» или Лицей №180 - Лицей «Полифорум» - 180 лицей. Результат - увеличенное количество профилей, состоящих в группе сравнения;
- фильтрация расширенного списка, целью которой является формирование значений текстового сходства атрибутов профилей и текстового сходства «стены» из группы сравнения и задание соответствующих пороговых значений. При этом, если значение текстового сходства атрибутов профилей или стены для какого-либо профиля из группы сравнения ниже порогового, то этот профиль удаляется из группы сравнения, алгоритм применяется для группы сравнения каждого из контактов («друзей»). Каждый профиль из каждой группы сравнения дополнительно сравниваем различными методами с соответствующим контактом («другом») из первоначального списка контактов («друзей») этапа 1. Методы сравнения, используемые при фильтрации:
1) сравнение - результатом которого является булево значение - есть ли совпадение или нет;
2) применение нечеткого поиска по атрибутам профилей, при этом используется алгоритм расчета расстояния Левенштейна, то есть подсчет минимального количества операций вставки одного символа, удаления одного символа и замены одного символа на другой, необходимых для превращения одной строки в другую. В результате получаем числовой коэффициент текстового сходства для каждого профиля из группы сравнения. Все числовые коэффициенты объединяются в общей таблице числовых коэффициентов текстового сходства. Получается отдельная таблица для каждого контакта («друга») из списка контактов изначального профиля;
3) поиск подстроки в строке.
Сравнение атрибутов выглядит следующим образом:
- имя проверяется на точное совпадение или поиском подстроки в строке;
- фамилия проверяется на точное совпадение, поиском подстроки в строке или при отсутствии последнего подсчитывается расстояние Левенштейна и его пороговое значение;
- дата рождения проверяется на точное совпадение (кроме года рождения);
- город проверяется на точное совпадение, поиском подстроки в строке и с использованием словаря;
- страна проверяется на точное совпадение;
- школа, высшее учебное заведение, карьера проверяются на точное совпадение, поиском подстроки в строке;
- ключевые слова со стены проверяются на точное совпадение и поиском подстроки в строке.
Фильтрация расширенного списка позволяет определить группу сравнения профиля для каждого контакта («друга»), то есть те профили в социальной сети 2, которые могут принадлежать одному и тому же контакту («другу») искомого профиля из социальной сети 1.
В итоге для каждого объекта из группы сравнения получаем список всех контактов («друзей») в социальной сети 2.
Этап 3. Записываем представление списка всех контактов («друзей») в социальной сети 2 в графовую базу данных Neo4j. В получившимся графе необходимо подсчитать степени каждой вершины - это и есть кандидаты на искомый профиль человека в социальной сети 2. Искомый профиль - это вершина наибольшей степени (рис. 3).
Кандидат на профиль в другой социальной сети (вершина степени 7)
Кандидат на профиль в другой социальной сети (вершина степени 4)
Рис. 3. Поиск искомого профиля в социальном графе
Анализ и оценка разработки
Данный алгоритм был опробован на социальных сетях «Одноклассники» и «ВКонтакте». При запуске на 1000 случайных пользователей, у которых существуют профили в социальных сетях «Одноклассники» и «ВКонтакте», имеющие в списке контактов не менее 15 друзей в каждой из социальных сетей, в 84% случаев среди результатов, выданных алгоритмов был профиль искомого пользователя в другой социальной сети.
Заключение
В рамках исследования был разработан, описан, реализован и опробован алгоритм идентификации одного пользователя в различных социальных сетях. Результат можно рассматривать с математической точки зрения (числовой показатель похожести) и с визуальной точки зрения (вершина графа).
Литература
1. Соловьев В. С. Криминогенный потенциал социальных сетей: методика оценки и меры нейтрализации. Первый этап: программа «Исследовательские проекты молодых ученых». Саратовский Центр по исследованию проблем организованной преступности и коррупции. - Воронеж, 2013. URL: sartraccc.ru/Explore/ solovievl.docx (дата обращения: 10.04.16).
2. Левшиц Н. Г. Участились случаи мошенничества в социальных сетях при сборе средств на лечение». - М., 2015. URL: http://echo.msk.ru/blog/nlevshits/1519362-echo/ (дата обращения: 10.04.16).
3. Соколова А. А. Средний ущерб от мошенников в социальных сетях». - М., 2015. URL: http://rusbase.com/news/internet-fraud-statistics/ (дата обращения: 10.04.16).
4. Обзор Центрального Банка Российской Федерации о несанкционированных переводах денежных средств. - М., 2014. URL: http://www.cbr.ru/psystem/P-sys/survey 2014.pdf (дата обращения: 10.04.16).
5. Синадский Н. И., Патрушева О. М., Безуглая М. В., Сушков П. Идентификация пользователей социальных сетей на основе текстового сходства и структуры социальных сетей. - Тюмень, Тюменский гос. ун-т, 2015. (в печати).
6. Robinson I., Webber J., Eifrem E. Graph Databases. New opportunities for connected data. - Neo Technology, Inc., 2015. URL: http://info.neo4i.com/rs/neotechnology/ images/Graph Databases 2e Neo4j.pdf?mkt tok=3RkMMJWWfF9wsRonuazBcu%2F hmiTEU5z17OUsUKOwhokz2EFye%2BLIHETpodcMTcJmMr3YDBceEJhqyQJxPr3 CK9MN3dpzRhHkDQ%3D%3D (дата обращения: 10.04.16).