Теоретические основы защиты передаваемой по сети информации

Защита информации, сетевая безопасность, уязвимости

Модератор: Rostov114

Стоит ли использовать именно защищенные протоколы?

Всегда, когда возможно.
6
33%
Только когда необходимо.
8
44%
Нет, только усложняет процесс.
3
17%
Мне все ровно каким пользоваться.
1
6%
 
Всего голосов : 18

Теоретические основы защиты передаваемой по сети информации

Сообщение Sicness » 02 июл 2009, 16:36

Защита передаваемой по сети информации

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

Криптографические методы защиты информации


Стеганография

Стеганография — наука организации канала связи таком образом, что будет скрыт сам факт передачи информации. В общем случае процесс можно представить следующим образом:
1.На вход в кодирующую систему поступает:
A)Контейнер, в который мы хотим спрятать информацию;
B)Некий ключ, являющийся параметром для кодирования и декодирования;
C)Скрываемая информация;
2.Результаты кодирующей системы передается по каналу связи;
3.Декодирование контейнера. В результате получаем скрытый текст.
Контейнерами могут служить практически любые данные с достаточно высокой энтропией. Для изображений важно отсутствие монотонных участков и правильных геометрических фигур. Стеганография в тексте может быть выполнена, например, путем замены символов теста на визуально эквивалентные им.
Не каждый контейнер может вместить в себе предполагаемую информацию. То есть, максимальное количество вмещаемой информации зависит от метода кодирования и свойств самого контейнера. Существуют программные продукты способные по заданному объему скрываемой информации самостоятельно строить подходящие контейнеры. Такие стеганографические системы называют конструирующими.
Стеганография не часто встречается в повседневной жизни. Наиболее технологичные руткиты используют ее для скрытия своей сетевой активности путем смешивания своих коммуникаций и коммуникаций служб (сервисов) системы. Так же, злоумышленники могут использовать стеганографию для скрытой передачи запрещенной для выноса информации за пределы защищаемой зоны. Но это не значит, что стеганография используется только злоумышленниками. Может быть абсолютно наоборот, когда необходимо передать конфиденциальную информацию через не защищенный канал связи.

Шифрование передаваемой информации

Когда невозможно организовать безопасный канал связи, мы можем шифровать непосредственно сами передаваемые данные. В данном случае криптографию условно можно разделить на 2 ветви: симметричное и асимметричное шифрование.
При использовании симметричного шифрования «собеседники» владеют общим разделяемым секретом, позволяющий им шифровать и расшифровывать данные. Этот разделяемый секрет является ключом. Теоретически, стойкость шифра определяется количеством потенциальных ключей. Симметричная криптография является одним из наиболее распространенных методов шифрования. Примерами алгоритмов могут являться RC2, RC4, IDEA, DES (Data Ecryption Standart), AES (Advansed Ecryption Standart, так же известный как Rajndail), BlowFish, 3DES и другие. Существует Российский государственный стандарт шифрования ГОСТ 28147-89.
При использовании асимметричного шифрования каждый абонент системы имеет пару, состоящую из открытого (публичного) и закрытого ключа. Открытый ключ может свободно распространяться по сети, а закрытый, в свою очередь, хранится в секрете у владельца. Шифрование, как правило, происходит при помощи открытого ключа получателя сообщения, а дешифрование криптограммы при помощи его закрытого ключа. Преимущество перед симметричным шифрованием заключается в том, что «собеседнику» нет необходимости безопасно передавать разделяемый секрет, что в свою очередь, не всегда осуществимо. Абонентам достаточно обменяться по открытому каналу связи открытыми ключами. Перехват злоумышленником открытых ключей никакого преимущества ему не даст. Наиболее популярным представителем является алгоритм RSA. Его безопасность основывается на вычислительной невозможности разложения результата произведения двух простых чисел в кольце вычетов на исходные множители.

Использование цифровых подписей для защиты от изменений информации

Когда необходимо обеспечить целостность передаваемой не секретной (то есть допустим перехват информации) информации, мы можем воспользоваться цифровой подписью. Она, как правило, позволяет определить, была ли искажена информация, и подтвердить ее авторство с точностью до ключа, использованного для создания подписи. Цифровая подпись — одна из возможностей асимметричного шифрования. И как следствие, использует пару открытый и закрытый ключ. Для создания подписи необходимо воспользоваться закрытым ключем автора. Для подтверждения цифровой подписи, в общем случае, необходимо использовать открытый ключ автора. Оценка стойкости цифровой подписи складывается из:
1.Вычислительной невозможности разложить результат произведения двух простых чисел в кольце на исходные множители;
2.Стойкости использованной криптографической хэш-функции.

Шифрование на уровне сеанса
Согласно сетевой модели OSI, иерархию передачи информации по сети условно разделяют на 7 уровней (рисунок 1) :
OSI.jpg
Сетевая модель OSI
OSI.jpg (44.39 Кб) Просмотров: 3306

