2 Punkte von GN⁺ 2024-05-27 | 2 Kommentare | Auf WhatsApp teilen
  • Inmitten der wiederkehrenden Bedrohung durch Luftangriffe in der Ukraine wird Home Assistant als Sicherheitswarnsystem im Haus eingesetzt und übermittelt Informationen über herannahende Raketen und Drohnen an Mobiltelefone und Lautsprecher
  • Da sich die Lage nicht allein anhand einfacher Luftalarm-Sirenen beurteilen lässt, werden Start eines MiG-31K, Kamikaze-Drohnen, ballistische Raketen, Marschflugkörper und kombinierte Angriffe in unterschiedliche Gefahrenstufen eingeteilt
  • Die integrierte Ukraine Alarm-Integration überwacht landesweite Luftalarmmeldungen und löst nur dann kritische Benachrichtigungen und Ansagen über Smart Speaker aus, wenn sich Familienmitglieder in Kyiv befinden
  • Telegram-Monitoring-Kanäle werden mit HA Multiscrape alle 5 Sekunden geprüft; anhand von Schlüsselwörtern wie Tu-95-Start, Kyiv, Stadtteilnamen und Formulierungen zum Aufsuchen eines Schutzorts werden unmittelbar bevorstehende Angriffe und direkte Gefahren erkannt
  • Wird eine direkte Gefahr erkannt, werden Benachrichtigungen mit maximaler Lautstärke auf dem Handy sowie Ansagen über den HomePod im Schlafzimmer ausgelöst, damit man sich sofort an einen Schutzort hinter zwei Wänden wie etwa das Badezimmer begibt

Luftangriffe in der Ukraine und Gefahrenstufen

  • Seit der groß angelegten russischen Invasion im Jahr 2022 ist die Ukraine täglich Angriffen mit verschiedensten Waffen ausgesetzt, ausgenommen Atomwaffen; Home Assistant wird genutzt, um vor herannahenden Bedrohungen zu warnen
  • Luftalarm-Sirenen können mehrmals am Tag ertönen; würde man jedes Mal in einen Schutzraum gehen, käme der Alltag vollständig zum Erliegen
  • Viele Menschen prüfen bei Sirenenalarm auf dem Handy die tatsächliche Gefahrenlage
  • Das Luftangriffsrisiko wird in mehrere Typen unterteilt
    • Start eines MiG-31K: Kann mehrmals täglich vorkommen; die MiG-31K kann hyperschallschnelle Kh-47M2-Kinzhal-Raketen tragen. Da sich nicht vorhersagen lässt, ob sie tatsächlich bewaffnet ist, akzeptieren viele Menschen dieses Risikoniveau
    • Kamikaze-Drohnenangriff: Wird meist mit iranischen Shahed-136-Drohnen durchgeführt; auch wenn die meisten abgeschossen werden, bleiben sie gefährlich und furchteinflößend. Wegen des Motorgeräuschs nennt man sie „mopeds“ oder „lawn-mowers“
    • Angriff mit ballistischen Raketen: Ballistische Raketen wie die 9K720 Iskander sind mit rund 2 km/s extrem schnell, sodass höchstens etwa 10 Minuten zum Verstecken bleiben. Am schnellsten bringt man sich hinter zwei Wänden in Sicherheit, etwa in einem Flur oder Badezimmer
    • Angriff mit Marschflugkörpern: Marschflugkörper wie Kalibr sind vergleichsweise langsam und fliegen wie Flugzeuge, können aber große Entfernungen zurücklegen und jeden Ort im Land erreichen
  • Am gefährlichsten sind kombinierte Angriffe
    • Dabei werden zunächst Luftabwehrsysteme mit Drohnen und Marschflugkörpern erschöpft, worauf ballistische oder hyperschallschnelle Schläge folgen
    • Sie finden meist nachts gegen 4 Uhr morgens statt

