defex · GNSS-kaitse · töös

Märkab, kui satelliitsignaali segatakse või võltsitakse

GPS ütleb telefonile, autole, laevale ja elektrivõrgule, kus nad on ja mis kell on. Seda signaali on lihtne üle karjuda või järele teha. GPS Shield valvab vastuvõtjat ööpäev läbi ja annab teada, kui midagi on valesti — enne kui vale asukoht või kellaaeg kellelegi kahju teeb.

Mitmekonstellatsiooniline (GPS · Galileo · GLONASS · BeiDou), kaheribaline (L1/L2) tuvastussüsteem u-blox ZED-F9P peal: 15 detektorit (neist 14 töötavad F9P-ga) toorvaatlustest, MON-RF häireindikaatorist, vastuvõtja kellast ja Galileo OSNMA krüptoallkirjast ning 30-sekundilise tsükliga valvur koos tõukesõnumite ja välise surnud mehe lülitiga.

u-blox ZED-F9PL1 + L2Python Galileo OSNMAStreamlit93 testi
Lühidalt numbrites

Ehitatud, mõõdetud ja päriselt töös

Iga number on mõõdetud salvestatud või elavatest andmetest — mitte hinnang.

15
detektorit, igaüks eri rünnakutunnuse jaoks; 14 neist töötavad F9P-ga
98/129
sünteetilist rünnakut tabatud; 9 puhtal salvestisel 0 valehäiret
10/10
signaalitaseme rünnakut (segamine, ülevõim, selektiivne) tabatud
0
valeteadet 3 ööpäeva järjest live-valvuris (9 650 kontrollvooru)
205
Galileo allkirja kinnitatud esimesel OSNMA-katsel, 0 läbikukkunud
30 s
valvuri kontrollitsükkel; rünnakuteade läheb telefoni samas voorus, hoiatus pärast 2 vooru järjest
01 · Probleem

Satelliitsignaal on sosin staadionil

Navigatsioonisatelliidid tiirlevad umbes 20 000 km kõrgusel ja saadavad signaali, mille võimsus on maapinnal väiksem kui taustamüra. Vastuvõtja suudab selle kätte saada ainult seetõttu, et ta teab täpselt, mida otsida. Nii on kaks lihtsat viisi teda petta:

GPS L1 C/A signaali minimaalne võimsus maapinnal on umbes −128,5 dBm, mis jääb 2 MHz ribas soojusmüra (~−111 dBm) alla. Vastuvõtja saab selle kätte ainult korrelatsioonivõimenduse abil. Sellest järeldub kaks ründeklassi: segamine (jamming) tõstab müra põrandat üle töövaru ja võltsimine (spoofing) edastab kooskõlalisi signaale, millel on mõne dB-ne võimsuse eelis, ning tõmbab vastuvõtja jälgimissilmused enda peale.

Segamine · jamming

Keegi karjub üle

Saatja täidab sageduse müraga ja vastuvõtja ei kuule satelliite enam. Asukoht kaob. See on märgatav, aga ohtlik, kui süsteem ei saa aru, miks asukoht kadus.

Lairiba- või sweep-segaja tõstab AGC tööpunkti ja MON-RF jamInd-i, C/N0 langeb ühtlaselt kõigil SV-del, madalama kõrgusega SV-d kaovad esimesena, seejärel kaob fix. AGC reageerib enne fixi kadumist, seega on see varajane hoiatus.

Võltsimine · spoofing

Keegi sosistab valet

Saatja teeb satelliitide signaali järele ja on veidi valjem. Vastuvõtja usub teda ja näitab valet asukohta või kellaaega, aga kõik näib korras olevat. See on palju salakavalam.

Ülevõtt (lift-off/pull-off): võltsija joondab koodifaasi ja Doppleri, tõstab võimsust ning lohistab seejärel asukohta või aega. Tunnused on C/N0 hüpe ja hajuvuse kollaps (üks saateantenn), L1/L2 vastuolu (ainult-L1 võltsija), kellatriivi muutus ja Galileo navisõnumi autentimise läbikukkumine.

