6 August 2019

Доклад о практике перехвата HTTPS-трафика в Казахстане

Проект Censored Planet представил анализ практики перехвата HTTPS-трафика в Казахстане, представляем вам перевод текста исследования.  
Правительство Казахстана недавно прибегло к использованию фальшивого корневого удостоверяющего центра (Root Certification Authority) для того, чтобы осуществить кибератаку класса “человек посередине” (MitM) на HTTPS-соединения с такими сайтами, как Facebook, Twitter и Google. В докладе представлены предварительные результаты мониторинга этой атаки с техническими подробностями о казахстанской системе перехвата трафика.

.

Основные выводы доклада:

  • В Казахстане была предпринята попытка перехватывать HTTPS-соединения, используя поддельный корневой SSL-сертификат. Такое практика может негативно сказаться на казахстанских пользователях интернета.
  • Браузеры не доверяют корневому SSL-сертификату по умолчанию, соответственно он должен быть установлен пользователем вручную. Пользователи не могут получить доступ к атакованным сайтам, если они не устанавливают поддельный корневой сертификат, что позволяет оператору связи осуществить перехват.
  • Факт перехвата был выявлен 17 июля, а непрерывно специалисты Censored Planet отслеживали его с 20 июля. При этом перехват прекращался и возобновлялся снова с течением времени.
  • Перехвачены были только определенные сайты. Сам перехват инициируется на основе имени хоста SNI. Были затронуты, по меньшей, мере 37 доменов, в том числе социальные сети (см. полный список ниже).
  • Атака затрагивает часть соединений, проходящих через крупнейшего интернет-провайдера страны – Казахтелеком (AS 9198 KazTelecom). Это означает, что только определённая часть пользователей в Казахстане была подвержена атаке.
  • Паттерны перехвата могут быть воспроизведены из-за пределов страны, что позволяет международным исследователям проводить их дистанционное изучение.

.

Что такое перехват HTTPS-трафика?

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

Приведем следующий пример: сайт facebook.com предоставляет сертификат для браузеров, подписанный удостоверяющим центром DigiCert, сертификаты которого встроены в большинство браузеров. Браузеры могут понять, что они обращаются к настоящей странице facebook.com, проверив представленный сертификат и подтвердив, что он подписан удостоверяющим центром, которому они доверяют (DigiCert). Сертификат, предоставленный сайтом facebook.com, также содержит открытый криптографический ключ, который используется для обеспечения последующей связи между браузером и Facebook.

В случае атаки с перехватом HTTPS-трафика (разновидности атаки «человек посередине», или MitM) злоумышленник притворяется сайтом (например, facebook.com) и представляет собственный поддельный сертификат с открытым криптографическим ключом. Обычно злоумышленник не может заставить легитимный центр сертификации подписать сертификат для домена, который злоумышленник не контролирует, что позволяет браузеру обнаружить и предотвратить такую ​​атаку. Однако если злоумышленник может убедить пользователей установить корневой SSL-сертификат в свои браузеры, они начнут доверять поддельным сертификатам злоумышленника. С помощью этих поддельных сертификатов злоумышленник может выдать себя за любой веб-сайт, изменяя его содержимое или отслеживая активность пользователей. По этой причине пользователям не следует устанавливать корневые SSL-сертификаты, так как они становятся уязвимы перед такими атаками.

.

Результаты исследования

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

20 июля 2019 г. специалисты проекта впервые выявили признаки потенциальной атаки MitM в Казахстане.

Сначала они обнаружили ее, используя технику HyperQuack, которая работает путем подключения к серверам TLS и отправки подтверждений установления связи, которые содержат домены, потенциально подвергнутые цензуре в расширении указания имени сервера (SNI). Если ответ показывает контрольные признаки помех, которые отличаются от обычного подтверждения установления связи, домен помечается как потенциально подвергнутый цензуре в стране, расположения сервера (см. рис. 1).

Рисунок 1. Пример использования HTTPS-серверов для обнаружения TLS MitM

.

Исследование показало, что сертификат, возвращённый в этих случаях, был поддельным. Он был подписан казахстанским корневым органом сертификации (Qaznet Trust Network) (см. рис. 2).

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

Рисунок 2. Примеры доверенного (справа) и внедрённого (слева) сертификатов с HTTPS-сервера в AS KazTelecom (AS 9198)

.

Исследование показывает, что соединения перехватываются, только если они следуют по сетевому пути, который проходит через систему перехвата. Однако перехват происходит независимо от направления, по которому проходит соединение. Это означает, что исследователи могут инициировать перехват, подключившись к серверам TLS в Казахстане из-за пределов страны, что позволяет им проводить более точные измерения.

.

Глубинный анализ

Получив сигнал тревоги от результатов автоматизированного сканирования HyperQuack, специалисты Censored Planet провели несколько экспериментов, чтобы лучше понять казахстанскую инфраструктуру перехвата HTTPS-трафика.