Überwachung von Luftalarmen mit Home Assistant

  • Die integrierte Ukraine Alarm-Integration von Home Assistant überwacht das landesweite Luftalarmsystem
    • Sie schaltet einen Sicherheitssensor in Home Assistant ein und aus
  • Tritt irgendeine Form von Gefahr auf, wird eine kritische Benachrichtigung gesendet und eine Nachricht über Smart Speaker gesprochen
  • Auch wenn die Luftalarm-Sirenen auf der Straße in der ganzen Stadt heulen, wurden Automatisierungen so eingerichtet, dass man im Haus sicher geweckt wird und die Lage prüfen kann
  • Die Automatisierung für den Luftalarm in Kyiv verwendet die Zustandsänderung von binary_sensor.alerts_kyiv_air als Trigger
    • Wechselt der Zustand von off zu on, wird „Air Alert goes off!“ verwendet
    • Wechselt der Zustand von on zu off, wird „It is safe now!“ verwendet
    • Sie wird nur ausgeführt, wenn sensor.family_in_kyiv auf on steht, also nur wenn sich jemand in Kyiv befindet
  • Die Benachrichtigung wird über script.announcement ausgeführt
    • Mit force_speak: true wird auch im Nicht-stören-Modus gesprochen
    • Push-Benachrichtigungen sind auf critical: 1 und Lautstärke 0.75 gesetzt

Scraping von Telegram-Kanälen

  • Während eines Luftangriffs liefern Telegram-Kanäle Echtzeit-Updates zu Gefahrenlage, Flugrouten und Art des Angriffs
  • Die Aufgabe, ständig aufs Handy zu schauen, um zu beurteilen, ob direkte Gefahr besteht oder ob man noch ein paar Stunden schlafen kann, wird an Home Assistant übergeben
  • Es wird ausdrücklich darauf hingewiesen, dass Menschen in der Ukraine bei Warnungen Schutzräume aufsuchen sollten und dass diese Konfiguration nicht als Handlungsanweisung befolgt werden darf
  • Für das Scraping wird die Custom-Integration HA Multiscrape verwendet
    • Es gibt zwar auch die integrierte scrape-Integration von Home Assistant, diese ist aber eingeschränkt, wenn in einem einzelnen Scrape mehrere Sensoren erstellt und Datenlisten verarbeitet werden müssen
  • Telegram-Webseiten wie https://t.me/s/war_monitor werden abgerufen, die Liste .js-message_text wird ausgelesen, und die neuesten Nachrichten werden für Sensorbewertung und Attribute verwendet

Erkennung eines bevorstehenden Angriffs durch Tu-95-Starts

  • Marschflugkörper werden üblicherweise von Tu-95-Bombern transportiert und abgefeuert
  • Eine Tu-95 fliegt etwa 3 Stunden bis zum Abschusspunkt, und nach dem Abschuss brauchen die Raketen noch etwa 1 bis 2 Stunden bis nach Kyiv
    • In dieser Zeit kann ein Schutzort wie das Badezimmer vorbereitet werden
    • Dokumente können zusammengesucht werden, und man kann vor Beginn des Angriffs noch einige Stunden schlafen
  • Solche Situationen treten meist abends auf und deuten darauf hin, dass in der Nacht ein groß angelegter Raketenangriff möglich ist
  • Der Sensor scrapet die Nachrichtenliste des Telegram-Kanals alle 5 Sekunden
    • Die neueste Nachricht wird in Kleinbuchstaben umgewandelt und geprüft
    • Es wird geprüft, ob bestimmte Wortkombinationen vorkommen, die zu „take off“, „plane“ und „tu-95“ gehören
    • Die neueste Nachricht wird im Attribut latest_message gespeichert
  • Wenn der Sensor eingeschaltet wird, bedeutet das, dass sich die Bomber in der Luft befinden und noch Vorbereitungszeit bleibt
    • Die Automatisierung läuft, wenn binary_sensor.imminent_attack_in_war_monitor oder binary_sensor.imminent_attack_in_operinform von off auf on wechseln
    • Der Benachrichtigungstitel lautet „Bombers take off 🛫“, und die Nachricht verwendet latest_message des Sensors

