FLYING PIG: TLS/SSL knowledge base

FLYING PIG: TLS/SSL knowledge base

Документы организации ICTR-NE (Information and Communications Technology Research - Network Exploitation), входящей в состав GCHQ, свидетельствуют о том, что используется программа под названием FLYING PIG, которая предоставляет информацию о засекреченной связи через TLS/SSL. Главный аргумент в пользу этой программы – нарастающая популярность использования TLS/SSL среди «клиентов» GCHQ (опять же согласно одному из документов).

Автор: Koen Rouwhorst

Документы организации ICTR-NE (Information and Communications Technology Research - Network Exploitation), входящей в состав GCHQ, свидетельствуют о том, что используется программа под названием FLYING PIG, которая предоставляет информацию о засекреченной связи через TLS/SSL. Главный аргумент в пользу этой программы – нарастающая популярность использования TLS/SSL среди «клиентов» GCHQ (опять же согласно одному из документов).

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

Рисунок 1: Интерфейс приложения FLYING PIG

Помимо вкладки «Query FLYING PIG» в пользовательском интерфейсе присутствуют еще две вкладки: «HRA Justification» и «Query QUICK ANT». Вкладка HRA Justification (аббревиатура HRA предположительно означает Human Rights Act 1998, см. подробности), возможно, снабжает аналитика обоснованием на использование FLYING PIG и запросов QUICK ANT. Третья вкладка «Query QUICK ANT - Tor events QFD», где QFD означает Question Focused Dataset (или набор данных, отвечающих на вопрос аналитика), представляет собой интерфейс предположительно похожий на основной интерфейс FLYING PIG, который позволяет аналитику делать запросы QUICK ANT (запросы, связанные с протоколом Tor). В этой статье не рассматриваются ни HRA Justification, ни QUICK ANT. Относительно QUICK ANT вообще нет никакой дополнительной информации.

Информация о клиенте

Используя FLYING PIG, можно получить информацию о клиенте, сервере, сети или сертификате сервера. В этом разделе я опишу функцию, позволяющую получить данные о клиенте по его IP-адресу (в нашем случае это адрес вида xx.xx.xx.127). Получаемая информация представляет собой детальные данные о клиенте и SSL-серверах, которые посетил этот клиент.

Рисунок 2: Запрос информации по IP-адресу клиента

Общая информация об IP-адресе

На первой панели представлена общая информация о клиенте (географическое положение и принадлежность к определенной сети). В нашем примере IP-адрес соответствует имени «groupon.kr» и находится в сети провайдера Korea Telecom. В поле «AS info» находится информация об IP-адресе объединенной автономной системы (autonomous system, AS), которая в основном представляет собой сеть (или группу сетей) под единым административным контролем. Если бы сервер был Tor-узлом, в поле «Tor» отобразилась бы информация об этом узле из QUICK ANT.

Рисунок 3: Общая информация о клиенте

Местонахождение

Страна:

Южная Корея

Город:

Сеул

WHOIS

Сеть:

xx.xx.xx.0/20

Тип сети:

Нет результатов

Компания:

Korea Telecom

Домен:

groupon.kr

Информация об автономной системе

Advertised by AS:

4766

Найдено внутри сети:

xx.xx.0.0/13

Имя:

KIXS-AS-KR Korea Telecom

DNS

Нет результатов

Tor-узел

Нет совпадений

Посещенные SSL-сервера

Еще одна панель, на которой отображается информация, относящаяся к клиенту, - посещенные SSL-сервера. Помимо информации о сервере, отображается дата первого и последнего посещения, общее количество визитов и тип соединения между клиентом и сервером (оба направления, client-to-server, или server-to-client). В таблице ниже в основном показаны визиты на сервера компании Mail.Ru. Также обратите внимание на посещение сервера Mozilla (третья строка снизу), когда сервер соединялся с клиентом (тип соединения server-to-client). В остальных же случаях клиент соединялся с сервером (тип соединения client-to-server). IP-адрес сервера Mozilla преобразуется к имени «snippets.zlb.nl.mozilla.com» (сразу же приходит на ум about:home), что могло бы объяснять тип соединения server-to-client.

Рисунок 4: Информация о посещенных SSL-серверах

IP-адрес сервера

Местонахождение сервера

Информация о компании

94.100.184.14

Russia

Mail.Ru

94.100.184.17

Russia

Mail.Ru

94.100.184.16

Russia

Mail.Ru

