LINUX.ORG.RU

MITM атака с отечественным TLS сертификатом

 ,


3

2

Всем привет!

Вопрос от человека, мало что смыслящего в кибербезопасности.

Я прочитал про то, что после установки нового отечественного TLS сертификата, который используется на сайтах Сбербанка, ГосУслуг и т.д. пользователь подвергает себя риску атаки MITM на весь его трафик.

Собственно, вопрос: каким образом атака может быть проведена на трафик, который не связан с гос. сайтами, например, заходит он на сайт фейсбука, и соединение устанавливается с помощью совершенно другого TLS сертификата, каким образом правительство может получить доступ к такому трафику пользователя? Да и вообще, в чем тогда смысл всей этой канители, если тот же гугл, по этой логике, может встроить в хром свой сертификат и читать абсолютно весь трафик?



Последнее исправление: ribas160 (всего исправлений: 1)

Да и вообще, в чем тогда смысл всей этой канители, если тот же гугл, по этой логике, может встроить в хром свой сертификат и читать абсолютно весь трафик?

Это будет свободное демократическое чтение, а не кровавое тоталитарное, не понимаешь что ли? И вообще, частная компания имеет право делать что хочет ©

alex1101
()
Последнее исправление: alex1101 (всего исправлений: 1)

Тебе подсовывают не доверенный корневой сертификат CA.

Корневыми сертификатами подписывают все прочие сертефикаты. Открываешь ты какой-нибудь сайт по HTTPS и тебе возвращается сертификат сайта, бразуер о нем не знает, но сертификат сайта подписан certificate authority (CA) который есть в списке доверенных у браузера, и потому сертификат сайта считается доверенным.

Если указать браузеру что какой-то левый CA доверенный, то все сертификаты подписанные им будут считаться доверенными. А значит открывая какой-нибудь youtube.com промежуточный шлюз может перехватить запрос и отправить его на прозрачный прокси с которым браузер откроет HTTPS соединение. Бразуер никакого предупреждения не покажет, ведь сертефикат подписан CA из доверенного списка, только это соединение не с сайтом а с прокси. И это позволяет выполнить MITM атаку, прокси сам откроет youtube.com и отправит содержимое ответа твоему бразуеру, но теперь весь проходящий тарфик становится прозрачным для прокси. Прокси может его подменить, модифицировать или просто логировать.

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

Потому разница такая, google может дешифровать свой трафик, потому как они знают приватные ключи своих серетфикатов. ЦРУ может дешифровать твой трафик к google если они завладели приватными ключами сертификатов google. ЦРУ может дешифровать любой трафик отправляющийся через шлюзы подконтрольные США посредством MITM атаки т.е. подменой сертификата. Но они не могут дешифровать соединение из России с сайтом в России если они не имеют доступ к шлюзам и провайдеру. А вот правительство РФ имеет полный доступ к шлюзам и провайдерам в России, потому для россиян они могут проксировать весь трафик из России, делать его прозрачным для дальнейшего анализа или подмены.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от Aber

Получается, я открываю youtube.com на своем компе, запрос уходит на DNS сервер и на этом DNS сервере, по просьбе гос-ва подменяют айпишник youtube.com на айпишник гос. сервера. Этот сервер принимает запрос и устанавливает соединение при помощи своего сертификата. После этого он логирует запрос и формирует новый запрос на реальный сайт youtube.com, идентичный тому что отправил отправил я и для этого используется уже нормальный международный сертификат. И потом ответ от youtube.com идет на мой компьютер по такой же схеме, но в обратном порядке. Верно?

ribas160
() автор топика
Ответ на: комментарий от ribas160

Да.

Можно будет для россиян сделать удобные заглушки, например при попытки открыть facebook.com будет открываться vk.com, а вместо youtube.com будет отправляться ответ от rutube.ru. И никаких страшных предупреждений о несоответствии сертификатов.

Aber ★★★★★
()
Ответ на: комментарий от Aber