При этом “наблюдательные позиции” исследователей в Казахстане были ограничены: у них был доступ к двум клиентам VPS и 52 зондам RIPE Atlas. Но они также выполнили более полное сканирование из-за пределов страны на узлы TLS расположенные в ней.

При наблюдении изнутри страны были выявлены только два случая перехвата HTTPS, оба с зондов RIPE Atlas. Оба наших VPS могут получить доступ к уязвимым (атакованным?) сайтам (например, facebook.com) без какого-либо перехвата HTTPS, что говорит о том, что перехват HTTPS не является полномасштабным явлением в границах Казахстана: многие клиенты не получают подставной сертификат даже при подключении к доменам, которые были атакованы.

Исследователи выявили несколько условий, которые должны выполняться для получения подставного сертификата:

  • Путь клиент-сервер должен проходить через определённую часть AS 9198 (KazTelecom), единственной автономной системы, где наблюдалось внедрение ложных сертификатов.
  • Клиент должен отправить расширение TLS SNI, содержащее один из затронутых доменов.
  • Сервер должен предоставить действительный доверенный браузеру сертификат TLS, но не обязательно сертификат для домена, указанного в SNI.

.

При этом данные условия необходимы, но не достаточны: например, исследователи смогли установить соединения, проходящие через AS 9198, которые не видят внедрения ложного сертификата, несмотря на выполнение прочих условий.

По данным компании Census, в Казахстане насчитывается более 200 000 доступных TLS-хостов, но только 6736 из них представляют действующий сертификат, доверенный браузеру. 21 июля исследователи установили связь по протоколу TLS от точки наблюдения в США до каждого из этих 6736 HTTPS-серверов, настроив SNI на facebook.com и google.com – домены, которые, как известно, являли целями перехвата HTTPS-трафика. Они обнаружили, что только 459 серверов (7%) имели подставные сертификаты, что говорит о том, что перехват HTTPS-трафика в Казахстане был осуществлен только на части территории страны.

Специалисты провели такое же сканирование 6736 доверенных HTTPS-серверов с одной из “наблюдательных позиций” на VPS внутри страны и обнаружили, что 1598 из них (24%) получили поддельные сертификаты. Хотя эти хосты находятся в разных местах, путь ко всем этим серверам проходил через AS 9198, а это позволяет предположить, что именно здесь происходит перехват HTTPS-трафика. 22 июля они заметили, что перехват прекратился, но он вновь возобновился через 9 часов. Когда исследователи повторно провели измерения, они заметили, что количество узлов HTTPS, которые отвечали подставными сертификатами, уменьшилось: всего 300 (4,4%) при удаленном анализе из США и 400 (5,9%) с казахстанского VPS. Это указывает на то, что система перехвата всё еще тестируется или настраивается для последующего полномасштабного развёртывания.

.

Анализ на уровне сети

Чтобы определить, где происходит перехват, специалисты использовали метод, основанный на TTL, который часто используется в исследованиях сетей. Для каждого узла HTTPS, на котором мог инициироваться перехват, они установили повторные соединения с различными значениями для поля срока жизни (TTL, Time To Live) IP в пакете, содержащем имя хоста SNI, и записали наименьший TTL, для которого они получили ответ от поддельного сертификата. IP TTL контролирует, сколько транзитных участков может пройти пакет. Поэтому если при установке пакета TTL на 3 перехода не происходит внедрение сертификата, исследователи делали вывод, что инфраструктура внедрения находилась на расстоянии более трех транзитных участков от их исходного компьютера. Этот метод позволил им точно определить расположение инфраструктуры внедрения сертификатов.

Специалисты выполняли такое сканирования с их VPS в Казахстане на 1598 узлах HTTPS, которые они измерили и которые отвечали подставными сертификатами. Для каждого хоста они отправили два соединения, одно из которых содержало заголовок SNI TLS для facebook.com, а другое для незатронутого домена, и измерили первый переход, на который они получили ответ. На полпути во время этого сканирования перехват HTTPS-трафика ненадолго прекратился, но в случае первых 1212 узлов HTTPS, которые они отсканировали до изменения, 99,5% показали, что внедрение сертификата произошло при переходе по сетевому пути раньше, чем на сервере. В большинстве случаев внедрённый сертификат был отправлен только за 3 или 4 транзитных участка до фактического хоста, что указывает на то, что внедрение происходит довольно близко к компьютеру пользователя. Исследователи получили аналогичные результаты при дистанционном исследовании из США с использованием такой же техники.

Глядя на IP-адреса сетевых переходов, где происходит внедрение, они обнаружили, что в 95% случаев последний переход перед внедрением – 92.47.151.210 или 92.47.150.198, а переход после внедрения – 95.56.243.92 или 95.59.170.59. Все эти IP-адреса контролируются AS 9198 (KazTelecom), что говорит о том, что AS 9198 в настоящее время является единственным сетевым узлом, ответственным за внедрение поддельных сертификатов HTTPS.

