Сетевая атака mim. Выявление атаки человек-посередине (Man in the middle, MitM-атак)

MTProto использует оригинальный метод для того, чтобы достичь надёжности в ныне уязвимой мобильной связи и скорости в доставке больших файлов (например, фотографий, видеороликов и документов размером до 1 ГБ). Этот документ предназначен для разъяснения деталей нашей системы и рассмотрения элементов, которые на первый взгляд трудно понять.

Детальная документация протокола доступна на этой странице . Если у вас есть вопросы - пишите в Твиттер .

Примечание: Каждое сообщение, зашифрованное через MTProto, всегда содержит следующие данные, которые будут проверены во время дешифрования, для того чтобы сделать систему надёжной от известных проблем:

  • идентификатор сессии - session id;
  • длина сообщения - message length;

Note 2: Смотрите дополнительные комментарии по поводу использования , и модифицированной схемы .

Почему вы не используете X [ваш вариант]

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

Почему вы опираетесь на классические криптоалгоритмы?

Мы предпочитаем использовать хорошо известные алгоритмы, созданные в те дни, когда пропускная способность и вычислительная мощность в паре встречались довольно-таки редко. Именно эти алгоритмы оказывают значительное влияние на сегодняшнюю разработку приложений для мобильных устройств, заставляя их авторов избавляться от известных недостатков. Слабые стороны таких алгоритмов также хорошо известны и использовались злоумышленниками десятилетиями. Мы же используем эти алгоритмы в такой реализации потому, что они, как мы считаем, приводят любую известную атаку к провалу. Тем не менее мы были бы рады ознакомиться с любыми доказательствами обратного (до сих пор таких случаев не выпадало), чтобы усовершенствовать нашу систему.

Я — эксперт в области безопасности, и я считаю, что ваш протокол небезопасен.

Вы можете принять участие в нашем конкурсе: Павел Дуров предлагает $200 000 в биткойнах тому, кто первый взломает MTProto. Можете ознакомиться с объявлением и Конкурсным FAQ . Если у вас есть другие замечания, будем рады услышать их на [email protected] .

Защита от известных атак

Атаки на основе открытых текстов (Known-Plaintext Attacks)

Согласно определению, атака на основе открытого текста - вид криптоаналитической атаки, при которой у атакующего есть обе версии текста: зашифрованная и исходная. Используемый в MTProto AES IGE устойчив к таким атакам. К тому же незашифрованный текст в MTProto всегда содержит соль сервера и идентификатор сессии.

Атака на основе адаптивно подобранного открытого текста

Согласно определению , атака на основе адаптивно подобранного открытого текста - вид атаки в криптоанализе, предполагающий, что криптоаналитик может выбирать открытый текст и получать соответствующий ему шифротекст. MTProto использует AES в режиме IGE, который безопасен против таких атак. Известно, что IGE неустойчив к blockwise-adaptive атакам, но MTProto исправляет это нижеописанным способом. Каждое сообщение с открытым текстом, которое предстоит зашифровать, содержит следующие данные, которые проверяются при расшифровке:

  • соль сервера (64-битная) - server salt (64-Bit);
  • порядковый номер сообщения - message sequence number;
  • время отправки сообщения - time.

Вдобавок к этому, чтобы заменить открытый текст, также придётся использовать верные AES-ключ и вектор инициализации, зависящие от auth_key . Это делает MTProto устойчивым против атак на основе адаптивно подобранного открытого текста.

Атаки на основе подобранного шифротекста

Согласно определению , атака на основе подобранного шифротекста — это криптографическая атака, при которой криптоаналитик собирает информацию о шифре путём подбора зашифрованного текста и получения его расшифровки при неизвестном ключе. При такой атаке злоумышленник может ввести в систему один или несколько известных шифротекстов и получить открытые тексты. При помощи этих данных атакующий может попытаться восстановить ключ, используемый для расшифровки. В MTProto при каждой дешифровке сообщения производится проверка на соответствие msg_key к SHA-1 расшифрованных данных. Открытый текст (дешифрованные данные) также всегда содержит информацию о длине сообщения, его порядкового номера и соли сервера. Это сводит на нет атаки на основе подобранного шифротекста.

Атаки повторного воспроизведения

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

Атака «Человек посередине» (MitM)

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

Шифрование

