Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Методика и алгоритмы защиты аутентификационных данных пользователей в web - приложениях Дзьобан Павел Игоревич

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Дзьобан Павел Игоревич. Методика и алгоритмы защиты аутентификационных данных пользователей в web - приложениях: диссертация ... кандидата Технических наук: 05.13.19 / Дзьобан Павел Игоревич;[Место защиты: ФГБОУ ВО Петербургский государственный университет путей сообщения Императора Александра I], 2017.- 173 с.

Содержание к диссертации

Введение

1 Обзор методов и алгоритмов аутентификации пользователей в web-приложениях 17

1.1 Международный опыт создания защищенных web-приложений с учетом актуальных атак злоумышленников. 17

1.2 Методы обеспечения информационной безопасности аутентификации пользователей в web-приложениях 20

1.3 Методы и алгоритмы аутентификации пользователей в web-приложениях

1.3.1 Метод парольной аутентификации 24

1.3.2 Метод аутентификации по сертификатам 29

1.3.3 Метод аутентификации по одноразовым паролям 31

1.3.4 Метод аутентификации по ключам доступа 33

1.3.5 Метода аутентификации по токенам 34

1.4 Методы вторичной аутентификации 37

1.4.1 Метод генерирования одноразовых паролей 39

1.4.2 Метод табличной аутентификации 40

1.4.3 Метод с контрольными вопросами 43

1.4.4 Другие методы вторичной аутентификации

1.5 Международные и отечественные стандарты аутентификации 46

1.6 Выводы по первой главе 47

2 Анализ актуальных типов атак на аутентификационные данные пользователей web-приложения 48

2.1 Классификация атак на web-приложения 48

2.2 Примеры реализации атак на аутентификационные данные пользователей web-приложения 2.2.1 Реализация сетевой атаки типа «фишинг» 54

2.2.2 Реализация сетевой атаки типа «Sql - инъекция» 55

2.2.3 Реализация сетевой атаки типа «ip-спуфинг» 56

2.3 Кеширование в web-браузере пользователей, как канал утечки аутентификационных данных 57

2.4 Анализ SSL/TLS шифрования 59

2.4.1 Реализация дешифрования аутентификационных данных SSL/TLS шифрования 65

2.5 Выводы по второй главе 67

3 Использование байесовской сети для защиты клиентской стороны от атак злоумышленников

3.1 Существующие методы защиты от атак злоумышленников на стороне клиента web-приложения 71

3.2 Описание математической модели байесовской сети 74

3.3 Байесовская математическая модель обнаружения и предотвращения хищения аутентификационных данных пользователя web-приложения 78

3.4 Алгоритм реализации математической модели 89

3.5 Оценка эффективности предавторизационной проверки пользователей web-приложений 92

3.6 Выводы по третьей главе 98

4 Разработка методики и алгоритмов защиты аутентификационных данных пользователей в web приложении 100

4.1 Разработка методики и алгоритмов защиты аутентификационных данных пользователей на стороне web-ресурса 100

4.2 Анализ и моделирование действий злоумышленника на возможность хищения аутентификационных данных пользователей в результате атаки на сервер web-приложения 1 4.2.1 Использование метода радужных таблиц 114

4.2.2 Использование метода «грубого перебора» 115

4.2.3 Использование логирования для дешифровки аутентификационных данных 116

4.3 Нагрузочное тестирование авторизационными данными сервера web приложения 117

4.4 Тестирование производительности многоканальной системой массового обслуживания с неограниченной очередью авторизаций пользователей 121

4.5 Выводы по четвертой главе 127

5 Оценка эффективности методики и алгоритмов защиты аутентификационных данных пользователей web приложения 129

5.1 Расчет возникновения риска реализации актуальных сетевых атак на аутентификационные данные пользователей web-приложения 129

5.2 Влияние методики и алгоритмов защиты аутентификационных данных пользователей web-приложения на информационные риски предприятия в целом 141

5.3 Выводы по пятой главе 143

Заключение 145

Введение к работе

Актуальность темы исследования. Разработка web-приложений

(интернет-банкинг, платежные системы, различные ресурсы, которые передают, обрабатывают и хранят персональные данные и др.) является новым и наиболее перспективным направлением развития информационных и телекоммуникационных технологий. Задача разработчиков и любого web-ресурса – уберечь информацию конфиденциального характера от хищения, последствия которого выражаются в изменении или уничтожении контента ресурса. При получении злоумышленником аутентификационных данных пользователя web-ресурса в 90 % случаев идентификатор и аутентификатор будут действительными на других web-ресурсах.