94.100.184.15

Russia

Mail.Ru

63.245.213.87

Netherlands

Mozilla Corporation

94.100.181.127

Russia

Mail.Ru

94.100.191.213

Russia

Mail.Ru

Информация о сервере

В этом разделе я опишу функционал, позволяющий получать информацию по IP-адресу сервера (в нашем случае это сервер Mail.Ru с IP-адресом 94.100.184.14). Среди прочего, можно получить статистику о SSL-трафике, SSL-сертификатах, привязанных к этому IP-адресу, и самые популярные HTTP-запросы.

Рисунок 5: Функция, позволяющая получить информацию о сервере

Общая информация об IP-адресе

На этой панели показывается общая информация о сервере, например, географическое местонахождение (в нашем случае Москва, Россия) и сеть, к которой относится сервер. Если бы сервер был TOR-узлом, в поле «Tor» появилась бы информация об этом узле (полученная из QUICK ANT). В данном примере IP-адрес преобразуется к имени «mail.ru» и принадлежит сети Mail.Ru, одной из самых крупных интернет-компаний в мире. Тот факт что Mail.RU (наряду с Facebook, Google, и Twitter) указана в документе NSA о программе XKEYSCORE, подчеркивает значимость этой компании.


Рисунок 6: Панель с информацией об IP-адресе сервера

Местонахождения

Страна:

Россия

Город:

Москва

WHOIS

Сеть:

94.100.176.0/20

Тип сети:

Нет результатов

Компания:

Mail.Ru

Домен:

mail.ru

Информация об автономной системе

Advertised by AS:

47764

Найдено внутри сети:

94.100.176.0/20

Имя:

MAILRU-AS Limited liability company Mail.Ru

DNS

Нет результатов

Tor node

Нет совпадений

10 самых популярных месторасположений SSL-клиентов

Гистограмма ниже показывает 10 самых популярных месторасположений, откуда клиенты соединяются с сервером (в данном случае это страны, обозначенные двухбуквенным кодом).

Рисунок 7: Распределение SSL-клиентов по странам их месторасположения

10 самых популярных SSL-портов, используемых сервером

Скорее всего, для вас не будет сюрпризом, что все клиенты подсоединяются к серверу через 443-й порт (это стандартный SSL-порт).

Рисунок 8: Статистика по SSL-портам, к которым подключаются клиенты

10 самых популярных групп перехваченных запросов

Все перехваченные сигналы группируются по определенным признакам, которые характеризуют перехватываемую цель. Гистограмма «overall» (слева) показывает 10 наиболее часто упоминаемых признаков, отсортированных по количеству перехваченных сигналов, соответствующих каждому признаку. В чем суть панели «paired» (та, которая справа) я так и не понял.

Рисунок 9: Статистика SSL-признаков, отсортированных по количеству перехваченных сигналов

Статистика SSL-трафика

На рисунке ниже показана диаграмма со статистикой SSL-трафика за неделю. Диаграмма показывает процентное распределение трафика по типу соединения (client-to-server, server-to-client или двустороннее соединение). В нашем примере, за неделю к системе подключилось 104,317 уникальных SSL-клиентов. Также сообщается, что 14,7% IP-адресов использовали двустороннее соединение (client-to-server и server-to-client).

Рисунок 10: Статистика SSL-трафика

SSL-сертификаты, привязанные к IP-адресу

В таблице ниже показаны SSL-сертификаты, привязанные к определенному IP-адресу (в данном случае к IP-адресу 94.100.184.14 компании Mail.Ru). Примечательно, что в этом списке указан сертификат VKontakte (компания Mail.Ru владеет частью этой социальной сети).

Рисунок 11: Перечень сертификатов, привязанных к определенному IP-адресу

Впервые использовался

В последний раз использовался

Число обращений

Имя сертификата

Имя эмитента

2011-09-22

2011-11-25

> 2.3 million

*.mail.ru

Thawte SSL CA

2011-08-08

2011-11-05

> 1.4 million

*.mail.ru

Thawte SSL CA

2011-11-16

2011-11-16

1

*.vkontakte.ru

Go Daddy Secure Certificate Authority

Поведение клиентов

Еще одна панель показывает «среднестатистическое поведение клиента» на основе SSL-событий, происходящих на определенном сервере. В таблице ниже показаны HTTP-события сервера, отсортированные по частоте их возникновения.


Рисунок 12: Перечень событий, происходящих на сервере