И так же, получается, что трафик защищен только от других обычных пользователей сети, а те, кто эти сертификаты создавали и те, кому они передавали ключи сертификатов могут спокойно читать его и абсолютной защищенности трафика нет?

ribas160
() автор топика

Да и вообще, в чем тогда смысл всей этой канители, если тот же гугл, по этой логике, может встроить в хром свой сертификат и читать абсолютно весь трафик?

Я тебе больше скажу, он его туда уже встроил. И не только в хром, но и во все остальные мэйнстримные браузеры. И кроме гугла там ещё куча всяких ещё более сомнительных контор, некоторые из которых кажется уже палились на выпуске фейковых сертификатов.

Так что риск MITM был и раньше, просто раньше это был бы иностранный MITM, а теперь и наш тоже будет.

Впрочем, на самом деле всё ещё хуже и чтоб получить фейковый сертификат даже не надо быть кем-то из списка доверенных CA (он длинный). Но это уже не совсем втихую будет.

firkax ★★★★★
()
Ответ на: комментарий от DanilaZabiakaa

Если я, например, передаю данные внутри своего собственного VPN, то эти данные можно считать защищенными от тех, кто не подключен к приватной сети или его все равно можно каким-то способом перехватить?

ribas160
() автор топика
Ответ на: комментарий от ribas160

Нет. Если сертификат сайта не фейковый то всё хорошо и трафик никто не расшифрует. Установка корневых сертификатов даёт возможность подставлять свои фейковые сертификаты вместо настоящих и их уже расшифровывать.

firkax ★★★★★
()

тот же гугл, по этой логике, может встроить в хром свой сертификат и читать абсолютно весь трафик?

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

thesis ★★★★★
()
Ответ на: комментарий от ribas160

Если ты сам сгенерировал все приватные ключи, никому их не давал, и правильно настроил проверку сертификата на клиентах - можно считать защищёнными. Но учти, если твой впн сервер запущен на чьём-то хостинге, особенно виртуальном (vps) то хостер вполне может прочитать с него ключи.

firkax ★★★★★
()
Ответ на: комментарий от ribas160

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

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от Aber

Тебе подсовывают не доверенный корневой сертификат CA.

А почему остальные корневые сертификаты не левые? Они точно такие же левые.

А вот правительство РФ имеет полный доступ к шлюзам и провайдерам в России

Это - технический бред. Получение копии трафика на оборудование СОРМ - это не «доступ к шлюзам и провайдерам».

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от ribas160

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

То есть прямо на сервере генерируется приватный и публичный ключ, приватный сразу прячешь и даже сам в него не смотришь (а то вдруг монитор кто сфоткает), только приписываешь путь до него nginx'у, а вот из публичного уже заказываешь сертификаты.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от ribas160

Ты когда создаешь сайт с https ты генерируешь сертификат, после чего ты получаешь не только сертификат но и приватный ключ.
Клиенеты (брузеры) когда открывают твой сайт получают сертификат сайта, проверяют что он подписан доверенным CA (список основных CA предустановлен в барузерах).
Дальше клиент генерирует ключ сессии, шифрует его используя твой сертификат (aka публичный ключ) и отправляет его на сервер. На сервере лежит приватный ключ который позволяет расшифровать сообщения зашифрованные публичным ключом. Веб сервер получает ответ от клиента и расшифровывает его посредство приватного ключа, теперь и у клиента и у сервера есть ключ шифрования, и вот он используется для семитысячного шифрования трафика (надеюсь я тут нигде не ошибся).

Т.е. если ты никому не отдал приватный ключ, а держишь его в секрете (о чему везде пишут) то никто не может расшифровать трафик с твоим сервером. Но условное CIA/ЦРУ или NSA/АНБ может устроить MITM атаку с прозрачным прокси, потому как каким-нибудь доверенным CA они владеют и могут подписать любой сертификат, тут главное чтоб клиент не догадался что он соединен с прокси а не с твоим сайтом.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 2)
Ответ на: комментарий от Aber

