Исследование протокола Apple Location Services Protocol carderbazarnet, cvv-shoplv

Обычный способ исследования трафика при помощи цепочек из прокси серверов не работал, поскольку в macOS есть функция SIP.
Во время работы библиотекой Whereami меня заинтересовало, как на самом деле работают сервисы от Apple, связанные с обнаружением местонахождения. Я знаю, что этот протокол связан  locationd, поскольку в Little Snitch эта служба остается заблокированной. Обычный способ исследования трафика при помощи цепочек из прокси серверов не работал, поскольку в macOS есть функция SIP (System Integrity Protection; Защита целостности системы).
Альтернативный путь: установка Charles в качестве промежуточного прокси-сервера на iOS-устройстве. После просеивания трафика, в основном связанного с оповещениями большого брата (device phoning home), я получил информацию о запросе служб, связанных с определением местонахождением.
Запрос к службам, связанным с местонахождением
Сам по себе запрос представляет собой application/x-www-form-urlencode с некоторыми бинарными данными.
00000060: 64  
Поскольку вышеуказанные данные не содержат gzip-заголовок 0x1f8b, мое второе предположение было связано с использованием Protocol buffers (механизм сериализации структурированной информации). В конце концов, эту платформу сейчас многие используют. Попробуем выполнить декодирование.
Не сработало. Возможно, в запросе присутствуют дополнительные данные. Логических анализ подсказывает, что Mac-адреса должны входить в этот информационный массив (выделено жирным цветом ниже).
00000060: 64
Опять не сработало. Верхняя часть выглядит как заголовок. Попробуем удалить этот кусок.
00000060: 64
Failed to parse input.
Не сработало опять.
После нескольких проб и ошибок я решил удалять по одному байту, начиная с самого начала, и затем выполнять декодирование. Ниже показана немного причесанная версия моего скрипта, автоматизирующего весь процесс:
protomower.sh
$ ./protomower.sh request.bin
Во время удаления байтов из первых трех строк ничего полезного на выходе не получалось. После перехода к удалению байтов из четвертой строки я получил осмысленный результат.
Кажется, моя гипотеза оказалась близка к истине. Выделенные байты были удалены. Остальная часть, связанная с технологией protocol buffers, успешно декодирована.
В итоге выяснилось, что в сообщении, имеющим отношение к запросу, четыре типа данных. В терминах технологии protocol buffers эти типы называются тегами. Каждое сообщение имеет четыре тега.
Чтобы доказать нашу гипотезу, попробуем сделать запрос с разными mac-адресами. Я использовал hex-редактор для редактирования бинарного файла запроса, а затем сделал POST-запрос при помощи curl.
00000060: 20 64                      
Не работает. Попробуем разобраться, что не так.
Глядя на дамп, видно, что сообщение стало на 1 байт больше. То есть где-то должна быть еще контрольная сумма, что вполне очевидно. Шестнадцатеричное число 0x2d равно 45 в десятичной системе. Первоначальное сообщение было длиной 45 байт. Новое сообщение размером 46 байт, что эквивалентно 0x2e в шестнадцатеричной системе. Предположу, что контрольная сумма является целым 16-битным числом (то есть 0x002e).
00000060: 20 64 
 
