====== Reverzní inženýrství digitálních signálů - meteosondy ====== Přednáška se zabývá problematikou reverzního inženýrství datových přenosů realizovaných pomocí radiového spojení. Postup je předveden na konkrétním příkladu meteorologických sond Vaisala. Během výkladu je kladen důraz na témata které mají širší souvislost s problematikou příjmu a dekódování radiových signálů. Proč vlastně provádět reverzní inženýrství radiových protokolů? * poslech vysílání v éteru (vysílačky, telefony, družice, drony, bezdrátové teploměry, meteosondy, ...) * bezpečnostní analýza * ověření že zařízení pracuje podle specifikace ===== Krmení pro ty co nevědí co je meteosonda ===== * [[http://www.radiosonda.sk]] * [[project::weathersonde::start]] * [[http://www.rtl-sdr.com/signal-identification-guide/]] * [[http://www.vaisala.com/Vaisala%20Documents/Brochures%20and%20Datasheets/RS92SGP-Datasheet-B210358EN-F-LOW.pdf|Specifikace parametrů meteosondy]] * [[http://www.vaisala.com/Vaisala%20Documents/Brochures%20and%20Datasheets/RS92-D-Datasheet-B210763EN-B-LoRes.pdf|Specifikace k jiné, podobné meteosondě]] audioukázka vysílání sondy (FM modulace) [[http://www.rtl-sdr.com/wp-content/uploads/2013/04/RS92SGPAudioExample.ogg]] TODO: obrázek kolik toho už umíme dekódovat ==== (de)modulace - sondy ==== - zjištění typu modulace * obecně poměrně složitý problém * pro sondy byl typ modulace znám ze specifikace * vysílá v rozsahu 401-406MHz * modulace FM + pár triků = GFSK/GMSK * rychlost 4800 baud nebo též 4800 symbolů/sec * proč GMSK? * obdélníky se dobře interpretují jako 1 a 0 ale špatně se přenášejí * vlny se hůř interpretují jako 1 a 0 ale __dobře se přenášejí__ * zaoblením se změnšuje rozsah frekvencí použitých pro přenos (bandwidth) TODO: obr. FFT signálu sondy + bw TODO: obr. zdemodulovaný signál, proložebý obdélníky TODO: obr. FFT signálu sondy + obrys FFT pro obdélníkový signál ==== rozpoznání různých typů modulace ==== TODO: - obecná problematika: typy modulace a jak je rozpoznat - (AM, FM, OFDM, TDM, FDM, QAM (G/M)FSK) - udělat si FM demodulaci, demodulaci do quadratury a do AM -> zjistit jednotlivé složky ==== dekódování zdemodulovaného signálu ==== - synchronizace hodin TODO: orb. vizualizace vlivu rozcházejících se hodin - problém synchronizace hodin pokud je na lince hodně stených bitů za sebou, obr. rozcházení se hodin na vysílači + zdůraznit vliv šumu TODO: obr - sondy: data jsou vysílání stejně jako by šla po sériové lince TODO: obr. schéma prtokolu na sériové lince - kódování bitů na symboly (0 -> 01, 1 -> 10), obrázek porovnávájící původní data a vysílané symboly - způsoby synchronizace hodin: MM (nejčastější) zde ne! - obrázek pro vizualizaci demodulace -> synchronizace hodin -> dekodovani symbolů -> dekodování bitů -> bajty - ukázka z oktety jak vypadají data - charakteristické sekvence opakující se každých 240B - obecná problematika vysílání: pakety fixní délky - používají se skoro vždy a všude - snadná synchronizace a nalezení začátku vysílání (začátku paketu) - obrázek s bajty které jsou: a) fixní b) mění se jen mírně nebo systematicky c) mění se chaoticky - odkaz na datasheet, nápověda v podobě: podrámců, CRC a RS - obrázek vyzualizující kde by asi tak mohlo být to předchozí - + obrázek vizualizující kde je délka subpaketů (2*L) - pro jiné verze sond (nebo další typy senzorů) se nejspíš vysílají subpakety jiného typu/délky - jak přijít na RS - chce to trpělivost, cit a hrubou sílu - co nevíme: z kterých dat se vlastně RS počítá, jaké používá koeficienty, jestli není invertovaný, jestli na začátku není magický bajt v jakém pořadí jdou byty na vstup ... - bez dalšího napínání, RS je "obyčejný", data se tam ládují všechna kromě hlavičky, lezou tam pozpátku a RS je taky pozpátku recording: http://nat.brmlab.cz/talks/2014-01-09-reverzni-inzenyrstvi-protokolu-sond.mkv {{tag>video}} ==== TODO: interpretace dat v podrámcích ==== - hledání symetrie - analýza MEAS rámce