Läänemere piirkonnas on GNSS-segamine viimastel aastatel igapäevane: lennukid, laevad ja põllumasinad kaotavad asukoha või näevad vale asukohta. Seetõttu ei piisa küsimusest „kas mul on asukoht?“. Tuleb küsida: „kas asukohta võib usaldada?“
Kriitilised kasutajad on peale navigatsiooni ka ajasünkroniseerimine (telekom, energeetika, finants). Seal on ohtlikum time push, mis ei liiguta asukohta üldse. Seetõttu on kellakonsistents ja krüptoautentimine eraldi detektorid, mitte asukohadetektori kõrvalsaadus.
02 · Arhitektuur

Antennist telefoni teavituseni

Vajuta mõnele plokile, et näha, mida see teeb.

Valvuri valvur

Mis siis, kui valvur ise vaikib?

Valvur saadab teate ainult siis, kui ta töötab. Kui arvuti kaotab voolu või võrgu, jääks vaikus märkamata. Seepärast kontrollib teine server iga 5 minuti järel, kas valvur kirjutab, ja annab ise teada, kui see lõppes.

Väline dead-man's switch teises masinas: iga 5 min kontrollib viimase ajalookirje vanust, ja kui kirje on üle 300 s vana kaks vooru järjest, saadab tõukesõnumi „valvur vaikib“. Meeldetuletus tuleb iga 6 h järel ja taastumisel eraldi teade. Vaigistuse saab seada ajaliselt (välitestid).

Andmed ei kao

Iga sekund salvestatakse

Kõik vastuvõtja mõõtmised lähevad faili ja tunni kaupa varukoopiasse teise masinasse. Hiljem saab vaadata, mis täpselt juhtus ja kus.

Tunnifailid (UBX: NAV-PVT, RXM-RAWX, MON-RF, NAV-CLOCK, RXM-SFRBX) hoitakse 30 päeva. Inkrementaalne varundus kolmanda masina kaudu ilma uue usaldussuhteta: manifestide võrdlus, kirjutamisel failide snapshot ja kontroll pärast kopeerimist. Mobiilses võrgus varundamine pausib, et välitestil gigabaite ei tõmmataks.

03 · Interaktiivne

Rünnakusimulaator

Vali stsenaarium ja vaata, kuidas signaal muutub ja millised detektorid reageerivad. Rünnak algab 30. sekundil. Kõverad on illustratiivsed, aga kujundid ja detektorite käitumine vastavad päris testidele.

Signaali tugevus satelliidi kaupa (C/N0, dB-Hz)

Asukoha nihe tõest (m)

0 s
Korras
Kõik detektorid alla hoiatusläve

Detektorite skoor0 → 1

alla 0,35 korras0,35 hoiatus0,70 rünnak
04 · Detektorid

Viisteist eri vaatenurka samale küsimusele

Ükski üksik tunnus ei püüa kõiki rünnakuid. Iga detektor annab skoori 0–1 ja lõppotsus on kõige kõrgem skoor: üle 0,35 on hoiatus, üle 0,70 rünnak. Nii võib iga detektor olla kitsalt täpne, ilma et peaks kõike ise teadma. 14 detektorit töötavad päris F9P vastuvõtjaga; korrelaatori kuju (SQM) vajab tarkvaravastuvõtjat.

05 · Krüptograafia

Galileo allkirjastab oma sõnumid

Euroopa Galileo süsteem lisab oma navigatsioonisõnumitele digitaalse allkirja (OSNMA). Satelliidi kohta käiva info saab nii kontrollida nagu pangaülekande allkirja: võltsija võib signaali järele teha, aga õiget allkirja ta teha ei saa. GPS Shield kontrollib neid allkirju pidevalt.

OSNMA kasutab TESLA võtmeahelat: allkirjamärgid (tag) arvutatakse võtmega, mis avalikustatakse hiljem ja mille ahela juur (KROOT) on allkirjastatud ECDSA P-256-ga. Avalik võti on seotud Merkle puuga. Kontrollisime, et avalik võti PKID 2 ja Merkle puu juur kattuvad Euroopa GNSS teeninduskeskuse ametlike failidega baidi täpsusega. Kontroll toimub OSNMAlib-iga F9P SFRBX toorkaadritest püsiva protsessina.

Merkle juur→ avalik võti→ KROOT→ TESLA võti→ tag ✓

Usaldusahel: iga lüli kinnitab järgmise.

Mõõdetud

Esimene autentimine päris vastuvõtjal

Kinnitatud allkirju205
Läbikukkunud allkirju0
Autenditud satelliite8
Külmkäivitus siseantenniga~27 min
Oodatav õues~5 min
Välitesti sõidul252 ✓ · 0 ✗