ты генерируешь сертификат, после чего ты получаешь не только сертификат но и приватный ключ.

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

firkax ★★★★★
()
Ответ на: комментарий от AS

А почему остальные корневые сертификаты не левые? Они точно такие же левые.

Именно. Поэтому весь этот развод лохов на бабки под названием Trusted CA и должен быть уничтожен.

Stanson ★★★★★
()
Ответ на: комментарий от firkax

Возможно

Мне представлялось что у меня на машине получается сертификат и private key, и сертификат отправляется CA для подписи, а pk разумеется хранится в тайне.
Я давно это делал и уже детали не помню, но может что-то минорно напутал.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 3)
Ответ на: комментарий от ribas160

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

Но если ты предъявляешь справки не напрямую, а через третье лицо (местного интернет-провайдера, которого можно принудить подменять справку), то начинается самое интересное. Ты (сайт) предъявляешь юзеру справку, что ты Вася, и печать от госдепа США, а провайдер меняет ее на ту, где написано, что ты - мудак, и печать от, например, ФМС РФ. А юзер доверяет ФМС РФ. И вот ты - с т.з. юзера - официальный мудак, а сам ты об этом даже не подозреваешь.

thesis ★★★★★
()
Последнее исправление: thesis (всего исправлений: 3)
Ответ на: комментарий от ribas160

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

Тебе тут правильно сказали, Private Key (PK) ты генерируешь на сервере и никому не отдаешь.
Хотя я слышал что какие-то CA представляют «удобную слугу» сгенерировать и сертификат сайта и pk. Решение под ключ [приватный :)], но это видно если пользователь вообще не разбирается и админов нету.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 2)

Собственно, вопрос: каким образом атака может быть проведена на трафик

К тебе домой приходит тащ. майор и ты всё добровольно рассказываешь. Сертификат в этой атаке не применяется.

ox55ff ★★★★★
()

Сколько уже было подобных тем с одними и теми же вопросами и одинаковыми ответами. Особенно поражают «ой, гугель и так за тобой следит…». Только вот в отличие от гос-ва, гугель не может завернуть весь твой трафик на свои mitm-прокси. А гос-во может, ведь уже несколько лет как действуют навязанные провайдерам ТСПУ+НСДИ (и не надо путать с СОРМ).

ТС, добавляя корневой сертификат минцифры в системное хранилище, будь готов поделиться с тов.майором всем своим ssl трафиком.

shtain
()
Ответ на: комментарий от iZEN

ЛОЛ =) Ты статью по ссылке читал? Цитата:

  • Не надо бездумно добавлять сертификаты в список доверенных CA! А это очень просто сделать в Windows, запустив на выполнение файл с расширением «CRT». Ведь, если в списке окажется сертификат злоумышленника, то он сможет организовать, так называемую, атаку MITM (Man-in-the-middle) и незаметно читать все сообщения в соцсетях и мессенджерах, получать пароли от банковских систем.

  • Как понять, что используется сертификат злоумышленника? Смотрим на сертификат сайта и видим, что его выдал CA не из эталонного списка, а попавший туда позже. На картинке ниже видим Касперского на сайте Росбанка. Касперский явно не является доверительным CA из списка браузера. Отсюда делаем вывод, что он установил свой сертификат позже. Но Касперскому мы верим, что он ничего плохого делать не будет, а просто проверит на вирусы!)

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

В примере выше антивирус Касперского делает MITM атаку, но автор статьи ему доверяет потому для него это не проблема.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от AS

Пропустил твой ответ.

А почему остальные корневые сертификаты не левые? Они точно такие же левые.

Левые, но у них на западе содружество лицемеров. А у нас империя лжи :) Т.е. если откроется что какой-то CA используется для MITM то все на западе будут делать большие глаза - «а кто это сделал? ой-ой-ой. Не хорошо то как!».
А у нас даже не замарочатся и будут отдавать rutube.ru вместо youtube.com.

