Назад в библиотеку

УДК 004.056:004.7

А.А. Акулов
студент 2 курса
Донской Государственный Технический Университет
г. Ростов-на-Дону, Российская Федерация
E-mail: artkulov_ww@mail.ru
Научный руководитель: В.В. Галушка
к.т.н., доцент кафедры Вычислительные системы
и информационная безопасность

Донской Государственный Технический Университет
г. Ростов-на-Дону, РФ
Е-mail: galushkavv@yandex.ru

ПОДМЕНА SSL-СЕРТИФИКАТОВ КАК СРЕДСТВО ПЕРЕХВАТА ЗАШИФРОВАННОГО ТРАФИКА

Аннотация

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

Ключевые слова

HTTPS, цифровые сертификаты, сертификационные центры, электронные подписи, TLS, SSL, конфиденциальность


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

Появилось программное обеспечение(ПО) с открытым исходным кодом, которое дало в руки любого желающего алгоритмы, позволяющие сохранить приватность переписки и быть уверенным в том, что данные никто не прочитает по дороге к пункту назначения. Пока государство ставило задачи, что же делать с новой угрозой, внезапно сильные алгоритмы шифрования стали аппаратно поддерживаться практически каждым устройством и стали доступны каждому. Протокол HTTPS стал стандартом для любых более или менее значимых соединений. Появился HSTS (HTTP Strict Transport Security) — механизм, активирующий форсированное защищённое соединение через протокол HTTPS. Далее появился Certificate pinning (хранение списка разрешенных для домена сертификатов в исходных текстах браузера) и HTTP Public Key Pinning. Эти методы позволяют избежать незаметной подмены сертификата за счет сравнения с эталонными в защищенном хранилище браузера. Благодаря тому, что браузеры стали преимущественно открытым ПО, повлиять на государственном уровне стало очень сложно. Однако, данная проблема все равно остается актуальной, так как далеко не все сайты используют цифровые сертификаты и тем самым подвергают кражей хакерами данных своих пользователей.

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

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

Сертификационный центр (Certification authority) (CA) — центр, которому все доверяют как надежной третьей стороне, подтверждающей подлинность ключей шифрования с помощью сертификатов электронной подписи. Так как удостоверяющих центров много, то в случае, если CA будет замечен за сбытом сертификатов для Man in the Middle (MitM), он будет немедленно добавлен в черные списки всех операционных систем и браузеров. Поэтому CA ведут себя крайне осторожно.

HTTPS (аббр. от англ. HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. HTTPS не является отдельным протоколом. Это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Он обеспечивает защиту от атак, основанных на прослушивании сетевого соединения — от снифферских атак и атак типа MitM, при условии, что будут использоваться шифрующие средства и сертификат сервера проверен и ему доверяют.

TLS (англ. Transport Layer Security — Протокол защиты транспортного уровня), как и его предшественник SSL (англ. Secure Sockets Layer — транспорт защищённых сокетов) — криптографические протоколы, обеспечивающие защищённую передачу данных между узлами в сети Интернет. TLS и SSL используют асимметричное шифрование для аутентификации, симметричное шифрование для конфиденциальности и коды аутентичности сообщений для сохранения целостности сообщений.

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

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

Существуют различные способы подмены цифровых сертификатов для сниффинга (перехвата пакетов между двумя компьютерами):

  1. Ручное добавление сертификатов в отладочном прокси-сервере
  2. Подмена сертификатов с помощью специального ПО

Рассмотрим первый способ на примере работы отладочного прокси Fiddler с возможностью добавления скрипта.

Fiddler – прокси, который работает с трафиком между Вашим компьютером и удаленным сервером, и позволяет инспектировать и менять его. Так как HTTPS шифруется от браузера до сервера-получателя, поэтому по умолчанию Fiddler не имеет доступа к содержимому HTTPS-запросов. Чтобы его получить, Fiddler должен сыграть роль хакера-перехватчика: расшифровывать запросы, и потом отправлять дальше. В такой прокси должен быть загружен сертификат и секретный ключ, позволяющие подписывать другие сертификаты (например, годится так называемый промежуточный сертификат удостоверяющего центра, выпущенный для этих целей).

Второй способ заключается в использовании специального ПО. Существуют программы, с помощью которых можно отслеживать трафик (сниферить). Принцип таких программ - отловить пакеты, которые передаются между компьютерами в одной сети. Довольно популярными сниферами являются – Cain&Abel, WireShark, WinSniff. Их очень много и у каждого есть свои плюсы и свои минусы. Такие программы работают по принципу MitM, они производят подмену сертификата и «прослушивают трафик» находясь между сервером и компьютером-жертвой.

Проводя эксперимент, мы использовали программу Cain&Abel. Были замечены уязвимости на некоторых сайтах. Так же было замечено, что будет произведена подмена сертификата или нет, зависит и от браузера.

Таким образом, подмена сертификатов является довольно опасной, так как злоумышленник сможет получить весь ваш сетевой трафик, однако не всегда работает для HTTPS при наличии некоторых дополнительных мер: например, установление TLS-соединения требует взаимной аутентификации, и перехватывающему узлу недоступен клиентский секретный ключ (либо ключи УЦ, удостоверяющего клиентский ключ); или – пользовательский браузер ведёт реестр отпечатков открытых ключей сервера, которым он доверяет; или – пользователь применяет дополнительные источники сведений о разрешённых ключах и сертификатах, которые недоступны для подмены на перехватывающем узле (таким источником может служить DNS, либо другая база данных).

Список использованной литературы:

1. Использование сниффера Cain & Abel [Электронный ресурс]. – Режим доступа: http://itguynote.blogspot.ru/2010/03/cain-abel.html(Дата обращения 23.12.2017)
2. Популярно о перехвате HTTPS [Электронный ресурс]. – Режим доступа: https://dxdt.ru/2013/08/02/6066/ (Дата обращения 23.12.2017)
3. Галушка В.В. Сети и системы передачи данных: учебное пособие. — Ростов н/Д: Издательский центр ДГТУ, 2016. — 105 с.
4. Сети и системы передачи информации: телекоммуникационные сети : учебник и практикум для академического бакалавриата / К. Е. Самуйлов [и др.] ; под ред. К. Е. Самуйлова, И. А. Шалимова, Д. С. Кулябова. — М. : Издательство Юрайт, 2017. — 363 с.