Miks see on oluline? Kaks simulaatori rünnakut — navisõnumi võltsing ja osa ülevõtust — ei liiguta ühtegi füüsilist tunnust. Neid püüab ainult allkiri.

Sünteetilise korpuse kaks nav_corrupt af0 möödalaskmist (kellaparameetri rikkumine navisõnumis) on klassikaline autentimisprobleem. OSNMA katab need ilma heuristikata. Kui OSNMA kaob 30 min järjest, on see hoiatus; läbikukkunud tag on rünnak.

06 · Tulemused

Kaks testitelge ja üks päris elu

Telg 1 · asukoht ja aeg

129 sünteetilist rünnakut + 9 puhast

GNSS-SDR tarkvaravastuvõtjaga töödeldud rünnakusalvestised: ülevõtud, triivid, ajanihked, pimestamine.

0/9 puhast salvestist andsid valehäire (max skoor 0,25, lävi 0,35).

Telg 2 · signaali tase

10 vastuvõtja tasemel rünnakut

Päris F9P salvestisse süstitud muutused: ülevõim, langus, lukustuse kadu, lame signaal, selektiivne, 5 segamistüüpi.

RünnakPeamine detektorOtsus
Päris elu

Esimene ööpäev saatis umbes 20 valeteadet, järgmised kolm mitte ühtegi

Päris taevas on teistsugune kui labor: satelliidid tõusevad ja loojuvad, vastuvõtja kell teeb aeg-ajalt hüppe ja arvuti taaskäivitub. Esimese ööpäeva järel analüüsiti iga valeteadet, põhjus parandati ja seejärel kontrolliti, et päris rünnakud on endiselt tabatavad. Järgmised kolm ööpäeva: 9 650 kontrolli, null valeteadet.

Põhjused olid: F9P laseb kella nihkel joosta kuni −1 ms-ni ja nullib selle seejärel (iga 7–10 h; varem tõlgendati seda kui ajavõltsingut, nüüd on reegel täpselt selle kuju jaoks, tolerants 10 µs); C/N0 ühtluse ja absoluuttaseme lävendid olid häälestatud lühikesele baasjoonele; OSNMA „tag'id puuduvad“ vahetult pärast taaskäivitust; salvestusauk aknas. Iga muudatuse järel süstiti 1 ms ajahüpped uuesti sisse. Lõdvem reegel lasi 60% neist läbi ja lükati seetõttu tagasi.

07 · Ajatelg

Esimesest salvestisest välitestini

14.10

Tuvastus omaette projektiks

Tuvastus eraldati omaette projektiks ja koodibaasiks. Puhas baasjoon: kõik detektorid 0,000.

14.10

11 detektorit, OSNMA, valvur

Signaalitaseme detektorid (10/10), sünteetiline regressioon 98/129, esimene Galileo autentimine, L1/L2 ja kella detektor, tõukesõnumid.

15.10

Esimese ööpäeva ülevaatus

Umbes 20 valeteadet analüüsitud ja parandatud. Valvur saadab nüüd teate ka siis, kui ta ise ei käivitu.

16.–19.10

Kolm ööpäeva vaikust

9 650 kontrollvooru, 0 valeteadet. Lisandus väline valvur ja automaatne varundus.

19.10

Välitest teadaoleva segamisega piirkonnas

Süsteem autos, telefonis eraldi sõiduvaade. Kõik salvestatud, et kaardistada segamise asukohad.

08 · Käsiseade

Valvur, mis mahub kotti

Sama tuvastus, mis praegu töötab laual, ühes karbis koos ekraani, aku ja sumistiga. Paned auto armatuurlauale või võtad kaasa ning seade ütleb jooksvalt, kas satelliitsignaali võib usaldada.

Tavaolek. Roheline tuli, üks rida olekut ja neli plokki: segamine, signaal mõlemal ribal, Galileo allkiri ja asukoha täpsus. Sõidu ajal lülitub seade ise liikumisrežiimi.
Häire. Ekraan muutub punaseks, sumisti piiksub ja telefoni tuleb teade. Põhjus on kirjas ühe reaga, all on tõendid. Kui L1 kukub ja L2 jääb terveks, on see segaja, mitte vari.
Suunaotsing. Pealt kinnituv suunatud patch-antenn, RTL-SDR ja kompass. Keera seadet ringi: graafik näitab, kust segaja kostab kõige tugevamalt. Salvesta suund, liigu kõrvale ja korda — 2–3 suunda lõikuvad allika juures. Lisaosad umbes 110–120 €.

