HTTPS действительно безопасен?






Вы подключаетесь к публичной сети. Скажем, вы зашли испить чашечку кофе в интернет-кафе и подключаетесь к Интернет через местную WiFi сеть. По привычке вы первым делом открываете стартовую страницу Facebook и собираетесь авторизоваться на сайте. В это же время у вас возникает мысль: "Что, если кто-то как раз сейчас пытается осуществить MITM атаку? Что, если какой-то неизвестный злодей пытается обмануть меня путём фишинга?


Эта мысль занимает вас, но тут вы вспоминаете: «Ой, URL же правильный, а значит фишинга здесь быть не может. Если фишинга нет, значит передо мной реальная страница логина Facebook и бояться нечего, ведь Facebook использует HTTPS для обмена данными с клиентами. Таким образом, даже если и существует вероятность присутствия MITM, то ему не достанется ничего, кроме зашифрованных данных, которые он вряд ли сможет расшифровать».

Довольный своими умовыводами, вы спокойно вводите логин и пароль к вашему аккаунту в Facebook и успешно авторизуетесь. На следующий день выясняется, что ваш аккаунт взломан.

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

Итак, вся описанная ситуация вызывает вопрос: как именно злоумышленник получил пароль? Была ли это фишинг-атака? На это вы ответите: «Я более, чем дважды убедился в правильности введённого URL, так что это определённо не было фишингом.»

Угадайте, что это было? Это мог быть фишинг. Чтобы понять, как такое может быть, представим, что имеется MTIM. Когда вы открываете URL в браузере, ваш компьютер сперва преобразует DNS-имя сервера, к которому вы обращаетесь, в его IP-адрес. После того, как IP будет определён, вы подключаетесь к серверу, используя определённый IP. Теперь вспомните, что между вами и Интернет находится тот самый MTIM, то есть злоумышленник. Вот он и может на стадии определения вашим компьютером IP-адреса сервера Facebook послать вашей системе в ответ IP такой, какой ему заблагорассудится. Теперь представьте, что этот IP — это адрес его собственного сервера, содержащего копию страницы логина Facebook. Таким образом, вы действительно видите в адресной строке корректный URL, вводите логин и пароль, ничего не опасаясь... Бамс! Вы попались!

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

Но только ли фишинг возможен при использовании HTTPS? Кто-то может сказать: «Ну да, ведь при использовании HTTPS все данные шифруются и получивший секретные данные злоумышленник ничего полезного из них не выудит. Таким образом, если страница логина настоящая — беспокоиться больше не о чем.»

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

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

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

Оригинал статьи на houcemhachicha.blogspot.com




HTTPS действительно безопасен?: 3 комментария

  1. эта атака будет работать в том случае, если злоумышленник будет глушить ТД, иначе она отправит валидные пакеты с резолвом клиенту после либо во время момента спуфинга. правда, как себя поведет клиент в таком случае, непонятно.

  2. Вы забыли главное правило — убедиться что установлено SSL соединение (значёк закрытого замочка, https перед адресом) и, главное, прочитать сертификат (если подписан кем надо — всё хорошо, если Васей Пупкиным от ВасяПупкин Сертификационного Центра... тады ой и надо сообщить кому следует что бы его центр сертификации прикрыли — ибо злаупотребляет)

    P.S. Научите уже свой блог воспринимать кирилические емейлы...

  3. P.P.S. Так же не лишним посмотреть ip адреса на которые указывает домен и взглянуть на whois информацию.

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

    Так же помимо подмены ip в dns ответе может быть и другое... :

    1. перенаправление вашего трафика на нужный ip через «криминальный» маршрут...

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

Комментарии запрещены.