Av Amund Askeland, sårbarhetsforsker i NSM

Overskrifta er kanskje litt lesaragn, korleis ein faktisk får ei 107 år gamal seglskute til å dukke opp i Akerselva har eg ingen formeining om. Det me skal ta ein kikk på her er kva som skal til for å sende ut falske AIS meldingar, der me fritt kan velje kva fartøy me vil utgi oss for å vere.

AIS Oslo sentrum
Eitt av desse skipa er ikkje ekte

For å sende ut falske AIS meldingar må me fyrst forstå kva ei AIS melding eigentleg er. Litt enkelt forklart kan me dele ei slik melding inn i to lag, det førstelaget er den digitale meldinga slik den er representert av ei rekke med “1” og “0”, eller ein bitstrøm om du vil. Slike digitale meldingar følger ein protokoll som bestemmer korleis informasjon som posisjon, fart og kva skip det er snakk om skal bli representert digitalt. For å finne ut korleis ein skal lage ei slik digital AIS-melding må ein sette seg inn i AIS standarden, som er såpass tørt lesestoff at det nesten kan reknast som eit sikkerheitstiltak mot folk som vil sende ut falske meldingar.

Det andre laget er slik meldinga er “på lufta”, dette er det fysiske radiosignalet. Dersom ein har ei digital AIS melding, må ein igjen ta ein kikk i standarden for å finne ut korleis den skal oversettast til eit radiosignal. Ting som frekvens på brrebølgja, modulasjonstype og bitrate må stemme overeins med det standarden beskriv.

Med denne kunnskapen kan me skrive kode som tar inn informasjonen me vil sende ut, slik som posisjon og kven me er, og gir oss tilbake ei fiks ferdig digital AIS melding. Vidare kan me bruke ein “Software Defined Radio” som er ein spesiell type radiosendar som kan styrast via ei datamaskin. Ved å skrive litt meirkode og bruke litt matematikk kan me omforme den digitale meldinga til eit radiosignal som me får radiosendaren til å sende ut. Med dette oppsettet er alt ein treng for å sende ut vilkårlege AIS meldingar ei datamaskin og ein liten radiosendar!

For å gi ei viss kjensle av korleis AIS meldingar ser ut har eg lagt inn ein figur under. Denne figuren visar spektrogrammet til ein AIS melding, altså korleis frekvensen til signalet endrar seg over tid. Sjølv om det ikkje er eit tidsfordriv eg kan anbefale, er det fullt mulig å dekode meldinga skipet sendte ut basert på figuren og AIS standarden.

Spekter AISSpektrogram av ei AIS melding

Sjølv om dette verken er eller bør vere ein detaljert guide, håpar eg du er med på at det er fullt mulig å sende ut vilkårlege AIS meldingar med konseptet forklart over. Men kva så? Kva slags sprell kan eit slikt oppsett brukast til?

Når skip kommuniserer med kvarandre brukar dei ein unik ID som heiter MMSI for å fortelje kven dei er. Desse nummera er offentleg tilgjengeleg, og ein finn dei enkelt med eit søk på nettet. For eksempel er MMSI nummeret til Statsraad Lehmkuhl 258113000. Ved å bruke dette nummeret og koordinatar for Akerselva oppnår me målet frå overskrifta.

AIS sentrum 2

Mottakarane av meldingane me sender ut er i utgangspunktet skip innanfor ei viss rekkevidd, men nettsider som Marinetraffic og Vesselfinder kan både gi eit større publikum og lengre rekkevidd. Desse sidene brukar AIS mottakarar plassert på land for å få inn posisjonane til skip som dei viser på karta sine, såvidt eg veit gjer dei ingenting for å kontrollere at meldingane dei får inn gir meining. Dette betyr at ein kan sende ut ein falsk AIS melding i nærleiken av ein mottakar i Oslo, og få Marinetraffic til å vise at skipet er utanfor Honolulu. Herfrå er skal det ikkje mykje fantasi til for å skjønne at ein kan gjere skade, eller i det minste skape overskrifter, ved å plassere eit krigsskip i feil havn.

Til slutt:
Å sende ut falske AIS meldingar kan lage problem for skipstrafikk og er sjølvsagt ikkje lovleg. Meldingar som blei sendt ut i samanheng med denne artikkelen blei sendt på andre frekvensar enn det skip lyttar på, og det heile blei gjort kontrollert på ein lab for å unngå å forstyrre anna radiokommunikasjon. Ikkje prøv dette heime.