Главное об утечке данных пользователей Wi-Fi в московском метро Материал редакции

«Цифровые портреты» пассажиров мог узнать любой человек, власти на это не реагировали, а оператор всё же отключил «хранение данных».

В закладки

Московский разработчик обнаружил, что оператор Wi-Fi в столичном метро «МаксимаТелеком» хранил данные своих пользователей в незашифрованном виде, из-за чего доступ к ним мог получить любой человек. Предположительно, уязвимость действовала больше года. Только после резонанса в СМИ оператор заявил об устранении ошибки и переработке системы авторизации.

В московском метро собирают данные для таргетинга

Wi-Fi в московском метро обслуживает оператор «МаксимаТелеком». По собственным данным компании, в сети бесплатного интернета MT_FREE идентифицированы номера телефонов более чем 12 миллионов пользователей. Ежедневная аудитория оператора в метро составляет до 1,5 миллиона уникальных пользователей, около 150 тысяч пользователей из них покупают пакеты для отключения рекламы.

Конфиденциальные данные пользователей Wi-Fi в метро передаются в зашифрованном виде, заверял совладелец «МаксимаТелеком» Алекс Крихели. Он же называл эти сведения «уникальным богатством» оператора и признавался, что они используются для таргетирования рекламы.

Разработчик обнаружил, что оператор Wi-Fi поставил данные пользователей под угрозу

Чтобы использовать бесплатный Wi-Fi в московском метро, нужно ввести номер телефона или данные аккаунта на Госуслугах на странице авторизации сети (auth.wi-fi.ru). Эта страница открывается автоматически при подключении к сети, и если пользователь не обладает платной подпиской, то содержит рекламный блок, в котором настроен таргетинг.

В сети Wi-Fi московского метро данные пассажира, которые образуют «цифровой портрет», привязаны к MAC-адресу устройства. Такой портрет — это пол, примерный возраст, семейное положение, станции с предположительно домом и работой, а также достаток. Закон о персональных данных запрещает оператору хранить имена и фамилии, кроме того, вся персональная информация должна храниться в зашифрованном виде.

В начале марта Android-разработчик Владимир Серов опубликовал исследование кода страницы авторизации, в котором он пришёл к выводу, что номер телефона и другие данные пользователей сети Wi-Fi не были зашифрованы. Любой пассажир метро мог это проверить, открыв код страницы и взглянув на фрагмент после userdata.

Фактически любой человек мог собирать базу пассажиров московского метро для своих целей.

Для доступа к «цифровому портрету» любого пассажира достаточно было узнать чужой MAC-адрес и подменить его на свой или любой другой. Узнать MAC-адреса устройств в виде готовых списков реально: Серов привёл пример, как всего за две станции с помощью программы Airodump-ng собрал «тысячу работающих маков и посмотрел по ним социологию».

Разработчик упростил задачу и для избавления от ручного перебора MAC-адресов сделал скрипт. Программа позволила не только получать данные пассажиров, но и отслеживать их передвижения в режиме реального времени.

Таблица Серова с расшифрованными значениями «цифрового портрета»

Уязвимость работала больше года

5 марта Серов пожаловался на уязвимость через портал московской мэрии mos.ru, «потому что у „МаксимаТелеком“ нормальной техподдержки нет». Он не получил ответа и спустя неделю, 13 марта, рассказал о ситуации на «Хабрахабре».

Через два часа после публикации Серова номера телефонов в сети MT_FREE стали шифровать при передаче, чтобы исключить возможность их утечки. Судя по обновлениям в посте на «Хабрахабре», в последующие несколько дней оператор пытался изменить систему безопасности.

Разработчик заявил, что код всё равно остался доступным для дешифровки. 9 апреля он рассказал изданию The Village, что данные пассажиров московского метро до сих пор находятся под угрозой. Напрямую к «Максимателеком» Серов не обращался, что позднее признал «тупым» решением.

Уязвимость работала в сети Wi-Fi московского метро как минимум с 17 марта 2017 года, обнаружил The Village, изучив код страницы авторизации через её архивную копию в сервисе Wayback Machine.

Оператор отреагировал спустя месяц после рассказа об уязвимости

Сначала представители «МаксимаТелеком» попросили Серова удалить публикацию на «Хабрахабре», но тот отказал: «И почему я должен молчать о том, что с моими личными данными так обращаются?». Разработчик также не согласился добавить в свой пост официальный комментарий оператора.

