ИДЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ НА ОСНОВЕ ИХ ПОВЕДЕНИЯ В СЕТИ ИНТЕРНЕТ Аннотация

реклама
ИДЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ НА
ОСНОВЕ ИХ ПОВЕДЕНИЯ В СЕТИ ИНТЕРНЕТ
Юрасов Д. С., аспирант кафедры безопасных информационных
технологий СПб НИУ ИТМО, yurasov17@gmail.com
Аннотация
В
данной
работе
рассматривается
проблема
идентификации
двух
и
более
пользователей,
осуществляющих доступ в сеть Интернет с помощью общих
компьютера и браузера. Предложен алгоритм разделения
истории посещений сайтов такими пользователями.
Введение
Одной из важных задач в теории защиты информации является задача
идентификации пользователя в сети Интернет. Проблемы идентификации и
аутентификации являются основными при построении систем
разграничения доступа, которые, в свою очередь, играют ключевую роль в
системах обеспечения информационной безопасности.
В современных информационных системах, как правило,
применяются способы идентификации, основанные на информации о IPадресах компьютеров посетителей и хранения на компьютере пользователя
данных Cookie [1,2]. Существенным недостатком этих методов является
отождествление пользователя и его компьютера или браузера, что не всегда
корректно.
По
результатам
последних
исследований,
доля
многопользовательских компьютеров варьируется от 20 до 40 процентов
[3].
Целью данной работы является разработка метода, позволяющего
идентифицировать различных пользователей, осуществляющих доступ в
сеть Интернет с помощью общих компьютера и браузера.
Для решения данной задачи в работе использованы данные о
посещении пользователем сайтов в сети Интернет, которые могут быть
собраны с помощью Cookie или других технологий, либо получены из
сторонних источников.
Метод идентификации пользователей с общими
компьютером и браузером
Подготовка данных
Для сбора информации о посещении
использовались Cookies, поэтому далее
пользователями сайтов
будем отождествлять
пользователей с браузером и называть их «куками».
Как правило, системы разграничения доступа не располагают
информацией о количестве людей, пользующихся конкретными
компьютером и браузером. Чтобы решить это проблему, склеим истории
посещений сайтов для случайно выбранных пар кук. Всего было склеено
131868 пар пользователей. В результате получили данные, в которых за
каждой кукой будет скрываться минимум два пользователя. Такие куки
будем называть многопользовательскими.
Сайты категории 1
При решении поставленной задачи будем опираться на тот факт, что у
большинства пользователей существуют сайты, которые он посещает
достаточно часто и регулярно. Для выявления таких сайтов историю
посещений каждого пользователя разобьем на так называемые сессии так,
чтобы временной интервал между соседними посещениями сайтов внутри
одной сессии не превышал 30 минут. Сессии склеенных кук были
случайным образом перемешаны между собой, но так, чтобы порядок
сессий исходных не склеенных пользователей сохранился. Будем говорить,
что сайт принадлежит к категории 1 для пользователя, если выполнены два
условия:
1.
он встретился хотя бы в десятой части всех известных сессий;
2.
если пронумеровать все известные сессий пользователя, то
дисперсия номеров сессий, в которых встретился данный сайт,
больше определенного числа.
Первое условие гарантирует частоту посещения сайта, а второе
регулярность, исключая сайты, к которым пользователь проявил лишь
локальный интерес, то есть интенсивно интересовался им лишь на
протяжении некоторого относительно короткого интервала времени.
В результате в изучаемых нами данных у всех пользователей нашелся
хотя бы один сайт первой категории.
Если взять историю обычных, не склеенных пользователей, то более
чем у 88% из них найдется хотя бы один сайт первой категории. Для всех
сайтов было определено количество пользователей, для которых данный
сайт является сайтом первой категории. Cамыми популярными такими
сайтами оказались vk.com, e.mail.ru и odnoklassniki.ru.
Кластеризация сайтов первой категории
Известно, что за каждой кукой в полученных данных скрывается как
минимум два реальных пользователя, следовательно, и сайты первой
категории должны для них делиться минимум на две соответствующие
группы; далее предполагаем, что их ровно две.
Рассмотрим конкретную куку u. Пусть у нее было всего n сессий, ее
сайтами первой категории являются s1 ,..., s m . Для всех j от 1 до m и всех k
от 1 до n сайту s j поставим в соответствие вектор s j1 ,..., s jn , где s jk
принимает значение 1, если пользователь u посещал сайт s j в k-ю сессию
и 0 иначе.
В качестве расстояния между сайтами первой категории
si и s j
пользователя u будем использовать расстояние Жаккара J, равное
J=
Mi +M j
M i + M j + M ij
,
где M ij - количество сессий пользователя u, в которых присутствуют и
si
и sj ;
M i - количество сессий пользователя u, в которых присутствует сайт si ,
но нет сайта s j ;
M j - количество сессий пользователя u, в которых присутствует сайт s j ,
но нет сайта
si [4].
Понятно, что в идеальной ситуации расстояние между сайтами
разных пользователей куки u должно быть близко к 1, а между сайтами
одного пользователя к 0. Следовательно, далее можем разделить сайты
первой категории куки u на две группы с помощью стандартной
иерархической кластеризации, используя введенное расстояние.
Для примера, рассмотрим одну из склеенных кук. На графике по оси
абсцисс отметим номера сессий этой куки, по оси ординат номера ее
сайтов первой категории. Точку для сайта i сессии j отмечаем, если кука
посещала этот сайт в эту сессию. Звездочка или черта обозначают, какому
из изначальных не склеенных пользователей принадлежит данная сессия
(см. Рис. 1). То есть все точки над одной сессией отмечены одинаковым
символом. Из данного рисунка видно, что сайты 1,4 и 9 посещал только
пользователь помеченный «*», сайты 2,6,7,8 посещал только пользователь
помеченный «|», сайт 3 в основном пользователем помеченным «|».
Получившееся автоматическое
разделение
сайтов
на
кластеры
выглядит вполне естественным и логичным (см. Рис. 2).
Рисунок 1: Сессии пользователя
Рисунок 2: Кластеризация сайтов категории 1
Результаты
Таким образом, для каждой куки у нас есть список ее сайтов первой
категории и их кластеризация на две группы A и B. Для каждой ее сессии
посчитаем сколько в ней сайтов из одного кластера и сколько из другого.
Будем говорить, что сессия принадлежит пользователю U A , если в ней
встречается больше сайтов из кластера A, чем из B; сессия принадлежит
пользователю U B , если в ней встречается больше сайтов из кластера B,
чем из A. Почти все сессии получили метку U A или U B , сессии, не
получившие таких пометок, далее не рассматриваем. В итоге все
оставшиеся сессии имеют ровно по две метки: U A или U B и «*» или «|».
Для каждой куки построим таблицу сопряженности начальных и новых
меток. В качестве количества правильно разгаданных сессий для нее
возьмем большую из сумм чисел на главной и побочной диагоналях.
Средний процент правильно распознанных сессий по всем пользователям
равен 76.7%.
Отметим, что процент правильно распознанных сессий пользователя
зависит от их количества. Это видно из графика (см. Рис. 3), где по оси
абсцисс отмечен результат целочисленного деления числа сессий на 25, а
по оси ординат средний процент правильно распознанных сессий для
пользователя с их соответствующим количеством. Таким образом, для
качественного
разделения
истории
посещений
сайтов
многопользовательской кукой необходимо, чтобы у пользователя было, по
меньшей мере, 100 сессий.
Рисунок 3: Качество распознавания в зависимости от количества сессий у
пользователя
Заключение
В данной работе представлен алгоритм идентификации пользователей,
про которых известно, что они осуществляют доступ в сеть Интернет с
помощью общих компьютера и браузера. Он основан на выявлении для
пользователя сайтов, которые он посещает часто и регулярно.
Целесообразность использования представленного алгоритма была
обоснована. Был проведен эксперимент и получены положительные
результаты на собранных нами данных при выбранном критерии качества.
Средний процент правильно распознанных пользовательских сессий равен
76.7%.
Литература
1.
2.
3.
4.
Understanding IP Addressing: Everything You Ever Wanted To Know
http://www.3com.com/other/pdfs/infra/corpinfo/en_US/501302.pdf[дата
просмотра: 04.04.2013].
McKinkley, K.: Cleaning Up After Cookies. iSec Partners White Paper
http://www.isecpartners.com/storage/whitepapers/iSEC_Cleaning_Up_After_Cookies.pdf[дата просмотра:
04.04.2013].
Gian Fulgoni. When the Cookie Crumbles
http://www.comscore.com/Insights/Blog/When_the_Cookie_Crumbles
[дата просмотра: 04.04.2013].
Lipkus A. H. A proof of the triangle inequality for the Tanimoto
distance/Lipkus A. H. //J Math Chem 26 (1999) (1-3): 263–265.
Скачать