Вы используете IGE? Он же взломан!

Да, мы используем IGE, но в нашей реализации с ним всё в порядке. Тот факт, что мы не используем IGE вместе с другими элементами нашей системы так же, как и MAC, делает попытки взлома IGE бессмысленными. IGE, ровно как и распространённый режим сцепления блоков шифротекста (CBC), подвержен blockwise-adaptive атакам . Но адаптивные атаки являются угрозой лишь тогда, когда один и тот же ключ используется в нескольких сообщениях (в это не так).

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

18.10.2016 | Владимир Хазов

Планы ФСБ, Минкомсвязи и Минпромторга по реализации положений закона Яровой в части перехвата и дешифровки переписки россиян перестают быть только планами, а уже начинают приводиться в действие заказом на подготовку экспертного заключения о возможности перехвата сообщений WhatsApp, Viber, Facebook Messenger, Telegram, Skype с помощью MITM-атак и демонстрацию прототипа такого средства.

О схеме организации «законной» MITM-атаки мы писали в прошлой статье . Сегодня же остановимся подробнее на самом принципе такой атаки и способах ее осуществления.

Что такое MITM-атака

Man In The Middle (MITM) переводится как «человек посередине». Этот термин обозначает сетевую атаку, когда злоумышленник находится между интернет-пользователем и приложением, к которому тот обращается. Не в физическом плане, конечно, а с помощью специального программного обеспечения. Он представляется пользователю запрашиваемым приложением (это может быть веб-сайт или интернет-сервис), имитирует работу с ним, делает это так, чтобы сложилось впечатление нормальной работы и обмена информацией.

Целью атаки являются персональные данные пользователя, такие как учетные данные входа в различные системы, банковские реквизиты и номера карточек, личная переписка и другая конфиденциальная информация. В большинстве случаев атаке подвергаются финансовые приложения (банк-клиенты, онлайн-банки, сервисы оплаты и перевода денег), SaaS-сервисы компании, сайты электронной коммерции (интернет-магазины) и другие сайты, где для входа в систему требуется авторизация.

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

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

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

Как осуществляется MITM-атака

Выполнение MITM-атаки состоит из двух фаз: перехват и дешифровка.

  • Перехват

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

Наиболее распространенный и самый простой способ совершить перехват – пассивная атака, когда злоумышленник создает Wi-Fi-точки со свободным доступом (без пароля и авторизации). В тот момент, когда пользователь подключается к такой точке, атакующий получает доступ ко всему трафику, проходящему через нее, и может выделить из него любые данные для перехвата.

Второй способ – активный перехват, которой может быть осуществлен одним из следующих вариантов:

IP-spoofing – подмена IP-адреса цели в заголовке пакета на адрес атакующего. В результате пользователи, вместо того чтобы зайти на запрашиваемый URL, попадают на сайт злоумышленника.

ARP-spoofing – подмена настоящего MAC-адреса узла на адрес атакующего в ARP-таблице жертвы. В результате данные, отправленные пользователем на IP-адрес требуемого узла, попадают на адрес атакующего.

DNS-spoofing – заражение кэша DNS, проникновение на сервер DNS и подмена записи соответствия адреса веб-сайта. В результате пользователь пытается получить доступ к запрашиваемому сайту, но получает от DNS-сервера адрес сайта злоумышленника.

  • Дешифровка

После перехвата двухсторонний SSL-трафик должен быть дешифрован, причем сделать это необходимо так, чтобы пользователь и запрашиваемый им ресурс не заметили вмешательства.

Для этого существует несколько методов:

HTTPS-spoofing – браузеру жертвы отправляется фальшивый сертификат в момент установки соединения с сайтом по протоколу HTTPS. Этот сертификат содержит цифровую подпись скомпрометированного приложения, за счет чего браузер принимает соединение со злоумышленником как надежное. После установки такого соединения атакующий получает доступ к любым данным, введенным жертвой, прежде чем они будут переданы приложению.

SSL BEAST (browser exploit against SSL/TLS) – атака использует уязвимость SSL в TLS версии 1.0 и 1.2. Компьютер жертвы заражается вредоносным JavaScript, который перехватывает зашифрованные cookies, отправляемые веб-приложению. Это компрометирует режим шифрования «сцепления блоков шифротекста» таким образом, что атакующий получает расшифрованные cookies и ключи аутентификации.