Warnungen bei direkter Gefahr und Schutzverhalten

  • Ein Sensor für direkte Gefahr sendet Benachrichtigungen, wenn eine unmittelbare Bedrohung für den Standort des Nutzers besteht
  • Bei nächtlichen Angriffen entsteht die Situation, zwischen einer schlaflosen Nacht im Schutzraum und möglichst langem Verbleib im Bett für die Arbeitsfähigkeit am nächsten Tag wählen zu müssen
  • Wer einer solchen Umgebung lange ausgesetzt ist, beginnt Risiken abzuwägen
    • Um arbeiten zu können, ist ausreichend Schlaf nötig
    • Die Luftabwehr schießt regelmäßig anfliegende Bedrohungen ab
    • Das Risiko eines direkten Treffers oder von Splittern in Kyiv wird nach einer unwissenschaftlichen Einschätzung als in etwa vergleichbar mit dem Risiko angesehen, von einem Auto angefahren zu werden, und daher als akzeptabel betrachtet
    • Bei einem direkten Treffer sind die Überlebenschancen sehr gering
    • Werden Raketen oder Drohnen in der Nähe abgeschossen, kann die Druckwelle Fenster zerbrechen
  • Meistens bleibt man im Bett und schläft, versteckt sich aber im Badezimmer, wenn die Lage ernst wird
    • Die Wahl dient dazu, bei Explosionen in der Nähe hinter zwei Wänden vor Glassplittern und Druckwellen geschützt zu sein
  • Der Sensor für direkte Gefahr sucht nach bestimmten Schlüsselwörtern
    • Ortsbedingung: „Kyiv“ oder der Name des Stadtteils
    • Gefahrenbedingung: Formulierungen entsprechend „warning“, „be in a safe place“ und „fast target“
    • Sind beide Bedingungen erfüllt, wird der Sensor eingeschaltet
  • Wenn der Sensor eingeschaltet wird, wird dies sofort als direkte Gefahr gewertet
    • Es wird eine kritische Benachrichtigung mit dem Titel Direct Danger ⚠️ gesendet
    • Push-Benachrichtigungen sind auf critical: 1 und Lautstärke 1 gesetzt
    • Die Lautstärke des HomePod im Schlafzimmer wird auf 0.6 gesetzt
    • Ukrainische Warnmeldungen wie „sofort Schutz suchen“ und „Angriffsgefahr für Kyiv“ werden über den Lautsprecher gesprochen
    • Mit force_speak: true wird die Lautsprecherdurchsage erzwungen

2 Kommentare

 
humblebee 2024-05-28

