Sieť vydržala: tri dni spamu v korutánskej sieti MeshCore

Táto stránka bola preložená automaticky. Môžu sa vyskytnúť chyby.

Najdôležitejšie hneď na začiatku: sieť vydržala. Tri dni sa korutánska sieť MeshCore zaplavovala spamom a falošnými uzlami a fungovala ďalej. Vnímam to ako test, ktorý by som si takto nikdy neobjednal a ktorý sieť napriek tomu zvládla. Tu rozprávam, čo sa stalo, z pohľadu jedného z prevádzkovateľov.

Krátko pred ôsmou v utorok večer

10. novembra o 19:37 to začalo. V korutánskej sieti MeshCore sa objavovali správy, aké nikto nedokáže tak rýchlo napísať: na verejnom kanáli a na štyroch hashtagových kanáloch, v špičke 19 za minútu, teda jedna každé tri sekundy. Do 00:35 ich bolo 471 od deviatich stálych názvov zariadení.

Potom nastal pokoj. Cez noc a dopoludnia sieť fungovala, akoby sa nič nestalo.

V stredu o 17:12 to začalo znova, tentoraz s trikom. Názov zariadenia sa menil po každej jednej správe. Za dobré dve hodiny, do 19:16, prišlo 377 správ pod 261 rôznymi názvami, z iba siedmich základných mien, so 116 až 163 novými názvami za hodinu. Kto by také niečo chcel skryť, s blokovacím zoznamom ďaleko nezájde.

Nezbadal to len jeden. Zbadala to celá sieť. Kto mal otvorený verejný kanál, videl, ako správy bežia.

Všetky časy v texte sú v SEČ, graf nižšie je v UTC. Čísla pochádzajú z paketov verejnej mapy a sú vypočítané, nie namerané na rádiu.

Čo Repeater vidí a čo nie

Prečo sa takému útoku ťažko bráni? Pretože repeater MeshCore vie takmer nič.

Správa v kanáli je šifrovaná. Repeater vidí hlavičku paketu, doterajšiu trasu a hash kanála. Obsah, názov ani odosielateľa nevidí. Paket posiela ďalej ako každý iný.

Tomuto posielaniu ďalej sa hovorí Flood: každý Repeater v dosahu paket zopakuje, jeho susedia ho zopakujú znova, kým nedorazí všade. Vďaka tomu je sieť bez pevných trás robustná. Zároveň je aj zraniteľná. Pri rádiových parametroch CarinthiaMesh (SF8, 62,5 kHz, CR8) zaberie paket s približne 109 bajtmi asi jednu sekundu vysielacieho času na každé prepošlenie a každé z nich stojí éter pre všetkých v dosahu.

Koľko to naozaj bolo?

Stĺpcový graf paketov Flood za hodinu v korutánskej sieti MeshCore 10. a 11. novembra 2026, s podielom odosielateľa oranžovou farbou a dvoma označenými vlnami
Pakety Flood za hodinu, od 10. novembra 16:00 do 11. novembra 19:00 UTC. Podiel odosielateľa je oranžový, obe vlny sú označené. Graf: oeradio.at, zdroj: údaje o paketoch z verejnej mapy, CarinthiaMesh.

Normálny deň v sieti vyzerá takto: v priemere okolo 180 paketov Flood za hodinu. V špičke prvej vlny (noc na 11. 11., 00:00 až 01:00) ich bolo 390, z toho 243 od odosielateľa, teda 62 percent. V špičke druhej vlny (11. 11., 18:00 až 19:00) ich bolo 348, z toho 200, čiže 57 percent.

Záťaž na Repeateroch sa tým zhruba zdvojnásobila a sieť to bez problémov zvládla: bežná prevádzka na kanáloch išla ďalej, všetkých šesť Observerov zostalo aktívnych a sieť zostala použiteľná. Ako záťažový test to bolo dobré znamenie.