9 апреля «МаксимаТелеком» в разговоре с TJ признала факт уязвимости. Компания «выключила хранение данных» о перемещении пользователей между станциями и, по её данным, исключила возможность трекинга пассажиров. Неизвестно, сколько номеров пользователей были доступны всё это время.

«МаксимаТелеком» намерена переработать систему авторизации так, чтобы было невозможно узнать чужие данные с помощью подмены MAC-адреса устройства. Пока этого не сделано, данные о трекинге будут отключены.

По сведениям «МаксимаТелеком», масштабной утечки данных пользователей удалось избежать. Единственное исключение — база, которую собрал лично Серов, о других оператору «неизвестно». О том, что теперь будет с этой базой, не упоминалось. Массовых атак такого рода компания не зафиксировала.

Дешифровать уже зашифрованные данные статистическим методом и сопоставить с номером телефона возможно, если злоумышленник располагает ранее украденной у нас информацией о номерах телефонов абонентов.

«МаксимаТелеком»
{ "author_name": "Сергей Звезда", "author_type": "editor", "tags": ["\u0440\u0430\u0437\u0431\u043e\u0440\u044b","\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b","\u043c\u0435\u0442\u0440\u043e","\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c"], "comments": 85, "likes": 63, "favorites": 8, "is_advertisement": false, "subsite_label": "tech", "id": 68871, "is_wide": false, "is_ugc": false, "date": "Tue, 10 Apr 2018 00:27:00 +0300", "is_special": false }
Объявление на TJ
Видео и гифки
Гифки и видео — наконец-то всё в одном месте. Это тот подсайт, куда можно постить короткие ролики, коубы и гифки без…
Подписаться
Подписан
Отписаться
Комментарии

Дневной цветок

2

зойчем пользоваться херово работающим метровайфайем при нынешнем-то операторском покрытии в метро

Банковский меч

6

Сочувствую тем, кто вынужден часто бывать в метро Москвы. Сочувтсвую, тем, кто мечтает жить в Москве. Сочувствую себе, что пока не събался из Москвы.

Ясный Мурод

40

Все так рьяно обсуждают, как какие-то частные компании сливают по ошибке данные пользователей, но почему я не вижу ни одной статьи о том, как государство сливает абсолютно все и всегда, и ты никак его не засудишь и ничего ему не предъявишь?

Я помню, как придя в поликлинику и дав им свой номер, мне уже к вечеру начали сыпаться спам-смски с такси и прочим говном. То же самое было, когда я давал номер в военкомате.

Там блять такие утечки и просто откровенная продажа всего о вас, но я не видел ни одного расследования на эту тему.

Технологии
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽
Обсуждаемое
Новости
Фигурант «московского дела» Айдар Губайдулин уехал из России. Он находится под подпиской о невыезде
Его обвинили в том, что он бросил в сторону силовика пластиковую бутылку.
Новости
Глава Mail.ru: через 10-15 лет люди откажутся от готовки еды в пользу доставки
Бизнесмен считает, что кухни уменьшатся или вовсе исчезнут из квартир.
Интернет и мемы
Blizzard дисквалифицировала студенческую команду, которая на стриме показала плакат с призывом освободить Гонконг
Так студенты поддержали игрока, которого студия отстранила от соревнований за лозунг в поддержку протестов против Китая.
Популярное за три дня
Новости
«Суки, сколько „за“, сколько „против“ и сколько воздержались?»: глава Мосгордумы на заседании поторопил подсчёт голосов
В итоге проект бюджета Москвы на три года рекомендовали для рассмотрения.
Новости
Патриарх Кирилл назвал «греховной» либеральную идею: в её центре — человек, а не Бог
По мнению главы РПЦ, либерализм является формой отказа от власти.
Наука
Парижский зоопарк представил новый экспонат — это «слизь» без мозга с 720 полами и способностью к самоисцелению
Таинственное одноклеточное существо назвали в честь хоррора 1958 года, где инопланетная слизь напала на американский городок.
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovy", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "ezfk" } } }, { "id": 6, "disable": true, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byswn", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "cndo", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223677-0", "render_to": "inpage_VI-223677-0-130073047", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=cndo&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudv", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "ccydt", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "cndo", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbk", "p2": "gnwc" } } } ]