loremOS Admin

"Системное администрирование – это культура"

HTTPS там, HTTPS тут. Повсюду. А стоит ли оно того?

Опубликовано 2nd Oct 2018 00:56:13 в категории Трёп

Здравствуй, дорогой друг! Наверняка ты знаешь, что есть такая штука, как HTTPS. Да все уже, наверное, знают. Более того, всех нас уже чуть ли не с пеленок начинают пугать тем, что без HTTPS соединение небезопасно, а с ним чувствуешь ты себя в безопасности, "горит зеленый замочек в адресной строке браузера", значит ты защищен. И более того, с недавних пор даже браузер ругается на то, что не_HTTPS. Лично я считаю это издевательством. Почему? Потому что HTTPS это не более, чем ИЛЛЮЗИЯ БЕЗОПАСНОСТИ. Ты скажешь, что я неправ, что HTTPS безопасен, защищает от разных Петь, Вась и т.п. персонажей-кулцхакеров. Может быть и так, но смотри шире, любезный. Спроси себя, что же оно такое, это HTTPS. Это Secure HTTP. Но вот незадача... Вся безопасность основана на доверии третьей стороне. Прости, друг, но включи логику, и подумай, где же тут пахнет безопасностью? Представь, что есть некий секрет, очень важный, написанный где-то на листке бумаги, и тебе нужно его прочесть, никому не рассказывая. Ты просто берешь и читаешь, цель достигнута. Но вдруг рядышком появляется еще один персонаж, который вроде как подтвердит, что можно доверять этому листку с секретом, и вроде как даже защитит от посторонних. Но ведь он сам находится рядом с тобой, не так ли? Но ты должен ему довериться, потому что так надо. Всё ещё думаешь, что это брехня? Ок. Поговорим по-другому.
Что-нибудь слышал про реверсивные и форвардинговые прокси? Если нет, рекомендую прямо сейчас погуглить | пояндексить. На пути к таким сервисам, как Whatsapp, Viber и т.п. есть такие прокси. Есть CDN. 
curl -v https://web.whatsapp.com:443
* Server certificate:
..................
* subjectAltName: host "web.whatsapp.com" matched cert's "*.whatsapp.com"
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 High Assurance Server CA
..................
< via: HTTP/1.1 169.44.85.94:443 (fwdproxy2/1c2f379af52c43d69ec631c438cb68b2 69.171.251.10)

То, что не особо интересно, я вырезал, можешь сам проверить. Так вот, мы видим тут, во-первых, что имеет место wildcard сертификат, во-вторых, без палева, fwdproxy. Абсолютно любой кэширующий прокси, форвардинговый или реверсивный, в случае кэширования HTTPS, способен перешифровывать трафик и кэшировать его в расшифрованном виде. Расшифрованный трафик виден, может быть проанализирован, привязан к конкретному пользователю и выдан по запросу. HTTPS безопасен и приватен  только до точки терминирования TLS-трафика, то есть до ближайшего прокси. 

Можно ещё и про Корпорацию Добра рассказать. Google имеет свой собственный PKI и корневой сертификат Google Internet Authority G3, подписанный rootCA, установленным по умолчанию в любое устройство в Мире. Этим сертификатом может быть расшифрован любой HTTPS-трафик. А если мы вспомним, что по закону, серверы Google есть в РФ, то станет ясно, как это можно использовать, не так ли? К тому же, у Google есть такая вещь, как GGC (Google Global Cache), а Google Global Cache-инстанты стоят локально в ISP всех стран, не только РФ... И как ты думаешь, каким образом GGC хранит кеш? Правильно, в расшифрованном виде, и эти логи | файлы | метаданные, которые там хранятся, вполне привязаны к пользователям, которые запрашивают контент.

Хотелось бы затронуть еще и тему LE. Да, это та самая контора, которая предоставляет бесплатный HTTPS сертификат. Ну так, а мы ведь говорим про безопасность, верно? А какова всё-таки процедура получения сертификата в LE? Грубо говоря:
-- Дратути! Я Петя Васечкин! Мне надо сертификат HTTPS!
--- А Вы точно Петя Васечкин?
-- Да а кто же!? Конечно же я Петя Васечкин!
--- А, ну тогда ладно, на, бери...

Уловил мысль? Какая здесь, прости, безопасность? Не более, чем зеленый замочек в адресной строке! Никто не гарантирует в данном случае, что этот самый Петя не какой-нибудь Василий Попочкин! И что трафик до него безопасен! 

Почему-то, со мной долго спорят порой, что HTTPS=e2e. Вы, простите, с какой планеты прилетели? Какой же это e2e? Здесь, как минимум, есть третья сторона, что уже не e2e вовсе. К тому же, как я написал выше, есть реверсивные | форвардинг | кеш прокси, которые вполне отлично "видят" весь HTTPS трафик в открытом виде, что недопустимо в e2e. Хороший пример e2e - это SSH. Это действительно e2e. Здесь нет третьей стороны, мы вполне запомним визуальный отпечаток ключа, да и ssh клиент его тоже помнит, и при изменении отпечатка (к примеру, если производится атака)  ssh клиент сразу же заругается на изменившийся отпечаток и не даст подключиться. В случае HTTPS, когда прокси перешифровывает трафик "правильно", никто даже и не заподозрит ничего. Я уже, кстати, писал про Viber и его махинации с трафиком, советую почитать.

Ах да, в конце я еще скажу, что Akamai и Cloudflare - это тоже CDN, построенные на реверсивных кэширующих прокси. И да, серверы Cloudflare, к примеру, есть и в РФ. Я уже выше писал, чем это чревато. 

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


Поделиться:


Теги