Атаки с удалением SSL: опасности и как избежать атак

Сегодня большинство веб-сайтов используют безопасный протокол HTTPS для связи между клиентами и веб-сервером, благодаря этому протоколу, который использует TLS и криптографические алгоритмы, включенные в последний, обмен данными зашифровывается точка-точка, кроме того, также аутентичность соединения и даже целостность данных проверяются, чтобы злоумышленники не могли изменять пакеты на лету. Однако существует атака на протокол HTTPS под названием Удаление SSL эта атака заключается в «снятии» TLS-шифрования сообщений, чтобы злоумышленник мог видеть все сообщения в открытом виде с использованием HTTP. Вы хотите знать все об атаке SSL Stripping и о том, как защитить себя, чтобы злоумышленник не скомпрометировал ваши коммуникации?

Атаки с удалением SSL: опасности и как избежать атак

Как работает протокол HTTPS?

Протокол HTTPS (защищенный протокол передачи гипертекста) - это защищенная версия популярного протокола HTTP (протокол передачи гипертекста). Этот протокол находится на уровне приложений и основан на HTTP, но безопасность протокола TLS (на уровне транспортного уровня) добавляется, чтобы обеспечить двухточечную безопасность во всех соединениях, от клиентов до веб-сервера. Протокол TLS является одним из наиболее часто используемых для обеспечения безопасности связи, кроме того, он используется не только в HTTPS-соединениях, но и в других протоколах, таких как FTPES (версия FTP, но с уровнем безопасности с использованием TLS) и даже виртуальных. протоколы частной сети, такие как OpenVPN. Протокол TLS (и, следовательно, протокол HTTPS на уровне приложения) использует различные криптографические алгоритмы, которые обеспечивают нам следующие характеристики:

  • Конфиденциальность : Конфиденциальность в криптографии означает, что все данные зашифрованы от начала до конца, и что только источник и место назначения смогут «прочитать» эти данные. Если киберпреступник находится в центре коммуникации (атака Man in the Middle), он сможет без проблем перехватить информацию, но никогда не сможет прочитать ее, если у него нет закрытого ключа дешифрования.
  • Подлинность : эта характеристика криптографии гарантирует нам, что данные являются подлинными от источника, и что третья сторона не выдавала себя за другое лицо.
  • Целостность : эта функция гарантирует, что все данные от источника до места назначения не были изменены; в случае, если они были изменены по вине злонамеренной третьей стороны, эта информация может быть обнаружена и удалена.

Сертификаты HTTPS seró menor

В настоящее время протокол HTTPS для версии HTTP / 2 использует протокол TLS в своей версии TLSv1.2, а также TLSv1.3, эти два протокола в настоящее время считаются безопасными, и не было обнаружено никаких уязвимостей, делающих их опасными в использовании. Версия TLSv1.3 намного быстрее, чем предыдущая версия, кроме того, она поддерживает только безопасные наборы шифров и не позволяет настраивать менее безопасные наборы шифров, такие как TLSv1.2.

Что касается портов, то в то время как протокол HTTP использует протокол TCP на транспортном уровне и порт 80, протокол HTTPS использует порт TCP 443. В последние месяцы протокол QUIC был стандартизирован для веб-соединений, протокол для HTTPS, когда HTTP / 2 и / или HTTP / 3, который использует протокол UDP для установления соединений точка-точка, этот протокол QUIC уже включает безопасную криптографию с новейшими безопасными криптографическими алгоритмами, такими как Chacha20-Poly1305 или AES -GCM.

Как только мы узнаем, как работает HTTPS и какие протоколы у нас есть на разных уровнях TCP / IP, мы увидим, из чего состоит атака SSL Stripping для расшифровки всех соединений HTTPS.

Что такое атака с удалением SSL?

Когда мы проводим атаку ARP Spooping и устанавливаем сниффер для захвата всего трафика, мы пропускаем весь сетевой трафик, генерируемый определенным компьютером (жертвой). Если вы используете незащищенные протоколы, такие как HTTP или FTP, мы можем легко увидеть все ваши сообщения, учетные данные для аутентификации и даже файлы cookie сеанса. По этой причине так опасно подключаться к публичным Wi-Fi сети или ненадежные сети, потому что любой киберпреступник может провести атаку «Человек посередине» и захватить всю информацию.

Если мы будем использовать безопасный протокол, такой как HTTPS, злоумышленник сможет без проблем захватить всю информацию, однако он не сможет прочитать какое-либо ее содержимое, то есть он не сможет увидеть учетные данные для аутентификации, файлы cookie сеанса или ничего, потому что весь трафик зашифрован сквозным шифрованием (от клиентов к веб-серверу). Благодаря протоколу TLS и криптографическим алгоритмам, таким как AES, наша информация будет конфиденциальной, то есть будет зашифрована от конца до конца.

