Еще в 2013 году Эдвард Сноуден говорил о том, что Агентство Национальной Безопасности (АНБ) способно перехватывать VPN-трафик и взламывать практически любое шифрование (в том числе, SSH и HTTPS). Однако Сноуден не объяснял, каким образом АНБ это делает. Годом ранее, о той же проблеме писал и Джеймс Бамфорд (James Bamford), ссылаясь на анонимные источники. Теперь завеса тайны над методами АНБ приоткрыта. Информация экспертов не являлась преувеличением, вероятнее всего, АНБ пользуется слабыми местами в протоколе Диффи-Хеллмана.
Не так давно иследователи опубликовали иследование в котором открывают каким образом АНБ удается взламывать большое количество HTTPS, SSH и VPN соединений. Да друзья мои, ваши VPN больше не защищают вас.
Слабое место, скрытое в протоколе обмена ключами, обнаружили ученые. 14 криптографов представили свой доклад (.pdf) на конференции ACM Conference on Computer and Communications Security. Главными идейными вдохновителями исследования стали профессора Алекс Холдерман (Alex Halderman) и Надя Хенигер (Nadia Heninger) из университетов Мичигана и Пенсильвании.
[ad name=»Responbl»]
Также исследователи напоминают, что по данным Сноудена, неофициальный бюджет АНБ составляет 11 млрд долларов в год. Агентство определенно могло позволить себе, построить суперкомпьютер за несколько сотен миллионов и, фактически, взломать протокол Диффиеллмана. Это вполне разумная инвестиция. Так, среди миллиона самых популярных HTTPS-доменов в мире, по версии Alexa, 92% используют два одинаковых простых числа в алгоритме Диффи-Хеллмана. Теоретически, АНБ может прослушивать их все.
Но не все так плохо как кажется на первый взгляд. К счастью, расшифровке подвержены не все алгоритмы используемые в браузерах. И отключив в настройках слабые алгоритмы, мы, таким образом заставляем наш браузер работать по более стойкому протоколу и таким образом держать наше соединение в безопасности. Ниже я раскажу какие настройки нужно необходимо сделать.
Для начала проверим какие алогоритмы использует ваш браузер на странице — How’s My SSL?
Внизу страницы имеется секция: Given Cipher Suites. Вам нужно проверить наличие значений «_DHE_». Если эти значения присутствуют — ваш браузер уязвим к вышеописаной атаке. Для защиты, нам необходимо отключить уязвимый алгоритм шифрования и таким образом заставить наш браузер работать по надежному алгоритму шифрования.
1. FIREFOX
В адресной строке набираем:
about:config
Нажимаем Enter, браузер нам задаст вопрос — «I’ll be careful, I promise!» соглашаемся. Далее в строку поиска вводим:
.dhe_
Наш браузер выдаст нам два результата:
"security.ssl3.dhe_rsa_aes_128_sha" "security.ssl3.dhe_rsa_aes_256_sha"
Двойным кликом по каждому переводим его из состояния True в False
Повторно открываем страницу — How’s My SSL? и проверяем чтобы слабые алгоритмы шифрования отсутствовали.
2. CHROME
Находим значек запуска нашего Google chrome на рабочем столе или в панели быстрого запуска. Правым кликом открываем его свойства.
В строчке «Target» в конец уже существующей команды дописываем:
--cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
В итоге ваша строчка «Target» должна иметь вид:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
После этого запускаем ваш Chrome этим ярлыком.
3. OSX
(Тестировано на 46.0.2490.71, OSX 10.10.5)
Открываем «automator» и делаем двойной клик на «Run Shell Script». Заменяем «cat» команду на следующее значение:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
Сохраняем приложение в вашей папке приложений а также можете перетащить его иконку в док и в дальнейшем используем его для запуска вашего Google Chrome без уязвимых протоколов шифрования.
4. Linux
В Linux вам необходимо запускать Chrome из командной строки посредством следующей команды:
google-chrome --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
5. OpenVPN
Большинство кофигураций клиентов OpenVPN содержать конфигурационный файл с расширением .ovpn который как правило находится папке установки программы /config/
Для проверки установленых алгоритмов шифрования выполняем команду
c:\Program Files\OpenVPN\bin\openvpn.exe --show-tls >1.txt
Далее в этой папке открываем файл 1.txt и проверяем установленые у вас алгоритмы:
[spoiler title=’результат вывода команды:’ style=’default’ collapse_link=’true’]Available TLS Ciphers, listed in order of preference: TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384 TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384 TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384 TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA TLS-SRP-SHA-DSS-WITH-AES-256-CBC-SHA TLS-SRP-SHA-RSA-WITH-AES-256-CBC-SHA SRP-AES-256-CBC-SHA (No IANA name known to OpenVPN, use OpenSSL name.) TLS-DHE-DSS-WITH-AES-256-GCM-SHA384 TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 TLS-DHE-RSA-WITH-AES-256-CBC-SHA256 TLS-DHE-DSS-WITH-AES-256-CBC-SHA256 TLS-DHE-RSA-WITH-AES-256-CBC-SHA TLS-DHE-DSS-WITH-AES-256-CBC-SHA TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA TLS-DHE-DSS-WITH-CAMELLIA-256-CBC-SHA TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384 TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384 TLS-ECDH-RSA-WITH-AES-256-CBC-SHA384 TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA384 TLS-ECDH-RSA-WITH-AES-256-CBC-SHA TLS-ECDH-ECDSA-WITH-AES-256-CBC-SHA TLS-RSA-WITH-AES-256-GCM-SHA384 TLS-RSA-WITH-AES-256-CBC-SHA256 TLS-RSA-WITH-AES-256-CBC-SHA TLS-RSA-WITH-CAMELLIA-256-CBC-SHA TLS-PSK-WITH-AES-256-CBC-SHA TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256 TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256 TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256 TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256 TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA TLS-SRP-SHA-DSS-WITH-AES-128-CBC-SHA TLS-SRP-SHA-RSA-WITH-AES-128-CBC-SHA SRP-AES-128-CBC-SHA (No IANA name known to OpenVPN, use OpenSSL name.) TLS-DHE-DSS-WITH-AES-128-GCM-SHA256 TLS-DHE-RSA-WITH-AES-128-GCM-SHA256 TLS-DHE-RSA-WITH-AES-128-CBC-SHA256 TLS-DHE-DSS-WITH-AES-128-CBC-SHA256 TLS-DHE-RSA-WITH-AES-128-CBC-SHA TLS-DHE-DSS-WITH-AES-128-CBC-SHA TLS-DHE-RSA-WITH-SEED-CBC-SHA TLS-DHE-DSS-WITH-SEED-CBC-SHA TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA TLS-DHE-DSS-WITH-CAMELLIA-128-CBC-SHA TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256 TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256 TLS-ECDH-RSA-WITH-AES-128-CBC-SHA256 TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA256 TLS-ECDH-RSA-WITH-AES-128-CBC-SHA TLS-ECDH-ECDSA-WITH-AES-128-CBC-SHA TLS-RSA-WITH-AES-128-GCM-SHA256 TLS-RSA-WITH-AES-128-CBC-SHA256 TLS-RSA-WITH-AES-128-CBC-SHA TLS-RSA-WITH-SEED-CBC-SHA TLS-RSA-WITH-CAMELLIA-128-CBC-SHA IDEA-CBC-SHA (No IANA name known to OpenVPN, use OpenSSL name.) TLS-PSK-WITH-AES-128-CBC-SHA TLS-ECDHE-RSA-WITH-RC4-128-SHA TLS-ECDHE-ECDSA-WITH-RC4-128-SHA TLS-ECDH-RSA-WITH-RC4-128-SHA TLS-ECDH-ECDSA-WITH-RC4-128-SHA TLS-RSA-WITH-RC4-128-SHA TLS-RSA-WITH-RC4-128-MD5 TLS-PSK-WITH-RC4-128-SHA TLS-ECDHE-RSA-WITH-3DES-EDE-CBC-SHA TLS-ECDHE-ECDSA-WITH-3DES-EDE-CBC-SHA TLS-SRP-SHA-DSS-WITH-3DES-EDE-CBC-SHA TLS-SRP-SHA-RSA-WITH-3DES-EDE-CBC-SHA SRP-3DES-EDE-CBC-SHA (No IANA name known to OpenVPN, use OpenSSL name.) TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA TLS-ECDH-RSA-WITH-3DES-EDE-CBC-SHA TLS-ECDH-ECDSA-WITH-3DES-EDE-CBC-SHA TLS-RSA-WITH-3DES-EDE-CBC-SHA TLS-PSK-WITH-3DES-EDE-CBC-SHA TLS-DHE-RSA-WITH-DES-CBC-SHA TLS-DHE-DSS-WITH-DES-CBC-SHA TLS-RSA-WITH-DES-CBC-SHA Be aware that that whether a cipher suite in this list can actually work depends on the specific setup of both peers. See the man page entries of —tls-cipher and —show-tls for more details.[/spoiler]
Вам необходимо запросить у вашего VPN провайдера использование более стойких алгоритмов шифрования и после этого прописать их в файле .ovpn командой:
tls-cipher [cipher-1]:[cipher-2]:[cipher-3]
2 comments On Делаем программу слежения АНБ бесполезной в три клика.
Pingback: Режим параноика в Windows 10: отключаем слежку встроенными средствами | Сисадминство ()
Как быть с SSH?