Стоит отметить, что реализация SSL/TLS соединения в web-ресурсе является основной мерой обеспечения целостности и конфиденциальности ведения диалога между клиентом и сервером web-приложения. Таким образом, злоумышленнику необходимо выявить уязвимости либо на клиентской стороне, либо на серверной. На стороне клиента хищение идентификационных и аутентификационных данных может произойти на этапе возобновления сессий браузера пользователя или хищения приватных ключей RSA, если был выбран данным алгоритм шифрования. Также возможна реализация хищения идентификаторов сессии web-браузера пользователя и cookies-файлов, а также аутентификаторы предыдущих сессий пользователя на том или ином web-приложении, прибегая к элементарному анализатору сетевых пакетов (Wireshark), или реализуя атаки, основанные на полном повторении злоумышленником легитимного ресурса - фишинге. Данные угрозы реализованы недавно и основываются на логировании симметричных сессионных ключей в сводный файл различными web-браузерами.

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

непосредственно на базу данных сервера web-приложения, атаки

переполнения буфера, SQL-инъекции, выполнение межсайтовых скриптов и прочие.

Актуальность обоснована противодействием реализации описанных типов сетевых атак и увеличения уровня конфиденциальности, целостности и доступности аутентификационных данных пользователей web-приложения.

Степень разработанности темы исследования. В области защиты
аутентификационных данных пользователей в web-приложениях

теоретическая и методологическая базы в настоящее время формируется усилиями таких российских ученых как П.Д. Зегждой, А.Ю. Щербаковым, Ю.В. Вайнштейном, А.В. Лейманом и зарубежных ученых W. Diffie, M. Hellman, E. Beham, Keith D. Cooper и другими учеными. Обеспечению безопасности ввода аутентификационных данных на клиентской стороне в web-приложение, легитимность которого не подтверждена, должного внимания уделено не было. Также, если рассмотреть диалог между клиентом и сервером web-приложения с ракурса базы данных, можно заметить, что в итоге аутентификационные данные сравниваются в открытом виде. В случае проведения атаки на базу данных web-приложения злоумышленнику будут доступны хеш-суммы всех пользователей и дальнейшая расшифровка для получения исходных значений не представляется сложным.

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

Объектом исследования являются средства аутентификации

пользователей на сервере web-приложения.

Предметом исследования являются методы, методики и алгоритмы
защиты аутентификационных данных пользователей web-приложения,

способы их модернизации, а также методы обнаружения и предотвращения сетевых атак.

Научная задача состоит в разработке методики и алгоритмов защиты аутентификационных данных пользователей в web-приложениях за счет реализации предавторизационной проверки web-приложений и хеширования диалога клиента и сервера с использованием энтропийного модификатора «соль». Для достижения поставленной цели и решения научной задачи решались следующие задачи:

  1. Анализ методов и алгоритмов защиты аутентификационных данных пользователей в web-приложениях.

  2. Разработка алгоритма предавторизационной проверки легитимности web-ресурса в реальном времени и его программная реализация.

  3. Разработка методики и алгоритмов защиты аутентификационных данных пользователей в web-приложениях.

  4. Оценка эффективности разработанной методики и алгоритмов защиты аутентификационных данных пользователей в web-приложениях.

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

Научная новизна получена в следующих результатах диссертации:

  1. Предложен и реализован алгоритм предавторизационной проверки web-приложения с использованием математической модели байесовской сети и выбранных показателей для расчета вероятности наступления угрозы сетевого типа в реальном времени;

  2. Предложена методика и алгоритмы защиты аутентификационных

данных пользователей в web-приложении с использованием

модернизированных алгоритмов хеширования, с учетом коллизий защитных преобразований и энтропийного модификатора «соль», значение которого зависит от адреса сетевого устройства пользователя.

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

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

Теоретическую значимость исследования составляет разработка
алгоритма предавторизационной проверки web-ресурса на основе

математического аппарата байесовской сети и выбранных показателей,
методики и алгоритмов защиты аутентификационных данных с

использованием модификаций хеш-сумм и алгоритмов защитных

преобразований.

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

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

