Статьи

Firefox, АНБ и Человек в середине

Все мы слышали слухи о массовом шпионаже АНБ по Интернету с использованием техники MITM (человек посередине) или, если кто-то не читал об этом, в нескольких поисках в Google можно найти всю историю.

Эта статья предназначена для людей, которые используют Mozilla, не предполагает использование VPN и просто показывает, как настроить некоторые параметры в браузере Firefox для повышения безопасности при попытке расшифровки трафика.

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

человек посередине

Первое, что я рекомендую, это установить это дополнение для Firefox:

https://addons.mozilla.org/ro/firefox/addon/calomel-ssl-validation/

Calomel SSL валидация

Дополнение очень полезно, потому что:

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

Во время изучения этой статьи я заметил, что крупные сайты, включая Facebook, Google, Paypal и т. Д., По умолчанию обеспечивают очень слабое шифрование: RC4 — 128 бит!
Более подробную информацию об алгоритме RC4 и его проблемах можно найти здесь .

Давайте посмотрим на SSL / TLS

Я не хочу, чтобы эта статья превратилась в статью о SSL / TLS, но я должен сказать несколько основных вещей.

  • SSL / TLS — это некоторые протоколы и правила, которые необходимо соблюдать, чтобы обеспечить безопасное соединение между вашим компьютером и сайтом, который вы посещаете. TLS — это в основном обновленная версия SSL.
  • Версии SSL 1.0, 2.0 и 3.0 устарели и не должны использоваться, тем более что известно, что они имеют проблемы с безопасностью. TLS 1.0 — это расширенная версия SSL 3.0, а TLS 1.1 и TLS 1.2 — более новые версии TLS.

Создание SSL-соединения выглядит следующим образом:

  1. TCP соединение установлено
  2. Клиент (браузер) отправляет «Hello клиент» на сервер. Также отправляет свою версию SSL / TLS. т.е. TLS 1.0
  3. Сервер отвечает «Hello World» и указывает поддерживаемую версию шифрования (т.е. TLS 1.0) и выбранный TLS набор шифров (алгоритм, используемый для шифрования)
  4. Сервер отправляет сертификат (или сертификаты) для идентификации. В частности, говорит: «Смотри, это доказательство того, что я« www.sitepoint.com ». Чтобы браузер был признан действительным, сертификаты должны быть подписаны уполномоченным органом в этой области: VeriSign и другие компании, признанные законными для подписания сертификатов.
  5. Клиент проверяет, что полученный сертификат в порядке, и если все в порядке, клиент и сервер обмениваются ключами (рукопожатие).

Использование ключей, которыми обмениваются выше, шифрование данных выполняется с использованием алгоритма симметричного шифрования (например, AES) с использованием изменения в «Обмен ключами». Размер зависит от ключей набора шифров. (Например, для 128-битного шифрования AES, чтобы перехватить отправленные данные, необходимо попробовать 2 ^ 128 ключей; НО Если алгоритм RC4, существует много известных атак на этот алгоритм, поэтому шансы намного больше, чем такое шифрование может быть сломано за более короткое время.)

Что мы можем сделать?

Как я уже сказал, по умолчанию браузеры отправляют полный список cipher-suite, а сервер обычно выбирает простой и быстрый алгоритм как RC4 для скорости загрузки страницы и совместимости со старыми браузерами. Мы можем заставить браузер выбрать более надежный шифр, просто изменив список наборов шифров, которые браузер отправляет на сервер, исключив «слабый» шифр, такой как RC4.

Для этого перейдите на страницу конфигурации в Firefox с помощью about:configsecurity.ssl

security.ssl

Отсюда мы можем отключить определенные комплекты шифров. Я не могу с уверенностью сказать, какие из них безопасны, а какие нет, но я могу порекомендовать вам выбрать RSA (обмен ключами) и AES (256-битный). Я отключил все, кроме RSA_AES_256_SHA.

Результат

Закройте браузер и снова откройте его и:

Calomel SSL валидация v2

Я надеюсь, что эта информация поможет вам безопасно просматривать Интернет, избегая хотя бы MTIM-атак.

Ресурсы

  • SSL / TLS — http://en.wikipedia.org/wiki/Transport_Layer_Security
  • MITM — http://en.wikipedia.org/wiki/Man-in-the-middle_attack
  • Каломель — https://addons.mozilla.org/ro/firefox/addon/calomel-ssl-validation/