Атака Человек посередине (Man in the Middle)
Вы можете скачать бесплатно шаблоны wordpress для своего блога на сайте freewordpressthemes.ru. Большой выбор тематических шаблонов для онлайн-журналов и блогов.
Цель атаки man-in-the-middle (MITM) — перехватить сообщения, передающиеся между двумя системами. Например, в стандартной HTTP-транзакции клиент и сервер общаются с помощью TCP соединения. Используя различные методы (в пределах статьи не будет рассмотрена реализация), злоумышленник может разбить оригинальное TCP-соединение на 2 новых, одно между собой и клиентом, другое между собой и сервером (см. Рис. 1).
После перехвата TCP-соединения, злоумышленник действует как прокси, при этом он может читать данные и даже изменять их.
Это вполне реально. Довольно редко соединения между сервером и клиентом будут прямыми, чаще всего они связаны через большое количество промежуточных серверов. На любом из этих серверов могут быть развернуты средства для перехвата трафика.
Атака MITM является довольно эффективной из-за природы HTTP-протокола и передаваемых данных, основанных на ASCII. Например, применяя man-in-the-middle attack, можно перехватить куки сессии пользователя, а также изменить структуру HTTP-заголовка (см. Рис. 2).
Спасет ли шифрование?
HTTPS - это обычный протокол HTTP, который поддерживает шифрование. Он может защитить передачу данных в виде обычного текста. HTTPS использует SSL или TLS для шифрования запросов и ответов веб сервера, делая их непроницаемыми для сниферов и атак "человек посередине".
Однако, даже HTTPS-соединение не панацея. Атака "человек посередине" может быть осуществлена при использовании HTTPS-соединения! С единственной разницей в том, что нужно будет создать две независимых SSL-сессии, по одной на каждое TCP-соединение. Браузер устанавливает SSL-соединение с атакующим и он, в свою очередь, устанавливает такое же соединение с сервером. В таких случаях браузер обычно предупреждает пользователя о том, что используется невалидный цифровой сертификат, но рядовой юзер с легкостью игнорирует эти предупреждения, толком не осознавая что делает. Хотя в некоторых случаях предупреждение может и не последовать, если, например, сертификат сервера скомпрометирован злоумышленником, или когда он сам имеет сертификат, подписанный доверенным центром сертификации.
Конечно же вы понимаете всю сложность данного метода. Однако хакер вооруженный необходимым оборудованием и программным обеспечением вполне может провернуть подобную атаку даже при зашифрованном соединении. Но пока что, будем считать HTTPS-соединение относительно стойким к данному виду атаки.
Man-in-the-middle это не только техника нападения на TCP-соединения. Этим также пользуются в ходе разработки веб-приложений, оценивая уязвимости скриптов.