Специалист по безопасности заявил о возможности перехвата переписки во «ВКонтакте» через Wi-Fi Материал редакции

Специалист по безопасности компании HeadLight Security Михаил Фирстов опубликовал код скрипта, позволяющего обрабатывать перехваченную переписку пользователей приложения «ВКонтакте» для Android и iOS, находящихся в одной локальной сети с хакером. Об этом он сообщил в своём микроблоге.

Обновлено: представители «ВКонтакте» опровергли возможность перехвата переписки при включённом HTTPS-соединении.


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

Код утилиты под названием vkmitm (от MITM — «man in the middle», тип атаки) Фирстов опубликовал на GitHub. Её исполняемая часть является скриптом на Python, который ищет в локальной сети запросы приложений «ВКонтакте» для Android или iOS на обновление списка сообщений.

В описании работы утилиты сказано, что запросы имеют одинаковый вид. В них различается только параметр key, который обновляется не чаще раза в два часа и не реже раза в сутки, поэтому использовать его можно продолжительное время. По мнению Фирстова, таким образом можно узнавать не только текст отправляемых и получаемых сообщений конкретным пользователем, но и служебные уведомления вроде «Набирает текст» и «Прочитано».

Чтобы иметь возможность прослушивать трафик, устройству злоумышленника достаточно находиться в одной локальной сети с жертвой — например, открытом Wi-Fi в кафе. «Слушать» сообщения в режиме реального времени необязательно: можно создавать дампы трафика через PCAP и разбирать их по заданной маске позднее.

Пример перехваченного трафика

Как рассказал Фирстов TJ, возможность получать сообщения в незашифрованном виде заложена в мобильных приложениях «ВКонтакте». По какой-то причине они передают их через протокол HTTP, даже если в настройках аккаунта стоит галочка «Всегда использовать защищённое соединение (HTTPS)».

По мнению исследователя, HTTPS был отключён специально, так как в мобильных приложениях принято экономить трафик, поэтому представителям «ВКонтакте» он об обнаруженном способе сниффинга не сообщал: «Это не уязвимость, а “фича”, которая изначально была заложена разработчиками».

Даже при включённой галочке «HTTPS» в настройках приложения данные о сообщениях (входящие/полученные/различные ивенты) передаются всё равно по HTTP. Я потестировал и написал небольшой скрипт, который получает эти данные из проходящего трафика и расшифровывает их — даже, скорее, расставляет по местам, так как в «сыром» виде сообщения малочитабельны.

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

Михаил Фирстов, специалист по безопасности HeadLight Security

Параметр key берётся из сниффинга всего объёма трафика по определённой маске. Определять личность пользователя по этому параметру Фирстов пока не научился, однако считает, что это можно сделать по косвенным признакам — например, по IP-адресу или по тексту самой переписки.

TJ уведомил представителей «ВКонтакте» о способе чтения чужой переписки. Пока неизвестно, что стало причиной неиспользования HTTPS при передаче личных сообщений.

Обновлено в 15:52: Как уточнил Фирстов, в последнем обновлении приложения VK App для iOS передача сообщений по HTTP была исправлена, но только в том случае, если пользователь указал на сайте «Всегда использовать защищённое соединение (HTTPS)».

Обновлено в 19:05: Пресс-секретарь «ВКонтакте» Георгий Лобушкин заявил TJ, что клиент для iOS использует HTTPS уже больше года (в нём нет возможности выключить защищённое соединение), а в случае Android трафик шифруется при включённой опции на сайте или в приложении. Когда именно соцсеть полностью собирается перейти на HTTPS, он не уточнил.

Результаты проверки наших специалистов по безопасности полностью опровергли доводы, приведённые в статье. Защищённое соединение HTTPS всегда используется в нашем приложении на iOS (его нельзя отключить). Также оно может быть включено пользователем в настройках в приложении на платформе Android. В таком случае получить доступ к переписке пользователя перехватом Wi-Fi-трафика невозможно. В ближайшем будущем мы планируем полностью отказаться от использования HTTP.

Георгий Лобушкин, пресс-секретарь «ВКонтакте»

По словам Фирстова, пользователи «ВКонтакте» зачастую не используют HTTPS, и сообщения передаются в незашифрованном виде: «С Android точно известно, что если в настройках аккаунта не стоит галочка рядом с HTTPS, то в приложении всё передаётся в открытом виде — как у большинства, если судить по трафику в публичных сетях».

Пользователь предпочёл скрыть от вас своё описание.
{ "author_name": "Никита Лихачёв", "author_type": "self", "tags": ["\u0441\u043d\u0438\u0444\u0444\u0438\u043d\u0433","\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f_\u0434\u043b\u044f_ios","\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f_\u0434\u043b\u044f_android","\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f_\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","\u043c\u0438\u0445\u0430\u0438\u043b_\u0444\u0438\u0440\u0441\u0442\u043e\u0432","\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","\u0432\u0437\u043b\u043e\u043c\u044b","\u0432\u0437\u043b\u043e\u043c_\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438_\u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435","\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c","https_\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b","headlight_security"], "comments": 41, "likes": 79, "favorites": 35, "is_advertisement": false, "subsite_label": "flood", "id": 56441, "is_wide": true, "is_ugc": true, "date": "Sat, 17 Oct 2015 15:16:07 +0300", "is_special": false }
Объявление на TJ
Комментарии

Любой ГОСТ

11

Ну и обязательный совет — при подключении к публичным сетям Wi-Fi всегда используйте VPN.

Генетический файл

2

HTTP был отключён специально, так как в мобильных приложениях принято экономить трафик

Заговор жидомасонов.

Общий ихтиандр

5

Ну об этой "фиче" было известно давно, коллега у нас в офисе демонстрировал пол года назад, тупо перехватывая трафик варежкой.

Офтоп
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽
Обсуждаемое
Новости
Два школьника из США опубликовали в сети фото с толпой учеников без масок. За это их отстранили от занятий
Директор пригрозил ученикам наказанием за публикации в соцсетях, которые выставляют школу в плохом свете.
Интернет
Twitter начал помечать аккаунты, связанные с властью. Соцсеть не будет продвигать такие учётные записи
Пока что подобные метки отображаются в аккаунтах Твиттера из пяти стран, в том числе и из России.
Технологии
Apple не пропустит в App Store игровые облачные сервисы от Microsoft и Google. Компания не может проверить в них игры
Очередной повод для претензий технологических компаний к Apple.
Популярное за три дня
Новости
В Хабаровске в 29 раз прошла акция в поддержку экс-губернатора Сергея Фургала
Официально в протесте участвовали три тысячи человек, но журналисты утверждают, что людей было в разы больше.
Разборы
Взорвавшаяся в Бейруте селитра хранилась в порту шесть лет. Её конфисковали с судна, принадлежавшего россиянину
Ливанские власти не отпускали экипаж с корабля год, а затем изъяли груз и хранили его на одном складе с фейерверками. По основной версии, они загорелись и вызвали взрыв.
Новости
96-летний итальянец исполнил мечту и получил степень бакалавра. Теперь он собирается в магистратуру
Никогда не поздно.