сообществом литературных источников предметной области решаемой задачи; построением блок-схем алгоритмов; согласованностью проведенных

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

Апробация результатов диссертации. Основные положения диссертационной работы докладывались и обсуждались на научно-практических конференциях и семинарах, в том числе: на II Всероссийской научно-практической конференции «Актуальные вопросы науки и практики». Разработка модели и метода идентификации и аутентификации пользователей для web-приложений в 2013 г., в материалах XVI Международной научной конференции «Современные проблемы проектирования, применения и безопасности информационных систем» 19-21 октября 2015 г. в г. Кисловодске, а также в материалах IV Международной научно-практической конференции «Автоматизированные информационные и электроэнергетические системы» 9-11 сентября 2016 г. в ФГБОУ ВО «Кубанский государственный технологический университет».

Реализация и внедрение результатов исследования. Результаты научного исследования внедрены в рабочий процесс компании ООО «Южный инновационный центр», г. Краснодар и ООО «Коммерческий банк «Кубань Кредит», г. Краснодар и департамент информационной безопасности АО «Сириус», г. Краснодар, о чем свидетельствуют акты о внедрении.

Публикация результатов работы. По теме диссертации опубликовано 15 печатных работ, в том числе 4 публикации в ведущих рецензируемых научных изданиях, рекомендованных ВАК при Минобрнауки России, 5 публикаций в сборниках научных статей, 3 публикации в трудах научных конференций и 3 свидетельства о государственной регистрации баз данных.

На защиту выносятся:

- алгоритм предавторизационной проверки web-приложения на основе математического аппарата байесовской сети для расчета вероятности реализации сетевых угроз в режиме реального времени;

методика и алгоритмы защиты аутентификационных данных пользователей web-приложения с использованием частных преобразований хеш-сумм, оригинального энтропийного модификатора «соль», зависящего от уникального ярлыка каждого пользователя на стороне сервера, и «общая соль», зависящая от адреса сетевого устройства клиента;

алгоритм для определения производительности информационной системы, выраженной в способности обрабатывать определенное количество данных аутентификации пользователей в единицу времени, с учетом специфики авторской методики;

оценка эффективности разработанной методики и алгоритмов защиты аутентификационных данных пользователей web-приложения.

Структура и объем диссертации. Диссертационная работа состоит из введения, пяти глав, выводов по каждой главе, заключения, списка литературы используемой литературы и приложений. Диссертационная работа изложена на 173 страницах основного текста, содержит 51 рисунок, 29 таблиц, 10 приложений. Список используемой литературы содержит 95 наименований.

Методы обеспечения информационной безопасности аутентификации пользователей в web-приложениях

Обеспечение безопасности информационных систем и web-приложений осуществляется путем проектирования и внедрения комплексной системы информационной безопасности. Для сохранения актуальности и правомерности информационных отношений необходимо сочетать следующие меры: - законодательные (требования, стандарты, законы, нормативные акты и т. п.); - административно-организационные (конкретные меры безопасности, касающиеся пользователей, лицензионные условия и т. п.); - программно-технические. Законодательные меры очень важны для обеспечения информационной безопасности. К этому уровню можно отнести совокупность мер, направленных на создание и поддержание в социуме негативного (в том числе административного/уголовного) отношения к злоумышленникам и нарушителям информационной безопасности. На психологическом уровне большинство граждан не совершают злоумышленных деяний потому, что это осуждается и/или наказывается обществом в соответствии с законодательством.

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

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

Для поддержки режима информационной безопасности особенно важен очередной перечень мер: - меры программно-технического класса, потому как основная угроза компьютерным системам исходит от них самих: сбой оборудования, ошибки в программном коде, пользователей и администраторов, действия злоумышленников, работы программного обеспечения и т. п. [56,58]. На вооружении современных информационных систем и их компонентов, как минимум, должны быть следующие механизмы безопасности: - идентификация и проверка подлинности пользователей; - контроль и управление доступом идентификации пользователей; - протоколирование и аудит в электронные журналы учета с шифрованием и резервным копированием; - криптография определенного уровня; - экранирование; - обеспечение высокой доступности.