Kust segaja tuleb

Ühe ümarantenniga vastuvõtja ei näe suunda, aga liikudes näeb ta, kus segaja on tugevam. Pane kaardil segaja paika (klõps), lase seadmel tänavad läbi sõita ja vaata, kust arvutus allikat otsib. „Suunaotsingu“ režiimis mõõdad hoopis suundi nagu suunaantenniga. Kõik toimub sinu brauseris väljamõeldud linnas.

puhasL1 kadunud

Illustratiivne simulatsioon. Näidis kasutab tehisandmeid: segaja tugevus nõrgeneb kaugusega, peale on lisatud müra nagu hoonete peegeldustest. Päris täpsus on lagedal kümned meetrid, majade vahel kuni paarsada. Täpse asukoha jaoks on vaja ka paigal seisvat võrdlusjaama või suunaantenni.

Kus seda vaja on

GNSS-segamine on Läänemere ääres igapäevane. Allpool on kasutusjuhud, kus käsiseade annab rohkem kui kõhutunne: ajatempliga tõendi, millal ja kus signaal ei olnud usaldusväärne.

Lennundus

Lennuväljad ja lähenemiskoridorid

Segamise tõttu on piirkonnas lende ümber suunatud ja ajutiselt peatatud. Seadmega saab lennuvälja ümbrust läbi sõita ja kaardistada, kus ja millal häire oli. Pärast saab lennujuhtimisele näidata andmeid, mitte ainult pilootide teateid.

Võimalikud kliendid: lennuliiklusteenindus, lennujaamad, lennuohutuse järelevalve, väikelennuväljad ja lennukoolid.
Meri

Sadamad, lootsid ja laevasild

Võltsimise korral näitab laeva GPS asukohta, kus laeva ei ole. Sillal või lootsipaadis olev seade ütleb jooksvalt, kas asukohta võib usaldada, ja salvestab juhtumi uurimiseks.

Võimalikud kliendid: sadamad, lootsiteenistus, merepääste, veeteede järelevalve, laevaomanikud.
Taristu

Täpne aeg mastides ja alajaamades

Mobiilsidemastid, elektrivõrk ja andmekeskused võtavad täpse kellaaja GPS-ist. Paigaldusel või auditil saab käsiseadmega kontrollida, kas antenni asukoht on puhas. Püsivalt valvab sama tarkvara laual.

Võimalikud kliendid: mobiilsideoperaatorid, põhivõrk ja jaotusvõrgud, andmekeskused, börsi- ja pangasüsteemide ajatemplid.
Järelevalve

Autosegajate leidmine

Odavad autosegajad, millega peidetakse sõidukit jälgimise eest, segavad kõiki ümberkaudseid vastuvõtjaid. Liikuvas autos näitab seade, kus häire on kõige tugevam, ja kitsendab otsingu tänava või parklani.

Võimalikud kliendid: raadiospektri järelevalve, politsei, maanteeameti kontroll, transpordiettevõtete turvajuhid.
Riigikaitse

Välitingimustes olukorrapilt

Üksus näeb jooksvalt, kas tema navigatsioon on segatud või võltsitud, ja logi annab ühise pildi, kus häireid esines. Seade ise ei kiirga, seega ei reeda see kasutaja asukohta.

Võimalikud kliendid: kaitsevägi, vabatahtlik riigikaitse, piirivalve, pääste- ja kriisiüksused, kaitsetööstuse integraatorid.
Droonid ja mõõdistus

Enne lendu ja enne mõõtmist

Drooni ja RTK-mõõdistuse kvaliteet sõltub sellest, kas GNSS on puhas. Viis minutit seadmega objektil ütleb, kas täna saab lennata ja mõõta või tuleb tulemustesse suhtuda ettevaatlikult.

Võimalikud kliendid: droonioperaatorid, geodeedid, ehitusmasinate juhtimine, põllumajanduse täppisvõtted.

Kontseptsioon. Käsiseade on prototüübi järgus ja ekraanipildid on kujunduse mockupid näidisväärtustega. Tuvastus ise töötab ja on testitud, vt tulemusi ülal.