Атаки с разделением SSL состоят из настройки прокси HTTP / HTTPS, чтобы «поднять» этот зашифрованный протокол HTTPS, и жертва использует протокол HTTP, чтобы иметь возможность захватывать всю информацию и видеть данные внутри. Процесс, который необходимо выполнить для нарушения HTTPS-соединения, будет следующим:

  1. Провести атаку ARP Spoofing на жертву , чтобы перенаправить нам весь сетевой трафик, прежде чем передать его маршрутизатору, таким образом, мы будем фиксировать всю информацию, которую эта жертва отправляет и получает.
  2. Пускаем сниффер работать Например, WireShark - очень хороший вариант, это одно из самых полных и простых в использовании программ, и оно совершенно бесплатное.
  3. Проверьте, все ли мы захватываем трафик жертвы, таким образом, мы убедимся, что ARP Spoofing и сниффер работают правильно. В этом случае, конечно, мы можем видеть только DNS, ICMP и другой трафик в открытом виде, но не HTTPS-трафик, потому что он зашифрован из конца в конец.

После того, как мы выполнили эти три шага, нам нужно сделать следующее: настроить прокси HTTP / HTTPS используя бесплатные инструменты, например, Bettercap - лучший инструмент, который мы можем использовать для проведения атак такого типа. После того, как мы настроили этот прокси-сервер HTTP / HTTPS, произойдет следующее:

  1. Жертва попытается подключиться к сети через протокол HTTPS, однако настроенный нами прокси HTTP / HTTPS сообщит жертве, что соединение должно быть HTTP, впоследствии наш прокси HTTP / HTTPS может пересылать информацию в Интернет. реальные (Google, PayPal, Amazon и т. д.) через HTTPS. Таким образом, злоумышленник будет получать все данные в виде открытого текста, поступающие и исходящие от жертвы и с реального веб-сервера, непрерывно преобразуясь между HTTP и HTTPS и наоборот.
  2. Сетевой сниффер, который мы активировали ранее, захватит весь HTTP-трафик и покажет нам в виде открытого текста учетные данные пользователя, файлы cookie сеанса и все, что делает жертва.

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

Как я могу защитить себя от этой атаки?

Этот тип атаки широко используется киберпреступниками для получения всего трафика своих жертв, особенно в общедоступных сетях, будь то проводные сети или общедоступные сети Wi-Fi, по этой причине не рекомендуется подключаться к этим типам сетей, которые мы делаем. не справиться. Однако, если кто-то сможет взломать нашу сеть Wi-Fi, мы окажемся в точно таком же сценарии: мы находимся в той же локальной сети, что и киберпреступник, они могут сделать нас атакой ARP Spoofing, а также атакой SSL Stripping. По этой причине так важно вести список проводных или WiFi-устройств, подключенных к нашей локальной сети, и время от времени проверять, нет ли злоумышленников, кроме того, мы также должны убедиться, что никто не может войти в нашу сеть WiFi. , поставив шифрование WPA2 -AES и отключив WPS (Wi-Fi Protected Setup).

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

Что в Интернете включен HSTS

HSTS или также известный как HTTP Strict Transport Безопасность, это политика веб-серверов, которая заставляет нас использовать HTTPS в нашем веб-браузере для связи с сервером. Ранее мы объясняли, что прокси-сервер HTTP / HTTPS может обмениваться данными через HTTPS без проблем с веб-сервером, однако, если на веб-сайте активирован HSTS, в браузере будет сохранен файл cookie, указывающий, что этот браузер никогда не сможет использовать протокол HTTP для общаться с веб-сервером, таким образом, у нас будет двухточечная безопасность, даже если кто-то вторгнется, установив прокси HTTP / HTTPS, чтобы «поднять» HTTPS нашего взаимодействия с сетью.

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

Отрицательной стороной HSTS является то, что, если мы впервые обращаемся к веб-сайту, и они выполняют удаление SSL, эта функция не сможет нас защитить. Защита от второго посещения, потому что файл cookie уже был загружен, если у нас нет списка предварительно загруженных веб-сайтов в нашем веб-браузере, как это происходит с «большими», такими как Google и другие службы. Мы сами могли бы создать список сайтов для предварительной загрузки HSTS, который предоставляется Google в рамках проекта Chromium.

В веб-сервере Apache нам нужно будет включить следующую директиву:

  • Заголовок всегда установлен Strict-Transport-Security «max-age = 31536000; includeSubDomains »

