2 points par GN⁺ 2024-05-27 | 2 commentaires | Partager sur WhatsApp
  • Face à la menace répétée de frappes aériennes en Ukraine, Home Assistant sert de système d’alerte de sécurité à domicile, transmettant les informations sur l’approche de missiles et de drones vers les téléphones et les enceintes
  • Les seules sirènes d’alerte aérienne ne suffisant pas à évaluer la situation, le décollage de MiG-31K, les drones suicides, les missiles balistiques, les missiles de croisière et les attaques combinées sont séparés en différents niveaux de risque
  • L’intégration intégrée Ukraine Alarm surveille les alertes aériennes nationales et déclenche des notifications critiques ainsi que des annonces sur enceintes connectées uniquement lorsqu’un membre de la famille se trouve à Kyiv
  • Les canaux de surveillance Telegram sont vérifiés toutes les 5 secondes avec HA Multiscrape, et des mots-clés comme décollage de Tu-95, Kyiv, nom du quartier ou consignes d’abri permettent de détecter une attaque imminente et un danger direct
  • Lorsqu’un danger direct est détecté, une notification au volume maximal sur le téléphone et une annonce sur le HomePod de la chambre incitent à se déplacer immédiatement vers un abri situé derrière deux murs, comme la salle de bains

Situation des frappes aériennes en Ukraine et niveaux de risque

  • Depuis l’invasion à grande échelle de la Russie en 2022, l’Ukraine subit chaque jour des attaques avec diverses armes, à l’exception du nucléaire, et Home Assistant est utilisé pour signaler les menaces en approche
  • Les sirènes d’alerte aérienne peuvent retentir plusieurs fois par jour ; se rendre à chaque fois dans un abri mettrait complètement le quotidien à l’arrêt
  • Beaucoup de personnes vérifient le niveau de danger réel sur leur téléphone lorsque la sirène retentit
    • Elles consultent des apps comme alerts.in.ua et des canaux Telegram pour connaître le type de menace, la trajectoire des missiles et l’existence d’un danger direct
  • Le risque de frappe aérienne se divise en plusieurs types
    • Décollage de MiG-31K : cela peut se produire plusieurs fois par jour, et le MiG-31K peut emporter un missile hypersonique Kh-47M2 Kinjal. Comme il est impossible de prévoir s’il en transporte réellement un, beaucoup de personnes acceptent ce niveau de risque
    • Attaque de drones suicides : elle est principalement menée avec des drones iraniens Shahed 136 ; même si la plupart sont abattus, ils restent dangereux et terrifiants. En raison du bruit de leur moteur, ils sont surnommés “mopeds” ou “lawn-mowers”
    • Attaque de missiles balistiques : des missiles balistiques comme le 9K720 Iskander sont très rapides, à environ 2 km/s, et le temps disponible pour se mettre à l’abri est d’au plus une dizaine de minutes. Le moyen le plus rapide est de se cacher derrière deux murs, par exemple dans un couloir ou une salle de bains
    • Attaque de missiles de croisière : des missiles de croisière comme les Kalibr sont relativement lents et volent comme des avions, mais ils parcourent de longues distances et peuvent atteindre n’importe quel point du pays
  • Le type le plus dangereux est l’attaque combinée
    • Les drones et les missiles de croisière épuisent la défense antiaérienne, avant des frappes balistiques ou hypersoniques
    • Cela se produit généralement pendant la nuit, vers 4 h du matin

Surveillance des alertes aériennes avec Home Assistant

  • L’intégration intégrée Ukraine Alarm de Home Assistant surveille le système national d’alerte aérienne
    • Elle active et désactive des capteurs de sécurité dans Home Assistant
  • Lorsqu’un danger de quelque type que ce soit apparaît, elle envoie une notification critique et fait lire un message par les enceintes connectées
  • Même si les sirènes d’alerte aérienne de la rue retentissent dans toute la ville, l’automatisation est configurée pour être sûr de se réveiller à la maison et de vérifier la situation
  • L’automatisation de la sirène d’alerte aérienne à Kyiv utilise comme déclencheur le changement d’état de binary_sensor.alerts_kyiv_air
    • Quand il passe de off à on, elle utilise “Air Alert goes off!”
    • Quand il passe de on à off, elle utilise “It is safe now!”
    • Elle ne s’exécute que lorsque sensor.family_in_kyiv vaut on, donc seulement lorsqu’une personne se trouve à Kyiv
  • Les notifications sont exécutées via script.announcement
    • force_speak: true force l’annonce même en mode Ne pas déranger
    • Les notifications push sont configurées avec critical: 1 et un volume de 0.75

