2 ポイント 投稿者 GN⁺ 2024-05-27 | 2件のコメント | WhatsAppで共有
  • ウクライナで繰り返される空襲の脅威の中、Home Assistantが家庭内安全通知システムとして使われ、ミサイル・ドローン接近情報をスマートフォンとスピーカーで伝える
  • 単純な空襲サイレンだけでは判断が難しいため、MiG-31Kの離陸、自爆ドローン、弾道ミサイル、巡航ミサイル、複合攻撃をそれぞれ異なる危険段階に分ける
  • 内蔵のUkraine Alarm統合は全国の空襲警報を監視し、Kyivに家族がいる場合にのみ緊急通知とスマートスピーカー案内を実行する
  • Telegram監視チャンネルはHA Multiscrapeで5秒ごとに確認し、Tu-95離陸・Kyiv・地域名・避難文言のようなキーワードで差し迫った攻撃と直接的な危険を検知する
  • 直接的な危険が検知されると、スマートフォンの最大音量通知と寝室のHomePod案内で、すぐに二枚の壁の後ろにある避難場所である浴室のような場所へ移動させる

ウクライナの空襲状況と危険段階

  • 2022年のロシアによる全面侵攻以降、ウクライナは核兵器を除くさまざまな兵器による攻撃を日々受けており、Home Assistantは接近中の脅威を知らせるために使われている
  • 空襲サイレンは1日に何度も鳴ることがあり、そのたびに避難所へ移動していては日常生活が完全に止まってしまう
  • 多くの人はサイレンが鳴ると、スマートフォンで実際の危険レベルを確認する
  • 空襲の危険はいくつかの種類に分かれる
    • MiG-31K離陸: 1日に何度も発生することがあり、MiG-31KはKh-47M2 Kinzhal極超音速ミサイルを搭載できる。実際に搭載しているかは予測できないため、多くの人はこの危険レベルを受け入れている
    • 自爆ドローン攻撃: 主に Iranian Shahed 136 ドローンで行われ、ほとんどが撃墜されてもなお危険で恐怖を与える。エンジン音のため “mopeds” または “lawn-mowers” と呼ばれる
    • 弾道ミサイル攻撃: 9K720 Iskander のような弾道ミサイルは約2km/sと非常に高速で、身を隠す時間は最大でも約10分しかない。最も速い方法は、廊下や浴室のように二枚の壁の後ろへ隠れることだ
    • 巡航ミサイル攻撃: Kalibr のような巡航ミサイルは比較的低速で飛行機のように飛ぶが、長距離を飛行して国内のどこへでも到達できる
  • 最も危険な種類は複合攻撃である
    • ドローンと巡航ミサイルで防空網を消耗させた後、弾道または極超音速の攻撃が続く
    • 通常は午前4時ごろ、夜明け前に発生する

Home Assistantによる空襲警報の監視

  • Home Assistantの内蔵 Ukraine Alarm 統合は全国の空襲警報システムを監視する
    • Home Assistant内の安全センサーをオン・オフする
  • どの種類の危険であっても発生すると、緊急通知を送り、スマートスピーカーにメッセージを読み上げさせる
  • 街の空襲サイレンが都市全体に鳴り響いていても、自宅の中で確実に目を覚まして状況を確認できるように自動化を構成している
  • Kyiv空襲サイレンの自動化では binary_sensor.alerts_kyiv_air の状態変化をトリガーとして使う
    • off から on になると “Air Alert goes off!” を使う
    • on から off になると “It is safe now!” を使う
    • sensor.family_in_kyivon のときだけ実行され、誰かがKyivにいる場合にのみ動作する
  • 通知は script.announcement を通じて実行される
    • force_speak: true により、おやすみモード中でも読み上げる
    • プッシュ通知は critical: 1、音量 0.75 に設定されている

Telegramチャンネルのスクレイピング

  • 空襲中、Telegramチャンネルは危険、飛行経路、攻撃タイプに関するリアルタイム更新を提供する
  • スマートフォンを見続けながら直接的な危険かどうか、あと何時間眠れるかを判断していた作業をHome Assistantに任せる
  • ウクライナにいるなら避難所へ行くべきという警告が添えられており、この構成を行動指針として従うべきではないと明記している
  • スクレイピングには HA Multiscrape カスタム統合を使う
    • Home Assistantの内蔵 scrape 統合もあるが、単一のスクレイプから複数センサーを作り、データ一覧を扱う必要があるため限界がある
  • https://t.me/s/war_monitor のようなTelegram Webページを取得して .js-message_text の一覧を読み、最新メッセージをセンサー判定と属性に使う