Ранее мы рассматривали шифрование непосредственно самих передаваемых данных. Теперь рассмотрим шифрование на уровне установленного сеанса связи. Цель рассматриваемых протоколов - инкапсулировать незашифрованные данные в зашифрованных пакетах, то есть, обеспечить безопасную передачу данных в протоколах изначально не имеющих криптографические возможности. Наиболее распространенным примером являются SSL (Secure Sockets Layer). Позднее на его основе был создан стандарт RFC и криптографический протокол TSL (Transport Security Layer). Оба протокола обеспечивают надежность передачи данных за счет использования корректирующих кодов и безопасных хэш-функций. Обобщенный алгоритм работы:
1.Выбор сторонами алгоритма шифрования;
2.Обмен ключами на основе криптосистем с открытым ключом или аутентификация на основе сертификатов;
3.Передача данных, шифруемых при помощи симметричных алгоритмов шифрования.
Рассмотрим процесс «рукопожатия» более подробно. Каждая запись в TLS содержит следующие поля: content type (определяет тип содержимого записи), поле, указывающее длину пакета, и поле, указывающее версию протокола TLS. Когда соединение только устанавливается, в content type записывается 22.
Ниже описан простой пример установления соединения:
1.Клиент посылает сообщение ClientHello, указывая наиболее последнюю версию поддерживаемого TLS протокола, случайное число и список поддерживаемых методов шифрования и сжатия, подходящих для работы с TLS;
2.Сервер отвечает сообщением ServerHello, содержащим: выбранную сервером версию протокола, случайное число, посланное клиентом, подходящий алгоритм шифрования и сжатия из списка, предоставленного клиентом;
3.Сервер посылает сообщение Certificate, которое содержит цифровой сертификат сервера (в зависимости от алгоритма шифрования этот этап может быть пропущен);
4.Сервер может запросить сертификат у клиента, в таком случае соединение будет взаимно аутентифицировано;
5.Сервер отсылает сообщение ServerHelloDone, идентифицирующее окончание handshake;
6.Клиент отвечает сообщением ClientKeyExchange, которое содержит PreMasterSecret открытый ключ, или ничего (опять же зависит от алгоритма шифрования);
7.Клиент и сервер, используя PreMasterSecret ключ и случайно сгенерированные числа, вычисляют общий секретный ключ. Вся остальная информация о ключе будет получена из общего секретного ключа (и сгенерированных клиентом и сервером случайных значений);
8.Клиент посылает ChangeCipherSpec сообщение, которое указывает на то, что вся последующая информация будет зашифрована установленным в процессе handshake алгоритмом, используя общий секретный ключ. Это сообщение уровня записей и поэтому имеет тип 20, а не 22;
9.Клиент посылает сообщение Finished, которое содержит хэш и MAC (код аутентификации сообщения), сгенерированные на основе предыдущих сообщений handshake;
10.Сервер пытается расшифровать Finished-сообщение клиента и проверить хэш и МАС. Если процесс расшифровки или проверки не удается, handshake считается неудавшимся и соединение должно быть оборвано;
11.Сервер посылает ChangeCipherSpec и зашифрованное Finished сообщение и, в свою очередь, клиент тоже выполняет расшифровку и проверку;
После выполнения этих шагов рукопожатие считается завершенным, а протокол выполненным. Все последующее пакеты имеют тип 23, а все данные будут зашифрованы. В TSL версии 1.0 поддерживаются следующие алгоритмы:
Для обмена ключами и проверки их подлинности применяются комбинации алгоритмов: RSA (асимметричный шифр), Diffie-Hellman (безопасный обмен ключами), DSA (алгоритм цифровой подписи) и алгоритмы технологии Fortezza;
Для симметричного шифрования: RC2, RC4, IDEA, DES, Triple DES или AES;
Для хэш-функций: MD5 или SHA.
Существуют готовые надстройки к популярным сетевым протоколам. Например, для безопасного посещения веб-ресурсов, если поддерживает сервер, необходимо использовать вместо http протокол https. Для безопасного обмена мгновенными сообщениями можно использовать jabber с настроенным SSL. Более того, jabber на уровне протокола поддерживает шифрование сообщений при помощи OpenPGP. Интересным вариантом безопасной коммуникации в сети является использование прокси и SOCKS серверов с поддержкой SSL. В какой-то степени это почти виртуальная частная сеть.

Виртуальные частные сети

