Введение

Форма подделки сообщений

В криптографии и компьютерной безопасности атака «человек посередине» (MITM), или атака на пути следования, — это кибератака, при которой злоумышленник тайно пересылает и, возможно, изменяет сообщения между двумя сторонами, которые полагают, что общаются непосредственно друг с другом, поскольку злоумышленник внедряется между ними. Одним из примеров атаки MITM является активное перехватывание, при котором злоумышленник устанавливает независимые соединения с жертвами и пересылает сообщения между ними, заставляя их поверить, что они разговаривают напрямую друг с другом по защищенному каналу, в то время как на самом деле злоумышленник контролирует весь разговор. В этом сценарии злоумышленник должен иметь возможность перехватывать все соответствующие сообщения, передаваемые между двумя жертвами, и внедрять новые. Это относительно просто во многих ситуациях; например, злоумышленник, находящийся в зоне действия точки доступа Wi-Fi, обслуживающей незашифрованную сеть, может внедрить себя в качестве посредника. Поскольку цель MITM-атаки — обойти взаимную аутентификацию, она может быть успешной только в том случае, если злоумышленник достаточно убедительно выдает себя за каждую из сторон, чтобы соответствовать их ожиданиям. Большинство криптографических протоколов включают в себя ту или иную форму аутентификации конечных точек, специально предназначенную для предотвращения MITM-атак. Например, TLS может аутентифицировать одну или обе стороны, используя взаимно доверенный центр сертификации.

Защита и обнаружение

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

Аутентификация

Все криптографические системы, устойчивые к атакам типа «человек посередине» (MITM), предоставляют некоторый метод аутентификации сообщений. Большинство из них требуют обмена информацией (например, открытыми ключами) в дополнение к сообщению по защищенному каналу. Такие протоколы, часто использующие протоколы согласования ключей, были разработаны с различными требованиями к безопасности защищенного канала, хотя некоторые из них пытались полностью устранить необходимость в защищенном канале. Инфраструктура открытых ключей, такая как Transport Layer Security, может повысить устойчивость протокола управления передачей к атакам MITM. В таких структурах клиенты и серверы обмениваются сертификатами, которые выдаются и проверяются доверенной третьей стороной, называемой центром сертификации (CA). Если исходный ключ для аутентификации этого CA сам не стал объектом атаки MITM, то сертификаты, выданные CA, могут использоваться для аутентификации сообщений, отправленных владельцем этого сертификата. Использование взаимной аутентификации, при которой сервер и клиент проверяют подлинность друг друга, обеспечивает защиту от обеих сторон атаки MITM. Если личность сервера или клиента не будет подтверждена или признана недействительной, сеанс будет завершен. Однако по умолчанию большинство соединений аутентифицируют только сервер, что означает, что взаимная аутентификация не всегда используется, и атаки MITM все еще возможны. Подтверждения подлинности, такие как устное сообщение об общем значении (как в ZRTP) или записанные подтверждения, такие как аудио- и видеозаписи хеша открытого ключа, используются для защиты от атак MITM, поскольку визуальные носители гораздо сложнее и требуют больше времени для имитации, чем простая передача пакетов данных. Однако для успешного начала транзакции эти методы требуют участия человека. Привязка открытого ключа HTTP (HPKP), иногда называемая «привязкой сертификата», помогает предотвратить атаку MITM, при которой скомпрометирован сам центр сертификации, заставляя сервер предоставлять список «привязанных» хешей открытых ключей во время первой транзакции. Последующие транзакции требуют, чтобы сервер использовал один или несколько ключей из этого списка для аутентификации транзакции. DNSSEC расширяет протокол DNS, используя подписи для аутентификации DNS-записей, предотвращая простые атаки MITM, направляющие клиента на вредоносный IP-адрес.

Обнаружение вмешательства

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