Tu-95離陸による差し迫った攻撃の検知

  • 巡航ミサイルは通常、Tu-95爆撃機 が運搬・発射する
  • Tu-95はミサイル発射地点まで約3時間飛行し、発射後にミサイルがKyivへ到達するまで約1〜2時間かかる
    • この時間のあいだに浴室のような避難場所を整える
    • 書類を集め、攻撃が始まる前に数時間眠ることもできる
  • このような状況は通常夕方に発生し、その夜に大規模なミサイル攻撃がある可能性を意味する
  • センサーはTelegramチャンネルのメッセージ一覧を5秒ごとにスクレイプする
    • 最新メッセージを小文字に変換して確認する
    • “take off”, “plane”, “tu-95” に該当する特定の単語の組み合わせがあるかを確認する
    • 最新メッセージは latest_message 属性として保存される
  • センサーがオンになると、爆撃機が飛行中で準備する時間が残っていることを意味する
    • 自動化は binary_sensor.imminent_attack_in_war_monitor または binary_sensor.imminent_attack_in_operinformoff から on に変わったとき実行される
    • 通知タイトルは “Bombers take off 🛫” で、メッセージにはセンサーの latest_message を使う

直接的な危険の通知と避難行動

  • 直接的な危険センサーは、利用者の場所に対する即時の脅威があるとき通知を送る
  • 夜間の攻撃時には、避難所へ行って眠れない夜を過ごすか、翌日の出勤のためできるだけ長くベッドにいるかを選ばなければならない状況が生じる
  • このような環境に長くさらされると、危険を計算するようになる
    • 仕事をするには十分な睡眠が必要だ
    • 防空網は飛来する脅威を定期的に撃墜している
    • Kyivで直接命中や破片被害を受ける危険は、非科学的な推定では交通事故に遭う危険と同程度なら受け入れ可能だと見なしている
    • 直接命中を受ければ生存できる可能性は非常に低い
    • 近くでミサイルやドローンが撃墜されると、衝撃波で窓ガラスが割れることがある
  • ほとんどの時間はベッドで眠り、状況が深刻になれば浴室に隠れる
    • 近くで爆発が起きた際、ガラス片と衝撃波から身を守るため二枚の壁の後ろにいるという選択だ
  • 直接的な危険センサーは特定のキーワードを探す
    • 位置条件: “Kyiv” または地域名
    • 危険条件: “warning”, “be in a safe place”, “fast target” に相当する表現
    • 両方の条件が真ならセンサーがオンになる
  • センサーがオンになると、ただちに隠れるべき直接的な危険と見なす
    • Direct Danger ⚠️ というタイトルの緊急通知を送る
    • プッシュ通知は critical: 1、音量 1 に設定される
    • 寝室のHomePod音量を 0.6 に設定する
    • 「すぐに隠れてください」「Kyivへの攻撃の脅威」といったウクライナ語の警告メッセージをスピーカーで読み上げる
    • force_speak: true によりスピーカー案内を強制実行する

2件のコメント

 
humblebee 2024-05-28

