Man-in-the-middle: простым языком

Man-in-the-middle: простым языком

t.me/chipollin0nion

В этой статье я собираюсь вам объяснить что такое "человек посередине" или один классических способов кражи данных и контроля трафика.

Для понимания того, как это работает:

Чтобы до конца понять, как работает эта атака с подключением к интернету, для начала надо узнать как работает интернет в его основной форме. Есть три типа устройств, которые используются: клиенты, маршрутизаторы и серверы. Наиболее распространённый протокол для клиента — общение через сервер, с протоколом передачи, который называется http. Большинство веб-страниц, а так же электронная почта, обмен мгновенными сообщениями и тд реализуются именно через этот http протокол.

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

Обеспечение коммуникационного протокола

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

Конфиденциальность — только получатель может прочитать данное сообщение

Аутентичность — подлинность взаимодействующих сторон

Целостность — подтверждение, что сообщение никак не было изменено в пути

Если что-либо из этого огромного списка не выполняется — то весь протокол не функнционирует!

«Человек посередине» атака через http

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

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

Для предотвращения таких нападений, была создана безопасная версия протокола http. Безопасность транспортного узла TLS и его предшественник, протокол защищённых сокетов SSL, оба являются криптографическими протоколами, обеспечивающими безопасность передачи данных по сети. Оба часто называют SSL, и вот тут мы подходим к интересной теме: вам этот протокол известен как https, это означает, что прокол http реализован с помощью протокола SSL. Вы можете настроить ваш браузер, чтобы он использовал SSL, запросив любой сайт, обращаем внимание на S в конце http).

Подобные атаки слабо реализуются на протоколе SSL.

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

Вы легко можете заметить, что Ваше соединение не конфиденциально и может быть перехвачено. Если по Вашему запросу https://login.yahoo.com/ приходит ответ http://login.yahoo.com , то Вы должны что-либо заподозрить. Эта простая проверка действительно работает на сервере Yahoo, по крайне мере на момент написания статьи.

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

Этот способ реализации SSL уязвим к другим атакам, злоумышленник может создать соединение SSL к серверу, но ретранслировать его пользователю по протоколу http.

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

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

Понимание протокола SSL.

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

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

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

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

Сервер проверяет подлинность клиента путём отправки SSL-сертификата, подписанный центром сертифиикации — а это третья доверенная сторона. Сертификаты рассчитаны на то, что только действительный сервер будет иметь закрытый ключ.

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

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

Если всё сделано правильно, то лучшее нападение заключается в манипулировании сертификатами.

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

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

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

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

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

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

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

Судмедэкспертиза

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

В Windows, например, Вы можете использовать команду «ipconfig» в командной строке cmd, чтобы увидеть IP-адрес своего основного шлюза, это последняя строка.

Затем используйте “arp –a” команду, чтобы увидеть Ваш MAC-адрес, физический, и шлюз.

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

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

Заключение

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

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

Chipollino Onion Club

Report Page