🇺🇦💙💛💪🌟🙌🌍✨

 
GN⁺ 2024-05-27
Meinungen auf Hacker News
  • Dass so etwas existiert, ist faszinierend und zugleich schrecklich.
    Wenn man viel YAML für K8s oder Ansible schreibt, validiert man es normalerweise in einer Testumgebung, bevor es in den Betrieb geht. Hier kann ein einziger YAML-Bug tatsächlich Menschenleben kosten.

    • Der Ausdruck battle tested ist hier wörtlich gemeint.
    • Das wirklich Schreckliche daran ist, dass es weniger ein Alarmsystem als vielmehr ein Werkzeug zum Durchhalten ist. Selbst in Kiew ist sein Nutzen als Alarmsystem begrenzt.
      Wenn man noch nicht an dem Punkt ist, sein Schicksal zu akzeptieren, aber den Gang in einen echten Schutzraum bereits aufgegeben hat, kann man es so konfigurieren, dass man bei anfliegenden Marschflugkörpern und tödlichen Drohnen statt stundenlangem Verstecken nur etwa eine Stunde lang Glassplittern ausweicht.
      Näher an der Front als Kiew ist es fast nutzlos. Selbst nicht-hyperschallschnelle ballistische Raketen oder Gleitbomben haben eine so kurze Flugzeit, dass man den Alarmton und die Explosion fast gleichzeitig hört.
    • Das meiste ist inzwischen bereits in die Home-Assistant-UI gewandert und ist damit weniger fehleranfällig als früher.
    • Willkommen in der dystopischen Zukunfts-Zeitlinie. Es wird noch schlimmer werden.
  • Statistiken wie die Anzahl und Dauer der Luftalarme in der gesamten Ukraine sowie die Zahl der in Medienberichten gemeldeten Explosionen nach Region und Zeitraum findet man unter https://alerts.in.ua/en.
    Es gibt einen Abschnitt mit Statistik-Zusammenfassungen; einfach unten auf dem Bildschirm auf die Sanduhr-Schaltfläche klicken und dann nach Zeitraum filtern.

    • Ich arbeite mit Statistik, und es kommt selten vor, dass ich mir wünsche, es gäbe weniger Datenpunkte.
  • Die eigentliche Frage ist, warum es keine offizielle API gibt, die die Art der Gefahr detailliert beschreibt. Man sollte nicht Telegram scrapen müssen, um Art und Geschwindigkeit der Angriffswaffen sowie die erwartete Ankunftszeit herauszufinden.
    Kropyva ist übrigens ebenfalls einen Blick wert. Es ist so etwas wie Uber für Artilleriebeschuss und sehr nützlich, um russische Truppen auszulöschen.

    • Eine solche zentrale API würde ständig angegriffen werden.
      Man verteilt die Angriffsfläche gewissermaßen, indem man andere Dienste nutzt.
    • Der Hauptgrund ist Dezentralisierung.
      Die Journalisten, die solche Kanäle aktualisieren, erhalten Informationen nicht nur aus internen Quellen der ukrainischen Luftverteidigung, sondern auch von Open-Source-Intelligence-(OSINT-)Aktivisten, die mit SDR russischen Funkverkehr überwachen, sowie von Menschen in Russland und Belarus, die Flugzeugstarts am Boden beobachten. Das ist sehr gefährlich, aber es gibt Möglichkeiten, Informationen relativ sicher zu übermitteln, und Flugzeuge sind in der Regel laut.
      Wenn ein Journalist aus irgendeinem Grund verschwindet, können andere weiterhin Updates veröffentlichen. Auch jede Oblast hat eigene Kanäle, die vor Angriffen warnen; manche werden von regionalen Verwaltungen oder Rettungsdiensten betrieben.
      Die Luftverteidiger sind zu beschäftigt, um solche Inhalte selbst direkt zu überwachen und schriftlich aufzubereiten. Oft ist das Beste, was sie tun können, kurz vor einer Verschlechterung der Lage eine knappe Nachricht in einem Gruppenchat oder an einen Telegram-Bot zu schreiben. Gleichzeitig müssen sie den Zeitpunkt der Veröffentlichung so steuern, dass genügend Vorwarnzeit bleibt, ohne Fähigkeiten und Standorte ukrainischer Beobachtungsposten preiszugeben.
      Dieses System muss einfach sein. Nicht alle ausgebildeten Luftverteidigungskräfte sind technisch versiert, und viele wissen nicht einmal, was eine API ist. Auch viele Ukrainer können nicht mit APIs umgehen, aber sie können Telegram-Warnungen lesen.
      Die Journalisten, die Überwachungskanäle kuratieren, erhalten aus der allgemeinen Bevölkerung auch Hinweise zu Flugrouten von Raketen und Drohnen. Es gibt einige Apps, die GPS und Kompass des Smartphones nutzen und Daten senden, wenn man das Telefon auf das Objekt richtet, aber letztlich geht es darum, mehrere Informationskanäle zu haben, die auch Nichttechniker leicht nutzen können.
      Schon eine Nachricht mit ungefährer Position, dass man einen Marschflugkörper vorbeifliegen gehört hat, kann helfen, weil die Radarabdeckung nicht 100 % beträgt. Solche Meldungen werden an ukrainische Luftverteidiger weitergeleitet, die in Echtzeit Abfangversuche unternehmen.
      Auch das Sicherheitsproblem ist offensichtlich. Persönliche Kontakte und der Zugang zu Gruppenchats lassen sich verifizieren, und bei Telegram-Kanälen ist es von außen schwer, die Anonymität zu brechen, sodass es auch nicht einfach ist, die Geräte der Autoren zum Ziel von Cyberangriffen zu machen. Eine API müsste dagegen weltweit offen sein und würde sofort zum Ziel.
      Es ist ein chaotisches System, aber es funktioniert.
      Kropyva ist nicht für die breite Öffentlichkeit zugänglich und weit von den Fähigkeiten vergleichbarer NATO-Systeme entfernt. Seine Stärke ist, dass es eine Android-App ist, die auf billigen Tablets läuft und nicht von Hardware abhängt, die der militärisch-industrielle Komplex bereitstellt. Solche Hardware ist sicherer und robuster, aber deutlich teurer.
  • Bei der Passage „Home Assistant hat eine eingebaute Ukraine-Alarm-Integration. Sie überwacht das landesweite Luftalarmsystem und schaltet Sicherheitssensoren in HA um“ denke ich: Ich kenne die HA-Community nicht gut, aber bei neuen Commits, die dieses Plugin beeinflussen, sollte man sehr vorsichtig sein.

    • Es läuft vermutlich in Tausenden, vielleicht sogar Millionen Haushalten; ich hoffe jedenfalls, dass wirklich alles überprüft wird.
    • Ich weiß nicht genau, was du über die HA-Community andeuten willst, aber unabhängig davon sollte man in einer solchen Situation das Risiko von Software-Supply-Chain-Angriffen sehr ernst nehmen.
      Ideal wäre, wenn eine vertrauenswürdige Peer-Gruppe den Code äußerst sorgfältig prüft und Signaturen oder Ähnliches verwendet, um sicherzustellen, dass alle sozusagen „bekommen, wofür sie bezahlt haben“.
      Vielleicht hängt man nicht so sehr davon ab, dass Menschenleben direkt daran hängen, aber wenn es wichtig genug ist, um es zu nutzen, ist es definitiv auch wichtig genug, um es gründlich zu verifizieren.
      Allerdings ist das leicht gesagt, wenn ich nicht versuche zu schlafen, während eine Liste furchteinflößender Munition auf mein Zuhause zufliegt; einfache Maßnahmen wie „nicht von einer verifizierten Konfiguration updaten“ könnten schon ausreichen.
  • Dass so etwas existiert, ist zugleich unheimlich und ermutigend.

    • Ich hätte nie gedacht, dass ich einmal in der Realität ein Programmier-Tutorial lesen würde, in dem Tu-95-Starts und Kalibr-Abschüsse per String-Matching erkannt werden. Es fühlt sich völlig surreal an.
      Wie ein Modding-Guide für Cold Waters.
  • Eine interessante Nutzung von Home Assistant. Im nächsten Abschnitt wird ein Uptime-Monitor erwähnt; ich frage mich, was sie verwenden, um online zu bleiben. Vermutlich so etwas wie eine UPS oder Batterie-Backup.

    • Seit dem Winter 2022 haben die meisten irgendetwas in der Richtung. Russland hat Zivilisten und Infrastruktur angegriffen, und zusammen mit dem Mangel an Luftverteidigung führte das systematisch zu Stromausfällen.
      Trotzdem müssen die meisten weiterarbeiten, also haben sie sich UPS, EcoFlow, Generatoren und Solaranlagen angeschafft; bei kleinerem Budget sogar DIY-Batterien. Dieses Jahr ist es ähnlich.
    • Da das Stromnetz in der Ukraine weiterhin angegriffen wird, braucht man dort vermutlich ohnehin eine UPS.
  • Technologie einzusetzen, um das Leben zu verbessern, ist schon beeindruckend, aber Technologie einzusetzen, um einen Raketenangriff zu überleben, ist eine ganz andere Dimension.
    Manchmal frage ich mich, ob die Menschheit es eines Tages schaffen kann, Kriege für immer zu beenden.

    • Ich glaube nicht, dass ein solcher Zustand stabil wäre. Ohne Krieg würde man die Fähigkeit zu kämpfen verlieren, und am Ende würde es für eine kleine Gruppe leicht, einen viel größeren, aber schwächeren Gegner anzugreifen.
      Selbst wenn ein Krieg dadurch gelöst würde, dass das angegriffene Land sofort kapituliert und ein einzelner Aggressor die Welt beherrscht, würden sich innerhalb dieses Systems wieder Fraktionen bilden, die um Macht konkurrieren.
      Wenn Verteidigungstechnologie Angriffstechnologie dauerhaft übertrumpfen würde, könnte das eine Lösung sein, aber ich glaube, die Menschen würden trotzdem einen Weg finden. Krieg könnte auch dadurch beginnen, dass die Loyalitäten von Menschen psychologisch verändert werden.
    • Menschen neigen von Natur aus zu Krieg oder Konflikt. Das ist unser fataler Makel.
    • „Kann die Menschheit eines Tages Kriege für immer beenden?“ ist eine viel zu große und philosophische Frage. Sie ist weit genug entfernt, dass wir alle bei einem Kaffee lange darüber diskutieren könnten.
      Die realistischere und praktischere Frage wäre: „Warum hat Biden den Krieg nicht beendet?“
      Dann beginnt die eigentliche Debatte. Widersprüchliche Ansichten, ziemlich viel Feindseligkeit, Personen mit einer Haltung wie MTG und ihre Anhänger – und natürlich wird dieser Kommentar bis in die Hölle heruntergevotet werden.
      Genau das ist der Kern. Beim selben Thema unterscheiden sich die Gedanken stark, je nachdem, ob es um ein fernes hypothetisches Szenario oder um physische Realität geht.
  • Telegram-Kanäle waren für viele Menschen Lebensretter und sind auch für die Presse eine große Ressource. Interessant ist, wie sie hier genutzt werden.
    Russische staatliche Akteure würden vermutlich viel Geld bezahlen, um solche Kanäle zu übernehmen oder zu infiltrieren.

  • Das ist wirklich eine absurde Situation. Der Stress, solche Angriffe zu jeder Tages- und Nachtzeit durchzustehen, würde mich gefühlt um zehn Jahre altern lassen. Und trotzdem wird erwartet, dass man ein paar Stunden später oder am nächsten Tag wieder arbeitet.

    • Es ist absurd, und das seit Februar 2022, und zugleich ist es zu einer neuen Normalität geworden, aus der man wirklich heraus will. Das heißt aber nicht, dass man verzweifelt genug wäre, zu kapitulieren.
      Das ist nur einer der Stressfaktoren im Zusammenhang mit dem Krieg. Jede Woche hört man von zivilen Opfern, liest und hört von den schrecklichen Dingen, die Menschen erlebt haben, die aus besetzten Gebieten entkommen sind oder befreit wurden, wie in Bucha oder Kherson; dazu kommen Nachrichten über Freunde und Bekannte, die im Kampf gefallen sind, Wehrpflicht, eine ungewisse, aber insgesamt düster wirkende Zukunftsperspektive und so weiter.
      Deshalb fühlt sich ein Tag wie Jahre an. Wiederholt unsere Fehler nicht und schreibt euren Abgeordneten.
  • Es ist genau zur Hälfte ermutigend und entsetzlich. Wann wird der Westen endlich verstehen, dass Putin nur Stärke respektiert, und Rückgrat zeigen?
    Man muss den Ukrainern alles geben, was sie brauchen. Das ist das Richtige – und zugleich der militärische Deal des Jahrhunderts. Während die Ukraine die russische Armee weiter massiv abnutzt, muss die NATO keinen einzigen Soldaten verlieren.
    Oder man lässt Russland gewinnen und muss Millionen ukrainischer Flüchtlinge bewältigen. Wahrscheinlich greift Russland danach dann das nächste Land an.