Scraping des canaux Telegram

  • Pendant une frappe aérienne, les canaux Telegram fournissent des mises à jour en temps réel sur les dangers, les trajectoires de vol et les types d’attaque
  • La tâche qui consistait à regarder constamment son téléphone pour déterminer s’il y avait un danger direct ou s’il était possible de dormir encore quelques heures est confiée à Home Assistant
  • Un avertissement précise que, si vous êtes en Ukraine, vous devez vous rendre dans un abri, et que cette configuration ne doit pas être suivie comme consigne de conduite
  • Le scraping utilise l’intégration personnalisée HA Multiscrape
    • Home Assistant dispose aussi d’une intégration scrape intégrée, mais elle a des limites lorsqu’il faut créer plusieurs capteurs à partir d’un même scraping et manipuler des listes de données
  • Des pages web Telegram comme https://t.me/s/war_monitor sont récupérées, la liste .js-message_text est lue, et le message le plus récent sert au calcul des capteurs et à leurs attributs

Détection d’une attaque imminente via le décollage de Tu-95

  • Les missiles de croisière sont généralement transportés et lancés par des bombardiers Tu-95
  • Un Tu-95 vole environ 3 heures jusqu’au point de lancement des missiles, puis, après le lancement, ceux-ci mettent environ 1 à 2 heures pour atteindre Kyiv
    • Pendant ce temps, on prépare un abri comme la salle de bains
    • On rassemble des documents et on peut dormir quelques heures avant le début de l’attaque
  • Ce type de situation survient généralement le soir et signifie qu’une attaque massive de missiles est possible pendant la nuit
  • Le capteur scrape la liste des messages du canal Telegram toutes les 5 secondes
    • Il convertit le message le plus récent en minuscules pour l’inspecter
    • Il vérifie la présence de combinaisons de mots spécifiques correspondant à “take off”, “plane”, “tu-95”
    • Le message le plus récent est enregistré dans l’attribut latest_message
  • Lorsque le capteur s’active, cela signifie que des bombardiers sont en vol et qu’il reste du temps pour se préparer
    • L’automatisation s’exécute lorsque binary_sensor.imminent_attack_in_war_monitor ou binary_sensor.imminent_attack_in_operinform passe de off à on
    • Le titre de la notification est “Bombers take off 🛫” et le message utilise le latest_message du capteur

Notifications de danger direct et comportement d’évacuation

  • Le capteur de danger direct envoie une notification lorsqu’une menace immédiate vise l’emplacement de l’utilisateur
  • Lors des attaques nocturnes, il faut parfois choisir entre aller dans un abri et passer une nuit blanche, ou rester au lit le plus longtemps possible pour pouvoir aller travailler le lendemain
  • Une exposition prolongée à cet environnement conduit à calculer le risque
    • Il faut dormir suffisamment pour travailler
    • La défense antiaérienne abat régulièrement les menaces entrantes
    • À Kyiv, le risque d’être directement touché, ou touché par des débris, est considéré, selon une estimation non scientifique, comme comparable au risque d’être renversé par une voiture, et donc acceptable
    • En cas d’impact direct, les chances de survie sont très faibles
    • Si un missile ou un drone est abattu à proximité, l’onde de choc peut briser les fenêtres
  • La plupart du temps, on dort dans son lit, et si la situation s’aggrave, on se cache dans la salle de bains
    • C’est un choix visant à se trouver derrière deux murs pour se protéger des éclats de verre et de l’onde de choc en cas d’explosion à proximité
  • Le capteur de danger direct recherche des mots-clés précis
    • Condition de localisation : “Kyiv” ou le nom du quartier
    • Condition de danger : des expressions correspondant à “warning”, “be in a safe place”, “fast target”
    • Si les deux conditions sont vraies, le capteur s’active
  • Lorsque le capteur s’active, le danger est considéré comme direct et impose de se mettre immédiatement à l’abri
    • Il envoie une notification critique intitulée Direct Danger ⚠️
    • La notification push est configurée avec critical: 1 et un volume de 1
    • Le volume du HomePod de la chambre est réglé sur 0.6
    • L’enceinte lit des messages d’alerte en ukrainien du type “mettez-vous immédiatement à l’abri” et “menace d’attaque sur Kyiv”
    • force_speak: true force l’exécution de l’annonce sur l’enceinte