Вот только если тебя когда-нибудь ломанут, типа вдруг исчезнут деньги со счета инет-банка, причем сикурити банка будут разводить руками, мол вы все сделали сами.

То наверное тебя начнет гложить мысль а не завелся ли в хорошем государственном органе плаща и кинжала какой-то плохой криминальный элемент…

Товарищ Сталин произошла чудовищная ошибка!

Всем будит пофиг пока это не станет массовым явлением.

Получение копии трафика на оборудование СОРМ

COPM стоит у провайдеров, потому как одно отделить от другого? Я знаю только что есть обычные провайдеры «последней мили», есть магистральные. Я в их кухне не разбираюсь и не знаю где и как они трафик анализируют/пишут/ фильтруют.

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)
Ответ на: комментарий от ribas160

Если я, например, передаю данные внутри своего собственного VPN, то эти данные можно считать защищенными

Тут читал, что в Израиле придумали как превратить подключенный SATA кабель в радиопепедатчик)))

Если долго обо всем этом думать, можно и с ума сойти.

А еще можно повысить процент использования оффлайн технологий, типа оффлайн софта, книг, приставок, флешек, дисков.

DanilaZabiakaa
()
Ответ на: комментарий от Aber

Каждый сертификат CA имеет свою зону ответственности: он подтверждает подлинность только тех сертификатов сайтов, к которым обращается пользователь, сертификаты которых заверены этим CA, а не всех сайтов, которые посещает пользователь. Сертификат Минцифры подтверждает подлинность сертификатов государственных служб РФ и российских банков, но не Youtube и Amazon - сертификаты последних заверены другими CA, провести атаку MITM для них можно путём подделки браузера пользователя, подмены строки адреса в передаваемых запросах, но никак не сертификатов CA, которые у них собственные и независимы от CA Минцифры РФ.

Пользователю прежде всего нужно видеть адрес сайта в адресной строке и сертификат сайта, с которым он в данном случае имеет дело. Всё это доступно в современных браузерах изначально. Сам код браузера получать из доверенного источника, а не на файлопомойке. Так что не нужно лохматить бабушку.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от DanilaZabiakaa

Тут читал, что в Израиле придумали как превратить подключенный SATA кабель в радиопепедатчик))) Если долго обо всем этом думать, можно и с ума сойти.

Лайфхак. Храню все важные данные в голове, а когда нужно - забываю. Никакие уязвимости и утечки невозможны.

А еще можно повысить процент использования оффлайн технологий, типа оффлайн софта, книг, приставок, флешек, дисков.

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

Zadoff386
()
Ответ на: комментарий от ribas160

И так же, получается, что трафик защищен только от других обычных пользователей сети, а те, кто эти сертификаты создавали и те, кому они передавали ключи сертификатов могут спокойно читать его и абсолютной защищенности трафика нет?

Для того, чтобы защититься от злонамеренного удостоверяющего центра (это как раз те люди, «кто эти сертификаты создавали»), существует механизм Certificate Transparency (RFC 6962). Каждый удостоверяющий центр должен складывать хеши всех выпущенных им сертификатов в специальные публичные логи, устроенные способом, похожим на блокчейн: туда можно дописывать, но вытащить потом из середины что-то проблематично.

Вот, например, сертификат Гугла, как его вижу я (другие могут видеть другой, это нормально): https://crt.sh/?id=7644589279.

Он есть в четырёх публичных логах: Cloudflare, сам Google, LE, Sectigo. Если какой-то публичный удостоверяющий центр выпустит сертификат, которого не будет в публичных логах, это может оказаться концом этого удостоверяющего центра. Наличие сертификатов в логах браузеры Chrome и Safari проверяют автоматически. Там есть всякие нюансы, на полиси можно посмотреть тут https://chromium.googlesource.com/chromium/src/+/master/net/docs/certificate-transparency.md и тут https://support.apple.com/en-gb/HT205280.

