Cloned Boy
Professional
- Messages
- 876
- Reaction score
- 697
- Points
- 93
Образовательный анализ методов детекции спуфинга геолокации.
Как обходят (и как Geocomply ловит):
Если GPS показывает США, а SIM принадлежит российскому оператору (MCC 250) → подозрение.
Проверку источника координат (Mock Provider, root).
Сравнение с Wi-Fi/IP/даталчиками.
Анализ поведения устройства.
Для легальных исследований:
Хотите глубже разобрать конкретный метод (например, как работает isFromMockProvider на уровне ядра)? Или интересуют аналогичные системы в банковских приложениях?
1. Основные методы определения Fake GPS
Geocomply использует комбинацию аппаратных и программных проверок, чтобы отличить реальные координаты от поддельных.1.1. Проверка источника GPS
- Android:
- Вызов Location.isFromMockProvider() — возвращает true, если координаты поддельные.
- Проверка наличия приложений вроде Fake GPS Route (через список установленных пакетов).
- iOS:
- Сигнатура приложений: iOS запрещает подмену GPS без Jailbreak.
- Проверка CLLocation.sourceInformation (iOS 15+).
Java:
if (location.isFromMockProvider()) {
Log.d("GEOLOC", "Обнаружен Fake GPS!");
}
1.2. Анализ сопутствующих данных
Geocomply сравнивает GPS с другими сигналами:- Wi-Fi/Cell Tower: Если GPS показывает "Нью-Йорк", а ближайшая вышка — в Москве → спуфинг.
- IP-адрес: Несоответствие страны GPS и IP.
- Датчики устройства:
- Акселерометр/гироскоп (движение vs "статичные" поддельные координаты).
- Батарея (Fake GPS расходует заряд).
Как обходят (и как Geocomply ловит):
Метод обхода | Как детектируется |
---|---|
Fake GPS + VPN | Несовпадение Wi-Fi и GPS. |
Эмуляция движения | Отсутствие данных с акселерометра. |
Root/Jailbreak | Проверка целостности ОС. |
2. Детекция на уровне ОС
2.1. Привилегии и процессы
- Android:
- Приложения с правами WRITE_SECURE_SETTINGS могут подменять GPS.
- Geocomply проверяет наличие таких прав у процесса.
- iOS:
- Проверка MobileDeviceManagement (MDM): корпоративные устройства могут иметь кастомные настройки.
2.2. Временные метки
- Настоящий GPS обновляется плавно (даже в движении).
- Fake GPS часто дает:
- Резкие "прыжки" между точками.
- Отсутствие погрешности (реальный GPS имеет шум ±5–50 м).
3. Аппаратные проверки
- Trusted Execution Environment (TEE):
- Надежные GPS-чипы (например, в Samsung Knox) передают данные в зашифрованном виде.
- Интеграция с SIM-картой:
- Проверка MCC/MNC кода оператора vs заявленной страны GPS.
Если GPS показывает США, а SIM принадлежит российскому оператору (MCC 250) → подозрение.
4. Легальные альтернативы для тестирования
Для разработчиков и исследователей:- Android Emulator:
Bash:adb emu geo fix -122.084 37.422 # Установка тестовых координат
- iOS Simulator (Xcode):
Bash:xcrun simctl location booted set 37.332 -122.030 # Симуляция локации
- Белые VPN/прокси:
- Использование легальных сервисов (NordVPN, ExpressVPN) с согласованными GPS/IP.
5. Как улучшается защита?
- Android 14+: Блокировка Fake GPS для банковских приложений.
- Квантовые алгоритмы: В будущем — криптографическая привязка GPS к устройству.
- Анализ поведения: ИИ учится отличать ботов от людей (например, по паттернам использования карты).
Вывод
Geocomply определяет Fake GPS через:


Для легальных исследований:
- Используйте официальные API (Google Location Services).
- Тестируйте в эмуляторах с согласия владельца системы.
Хотите глубже разобрать конкретный метод (например, как работает isFromMockProvider на уровне ядра)? Или интересуют аналогичные системы в банковских приложениях?