На этапе контроля логического доступа защита информации осуществляется с использованием различных сервисов сетевой безопасности. Одним из важных законов обеспечения информационной безопасности при взаимодействии пользователей в web-приложении является использование алгоритмов, методов и средств, позволяющих одной (проверяющей) стороне идентифицировать другую, проверяемую сторону. Так, для решения данной проблемы применяются специальные приемы, дающие возможность проверить подлинность проверяемой стороны. С каждым зарегистрированным в компьютерной системе пользователем или процессом, действующим от имени пользователя определенного статуса, связана определенная информация, однозначно идентифицирующая его. Это может быть буква, символ, число или строка смешанных символов, имяобразующие данный субъект - такую информацию называют идентификатором пользователя. Если пользователь имеет идентификатор, зарегистрированный на сервере web-приложения, соответственно он считается легальным (законным) пользователем и располагает правами, соответствующими своему статусу пользователя; остальные пользователи, которые не идентифицированы, относятся к нелегальным. Перед получением доступа к ресурсам информационной системы пользователь должен пройти процесс идентификации и аутентификации[56,57].

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

Известно, что cookies файлы - это один из самых популярных способов идентификации пользователей[42]. На самом деле идентифицировать пользователей можно разными способами.

Идентификаторы на клиентской стороне - этот метод довольно очевиден, ведь для его реализации необходимо сохранить на стороне пользователя некий идентификатор, который можно запрашивать при последующем посещении web-ресурса. Современные браузеры предоставляют достаточно способов выполнить это понятно для пользователя. Прежде всего это «старые» cookies файлы актуальность и значимость которых не уменьшилась. Затем особенности некоторых плагинов, близкие по функционалу к cookies, напри мер, Local Shared Objects[49]. HTML5 также включает в себя несколько ме ханизмов хранения на стороне клиента, в том числе local Storage, File и Indexed DB API. Кроме этих мест уникальные маркеры можно также хранить в кешированных ресурсах локальной машины или метаданных кеша - Last-Modified и ETag. Этот факт провоцирует как внутренних, так и внешних нарушителей на реализацию атаки хищения cookies файлов пользо вателей web-приложения [89].

Реализация сетевой атаки типа «Sql - инъекция»

Аутентификация на базе контрольных вопросов. При аутентификации пользователю предлагается ряд вопросов, ответы на которые может дать только он сам. Существует два типа контрольных вопросов: - вопросы определяются на момент регистрации пользователя, ответы фиксируются на этой же стадии; - вопросы связаны с операциями, выполняемыми пользователем в данной системе. Например: состояние баланса на момент последней аутентификации, периодичность платежей и т. д. В этом случае сервер авторизации извлекает информацию из базы данных приложения и проводит проверку. Возможна и комбинация этих методов. В случае регистрации большого количества контрольных вопросов для аутентификации может использоваться часть из них, выбираемая случайным образом [89]. Такой подход опять-таки повышает надежность защиты от фишинговых атак.

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

Высылаемый PIN-код - данный метод основан на генерации одноразового пароля сервером авторизации по запросу пользователя. Например, при прохождении первого этапа аутентификации. При этом подразумевается, что связь с пользователем для передачи одноразового PIN-кода инициируется сервером авторизации, и сгенерированный PIN-код отправляется, например, в виде SMS-сообщения, электронного письма или звонка на зарегистрированный номер.

Метод аутентификации компьютера используется для проверки автоматизированного рабочего места пользователя, то есть пользователь ассоциируется с определенным компьютером. Такая технология применима в случае, когда пользователь осуществляет доступ к требующим аутентификацию ресурсам с одного и того же компьютера. Типичным примером является домашний компьютер. В этом случае для самого пользователя происходит сквозная аутентификация, то есть от него не требуется выполнение каких-либо действий. На базе параметров компьютера, зачастую IP-адреса определенного устройства, генерируется ключ, часть которого является случайным значением. Этот ключ сохраняется на компьютере и в хранилище сервера авторизации. При обращении к защищаемому ресурсу пользователь проходит первичную аутентификацию на базе связки ключей логин/пароль. Второй этап аутентификации сводится к извлечению ключа компьютера и сравнению его значения с сохраненным в хранилище сервера авторизации.

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