SSL-hijacking – передача поддельных ключей аутентификации пользователю и приложению в момент начала TCP-сеанса. Это создает видимость безопасного соединения, когда на самом деле сеансом управляет «человек посередине».

SSL-stripping – понижает соединение с защищенного HTTPS до простого HTTP, перехватывая TLS-аутентификацию, отправленную приложением пользователю. Злоумышленник представляет пользователю незашифрованный доступ к сайту, а сам поддерживает защищенный сеанс с приложением, получая возможность видеть передаваемые данные жертвы.\

Защита от MITM-атак

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

Действия пользователей:

  • Избегать подключения к Wi-Fi-точкам, не имеющим парольной защиты. Отключите функцию автоматического подключения к известным точкам доступа – злоумышленник может замаскировать свой Wi-Fi под легальный.
  • Обращать внимание на уведомление браузера о переходе на незащищенный сайт. Такое сообщение может указывать о переходе на поддельный сайт злоумышленника или на проблемы с защитой легального сайта.
  • Завершать сеанс работы с приложением (logout), если оно не используется.
  • Не использовать общедоступные сети (кафе, парк, гостиница и другие) для проведения конфиденциальных операций (деловая переписка, финансовые операции, покупки в онлайн-магазинах и т. п.).
  • Используйте на компьютере или ноутбуке антивирус с актуальными базами, он поможет защититься от атак с помощью вредоносного программного обеспечения.

Разработчики веб-приложений и сайтов должны использовать защищенные протоколы TLS и HTTPS, которые в значительной мере усложняют spoofing-атаки, шифруя предаваемые данные. Также их использование предотвращает перехват трафика с целью получения параметров авторизации и ключей доступа.

Хорошей практикой считается защита TLS и HTTPS не только страниц авторизации, но и всех остальных разделов сайта. Это уменьшает шанс злоумышленника на хищение cookies пользователя в тот момент, когда он перемещается по незащищенным страницам после прохождения авторизации.

Защита от MITM-атак – это ответственность пользователя и оператора связи. Для пользователя самое важное – не терять бдительность, использовать только проверенные способы доступа в интернет, а для передачи персональных данных выбирать сайты с HTTPS-шифрованием. Операторам связи можно рекомендовать использовать Deep Packet Inspection (DPI) системы для обнаружения аномалий в сетях передачи данных и предотвращения spoofing-атак.

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

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

Энциклопедичный YouTube

    1 / 3

    ✪ №4 КАК СТАТЬ ХАКЕРОМ? «Атака Посредника»! |ХАКИНГ от А до Я|

    ✪ MiTM-нападение на iOS. Техника и последствия

    ✪ Биткоин Хронология Хакерских Атак и Взломов Бирж на Криптовалютном Рынке (2012 - 2018)

    Субтитры

Принцип атаки

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

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

Пример атаки

Внедрение вредоносного кода

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

Downgrade Attack

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

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

SSH V1 вместо SSH V2

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

IPsec

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

PPTP

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

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

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

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

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

Спасёт ли шифрование?

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

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

Обнаружение MITM-атаки

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

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

Реализации MITM-атаки

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

См. также

  • Aspidistra (англ.) - британский радиопередатчик, использовавшийся во время Второй мировой войны «вторжения», вариант MITM-атаки.
  • Заговор Бабингтона (англ.) - заговор против Елизаветы I , в ходе которого Уолсингем перехватывал корреспонденцию.

Другие атаки

  • «Человек-в-браузере» (Man in the Browser) - вид атаки, при которой злоумышленник получает возможность мгновенно менять параметры транзакции, менять страницы совершенно прозрачно для жертвы.
  • «Встреча посередине » (Meet-in-the-middle attack) - криптографическая атака, которая так же, как и атака «дней рождения» , использует компромисс между временем и памятью .
  • «Потеря посередине» (Miss in the middle attack) - эффективный метод так называемого impossible differential cryptanalysis.
  • Relay attack - вариант MITM-атаки, основанный на пересылке перехваченного сообщения допустимому получателю, но не тому, которому это сообщение предназначалось.