🇺🇦💙💛💪🌟🙌🌍✨

 
GN⁺ 2024-05-27
Hacker Newsのコメント
  • これが存在するという事実が、魅力的であると同時に恐ろしい
    K8sやAnsible用のYAMLを大量に使うときは、普通は本番投入前にテスト環境で検証するものだが、ここではYAMLのバグ1つが実際に人命を失わせる可能性がある

    • ここでいう battle tested という表現は、文字どおりの意味で使われている
    • 本当に恐ろしいのは、これが警報システムというより 耐え抜くための道具に近い点。キーウでも警報システムとしての有用性は限定的
      運命を受け入れる段階までは行っていないが、実際の避難所へ行くことは諦めているなら、巡航ミサイルや殺傷ドローンが来るたびに何時間も隠れる代わりに、1時間ほどガラス片だけ避けるよう設定できる
      キーウより前線に近い場所ではほとんど役に立たない。極超音速ではない弾道ミサイルや滑空爆弾でさえ飛行時間が短すぎて、アラーム音と爆発音をほぼ同時に聞くことになる
    • 大半はすでに Home Assistant UI に移行していて、以前よりエラーが起きにくくなっている
    • ディストピアな未来の時間軸へようこそ。さらに悪くなるだろう
  • ウクライナ全土の空襲警報の回数と継続時間、地域・期間別のメディア報道上の爆発回数といった統計は、https://alerts.in.ua/enで見られる
    統計サマリーのセクションがあり、画面下部の砂時計ボタンを押してから期間でフィルタすればよい

    • 統計の仕事をしていて、データポイントがもっと少なければいいのにと思うことはめったにない
  • 本当の疑問は、なぜ危険の性質を詳しく知らせる公式APIがないのかということ。空襲兵器の種類や速度、予想到達時刻を知るためにTelegramをスクレイピングしなければならないのはおかしい
    ちなみにKropyvaも見る価値がある。砲撃向けのUberのようなもので、ロシア軍を消し去るのに非常に有用

    • こうした単一APIは攻撃され続けるだろう
      他のサービスを活用して攻撃面を分散しているということ
    • 核心的な理由は分散化
      こうしたチャンネルを更新する記者たちは、ウクライナの防空網内部の情報源だけでなく、SDRでロシアの無線通信を監視するオープンソース・インテリジェンス(OSINT)活動家や、ロシア・ベラルーシで航空機の離陸を地上から観測する人々からも情報を受け取っている。非常に危険だが、情報を比較的安全に送る方法はあり、飛行機はたいてい騒々しい
      記者が1人、何らかの理由で姿を消しても、他の人たちが更新を続けられる。各州(oblast)にも攻撃を知らせる独自チャンネルがあり、地域行政機関や緊急サービスが運営しているものもある
      防空担当者は、こうした内容を直接監視して文章にまとめるには忙しすぎる。状況が悪化する前にグループチャットやTelegramボットへ短いメッセージを残す程度が最善の場合も多く、同時に十分な警告時間を与えつつ、ウクライナの観測所の能力や位置が明らかにならないよう情報公開のタイミングを調整しなければならない
      このシステムは単純である必要がある。訓練を受けた防空要員が皆テクノロジーに詳しいわけではなく、APIが何かも知らない人は多い。ウクライナ人の多くもAPIを扱うことはできないが、Telegramの警告なら読める
      監視チャンネルをキュレーションする記者たちは、一般市民からミサイルやドローンの飛行経路に関する通報も受け取っている。携帯電話のGPSとコンパスを使い、物体に向けてスマートフォンをかざしてデータを送るアプリもいくつかあるが、結局のところ、非技術者が簡単に使える複数の情報チャンネルを用意する問題
      巡航ミサイルが通過する音を聞いたと、おおよその位置とともにメッセージを送るだけでも役に立つことがある。レーダーのカバー率は100%ではないからだ。こうしたメッセージは、リアルタイムで迎撃を試みるウクライナの防空担当者へ再び伝えられる
      セキュリティ上の問題も明白。個人の連絡先やグループチャットへのアクセスは検証でき、Telegramチャンネルは外部から匿名性を破るのが難しいため、投稿者のデバイスをサイバー攻撃の標的にするのも容易ではない。一方APIは全世界に開かれなければならないため、即座に標的になる
      雑然としたシステムだが、機能している
      Kropyvaは一般公開されておらず、類似するNATOシステムの能力とも隔たりがある。強みは安価なタブレットで動くAndroidアプリで、軍産複合体が提供するハードウェアに依存しない点。そうしたハードウェアはより安全で堅牢だが、はるかに高価
  • 「Home Assistantには組み込みのUkraine Alarm統合がある。全国の空襲警報システムを監視し、HAの安全センサーを切り替える」という箇所を見ると、HAコミュニティのことはよく知らないが、このプラグインに影響する新しいコミットには非常に慎重であるべきだと思う

    • 数千、もしかすると数百万の家庭で動いているはずなので、とにかくすべて確認されていることを願う
    • HAコミュニティについて具体的に何を示唆しているのかは分からないが、別の話として、この状況ではソフトウェアサプライチェーン攻撃のリスクを非常に重く見るべき
      信頼できる同僚グループがコードを極めて慎重にレビューし、署名などを使って、全員がいわば「払った分だけきちんと受け取っている」ことを保証するのが理想
      人命がかかるほど依存してはいないかもしれないが、使うほど重要なら、確実に検証するほどにも重要
      ただし、自宅に恐ろしい弾薬の一覧が降ってくるなかで眠ろうとしている立場ではない自分が言うのは簡単で、「検証済みの構成から更新しない」といった単純な対策だけでも十分かもしれない
  • これが存在するという事実は、同時にぞっとするし、励まされもする

    • Tu-95の離陸とKalibrの発射を文字列マッチングするプログラミングチュートリアルを現実に読むことになるとは思わなかった。あまりにも非現実的に感じる
      Cold WatersのMod制作ガイドのようだ
  • Home Assistant の興味深い活用例。次のセクションで稼働時間モニターに触れていたが、オンライン状態を保つために何を使っているのか気になる。UPSやバッテリーバックアップのようなものだろう

    • 2022年の冬以降、ほとんどの人は何かしら備えている。ロシアが民間人とインフラを攻撃し、防空不足も重なって停電が体系的に発生したから
      それでも大半の人は仕事をしなければならないので、UPS、EcoFlow、発電機、太陽光システムを導入し、予算が少なければDIYバッテリーまで使った。今年も同じような状況
    • ウクライナでは電力網が攻撃され続けているので、いずれにせよUPSは必要になりそう
  • 生活を良くするためにテクノロジーを使うのも素晴らしいことだが、ミサイル攻撃から生き延びるためにテクノロジーを使うことはまったく別次元だ。
    ときどき、人類はいつか戦争を永遠に止められるのだろうかと自問してしまう。

    • そういう状態は安定しない気がする。戦争がなければ戦う能力を失い、結局、小さな集団ひとつが、はるかに大きいが弱い相手を攻撃しやすくなる。
      攻撃された国が即座に降伏し、ひとりの侵略者が世界を支配するという形で戦争が解決されたとしても、その内部で再び権力をめぐって競い合う派閥が生まれるだろう。
      防御技術が攻撃技術を恒久的に上回るなら解決策になるかもしれないが、それでも人々は方法を見つけ出す気がする。戦争は、人々の忠誠心を心理的に変える形で始まることもあり得る。
    • 人間は本質的に戦争や対立のほうへ傾いている。私たちの致命的な欠陥だ。
    • 「人類はいつか戦争を永遠に止められるのか」は、あまりに広く哲学的な問いだ。遠い問いなので、みんなでコーヒーを飲みながら長く議論できる。
      より現実的で実用的な問いは、「なぜBidenは戦争を止めなかったのか?」になるだろう。
      そうすると本格的な論争が始まる。互いに矛盾する考え、かなりの敵意、MTGのような傾向の人物とその支持者たち、そして当然、このコメントは地獄の底まで落ちるほど低評価されるだろう。
      まさにそれが核心だ。同じテーマでも、遠くにある仮定の状況なのか、物理的な現実なのかによって、考えは大きく変わる。
  • Telegramチャンネルは多くの人にとって命の恩人であり、メディアにとっても大きなリソースだ。ここでの使われ方は興味深い。
    ロシアの国家アクターは、こうしたチャンネルを乗っ取ったり潜入したりするために多額の金を払うだろうと思う。

  • 本当にめちゃくちゃな状況だ。昼夜を問わず、いつでもこうした攻撃に耐えるストレスなら、自分を10年は老けさせる気がする。それでも数時間後、あるいは翌日にはまた働くことを期待される。

    • めちゃくちゃな状況で、2022年2月からずっとそうだったし、同時に本当に抜け出したい新しい日常にもなっている。とはいえ、降伏するほど追い詰められているわけではない。
      これは戦争に関わるストレス要因のひとつにすぎない。毎週、民間人の死傷者のニュースを聞き、BuchaやKhersonのように占領地から脱出した人や解放された人が経験した恐ろしい出来事を読み聞きし、友人や知人が戦闘で戦死したという知らせ、徴兵、不確実だがおおむね暗く見える将来見通しなどが続いていく。
      だから一日が何年ものように過ぎる。私たちの過ちを繰り返さず、皆さんの代表者に手紙を書いてほしい。
  • 勇気づけられるのと恐ろしいのが、ちょうど半々だ。西側はいつになったら、Putinが力しか尊重しないことを理解し、腹をくくるのだろうか。
    ウクライナ人に必要なものをすべて与えるべきだ。それが正しいことであり、同時に今世紀の軍事的取引でもある。ウクライナがロシア軍を大きく消耗させ続ける間、NATOは兵士をひとりも失わずに済む。
    そうでなければ、ロシアに勝たせて、何百万人ものウクライナ難民を受け入れなければならなくなるだろう。おそらくその次には、ロシアがまた別の国を攻撃する可能性が高い。