Однако, какими бы прогрессивными программно-аппаратными устройствами не сопровождались представленные методы аутентификации вторичного фактора, сами данные аутентификации пользователей web-приложения не защищены от перехвата в момент их передачи для обработки, шифрования и дальнейшего сравнения с авторизационными данными на сервере. Данные идентификации и аутентификации пользователей необходимо передавать в защищенном виде, чтобы предотвратить отрицательные последствия и оправдать использование программно-аппаратных средств аутентификации. Для решения данного вопроса необходимо обрабатывать данные аутентификации на уровне web-приложения так, чтобы в случае их перехвата злоумышленником негативные последствия не наступили, и передавать их для сравнения на сервер авторизации. С данной задачей довольно успешно справляется протокол «https» на базе SSL/TLS шифрования - но только на этапе передачи данных, с уже уставновленным безопасным соединением.

Конечной целью злоумышленника чаще всего являются данные, хранящиеся в базе данных web-приложения, представляющие собой данные аутентификации пользователя со статусом, необходимоым злоумышленнику для доступа к определенному контенту и/или сам контент web-приложения. Меры по предотвращению атак на функционирование web-приложения на всех этапах являются по большей части программными. Однако немалое значение имеет правильное конфигурирование и администрирование как самого web-приложения, так и средств его защиты. У истоков данной классификации стоит Web Application Security Consortium, представители которой создали базу для разработки и популяризации стандартной терминологии описания подобных проблем.

Описание математической модели байесовской сети

Подробный анализ рейтинга OWASP Тор 10 [91] позволяет сформулировать несколько методов, следуя которым разработчики web-приложений и специалисты, занимающиеся их развертыванием и интеграцией, смогут обеспечить безопасность своих web-ресурсов.

В первую очередь разработчикам web-приложений необходимо считать, что любой пользователь их приложений поумолчанию является злоумышленником [94]. Следовательно, требуется проверять все входные и аутентификационные данные, полученные от пользователя, до того, как передавать, хранить и использовать их. Такой подход позволит избежать инъекций программного кода и XSS.

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

Специалистам по развертыванию и интеграции web-приложений стоит обратить внимание на конкретные настройки программного окружения web-приложений (ОС, библиотеки, web-сервер и др.), значения которых остаются без изменений. Если оставлять значение по умолчанию, то это может не только привести к состоянию абсолютно скомпраментированной информационной или автоматизированной систем, но и даст злоумышленнику дополнительное знание о защищаемой системе. Имея доступ к аналогичному программному обеспечению, также с настройками по умолчанию, злоумышленник может создать похожую модель атакуемого web-приложения, благодаря чему легко найдет лазейку сквозь оборону [77].

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

Требование использования новых версий относится также и к протоколам, обеспечивающим безопасность соединения между серверной стороной и клиентским web-браузером. Стандарт на протокол TLSvl.2 был опубликован еще в 2008 году, однако интернет-компании и разработчики web-приложений массово начинают использовать его только сейчас. Это обусловлено двумя причинами [92]. Во-первых, поддержка TLSvl.2 в популярных web-браузерах появилась совсем недавно. Версии web-браузеров клиентов, поддерживающие эту версию протокола, стали реализовывать в конце 2013 года: - «Internet Explorer» с версии 8 для Win 7 - март 2009; - «Google Chrome» с версии 29 - сентябрь 2013; - «Opera»: с версии 10 (июнь 2009) по 12, 14-16 - нет (переход на Blink), с 17 версии- октябрь 2013; - «Firefox» с версии 27 - январь 2014; - «Safari» с версии 7 - октябрь 2013. Современные версии одноименных web-браузеров для мобильных устройств на базе ОС Android и iOS также поддерживают протокол TLSvl.2. Во-вторых, в связи с участившимися публикациями в СМИ о тотальной слежке в интернете различных государственных ведомств, пользователи web-приложений стали больше интересоваться средствами защиты конфиденциальности своих данных. Чтобы не потерять клиентов коммерческим организациям приходится переходить на использование современных средств защиты, таких как TLSvl.2. На текущий момент версию 1.2 протокола TLS используют в своих web-приложениях компании Google, Facebook, Сбербанк России и другие. Достоинство протокола TLSvl.2 заключается в том, что помимо улучшений, затрудняющих выполнение атаки «человек посередине» (Man in the middle -MITM), эта версия поддерживает новые криптографические алгоритмы и режимы их использования: SHA-256, AES128-GCM, AES256-GCM, а также ряд криптографических алгоритмов на эллиптической кривой. Следует сказать, что не стоит делать протокол TLSvl.2 единственным доступным средством защиты, отбросив SSL 3.0, TLS версий 1.0 и 1.1, так как не все пользователи имеют современные версии web-браузеров и не все ресурсы функционирует на данной версии с аттестованными удостоверяющим центром сертификатами [92]. Большинство сервисов использует шифрование с помощью Transport Layer Security (TLS) для передачи важных данных, в том числе паролей. Основные свойства TLS с точки зрения информационной безопасности: - аутентификация - сервер всегда аутентифицируется, в то время как клиент аутентифицируется в зависимости от согласованного в процедуре «рукопожатия» алгоритма шифрования данных; - целостность - обмен сообщениями включает в себя проверку целостности, основываясь на стандартах FIPS 113 и FIPS 140-2; - частность канала - ассимметричное шифрование используется для установки соединения клиента с сервером и согласования настроек и алгоритмов шифрования. После установления соединения используется симметричное шифрование для всех сообщений данного и будущих диалогов.