Niečo ďalšie bolo nápadné v trasách druhej vlny. Žiadny Observer nezachytil paket s menej ako dvoma Hopmi. V 40 percentách trás sa ten istý Repeater vyskytol dvakrát, pri ostatnej prevádzke je to 13 percent. A prvé Hopy sa rovnomerne rozdeľovali medzi veľa Repeaterov v celom Korutánsku. To vyzerá na vopred nastavené, sfalšované trasy. Jeden prevádzkovateľ v skupine to videl rovnako: odosielateľ zapisuje do hlavičky pár pseudo-Hopov, aby mýlil. Na lokalizáciu sú tieto trasy preto bezcenné.

Večer v skupine

Kým bežala druhá vlna, v skupine Kärnten Funkt MeshCore sa odohralo to, čo sa v takých chvíľach deje vždy: najprv hnev, potom nápady, potom práca.

Hnev bol skutočný. Jeden povedal, že kým to takto pokračuje, na cvičenia netreba ani pomyslieť. Iný navrhol vypnúť Repeatery hneď v celej krajine, aby odosielateľa prešla chuť.

Potom sa to skonkretizovalo a skupina objasnila niekoľko vecí, ktoré by mal vedieť každý začiatočník:

  • Blokovanie vo vlastnom klientovi upratuje len vlastné zobrazenie. Pakety idú ďalej sieťou a žerú vysielací čas. A keďže sa názov neustále mení, nie je podľa čoho filtrovať.
  • Odosielateľa zablokovať nemožno. Dá sa len odpojiť miesta, cez ktoré do siete vstupuje. Potom sú ale vonku aj všetci ostatní.
  • Vypnúť neznamená vypnúť napájanie. Myslí sa tým vypnutie preposielania (set repeat off). Repeater zostáva dostupný, len už nič nenesie ďalej sieťou. Aj toto sa krátko vyjasnilo, aby všetci robili to isté.

Potom sa konalo. Najprv padlo preposielanie na jednom vstupe v oblasti Spittal. Potom som ho vypol na Dobratsch, čo je križovatka medzi južným a západným Korutánskom a zvyškom, a nakoniec padlo na Koralpe na východe, aby záplava nepretiekla cez lavanttalskú vetvu von do Rakúska. Jeden prevádzkovateľ vzal svoj Repeater na celú noc zo siete. Krátko po vypnutí bol pokoj, či to bola náhoda alebo účinok, nevieme. A pokoj nezostal: neskôr večer prevádzkovatelia hlásili, že to začalo znova. Táto fáza nie je v číslach tohto článku zahrnutá.

Všetky Repeatery potom išli znova do prevádzky. Kto vypne na vstupe, berie všetkým ostatným cestu do siete, to je cena. Plán, ktorý z tohto zvažovania vznikol, je vo wiki: wiki.carinthiamesh.com/flood-abwehr (rozpoznávanie slučiek, limit Hopov, duty cycle, núdzový vypínač, hľadanie odosielateľa).

Detektívi s hranicami

Súbežne začali prevádzkovatelia odosielateľa zaostrovať. Dvaja sa spojili. Jeden od večera zaznamenával každý paket so všetkými metadátami a ponúkol údaje všetkým, ktorí chceli robiť vlastné vyhodnotenia. Iní uvažovali o zameraní pomocou SDR a smerovej antény pre 869 MHz.

Potom prišla otázka, či sa z prijímanej sily dá vyčítať vzdialenosť. Odpoveď skupiny: nespoľahlivo. Odstup signálu od šumu závisí aj od miestneho šumu, lepšou hodnotou by bol prijímaný výkon (RSSI). Jeden prevádzkovateľ nameral za jeden deň Repeater vo vzdialenosti 18 kilometrov silnejší ako ten v 8 kilometroch, obidva s voľným výhľadom. Iní hlásili Repeatery, ktoré napriek malej vzdialenosti nepočuť, lebo v ceste stojí kopec, a trasy, v ktorých sa objavili Repeatery, ktoré by sa vlastne vôbec nemali počuť. To zapadá do toho, čo už tušíme: trasa bola pravdepodobne sfalšovaná. Triangulácia je podľa záveru ťažšia, než sa čakalo.

Kto to je, preto nevieme.

