Скачать 148.49 Kb.
|
Содержание 2. Постановка задачи.Параметры, входящие в профиль Прикладной уровень Транспортный уровень TCP header (IPv4) Сетевой уровень IP header (IPv4) Таблица 2. Формат IP заголовка. Литература [1] |
Московский Государственный Университет им. М.В. Ломоносова Факультет Вычислительной Математики и Кибернетики Кафедра АСВК Дипломная работа Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов студент 522 гр. Студеникин Р.В. Научные руководители: д.ф.-м.н., проф. Смелянский Р.Л. Гамаюнов Д.Ю. Москва, 2007 г. Аннотация В данной работе исследуется альтернативный метод обнаружения повторных голосов в системах анонимных интернет-голосований. Вводится понятие «сетевого объекта», который используется, как единица анализа. Показываются достоинства и недостатки предлагаемого метода и производится сравнение с существующими методами. В работе строится набор параметров, описывающих сетевой объект, приводится описание разработанной системы анализа, результаты проведенного эксперимента и выводы о применимости системы. Оглавление 1. Введение 4 2. Постановка задачи. 9 Параметры, входящие в профиль 10 Прикладной уровень 10 Транспортный уровень 11 Сетевой уровень 12 Литература 13 1. ВведениеВ настоящее время Интернет стал неотъемлемой частью жизни большого числа людей различных слоев общества – от домохозяек до бизнесменов. И, хотя, интернет зарождался изначально для научных целей – для более эффективного и быстрого обмена информацией, сейчас все его возможности доступны каждому, кто знает, что такое компьютер. Также, интересен тот факт, что в последние несколько лет Интернет приобретает несколько иную форму, нежели это было раньше. Раньше всю доступную в Интернете информацию публиковали организации, имеющие в своем распоряжении Интернет сайт, а пользователи могли лишь заходить и просматривать эту информацию. Чуть позднее появились форумы и чаты, где люди могли обсуждать интересующие их вопросы, знакомиться и всячески выражать свои мысли. Сейчас же, Интернет представляет собой нечто большее, и основное отличие в том, что каждый его пользователь может создать свой сайт(притом совершенно бесплатно) и размещать на нем любую информацию. И более того, есть сайты, содержимое которых полностью сформировано посетителями этого сайта. То есть создатель сайта может не участвовать в заполнении его содержимым. Яркими примерами таких сайтов могут служить YouTube.com и Wikipedia.org, а из русскоязычных habrahabr.ru. Но, список таких сайтов, разумеется, не ограничивается только ими и количество им подобных стремительно растет. Всё содержимое(далее - контент) этих сайтов сформировано их посетителями и задача владельца сайта состоит лишь в том, чтобы остальные посетители могли как можно удобнее добраться до самой интересной информации. Разумеется, «интересность» контента должна определяться также не владельцем сайта а его пользователями. Зачастую это делается при помощи голосований следующим образом: каждый пользователь, заходя на сайт, имеет возможность отметить некоторую часть контента как наиболее интересную, т.е. оценить её со своей субъективной точки зрения. Но, поскольку посетителей сайта много, и каждый выбирает наиболее интересную на его взгляд информацию, то общая оценка контента стремится к объективной с увеличением числа посетителей. Однако, при такой схеме, возникает опасность, что некто попытается поднять рейтинг какой-то части контента, проголосовав за неё несколько раз. Другой пример применения анонимных голосований в сети Интернет – проведение социологических и политических исследований и опросов. Примеры таких голосований можно обнаружить на сайтах rbc.ru, !!!!!!!!!!найти!!!!!!!!. Результаты этих голосований зачастую цитируются в сми, что может оказывать довольно сильное влияние на взгляды и мнения населения страны. Очень вероятно, что фальсификация результатов подобных голосований может быть кому-то очень выгодна. Разумеется, против таких случаев применяются методы, накладывающие ограничения на действия пользователя. Но, у каждого из этих методов, есть свои преимущества и недостатки и, разумеется, своя область применимости. Рассмотрим эти методы:
Для достижения наилучшего результата возможно применение комбинации нескольких методов. Но, чем сильнее мы хотим усложнить задачу злоумышленникам, тем сильнее усложняем процесс голосования для обычных пользователей. И, следует отметить, что для среднего пользователя могут быть не очевидны все принятые меры предосторожности проведения голосования. То есть, сильно повысив уровень защиты против повторного голосования, может получиться так, что большинство пользователей сочтут процедуру голосования слишком сложной и просто не захотят принимать в нем участие. Здесь следует находить «золотую середину», учитывая следующие параметры:
В общем же, каждая система интернет-голосований в идеале должна включать в себя решения следующих задач[1]:
В данной дипломной работе рассматривается решение задачи 5 для анонимных интернет-голосований, расположенных на страницах в сети Интернет, следующего содержания:
Действия пользователя, решившего поучавствовать в таком голосовании выглядят следующим образом:
Определимся с терминами: Идентификация – процесс, используемый информационной системой для распознания сущности[2]. В контексте решаемой задачи, задача идентификации разбивается на два этапа:
Для системы интернет-голосования указанного вида, очередной пришедший голос является HTTP-запросом внутри некоторой TCP-сесии. Таким образом, пользователь виден для системы как набор(сетевое устройство; ОС+ПО, установленные на этом устройстве; настройки ПО, измененные пользователем устройства). Такой набор мы будем называть сетевым объектом. В настоящее время существует несколько методик определения некоторых характеристик удаленного устройства[3], операционной системы, установленной на удаленном устройстве[4,5,6,7,8], а также программных средств удаленного устройства, используемых пользователем, и их настроек[9]. Каждый из этих методов, позволяет получить параметры, описывающие сетевой объект. Также, существует возможность составить некоторый поведенческий «портрет» пользователя, проанализировав трафик, порождаемый устройством в процессе работы этого пользователя, и идентифицировать пользователя по его поведению(этот вопрос был изучен в рамках курсовой работы за 4 курс). Но, в общем случае, организатор голосования такой возможности не имеет по причине отсутствия доступа ко всему трафику пользователя. Далее, под профилем сетевого объекта мы будем понимать область пространства, в пределах которой может располагаться вектор параметров, описывающих данный сетевой объект. Итак, проанализировав вышеописанные методы удаленного сканирования, можно в контексте рассматриваемой в работе области, выдвинуть гипотезу о возможности применения сетевого объекта в качестве единицы анализа в IP-методах, подобно IP-адресу. То есть, вместо разбиения всех голосов на группы по IP-адресам, предлагается разбить их на группы по профилям сетевых объектов, ассоциированных с этими голосами. У предложенного метода, как и у вышеизложенных, существуют свои достоинства и недостатки. К достоинствам относится прозрачность для пользователя – при использовании данного метода, как и при использовании IP-методов, от пользователя не требуется никаких дополнительных усилий для участия в голосовании, следовательно использовать метод можно для любых голосований. К недостаткам относится предположение о соответсвии каждого пользователя системы интернет-голосования одному сетевому объекту. Это ограничение пользователь может обойти при наличии нескольких сетевых устройств, либо при наличии на одном сетевом устройстве нескольких аккаунтов с различными программными настройками. ^ Задачей дипломной работы является разработка и исследование эффективности метода разбиения голосов при помощи профилей сетевых объектов в системах интернет-голосований, по сравнению с IP-методами, а также, разработка макета системы для тестирования разработанного метода для операционной системы Debian Linux Etch и веб-платформы Ruby On Rails. Для обеспечения возможности использования метода в реальных системах интернет-голосований, необходимо, чтобы метод был устойчив к некоторому изменению параметров, а также определял вес каждого коэффициента и учитывал его при подсчете функции схожести объектов. Для достижения цели необходимо:
^ Поскольку мы рассматриваем системы анонимного интернет-голосования, располагающиеся в сети Интернет, а протоколом взаимодействия пользователя с системой интернет-голосования является HTTP, работающий в рамках стека протоколов TCP/IP, то для удобного его рассмотрения, разложим его работу по уровням модели TCP/IP и на каждом уровне выделим параметры, описывающие сетевой объект. Для каждого параметра укажем предполагаемые область изменения и степень значимости в рамках профиля сетевого объекта. ^ На этом уровне осуществляется работа программы, с помощью которой пользователь просматривает содержимое веб-страниц(веб-браузер). Здесь и далее будем называть сторону пользователя клиентом, а противоположную сторону, с системой интернет-голосования, – сервером. Когда пользователь хочет просмотреть некоторую веб-страницу, он сообщает это своему браузеру(вводит адрес страницы, или кликает на ссылку), после чего браузер отправляет на сервер запрос(GET, или POST), содержащий адрес интересуемой страницы, свою версию, а так же некоторую информацию о системе. Типовой пример запроса (запрос перехвачен при помощи дополнения Live HTTP Headers к браузеру Mozilla Firefox): GET /ig HTTP/1.1 Host: www.google.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 30 Connection: keep-alive Cookie: <...> Как мы видим, это GET запрос к ресурсу, расположенному на сервере www.google.com и имеющему относительный адрес /ig, и, помимо указания адреса запрашиваемого русурса, здесь указаны некоторые параметры браузера и представлены Cookies, принадлежащие домену google.com. Среди параметров, находящихся в запросе, самым интересным для решения задачи сбора информации об удаленном хосте, является строка User-Agent: она содержит тип и версию браузера, а также, может содержать название операционной системы, язык браузера и что-либо еще. Во время прохождения преддипломной практики в компании Яндекс, было проведено исследование о количестве возможных модификаций строки User-Agent в запросах. За один день набралось <<КОЛИЧЕСТВО>> уникальных значений данной строки. Стоит отметить, что строка User-Agent в современных браузерах изменяется лишь при изменении версии операционной системы, изменении версии браузера, либо при добавлении новых дополнений, т.е. имеет продолжительные периоды сохранения значения. Получив запрос на получение веб-страницы, сервер, в случае наличия таковой, высылает её клиенту. Страница может содержать текст, изображение, Java-script код, каскадную таблицу стилей, или что-то еще. После получения запрошенной страницы, браузер пользователя начинает интерпретировать полученное содержимое – отрисовывает текст и графику в соответствии с заложенным в странице форматированием, а также, выполняет необходимые JavaSript’ы. JavaScript, по-омолчанию, включен во всех современных браузерах, и с его помощью можно получить некоторую информацию о клиенте. ^ На транспортном уровне происходит установление TCP-соединения. В начале соединения, инициирующий соединение хост, посылает на 80-й порт хоста, с которым требуется установить соединение, TCP пакет с установленным флагом SYN и некоторым Sequence number = x. Если получатель ожидает вызовов на соединение и готов удовлетворить запрос – он посылает TCP пакет с установленными флагами ACK+SYN и Acknowledgement number = x+1, а также некоторым своим Sequence number = y. Первый хост, получив такой пакет, должен отправить в ответ пакет с установленным флагом ACK, Sequence number = x+1 и Acknowledgement number = y+1. Такая процедура называется «тройным рукопожатием» и после её удачного прохождения, соединение считается установленным. Описанная процедура является обязательной для установления TCP соединения, указанные флаги и номера должны принимать строго указанные значения. Но на остальные поля TCP пакетов эта строгость не распространяется, и, благодаря этому, разные операционные системы заполняют TCP пакеты во время соединения по-разному. В таблице 1 представлена структура заголовка TCP пакета.
Таблица 1. Формат TCP заголовка. Source port и Destination port – порты отправляющего хоста и хоста назначения соответственно. Sequence Number – порядковый номер пакета, Acknowledgement number – порядковый номер ожидаемого пакета, Data Offset – смещение начала данных. Reserved – зарезервировано для будущего использования. Согласно стандарту, это поле должно быть равно нулю, однако не все операционные системы следуют этому стандарту и могут заполнять его не нулевым значением. Flags – флаги TCP пакета(URG, ACK, PSH, RST, SYN, FIN). Window – число байт данных, которые готов принять отправитель пакета. Checksum – контрольная сумма пакета. Urgent Pointer – содержит смещение «неотложно важных»(urgent) данных. Options – поле переменной длины со списком опций TCP пакета. Всего возможных опций 9 штук. <<МОЖНО НАВЕРНОЕ ОПИСАТЬ ОПЦИИ>> ^ На этом уровне находится IP адресация, идентификатором каждой стороны является IP-адрес. В зависимости от типа подключения пользователя системы интернет-голосования к сети Интернет, IP-адрес устройства пользователя может быть либо всегда постоянным, либо меняться в пределах некоторого пула IP-адресов, выделенного провайдеру Интернет. Также, IP-адрес может меняться, если пользователь подключается через различные прокси-серверы, или анонимные сети[ссылка на TOR].
^ California Secretary of State Bill Jones, «California Internet Voting Task Force» // January, 2000 [2] National Information Assurance(IA) Glossary // June 2006 [3] Tadayoshi Kohno, Andre Broido, K.C. Claffy, “Remote physical device fingerprinting” //May 2005 [4] Lance Spitzner, “Passive Fingerprinting” // May 2000 [5] Michal Zalewski, “P0f Project Information” // 2006-09-06 http://lcamtuf.coredump.cx/p0f.shtml [6] Ofir Yarkin, Fyodor Yarochkin, “Xprobe v2.0. A “Fuzzy” Approach to Remote Active Operating System Fingerprinting” // August 2002 [7] Ofir Arkin, “A Remote Active OS Fingerprinting Tool Using ICMP” [8] Федор Ярочкин, Алексей Волков, «Определение операционной системы удаленного хоста» // 1997-2000 [9] J. Treurniet, «An Overview of Passive Information Gathering Techniques for Network Security», Defence R&D Canada - Ottawa // May 2004 |
![]() | Заголовок «Дипломная работа» или «Курсовая работа»: Times New Roman, 14 (вопреки П. 113), по центру. Затем – 2 пустые строки | ![]() | Степень удовлетворенности пользователей в документах по музыкальному искусству 25 |
![]() | Состояние, тенденции и проблемы развития народного образования в Новом Уренгое | ![]() | Разработка анализатора системы обнаружения атак, основанного на методах кластерного анализа” |
![]() | Удостоверение подлинности участников интернет-голосований на основе анализа сетевых сессий | ![]() | Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов |
![]() | Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов | ![]() | Повышение качества результатов анонимного интернет-голосования методом анализа сетевых объектов |
![]() | Использование средств olap-технологий для построения системы Бизнес Интеллекта факультета | ![]() | Умение ладить с реальным положением дел, перекрывая выходы: отказ от бегства, сопротивление и осуждение |