Пользователь
0,0
рейтинг
10 февраля 2015 в 22:50

Разработка → Шпионим за всеми с помощью Яндекс.Метро



Так как Яндекс, по всей видимости, не собирается закрывать свой шпионский «баг», давайте тогда будем активно им пользоваться.

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

Для этого необходимо с помощью известной XSS или CSRF уязвимости в прошивке домашнего роутера (раз, два, три и др) определить MAC адрес маршрутизатора пользователя (он же и будет BSSID Wi-Fi сети). Если у вас есть прямой доступ к ПК пользователя, то достаточно просмотреть ARP кэш на ПК с помощью команды «arp -a». Обычно первой строчкой в кэше идет MAC адрес шлюза по-умолчанию, который и будет искомым BSSID.

Полученный BSSID можно вставить в запрос, который отсылает Яндекс.Метро:



curl
curl -i -s -k -X 'POST' \
-H 'User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.0.1; Nexus 5 Build/LRX22C)' -H 'Content-Type: application/x-www-form-urlencoded' \
'http://mobile.maps.yandex.net/cellid_location/?clid=1866854&lac=-1&cellid=-1&operatorid=null&countrycode=null&signalstrength=-1&wifinetworks=EE43F6D1B690:-65&app=ymetro'

После чего мы получим вот такой ответ:



В ответном пакете указаны координаты запрошенной wi-fi точки доступа, бережно собранные и сохранённые Яндексом. Можно вбить их в Google Maps и найти нужный вам дом. Координаты не всегда точные, но как отправная точка для поисков сгодятся.

Ещё одна любопытная особенность: в примере указан MAC адрес краснодарского маршрутизатора (~1500 км до метро). Надеюсь, это знак того, что у нас скоро появится подземка!
Артем Агеев @merced2001
карма
5,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (114)

  • +6
    Пардно, промахнулся.
  • +12
    То есть получается публичный сервис для получения геокоординат по BSSID. Ну клево, чо.
    • +44
      Есть такой публичный сервис: tech.yandex.ru/locator/
      И даже более того: developers.google.com/maps/documentation/business/geolocation/#wifi_access_point_object
      • +14
        и мозилла то же самое собирает location.services.mozilla.com/
        • 0
          Добавлю, что здесь данные открытые, и вы сможете скачать табличку с базовыми станциями и их координатами. Другой вопрос, если я не хочу, чтобы мою точку кто-нибудь находил.
          Ну и напоследок, клиент Мозиллы открыт, можно брать и читать, что они там делают.
      • –3
        Справедливости ради, у Гугла необходимо как минимум 2 точки доступа WiFi чтобы определить местоположение, что даёт хоть какую-то защиту. И ключик.
      • 0
        Ой. Мне почему-то казалось, что в таких сервисах есть хотя бы минимальные средства защиты.

        Начинаю думать, что RMS с его паранойей не так уж и неправ. (Да, еще один все понял).
  • 0
    Я как-то домой (в Свердловской области) с новым планшетом пришёл. А он у меня вдруг погоду в Новосибирске стал показывать на виджете :) А это просто я свой маршрутизатор на сессиях использовал в Новосибирске. Только там яндекс был ни при чём.
  • +8
    как бы закрыли ?
    • 0
      А вы проверьте сами. Curl скрипт в статье.
  • +23
    У вас устаревшая версия Яндекс.Метро, новая ничего подобного не отправляет.
    • –2
      Ну тогда не о чем беспокоиться. Подмигнул.
    • –1
      Антон, отправляет.
      Заголовок спойлера

      • +23
        Артём, вы в данном случае зачем-то реверс-инжинирите обращения к Яндекс.Локатору. Я ниже вам привёл официальный API, и там же приводят такой же API от Гугла.

        В чём именно смысл поста?
        • 0
          Смысл в том, что я не хочу отправлять вам каждый раз при открытии любого приложения Яндекс сведения о своем местонахождении. Однако мне нравятся ваши приложения и я хочу ими пользоваться.

          Сделайте, пожалуйста, возможность opt-out для своих служб геолокации, как это сделал, к примеру, Google.
          • +6
            1. Гугл, насколько мне известно, сделал такой опт-аут для владельцев Wifi, а не для владельцев устройств. Я ошибаюсь?

            2. Я вам ещё в прошлом посте сказал, что мы подумаем над такой возможностью, но пока не считаем её правильной. Вы не считаете, что мы можем сами решать этот вопрос?

            3. Даже если такой опт-аут появится, Яндекс.Локатор работать не перестанет. Как opt-out связан с темой поста?
            • +8
              1. Ошибаетесь. Гугл сделал и то и другое.
              2. Мне кажется, сведения о моем местоположении вкупе с личными идентификаторами — это моя личная тайна. Я имею право на конфиденциальность.
              3. Если бы вы сделали opt-out еще и для точек доступа, проблемы бы не было.

              Кстати этим багом активно пользуются.
              • +5
                1. Ок, принято. Как я уже отвечал, мы подумаем над этим. Возможно, это действительно нужно сделать.
                2. Что мешает вам на пользоваться в таком случае Яндекс.Метро?

                Также, объясните, что именно вы считаете багом? Существование Яндекс.Локатора? Отсутствие opt-out?
                Кажется, ни то ни другое под определение «бага» не подходят.
                • +2
                  2. А чем это поможет? Мак моего роутера уже у вас в базе. Да и я уже говорил выше: мне нравятся ваши приложения.
                  3. Яндекс мог бы собирать не сами маки, а хэши (как делает Google). Яндекс мог бы не отвечать на простой запрос «скажи где живет пользователь», а требовать хотя бы API Key (как делает Google).

                  Давайте я скажу прямо. Ваш сервис активно используют те, кому эта информация для чего-то нужна. Используют уже много лет. Хватит уже.
                  • +10
                    У вас очень часть меняется желаемое.

                    Сначала вы хотели в Метро отписку от геолокации. Теперь вы хотите изменений в Яндекс.Локаторе, потому, что «используют много лет уже».

                    Более того, когда я вам отвечаю «мы подумаем над этим», вас ответ не устраивает.

                    Мне начинает казаться, что ваша цель — просто покритиковать.
                    • +2
                      Антон, а чего боятся критики?

                      Ведь подкинул я вам дельную идейку в прошлый раз? Может, и сейчас чем помогу…
                      • –12
                        Ок, приятно, что вы признаёте, что у вас нет цели улучшить что-то.
                        • –1
                          Антон, Вы вроде взрослый человек, а разговор ведете, как не очень взрослый.
                  • +6
                    а чем хеширование поможет? при использовании sha512 можно восстановить всю базу полным перебором за 6 дней используя лишь компьютер с видеокартой. Это даже без оптимизации с использованием базы префиксов производителей
                    • +1
                      Можно хэшить BSSID + SSID.
        • –5
          Кстати, Google хэширует маки перед отправкой. Да и без API Key координаты не получишь. Что Яндекс на это ответит?
          • +13
            ну захэшировал я мак так же и ключик получил, в чем разница?
            • +1
              Хэширование, вероятно — просто минимальная защита от случайных утечек частей данных.
        • +6
          Парень упорно просит его похедхантить, предложите ему уже что-то :)
    • +22
      Ну и добавлю, что для того, чтобы по Wifi определять чьё-то местоположение не нужно ничего реверс-инжинирить, для этого есть Яндекс.Локатор, совершенно официальный: tech.yandex.ru/locator/
      • –11
        А технические сведения об устройстве, отправляемые к вам — это так. Просто так. Это баг такой.
        • +9
          Какие именно технические данные?
          • –20
            Ну там для начала на первый взгляд безобидные припихнуты параметры… и может быть, пока они и не передаются, или пока там стоят «null» или "-1", но они там отчего-то есть… и не факт, что каких-нибудь более подробных сведений не появится. Послушайте, ну вы правда хотите об этом спорить? Говорю же — к такой позиции можно относиться как к идиотизму, к паранойе. Можете оскорблять меня, а при встрече даже попробовать пнуть, но такая позиция останется. Ничего с этим не сделать — всегда будут люди, которые не хотят, чтобы о них где-то что-то сохранялось. Ниже я привел на первый взгляд безобидный случай, почему меня все это смущает.

            Это же можно понять?
            • +22
              Покажите, где я вас оскорблял или хотя бы неуважительно обращался?

              Пока вы только не можете ответить за свои слова. Вы говорите «технические сведения об устройстве». Я спрашиваю «какие?». А вы в ответ «может быть, пока они и не передаются».

              • –14
                Да я не говорил, что вы это делали, я говорю, что это можно сделать… ладно, я попытался. Извините.

                А по поводу ответить за слова. Ой, вон, смотрите, что это… это POST-запрос, а в нем, «cellid», «operatorid». Паранойя же.
      • +4
        • 0
          cURL запрос для Google Maps API, по аналогии как у автора в топике, можно указать несколько близлежащих WiFi точек, уровень их сигналов, для более точного позиционирования, ну и нужно вбить свой API_KEY с активированным Google Maps Geolocation API:
          curl -i -s -k -X 'POST' -H 'User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.0.1; Nexus 5 Build/LRX22C)' -H «Content-Type: application/json» -d '{ «wifiAccessPoints»: [ { «macAddress»: «01:23:45:67:89:AB», «signalStrength»: -65, «age»: 0, «channel»: 11, «signalToNoiseRatio»: 40 } ] }' www.googleapis.com/geolocation/v1/geolocate?key=API_KEY
          • 0
            Хабра парсер кавычки коегде заменил, ну думаю понятно где поправить, на оформление как «код», кармы не хватило сори
      • –7
        Помнится, давно-давно, познакомился с одной намой цветочного имени довольно из серьезной глубинки. С ней у меня случилось пара мимолетных глиссандо. Об этой даме у меня не осталось никаких, абсолютно никаких контактов, даже не осталось телефона. Или имейла. Ничего не было. А буквально на днях мне ее в друзья предложил Фейсбук. А?
        • +9
          Это судьба. Смиритесь.
        • +5
          Facebook(как и большинство) предлагает людей, с которыми вы знакомы через 2, реже 3 рукопожатия. Даже если предположить, что ваша встреча с «намой цветочного имени» не была катализирована общими друзьями/увлечениями/работой, то все равно что-то общее у вас было, достаточное для «пары глиссандо». Что же удивительного, что вы вдруг стали знакомы через пару человек?
  • –2
    Работает!
    Только показало координаты этой wifi-точки, а не телефона.

    А что такое nlatitude и nlongitude?
    • –3
      anton, а можно этим пользоваться как api для выяснения координат wifi-точек?
  • +15
    habrahabr.ru/post/102332/

    кажется автор опоздал на 5 лет…
    • +26
      как приятно, когда через 5 лет твой пост вспоминают…
      эх, были времена…
  • +17
    Эм. Уязвимость в том, что узнав BSSID точки, например оказавшись с ней рядом или получив доступ к локальной сети, которую она обслуживает, можно узнать её примерные координаты? У меня для вас новость, можно было сразу GPS включить и текущее местоположение посмотреть.
    • –10
      Трюк вполне работает удалённо (хоть и требует определенной подготовки).
  • 0
    Помогало бы оно пропавших людей находить. Было бы на багом, а фичей.
    • +6
      Это и так не баг — есть совершенно официальный API Яндекс.Локатора: tech.yandex.ru/locator/
  • +15
    Могу вам подкинуть задачку чуть сложнее. Точно таким же образом можно получить координаты точек из баз Apple и Microsoft (те, которые я лично реверсил). Никаких API ключей, банальный HTTPS POST запрос без клиентских сертификатов и certificate pinning. Более того, у Apple все даже серьезнее — вы им один MAC, а они вам в ответ координаты сотни точек вокруг искомой еще заодно кидают. Правда берегитесь, у Apple протокол бинарный, хоть и достаточно известный. Есть еще skyhook, но там надо ключ получить — зарегистрироваться на сайте и вперед, дампите их базу сколько влезет.

    А по статье, я не понял, что вы хотели ей донести. Да, есть такие базы и их много. Более того, они открыты и все к ним имеют доступ. Есть базы для MAC'ов WiFi точек, есть базы для LAC-CID базовых станций. Все открыто и доступно даже без всякого реверсинга.
    • –9
      У Apple и Микрософт есть opt-out?
      • +7
        Микрософтом не пользуюсь лично, на эпл нет, насколько знаю. Если вам нужен opt-out, то просто не пользуйтесь вообще сервисами местоположения. Оставляйте выключенными. И то у меня нет уверенности, что системные компоненты перестанут использовать их (им то никто не запрещает естественно). Если они включены и какое-то приложение запросило доступ к координатам, то с большой вероятность в ближайшее время на сервера эпл отправится запрос на получение координат wifi точек и базовых станций. И делает это iOS когда ей вздумается, потому что у нее до сих пор в базах копится трек базовых станций и wifi точек с координатами, временнОй меткой и прочими полезными данными, за который так ругали эпл. Правда, сейчас его вроде бы так просто уже не вытащить.
        • –9
          И Apple и Микрософт предоставляют возможность opt-out, а так же анонимизируют собираемые сведения. Яндекс отправляет сведения вкупе с 3 различными идентификаторами при выключенной опции отслеживания местоположения при запуске практически любого своего приложения, отдаёт их любому в явном виде и не имеет опции opt out.
          Надеюсь, теперь вам понятно что я хочу донести.
          • +6
            Поделитесь, пожалуйста, ссылкой на описание opt-out от геолокации по Wifi в Apple?
            • –10
              Нет яблочного девайса под рукой. Вот что нагуглил www.vcpost.com/articles/28524/20141003/iphone-6-tracking-software-–-heres-opt-out.htm

              Кстати неделю назад смотрел трафик Яндекс.Метро для iOS. Пакетов с вайфай маками не увидел…
              • +9
                Ссылка, которую вы прислали, — совсем про другое. Она про сохранение геоданных в телефоне для таргетирования рекламы. Её включение не отключит геолокацию по Wifi и не даст удалить свой Wifi из базы.

                При этом двумя постами выше вы уверенно заявили «и Apple и Микрософт предоставляют возможность opt-out».

                Выглядит так, как будто вы манипулируете данными или просто врёте.
                • –9
                  Антон, у вас же iPhone! Зайдите в настройки и посмотрите
                  cdn.theunlockr.com/wp-content/uploads/2013/06/Location-Services-All-Apps.jpg
                  • +7
                    Вы продолжаете рассуждать на темы, в которых вы не в курсе. К чему эти настройки? Вас просят показать opt-out от геолокации по wifi. По вашей ссылке отключение всех сервисов местоположения для приложений — ни wifi, ни gps, вообще никакого местоположения. Это опять не в тему.
                    • –5
                      Может, тут тогда в тему? support.apple.com/en-us/HT201357
                      Crowd-sourced Wi-Fi and cellular Location Services
                      If Location Services is on, your device will periodically send the geo-tagged locations of nearby Wi-Fi hotspots and cell towers in an anonymous and encrypted form to Apple to augment Apple's crowd-sourced database of Wi-Fi hotspot and cell tower locations.

                      • +7
                        Я об этом и так вам уже сам рассказал в нескольких постах. Не меняйте тему. Речь об opt-out, которого, вопреки вашим словам, в iOS и Windows Phone нет. Вы рассказали про базу координат точек, на что последовало пояснение, что таких баз полно, и они в свободном доступе. На что вы опять сменили тему на какие-то идентификаторы. С такой непоследовательностью суждений вас просто невозможно понять. Еще и приводите ложные факты.
                        • –9
                          Opt-out от сбора Wi-Fi маков в iOS есть. Ссылку дал. Косвенное доказательство (Яндекс.Метро не шпионит за пользователями apple) привёл. Среди всех баз только Яндекс совсем никак не пытается защищать эти сведения. Пример обратного поведения Гугла привел. Что ж вы ещё от меня хотите?
                          • +7
                            Вы не дали ссылку. По вашей ссылке ничего такого нет.

                            Вы лишь так рьяно продолжаете обвинять Яндекс, что появляется подозрение, что это и есть единственная ваша цель — обвинить хоть в чём-нибудь.
                            • –4
                              Давайте так. Если у Apple ползунок Location Services переведен в On — телефон собирает вайфай маки. Если Off — то, соответственно, не собирает.

                              Сделайте, пожалуйста, такой же в Яндекс.Метро!
                          • +6
                            Опять вы рассуждаете на тему того, чего не понимаете. На вашем скриншоте явно изображен iPad, у которого нет 3G модуля, а значит нет GPS. Wifi геолокация на нем это единственный источник местоположения, поэтому те настройки, по сути, только за эту wifi геолокацию и отвечают, хотя их реально назначение — полное отключение служб геолокации вне зависимости от источника данных. Если же мы возьмем устройство с GPS модулем, то те опции не изменят своего смысла, а будут работать по своему прямому назначению — они полностью отключат службы геолокации, что означает отключение и wifi, и gps геолокации. Еще раз прочтите, что от вас хотели? Спрашивали вполне ясно.

                            Посему, никакого opt-out нет на iOS и никогда не было. Никаких доказательств вы не привели, потому что их и быть не может — такой возможности в iOS не заложено. В Windows phone, судя по беглому просмотру, тоже ничего подобного нет.

                            Яндекс.Метро не шпионит за пользователями apple

                            Не «шпионит», потому что официальный API не дает доступа к MAC'ам точек вокруг. Читайте, пожалуйста, комментарии, раз. Если использовать private API, то никакое отключение служб геолокации не остановит вас от получения списка видимых базовых станций и точек доступа, а с ним и получения координат через сторонние сервисы. Это я тоже делал лично. Базовые станции может получить даже AppStore приложение любое. Другое дело, что за Private API могут отозвать приложение из магазина или чего хуже.

                            Среди всех баз только Яндекс совсем никак не пытается защищать эти сведения

                            Тоже самое наблюдается у microsoft, которые точно так же собирают все идентификаторы вместе с точками. Читайте, пожалуйста, комментарии, два.
                            • –3
                              1. В iOS можно отключить location services для конкретного приложения (что прекрасно видно на скриншоте). То есть Apple даёт отличную возможность защитить себя от шпионских приложений. За обход ограничений по вашим же словам можно заработать бан.
                              2. Раз так, то прошу пруф. Шаблон простого запроса к серверам МС (лучше Curl). В качестве образца можно использовать мак адрес из статьи. И точность сразу сравним…
                              • +2
                                1. Да, эпл хорошая компания. Но вопрос таки ставили вам другой и ответа вы на него не дали.
                                2. Отправлять на inference.location.live.net/inferenceservice/v21/pox/GetLocationUsingFingerprint, POST запрос сжимается gzip. Шаблон взят прямиком из тестового кода.
                                <?xml version='1.0' encoding='UTF-8'?>
                                <GetLocationUsingFingerprint xmlns='http://inference.location.live.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
                                <RequestHeader>
                                <ApplicationId>00000001-7eba-4f0d-82e5-8f88bd1c2e8c</ApplicationId>
                                <DeviceProfile DeviceType='WM7' ClientGuid='00000000-0000-0000-0000-000000000000' OSVersion='7.10.7740.WM7_MangoSVC(mojobld).20111025-0013' LFVersion='2.0' ExtendedDeviceInfo='NOKIA/Lumia 800' Platform='QUALCOMM/ID 74 Rev 2.1/7X30A-16002479-AAAEQOWZM' DeviceId='31231231231412'/>
                                <Authorization/>
                                <TrackingId>e344b214-a9b3-a9a2-f9cf-e8cd09d434cd</TrackingId>
                                <Timestamp>" + new DateTimeOffset(DateTime.Now, TimeZoneInfo.Local.GetUtcOffset(DateTime.Now)).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'sszzz") + @"</Timestamp>
                                </RequestHeader>
                                <BeaconFingerprint>
                                <Detections>
                                <Wifi7 BssId='{0}' rssi='{1}' />
                                </Detections>
                                </BeaconFingerprint>
                                </GetLocationUsingFingerprint>
                                

                                По какой-то причине сейчас даже на заранее рабочие запросы приходит ответ, что координаты получить не удалось. Делал я это все года два назад, на Windows Phone 7 еще. Так что что-то вполне могло измениться.
                        • –6
                          Артем, вы один из разработчиков Яндекс.Локатора, верно?
                          • +5
                            Естественно, больше никаких причин опровергать неверную информацию с вашей стороны у меня нет. Нет, к Яндексу я не имею никакого отношения. Более того, моя сфера деятельности связана именно с информационной безопасностью. Собственно, чего я вдруг полез в эти протоколы геолокации.
              • +3
                Пакетов с вайфай маками не увидел…

                Потому что на iOS доступа к такой информации официально нет. Доступен MAC и SSID только текущей точке, к которой подключено устройство.
          • +6
            Зачем тогда спрашивать? Раз вы знаете, то покажите мне пожалуйста, где я могу запретить своему айфону отправлять видимые сети и станции для получения местоположения. Чтобы только один GPS использовался. Ваша ссылка выше никакого отношения к этому не имеет, как уже пояснили.

            Выключенная опция местоположения означает отключение системных служб. Приложение может при этом делать все что ему вздумается (в соглашении пользователя вас об этом любезно уведомили даже) в пределах тех прав, которые вы ему оставили. Если API дает доступ к маку и базовым станциям, то почему бы яндексу не определить местоположение через свои сервисы? Опция в настройках андроида к этому никакого отношения не имеет. Я решительно не понимаю, как можно проводить параллель между этими абсолютно не связанными явлениями.

            Возвращаясь к статье, я не увидел даже намека на то, что вы хотели донести статьей вверху. Вы сделали для себя какое-то открытие что ли? Поздравляю, теперь вы знаете, что таких баз куча. Заодно сообщу, что microsoft точно так же с каждым запросом координат точек отправит тучу идентификаторов устройства — никакой анонимизации, то бишь, нет (я не понимаю, ради чего вы выдумываете факты? Я эти протоколы лично реверсил, поэтому прекрасно знаком с тем, что и куда уходит). За сервисами местоположения apple такого не замечал, да.
            • –4
              К сожалению, под рукой у меня только Андроид и приложения Гугл. Поэтому буду утверждать про них.
              Гугл даёт возможность opt-out как для пользователя так и для владельца точки доступа. Это важный шаг, который показывает уважение Гугла к личной тайне пользователей.
            • 0
              Не уверен точно, но некоторые источники пишут что Location Services -> System Services -> Wi-Fi Networking как раз отвечает за эту отправку
              • +2
                Я вот тоже не уверен. Никаких пояснений от Apple нет, никакого запроса на opt-out так же.

                Сейчас провел тест — отключил обе опции, которые намекают на отправку точек и базовых станций. Включил HTTPS прокси. Посыпались запросы на gs-loc.apple.com, но к сожалению SSL хэндшейк не проходит — возможно есть клиентский сертификат. Местоположение получить не получается, я в офисе, GPS тут не ловит.

                Отключил HTTPS прокси, оставил просто логирование запросов. Опять пошли запросы на gs-loc.apple.com, но на этот раз все выполнилось и местоположение было получено с определенным радиусом. Так что, вопреки переключателям, данные явно улетают, поэтому непонятно, что же они все таки отключают.
                • 0
                  Логика подсказывает что существует два разных запроса: «Я нахожусь в (x, y) и вокруг меня есть такие точки» и «Вокруг меня есть такие точки, где я?». И возможно та галка отключает отправку первого типа запросов, которые используются апплом для построения базы точек, но при этом второй тип можно отключить только выключив целиком location services, которые пытаются определить местоположение всеми доступными способами
                  • 0
                    Первый тип это уже другая тема — это именно пополнение базы. Статья как раз о втором запросе, и он явно не отключается в настройках, только полным отключением location services.
  • 0
    А ещё есть сервис wigle. Не знаю насколько размеры его базы сопоставимы с базой локатора яндекса, но как дополнительный источник данных он вполне подходит.
    • 0
      Там базы собираются, в основном, с помощью вардрайвинга. Соответственно точность и покрытие на порядок меньше, чем у Яндекса. Ну и API мудрённый + тормоза страшные.
  • +2
    Какая-то инфантильность с требованиями сделать всё так, как хочется, в бесплатном приложении.
    Боязнь слежек? Режьте полностью траффик. Запускайте в изолированом контейнере.
    Разработчики же вправе делать это, если предупредили, нет?
    • –3
      Разработчики посчитали круглосуточную слежку багом и исправили. Тоже инфантильность?
      • +4
        Инфантильность с вашей/твоей стороны добиваться того, что хочешь, способом «скандалы расследования».
        Я может быть не проснулся ещё, но так и не понимаю, почему отслеживание местоположения — баг? Это не секретная информация, по умолчанию оно у всех не скрыто ( ирл ). Мне кажется, что наличие платформ, с которыми крайне затруднительно/невозможно скрыть своё местоположение — это естественное положение вещей. Требование от платформ дополнительных функциональностей анонимности может нести ущерб скорости их развития.
        • –3
          Этот способ работает. Другие пробовал — не работают.

          Я считаю, что рассказывать или нет третьим лицам где я живу, работаю и отдыхаю — мой личный выбор. Я хотел бы, чтобы Яндекс его уважал хотя бы в той же степени, что и Гугл, Apple и Microsoft.
          • +5
            Вас чем-то лично обидел Яндекс? Я не вижу других причин писать «Я хотел бы, чтобы Яндекс его уважал хотя бы в той же степени, что и Гугл, Apple и Microsoft.» когда в этом же посте, вы не дали ссылку на возможность отключения таких функций в ios.
            Проблема в том, что профит от этой функции в разы больше оутфита от недовольных. Мне кажется, что даже профит от разработки отключения такой функции меньше оутфита от её отсутствия. Потому-что не нужно.
            Есть ещё один способ, который точно работает и не сотрясает воздух попусту — напишите своё приложение только с рассчётом маршрута, без интеллектуальных функций.
            • –3
              iOS позволяет индувидуально каждому приложению разрешить/запретить использование геолокации с помощью сбора мак-адрессов окружающих wi-fi точек (а равно и отсылку таких адрессов). Я привел все необходимые скриншоты и ссылки. Подробней будет только приехать и ткнуть носом в настройки лично. Контроль за отсутствием собственных функций геолокации осуществляется в AppStore жестко. За такое могут забанить.

              Профит — это да, проблема. Думаю, оутфит можно поднять судом или жалобой в Гугл. Тогда, думаете, исправят?
              • +4
                Пробуйте, чего уж там.
              • +2
                ios позволяет запретить приложению использовать любую геолокацию, как уже примерно восемьдесят раз в этом топике вам сказали. Не разработчики приложений делают миллион бесполезных галочек, а apple. То, что андроид так без костылей не умеет — это вам надо писать в гугл
              • +4
                Опять вы врете. Ниодного доказательства с вашей стороны не было. Все выши скриншоты не имеют никакого отношение к вопросы.

                Контроль за отсутствием собственных функций геолокации осуществляется в AppStore

                Кажется вы совершенно не в состоянии понять, что вам пишут другие. Еще раз перечитайте мой пост — ничего подобного там не сказано. Более того, имея MAC и SSID текущей подключенной сети вы таки можете получить примерное местоположение и Apple скорее всего ничего вам на это не скажет.
                • –4
                  Дабы этот диалог не продолжался бесконечно, я предлагаю вам опубликовать работающий скрипт-запрос (желательно curl) в Гугл, Apple, Микрософт на выдачу координат точки доступа по её BSSID'у. Запрос должен сразу работать у произвольного анонимного пользователя с произвольным MAC адресом, как это делает указанный мною в тексте статьи запрос на сервера Яндекса.

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

                  Согласны?
                  • 0
                    Я опубликовал вам реальный запрос из Windows Phone 7, который некоторое время назад работал и отправлял все, что вам так не нравится (он и сейчас работает, возвращает валидный ответ, что координаты получить не удалось). Хотите большего — изучайте тему и перестаньте голословно утверждать то, о чем вы не имеете малейшего понятия.
                    Хотите узнать как и когда apple что-то отправляет — изучайте. Я вам все рассказал и намекнул, публиковать здесь форматы бинарных пакетов у меня нет никакого желания.

                    А согласен я буду тогда, когда вы научитесь читать других и перестанете откровенно врать в ответ. Мы здесь все взрослые люди и если вам сказали, что что-то отправляется и протоколы были изучены, то скорее всего так оно и есть. Просить опубликовать так вот сходу результаты чужих исследований и ставить условия несколько некорректно, не находите? Если бы у меня было желание делиться этим со всеми, я бы давно поделился. Эти протоколы известны мне не один год.
                    • –5
                      В общем, у вас ничего нет. Простите, но я не вижу смысла дальше продолжать бесмысленный спор.
                      Когда у вас будут факты, мы обязательно к нему вернемся.

                      А пока что...

                  • 0
                    https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&wifi=mac:ee-43-f6-d1-b6-90|ssid:12345|ss:-26&
                    • 0
                      «status»: «REQUEST_DENIED»
                      • 0
                        Надо по https:// и без реферера, наверное. У меня всё работает, по модулю того, что точка вымышленная и он выдает локацию по айпи. Парочки реальных точек достаточно для получения локации настоящего калифорнийца:
                        https://maps.googleapis.com/maps/api/browserlocation/json?browser=firefox&sensor=true&wifi=mac:00-14-bf-28-80-69|ssid:10160|ss:-26&wifi=mac:00-26-50-38-ca-11|ssid:2WIRE084|ss:-69

                        {
                           "accuracy" : 40,
                           "location" : {
                              "lat" : 37.3212486,
                              "lng" : -122.0277199
                           },
                           "status" : "OK"
                        }
                        • –2
                          Теперь сработало, но выдает одно и то же чтобы я не вводил.

                          PS А вы случайно не из Сан-Хосе? :)

                          PPS В целом мимо. Ваш первый запрос у меня даже в Россию не попал (а точка точно из Краснодара).
                          • 0
                            > по модулю того, что точка вымышленная и он выдает локацию по айпи
                            Надо пару настоящих точек, по одной локацию определять гугл не хочет
                            • 0
                              Точно абсолютно реальная и была общупана десятком андроид-устройств много раз. Проверил офисную свою — zero results.
                              • +2
                                Ещё раз, нужно несколько (>1) точек. В урле про Сан-Хосе их две. С одной не работает. Можно скачать фаерфокс, перейти по ссылке thedotproduct.org/experiments/geo/ и он сам сделает нужный правильный запрос к гуглу по тому же урлу, без всяких api ключей.
                                • –4
                                  Хорошо, но это уже совсем другие условия задачи. Минимум 2 точки — это как раз неплохая защита от атаки, указанной в статье.
                                  • +4
                                    Да? Серьезно? У вас там написано:
                                    Для этого необходимо с помощью известной XSS или CSRF уязвимости в прошивке домашнего роутера (раз, два, три и др) определить MAC адрес маршрутизатора пользователя (он же и будет BSSID Wi-Fi сети). Если у вас есть прямой доступ к ПК пользователя, то достаточно просмотреть ARP кэш на ПК с помощью команды «arp -a». Обычно первой строчкой в кэше идет MAC адрес шлюза по-умолчанию, который и будет искомым BSSID.

                                    Почти все маршрутизаторы умеют работать в режиме рипитера и, соответственно, показывать все окружающие их точки прямо в веб-интерфейсе, вместе с mac адресами.
                                    Если у нас есть прямой доступ к ПК пользователя, то задача получения mac адресов окружающих точек ничуть не сложнее получения mac адреса активной точки.
                                    • –2
                                      XSS/CSRF может не дать вам полный доступ к маршрутизатору, только раскрыть конфиг. Получить мак-адрес шлюза по-умолчанию на ПК значительно легче, чем просканировать вайфай сеть.
                                      Ну и в вашем примере кроме BSSID, требуется ещё и SSID. То есть он дважды вылез из условий задачи.
                                      • +2
                                        > Получить мак-адрес шлюза по-умолчанию на ПК значительно легче, чем просканировать вайфай сеть.
                                        Нет, ровно одна команда в терминале
                                        > Ну и в вашем примере кроме BSSID, требуется ещё и SSID. То есть он дважды вылез из условий задачи.
                                        Нет, не требуется, все параметры кроме адреса опциональны
                                        • –3
                                          Ну вот давайте возьмём первый пример из моей статьи. С помощью XSS в вебадминке злоумышленник получает MAC адрес маршрутизатора.

                                          В случае Яндекса этого достаточно для проведения атаки, так как нам нужен только один BSSID. В случае с Гуглом — этого мало, нужно, как минимум, два, и второй MAC вы уже никак не получите.
                                          К слову два адреса у Гугла нужно как раз таки для защиты от этой конкретной атаки, которая была продемонстирована ещё в 2010 году.
                                          • +3
                                            У меня не получится взять ваш пример, потому что у меня нет роутера Verizon Westell UltraLine Series3, в прошивке которого samy нашел уязвимость, но, замечу, что он сообщает, что
                                            This can be dangerous as it basically allows any web page to take full control of your router.

                                            Prerequisites are that you're already logged into your router or that you're using default username/password. This specific example will simply alert your Wifi password to you.

                                            This proof of concept could be extended to do worse, such as changing your wifi password, setting an admin password, or even installing malicious firmware onto your router. All of this by simply visiting a web page.


                                            То есть, вполне вероятно, что можно и вытащить адреса соседних сетей из веб-интерфейса.

                                            Что касается использования двух адресов для защиты, то автор и про это упоминает:
                                            Unfortunately, shortly after my release of this attack (and presentations at Defcon/Blackhat / press), Google has both blocked my tool and altered their system to prevent this from working. It is still exploitable, however I will leave that up to the (motivated) reader.


                                            Так вот, Артем, а вам не надоело изображать идиота?
                                            • –4
                                              Вы правда не понимаете, что Гугл ввел требование к наличию двух мак-адресов в запросе как раз для защиты от подобной атаки?
  • +1
    По скрытым SSID ведь статистику местоположений собрать нельзя? Наверное, это и будет самой правильной защитой.
    • 0
      почему нельзя? ваш ssid особо и не нужен никому, собираются маки wi-fi карт беспроводных точек доступа
      • 0
        Значит надо заставить занести Mac WiFi в черный список. Как вариант — менять его каждый час (конечно не руками, скрипт справится). Можно еще что-то придумать, чтобы гарантированно попасть в blacklist…
      • 0
        Я считал, что когда скрывается SSID, отключаются все бродкасты с точки. Нет бродкастов — чужой человек не увидит точку. Разве не так?
  • +12
    Пьеса в 2 актах.

    Акт 1.
    (5 лет назад)

    Google, Яндекс, Apple (наперебой):
    — Мы сделали новый сервис! Теперь вы можете определить ваше местоположение даже когда у вас не ловится GPS! Для этого мы используем идентификаторы сотовых вышек и точек доступа WiFi.

    Пользователи (хором):
    — Ура! Как круто! Молодцы! Покупаю!

    Акт 2.
    (10 февраля 2015 года)

    merced2001:
    — Ужас-ужас! Оказывается, они могут определить местоположение зная мак-адрес WiFi точки доступа! За нами следят!
    • –3
      Проблема не в том, что они могут. Проблема в том, что любой анонимус может воспользоваться этим для определения координат по mac-адресу. Чувствуете разницу?
      • +3
        Любой анонимус может воспользоваться любой другой базой для определения координат по mac-адресу. И очевидно, что есть базы, которые содержат намного больше информации, чем яндекс. Тот же гугл и apple.
  • 0
    Резюмирую:

    У меня нет мобильного телефона (никакого :), планшета и аккаунта на яндексе. Как мне запретить распространять местоположение моей wifi-сети по ее маку?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.