Слежка через пуш-уведомления на смартфонах

xrthdjrcsrsghplj2paxb-cckqg.png

Недавно стало известно о новом виде слежки за пользователями смартфонов: через пуш-уведомления в iOS и Android. Газета Washington Post написала, в частности, что эту тактику начало использовать ФБР (кэш статьи).

Довольно интересно, как работает такой метод выслеживания.

Согласно расследованию, для идентификации пользователей ФБР запрашивает у компаний Apple и Google данные пуш-уведомлений, так называемые «пуш-токены» (push token). Эти данные можно запрашивать без предъявления ордера. С помощью пуш-токенов можно идентифицировать конкретный смартфон, а потом запросить у компании данные о его владельце.
Как сообщается, спецслужбы используют этот метод как минимум с 2019 года. Тогда Apple и Google получили судебные предписания на передачу информации об аккаунтах, идентифицированных по пуш-токенам и связанных с предполагаемыми сторонниками исламской террористической группировки.

Но широкая общественность узнала об этой практике только в декабре 2023-го. Тогда в ходе расследования выяснилось, что Минюст запретил Apple и Google обсуждать эту технику. Видимо по той причине, что она используется в оперативной работе. Поэтому от названных компаний технических комментариев ожидать не приходится.

Пуш-токены


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

Чтобы отправить пуш-уведомление, операционная система требует от приложения сначала создать токен, по которому Apple и Google сможет найти устройство. Затем эти «пуш-токены» сохраняются на серверах Apple и Google.

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

Отправить пуш-уведомление (и создать пуш-токен) незаметно для пользователя iOS можно через разрешение com.apple.developer.usernotifications.filtering.

Согласно официальной документации, для скрытия уведомления внутри метода didReceive (_: withContentHandler:) нашего расширения создаётся пустой объект UNNotificationContent и передаётся обработчику контента. Для контента не должны быть указаны заголовок, подзаголовок, тело, вложения или звук. Пример:

override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
    
    // Determine whether you should suppress the notification.
    let suppress = myShouldSuppressNotification(request: request)
    
    if suppress {
        // Don't deliver the notification to the user.
        contentHandler(UNNotificationContent())
        
    } else {
        // Deliver the notification.
        guard let updatedContent = request.content.mutableCopy() as? UNMutableNotificationContent else {
            // This error should never occur.
            fatalError("Unable to create a mutable copy of the content")
        }
        
        // Update the notification's content, such as decrypting the body, here. 
        contentHandler(updatedContent)
    }
}


Чтобы скрыть удалённо отправляемое уведомление, при отправке уведомления на сервер APNS необходимо установить поле заголовка apns-push-type в значение alert. Таким образом, жертва не увидит пуш-уведомление и не заподозрит, что против неё началось расследование.

В официальной документации Apple приводится пример, как выслать пуш-уведомления всем пользователям, которые пересекли физическую границу (см. UNLocationNotificationTrigger). Например, внутри зоны стихийного бедствия. Логически можно предположить, что у Apple есть информация обо всех устройствах на определённой территории. Соответственно, эту информацию могут получить и правоохранительные органы, скажем, для составления списка всех участников массового мероприятия.

Впрочем, для составления такого списка можно использовать и метод попроще вроде обычной фальшивой базовой станции (StingRay), на которой будут регистрироваться все мобильные телефоны в радиусе её действия.

7xpunclx17glet4pozifmr_ywag.jpeg
Консоль для StingRay производства Harris Corporation, источник

Риски применения новой технологии


Статья рассказывает об использовании пуш-токенов специалистами ФБР против различных террористов и людей совершивших серьезные преступления. На данный момент обнаружено более 130 случаев использования пуш-токенов с последующим запросом персональной информации у Apple, Google, Facebook и других технологических компаний. Казалось бы, не так уж и много. «Но мы все знаем, чем это заканчивается», — пишет известный специалист по безопасности Брюс Шнайер.

«Так начинается любой новый метод слежки. Правительство говорит, что будет использовать это только в самых крайних случаях, и все это поддерживают», — говорит Купер Куинтин (Cooper Quintin), специалист по технологиям из Фонда электронных рубежей (Electronic Frontier Foundation).

Но в итоге сфера действия технологии рано или поздно расширяется. Это может случиться по-разному. Может, в один прекрасный день генпрокурор штата принимает решение использовать её для более широких категорий преступников.

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

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

Habrahabr.ru прочитано 3186 раз