Связанное событие

IP-адрес

Порт

Процент случаев появления события

GET request to top3.mail.ru

217.69.135.12

80

29.1

GET request to top5.mail.ru

217.69.135.13

80

15.1

GET request to de.c2.bf.a1.top.mail.ru

217.69.134.253

80

14.2

GET request to my.mail.ru

94.100.184.40

80

13.2

GET request to my.mail.ru

94.100.184.41

80

12.9

GET request to stat.my.mail.ru

94.100.184.41

80

10.8

GET request to stat.my.mail.ru

94.100.184.41

80

10.5

GET request to mrimraker1.mail.ru

94.100.189.183

80

10.4

100 самых активных клиентов сервера

На рисунке ниже показаны 100 самых активных клиентов, которые соединялись с сервером Mail.Ru (94.100.184.14). Можно наложить фильтр, чтобы исключить клиентов из определенных стран, путем ввода двухсимвольных кодов стран, разделенных символом нижнего подчеркивания. В нашем примере при наложении фильтра «GB_US_CA_NZ_AU» исключаются SSL-клиенты из Великобритании, США, Канады, Новой Зеландии и Австралии. Еще один фильтр, упомянутый в тексте инструкции, - «PK_IR_IQ», который исключает клиентов из Пакистана, Ирана и Ирака.


Рисунок 13: Наиболее активные SSL-клиенты на сервере

IP-адрес клиента

Страна

Компания клиента

xx.xx.xx.212

Spain

Telefónica de España, S.A.U. (rima-tde.net)

xx.xx.xx.1xx

Spain

R Cable Y Telecomunicaciones Galicia, S.A. (mundo-R)

xx.xx.xx.111

Germany

Bertelsmann IT

xx.xx.xx.56

Norway

Telenor Nextel AS (telenor.net)

xx.xx.xx.38

[client country]

Vodafone ISP

xx.xx.xx.114

Germany

Bertelsmann IT

[client IP]

[client country]

[client company]

[client IP]

[client country]

[client company]

xx.xx.xx.152

Ecuador

EcuadorTelecom S.A.

xx.xx.xx.186

Ireland

Vodafone ISP

xx.xx.xx.9

Malaysia

TMNET

[client IP]

South Korea

[client company]

xx.xx.xx.53

Malaysia

Core IP Development

[client IP]

[client country]

[client company]

xx.xx.xx.41

Ireland

UTV plc

[client IP]

[client country]

[client company]

xx.xx.xx.38

Brasil

Comitê Gestor da Internet no Brasil

xx.xx.xx.87

South Korea

Korea Telecom

xx.xx.xx.156

South Korea

Korea Telecom

xx.xx.xx.1

Ireland

Vodafone ISP

Получение информации о сети

Программа позволяет получать информацию о сети (например, через CIDR). В результатах запроса отображаются все SSL-клиенты и сервера, относящиеся к определенной сети, или все HTTP-запросы, выполняемые IP-адресами, которые принадлежат этой сети (в нашем случае это сеть xx.xx.xx.0/24).

Рисунок 14: Запрос информации о сети

Общая информация о сети

Если есть возможность, то на панели отображается общая информация о сети, например, ее географическое расположение. Сеть, упомянутая в этом примере, находится в Сеуле.

Рисунок 15: Информация об определенной сети

Местонахождение

Страна:

Южная Корея

Город:

Сеул

WHOIS

Сеть:

Нет результатов

Тип сети:

Нет результатов

Компания:

Нет результатов

Домен:

Нет результатов

Информация об автономной системе

Advertised by AS:

Нет результатов

Найдено внутри сети:

Нет результатов

Имя:

Нет результатов

SSL-клиенты в сети

На этой панели показаны все SSL-клиенты, которые, в какой-то момент времени, присутствовали в определенной сети. Обратите внимание на второй заголовок таблицы, в котором говорится, что информация о компании клиента берется из репозитория «GEOFUSION», который упоминается в презентации CSEC (восьмая позиция в списке). Этот репозиторий содержит геолокационные данные.

Рисунок 16: Панель с информацией о SSL-клиентах сети

IP-адрес клиента

Информация о компании клиента

Первый раз был замечен

Последний раз был замечен

[client IP]

Korea Telecom: mailplug.co.kr

2011-09-04

2011-09-04

[client IP]

[client company information]

2011-10-26

2011-11-23

[client IP]

[client company information]

2011-10-22

2011-10-22

