Henry Isakoff 🥕 Verkkoon tunkeutuminen

| Verkkoon tunkeutuminen | 6 min

Aaltoja harjaamassa.

Tässä tutustutaan radiolähetyksiin ja paketteihin 433MHz näytteistä. Myös softa-radiot on hyvä lähestymistapa, kun niissä voi tarttua koko tuetun taajuuden kokonaisuuteen.

Websdr, taajuusalueet eikä se antennin koko.

Aloitetaan tutkimalla WEBsdr-ohjelmaradioita. Websdr.org sivustolla on iso lista julkisesti löydettäviä asemia.

Kanava

Suoraan näen, että juuri mikään asema ei tue 88-108mhz alueen yleisiä FM radiokanavia. Luulen, että kyseessä on tekijänoikeusblokki tjms. Eli meidän täytyy yrittää löytää jotain mahdollisimman julkista että pysytään varmasti eettisessä raportoinnissa.

Vilkuilen eri radioita ja löydän erittäin laajasti bittivirtoja ja euroopan sisällä löytyy paljon laivaliikenteen tjms viestittelyä.. Teen tehtävää aamupäivällä ja kanavia jotka eivät ole bitteihin/liikenteeseen liittyviä on ainakin euroopasta vaikea löytää äkkiseltään. Syynä voi olla sää myös. Löydän joitain venäjänkielisiä lähetyksiä, heikolla signaalilla mutta haluaisin tarttua johonkin jota tunnistan.

Päädyn menemään kartalta Amerikan Utahiin ja sieltä löydän 60 metrin alueelle ja kuuntelen hetken yhtä (AM) kanavaa 5025MHz. Tämä ensimmäinen joka kuuluu selkeästi ja on hyvin tunnistettavaa puhetta. Vesiputouksessa vahva selkeä viiva. Kanava Kanava

Kieli on vieras, mutta kuulen ”Radio Rebelde!” ja totean, että kyseessähän on Espanjan kieli. Tägitän sivulle kanavan nimellä.

Tarkemmin signaalin pituus kanavalla on 300/5,025, eli 59,7 metriä.

Ohjelmistot ja analyysit.

Asennan rtl_433, Gnu-radio ohjelmistokokonaisuuden, Ultimate Radio Hackerin (RDH) ja SDR++. Brewin kautta saamme kolme ensimmäistä. Jos brew vieras, kyseessä Mac OS paketinhallinta. Asennustiedot ja dokumentaatio löytyy heidän sivuilta.

SDR++ löytyy omana kokonaisuutena githubista. Viimeisin nightly-build tukee natiivisti Apple ARM pohjaa.

Käytetään nyt ensin rtl_433 analyysiin.

Raporttia varten saimme Terolta näytteen analyysia varten tästä.

Analyysi

Analyysistä huomaamme, että laitteita tai toimintoja on kolme.

	-KlikAanKlikUit-Switch
	-Proove-Security
	-Nexa-Security

Talokoodi on kaikille sama, eli ’8785315’ - tällöin viittaisi, että kaukosäädin lähettää yhdelle järjestelmälle samaa lähetyskokonaisuutta.

Jokainen lähetys myös toistuu kolmen välein eri toiminnalle. Eli kyseessä olisi neljä pakettikokonaisuuden lähetystä (näpäytystä) jossa vastausten vasteajat varioivat huomattavasti.

Arvaus

’KlikAanKlikUIT-Switch’ Sisältää Dim Value attribuutin, eli tämän voisi olettavan ohjaavan valoja

’Nexa/Proove-Security’ Viittaisi saman järjestelmän sisällä olevaan (esim matter) -protokollan sisällä olevaan valvontajärjestelmään ja/tai sen päälläoloon.

Bittivirrat ja nimeämiskäytäntö.

Saamme myös complex16s-näytteen ja meidän täytyy muuntaa tämä 8-bittiseen muotoon Rtl_433 luettavaksi.

Aloitan lukemalla Rtl_433 nimeämis ja metadata osuuden dokumentaatiosta.. Complex16s on lisänimitys cs16 formaatille, eli sisältää (I/Q kompleksilukuja), on allekirjoitettu ja tärkeimmiten: se on 16-bittinen.

Cs8 on vastaavasti tismalleen sama, mutta 8-bittinen. Dokumentaatiossa myös mainitaan, että rtl_433 osaa itse skaalata bittivirran nimeämiskäytännön mukaan. Eli itse nimi määrää skaalausarkkitehtuurin.

Eli kokeilen vain vaihtaa päätteen .cs8 perään.

rtl_433 -f 433.92M -r Recorded-HackRF-20250411_183354-433_92MHz-2MSps-2MHz.cs8

Sama tiedosto!

Toimi! Ja sehän on sama tiedosto kuin alunperinkin. Eli tätä ei tarvitse analysoida enempää.

Urh ja 1_on_on_on