Tretia noc: nápis na mape

Potom prišiel štvrtok a s ním prekvapenie, ktoré nemalo so správami nič spoločné. V noci na 12. novembra bolo na mape zrazu vidieť 190 nových uzlov, ktorých polohy dohromady dávali nápis severne od Korutánska.

Fakty: od 01:39 do 02:06, približne 27 minút, prišlo 356 paketov Advert, až 24 za minútu, pod 190 rôznymi názvami. 90 názvov sa objavilo s jediným Advertom, ostatné s dvoma až piatimi. Pakety išli ako bežné Floody cez všetky Repeatery, v priemere dlhé 124 bajtov, a päť Observerov ich zachytilo. Potom už nič neprišlo.

Škoda: mapa je skreslená, kým uzly po siedmich dňoch nevypadnú. Rádiovej prevádzke to takmer neublížilo, 356 paketov za pol hodiny je pre sieť zvládnuteľných. Či za tým stojí ten istý odosielateľ ako pri záplavách správ, je otvorené.

Porušil odosielateľ pravidlá?

V skupine sa niekto spýtal, či odosielateľ tým porušil pravidlá. Na to treba vedieť, čo v našom pásme vôbec platí.

MeshCore v Európe beží v pásme 869 MHz, v pásme pre zariadenia s krátkym dosahom (Short Range Devices). Smie sa používať bez licencie, ale nie bez podmienok. Rakúsko na to odkazuje v rakúskom nariadení o využívaní frekvencií 2013 (FNV 2013) na rozhodnutie EÚ 2006/771/ES o zariadeniach s krátkym dosahom. Pre rozsah 869,4 až 869,65 MHz tam platí: najviac 500 mW vysielacieho výkonu (ERP, efektívny vyžiarený výkon) a buď techniky prístupu k frekvencii a zmierňovania rušenia, alebo pracovný cyklus najviac 10 percent. Nariadenie takéto požiadavky uvádza v stĺpci "podmienky používania".

Pracovný cyklus, po anglicky duty cycle, je podiel času, počas ktorého jedno zariadenie skutočne vysiela, meraný cez súvislú hodinu. 10 percent hodiny je 360 sekúnd vysielacieho času. Pri našich rádiových parametroch a približne jednej sekunde na paket je to asi 360 paketov za hodinu a zariadenie.

Čo to znamená v praxi:

  • Rozhoduje súčet za hodinu, nie rýchlosť. Kto krátko vysiela veľmi rýchlo a potom dlho oddychuje, môže zostať v limite.
  • Limit platí pre každé vysielajúce zariadenie osobitne, aj pre Repeatery. Aj preposlané pakety sa počítajú ako vysielací čas.
  • Limit upravuje vysielací čas, nie obsah. Spam môže byť v rámci limitu a napriek tomu byť otravný.
  • Až kto prekročí 10 percent, porušuje podmienky používania pásma. Pod tým je to nežiaduce, ale nie je to porušenie pravidiel.

Teraz k výpočtu. Počítame s paketmi, ktoré naše Observery zachytili, a s 1,0 až 1,17 sekundy vysielacieho času na paket. Limit je 10 percent za hodinu, teda 360 sekúnd. Za odosielateľa predpokladáme jedno jediné zariadenie. Domnievame sa, že za tým naozaj stálo len jedno, dokázať to nevieme.

  • Vlna 1: v špičkovej hodine 243 paketov, približne 243 sekúnd vysielacieho času, teda asi 6,8 percenta.
  • Vlna 2: v špičkovej hodine 200 paketov, približne 200 sekúnd, teda asi 5,6 percenta.
  • Adverty tretej noci: 356 paketov za 27 minút, približne 404 až 416 sekúnd, teda asi 11 percent hodiny, v najhorších desiatich minútach dokonca okolo 37 percent vysielacieho času.

Je to odhad, nie meranie: pakety, ktoré žiadny Observer nezachytil, chýbajú, skutočný vysielací čas teda môže byť vyšší. Ak vysielalo viac zariadení, každé jednotlivé bolo pod limitom. Obe záplavy správ tak zostali pod 10 percentami. Adverty boli nad nimi, ak ich vysielalo jedno jediné zariadenie.

