Сергей Звезда
15 120

Главное об утечке данных пользователей 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": "self", "tags": ["\u0440\u0430\u0437\u0431\u043e\u0440\u044b","\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c","\u043c\u0435\u0442\u0440\u043e","\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b"], "comments": 86, "likes": 63, "favorites": 8, "is_advertisement": false, "section_name": "default", "id": "68871", "is_wide": "" }
Популярные материалы
Показать еще
{ "is_needs_advanced_access": true }

Популярные комментарии

Дискуссии по теме
доступны только владельцам клубного аккаунта

Купить за 75₽
Авторизоваться

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность писать комментарии и статьи
  • общение с членами клуба
Подробнее

Преимущества
клубного аккаунта

  • отсутствие рекламы
  • возможность читать и писать комментарии
  • общение с членами клуба
  • возможность создавать записи

Сколько это стоит?

Членство в клубе стоит всего 75₽ в месяц. Или даже дешевле при оплате за год.

Что такое клуб?

Клуб ТЖ это сообщество единомышленников. Мы любим читать новости, любим писать статьи, любим общаться друг с другом.

Вступить в клуб

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Вы не против подписаться на важные новости от TJ?

Нет, не против
[ { "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": 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" } } } ]