Спуфер что это такое
GPS: глушилки, спуфинг и уязвимости
Династия GPS-спуферов за работой
Я писал, как угоняли дронов, «взламывая» их GPS, и наткнулся на замечательного персонажа — Тодда Хампфриса — который не только воспроизвел «угон беспилотника», но и побудил студентов «угнать» яхту.
GPS Spoofing
Spoofing атака на GPS — атака, которая пытается обмануть GPS-приемник, широковещательно передавая немного более мощный сигнал, чем полученный от спутников GPS, такой, чтобы быть похожим на ряд нормальных сигналов GPS. Эти имитировавшие сигналы, изменены таким способом, чтобы заставить получателя неверно определять свое местоположение, считая его таким, какое отправит атакующий. Поскольку системы GPS работают измеряя время, которое требуется для сигнала, чтобы дойти от спутника до получателя, успешный спуфинг требует, чтобы атакующий точно знал, где его цель — так, чтобы имитирующий сигнал мог быть структурирован с надлежащими задержками сигнала.
Атака спуфинга GPS начинается, широковещательно передавая немного более мощный сигнал, который указывает корректную позицию, и затем медленно отклоняется далеко к позиции, заданной атакующим, потому что перемещение слишком быстро повлечет за собой потерю сигнальной блокировки, и в этой точке spoofer станет работать только как передатчик помех. Одна из версий захвата американского беспилотника Lockheed RQ 170 в северо-восточном Иране в декабре 2011, это результат такой атаки.
Spoofing GPS был предсказан и обсужден в сообществе GPS ранее, но никакой известный пример такой вредоносной атаки спуфинга ещё не был подтвержден.
Под катом несколько полезных видео со сценариями атак на GPS, анализ криптографических решений, используемых в навигации, обнаружители глушилок, спуферов, ну и обзор нескольких портативных GPS-глушилок, которые я поразбирал в Хакспейсе.
Выступление на TED главного GPS-угонщика, короля спуфинга.
Кто управляет дроном: вы или хакер?
Студенты охотятся не на бабушек-процентщиц а на многомиллионные яхты
Основным компонентом спуфера стал имитатор GPS-сигналов. Эти устройства выпускаются серийно и предназначаются для тестирования навигационных систем. В большинстве стран они продаются свободно и стоят от тысячи долларов.
Сам по себе такой имитатор GPS сигналов — маломощный и действует в радиусе десятка метров. Поэтому вторым компонентом спуфера стали усилители, повышающие мощность ложного сигнала GPS в десятки раз.
Во время эксперимента всё оборудование атакующей стороны находилось на борту яхты, совершавшей плавание в Средиземном море у берегов Италии. Образно говоря, она была погружена в облако ложных сигналов GPS, мощность которых была больше настоящих.
На первом этапе Тодд запустил процесс дублирования настоящих сигналов со спутников, добиваясь их полного соответствия по учитываемым характеристикам. Добившись слияния обоих сигналов, он немного повысил мощность тех, которые отправляет спуфер. Навигационная система стала считать их основными и отфильтровывала настоящие данные со спутников как помехи. Получив контроль, Тодд стал постепенно искажать вычисляемые сведения о местоположении, уводя яхту севернее заданного курса.
Капитан яхты убедился в действенности методики, когда отклонение превысило три градуса. После чего Тодд сыграл завершающий аккорд. Изменив данные для определения высоты над уровнем моря, руководитель группы смог заставить навигационный компьютер яхты «считать», что судно находится под водой.
Бывший наставник Тодда, профессор Корнеллского университета Марк Псиаки (Mark Psiaki), предложил схему защиты от GPS-спуфинга. Сейчас вместе с аспирантами он уже реализовал описанную идею. Его группа создала модифицированный GPS-приёмник с антенной, меняющей своё положение с определённой частотой. Поскольку спутники находятся на значительном удалении друг от друга, а ложные сигналы приходят из одного близкого места, фаза несущего колебания в для такого приёмника будет меняться по-разному, что и позволит распознать обман.
Assessing the Spoofing Threat: Development of a Portable GPS Civilian Spoofer
В этой же публикации автор предлагает 2 варианта защиты от спуфинга: Data Bit Latency Defense и Vestigial Signal Defense
Еще полезные видео
Тодд Хампфри разработал бюджетный вариант комбинированного с видеокамерой GPS сантиметровой точности
Самое свеженькое видео июня 2015 года, где Тодд рассуждает о будущем GPS (есть кадры из его лаборатории)
Spoofing, Detection, and Navigation Vulnerability (18 сентября, 2014)
В этой передаче Тодд рассматривает несколько сценариев безопасности GNSS
Структура рынка безопасности GNSS
Who’s Afraid of the Spoofer? GPS/GNSS Spoofing Detection via Automatic Gain Control (AGC)
Security For and From GPS
Detect and Locate GPS Jamming: Provide Actionable Intelligence
Портативные GPS-глушилки
Увы, настоящий трекер/маячок я не успел найти, поэтому тестил на смартфоне. Каждый из этих приборов «валил» спутники на расстоянии более 15 метров в помещении.
GP50
Общая выходная мощность: 70 мВатт
Цена: 2600 руб
G600 и G600с
Возможно заряжать от прикуривателя
G600 глушит L1:1500-1600 МГц
G600с глушит L1:1560-1580 МГц и L2: 1217-1273 МГц
Общая выходная мощность: 150 мВатт
Работает от аккумулятора: 120 минут (G600) и 60 минут(G600с),
Радиус: 2-15 метров
Цена: 3900 руб (G600) и 4200 руб (G600с)
Black wolf gt-12g
Глушит все известные частоты спутникового слежения.
Этот блокиратор спутниковой связи может одновременно глушить спутниковый сигнал в пяти различных диапазонах GPS/ГЛОНАСС:
L1 – несущий сигнал, L2 – вспомогательный диапазон, L3 – военный диапазон, L4 – диапазон для изучения ионосферы, L5 – новый вспомогательный диапазон.
L1:1500-1615 МГц
L2/L3: 1200-1230 МГц
L4: 1250-1280 МГц
L5: 1170-1180 МГц
Радиус блокирования сигнала: 5-15 метров
Общая выходная мощность: 2 Ватт
Время работы от аккумулятора: 90 минут
Цена: 10400 руб.
Специально для хакеров-страйкбольщиков есть удобное «полевое» крепление
Статьи на Хабре про безопасность GPS
По оценке журнала GPS World, сейчас в мире находится в использовании более миллиарда приёмников GPS, и более 90% из них используются только для получения сигналов точного времени.
Интересно, что энтузиасты уже создали работающие образцы нового поколения таких устройств, способных не просто глушить, но искажать сигналы GPS. Мошенники могут использовать это с целью осуществления неких крупных афёр (например, все заявки на фондовой бирже маркируются сигналами точного времени, так что саботаж в сети конкурента позволит манипулировать котировками акций).
d В 2012 году Верховный суд США признал неконституционным использование следящих GPS-устройств без судебного ордера и постановил прекратить такую практику. Поскольку решение суда вступило в силу немедленно, Федеральное бюро расследований было вынуждено в тот же день отключить приём сигнала от около 3000 активных GPS-жучков.
Устройство GPS-жучка
Не знаю как в России, но в США граждане периодически находят под днищем автомобиля следящие GPS-устройства, установленные спецслужбами. В прошлый раз, когда о таком стало известно прессе, студент арабского происхождения по неопытности отнёс устройство «производителю», не успев его хорошенько исследовать. Аналогичный прибор на своём автомобиле несколько лет назад нашла активистка за права животных Кэти Томас. Она отказалась вернуть его ФБР, а сейчас осмелилась отдать девайс на изучение.
Если атакующий хочет получить большое количество данных о передвижении различных объектов, то ему нужно скомпрометировать один из публичных серверов для мониторинга. Как показывает практика, это совсем не сложно, ведь большинство этих веб-сервисов содержат вполне тривиальные уязвимости из списка OWASP TOP 10
Тесты помех в лаборатории GATE
Немцы заморочились и масштабно подошли к проблеме GPS-глушилок.
В результате использования автомобильных подавителей происходит полное разрушение GNSS-сигналов не только в том автомобиле, где он находится, но и в близко расположенных. Это создает реальную угрозу будущему интеллектуальных транспортных систем.
На рисунке показана тестовая лаборатория, где видны передатчики, мониторинговые станции и центральный пункт GATE. Тестирование помех GNSS-подавителей проводилось в зоне, близкой к этому центральному пункту.
Для противостояния такой угрозе Университет Федеральных Вооруженных Сил, расположенный в Мюнхене, Германия, приобрел несколько автомобильных подавителей для проведения лабораторных анализов и тестов в лаборатории GATE (Galileo Test Range), в которой симулируются реальные условия. Измерения проводились с помощью экспериментального программного приемника, разработанного в Институте Космических Технологий и Приложений. Приемник позволяет вести запись отсчетов промежуточных частот и анализировать влияние помех на приемник.
Цель исследования — понять как работает глушилка, чтобы разработать контрмеры. Они накопали кучу данных и сделали серьезную аналитику.
Анализ показал, что дальность действия подавителя очень сильно зависит от архитектуры приемника. При каждом сценарии подавители оказывали сильное воздействие. Необходимо принимать меры против использования автомобильных подавителей. Для обвинений в использовании подавителей необходимо размещать детекторы. Эта мера также позволит подсчитать количество используемых подавителей. Деградация GNSS-позиционирования представляет собой угрозу использованию интеллектуальных транспортных систем, предназначенных для повышения безопасности вождения. Поэтому, предотвращение и смягчение эффекта помех должно стать объектом исследований для разработчиков систем автомобильной связи. С помехами в GNSS-системах необходимо бороться точно так же, как и с прочими опасностями на дорогах.
Analysis, Detection and Mitigation of InCar GNSS Jammer in interference in intelligent transport systems (PDF)
Car Jammers: Interference Analysis (перевод на русский).
Так что, если вам нужно угнать автомобиль или предотвратить использование GPS на управляемой ракете, избавиться от геометок на фотографиях, то GPS глушилки — самое то.
Почему спуфинг устройств сегодня становится практически невозможным
Если вы смотрели фильм Квентина Тарантино «Бесславные ублюдки», то, вероятно, помните, сцену в баре, когда замаскированный британский шпион выдаёт себя бессознательным жестом.
Хотя он одет в нацистскую униформу и хорошо говорит на немецком, его выдаёт мелкая деталь: его пальцы. При заказе ещё трёх пинт он вместо большого, указательного и среднего пальцев (как показывают немцы) показывает безымянный, средний и указательный. Другой офицер за столом сразу же понимает по этой незначительной детали, что человек определённо из англоговорящей страны.
Неотъемлемая угроза мелких деталей.
То же самое справедливо и для любой работы в онлайне. Если упустить из виду мелкие, но важные аспекты, то легко можно потерять бдительность и выдать свою личность. В этой статье мы совершим путешествие в мир распознавания устройств, и покажем, почему попытки имитировать другое устройство сегодня становятся практически невозможными.
Но прежде чем приступить, давайте вкратце узнаем, почему системы пытаются распознавать устройства, что также даст нам ответ на вопрос, почему люди пытаются распознавать или эмулировать устройства.
Почему системы пытаются распознавать устройства?
В эпоху первых браузеров и последовавшую за ней эпоху «браузерных войн» существовало множество производителей браузеров, поэтому разработчикам необходимо было понимать, какой клиент какого производителя подключается к их веб-сайтам, из-за чего они начали настраивать и оптимизировать ответы серверов в соответствии с обнаруженным браузером. В данном контексте это было технической необходимостью.
Наш старый друг User-Agent сохранился с той эпохи, однако сегодня техники распознавания и защиты от имитаций стали гораздо более сложными.
Большинство сайтов используют механизмы распознавания, чтобы помочь обслуживанию своих клиентов. Например, Netflix поддерживает сотни различных форматов видео в разных разрешениях для каждого устройства, от мобильных телефонов до Smart TV. Как этого можно было бы добиться без распознавания устройств?
Аналогично, можно вспомнить компании, предлагающие полнофункциональные продукты для ноутбуков и настольных компьютеров; для пользователей мобильных устройств доступна только ограниченная версия.
Но зачем люди и боты пытаются мимикрировать под устройства?
Задаваемые нами вопросы подвели нас к этому, и ответ содержится в вопросе. Люди или боты хотят получить больше элементов, специфичных для определённых устройств, или хотят вырваться из так называемых «гетто устройств» (например, они стремятся к тому, чтобы функции на мобильном устройстве не были ограничены). Кроме того, некоторые злоумышленники пытаются воспользоваться тем, что для некоторых устройств меры защиты не так строги.
Кто может помешать использовать спуфинг устройств, если веб-сайт не отображает капчу мобильным устройствам даже при превышении частоты доступа, или если компания предлагает скидки или продукты только для некоторых типов устройств?
Гонка вооружений: распознавание и защита
Перенесёмся в современность: сейчас идёт метафорическая «гонка вооружений» между теми, кто пытается распознавать устройства и теми, кто пытается предотвратить такое распознавание. Хотя это привело к росту инвестиций в продвинутые технологии, например, машинное обучение и ИИ, есть и другие методики, которые привлекли к себе на удивление мало внимания, например, методика классификации Google под названием Picasso. Ниже мы рассмотрим её подробно, но для начала давайте перечислим те крошечные детали, которые могут выдать вас за доли секунды.
Почему спуфинг устройств не всегда срабатывает?
Можно использовать различные способы спуфинга устройств, от изменения строк User-Agent до применения более сложных техник, но это означает, что и существуют другие способы их распознавания.
Вы сидите с телефона? Да неужели?
Многие считают, что для спуфинга устройств достаточно изменить строку User-Agent; мы им отвечаем: «легко сказать, предоставьте доказательства!»
Например, большинство попыток спуфинга мобильного устройства выявляется мгновенно. Имитаторы забывают эмулировать специфичные для устройства особенности, например, они отрицательно отвечают на вопросы о поддержке ввода касанием.
Вы можете представить смартфон, не имеющий сенсорного экрана?
Проверьте своё решение вот на этом коде.
Как мы и сказали, специфичные для устройства функции и информация крайне важны. Если ты заявляешь, что используешь Apple iPhone 6, то должен знать специфичные для устройства подробности, как минимум, размер экрана iPhone 6.
Вы когда-нибудь видели iPhone 6 с разрешением экрана 1920×1080? Мы нет, и наши системы распознавания тоже!
Ещё один пример: никто не посчитает странным, что у тебя MacBook, если ты успешно пройдёшь тест navigator.platform:
Однако ты не можешь заявлять, что одновременно пользуешься Max OS X и Windows!
Есть и множество других аномалий, которые легко недоглядеть при спуфинге устройства. Если вы когда-нибудь пользовались мобильным браузером (а вы конечно пользовались), то знаете, что менять размер окна браузера нельзя. Оно всегда открыто, развёрнуто и занимает весь экран. То есть значения X и Y окна всегда должны быть 0, и если это не так…
Примеры уникальных для устройств атрибутов можно приводить долго, но теперь настала пора улыбнуться.
Эмодзи: ваши чувства вас предают?
Вы знали, что эмодзи, несмотря на то, что вводятся одинаково, на различных устройствах визуализируются по-разному?
Посмотрите, как этот милый символ отображается в разных системах и устройствах.
Допустим, ваш клиент утверждает, что он запущен на ОС Android. Система распознавания может получить значение хэша эмодзи и сравнить его с хэшем, полученным от настоящей системы Android. Если результат неодинаков, то это даёт понять, что вы спуфите устройство. Настоящая магия! Достаточно использовать U+1F600 и при создании визуализации добавить значение, выделяющее вас на фоне остальных.
Вот хэшированная версия эмодзи улыбки U+1F600 с разных устройств.
Это хэшированные при помощи sha256 одинаковые эмодзи, полученные из разных версий Google Chrome в ОС Windows 10.
Совпадают ли шрифты?
В каждой системе есть заранее установленные шрифты, и некоторые из них используются по умолчанию. Например, хотя в iOS 13 Academy есть заранее установленный шрифт Engraved LET Plain:1.0, в ней нет Al Bayan Bold. Однако последний присутствует в macOS Catalina!
Аналогично, Tahoma был стандартным шрифтом в Windows XP, а начиная с Vista им стал Segoe UI. В последнем списке шрифтов для Windows 10 компании Microsoft есть примечание:
«Обратите внимание: не все десктопные шрифты будут присутствовать в недесктопных версиях Windows 10, например, Xbox, HoloLens, SurfaceHub, и т.д.«
Поэтому системы распознавания, проверяющие шрифты, сразу могут понять, что вы не используете обычную Windows 10, если они не нашли шрифты, перечисленные на странице Microsoft.
PUF! (Psychically Unclonable Functions)
Выше мы рассказывали о проблемах, выдающих спуфинг, однако их не так сложно обойти. Переопределив браузер и шрифт по умолчанию, атрибуты эмодзи и двоичных файлов, эту проблему можно решить, хоть это и потребует множество усилий и затрат.
Однако у этой монеты есть и другая сторона.
В 2006 году Эли Бурштейн из отдела Google, занимающегося защитой от ненадлежащего использования, опубликовал свою работу под названием Picasso, в которой подробно описал, как Google борется с попытками спуфинга устройств в Google Play.
Google Picasso предназначен для определения классификации устройства, на котором используется браузер, при помощи операций рендеринга, сильно зависящих от ОС и графического оборудования. Используя порождающее значение (seed), Picasso случайным образом создаёт на canvas геометрические символы. Для работы Picasso используются такие значения, как seed, округление, ширина и высота. Благодаря этому Picasso может получить графический результат, созданный при помощи функций клиента, которые невозможно склонировать, например, операционной системой и графическим оборудованием. Спуфер не может этому препятствовать, только если не имеет полностью аналогичной системы.
Псевдокод Picasso из статьи Эли Бурштейна
Эта система не работала бы без базы данных, содержащей заранее вычисленные значения, полученные при помощи настоящих устройств. Позже эта база данных используется для сравнения с эталонными значениями.
Здесь стоит отметить важные аспекты работы Picasso. Например, он создаёт графический результат при помощи canvas HTML. Люди склонны считать, что canvas используется для повышения энтропии фингерпринта, чтобы обеспечить уникальность устройства. Как пару лет назад доказали инженеры Multilogin, хэш canvas не обеспечивает уникальные фингерпринты, а идентичен в системах, имеющих одинаковые ингредиенты, например, «железо». В 2006 году ребята из Google начали использовать эту особенность фигнерпринтинга по canvas для классификации устройств, чтобы распознавать попытки спуфинга устройств.
Разница в рендеринге между Safari на настоящем iPhone и на эмуляторе.
Хотя эта работа довольно старая (2006 год), её используют в Cloudflare. Picasso можно считать неотвратимым механизмом борьбы с попытками спуфинга устройств, имеющим значительную долю рынка.
Если на стороне сервера есть база данных, состоящая из заранее вычисленных хэшей, полученных на настоящих устройствах, при попытках спуфинга устройств и операционных систем от Picasso сложно уклониться.
На правах рекламы
Создание виртуальных серверов с защитой от DDoS-атак и новейшим железом. Максимальная конфигурация — 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe.