Комментарии 66
" Чтобы отправить пуш-уведомление, операционная система требует от приложения сначала создать токен, " - то есть если у вас не будет пуш уведомлений на телефоне, то и метод этот не будет для вас уязвимостью?
"не будет пуш уведомлений на телефоне" неравнозначно "не отображать пуш уведомления на телефоне"
То есть - тело с Lineageos, без гуглосервисов. Я еще помню времена, когда так жили. Не очень, правда, долго - собственнозапущенный пользовательский event loop жрал батарею только в путь.
вот потому, что у айфона таких "незаметных от пользователя" возможностей больше чем у андроида, я им и не пользуюсь :)
таки поэтому? андроид лучше, потому что "поменьше следит"? я вас умоляю
Я думаю посыл был немного другим. Речь не про "поменьше следит". Речь скорее про "следит более незаметно для пользователя". А в инфополе преподносится как противовес андроиду, который всем очевидно следит всегда и не скрывает этого.
дело не в возможностях железа за кем-то следить. Все смартфоны это могут.
Но у одной компании реально больше способов доступа к устройству чем у другой - она его монопольно под себя выпускает.
Держу в курсе, что гугл не хочет аосп выпускать, а хочет только на свои пиксели делать операционку. Не знаю насколько в этом они продвинулись сейчас, но они это делают
Я вот буквально вчера узнал что последние айфоны можно отслеживать даже когда они выключены и батарея (почти) разряжена. Он тогда начинает вести себя как AirTag. Правда, только если его перевести в режим Lost Phone.
А мне непонятно. То есть, суть в том, что можно запросить у компании A или G, кому отправлялось определённое пуш-уведомление?
Насколько я понял - можно прийти к компании, которая распространяет свое приложение (например мессенжер - М или Т) и которое установлено у нужного человека - и попросить их разослать пуш-уведомление в их приложение в определенную местность, а потом у компании A или G попросить - какие токены с них ушли устройствам.
Таким образом вы получите ИД всяких телефонов. Если проделать так несколько раз или если это уединенная местность - то мы получим 1-2 айди, по которым уже можно будет копать дальше (ну или периодически отсылать пуши, чтобы оно нам возвращало новые координаты телефона).
Думаю, что что-то изначально должно быть известно.
1. Изначально известны либо email, либо аккаунт пользователя в приложении (у разработчиков, у пользователя и у посредников A или G хранится один и тот же токен, связанный с устройством пользователя).
2. Если известен email, запрашивается пуш-токен у Apple или Google.
Если известен аккаунт, запрашивается пуш-токен у разработчиков приложения.
3. Разработчики приложения используют пуш-токен для отправки целевых уведомлений и сбора информации.
4. Приложение отслеживает взаимодействие пользователя с уведомлениями и логирует активность.
5. Спецслужбы могут запросить дополнительную информацию у Apple или Google на основе пуш-токена, если изначально был известен аккакунт в приложении.
6. Сопоставление всех собранных данных для определения личности пользователя.
я думаю что изначально должно быть известно только
1) что чел использует какое-то приложение (например гуглдоки)
2) что чел находится в %область%
потом приходят к разрабам приложения и просят их послать невидимый пуш в эту %область% и у транспортеров пушей смотрят - какие аппараты получили этот пуш.
ну а дальше по вашим пунктам 3 - 6
А откуда разрабы приложения узнают какие смартфоны находятся в нужной области, чтобы выборочно послать им пуши? У них-то есть только пуш-токены...
Вот так?
В официальной документации Apple приводится пример, как выслать пуш-уведомления всем пользователям, которые пересекли физическую границу (см. UNLocationNotificationTrigger).
да - разрабы не знают, но телефоны-то знают и они сами запросят у провайдера пушей (а дальше - просто посмотреть логи)
я из текста понял несколько иначе, у есть есть какая-то БС фейковая, которая объявляет на зоне действия какую-нибудь ЧС (какой-нибудь пожар, наводнение и т.д.) и при покидании этой зоны или наоборот при попадании в неё, генериться пустое пуш, которое просто включает подсветку, и на фейкойвой БС по итогу есть эти зареганые пуши от системы, после чего у того же яблока или гугла запрашивается какой аппарат получит такой вот уникальный пуш.
Как это работает(как я понял): на телефоне у каждого приложения с пушами есть свой уникальный токен, список этих токенов лежит на сайте гугла(и мессенджера), фбр говорит типа "дайте мне токены" и получает табличку из "приложение", "токен", "какой-то чел", потом фбр формирует фейковое пуш-уведомление для, допустим телеги, с сообщением типа "у тебя новое сообщение" и отправляет его - сообщение долетает, девайс просыпается и тригерит приложение, приложение начинает стучаться к серверу, и соответственно выдавать свой IP.
Мне не совсем понятно, есть ли какие то универсальные способы получить токен.
Потому что получить токен = иметь какое то приложение.
То есть ФБР создаёт приложение, пользователь его ставит и разрешает нотификации, приложение получает токен.
И вот уже после этого можно послать на телефон сообщение, которое разбудит это приложение, запустит код по определению положения и подавит сообщение, поэтому пользователь ничего не заметит.
Но тут либо описывается нечто другое, типа пушей на приложения самой Эппл. В этом случае естественно все будет работать, но это просто значит что у их приложений есть шпионский функционал
Думается, что в первом тезисе немного не так. Не ФБР создается приложение, а берется к использованию приложение, которое _скорее всего_ есть в смартфоне пользователя.
Это может быть как мессенджер Т, W или соцсеть какая-нибудь - что-то очень популярное.
Дальше - дело за малым, как уже описано выше с комментариях: по запросу органов с такого приложения уходят пуши в определенное место, в А или Г спрашивают - кому такое ушло?
Так, давайте по порядку… Окей, если это мессенджер Т, то могут попросить всех пользователей Т которые получают уведомления. В определенном месте.
А с приложения никакие пуши не уходят. Сервер приложения всегда подключатся к серверу эпл или гугл и отправляет уведомление по токену, причем трафик шифрован. А сервис уведомлений на телефоне, всегда держит соединение с сервером Эппл/гугл и реагирует. Это банальный брокер сообщений, чуть расширенный.
скажите, ведь "банальный брокер сообщений" логирует - какие аппараты (а точнее - какие айдишки пушей) подтвердили получение пуша?
Даже если это по каким то причинам не делает сервер apple/google - как минимум некоторые приложение при получении "silent push notification" с идшником сообщения - дергают свой сервер для получения данных что показывать то. механизм сделан потому что в пакете от apple/google мало места ну и такое решение - более приватное. Собственно например у клиентов Matrix сделано именно так (правда реально там чуть сложнее).
Да - можно проблему частично обойти (пуш просто будет приходит другому, не совсем очевидному сообщению, возможно - от вашего же сервера) - смотрим https://unifiedpush.org/ и как он работает с self-hosted ntfy и Matrix-клиентами. Но это решения скажем так не очень массовые (и очень криво работающие на iOS)(Я вот жду не соберется ли ктонибудь сделать unifiedpush provider на базе rustore и его пушей - https://habr.com/ru/companies/oleg-bunin/articles/728516/
А зачем? Ведь если он онлайн то онлайн, мы знаем как минимум айпи. А если нет - то нет. Логи подключений скорее всего ведутся. Так же и то с каким аккаунтом связан тот или иной токен. А еще если приложение удалить, то токен тоже инвалиднуется на сервере пушей.
А Китай, соответственно, пушит Huawei, Tencent, ByteDance и остальных.
А вы не знаете, там никого не линчуют?
У них попроще, они сразу выпускают с завода устройства с необходимым софтом. Согласие пользователя не требуется)
И не только в Китае, кстати. Уже даже было тут расследовано: https://habr.com/ru/articles/575626/
Бред какой то
С каких пор Apple не знает пользователя, если он уже создал и пользуется Apple ID? И что персонального, кроме локации и этого Apple ID, может узнать Apple достоверно?
Логически можно предположить, что у Apple есть информация обо всех устройствах на определённой территории
Это есть и у базовых станций. Т.е. каждый владелец сетей и каждая сотовая компания это знает кто где на какой территории и с каким устройством. Что в этом принципиально нового?
Как понимаю, новое то, что не требуется ордер. То есть раньше надо было прийти с судебным ордером на условного Васяна. Ордер - дело публичное, и Васян сразу узнавал, что под него копают.
А теперь приходят расследовать как бы внутреннюю кухню самой компании. Дают список токенов и говорят: "разошлите по этому списку невидимые пуши, и сдайте нам технические данные ответов". Васян даже не упоминается.
А потом "следствие установило, что Васян владел смартфоном с установленным приложением Y, эта инсталляция была связана с пуш-токеном NNN. Устройство с данным токеном в такое-то время находилось в таком-то месте."
Казуистика, но де-юре все чистенькие.
"Говорил мне Горбатый: как идёшь на дело — оставь телефон у любовницы. Алиби — во!"
В официальной документации Apple приводится пример, как выслать пуш-уведомления всем пользователям, которые пересекли физическую границу (см. UNLocationNotificationTrigger).
А ничего что это Create a UNLocationNotificationTrigger
object when you want to schedule the delivery of a local notification when the device enters or leaves a specific geographic region. The system limits the number of location-based triggers that it schedules at the same time.
ЛОКАЛЬНАЯ нотификация. мониторится самим устройством и будится приложение по необходимости. Не Apple присылает.
Геолокацияю Apple то отслеживает хотя бы для Find My iPhone (и это отключаемо, но в некоторых случаях работает и без сотовой связи/на устройствах где тупо нет GPS, правда с точностью и задержками все не очень но это штатный функционал AirTag).
насколько я понимаю - раньше такое называлось "отслеживание аппарата по базовым вышкам", но для этого надо было чтобы это были ваши вышки (в смысле - чтобы спецслужбы могли прийти в гости к ОПСОСу).
А этот способ помогает вам найти аппарат, даже когда он в другой стране и без доступа к вышкам. Нужно конечно чуть попотеть (по базовым станциям - это все-таки физика, а тут чисто софт), но тем не менее :D
Возможно у вас путаница - фокус с вышками - можно любой аппарат, хоть кнопочный, но надо содействие оператора. То что делают Apple и Google - если аппарат может сам свои координаты определить (пофиг как - там способов хватает - вплоть до сетей WiFi, пусть точность и страдает) - эта информация доступна приложениями на нем (с соответствующими разрешениями...вот только иногда это даже для рекламы надо(!)(ладно - тут потихоньку совсем уж дыры закрывают...)) и авторам ОС (c учетом политики приватности и прочего). Вот только - авторы ОС используют эти данные для многих интересных и полезных задач а приложений которые вероятно есть у целевой аудитории и у которых доступ к геолокации есть и она даже используется - хватает. например, такси/доставки. если же хватит и не очень точных координат и не прям сразу - да чуть ли не все поголовно мессенджеры.
Есть еще общая сеть, когда где то включается что смарт украли его сигнал примет ближайший айфон к нему, отключить такое нельзя насколько я знаю. Такое же гугл выпустила недавно
Отключить как раз можно но отключите и поиск своих своих устройств и участие в сети.
Там даже интересные дырки есть (которые не очень понятно как заткнуть) что по сути - это еще и канал слива данных из всяких из мест где связи нет, небыло и не будет, достаточно чтобы там ненадолго айфоновладелец оказался (Пусть даже у него в этот момент тоже не будет сотовой связи или WiFi). https://habr.com/ru/companies/macloud/articles/561384/
Интересно, а если телефон с 2-мя симками. Может зловред с одной симки добраться до второй? Т.е. тупо разделить функции на две симки с различными ограничениями и прочее?
А какая вам разница какая из двух ваших симок сдаст вас?
А в данном случае вас сдаёт даже не симка, а сама операционка, или гуглосервисы. Тут основная фишка в том, что в отличие от других способов, вас сдают по упрощённой процедуре - без решения суда. А сам техничемкий способ, конечно, любопытен, но не более того. Хотя, нет, всё же более того - отслеживать же можно за пределами страны и вообще без привязки к симкам.
Ну если на одной симке/номере сидит мобильный банк, а на другой вся остальная помойка.
Реально ли зацепить через помоечный номер другой? Или речь идет о вскрытии телефона полностью?
о вас будет известно все - что можно получить из приложения.
Есть у приложения доступ к симкам и сетям? Оно отдает эти данные на сервер телеметрии?
Ну вот значит и получат "аппарат 1234, с двумя симками, ИМЕИ1 СИМ1 ИМЕИ2 СИМ2, в сети провайдера АБВГД, виден SSID вайфая вокзала Еклмн"
спецслужбы тоже по нему могут узнать аккаунт пользователя и получить доступ к его конфиденциальной информации
Узнать аккаунт какого пользователя? Если "разрабатывают меня", обо мне что-то уже знают. Как формулируют запрос/фильтр, чтобы узнать обо мне еще боьше?
Если наконец-то узнали мой аккаунт (e-mail), какую конфиденциальную информацию после этого они могут получить?
вот представьте, что вы за океаном пользуетесь телефоном вашей бабушки (т.е. непонятно какой номер - ваш), но примерно понятно что вы ночью - дома, днем на работе, а иногда ходите в гости или кино.
Примерно по этим местам рассылаются пуши и смотрится - какие именно телефоны находятся там, где в это время находитесь вы. Сначала таких будет тысячи, но если повторять, то за пару-тройку дней останется совсем немного таких телефонов (а скорее всего только один - ваш).
После этого мы получаем из пуша - аккаунт пользователся, а по аккаунту пользователя - например эпл отдает содержимое вашего облака, список приложений и т.д. (это называется "ой я забыл свой пароль, можете восстановить?" только когда это делаете не вы).
Также можно смотреть - с кем вы общались/созванивались и т.д. ведь пока вы не знаете что за вами следят - вы же продолжаете как обычно это делать ....
И каковы исходные данные? Очевидно, что спецслужбы знают не меня лично (тогда бы уже знали аккаунты), а ... что? Ориентировка какая? "Некий чел пишет на Хабре в такое-то время, а в такое-то не пишет - примерно определили ночь/день (часовой пояс плюс-минус часа 3".
какие именно телефоны находятся там, где в это время находитесь вы
Они знают примерные координаты (скажем, город) искомого преступника? Ну так горожан прорва, хоть год ежедневно пуши шли - куча совпадений останется.
Или они отслеживают мои маршруты (знают, когда я поехал в другой город и жахнули пуши в другой регион)? Тогда действительно другие смартфоны его получат. Но тогда они настолько много обо мне уже знают...
"Некий чел пишет на Хабре в такое-то время, а в такое-то не пишет - примерно определили ночь/день (часовой пояс плюс-минус часа 3".
Как насчёт «некий чел днём появляется в НИИ-2 ФСБ»?
Звучит красиво. Можете деталей атаки добавить? Например:
Пункт1: С помощью API вызова разослали пуши всем с GPS координатами внутри такого-то прямоугольника. (Я сильно сомневаюсь, что таковой существует. Как минимум, потому что PUSH-центру смартфоны не сливают постоянно свои координаты, это другой сервис. Разослать пуш всем с командой "отзовитесь только те внутри прямоугольника"? Не знаю, как это работает, как смартфон не просто забирает, а что может сообщить в ответ, но допустим).
Пункт 2: A|G получили список push токенов, как-то отреагировавших исключтельно с учетом заданных координат.
Следующие шаги? По плану должны узнать аккаунт (email) и получить конфиденциальную инфрмацию.
Информация о том, кто с кем работает в секретном учреждении — уже конфиденциальная, тащемта. И далее можно ещё все собранные данные сматчивать с прочими доступными базами, вроде операторских и авиабилетных, как OSI-расследователи делают.
Первый и второй шаг я привел лишь в качестве примера того, что я хотел бы увеидеть.
Я даже явно написал, что не знаю API вызова, позволяющего получить список токенов в заданных координатах а-ля "здание". Без этого все остальное бессмысленно.
Впрочем, ниже уже пояснили, что первым пунктом нужно, чтобы у интересующих людей было некотоое приложение, через которое им отправят пуши. И потом уже по токенам этих пушей восстановят email.
По умолчанию надо считать, что все что есть на телефоне, доступно спецслужбам. Вопрос в том, куда бежать. На РС хотя бы Линукс есть
GrapheneOS.
Ну и всякие Librem и прочие Firephone - там хоть попытки в рабочее отключение радиомодуля + контроль что радиомодуль - средство связи а не один большой эксплоит.
Да некуда бежать, если вы в разработке именно у спецслужб, вас просто ломанут непубличным эксплоитом, и неважно на чем вы, нет гарантий защищенности ни у одной OS, что декстопной, что мобильной. Если вами заинтересованы органы, тут есть варианты конечно, зависит от страны и ситуации.
Как указано в статье - функционал описан в официальной документации, не удивлюсь если им пользуются разработчики приложений для персонализации рекламы и пр.
Видимо, никто не удосужился походить по ссылкам в начале статьи, но при этом кинулись рассуждать рассуждать.
Спецслужбы приходят к автору приложения, который находится в их юрисдикции, просят пуш-токен пользователя. После этого, у Гугла просят email, относящийся к этому пуш-токену. Конец.
Слежка через пуш-уведомления на смартфонах