Saadaan Terolta näyte 1-on-on-on-HackRF-20250412_113805-433_912MHz-2MSps-2MHz.complex16s. Asensimme alkuun brewin kautta Ultimate Radio Hackerin niin avataan tällä.

Sama tiedosto!

Ensimmäisenä analysoin infon. Näyte on kestänyt 5,49 sekuntia ja sisältää 5 491 580 näytettä. Näytteitä sekunnissa (SPS) on siis miljoona. Tämä todennäköisesti sama kaukosäädin keskitaajuudella 433,912 MHz kuin aikaisemmassakin.

Tarkastan yhden bitin koon ja huomaan, että se on 526 mikrosekuntia. Muutan projektin näytekoon samaan 525 kokoon, kuten Hubacekin videossa suositellaan.

Sama tiedosto!

Pulsseja on kolme, eli nappia on painettu kolme kertaa.

Tutustun aikani ASK, FSK ja PSK modulaatiohin ja mielestäni tämä video kuvaa hyvin bittimodulaation kannan. Tämä on hyvin selkeästi ASK. Tarkastan vielä Demodulated kohdasta, että bittien vaihto kulkee itse asettamani raja-arvon alapuolelle kuten ASK modulaatiossa pitäisikin.

ASK

Analyysissä jaan bitit protokollien osiin ja pidän vain alun yhtäläisyydet näkyvissä.

Alun koodi on kaikissa sama ja epäilen, että kyseessä on vain, että sillä varmistetaan signaalin onnistuminen (heh siellähän muuten merkintä preamble). Tämä toistuu useasti ennen oikeaa komentoa.

Yritän tunnistaa kaavaa komennoissa ja laskea eri komentoja, mutta tähän muutan datan ASCII muotoon.

ASK

ASCIIssa huomaan, että P, A ja @ komennot toistuvat. Eli kolme komentoa ja välissä odotetaan mahdollista vastausta. Yhteensä 15 komentoa (kaikki ei näy kuvassa).

Tarkistan vielä, että muidenkin raakabittien lähetys on noin 520-525 μs ja komentokokonaisuuden lähetys on noin 134ms (+- 0,5ms) per komento.

ASK ASK

Tämän nopeuteen vertaan googlelta yhden mikrosekunnin nopeuden. Googlen mukaan valo kulkee yhden kilometrin n. 3,336 mikrosekunnissa - eli 525 mikrosekunnissa valo kulkisi n 156km. En vahvistanut väitteitä mitenkään.

Lyhyesti ja kommentit.

Lyhyesti rtl_433 ja dekoodaus. täältä

  • Modulaation analyysin kokonaisuus on osa monesta tekijästä.
  • Pulssin leveys ja väliset ajat ovat tärkeä dekoodaukselle.
  • Myös URH oiva työkalu analysoinnissa.
  • On myös tietokanta mistä näkee mitä rtl_433 tukee.

Hubacek täältä. Alku 3:19 ja loppu 7:40.

  • Modulaatio täytyy aina ensin valita oikein. Tunnistamalla tämä.
  • Bittikoko kannattaa verrata lähetykseen. Pitäisi olla mahdollisimman samankokoiset.
  • Näytetään myös demodulaatio.

Kommentit

Spektrumianalyysi minulle täysin uutta ja joudun vieläkin palaamaan hyvin yksinkertaisiin asioihin näitä tutkiessa. Kokonaisuus kuitenkin tärkeä ymmärtää, kun puhutaan radio-aalloista ja niiden suhteista bitteihin ja modulaatioihin.

Gnu radio ja SDR++ jäi vapaaehtoisuuden alle enkä kerennyt käymään läpi. Toivottavasti pääsemme niihin kuitenkin jatkossa.

https://www.onetransistor.eu/2022/01/decode-433mhz-ask-signal.html

http://websdr.org https://en.wikipedia.org/wiki/Radio_Rebelde http://websdr1.sdrutah.org:8901/index1a.html?tune=7032lsb?zoom=1 https://fi.wikipedia.org/wiki/Matter_(standardi) https://youtu.be/qGwUOvErR8Q?si=T96-fFSWAz2bC4bG&t=182

https://github.com/merbanan/rtl_433/blob/ac1e4a8c5a36fb90e3b06c0f01cef00bb3b2614d/docs/IQ_FORMATS.md#file-name-meta-data

http://brew.sh/

Modulaatioiden erojen pohjatiedon apuna käytetty Gemma3:27b ja Mistral-Small3.1 tekoälymalleja. Lähinnä osoittamaan suuntaa.

http://ollama.com/ https://ollama.com/library/mistral-small3.1 https://ollama.com/library/gemma3:27b

Marked toimii md muuntimena sivulla. https://github.com/markedjs/marked

Sivuston kuvat optimoitu https://optimage.app

Käytetty aika 4h 30min työkalujen, käytäntöjen ja modulaatioiden opettelu ja ymmärrys. 1h raportin kasaaminen.