09 · Ausalt

Mida see ei tee

Põhimõte

Ainult tuvastus

Projekt ei genereeri ega edasta ühtegi signaali. Rünnakuid testitakse salvestatud ja sünteetiliste andmetega. Päris raadiotestid on plaanis ainult juhtme kaudu või varjestatud keskkonnas ja vastava loaga.

Teadaolev auk

Väga väike ülevõtt

Kui võltsija nihutab asukohta vähem kui ~30 m, jääb see tavalise mõõtemüra sisse. Tundlikkuse suurendamine tooks valehäireid, seega oleme selle teadlikult jätnud.

4 sünteetilist takeover'it 5–30 m lõppnihkega jäävad alla läve (settled-nihe <12 m, staatilise vastuvõtja puhas nihe 1–2 m). takeover_offset tõstis 96 → 98, aga floor'i langetamine ohustaks 0-FP-d.

Füüsika piir

Üks vastuvõtja ei leia saatjat

Süsteem näeb, kus segamist tunda oli, aga mitte, kust see tuli. Suuna saab hinnata ainult liikumise pealt.

Ühe isotroopse antenniga puudub AoA. Allika hinnang tuleb jamInd/C/N0 gradiendist liikuva platvormi trajektooril või mitme jaama TDOA-st. Korrelaatori kuju (SQM) F9P ei väljasta, seega SQM töötab ainult SDR-i peal.

Liikumine

Sõidus on asukoht ise muutuv

Asukoha triivi detektorid eeldavad paigal antenni. Sõidu ajal neid ei arvestata ja otsus tehakse signaali-, ribade-, kella- ja krüptotunnustest ning sellest, kas asukoha muutus klapib kiirusega. Selleks on eraldi sõiduvaade.

Võltsitud asukoht

Vale asukoht on vale ka logis

Kui keegi võltsib, salvestub ka võltsitud asukoht. Tõeline asukoht tuleb hiljem tuletada ümbritsevate usaldusväärsete punktide põhjal.

Kinnitamata

Päris raadiorünnak veel mõõtmata

Kõik rünnakunumbrid on salvestistest ja süstimisest. Kaabli kaudu edastatud rünnakute mõõtmine (latents, tabamus, valehäired) on järgmine etapp.

10 · Sõnastik

Mõisted lihtsalt

GNSS

Globaalne satelliitnavigatsioonisüsteem — ühisnimi GPS-ile (USA), Galileole (EL), GLONASS-ile (Venemaa) ja BeiDoule (Hiina). GPS Shield kuulab kõiki nelja korraga, sest ründajal on keerulisem kõiki ühtviisi võltsida.

C/N0 (signaal-müra tihedus)

Kui tugevalt üks satelliit müra seest kostab, ühikutes dB-Hz. Lageda taeva all tavaliselt 35–50. Järsk ühtlane langus viitab segamisele, järsk ühtlane tõus ja liiga sarnased väärtused võltsimisele.

AGC ja jamInd

Vastuvõtja automaatne võimendus. Kui eetris on palju müra, keerab vastuvõtja võimendust alla. F9P annab sellest häireindikaatori 0–255. Tõuseb sageli enne, kui asukoht kaob.

L1 ja L2

Kaks sagedusriba, mida satelliidid samaaegselt kasutavad. Lihtne võltsija teeb tavaliselt järele ainult L1. Kui L1 ja L2 ütlevad sama satelliidi kohta eri asju, on midagi valesti.

OSNMA

Galileo navisõnumite krüptograafiline allkiri. Tasuta ja avalik. Tõendab, et sõnum tuli päriselt Galileolt.

Ülevõtt (takeover)

Võltsija alustab täpselt päris signaaliga samas kohas, muutub siis valjemaks ja hakkab vastuvõtjat aeglaselt kõrvale tõmbama — nii aeglaselt, et ükski hüpe ei paista silma.

Valehäire (false positive)

Hoiatus, kui rünnakut ei olnud. Valvuri puhul on see sama halb kui möödalaskmine: kui häire tuleb liiga tihti, lõpetatakse sellele tähelepanu pööramine.

UBX

u-blox vastuvõtja binaarne sõnumivorming. Sisaldab asukohta, iga satelliidi toormõõtmisi, raadiofrondi olekut, kella ja satelliitide saadetud toorandmeid.