ВВЕДЕНИЕ 3
Глава 1. Теоретические основы организации защищенной передачи пакетов . 6
1. Сети, основные понятия 6
2. Протоколы передачи, сетевые пакеты и их структура 9
3. Сетевая модель OSI 13
4. Подключение сетей, методы перехвата данных, снифферы 19
5. Протоколы SSL/TLS, VPN (Virtual Private Network) 26
6. VPN (Virtual Private Network) 30
7. Веб-службы и веб-сервисы 32
8. Определение системы удаленного доступа, популярные системы удаленного доступа и их сравнение 38
9. Распространенные алгоритмы шифрования в СУД 41
Глава 2. Реализация системы удаленного доступа, с использованием системы Web-сервисов 44
1. Описание задачи 44
2. Проектирование системы удаленного доступа 46
3. Разработка системы WEB-сервисов 49
4. Разработка модуля шифрования 54
5. Тестирование системы и модуля шифрования на клиентах,
разработанных под разные платформы 56
ЗАКЛЮЧЕНИЕ 60
Список литературы 61
Приложение
В современном мире трудно представить простую жизнь людей без компьютеров. Сейчас компьютер используется не только как инструмент для работы, но и как большой медиа-центр для досуга и развлечений. И любую организацию или предприятие трудно представить без компьютеров. Например, организация может иметь компьютер для каждого сотрудника и использовать их для разработки новых продуктов, написания разных брошюр, создание архитектурных моделей, в общем, как инструмент для создания всего нового. В таких организация часто возникает проблема удобного и быстрого использования данных и ресурсов, то есть быстрый доступ к серверам, оборудованию, независимо от местоположения пользователя и сервера. В качестве примера можно привести сервер с базой данных в крупном банке или доступ к сетевому принтеру.
В малых организациях все компьютеры обычно собраны в пределах одного офиса или в пределах одного здания. Если же речь идет о больших фирмах, то и вычислительная техника, и служащие могут быть разбросаны по десяткам представительств в разных странах. Для соединения сетей, расположенных в разных местах, могут быть использованы сети, называемые VPN (Virtual Private Networks — виртуальные частные сети). То есть, тот факт, что пользователь находится на большом расстоянии от сервера, никак не должен ограничивать его в доступе к ресурсам.
Все данные, передаваемые по сети, передаются в виде пакетов или кадров, которые, в свою очередь, формируются специальными сетевыми протоколами. Пакетная передача данных обуславливается тем, что в случае непрерывной передачи данных, канал передачи попросту не сможет соединять несколько машин в сети. Так как при создании пакетной передачи данных никто не догадывался о возможности их хищения и извлечении из них ценной и важной информации, в большинстве своем пакеты до сих не шифруются, и при наличии специальных программ
Анализаторы сетевых пакетов, или снифферы, первоначально были разработаны как средство решения сетевых проблем. Снифферы позволяют перехватывать сетевые пакеты с целью изучения слабых мест в сети. С одной стороны, это позволяет системным администраторам и инженерам службы технической поддержки наблюдать за тем, как данные передаются по сети, диагностировать и устранять возникающие проблемы. В этом смысле пакетный сниффер является мощным инструментом для выявления неполадок и проблемных мест в сети. Но сниффер представляет собой также опасное средство, особенно в руках умелых злоумышленников, способное похитить пароли, данные платежей и тому подобное.
Следовательно, чтобы злоумышленник не смог прочитать данные при передаче, нужно как-то шифровать данные. Существуют специальные протоколы, которые используются для этих задач - это протоколы SSL и TLS. Данные протоколы поддерживают множество различных методов обмена ключами, шифрования данных и аутентификации целостности сообщений. В результате безопасная конфигурация SSL/TLS включает в себя множество настраиваемых параметров, и не все варианты предоставляют все связанные с конфиденциальностью свойства (аутентификация и обмена ключами, безопасность шифрования и целостность данных). Но у данных протоколов имеется ряд эксплойтов, уязвимостей, с помощью которых злоумышленники могут получить доступ к ключам, которые хранятся к cookies браузера. В связи с этим компании реализуют свои системы удаленного доступа, которые будут гарантировать защиту от чтения пакетов, а также от проникновения во внутренний сервер компании.
В данной дипломной работе мы будем исследовать подключение к корпоративной сети любой компании, которая имеет свою сеть, где можно развернуть систему Web-сервисов. В наше время все больше компаний предлагают удаленную работу, которая имеет ряд плюсов как для сотрудников (не нужно тратить время на дорогу) так и для компании (не нужно обеспечивать местом в офисе, следовательно, меньше арендная плата и остальные вытекающие). Но есть и существенный минус, это настройка и реализация безопасного канала передачи данных в интернете между сотрудником и компанией. Таким образом, актуальность данной темы не поддается сомнению.
Поскольку ныне развит не только один стек технологий, по которым программно реализуются приложения-клиенты для общения в сети, поэтому Web-сервис должен уметь общаться с разными клиентами по одному контракту или быть кроссплатформенным. Наша цель - это рассмотрение системы удаленного доступа к сети компании от разных платформ, таких как веб-сайты и Desktop-приложения, которая будет гарантировать максимальную защиту от чтения содержимого пакетов и их дешифрования из трафика.
Было поставлено несколько задач, которые помогут в реализации нашей цели. Главная задача разрабатываемой системы - гарантировать корректную работу авторизованным пользователям и обеспечить защиту от чтения пакетов во время перехвата трафика. Данная задача разбивается на несколько подзадач: разработка системы Web-сервисов, разработка модулей шифрования и тестирование данной системы и модуля на клиентах, разработанных под разные платформы.
В ходе дипломной работы были проанализировано несколько вариаций реализации системы удаленного доступа, выявлены все недостатки и преимущества криптографических алгоритмов, технологий программирования, паттернов и т.д.
На основе исследований были реализованы несколько программных компонентов и полноценные приложения: Web-сервис, модуль системы шифрования, Web-приложение и приложение Windows Forms. Как мы показали выше, наша система Web-сервисов кроссплатформенна, надежно защищена и обладает конкурентным быстродействием.
Тестирование системы показало, что система работает без сбоев, и способна выдержать нагрузку на большое количество запросов.
Была поставлена цель работы - создание системы web-сервисов, которая должна предоставить пользователям защищенный сеанс работы с корпоративной информационной системой. Система web-сервисов должна предоставлять программный интерфейс для использования в рамках клиентских приложений различной архитектуры (браузер, мобильное устройство и пр.). Главная задача разрабатываемой системы - гарантировать корректную работу авторизованным пользователям и обеспечить защиту от чтения пакетов во время перехвата трафика.
Цель работы можно считать достигнутой.
1) Документация по сетевым технологиям:https://www.opennet.ru/docs/
2) Электронная библиотека https://ru.wikipedia.org/
3) Статья - Полное руководство по сетевому программированию для разработчиков игр -http://www.gamedev.ru/code/articles/?id=4262&page=2
4) Окулов С.М. Основы программирования. - М.: ЮНИМЕДИАСТАЙЛ, 2002. - 424 с.
5) Ресурсы для разработчиков - https://msdn.microsoft.com/ru-ru
6) Бабэ, Бруно Просто и ясно о Borland C++; М.: БИНОМ, 1995. - 400 c.
7) Джейсон, Прайс; Майк, Гандэрлой Visual C# .NET. Полное руководство; КОРОНА принт, 2004. - 960 c.
8) Нейгел, К. C# 2005 для профессионалов; Вильямс, 2006. - 763 c.
9) Рихтер, Джефри CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#; Питер, 2007. - 656 c.
10) Лекции про основы сетей на сайтеwww.intuit.ru
11) Робинсон, С.; Корнес, О.; Глинн, Д. и др. C# для профессионалов; М.: Лори, 2005. - 396 c.
12) Саттер, Герб Новые сложные задачи на C++; Вильямс, 2005. - 272 c.
13) Холзнер, С. Visual C++ 6. Учебный курс; Питер, 2001. - 576 c.