VPN (Virtual Private Network) — виртуальная частная сеть. Используется для создания виртуальной, как правило защищенной, частной сети поверх публичной не защищенной сети. При должном уровне реализации VPN может обеспечить высокий уровень шифрования передаваемой информации. При правильной настройке всех компонентов обеспечивает анонимность в сети. Протокол рукопожатия, как правило, работает схожим образом с SSL, но создает не просто зашифрованный сеанс, а целую виртуальную сеть. Примерами программных продуктов могут быть IPSec (IP security), PPTP (point-to-point tunneling protocol), L2TP (Layer 2 Tunnelling Protocol), L2TPv3 (Layer 2 Tunnelling Protocol version 3) и OpenVPN (SSL VPN с открытым исходным кодом, поддерживает режимы PPP, bridge, point-to-point, multi-client server). Большая часть реализаций работает поверх TCP и UDP. Имеет клиент-серверную архитектуру. По архитектуре компонентов сети можно классифицировать следующим образом:
Сеть-сеть. Когда при помощи VPN соединяют 2 сети;
Сеть-машина. Когда ко внутренней сети подключается удаленный клиент;
Машина-машина. Когда создается безопасная виртуальная сеть только между двумя компьютерами.
Из классификации очевидно, что сети можно разделить на 3 типа:
1.Сама виртуальная частная сеть;
2.Внутренние сети сторон. Отсутствует в соединении машина-машина;
3.Внешняя сеть через которую устанавливается VPN.
VPN имеет как программную, так и аппаратно-программную реализацию. Программно-аппаратная реализация не без основания считается более надежной:
1.Легкость и скорость настройки;
2.Более высокая производительность;
3.Меньшая подверженность уязвимостям.
Недостатками являются высокая стоимость, более низкая гибкость и обособленность управления от других средств защиты.

Программно-административные средства

Одно из ответственных лиц за защиту информации является системный администратор. С его стороны очень важно оптимальным образом настроить систему. Можно выделить пассивные и активные методы защиты. К пассивным относится реализация политики безопасности и настройка средств защиты. Например настройка firewall в сети. Производя его настройку от правила запрета всего и разрешение только необходимого, он может значительно усложнить злоумышленнику задачу несанкционированной передачи информации. К активным мерам защиты передаваемой информации можно отнести ее прослушивание как автоматизированными средствами по сигнатурам, так и ее ручной просмотр. Данный метод является очень важным при защите от несанкционированной утечки информации. Автоматизированный анализ умеют делать сетевые системы обнаружения вторжений (NDIS). Один из ярких представителей является свободно распространяемая вместе с исходными кодами система snort. Класс программ, которые позволяют перехватывать и просматривать сетевой трафик называются sniffer. Одним из лучших представителей является Wireshark.
Последний раз редактировалось Sicness 10 июл 2009, 14:28, всего редактировалось 2 раз(а).
Аватара пользователя
Sicness
Автор
 
Сообщения: 198
Зарегистрирован: 31 дек 2007, 11:29

Re: Теоритические основы защиты передаваемой по сети информации

Сообщение AVX » 02 июл 2009, 18:43

для начала мелочь, но все же: теорЕтические основы......

Далее, мое мнение - использовать по мере необходимости. Во-первых, немного больше нагружает процессор на обоих сторонах, немного увеличивает трафик (если есть избыточное кодирование), во-вторых - не вижу смысла шифровать, например, переписку домохозяек. Смысл есть, когда передается что-то важное, и то, лучше, если на основе сертификатов, подтвержденных центром сертификации, которому доверяют ОБЕ стороны. И вот почему:
если даже будет вестись переписка на основе SSL, кто застрахует от вклинивания в линию передачи третьего лица, который будет работать на обе стороны - принимать от одной стороны сообщения, отвечать сам, расшифрованное сообщение передавать на другую сторону, принимать ответ, опять же от себя передавать первой стороне. Это конечно сложно, но можно.
При работе с сертификатами каждая сторона может проверить подлинность сертификата (а подделать его практически нереально) на сервере центра сертификации, но только если каждая сторона доверяет этому центру. Например, если одна из сторон сочтет, что нельзя доверять (ну не знает такого центра сертификации) - сессия не состоится.
ЗЫ. ИМХО, основываясь на своих знаниях. Могу где-то и ошибиться.
AVX
Активный участник
 
Сообщения: 227
Зарегистрирован: 07 ноя 2008, 23:36
Откуда: Пугачев
Домен: http://pug-cs.ru/

Re: Теоретические основы защиты передаваемой по сети информации

Сообщение Sicness » 02 июл 2009, 19:01

Да, прошу прощения за мой русский, попозже с орфографией разбирусь.
А кто считает себя "домохозяйкой" ? А если ее "домохозяин" слушает ее сплетни про него? :) Не редко личная переписка стоит защиты и даже чаще чем мы предполагаем.
Да, атаку man-in-the-midle никто не отменял, но у неё есть сложности. Как кроме того, что она трудно реализуема, многие приложения запомнинают сертификат, принятый первый раз. Это усложняет. Если связывающиеся стороны не знакомы и сертификаты не заверены, то да, есть малый шанс на 3го по середине :)
Если собеседники хоть как-то знакомы, то ключи уже можно подписывать, удостоверять личностно и т.д.
Идея сертификатов в том, что доверие идет от реально доверенного миром сертификационного центра и от него по иерархии вниз. По законодательству, подписывая ключи, они отвечают за истинность информации своими материальными ценностями. По этому принято им доверять :)
Аватара пользователя
Sicness
Автор
 
Сообщения: 198
Зарегистрирован: 31 дек 2007, 11:29


Вернуться в Компьютерная безопасность

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

cron