Xakep #305. Многошаговые SQL-инъекции
Исследователи создали side-channel атаку под названием «Freaky Leaky SMS», которая позволяет узнать местоположение получателя сообщений, опираясь на время доставки отчетов о получении SMS-сообщений.
Эксперты рассказывают, что в мобильной сети отчеты о доставке SMS обрабатываются SMSC (Short Message Service Centre) и нужны для информирования о том, что сообщение доставлено, принято, не доставлено, отправка не удалась, была отклонена и так далее.
Хотя в этом процессе присутствуют задержки маршрутизации, неизменный характер мобильных сетей и их специфические физические характеристики позволяют получить предсказуемый по времени результат, если сигнал следует стандартными путям.
Исследователи создали алгоритм машинного обучения, который анализирует время получения SMS-ответов и использует это для определение местоположения получателя сообщения с точностью до 96% (для местоположений в разных странах) и до 86% (для двух местоположений в пределах одной страны).
Перед началом атаки злоумышленник должен собрать определенные метрики, чтобы установить связь между отчетами о доставке SMS и известными местоположениями своей цели. Чем точнее будут эти данные о местонахождении, тем более точными получатся результаты, представленные в прогнозах модели машинного обучения.
Чтобы собрать данные, злоумышленник должен отправить своей цели несколько SMS-сообщений, либо маскируя их под маркетинговые послания, которые получатель проигнорирует или примет за спам, либо используя «тихие» SMS-сообщения (сообщения type 0 без содержимого, которые не выводят уведомлений на экране получателя, но их получение подтверждается устройством и SMSC).
Авторы исследования использовали ADB для отправки пакетов, состоящих из 20 «тихих» SMS-сообщений, и рассылали их на несколько тестовых устройств в США, ОАЭ и семи европейских странах (охватывая десять операторов связи и различные поколения коммуникационных технологий) каждый час, на протяжении трех дней.
Затем они измерили время на получение отчетов о доставке SMS в каждом случае и объединяли эти данные с соответствующими сигнатурами местоположения, чтобы создать набор данных для машинного обучения.
В итоге ученые сообщают, что их модель показала высокую точность и весьма точно различает местоположения внутри страны и за границей (96%), показывает хорошие результаты при определении конкретной страны (92%) и достаточно хорошие результаты для местоположений в пределах одного региона (62–75%).
При этом точность результатов зависит от конкретной локации, оператора связи и ряда условий. Например, в Германии модель показывала среднюю точность в 68% по 57 различным классификациям, но наилучшая производительность составила 92% в конкретном регионе. А наилучшие результаты из всех показала Бельгия: в среднем 86% правильных ответов и до 95% точности в одном из регионов.
Пока исследователи оставили на будущее случаи «открытого мира», то есть ситуации, когда их цель посещает неизвестные места. Однако в документе содержится краткое объяснение, что модель можно адаптировать и к таким сценариям.
Исследователи резюмируют, что хотя атака требует большой подготовительной работы, работает не во всех случаях и имеет ряд ограничений, она по-прежнему представляет собой немалый риск для конфиденциальности пользователей. Так, опытные злоумышленники с большим количеством ресурсов и времени вполне могут добиться хороших результатов и эффективных атак даже в сценариях «открытого мира».