Loading AI tools
Из Википедии, свободной энциклопедии
Атака посредника, или атака «человек посередине» (англ. Man-In-The-Middle attack), наиболее известная как MITM-атака — вид атаки в криптографии и компьютерной безопасности, когда злоумышленник тайно ретранслирует и при необходимости изменяет связь между двумя сторонами, которые считают, что они непосредственно общаются друг с другом. Является методом компрометации канала связи, при котором взломщик, подключившись к каналу между контрагентами, осуществляет вмешательство в протокол передачи, удаляя или искажая информацию.
Одним из примеров атак типа «человек посередине» является активное прослушивание, при котором злоумышленник устанавливает независимые связи с жертвами и передаёт сообщения между ними. Тем самым он заставляет жертв поверить, что они разговаривают непосредственно друг с другом через частную связь, фактически же весь разговор управляется злоумышленником. Злоумышленник должен уметь перехватывать все передаваемые между двумя жертвами сообщения, а также вводить новые. В большинстве случаев это довольно просто: например, злоумышленник может вести себя как «человек посередине» в пределах диапазона приёма беспроводной точки доступа (Wi-Fi)[1].
Данная атака направлена на обход взаимной аутентификации или отсутствие таковой и может увенчаться успехом только тогда, когда злоумышленник имеет возможность выдать себя за каждую конечную точку либо оставаться незамеченным в качестве промежуточного узла. Большинство криптографических протоколов включает в себя некоторую форму аутентификации конечной точки специально для предотвращения MITM-атак. Например, TLS может выполнять проверку подлинности одной или обеих сторон с помощью взаимно доверенного центра сертификации[2].
Атака обычно начинается с прослушивания канала связи и заканчивается тем, что криптоаналитик пытается подменить перехваченное сообщение, извлечь из него полезную информацию, перенаправить его на какой-нибудь внешний ресурс.
Предположим, объект A планирует передать объекту B некую информацию. Объект C обладает знаниями о структуре и свойствах используемого метода передачи данных, а также о факте планируемой передачи собственно информации, которую С планирует перехватить. Для совершения атаки С «представляется» объекту А как В, а объекту В — как А. Объект А, ошибочно полагая, что он направляет информацию В, посылает её объекту С. Объект С, получив информацию и совершив с ней некоторые действия (например, скопировав или модифицировав в своих целях), пересылает данные собственно получателю — В; объект В, в свою очередь, считает, что информация была получена им напрямую от А.
Предположим, что Алиса хочет передать Бобу некоторую информацию. Мэлори хочет перехватить сообщение и, возможно, изменить его так, что Боб получит неверную информацию.
Мэлори начинает свою атаку с того, что устанавливает соединение с Бобом и Алисой, при этом они не могут догадаться о том, что кто-то третий присутствует в их канале связи. Все сообщения, которые посылают Боб и Алиса, проходят через Мэлори.
Алиса просит у Боба его открытый ключ. Мэлори представляется Алисе Бобом и отправляет ей свой открытый ключ. Алиса, считая, что это ключ Боба, шифрует им сообщение и отправляет его Бобу. Мэлори получает сообщение, расшифровывает, затем изменяет его, если нужно, шифрует его открытым ключом Боба и отправляет его ему. Боб получает сообщение и думает, что оно пришло от Алисы:
Этот пример демонстрирует необходимость использования методов для подтверждения того, что обе стороны используют правильные открытые ключи, то есть что у стороны А открытый ключ стороны B, а у стороны B — открытый ключ стороны А. В противном случае, канал может быть подвержен атаке «человек посередине».
Рассмотрим атаку на протокол выработки общего секрета Диффи-Хеллмана между сторонами A и B. Допустим, криптоаналитик E имеет возможность не только перехватывать сообщения, но и подменять их своими, то есть осуществлять активную атаку:
Перехват и подмена ключей
Подмена сообщений
Таким образом, криптоаналитик E получает возможность перехватывать и подменять все сообщения в канале связи. При этом, если содержимое сообщений не позволяет выявить наличие в канале связи третьей стороны, то атака «человек посередине» считается успешной.
В данном примере мы рассмотрим атаку на SSL через HTTP, также известного как атака HTTPS, поскольку это самая распространенная модель реализации протокола SSL и используется практических во всех системах банковских сетевых приложений, службах электронной почты для обеспечения шифрования канала связи. Эта технология призвана обеспечить сохранность данных от перехвата третьими лицами при помощи простого анализатора пакетов. Обычно SSL (Secure Sockets Layer) внедряется поверх протокола HTTP, создавая тем самым HTTPS - защищенную версию HTTP. В данном контексте под атакой подразумевается попытка нарушить защищенность SSL-канала, обмануть систему и получить доступ к конфиденциальной информации.
Рассмотрим процесс коммуникации по HTTPS на примере подключения пользователя к учетной записи на Google. Этот процесс включает в себя несколько отдельных операций:
Из всех этих действий наиболее уязвимой видится операция перенаправления на HTTPS через код ответа HTTP 302. Для осуществления атаки на точку перехода от незащищенного к защищенному каналу был создан специальный инструмент SSLStrip. С использованием данного инструмента процесс атаки выглядит следующим образом:
В результате чего атакующий получает доступ к данным, которые клиент отправляет на сервер. Этими данными могут быть пароли от учетных записей, номера банковских карт или любая другая информация, которая обычно передается в скрытом виде. Потенциальным сигналом проведения данной атаки для клиента может стать отсутствие обозначения защищенного HTTPS-трафика в браузере. Для сервера же такая подмена останется совершенно незамеченной, потому как нет никаких изменений в SSL-трафике.
Современные браузеры внедряют меры безопасности, такие как HSTS (HTTP Strict Transport Security), предотвращающие использование незащищенного соединения, даже при наличии попыток атаки.
Основой атаки «Отравление кэша ARP» является уязвимость в протоколе ARP. В отличие от таких протоколов как DNS, которые можно настроить на приём только защищенных динамических обновлений, устройства, использующие ARP, будут получать обновления в любое время. Такое свойство ARP-протокола позволяет любому устройству отправлять пакет ARP-ответа на другой узел, чтобы потребовать от него обновления ARP-кэша. Отправка ARP-ответа без генерирования каких-либо запросов называется отправкой самообращённых ARP. Если имеются злоумышленные намерения, результатом удачно направленных самообращенных ARP-пакетов, используемых таким образом, могут стать узлы, считающие, что они взаимодействуют с одним узлом, но в реальности они взаимодействуют с перехватывающим узлом взломщика[3].
В случае системы с открытым ключом криптоаналитик может перехватить сообщения обмена открытыми ключами между клиентом и сервером и изменить их, как в примере выше. Для того, чтобы оставаться незамеченным, криптоаналитик должен перехватывать все сообщения между клиентом и сервером и шифровать и расшифровывать их соответствующими ключами. Такие действия могут показаться слишком сложными для проведения атаки, однако они представляют реальную угрозу для небезопасных сетей (электронный бизнес, интернет-банкинг, платёжный шлюз)[4].
Для предотвращения атак «человек с активным криптоаналитиком», который бы подменял открытый ключ получателя во время его передачи будущему отправителю сообщений, используют, как правило, сертификаты открытых ключей.
Внедрение кода[5] в атаке «человек посередине» главным образом применяется для захвата уже авторизованной сессии, выполнения собственных команд на сервере и отправки ложных ответов клиенту[6].
Атака «человек посередине» позволяет криптоаналитику вставлять свой код в электронные письма, SQL-выражения и веб-страницы (то есть позволяет осуществлять SQL-инъекции, HTML/script-инъекции или XSS-атаки), и даже модифицировать загружаемые пользователем бинарные файлы для того, чтобы получить доступ к учетной записи пользователя или изменить поведение программы, загруженной пользователем из интернета[6].
Термином «Downgrade Attack» называют такую атаку, при которой криптоаналитик вынуждает пользователя использовать менее безопасные функции, протоколы, которые всё ещё поддерживаются из соображений совместимости. Такой вид атаки может быть проведён на протоколы SSH, IPsec и PPTP.
Для защиты от Downgrade Attack небезопасные протоколы должны быть отключены как минимум на одной стороне; просто поддержки и использования по умолчанию безопасных протоколов недостаточно!
Наиболее распространенные публичные средства коммуникаций — это социальные сети, публичные сервисы электронной почты и системы мгновенного обмена сообщениями. Владелец ресурса, обеспечивающего сервис коммуникаций, имеет полный контроль над информацией, которой обмениваются корреспонденты и, по своему усмотрению, в любой момент времени беспрепятственно может осуществить атаку посредника.
В отличие от предыдущих сценариев, основанных на технических и технологических аспектах средств коммуникаций, в данном случае атака основана на ментальных аспектах, а именно на укоренении в сознании пользователей концепции игнорирования требований информационной безопасности.
Проверка задержки по времени может потенциально обнаружить атаку в определённых ситуациях[8]. Например, при длительных вычислениях хеш-функций, которые выполняются в течение десятка секунд. Чтобы выявить потенциальные атаки, стороны проверяют расхождения во времени ответа. Предположим, что две стороны обычно затрачивают определённое количество времени для выполнения конкретной транзакции. Однако, если одна транзакция занимает аномальный период времени для достижения другой стороны, это может свидетельствовать о вмешательстве третьей стороны, вносящей дополнительную задержку в транзакцию.
Для обнаружения атаки «человек посередине» также необходимо проанализировать сетевой трафик. К примеру, для детектирования атаки по SSL следует обратить внимание на следующие параметры[9]:
Известная некриптографическая атака «человек посередине» была совершена беспроводным сетевым маршрутизатором Belkin в 2003 году. Периодически новая модель маршрутизатора выбирала случайное HTTP-соединение и перенаправляла его на рекламную страницу своего производителя. Столь бесцеремонное поведение устройства, разумеется, вызвало бурю негодования среди пользователей, после чего эта «функция» была удалена из более поздних версий прошивки маршрутизатора[10].
В 2011 году нарушение безопасности голландского центра сертификации DigiNotar (англ.) привело к мошеннической выдаче сертификатов. Впоследствии мошеннические сертификаты были использованы для совершения атак «человек посередине».
В 2013 году стало известно, что браузер Xpress Browser (англ.) от Nokia расшифровывает HTTPS-трафик на прокси-серверах Nokia, предоставляя компании четкий текстовый доступ к зашифрованному трафику браузера своих клиентов. На что Nokia заявила, что контент не был сохранен на постоянной основе и что у компании были организационные и технические меры для предотвращения доступа к частной информации[11].
В 2017 году Equifax (англ.) отозвал свои приложения для мобильных телефонов, опасаясь уязвимости «человек посередине».
Другие значимые реализации MITM-атак:
Перечисленные программы могут быть использованы для осуществления атак «человек посередине», а также для их обнаружения и тестирования системы на уязвимости.
Для перенаправления потоков трафика могут использоваться ошибки в настройках межсетевой маршрутизации BGP[13][14].
Другие атаки
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.