Сертификаты

Программа позволяет запрашивать информацию по метаданным сертификата, например, по полям «subject», «issuer» или «RSA modulus» (компонент публичного ключа). По умолчанию отображаются и HTTP-запросы и сертификаты, соответствующие параметрам запроса.

Рисунок 17: Запрос информации о сертификатах

Информация о HTTP-запросах

Панель на рисунке ниже показывает все HTTP-запросы, которые соответствуют условию «%mail.ru». Колонки «First seen» и «Last seen» соответственно указывают время первого и последнего появления запроса на сервере. Оставшиеся две колонки, «Count w/o 25th new» и «Count all time», указывают количество запросов к серверу за последнюю неделю (например, от 25 ноября до 1 декабря) или за все время соответственно. К примеру, за шестинедельный период в конце 2011 года более 42 миллионов запросов было послано только к одному хосту (94.100.184.105, swa.mail.ru).

Рисунок 18: Панель с перечнем HTTP-запросов, удовлетворяющим соответствующим критериям

IP-адрес сервера

Имя хоста

Первое обращение

Последнее обращение

Количество обращений

94.100.184.105

swa.mail.ru

2011-10-13

2011-11-25

> 42 million

94.100.184.104

swa.mail.ru

2011-10-13

2011-11-25

> 36 million

217.69.135.201

fc.ef.d4.cf.bd.a1.top.mail.ru

2011-10-13

2011-11-25

> 16 million

217.69.135.13

top5.mail.ru

2011-10-14

2011-11-25

> 14 million

217.69.135.12

top3.mail.ru

2011-10-14

2011-11-25

> 12 million

Информация о сертификатах

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

Существует и более расширенное представление о сертификатах, где выводится информация об компоненте публичного ключа (RSA modulus) и подробные данные о выдаче комплекта шифров (cipher suite distribution).


Рисунок 19: Панель, отображающая информацию о сертификатах

Срок начала действия

Срок окончания действия

Количество использований

Имя

Эмитент

Самоподписанный

2011-01-31

2012-03-27

> 15 million

*.mail.ru
Russia
LLC Mail.Ru

Thawte SSL CA
United States
Thawte, Inc.

No

2010-01-21

2011-01-20

> 1 million

*.mail.ru
Russia
LLC Mail.Ru

Thawte Premium Server CA
South Africa
Thawte Consulting cc

No

2011-09-25

2013-11-25

> 30,000

*.money.mail.ru
Russia
LLC Mail.Ru

Thawte SSL CA
United States
Thawte Inc.

No

2010-01-25

2012-01-27

> 8,000

mail.ru.is
Iceland
mail.ru.is

[common name]
United States
[organization name]

No

2011-03-04

2012-03-03

> 1,000

[common name]
United States
[organization name]

[common name]
United States
[organization name]

Yes

2011-09-27

2012-09-25

> 1,000

mail.ru-com-ru
-
mail.ru-com.ru

Thawte DV SSL CA
United States
Thawte, Inc.

No

2010-02-12

2012-11-08

> 1,000

mx1.shogo-mail.ru
Russia
Shog

shogo.ru
Russia
Shogo

No

2011-09-15

2012-09-14

> 600

imgs.mail.ru
Russia
[organization name]

[common name]
[country]
[organization name]

No

2011-10-05

2014-10-04

> 300

[common name]
Russia
[organization name]

mail.ru
[country]
mail.ru

Yes

2011-09-15

2012-09-14

> 200

auth.mail.ru
Russia
[organization name]

[common name]
[country]
[organization name]

No

Заключение

FLYING PIG – приложение, которое позволяет аналитику обращаться к огромному репозиторию компании GCHQ, содержащее метаданные о защищенных коммуникациях через TLS/SSL во всем мире. Естественно, при помощи этого приложения компания GCHQ (и в частности NSA) не выполняет MITM-атаки (или атаки типа man-in-the-middle) против сервисов наподобие Google, как сообщают некоторые товарищи, включая Брюса Шнайера. Отчеты, в которых утверждается, что NSA выполняет MITM-атаки против Google, основываются на небольшой части документа, в котором описывается вариант использования приложение FLYING PIG (которое, как вы могли заметить, не является программой NSA). Однако это не означает, что GCHQ не выполняет MITM-атаки, но в этом документе доказательства отсутствуют. Хотя FLYING PIG может использоваться для подготовки MITM-атак, путем сбора информации о жертве. 

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться