Технологии Сергей Звезда
15 263

Главное об утечке данных пользователей 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" }
Комментарии

Главный единорожек88

2

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

Чувствительный якорь

2

Заботливо сделали некликабельную рекламу на главной, а потом ещё и пару бонусных блоков с уникальной возможностью не авторизоваться, а быть выкинутым обратно на главную.

Письменный бинокль

3

Да всех предупреждали ещё когда этот вай-фай только запускали

Технологии
дискуссии в сообществе доступны только владельцам клубного аккаунта
С клубным аккаунтом вы сможете
создавать записи и вести дискуссии в закрытых сообществах
наслаждаться нашим сайтом без рекламы
помочь проекту и почувствовать себя лучше
Купить за 75₽

Прямой эфир

[ { "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": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "i", "ps": "cndo", "p2": "flbq" } } }, { "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" } } } ]
Действительно важные push-уведомления
Подписаться на push-уведомления