Атака посредника или атака «человек посередине» (англ. Man in the middle (MITM)) — вид атаки в криптографии, когда злоумышленник перехватывает и подменяет сообщения, которыми обмениваются корреспонденты, причём ни один из последних не догадывается о его присутствии в канале.
Метод компрометации канала связи, при котором взломщик, подключившись к каналу между контрагентами, осуществляет вмешательство в протокол передачи, удаляя или искажая информацию.
Атака обычно начинается с прослушивания канала связи и заканчивается тем, что криптоаналитик пытается подменить перехваченное сообщение, извлечь из него полезную информацию, перенаправить его на какой-нибудь внешний ресурс.
Предположим, объект A планирует передать объекту B некую информацию. Объект C обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую С планирует перехватить. Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А, ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С, получив информацию, и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях) пересылает данные собственно получателю — В; объект В, в свою очередь, считает, что информация была получена им напрямую от А.
Атаки «человек посередине» представляют угрозу для систем, совершающих финансовые операции через интернет — например, электронный бизнес, интернет-банкинг, платёжный шлюз. Применяя данный вид атаки, злоумышленник может получить доступ к учетной записи пользователя и совершать всевозможные финансовые махинации.
В случае системы с открытым ключом, криптоаналитик может перехватить сообщения обмена открытыми ключами между клиентом и сервером и изменить их, как в примере выше. Для того, чтобы оставаться незамеченным, криптоаналитик должен перехватывать все сообщения между клиентом и сервером и шифровать и расшифровывать их соответствующими ключами. Такие действия могут показаться слишком сложными для проведения атаки, однако они представляют реальную угрозу для небезопасных сетей (например, интернет и беспроводные сети)
Внедрение кода в атаке «человек посередине» главным образом применяется для захвата уже авторизованной сессии, выполнения собственных команд на сервере и отправки ложных ответов клиенту.
Атака «человек посередине» позволяет криптоаналитику вставлять свой код в электронные письма, SQL выражения и веб-страницы (то есть позволяет осуществлять SQL-инъекции, HTML/script-инъекции или XSS-атаки), и даже модифицировать загружаемые пользователем бинарные файлы для того, чтобы получить доступ к учетной записи пользователя или изменить поведение программы, загруженной пользователем из интернета.
Термином «Downgrade Attack» называют такую атаку, при которой криптоаналитик вынуждает пользователя использовать менее безопасные функции, протоколы, которые всё ещё поддерживаются из соображений совместимости. Такой вид атаки может быть проведён на протоколы SSH, IPsec и PPTP.
Для защиты от Downgrade Attack небезопасные протоколы должны быть отключены как минимум на одной стороне; просто поддержки и использования по умолчанию безопасных протоколов недостаточно!
Атакующий может попытаться изменить параметры соединения между сервером и клиентом при установлении между ними соединения. Согласно докладу, сделанному на конференции Blackhat Conference Europe 2003, криптоаналитик может «заставить» клиента начать сессию SSH1 вместо SSH2 изменив номер версии «1.99» для SSH сессии на «1.51», что означает использование SSH V1. Протокол SSH-1 имеет уязвимости, которыми может воспользоваться криптоаналитик.
При таком сценарии атаки криптоаналитик вводит свою жертву в заблуждение, заставляя её думать, что IPsec сессия не может начаться на другом конце (сервере). Это приводит к тому, что сообщения будут пересылаться в явном виде, в случае если хост-машина работает в rollback режиме
На этапе согласования параметров сессии PPTP атакующий может вынудить жертву использовать менее безопасную PAP аутентификацию, MSCHAP V1 (то есть «откатиться» с MSCHAP V2 до версии 1), либо не использовать шифрование вообще.
Атакующий может вынудить свою жертву повторить этап согласования параметров PPTP-сессии (послать Terminate-Ack-пакет), выкрасть пароль из существующего туннеля и повторить атаку.
На этапе согласования параметров сессии PPTP атакующий может вынудить жертву использовать менее безопасную PAP аутентификацию, MSCHAP V1 (то есть «откатиться» с MSCHAP V2 до версии 1), либо не использовать шифрование вообще.
Атакующий может вынудить свою жертву повторить этап согласования параметров PPTP-сессии (послать Terminate-Ack-пакет), выкрасть пароль из существующего туннеля и повторить атаку.
Наиболее распространенные средства коммуникаций этой группы — это социальная сеть, публичный сервис электронной почты и система мгновенного обмена сообщениями. Владелец ресурса, обеспечивающего сервис коммуникаций имеет полный контроль над информацией, которой обмениваются корреспонденты и, по своему усмотрению, в любой момент времени беспрепятственно может осуществить атаку.
В отличие от предыдущих сценариев, основанных на технических и технологических аспектах средств коммуникаций, в данном случае атака основана на ментальных аспектах, а именно на укоренении в сознании пользователей концепции игнорирования требований информационной безопасности.
Рассмотрим случай стандартной HTTP-транзакции. В этом случае злоумышленник достаточно легко может разбить оригинальное TCP-соединение на два новых: одно между собой и клиентом, другое между собой и сервером. Это довольно просто сделать, так как очень редко соединение между клиентом и сервером прямое, и в большинстве случаев они связаны через некоторое количество промежуточных серверов. MITM-атаку можно проводить на любом из этих серверов.
Однако в случае, если клиент и сервер общаются по HTTPS — протоколу, поддерживающему шифрование — тоже может быть проведена атака «человек посередине». При таком виде соединения используется TLS или SSL для шифрования запросов, что, казалось бы, делает канал защищённым от сниффинга и MITM-атак. Атакующий может для каждого TCP-соединения создать две независимые SSL-сессии. Клиент устанавливает SSL-соединение с атакующим, тот в свою очередь создает соединение с сервером. Браузер в таких случаях обычно предупреждает о том, что сертификат не подписан доверенным центром сертификации, но рядовые пользователи устаревших браузеров легко обходят данное предупреждение. К тому же, у злоумышленника может оказаться сертификат, подписанный корневым центром сертификации (например, такие сертификаты иногда используются для DLP[5]) и не создающий предупрежедний. Кроме того, существует ряд атак на HTTPS. Таким образом, HTTPS протокол нельзя считать защищенным от MITM-атак у рядовых пользователей.Существует ряд мер, предотвращающих часть атак MITM на https сайты, в частности, HSTS, который запрещает использовать http соединение с сайтов, Certificate pinning и HTTP Public Key Pinning, запрещающие подмену сертификата.
Для обнаружения атаки «человек посередине» необходимо проанализировать сетевой трафик. К примеру, для детектирования атаки по SSL следует обратить внимание на следующие параметры:[7] IP-адрес сервера DNS-сервер X.509-сертификат сервера Подписан ли сертификат самостоятельно? Подписан ли сертификат центром сертификации? Был ли сертификат аннулирован? Менялся ли сертификат недавно? Получали ли другие клиенты в интернете такой же сертификат?
dsniff — инструмент для SSH и SSL атак Cain — инструмент для проведения атаки «человек посередине». Имеет графический интерфейс. Поддерживает сниффинг и ARP-spoofing Ettercap — инструмент для проведения атак в локальной сети Karma — использует атаку злой двойник (Evil Twin) для проведения MITM-атак AirJack — программа демонстрирует основанные на стандарте 802.11 MITM-атаки SSLStrip — инструмент для MITM-атаки на SSL SSLSniff — инструмент для MITM-атаки на SSL. Изначально был создан для обнаружения уязвимостей в Internet Explorer. Mallory — прозрачный прокси-сервер, осуществляющий TCP- и UDP-MITM-атаки. Может быть также использован для атаки на протоколы SSL, SSH и многие другие wsniff — инструмент для проведения атак на 802.11 HTTP/HTTPS протокол
Перечисленные программы могут быть использованы для осуществления атак «человек посередине», а также для их обнаружения и тестирование системы на уязвимости.
«Человек-в-браузере» (Man in the Browser) — вид атаки, при которой злоумышленник получает возможность мгновенно менять параметры транзакции, менять страницы совершенно прозрачно для жертвы. «Встреча посередине» (Meet-in-the-middle attack) — криптографическая атака, которая также, как и атака «дней рождения», использует компромисс между временем и памятью. «Потеря посередине» (Miss in the middle attack) — эффективный метод так называемого impossible differential cryptanalysis. Relay attack — вариант MITM-атаки, основанный на пересылке перехваченного сообщения допустимому получателю, но не тому, которому это сообщение предназначалось. Руткит — программа, предназначенная для скрытия следов присутствия злоумышленника. ARP-spoofing Криптосистема с открытым ключом TCP hijacking