В веб-сервере Nginx нам нужно будет включить следующую директиву:

  • add_header Strict-Transport-Security «max-age = 31536000; включить поддомены »

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

Чтобы проверить, включен ли HSTS на определенном веб-сайте, вы всегда можете получить доступ к Официальный сайт Qualys SSL Labs где вы можете проанализировать все веб-сайты, которые вам нужны. Прежде чем завершить, мы должны указать, что эту защиту HSTS также можно обойти, основываясь на DNS Спуфинг для перенаправления жертвы в другой домен под нашим контролем, который совпадает с исходным, с целью «обмануть» его, Bettercap также включает эту функцию.

Используйте VPN

Еще один способ избежать атак этого типа на HTTPS-соединения - использовать VPN услуга. Виртуальная частная сеть или VPN отвечает за шифрование всех соединений точка-точка в туннеле, поэтому злоумышленник, который делает нас атакой ARP Spoofing и устанавливает сниффер, будет видеть только весь зашифрованный трафик, он не может ничего видеть. дополнительный протокол, потому что разрешения DNS также входят в туннель VPN. Возможно, что киберпреступник пытается «выбросить» этот VPN-туннель, на самом деле он мог этого добиться, вводя пакеты и заставляя VPN-сервис перестать работать в целях безопасности, однако мы должны помнить, что у VPN есть функция под названием Kill-Switch. Функциональность Kill-Switch позволяет вам полностью заблокировать интернет-трафик в случае, если VPN-туннель упадет или возникнет какая-то проблема, таким образом, мы будем уверены, что наши данные не фильтруются и что они не могут сделать нас каким-либо другим типом. атак. Всегда лучше остаться без подключения к Интернету, чем получить украденную информацию.

В настоящее время существует несколько протоколов VPN, таких как WireGuard, OpenVPN или IPSec IKEv2, все они безопасны, и мы можем использовать их, чтобы предотвратить перехват сообщений и снятие шифрования протокола HTTPS. По этой причине, если вы собираетесь подключаться к проводным сетям, общедоступным или незащищенным сетям Wi-Fi, настоятельно рекомендуется всегда использовать этот тип VPN. Мы можем сами настроить VPN-серверы в нашей домашней локальной сети, если у нас есть NAS-сервер, он будет иметь VPN-приложения и даже некоторые домашние маршрутизаторы, такие как ASUS, АВМ ФРИЦ! Box и даже D-Link или NETGEAR имеют серверы этого типа для безопасного подключения к Интернету, поскольку они перенаправляют трафик.

Если у вас нет возможности или знаний об установке и настройке VPN-сервера в вашем доме, мы рекомендуем вам использовать VPN-сервисы, такие как WARP от Cloudflare, который полностью бесплатен и работает очень хорошо, вы можете получить кайф. скорость загрузки и выгрузки и очень низкая задержка. Другие альтернативы, которые вы можете использовать, - это платные VPN-сервисы, потому что у них есть приложения для всех операционных систем, несколько серверов, разбросанных по всему миру, и важные функции, такие как Kill-switch среди многих других.

Выполните SSH-туннелирование

Еще один способ защитить себя от атак с использованием SSL Stripping - создать туннель SSH с перенаправлением трафика. Этот метод состоит из подключения к удаленному серверу SSH, которому доверяют, и настройки прокси-сервера SOCKS для его последующей настройки в веб-браузере. Таким образом, мы будем перенаправлять трафик веб-браузера через SSH-сервер, к которому мы подключились. Для этого мы должны выполнить следующие шаги:

  • Сконфигурируйте SSH-сервер безопасным способом, изменив порты, хорошую аутентификацию и хороший набор шифров.
  • Активируйте пересылку TCP на сервере SSH, иначе, даже если мы подключимся, мы не сможем пересылать интернет-трафик.
  • Настройте этот SSH-сервер в таких программах, как PuTTY, и включите пересылку или пересылку на определенном прокси-сервере SOCKS5.
  • Настройте этот локальный прокси, который мы только что создали, в веб-браузере, чтобы весь трафик проходил через SSH-сервер в Интернет.

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

Выводы

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

Если мы подключаемся к Интернету в общедоступных сетях через VPN или выполняем SSH-туннелирование, мы можем быть спокойны, потому что они не смогут перехватить сообщения и нарушить их, по этой причине использование этих методов так важно, когда мы находимся за пределами наших надежных сетей. Не имеет значения, находится ли VPN-сервер или SSH-сервер у нас дома, на арендованном нами VPS-сервере, и даже если мы используем платные VPN-сервисы, подобные тем, которые мы все знаем, важно защитить себя от злоумышленника. в нашей локальной сети и избегайте этого типа атаки с удалением SSL.