Процесс начала сеанса TCP, состоящий из трёх шагов. Клиент посылает серверу пакет с флагом SYN. Получив от клиента пакет с флагом SYN, в ответ сервер отправляет пакет с SYN+ACK флагами и переходит в состояние ESTABLISHED. Получив корректный ответ от сервера, клиент отправляет пакет с флагом ACK и переходит в состояние ESTABLISHED

Бан-лист

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

Бот

Компьютер с помощью которого ведется DDoS атака "реальным" трафиком. В большинстве случаев это компьютер обычного пользователя, зараженный вирусом. Часто пользователь не может заметить, что его компьютер заражен и используется в противоправных целях

Веб-сервер

Компьютер в сети, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы. Как правило, вместе с HTTP-ответом веб-сервер отвечает HTML-страницей, изображением, медиа-потоком или другими данными

Веб-сервис

Веб-сервисами называют услуги, оказываемые в Интернет. При употреблении данного термина речь может вестись о поиске, веб-почте, хранении документов, файлов, закладок и т. п. Обычно веб-сервисами можно пользоваться независимо от компьютера, браузера или места доступа в Интернет.

Домен

Понятие "Домен" может использоваться в различном контексте, когда речь идёт о сетевых технологиях. Чаще всего под доменом имеют ввиду доменное имя сайта. Домены делятся на различные уровни, например, в домене example.com, com является доменом первого уровня, а example доменом второго уровня. Для упрощения общения люди также используют термин "Поддомен", означающий домен, уровень которого больше двух. Например в домене mail.example.com, mail является поддоменом.

Поисковый робот

Сервис поисковой системы для обнаружения новых страниц в Интернет и изменения уже существующих. По принципу действия похож на браузер. Он анализирует содержимое страницы, сохраняет его в некотором специальном виде на сервере поисковой машины, которой принадлежит, и отправляется по ссылкам на следующие страницы.

Полоса пропускания

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

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

Понимание того, как работает интернет

Чтобы понять принцип атаки посредника, стоит сначала разобраться с тем, как работает сам интернет. Основные точки взаимодействия: клиенты, маршрутизаторы, серверы. Наиболее распространенный протокол взаимодействия между клиентом и сервером - Hypertext Transfer Protocol (HTTP). Серфинг в интернете с помощью браузера, электронная почта, обмен мгновенными сообщениями - все это осуществляется через HTTP.

Когда вы вводите в адресной строке вашего браузера, то клиент (вы) отправляет запрос на отображение веб-страницы серверу. Пакет (HTTP GET-запрос) передается через несколько маршрутизаторов на сервер. После этого сервер отвечает веб-страницей, которая отправляется клиенту и отображается на его мониторе. HTTP-сообщения должны передаваться в безопасном режиме, чтобы обеспечить конфиденциальность и анонимность.

Рисунок 1. Взаимодействие клиент-сервер

Обеспечение безопасности протокола связи

Безопасный протокол связи должен иметь каждое из следующих свойств:

  1. Приватность - только предполагаемый получатель может прочитать сообщение.
  2. Аутентичность - личность взаимодействующих сторон доказана.
  3. Целостность - подтверждение того, что сообщение не было изменено в пути.

Если хоть одно из этих правил не соблюдено, весь протокол скомпрометирован.

Атака посредника через HTTP-протокол

Злоумышленник может легко осуществить атаку посредника, используя технику, называемую ARP-спуфинг. Любой в вашей сети Wi-Fi может послать вам поддельный ARP-пакет, из-за него вы неосознанно будете посылать весь ваш трафик через злоумышленника вместо маршрутизатора.

После этого злоумышленник получает полный контроль над трафиком и может отслеживать запросы, посылаемые в обе стороны.

Рисунок 2. Схема атаки посредника


Для предотвращения таких атак была создана защищенная версия протокола HTTP. Transport Layer Security (TLS) и его предшественник, Secure Socket Layer (SSL), являются криптографическими протоколами, которые обеспечивают безопасность передачи данных по сети. Следовательно, защищенный протокол будет называться HTTPS. Можно посмотреть, как работает защищенный протокол, набрав в адресной строке браузера (обратите внимание на наличие S в https).

Атака посредника на плохо реализованный SSL

Современный SSL использует хороший алгоритм шифрования, но это не имеет значения, если он реализован неправильно. Если хакер может перехватить запрос, он может его изменить, удалив из запрашиваемого URL «S», тем самым обойдя SSL.