Môj záver: sieť Repeaterov si musí odolnosť vytvoriť sama. Úrad tu sotva pomôže, ak sa to nestane otázkou využívania frekvencií.

Kto číta s nami a kto obviňuje

Viacerí prevádzkovatelia mali pocit, že odosielateľ číta v skupine na Telegrame. Dokázať to nevie nikto a v otvorenej skupine sa nikto vylúčiť nedá.

Tu mi záleží na jednom bode: obviňovanie, priame či nepriame, nepatrí ani do meshu, ani do skupiny. Každý si môže dať akýkoľvek názov zariadenia. Názov nič nehovorí o tom, kto za ním stojí.

Vo verejnom kanáli sa to počas druhej vlny napriek tomu stalo. Špekulovalo sa tam o tom, kto stojí za správami, a paušálne sa obvinila skupina rádioamatérov z Korutánska, a to zo zariadenia, za ktorým by podľa názvu mohol stáť rádioamatér. Kto za tým naozaj stojí a či má so záplavou niečo spoločné, nikto povedať nemôže.

Neskôr v skupine znova prišli narážky, aj tu bez dôkazu. Mám dojem, že pochádzajú od toho istého hlasu.

Považujem za možné, že práve toto je cieľ. Záplava, ktorá stavia prevádzkovateľov proti sebe, škodí viac než taká, ktorá stojí len vysielací čas.

A v skutočnej núdzi?

Otázka, ktorá v skupine po záplave zaznievala najhlasnejšie, je tá najnepríjemnejšia. Jeden prevádzkovateľ upozornil, že MeshCore je skôr sieť pre obyvateľstvo než pre zásahové zložky. Ak vypadne mobilná sieť, obava je, že počet správ prudko stúpne a sieť bude zaťažená, úplne bez zlého úmyslu.

Od 13. do 15. novembra beží v Korutánsku cvičenie civilnej ochrany Combined Success, ktoré spolkový štát Korutánsko a Bundesheer organizujú od roku 2009. Pokiaľ viem, tentoraz sa precvičuje zemetrasenie a rádioamatéri odovzdávajú hlásenia na 2 m a 70 cm. MeshCore sa v tom doteraz nepočíta. Opýtal som sa zúčastnených a navrhol som, aby sa s ním do budúcna počítalo.

Z toho pre mňa vyplýva: mali by sme v sieti nacvičovať, ako sa v núdzi vysiela, s definovanými kanálmi a jasnými dohodami. Jeden návrh z diskusie: zobrať z Repeaterov široké Scopy (*, Európa, Rakúsko) a pracovať len lokálne. Nasadil by som to, hneď ako sa zase niečo prejaví. Skoordinovane to zaviesť na všetkých Repeateroch je skutočná práca a práve tú by sme mali nacvičovať, namiesto aby sme sa ju učili v núdzi.

Test a čo ukázal

Komiksový koláž: prevádzkovatelia pracujú na Repeateroch, solárny panel a notebooky so sieťovým grafom, uprostred priateľský robot s papierovými lietadielkami, večerná nálada v horách
Záplava a ľudia za ňou, ktorí udržiavajú sieť v chode. Vygenerované pomocou AI, len na ilustráciu.

Tieto tri dni vnímam ako test a dopadol dobre. Záplavu, falošné uzly a sfalšované trasy sieť bez problémov zvládla, ostatná prevádzka išla ďalej. Prinajmenšom tak dôležité ako technika bolo, čo sa stalo medzi nami, ľuďmi z meshu: rýchlo sme sa zladili, bez toho, aby niekto musel rozkazovať. Na konci týchto dní jeden z nás poznamenal, že sa držíme spolu a spolupracujeme. K tomu sa dá pridať máločo. Pri nás v meshi sa zapája každý, kto má zariadenie, či už v spolku, alebo súkromne, a to je tá skutočná obrana. Samotná technika by tu pomohla málo.

