MITM - что это? Реальная проблема, или миф?
От: Voblin Россия http://maslyaew.narod.ru/
Дата: 06.02.17 19:39
Оценка: 10 (2)
Всем привет.

Хотелось бы разобраться в subj.

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

В первую очередь обращает на себя внимание, что товарищ М должен полностью перекрыть собой канал между А и Б. Иногда (например, если https запущен через коробочку СОРМ) это реально, но в общем случае — нет. Если А и Б — живые люди, а не программные модули, то они могут банально созвониться по телефону и сверить контрольные суммы своих открытых ключей. В этом случае у М нет ни единого шанса.

Ещё обращает на себя внимание то, что MITM-схема работает только в том случае, если процедура обмена ключами проста, прямолинейна и не содержит в себе никаких элементов неопределённости. Если А и Б вынесут дополнительные телодвижения по части противодействия MITM с того уровня модели OSI, где они обычно обитают, куда-нибудь повыше (например, в прикладной уровень), то у товарища М опять же возникают серьёзные проблемы. Предположим, А и Б обменялись открытыми ключами, но не спешат обмениваться сверхсекретными шифровками. Невинно беседуют о погоде. И вдруг неожиданно Алиса шлёт Бобу кусок нечитаемого бинарника со словами "что это такое — потом скажу". У Майора паника, ведь это может быть что угодно. Это может быть новый ключ Алисы, или половина шифровки с контрольной суммой её теперешнего ключа, или половина шифровки с картинкой котика. Что Майору делать? Подменять бинарник на что-то своё? Тормозить передачу данных Бобу и слать Алисе ответ "ОК, получил"?

Понятное дело, что наилучшая MITM-стратегия, расколоть которую Алисе будет особо проблематично — это товарищу Майору самому притвориться Бобом и полностью исключить его из общения. Но при этом никакого "in the middle" не получается. По сути, Майору придётся внутри своего СОРМа выстроить весь прикладной уровень Боба. В частности, если Боб — это Фэйсбук, то Майору нужно научиться генерить правдоподобную выдачу алисиной ленты. А это уже слегка сложнее простой классической манипуляции ключами.

Самое смешное в истории с MITM то, что для противодействия этой "страшной напасти" сделано аж два решения, оба из которых плохие:
1. Централизованная PKI. Безоговорочно победивший вариант. Если вдруг кто не в курсе, основная идея в том, что назначаются специально обученные субъекты, которым все безоговорочно доверяют.
2. Сеть доверия в стиле PGP. Решение не прижилось по причине того, что никто так и не придумал, как эту штуку сделать надёжной и понятной.

К безоговорочно победившей централизованной архитектуре PKI можно предъявить следующие претензии:

1. Мы, простые честные пользователи, подписались доверять неизвестно кому. Откройте список корневых центров сертификации на своём компьютере и просто его почитайте. Всем ли фигурантам этого списка вы доверяете? Или хотя бы слышали о них? Весьма любопытный список. Названия некоторых компаний даже не понятно, как читать. Не хочу сказать ничего плохого ни о ком из них. Наверняка все они очень достойные юрлица. Но проблема в том, что я по факту им безоговорочно доверяю, ничего о них не зная.

2. Тема "гражданская криптография" по факту оказалась монополизирована крупными игроками рынка сертификации. Никто мне, конечно, не мешает сгенерить ключевую пару и обмениваться шифровками с каким-нибудь таким же фриком. Но если я приду в свой банк с предложением использовать для обмена этот свой ключ, сотрудники банка даже не поймут, на что я их пытаюсь сподвигнуть. Все знают, откуда берутся файлики с расширением "cer", и о том, что они могут браться откуда-то ещё, людям если и известно, то только теоретически. Сейчас единственный не маргинальный способ начать использовать криптографию — это сначала сходить на поклон в сертифицированный удостоверяющий центр. С паспортом.

3. Сейчас самая простая и реально работающая MITM-схема как раз и реализуется через внедрение поганки в список корневых центров сертификации. Или, что даже ещё проще, путём создания промежуточного центра сертификации, который сначала будет вести себя как приличный, а потом выдаст плохим парням поддельный сертификат, например, на "*.facebook.com". За то время, пока будет выясняться суть дела, плохие парни успеют собрать неплохой урожай.

В делах, связанных с безопасностью, решение "на троечку" обычно бывает лучше, чем решение "на четвёрку". И даже иногда лучше, чем "на пятёрку" ("пять с плюсом" лучше всех, но оно, как правило, запредельно дорогое и невероятно муторное). Просто потому, что "четыре" и "пять" дают ложную уверенность, что всё будет хорошо. Клиент расслабляется и попадает. Кто на деньги, а кто и на жизнь. Централизованная PKI — решение на твёрдую четвёрку. В смысле реальной безопасности хуже этого только полный "не зачёт".

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

Кто что думает по этому поводу?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.