Вот, например, сертификат LOR: https://crt.sh/?id=7678321042. Он всего в двух логах, оба гугловых. Но он новый и короткоживущий, для них есть послабления в полиси.

Needless to say, никакого certificate transparency у сертификата Минсвязи нет.

ivlad ★★★★★
()
Последнее исправление: ivlad (всего исправлений: 1)
Ответ на: комментарий от ribas160

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

Почитайте основы асимметричной криптографии. Сертификат - это по сути открытый ключ заверенный УЦ. Клиент (в данном случае владелец web-ресурса) сам создаёт пару открытый-закрытый, закрытый оставляет у себя, а открытый в виде определённого запроса направляет в УЦ, который и выдаёт сертификат.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)
Ответ на: комментарий от iZEN

Пользователю прежде всего нужно видеть адрес сайта в адресной строке и сертификат сайта, с которым он в данном случае имеет дело. Всё это доступно в современных браузерах изначально. Сам код браузера получать из доверенного источника, а не на файлопомойке. Так что не нужно лохматить бабушку.

Это ерунда, разумеется.

Ничто не мешает DNS серверу отдать другой IP адрес в ответ на DNS запрос. На возражение, «но DoH», могу сказать, что ничто не мешает провайдеру заблокировать DoH серверы, больше того, некоторые так и делают, после чего браузер вернется сам на разрешение имён через системный DNS, что позволит таки провайдеру его подменить.

ivlad ★★★★★
()
Ответ на: комментарий от iZEN

Каждый сертификат CA имеет свою зону ответственности

Почему то исходишь из предположения, что ркн не будет генерировать сертификаты для «чужой» зоны ответственности. В сертификат можно вписать любое доменное имя и браузер будет ему доверять благодаря действительной trusted chain.

Именно так и делали в энтерпрайзе для блокировки всяких соц.сетей через Squid до появления SNI. Прокси на лету генерирует сертификаты для посещаемых пользователями сайтов и анализирует трафик, а клиентам пропихивался корпоративный, доверенный CA.

Кое-как может спасать pinning, но не везде.

shtain
()
Ответ на: комментарий от shtain

До сих пор делают, на уровне лоад балансеров похожую схему используют с TLS Termination и добавлением доп заголовка в оригинальный запрос

sparks ★★★
()
Последнее исправление: sparks (всего исправлений: 1)
Ответ на: комментарий от ivlad

Needless to say, никакого certificate transparency у сертификата Минсвязи нет.

То есть ты живёшь в России и не доверяешь ни одному государственному правовому институту (и банкам), так как за твоими диалогами с ними следит ФСБ и всё пишет, вплоть до точек над «ё», я правильно понял высказанную мысль?

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

То есть ты живёшь в России и не доверяешь ни одному государственному правовому институту (и банкам), так как за твоими диалогами с ними следит ФСБ и всё пишет, вплоть до точек над «ё»

Качество может быть сомнительное. Плюс, основная директива оборудования - работать на благо людей.

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

Лично я за рост оффлайн игрушек, денди топ 😎

DanilaZabiakaa
()
Ответ на: комментарий от iZEN

Я не живу в России. Кроме того, мое доверие к банкам вообще никакого отношения к возможности удостоверяющего центра Минсвязи выпускать произвольные сертификаты не имеет. (Около)государственные УЦ уже попадались на выпуске чужих сертификатов, так что я не вижу особых причин им доверять.

ivlad ★★★★★
()
Последнее исправление: ivlad (всего исправлений: 1)
Ответ на: комментарий от Aber

Хотя я слышал что какие-то CA представляют «удобную слугу» сгенерировать и сертификат сайта и pk

регру например, прямо на почту все высылает… главное с пометкой, что это все «тайная тайна» и никто этого не должен увидеть.

usi_svobodi
()
Ответ на: комментарий от no-dashi-v2

Подпись это главная часть сертификата, так что его генерит именно тот кто делает подпись. А владелец ему предоставляет свои данные для заполнения.

firkax ★★★★★
()