Такой перехват и модификацию запроса можно заметить. Например, если вы запрашиваете https://login.yahoo.com/ а в ответ приходит http://login.yahoo.com/ , это должно вызвать подозрения. На момент написания статьи такая атака действительно работает на сервисе электронной почты Yahoo.

Рисунок 3. Перехват и модификация запроса


Чтобы предотвратить такую атаку, серверы могут реализовать HTTP Strict Transport Security (HSTS) - механизм, активирующий форсированное защищенное соединение через протокол HTTPS. В этом случае, если злоумышленник модифицирует запрос, убрав из URL «S», сервер все равно перенаправит пользователя 302-редиректом на страницу с защищенным протоколом.

Рисунок 4. Схема работы HSTS


Такой способ реализации SSL является уязвимым для другого вида атаки - злоумышленник создает SSL-соединение с сервером, но различными уловками заставляет пользователя использовать HTTP.

Рисунок 5. Схема атаки при HSTS


Для предотвращения таких атак современные браузеры вроде Chrome, Firefox и Tor отслеживают сайты, использующие HSTS и устанавливают с ними соединение со стороны клиента по SSL в принудительном порядке. В этом случае злоумышленнику, проводящему атаку посредника, придется создавать SSL-соединение с жертвой.

Рисунок 6. Схема атаки, где злоумышленник устанавливает SSL-соединение с жертвой


Для того чтобы обеспечить SLL-соединение с пользователем, злоумышленник должен знать, как действовать в качестве сервера. Давайте разберемся в технических аспектах SSL.

Понимание SSL

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

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

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

Рисунок 7. Работа публичного и конфиденциального ключей

Как SSL обеспечивает три свойства, необходимые для безопасной связи?

  1. Поскольку для шифрования данных используется асимметричная криптография, SSL обеспечивает приватное соединение. Это шифрование не так уж легко взломать и остаться незамеченным.
  2. Сервер подтверждает свою легитимность, посылая клиенту SSL-сертификат, выданный центром сертификации - доверенной третьей стороной.

Если злоумышленнику каким-либо образом удастся заполучить сертификат, он может создать условия для атаки посредника. Таким образом, он создаст 2 соединения - с сервером и с жертвой. Сервер в этом случае думает, что злоумышленник - это обычный клиент, а у жертвы нет возможности идентифицировать злоумышленника, поскольку тот предоставил сертификат, доказывающий, что он сервер.

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

Рисунок 8. Схема атаки при наличии у злоумышленника сертификата


Сертификат не обязательно должен быть подделан, если у злоумышленника есть возможность скомпрометировать браузер жертвы. В этом случае он может вставить самостоятельно подписанный сертификат, который будет доверенным по умолчанию. Так и реализовываются большинство атак посредника. В более сложных случаях хакер должен пойти другим путем - подделать сертификат.

Проблемы центров сертификации

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

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

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

Даже когда существовал всего один центр сертификации, VeriSign, бытовала проблема - люди, которые должны были предотвращать атаки посредника, продавали услуги перехвата.

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

Криминалистика

Поскольку злоумышленник отправляет поддельные пакеты ARP, нельзя увидеть его IP-адрес. Вместо этого нужно обращать внимание на MAC-адрес, который является специфическим для каждого устройства в сети. Если вы знаете MAC-адрес вашего маршрутизатора, вы можете сравнить его с МАС-адресом шлюза по умолчанию, чтобы выяснить, действительно ли это ваш маршрутизатор или злоумышленник.

Например, на ОС Windows вы можете воспользоваться командой ipconfig в командной строке (CMD), чтобы увидеть IP-адрес вашего шлюза по умолчанию (последняя строка):

Рисунок 9. Использование команды ipconfig


Затем используйте команду arp –a для того, чтобы узнать MAC-адрес этого шлюза:

Рисунок 10. Использование команды arp –a


Но есть и другой способ заметить атаку - если вы отслеживали сетевую активность в то время, когда она началась, и наблюдали за пакетами ARP. Например, можно использовать Wireshark для этих целей, эта программа будет уведомлять, если MAC-адрес шлюза по умолчанию изменился.

Примечание: если атакующий будет правильно подменять MAC-адреса, отследить его станет большой проблемой.

Вывод

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

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