Test tiež ukázal, na čom by sme mali pracovať: jednotná minimálna obrana na všetkých Repeateroch, nacvičený postup pre núdzu a viac Observerov, ktoré zdieľajú údaje.

A uprostred rozruchu prišla vo štvrtok na obed zo skupiny otázka, ktorá znela úplne inak: čo si myslíte o Repeateri pri Feldkirchene, s priamym výhľadom na Magdalensberg a hore do Ossiachu? Odpovedal som: dobrý nápad, a spýtal som sa, či na to už je miesto, alebo zatiaľ len nápad, a čo by sa potrebovalo z hardvéru.

Sieť rastie ďalej.

Čo si možno odniesť

Postup pri útoku v šiestich krokoch

  1. Situáciu doložiť počtami, bez obsahu správ.
  2. Informovať prevádzkovateľov a zatiaľ nič nemeniť.
  3. Minimálna obrana jednotne na všetkých Repeateroch.
  4. Vstup na obmedzený čas vypnúť (set repeat off), ak treba.
  5. Zúžiť zdroj, osloviť namiesto verejne pranierovať.
  6. Potom zdokumentovať.

Čo funguje a čo nie

  • Súkromný kanál chráni obsah, ale nie pred záplavou.
  • Scope triedi, ale nechráni, pretože sa kód dá vypočítať z názvu regiónu.
  • Trasy a prijímané sily sú na lokalizáciu len náznak, nie stopa, najmä nie pri sfalšovaných hlavičkách.
  • Účinné sú len opatrenia, ktoré obmedzujú množstvo a dosah Floodov. V núdzi je to dočasné vypnutie preposielania na vstupnom bode, za cenu, že tam všetci ostatní zostanú vonku.

Výzva

  • Cudzie názvy nečítať ako dôvod na podozrenie a nikde neobviňovať bez dôkazu.
  • Sieť nepatrí nikomu samému. Žije z dohôd komunity, napríklad pri pomenúvaní zariadení. Kto sa zapája, dodržiava ich a nepredstavuje sieť ako svoju vlastnú.
  • Repeatery konfigurovať jednotne a udržiavať verziu firmvéru viditeľnú.
  • Prevádzkovať vlastné Observery a zdieľať údaje: kto zapisuje pakety, vie neskôr doložiť, čo sa stalo.
  • Kto dodržiava vysielací výkon a duty cycle, koná v rámci pravidiel, a napriek tomu môže sieť trpieť. Preto sú potrebné dohody.

73, Michi OE8YML


Poznámka o transparentnosti

Tento článok som napísal a skontroloval s podporou AI (Claude, Anthropic) na základe svojich vyhodnotení a pozorovaní zo skupiny prevádzkovateľov. Všetky čísla sú vypočítané z paketov verejnej mapy (map.carinthiamesh.com), nie namerané na rádiu, vysielacie časy sú odhady za uvedených predpokladov. Príspevok neobsahuje obsah správ, kľúče ani polohy súkromných osôb. Kto stojí za správami a falošnými uzlami, nie je známe. Obe titulné motívy sú vygenerované pomocou AI a slúžia len na ilustráciu. Opravy a doplnenia rád privítam na [email protected].

Ako hodnotíte tento článok?
Nenastavujú sa žiadne cookies. Ukladá sa len vaše hodnotenie, voliteľná spätná väzba a anonymizovaný IP hash (ochrana pred viacnásobným hlasovaním). Ochrana osobných údajov

RSS kanál

Zostaňte v obraze!

Nezmeškajte žiadne novinky – prihláste sa na odber nášho RSS kanála

„Wire and will, we’re breaking through –Share · Connect · Create!“

Staviaš antény, aktivuješ vrcholy, experimentuješ s SDR alebo hackuješ Meshtastic uzly? OERadio.at je tvoja platforma. Zdieľaj svoje vedomosti – ako článok, návod na stavbu, report z terénu alebo technický tip. Či už si skúsená YL alebo skúsený OM, čerstvo licencovaný alebo starý harcovník: Tvoje skúsenosti sa počítajú.