Человек посередине

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Атака посредника, атака «человек посередине», MITM-атака (англ. Man in the middle) — термин в криптографии, обозначающий ситуацию, когда криптоаналитик (атакующий) способен читать и видоизменять по своей воле сообщения, которыми обмениваются корреспонденты, причём ни один из последних не может догадаться о его присутствии в канале.

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

Принцип атаки[править | править вики-текст]

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

Предположим, объект A планирует передать объекту B некую информацию. Объект C обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую С планирует перехватить. Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А, ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С, получив информацию, и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях) пересылает данные собственно получателю — В; объект В, в свою очередь, считает, что информация была получена им напрямую от А.

Пример атаки[править | править вики-текст]

Атака «человек посередине».

Предположим, что Алиса хочет передать Бобу некоторую информацию. Мэлори хочет перехватить сообщение и, возможно, изменить его так, что Боб получит неверную информацию.

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

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

  1. Алиса отправляет Бобу сообщение, которое перехватывает Мэлори:
    Алиса «Привет Боб, Это Алиса. Пришли мне свой открытый ключ» → Мэлори Боб
  2. Мэлори пересылает сообщение Бобу; Боб не может догадаться, что это сообщение не от Алисы:
    Алиса Мэлори «Привет Боб, Это Алиса. Пришли мне свой открытый ключ» → Боб
  3. Боб посылает свой ключ:
    Алиса Мэлори ← [ключ Боба] Боб
  4. Мэлори подменяет ключ Боба своим и пересылает сообщение Алисе:
    Алиса ← [ключ Мэлори] Мэлори Боб
  5. Алиса шифрует сообщение ключом Мэлори, считая что это ключ Боба, и только он может расшифровать его:
    Алиса «Встретимся на автобусной остановке!» [зашифровано ключом Мэлори] → Мэлори Боб
  6. Мэлори расшифровывает сообщение, читает его, модифицирует его, шифрует ключом Боба и отправляет его:
    Алиса Мэлори «Жди меня у входа в музей в 18:00!» [зашифровано ключом Боба] → Боб
  7. Боб считает, что это сообщение Алисы.

Этот пример демонстрирует необходимость использования методов для подтверждения того, что обе стороны используют правильные открытые ключи, то есть что у стороны А открытый ключ стороны Б, а у стороны Б открытый ключ стороны А. В противном случае, канал может быть подвержен атаке «человек посередине».

Сценарии атаки[править | править вики-текст]

Обмен открытыми ключами[править | править вики-текст]

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

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

Внедрение вредоносного кода[править | править вики-текст]

Внедрение кода[2] в атаке «человек посередине» главным образом применяется для захвата уже авторизованной сессии, выполнения собственных команд на сервере и отправки ложных ответов клиенту.[3]

Атака «человек посередине» позволяет криптоаналитику вставлять свой код в электронные письма, SQL выражения и веб-страницы (то есть позволяет осуществлять SQL-инъекции, HTML/script-инъекции или XSS-атаки), и даже модифицировать загружаемые пользователем бинарные файлы для того, чтобы получить доступ к учетной записи пользователя или изменить поведение программы, загруженной пользователем из интернета.[3]

Downgrade Attack[править | править вики-текст]

Термином «Downgrade Attack» называют такую атаку, при которой криптоаналитик вынуждает пользователя использовать менее безопасные функции, протоколы, которые всё ещё поддерживаются из соображений совместимости. Такой вид атаки может быть проведён на протоколы SSH, IPsec и PPTP.

SSH V1 вместо SSH V2[править | править вики-текст]

Атакующий может попытаться изменить параметры соединения между сервером и клиентом при установлении между ними соединения.[3] Согласно докладу, сделанному на конференции Blackhat Conference Europe 2003, криптоаналитик может «заставить» клиента начать сессию SSH1 вместо SSH2 изменив номер версии «1.99» для SSH сессии на «1.51», что означает использование SSH V1.[4] Протокол SSH-1 имеет уязвимости, которыми может воспользоваться криптоаналитик.

IPsec[править | править вики-текст]

При таком сценарии атаки криптоаналитик вводит свою жертву в заблуждение, заставляя её думать, что IPsec сессия не может начаться на другом конце (сервере). Это приводит к тому, что сообщения будут пересылаться в явном виде, в случае если хост-машина работает в rollback режиме.[4]