Пример трассировки прохождения сигнала показан ниже – внедрение сертификата впервые произошло на переходе от 4-го к 5-му участку.

! 1 185.120.76.1

! 2 88.204.195.89

! 3 212.154.195.97

! 4 92.47.151.210

! 5 95.56.243.92

! 6 178.89.110.198

! 7 178.89.110.206

! 8 *

Certificate injection occurred between hops 4 and 5.

.

Внедрённые сертификаты

Исследователи также рассмотрели паттерны в сертификатах, возвращаемых при перехвате HTTPS-трафика. Хотя внедрение сертификата инициируется SNI клиента, возвращаемый поддельный сертификат, по-видимому, основан на действительном сертификате сервера, а не SNI клиента. Это означает, что отправка SNI facebook.com в запросе TLS на несвязанный сайт iqala.kz приводит к внедрению сертификата с CN=iqala.kz. Внедренный сертификат имеет следующие свойства:

  • То же имя субъекта и альтернативное имя субъекта (SAN), что и у исходного сертификата узла.
  • Открытый ключ заменяется ключом RSA-2048 для конкретного хоста с экспонентой 3.
  • Срок действия (не до / не после) такой же, как у оригинального сертификата, но смещен ровно на 6 часов в прошлое.
  • Серийный номер совпадает с оригиналом, но последние 4 байта были изменены.
  • Все остальные расширения x509 удалены.

Сертификат выдаётся промежуточным сертификатом (C = KZ, CN = Security Certificate), который, в свою очередь, подписывается корневым (C = KZ, CN = Qaznet Trust Network). Промежуточным является 2048-битный ключ RSA (с более типичной экспонентой 65537), который действителен в течение 3 лет, в то время как корневой сертификат имеет 4096-битный ключ RSA с 30-летним сроком действия.

.

Особенности цензора

Промежуточное устройство в AS 9198, которое выполняет перехват, должно соединиться с исходным сервером TLS, чтобы получить его настоящий сертификат для проверки и замены. Специалисты использовали RIPE Atlas для отправки соединения TLS на сервер, которым они управляли, и на котором могли захватывать пакеты, полученные с IP-адреса зонда RIPE Atlas. Когда их клиент-зонд устанавливает SNI на домен, не вызывая внедрение сертификата, их сервер видит обычное сообщение CLIENT-HELLO, отправленное зондом RIPE Atlas, у которого есть определенный отпечаток TLS. Однако когда они устанавливают SNI на facebook.com, сервер видит отпечаток TLS, отличный от устройства перехвата HTTPS. В отличие от отпечатка RIPE Atlas, отпечаток TLS в промежуточном устройстве практически не виден в обычном интернет-трафике. Затронутые домены могут использовать этот отпечаток, чтобы сообщить, когда соединение перехватывается, и предупредить пользователя о перехвате, отозвав скомпрометированные учетные данные или не отправляя конфиденциальные данные пользователю.

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

.

Цели атаки

Перехват HTTPS-трафика инициируется переданным клиентом расширением SNI. Из примерно 10000 доменов проверенных Censored Planet 37 инициировали подделку сертификата. Эти домены в основном являются социальными сетями и прочими сайтами для общения пользователей. Их список представлен ниже:

allo.google.com, android.com, cdninstagram.com, dns.google.com, docs.google.com, encrypted.google.com, facebook.com, goo.gl, google.com, groups.google.com, hangouts.google.com, instagram.com, mail.google.com, mail.ru, messages.android.com, messenger.com, news.google.com, ok.ru, picasa.google.com, plus.google.com, rukoeb.com, sites.google.com, sosalkino.tv, tamtam.chat, translate.google.com, twitter.com, video.google.com, vk.com, vk.me, vkuseraudio.net, vkuservideo.net, www.facebook.com, www.google.com, www.instagram.com, www.messenger.com, www.youtube.com, youtube.com

Интернет-провайдеры, предлагающие пользователям установить казахстанский корневой сертификат, утверждают, что он может помочь защитить их от мошенников, попыток взлома и нелегального контента. Тем не менее, исследование Censored Planet показывает, что их действительные намерения заключаются в слежке за пользователями, посещающими популярные сайты.

.

Заключение

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

.

Читайте также: 

Казахстанцы скептически отнеслись к национальному сертификату

.

.

Contacts

For general questions

[email protected]

For legal questions

[email protected]

Contacts for media:

Telegram: moi_fee
Signal: moi_fee.13

18+

On December 23, 2022, the Ministry of Justice included Roskomsvoboda in the register of unregistered public associations performing the functions of a foreign agent. We disagree with this decision and are appealing it in court.