Атака посредника

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

Атака посредника или атака «человек посередине» (англ. Man in the middle (MITM)) — вид атаки в криптографии, когда злоумышленник тайно ретранслирует и, возможно, изменяет связь между двумя сторонами, которые считают, что они непосредственно общаются друг с другом. Одним из примеров атак типа «человек посередине» является активное прослушивание, при котором злоумышленник устанавливает независимые связи с жертвами и передает сообщения между ними, чтобы заставить их поверить, что они разговаривают непосредственно друг с другом через частную связь, когда фактически весь разговор контролируется злоумышленником. Злоумышленник должен уметь перехватывать все соответствующие сообщения, передаваемые между двумя жертвами и вводить новые. В большинстве случаев это довольно просто; например, злоумышленник в пределах диапазона приема незашифрованной беспроводной точки доступа (Wi-Fi), который может вести себя как «человек посередине».[1]

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

Как атака, направленная на обход взаимной аутентификации, или отсутствие таковой, атака «человек посередине» может увенчаться успехом только тогда, когда злоумышленник сможет выдать себя за каждую конечную точку. Большинство криптографических протоколов включают в себя некоторую форму аутентификации конечной точки, специально для предотвращения MITM-атак. Например, TLS может выполнять проверку подлинности одной или обеих сторон с помощью взаимно доверенного центра сертификации.[2]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для защиты от Downgrade Attack небезопасные протоколы должны быть отключены как минимум на одной стороне; просто поддержки и использования по умолчанию безопасных протоколов недостаточно!

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

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

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

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

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

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

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

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

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

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

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

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

Однако в случае, если клиент и сервер общаются по HTTPS — протоколу, поддерживающему шифрование — тоже может быть проведена атака «человек посередине». При таком виде соединения используется TLS или SSL для шифрования запросов, что, казалось бы, делает канал защищённым от сниффинга и MITM-атак. Атакующий может для каждого TCP-соединения создать две независимые SSL-сессии. Клиент устанавливает SSL-соединение с атакующим, тот, в свою очередь, создает соединение с сервером. Браузер в таких случаях обычно предупреждает о том, что сертификат не подписан доверенным центром сертификации, но рядовые пользователи устаревших браузеров легко обходят данное предупреждение. К тому же у злоумышленника может оказаться сертификат, подписанный корневым центром сертификации (например, такие сертификаты иногда используются для DLP[7]) и не создающий предупреждений. Кроме того, существует ряд атак на HTTPS.[8] Таким образом, HTTPS протокол нельзя считать защищенным от MITM-атак у рядовых пользователей.[источник не указан 820 дней] Существует ряд мер, предотвращающих часть атак MITM на https сайты, в частности, HSTS, который запрещает использовать http-соединение с сайтов, Certificate pinning и HTTP Public Key Pinning, запрещающие подмену сертификата.

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

Проверка задержки по времени может потенциально обнаружить атаку в определенных ситуациях. [9] Например, при длительных вычислениях хеш-функций, которые выполняются в течение десятка секунд. Чтобы выявить потенциальные атаки, стороны проверяют расхождения во времени ответа. Предположим, что две стороны обычно затрачивают определенное количество времени для выполнения конкретной транзакции. Однако, если одна транзакция занимает аномальный период времени для достижения другой стороны, это может свидетельствовать о вмешательстве третьей стороны, вносящей дополнительную задержку в транзакцию.

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

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

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

Известная не криптографическая атака «человек посередине» была совершена беспроводным сетевым маршрутизатором Belkin в 2003 году. Периодически новая модель маршрутизатора выбирала случайное HTTP-соединение и перенаправляла его на рекламную страницу своего производителя. Столь бесцеремонное поведение устройства, разумеется, вызвало бурю негодования среди пользователей, после чего эта «функция» была удалена из более поздних версий прошивки маршрутизатора.[11]

В 2011 году нарушение безопасности голландского центра сертификации DigiNotar (англ.) привело к мошеннической выдаче сертификатов. Впоследствии мошеннические сертификаты были использованы для совершения атак «человек посередине».

В 2013 году стало известно, что браузер Xpress Browser (англ.) от Nokia расшифровывает HTTPS-трафик на прокси-серверах Nokia, предоставляя компании четкий текстовый доступ к зашифрованному трафику браузера своих клиентов. На что Nokia заявила, что контент не был сохранен на постоянной основе и что у компании были организационные и технические меры для предотвращения доступа к частной информации.[12]

В 2017 году Equifax (англ.) отозвал свои приложения для мобильных телефонов, опасаясь уязвимости «человек посередине».

Другие значимые реализации MITM-атак:

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

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

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

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

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

  1. Tanmay Patange. How to defend yourself against MITM or Man-in-the-middle attack (November 10, 2013).
  2. (2009) «IEEE Xplore - Man-in-the-Middle Attack to the HTTPS Protocol». ieeexplore.ieee.org: 78–81.
  3. Криптосистема с открытым ключом
  4. Techtarget Search Security Channel: Common injection attacks. Архивировано 18 февраля 2012 года.
  5. 1 2 3 Alberto Ornaghi, Marco Valleri, "Man In The Middle Attacks," BlackHat Conference Europe 2003. Архивировано 18 февраля 2012 года.
  6. 1 2 Alberto Ornaghi, Marco Valleri, "Man In The Middle Attacks Demos," BlackHat Conference Europe 2003. Архивировано 18 февраля 2012 года.
  7. http://blog.spiderlabs.com/2012/02/clarifying-the-trustwave-ca-policy-update.html «subordinate root … This single certificate was issued for an internal corporate network customer and not to a 'government', 'ISP' or to 'law enforcement'. It was to be used within a private network within a data loss prevention (DLP) system.»
  8. ATTACKS ON SSL. A COMPREHENSIVE STUDY OF BEAST, CRIME, TIME, BREACH, LUCKY 13 & RC4 BIASES, August 15, 2013
  9. Aziz, Benjamin (2009). «Detecting man-in-the-middle attacks by precise timing.». 2009 Third International Conference on Emerging Security Information, Systems and Technologies: 81–86.
  10. Network Forensic Analysis of SSL MITM Attacks. NETRESEC Network Security Blog. Проверено 27 марта 2011. Архивировано 18 февраля 2012 года.
  11. Leyden, John. Help! my Belkin router is spamming me, The Register (7 ноября 2003).
  12. Nokia: Yes, we decrypt your HTTPS data, but don’t worry about it. Gigaom, Inc. (10 January 2013).
  13. Goodin, Dan SSL spoof bug still haunts IE, Safari, Chrome; Thanks to Microsoft. The Register.co.uk (October 1, 2009). Архивировано 18 февраля 2012 года.
  14. NSA disguised itself as Google to spy, say reports. CNET (12 Sep 2013).

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