PPTP[править | править вики-текст]

На этапе согласования параметров PPTP сессии атакующий может вынудить жертву использовать менее безопасную PAP аутентификацию, MSCHAP V1 (то есть «откатиться» с MSCHAP V2 до версии 1), либо не использовать шифрование вообще.

Атакующий может вынудить свою жертву повторить этап согласования параметров PPTP сессии (послать Terminate-Ack-пакет), выкрасть пароль из существующего туннеля и повторить атаку.

Публичные средства коммуникаций без защиты достоверности, конфиденциальности, доступности и целостности информации[править | править вики-текст]

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

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

Спасёт ли шифрование?[править | править вики-текст]

Рассмотрим случай стандартной HTTP-транзакции. В этом случае злоумышленник достаточно легко может разбить оригинальное TCP-соединение на два новых: одно между собой и клиентом, другое между собой и сервером. Это довольно просто сделать, так как очень редко соединение между клиентом и сервером прямое, и в большинстве случаев они связаны через некоторое количество промежуточных серверов. MITM-атаку можно проводить на любом из этих серверов.

Однако в случае, если клиент и сервер общаются по HTTPS — протоколу, поддерживающему шифрование — тоже может быть проведена атака «человек посередине». При таком виде соединения используется TLS или SSL для шифрования запросов, что, казалось бы, делает канал защищённым от сниффинга и MITM-атак. Атакующий может для каждого TCP-соединения создать две независимые SSL-сессии. Клиент устанавливает SSL-соединение с атакующим, тот в свою очередь создает соединение с сервером. Браузер в таких случаях обычно предупреждает о том, что сертификат не подписан доверенным центром сертификации, но рядовой пользователь с легкостью игнорирует данное предупреждение. К тому же, у злоумышленника может оказаться сертификат, подписанный центром сертификации (например, такие сертификаты иногда используются для DLP[5]). Кроме того, существует ряд атак на HTTPS.[6] Таким образом, HTTPS протокол нельзя считать защищенным от MITM-атак у рядовых пользователей.

Обнаружение MITM-атаки[править | править вики-текст]

Для обнаружения атаки «человек посередине» необходимо проанализировать сетевой трафик. К примеру, для детектирования атаки по SSL следует обратить внимание на следующие параметры:[7]

  • IP-адрес сервера
  • DNS-сервер
  • X.509-сертификат сервера
    • Подписан ли сертификат самостоятельно?
    • Подписан ли сертификат центром сертификации?
    • Был ли сертификат аннулирован?
    • Менялся ли сертификат недавно?
    • Получали ли другие клиенты в интернете такой же сертификат?

Реализации MITM-атаки[править | править вики-текст]

  • dsniff — инструмент для SSH и SSL атак
  • Cain — инструмент для проведения атаки «человек посередине». Имеет графический интерфейс. Поддерживает сниффинг и ARP-spoofing
  • Ettercap — инструмент для проведения атак в локальной сети
  • Karma — использует атаку злой двойник (Evil Twin) для проведения MITM-атак
  • AirJack — программа демонстрирует основанные на стандарте 802.11 MITM-атаки
  • SSLStrip — инструмент для MITM-атаки на SSL
  • SSLSniff — инструмент для MITM-атаки на SSL. Изначально был создан для обнаружения уязвимостей в Internet Explorer.[8]
  • Mallory — прозрачный прокси-сервер, осуществляющий TCP- и UDP-MITM-атаки. Может быть также использован для атаки на протоколы SSL, SSH и многие другие
  • wsniff — инструмент для проведения атак на 802.11 HTTP/HTTPS протокол

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

Пример в литературе[править | править вики-текст]

Наглядный литературный пример можно увидеть в «Сказке о царе Салтане» А. С. Пушкина, где фигурируют три «человека посередине» (криптоаналитика): ткачиха, повариха и Бабариха. Именно они подменяют письма, адресованные царю, и его ответную корреспонденцию.

Также атака посредника описана в романе А. Дюма "Граф Монте-Кристо", где сообщение, передаваемое по оптическому телеграфу, подменяется на одной из ретрансляционных станций.

См. также[править | править вики-текст]

Другие атаки[править | править вики-текст]

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]