Операция успешно завершена, и теперь мы знаем формат запросов.
Сам заголовок можно разделить на части попозже. Изначально я думал, что эта информация представляла собой просто магический управляющий ASCII-код. Однако читатель из Reddit’a сориентировал меня в верном направлении. Скорее всего, в заголовке использовались байтовые строки с префиксом длины (length-prefix framed byte strings). Я также полагаю, что 0x0001 означает начало заголовка, а 0x0000 – окончание.
NUL NUL      /* 0x0000 end of header */
Я не уверен, что означают последние 4 байта. Возможно, указатель на второй заголовок, который на данный момент пуст.
Ответ служб, связанных с местонахождением
Размер ответа довольно внушителен.
00001350: 1a a8 01 01  
Здесь нас вновь выручаем метод, который мы использовали во время декодирования запроса. Расшифрованный ответ получился размером примерно 1400 строк.
Первое значение сразу же вводит в заблуждение. Десятичное число 18446744073709551615 в шестнадцатеричной системе равно 0xfffffffffffffff (то есть максимальное беззнаковое 64-битное значение). Вероятно, сей факт означает, что mac-адрес не найден. По поводу значения 18446744055709551616 (0xfffffffbcf1dcc00) у меня также нет никаких идей.
Смысл остальных результатов более очевиден:
Вначале меня озадачил факт получения 101 результата. Затем до меня дошло, что я получил 100 успешных результатов. Первые два результата – отправленные mac-адреса. Остальные результаты – mac-адреса, находящиеся в ближайшей доступности от тех, которые я отправил.
Но почему 100 результатов?
Я думаю, что Apple выгружает трехсторонние измерения клиенту. Вместо ресурсоемких расчетов возвращается набор координат точек доступа.
Если как минимум три точки доступа видны клиенту, фреймворк core location может использовать уровень сигнала в качестве расстояния. Когда у нас есть координаты трех точек доступа и расстояние до цели, мы можем рассчитать местонахождение цели с приемлемой точностью.
Ниже показаны координаты точек доступа, полученных во время запроса местонахождения аэропорта Changi.
Рисунок 1: Точки доступа в районе аэропорта Changi
Если у нас есть информация о сотне точек доступа вокруг, снижается необходимость в повторном соединение с сервером служб, связанных с местонахождением. Поскольку в core location есть координаты трех видимых точек доступа, можно вычислить местонахождение нашей точки. Подобные расчеты могут быть сделаны даже оффлайне, поскольку WiFi включен.
Как использовать эту возможность?
Вы можете написать поддержку Core location на уровне пользователя для тех языков программирования, где-то подобный функционал отсутствует. Хотя есть более простые способы решить ту же самую задачу .
Более интересная задача – развернуть свой собственный сервер служб, связанных с местоположением с целью облегчения отладки приложений.
Другие статьи по теме
Application à l’analyse des données de géolocalisation envoyées par un smartphone Авторы: François-Xavier Aguessy и Côme Demoustier. Я не умею читать на французском языке, но в этой статье есть примеры файлов .proto и код на языке Python, который помог мне начать погружение в эту тему. Хотя протокол скорее всего изменился с момента публикации этой статьи.
Vulnerability Analysis and Countermeasures for WiFi-based Location Services and Application Авторы: Jun Liang (Roy) Feng и Guang Gong. Статья полезна для общего понимания того, как работает определение местоположения в WiFi-сетях.
Gaussian Processes for Signal Strength-Based Location Estimation Авторы: Brian Ferris, Dirk Hahnel и Dieter Fox. Я не понимаю и половины математических выкладок. Однако в этой статье объясняются различные проблемы внутри механизма, связанного с определением местоположения в WiFi-сетях.
В статье мы расскажем о наиболее интересных стартапах в области кибербезопасности, на которые следует обратить внимание.
Хотите узнать, что происходит нового в сфере кибербезопасности, – обращайте внимание на стартапы, относящиеся к данной области. Стартапы начинаются с инновационной идеи и не ограничиваются стандартными решениями и основным подходом. Зачастую стартапы справляются с проблемами, которые больше никто не может решить.
Обратной стороной стартапов, конечно же, нехватка ресурсов и зрелости. Выбор продукта или платформы стартапа – это риск, требующий особых отношений между заказчиком и поставщиком . Однако, в случае успеха компания может получить конкурентное преимущество или снизить нагрузку на ресурсы безопасности.
Ниже приведены наиболее интересные стартапы (компании, основанные или вышедшие из «скрытого режима» за последние два года).
Компания Abnormal Security, основанная в 2019 году, предлагает облачную платформу безопасности электронной почты, которая использует анализ поведенческих данных для выявления и предотвращения атак на электронную почту. Платформа на базе искусственного интеллекта анализирует поведение пользовательских данных, организационную структуру, отношения и бизнес-процессы, чтобы выявить аномальную активность, которая может указывать на кибератаку. Платформа защиты электронной почты Abnormal может предотвратить компрометацию корпоративной электронной почты, атаки на цепочку поставок , мошенничество со счетами, фишинг учетных данных и компрометацию учетной записи электронной почты. Компания также предоставляет инструменты для автоматизации реагирования на инциденты, а платформа дает облачный API для интеграции с корпоративными платформами, такими как Microsoft Office 365, G Suite и Slack.
Копания Apiiro вышла из «скрытого режима» в 2020 году. Ее платформа devsecops переводит жизненный цикл безопасной разработки «от ручного и периодического подхода «разработчики в последнюю очередь» к автоматическому подходу, основанному на оценке риска, «разработчики в первую очередь», написал в блоге соучредитель и генеральный директор Идан Плотник . Платформа Apiiro работает, соединяя все локальные и облачные системы управления версиями и билетами через API. Платформа также предоставляет настраиваемые предопределенные правила управления кодом. Со временем платформа создает инвентарь, «изучая» все продукты, проекты и репозитории. Эти данные позволяют лучше идентифицировать рискованные изменения кода.
Axis Security Application Access Cloud – облачное решение для доступа к приложениям , построенное на принципе нулевого доверия. Он не полагается на наличие агентов, установленных на пользовательских устройствах. Поэтому организации могут подключать пользователей – локальных и удаленных – на любом устройстве к частным приложениям, не затрагивая сеть или сами приложения. Axis вышла из «скрытого режима» в 2020 году.
BreachQuest, вышедшая из «скрытого режима» 25 августа 2021 года, предлагает платформу реагирования на инциденты под названием Priori. Платформа обеспечивает большую наглядность за счет постоянного отслеживания вредоносной активности. Компания утверждает, что Priori может предоставить мгновенную информацию об атаке и о том, какие конечные точки скомпрометированы после обнаружения угрозы.
Cloudrise предоставляет услуги управляемой защиты данных и автоматизации безопасности в формате SaaS. Несмотря на свое название, Cloudrise защищает как облачные, так и локальные данные. Компания утверждает, что может интегрировать защиту данных в проекты цифровой трансформации. Cloudrise автоматизирует рабочие процессы с помощью решений для защиты данных и конфиденциальности. Компания Cloudrise была запущена в октябре 2019 года.
Cylentium утверждает, что ее технология кибер-невидимости может «скрыть» корпоративную или домашнюю сеть и любое подключенное к ней устройство от обнаружения злоумышленниками. Компания называет эту концепцию «нулевой идентичностью». Компания продает свою продукцию предприятиям, потребителям и государственному сектору. Cylentium была запущена в 2020 году.
Компания Deduce , основанная в 2019 году, предлагает два продукта для так называемого «интеллектуального анализа личности». Служба оповещений клиентов отправляет клиентам уведомления о потенциальной компрометации учетной записи, а оценка риска идентификации использует агрегированные данные для оценки риска компрометации учетной записи. Компания использует когнитивные алгоритмы для анализа конфиденциальных данных с более чем 150 000 сайтов и приложений для выявления возможного мошенничества. Deduce заявляет, что использование ее продуктов снижает ущерб от захвата аккаунта более чем на 90%.
Автоматизированная платформа безопасности и соответствия Drata ориентирована на готовность к аудиту по таким стандартам, как SOC 2 или ISO 27001. Drata отслеживает и собирает данные о мерах безопасности, чтобы предоставить доказательства их наличия и работы. Платформа также помогает оптимизировать рабочие процессы. Drata была основана в 2020 году.
FYEO – это платформа для мониторинга угроз и управления доступом для потребителей, предприятий и малого и среднего бизнеса. Компания утверждает, что ее решения для управления учетными данными снимают бремя управления цифровой идентификацией. FYEO Domain Intelligence («FYEO DI») предоставляет услуги мониторинга домена, учетных данных и угроз. FYEO Identity будет предоставлять услуги управления паролями и идентификацией, начиная с четвертого квартала 2021 года. FYEO вышла из «скрытого режима» в 2021 году.
Kronos – платформа прогнозирующей аналитики уязвимостей (PVA) от компании Hive Pro , основанная на четырех основных принципах: предотвращение, обнаружение, реагирование и прогнозирование. Hive Pro автоматизирует и координирует устранение уязвимостей с помощью единого представления. Продукт компании Artemis представляет собой платформу и услугу для тестирования на проникновение на основе данных. Компания Hive Pro была основана в 2019 году.
Израильская компания Infinipoint была основана в 2019 году. Свой основной облачный продукт она называет «идентификация устройства как услуга» или DIaaS , который представляет собой решение для идентификации и определения положения устройства. Продукт интегрируется с аутентификацией SSO и действует как единая точка принуждения для всех корпоративных сервисов. DIaaS использует анализ рисков для обеспечения соблюдения политик, предоставляет статус безопасности устройства как утверждается, устраняет уязвимости «одним щелчком».
Компания Kameleon , занимающаяся производством полупроводников, не имеет собственных фабрик и занимает особое место среди поставщиков средств кибербезопасности. Компания разработала «Блок обработки проактивной безопасности» (ProSPU). Он предназначен для защиты систем при загрузке и для использования в центрах обработки данных, управляемых компьютерах, серверах и системах облачных вычислений. Компания Kameleon была основана в 2019 году.
Облачная платформа безопасности данных Open Raven предназначена для обеспечения большей прозрачности облачных ресурсов. Платформа отображает все облачные хранилища данных, включая теневые облачные учетные записи, и идентифицирует данные, которые они хранят. Затем Open Raven в режиме реального времени отслеживает утечки данных и нарушения политик и предупреждает команды о необходимости исправлений. Open Raven также может отслеживать файлы журналов на предмет конфиденциальной информации, которую следует удалить. Компания вышла из «скрытого режима» в 2020 году.
Компания Satori, основанная в 2019 году, называет свой сервис доступа к данным “DataSecOps”. Целью сервиса является отделение элементов управления безопасностью и конфиденциальностью от архитектуры. Сервис отслеживает, классифицирует и контролирует доступ к конфиденциальным данным. Имеется возможность настроить политики на основе таких критериев, как группы, пользователи, типы данных или схема, чтобы предотвратить несанкционированный доступ, замаскировать конфиденциальные данные или запустить рабочий процесс. Сервис предлагает предварительно настроенные политики для общих правил, таких как GDPR , CCPA и HIPAA .
Компания Scope Security недавно вышла из «скрытого режима», будучи основана в 2019 году. Ее продукт Scope OmniSight нацелен на отрасль здравоохранения и обнаруживает атаки на ИТ-инфраструктуру, клинические системы и системы электронных медицинских записей . Компонент анализа угроз может собирать индикаторы угроз из множества внутренних и сторонних источников, представляя данные через единый портал.
Основным продуктом Strata является платформа Maverics Identity Orchestration Platform . Это распределенная мультиоблачная платформа управления идентификацией. Заявленная цель Strata – обеспечить согласованность в распределенных облачных средах для идентификации пользователей для приложений, развернутых в нескольких облаках и локально. Функции включают в себя решение безопасного гибридного доступа для расширения доступа с нулевым доверием к локальным приложениям для облачных пользователей, уровень абстракции идентификации для лучшего управления идентификацией в мультиоблачной среде и каталог коннекторов для интеграции систем идентификации из популярных облачных систем и систем управления идентификацией. Strata была основана в 2019 году.
SynSaber , запущенная 22 июля 2021 года, предлагает решение для мониторинга промышленных активов и сети. Компания обещает обеспечить «постоянное понимание и осведомленность о состоянии, уязвимостях и угрозах во всех точках промышленной экосистемы, включая IIoT, облако и локальную среду». SynSaber была основана бывшими лидерами Dragos и Crowdstrike.
Traceable называет свой основной продукт на основе искусственного интеллекта чем-то средним между брандмауэром веб-приложений и самозащитой приложений во время выполнения. Компания утверждает, что предлагает точное обнаружение и блокирование угроз путем мониторинга активности приложений и непрерывного обучения, чтобы отличать обычную активность от вредоносной. Продукт интегрируется со шлюзами API. Traceable была основана в июле 2020 года.
Компания Wiz, основанная командой облачной безопасности Microsoft, предлагает решение для обеспечения безопасности в нескольких облаках, рассчитанное на масштабную работу. Компания утверждает, что ее продукт может анализировать все уровни облачного стека для выявления векторов атак с высоким риском и обеспечивать понимание, позволяющее лучше расставлять приоритеты. Wiz использует безагентный подход и может сканировать все виртуальные машины и контейнеры. Wiz вышла из «скрытого режима» в 2020 году.
Работает на CMS “1С-Битрикс: Управление сайтом”
carderbazarnet cvv-shoplv

wpadmin
Статьи