Вариантов для перехвата данных, передаваемых через TLS, немного. Пассивное наблюдение злоумышленника не принесет желаемого результата, так как передаваемые данные зашифрованы временным ключом. Ключ известен и клиенту, и серверу, но его невозможно вычислить, лишь наблюдая со стороны за трафиком. Примером того, как можно реализовать защиту от пассивного наблюдения, является алгоритм Диффи-Хеллмана [93].

Если злоумышленник не может «влезть» в защищенное соединение, то почему бы не установить два разных соединения: одно между клиентом и атакующим (который в данном случае притворяется сервером), и второе между атакующим и сервером. От этого алгоритм Диффи-Хелмана [87,83] не защищен. Но TLS, в отличие от других протоколов, требует аутентификацию сервера, и поэтому такой подход также обречён на неудачу. Клиент при установлении соединения ждёт от сервера обязательной аутентификации TLS. При реализации атак, основанных на MITM, вместо web-сервера пользователь будет соединён с атакующим, который не владеет цифровым сертификатом, соответствующим доменным именем.

Существет два способа решения проблемы отсутствия сертификата SSL/TLS. Первый способ - создать необходимый сертификат самостоятельно, то есть реализовать «самоподписанный» сертификат. . Однако система цифровых сертификатов требует возможности проверить состоятельность сертификата. Для этого используются «удостоверяющие центры» (Certification Authority, СА), которые могут подписывать сертификаты сайтов (и не только), а также подписывать сертификаты других удостоверяющих центров. Сертификаты корневых удостоверяющих центров - их немного -внесены в web-браузер разработчиками. И браузер считает сертификат подлинным, только если он находится в конце цепочки сертификатов, начинающейся из одного удостоверяющего центра, где каждый следующий сертификат подписан предыдущим в цепочке. Таким образом, процедура шифрования будет реализована, но пользователь будет получать предупреждения от браузера о сомнительном диалоге и рекомендаиями его прекратить.

Второй способ - получить у удостоверяющего центра сертификат для стороннего доменного имени, но применить его для атаки. Такой способ так же недействителен в отношении большинства ресурсов, так как в каждом сертификате сайта указан домен, для которого он выдан. В случае несовпадения домена в адресной строке с доменом, указанным в сертификате, браузер не реализует SSL/TLS шифрование.

При реализации описанных методов браузер покажет пользователю предупреждение, примерно следующего содержания.

Тестирование производительности многоканальной системой массового обслуживания с неограниченной очередью авторизаций пользователей

В случае принятия пользователем решения авторизоваться на web-ресурсе в лучшем случае диалог клиент-сервер реализуется посредством SSl/TLS шифрования. Таким образом, необходимо разработать и внедрить алгоритм передачи идентификационных и аутентификационных данных пользователей с достаточным уровнем защиты от перебора и дешифрования, в случае их хищения, в результате проведения «удачной» атаки на базу данных web-приложения или работы шпионского программного обеспечения на клиентской стороне.

Реализация шифрования аутентификационных данных в разработанной методике происходит с помощью односторонних криптографических хеш-функций. Криптографические хеш-функции отличаются следующими условиями от остальных хеш-функций: - стойкость к коллизиям 1-го рода: для какого-либо сообщения P должно быть невозможно в реальном времени подобрать другое какое-либо сообщение Q, для которого хеш-функция F(P)=F(Q); - стойкость к коллизиям 2-го рода: должно быть невозможно в реальном времени подобрать такую пару сообщений (P, P ), хеш для которых будет идентичным; - необратимость: для установленного значения хеш-функции A должно быть невозможно в реальном времени найти блок данных X, хеш-функция для которого F(X)=A.