2 commentaires

 
humblebee 2024-05-28

🇺🇦💙💛💪🌟🙌🌍✨

 
GN⁺ 2024-05-27
Avis Hacker News
  • Le fait même que cela existe est à la fois fascinant et horrible
    Quand on utilise beaucoup de YAML pour K8s ou Ansible, on valide généralement en environnement de test avant la mise en production, mais ici un seul bug YAML peut réellement coûter des vies humaines

    • Ici, l’expression battle tested est à prendre au pied de la lettre
    • La partie vraiment terrible, c’est que cela ressemble moins à un système d’alerte qu’à un outil pour tenir. Même à Kyiv, son utilité comme système d’alerte est limitée
      Sans aller jusqu’à accepter son destin, si l’on a déjà renoncé à rejoindre un véritable abri, on peut au moins le configurer pour éviter les éclats de verre pendant une heure au lieu de se cacher pendant des heures à l’arrivée de missiles de croisière et de drones tueurs
      Plus près du front que Kyiv, c’est presque inutile. Même pour des missiles balistiques non hypersoniques ou des bombes planantes, le temps de vol est si court qu’on entend presque l’alarme et l’explosion en même temps
    • La majeure partie a déjà été déplacée dans l’interface Home Assistant, ce qui la rend moins sujette aux erreurs qu’avant
    • Bienvenue dans cette dystopie du futur. Cela va empirer
  • Des statistiques comme le nombre et la durée des alertes aériennes sur l’ensemble de l’Ukraine, ou le nombre d’explosions rapportées par la presse selon la région et la période, sont disponibles sur https://alerts.in.ua/en
    Il y a une section de synthèse statistique, et il suffit d’appuyer sur le bouton en forme de sablier en bas de l’écran puis de filtrer par période

    • Je travaille dans les statistiques, et il est rare de souhaiter qu’il y ait moins de points de données
  • La vraie question, c’est pourquoi il n’existe pas d’API officielle détaillant précisément la nature du danger. On ne devrait pas avoir à scraper Telegram pour connaître le type d’arme aérienne, sa vitesse et son heure d’arrivée estimée
    Au passage, Kropyva mérite aussi le détour. C’est une sorte d’Uber pour l’artillerie, et c’est très utile pour effacer les forces russes

    • Une API unique de ce genre serait constamment attaquée
      Le recours à d’autres services permet en quelque sorte de répartir la surface d’attaque
    • La raison essentielle, c’est la décentralisation
      Les journalistes qui mettent à jour ces canaux reçoivent des informations non seulement de sources internes à la défense antiaérienne ukrainienne, mais aussi d’activistes OSINT surveillant les communications radio russes avec des SDR, ou de personnes observant depuis le sol les décollages d’avions en Russie et au Bélarus. C’est très dangereux, mais il existe des moyens relativement sûrs de transmettre l’information, et les avions sont en général bruyants
      Si un journaliste disparaît pour une raison quelconque, d’autres peuvent continuer à publier les mises à jour. Chaque oblast dispose aussi de ses propres canaux d’alerte, parfois gérés par l’administration locale ou les services d’urgence
      Les responsables de la défense antiaérienne sont tout simplement trop occupés pour surveiller directement tout cela et le résumer par écrit. Souvent, le mieux qu’ils puissent faire est de laisser un court message dans un chat de groupe ou à un bot Telegram avant que la situation ne s’aggrave, tout en ajustant le moment de publication pour laisser suffisamment de temps d’alerte sans révéler les capacités ni l’emplacement des postes d’observation ukrainiens
      Ce système doit rester simple. Tous les personnels formés à la défense antiaérienne ne sont pas des technophiles, et beaucoup ne savent même pas ce qu’est une API. De même, beaucoup d’Ukrainiens ne savent pas manipuler une API, mais peuvent lire une alerte Telegram
      Les journalistes qui assurent la curation des canaux de surveillance reçoivent aussi du grand public des signalements sur les trajectoires de missiles et de drones. Il existe quelques applications permettant d’envoyer des données en utilisant le GPS et la boussole du téléphone en pointant l’appareil vers l’objet, mais au fond il s’agit surtout de disposer de plusieurs canaux d’information faciles à utiliser pour des non-techniciens
      Même le simple fait d’envoyer un message indiquant qu’on a entendu passer un missile de croisière, avec une localisation approximative, peut aider, car la couverture radar n’est pas de 100 %. Ces messages sont ensuite retransmis en temps réel aux responsables ukrainiens de la défense antiaérienne qui tentent les interceptions
      Les enjeux de sécurité sont aussi évidents. On peut vérifier les contacts personnels et l’accès aux discussions de groupe, et comme il est difficile de lever l’anonymat externe des auteurs sur les canaux Telegram, il est moins facile de cibler leurs appareils par cyberattaque. Une API, en revanche, devrait être ouverte au monde entier et deviendrait donc immédiatement une cible
      C’est un système bricolé, mais il fonctionne
      Kropyva n’est pas accessible au grand public et reste loin des capacités de systèmes OTAN comparables. Sa force, c’est d’être une application Android qui tourne sur des tablettes bon marché, sans dépendre du matériel fourni par le complexe militaro-industriel. Ce type de matériel est plus sûr et plus robuste, mais aussi beaucoup plus cher
  • En lisant le passage « Home Assistant a une intégration Ukraine Alarm intégrée. Elle surveille le système national d’alerte aérienne et bascule les capteurs de sécurité de HA », je ne connais pas très bien la communauté HA, mais j’ai l’impression qu’il faut être extrêmement prudent avec tout nouveau commit affectant ce plugin

    • Si cela tourne dans des milliers, voire des millions de foyers, j’espère qu’ils vérifient tout quoi qu’il arrive
    • Je ne sais pas exactement ce que cela sous-entend à propos de la communauté HA, mais indépendamment de cela, dans une situation pareille, il faut prendre très au sérieux le risque d’attaque de la chaîne d’approvisionnement logicielle
      L’idéal serait qu’un groupe de pairs de confiance relise le code avec énormément de soin, et que des signatures ou équivalents garantissent à tous, pour ainsi dire, qu’ils « reçoivent bien ce pour quoi ils ont payé »
      On n’en dépend peut-être pas au point que des vies soient directement en jeu, mais si c’est assez important pour être utilisé, c’est assez important pour être vérifié correctement
      Cela dit, c’est facile à dire quand on n’essaie pas de dormir pendant qu’une liste terrifiante de munitions tombe sur sa maison, et une mesure simple comme « ne pas mettre à jour une configuration validée » peut déjà suffire
  • Le fait que cela existe est à la fois glaçant et encourageant

    • Je n’aurais jamais cru lire dans la vraie vie un tutoriel de programmation faisant du string matching sur les décollages de Tu-95 et les lancements de Kalibr. Cela paraît tellement irréel
      On dirait un guide de modding pour Cold Waters
  • Un usage intéressant de Home Assistant. La section suivante mentionne un moniteur d’uptime, et je me demande ce qu’ils utilisent pour rester en ligne. Probablement un UPS ou une batterie de secours

    • Depuis l’hiver 2022, la plupart des gens ont prévu quelque chose. La Russie a attaqué les civils et les infrastructures, et avec le manque de défense antiaérienne, cela a provoqué des coupures de courant systématiques
      Mais comme il fallait quand même continuer à travailler, beaucoup se sont équipés de UPS, d’EcoFlow, de générateurs, de systèmes solaires, et, avec un budget plus serré, même de batteries DIY. C’est pareil cette année
    • En Ukraine, le réseau électrique continue d’être attaqué, donc il semble qu’un UPS soit de toute façon indispensable
  • Utiliser la technologie pour améliorer la vie, c’est déjà remarquable, mais l’utiliser pour survivre à des frappes de missiles est d’un tout autre ordre.
    Parfois, on en vient à se demander si l’humanité pourra un jour mettre fin à la guerre pour toujours.

    • Un tel état ne semblerait probablement pas stable. Sans guerre, on perdrait la capacité de se battre, et au final il deviendrait plus facile pour un petit groupe d’attaquer un adversaire bien plus grand mais plus faible.
      Même si la guerre se « résolvait » par la capitulation immédiate du pays attaqué, laissant un seul envahisseur dominer le monde, des factions finiraient par émerger en son sein pour se disputer à nouveau le pouvoir.
      Si les technologies défensives surpassaient durablement les technologies offensives, cela pourrait peut-être être une solution, mais les gens trouveraient quand même un moyen. La guerre pourrait même commencer en modifiant psychologiquement les loyautés des gens.
    • L’être humain penche fondamentalement vers la guerre ou le conflit. C’est notre défaut fatal.
    • « L’humanité pourra-t-elle un jour mettre fin à la guerre pour toujours ? » est une question trop vaste et trop philosophique. C’est une question lointaine dont on peut discuter longtemps ensemble autour d’un café.
      Une question plus réaliste et plus pratique serait plutôt : « Pourquoi Biden n’a-t-il pas mis fin à la guerre ? »
      Et là, le vrai débat commence. Des idées contradictoires, pas mal d’hostilité, des personnages du genre MTG et leurs partisans, et bien sûr ce commentaire serait massivement downvoté jusqu’en enfer.
      C’est précisément ça, le point central. Sur un même sujet, la manière de penser change énormément selon qu’il s’agit d’une hypothèse lointaine ou d’une réalité physique.
  • Les chaînes Telegram ont sauvé la vie de nombreuses personnes et constituent aussi une ressource majeure pour les médias. La manière dont elles sont utilisées ici est intéressante.
    Les acteurs étatiques russes seraient probablement prêts à payer très cher pour prendre le contrôle de telles chaînes ou les infiltrer.

  • C’est une situation vraiment insensée. Le stress de subir de telles attaques à n’importe quelle heure du jour ou de la nuit me ferait probablement vieillir de 10 ans. Et malgré ça, on s’attend quand même à ce que vous retourniez travailler quelques heures plus tard ou le lendemain.

    • C’est une situation absurde, et ça dure ainsi depuis février 2022, tout en étant devenu en même temps une véritable nouvelle normalité dont on veut absolument sortir. Cela ne veut pas dire pour autant qu’on soit assez désespéré pour capituler.
      Ce n’est que l’un des facteurs de stress liés à la guerre. Il faut aussi entendre chaque semaine parler de victimes civiles, lire et écouter les récits atroces de ceux qui ont fui les territoires occupés ou ont été libérés, comme à Bucha ou à Kherson, apprendre que des amis ou des connaissances sont morts au combat, faire face à la conscription, ainsi qu’à des perspectives d’avenir incertaines mais globalement sombres.
      C’est pourquoi une journée passe comme si c’étaient des années. Ne répétez pas nos erreurs et écrivez à vos représentants.
  • C’est à parts exactement égales encourageant et horrible. Quand l’Occident comprendra-t-il enfin que Putin ne respecte que la force et trouvera-t-il le courage d’agir ?
    Il faut donner aux Ukrainiens tout ce dont ils ont besoin. C’est la bonne chose à faire, et c’est aussi l’affaire militaire du siècle. Pendant que l’Ukraine continue d’user massivement l’armée russe, l’OTAN n’a pas à perdre un seul soldat.
    Sinon, il faudra laisser la Russie gagner et gérer des millions de réfugiés ukrainiens. Et il est très probable qu’ensuite la Russie attaque encore un autre pays.