Также рассмотрены актуальные алгоритмы хеширования, выявлены коллизии и проведен тест, основываясь на результатах которого и был принят к использованию в авторской методике криптографический алгоритм хешировани md5, с многочисленными коллизиями, минимальными показателями и длинной хеша в 40 бит для более наглядной демонстрации противодействия основным угрозам данных аутентификации пользователей web-приложения. Значения скорости перебора хешей (в мегахешах в секунду), которые были получены на современной видеокарте AMD Radeon 7870, представлены на таблице 23.

Идентификационные и аутентификационные входные данные пользователей web-ресурсов открывают доступ злоумышленнику к функционалу, который подразумевает статус авторизованного пользователя на том или ином ресурсе. Напрмер, контент web-приложения может использоваться для работы с коммерческой информацией, обработкой, хранением и передачей персональных данных, ведением финансовых транзакций, регламентируемых следующей нормативной документацией: - Конституция Российской Федерации (принята всенародным голосованием 12.12.1993 г.) (с учетом поправок, внесенных Законами РФ о поправках к Конституции РФ от 30.12.2008 г. N 6-ФКЗ, от 30.12.2008 г. N 7-ФКЗ, от 05.02.2014 г. N 2-ФКЗ, от 21.07.2014 г. N 11-ФКЗ); - федеральный закон от 19 декабря 2005 г. № 160-ФЗ "О ратификации Конвенции Совета Европы о защите физических лиц при автоматизированной обработке персональных данных"; - федеральный закон от 27.07.2006 г. N 152-ФЗ (ред. от 21.07.2014 г.) "О персональных данных" (с изм. и доп., вступ. в силу с 01.09.2015 г.)[72]; - федеральный закон от 27.07.2006 г. N 149-ФЗ (ред. от 13.07.2015 г.) "Об информации, информационных технологиях и о защите информации" (с изм. и доп., вступ. в силу с 10.01.2016г.)[73]; - федеральный закон от 27.06.2011 г. N 161-ФЗ (ред. от 29.12.2014 г.) "О национальной платежной системе" (с изм. и доп., вступ. в силу с 01.03.2015 г.) и др.

Авторский алгоритм передачи, обработки и хранения аутентификационных данных пользователей web-приложения В разработанном алгоритме генерируется и используется криптографический модификатор «соль». Данный модификатор подвергается криптогра фической генерации, является динамическим исходя из инструментария web-ресурса, например, зависимость наблюдается в показателе внешнего IP и МАС-адресов, фиксированных при первой аутентификации, длинны идентификатора, алгоритма шифрования и т. д.

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

Сессии web-приложения пользователя не постоянны и данные в них хранятся только на время его работы. Поэтому пользователь не будет авторизованным после того, как он закрыл и снова открыл web-приложение. Аутен-тификационные данные пользователя сохраняются в cookies файлах, которые хранятся на компьютере администратора, и где возможна их кража [36].

Разработанная методика предполагает запись в cookies пользователя не просто его логин и пароль в открытом виде, а данные, проведенные через процедуру хеширования «n-раз» криптографическими алгоритмами и разбав 104 ленные полученным значением модфикатора соль - энтропийными данными формата хеширования, распределенными по алгоритму, который зависит от символов логина данного конкретного пользователя – для более высокой криптостойкости. На рисунке 4.4 представлен скрипт по проверке пользовательских данных в сookies файлах web-браузера.

Фрагмент скрипта по проверке пользовательских данных в сookies файлах Выбор финального алгоритма хеширования не случаен. Хорошей хэш-функцией принято называть такое значение, которое для всех тех нескольких тысяч различных паролей пользователей даст уникальный хeш, т. е. повторения (коллизии) хeшей для разных паролей практически исключены (но теоретически возможны, что трудно проверяемо).

Защита на таких функциях строится на основании того, что очень сложно получить один хэш для разных паролей, а даже если у разных пользователей одинаковый пароль, параметр, зависящий от логина или id пользователя, модификатор - всегда разный ($hash = md5($user_id . $pass-word).

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

Уникальность хешей только сыграет на руку злоумышленнику и сузит диапазон поиска, а также создаст контрольные точки для дальнейшей расшифровки алгоритма создания и распределения энтропийных модификаторов - «солей».

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