HN 日本語サマリー

← 一覧へ戻る
セキュリティ

BGPハイジャックによるネットワーク感染、一連のミスが原因

BGP hijack infecting networks caused by a comedy of errors (arstechnica.com)

9 pointsby jnord2 コメント

要約

ハッカーがBGP(ボーダーゲートウェイプロトコル)ハイジャックを利用し、クラウド管理ソフトウェアのアップデートを装ってマルウェアを感染させるサプライチェーン攻撃を実行しました。この攻撃は、ホスティングプロバイダーであるHetzner OnlineとSoftaculousのセキュリティ設定の不備、およびTLS証明書発行プロセスの弱点が複合的に作用した結果、発生しました。攻撃者は乗っ取ったIPアドレス空間を通じて、正規のアップデートに見せかけた悪意のあるパッケージを配布しました。

全文翻訳

ハッカーは、ホスティングプロバイダー、データセンター、その他の大規模インフラストラクチャ企業が使用するクラウド管理ソフトウェアが更新されるインターネット空間の一部をハイジャックするという、珍しい手法を用いて、ネットワークにマルウェアを感染させるサプライチェーン攻撃を実行しました。 巧妙に連携された作戦で、未知の攻撃者はホスティングプロバイダーHetzner Onlineのルーティングセキュリティ設定の脆弱性と、有効なTLS証明書を取得するプロセスを悪用しました。これらの不備により、攻撃者はBGP(ボーダーゲートウェイプロトコル)ハイジャックを成功させ、Softaculousに割り当てられたIPアドレスを制御下に置くことができました。アラブ首長国連邦に拠点を置く同社は、Webソフトウェアのインストールおよび管理プラットフォームのメーカーであり、仮想化環境の管理プラットフォームであるVirtualizorの開発者でもあります。Softaculousは、これらのIPアドレスを使用してアップデートを発行し、クライアントおよび請求サイトをホストしていました。ハイジャックされた空間の制御を得た攻撃者は、これらのアドレスを使用して、不正なアップデートを偽装したマルウェアを、疑いを持たないユーザーに配布していました。 単純で回避可能なミス ハッキングの主な原因は、SoftaculousのホスティングプロバイダーであるHetzner Onlineにおけるルーティングセキュリティ設定の緩さでした。その他にも多くのミスが攻撃の成功に寄与しました。特に、Softaculousはソフトウェア開発における最も一般的な安全対策の一つである、コード署名によるソフトウェアアップデートの検証を怠っていました。「インシデント発生中、トラフィックが迂回されたVirtualizorのインストールは、攻撃者のサーバーから悪意のあるアップデートパッケージを受け取った可能性があります」とSoftaculousは月曜日に警告しました。「当社の製品アップデートクライアントは、まだアップデートパッケージを暗号学的に検証していなかったため、変更されたパッケージはその根拠に基づいて拒否されることはありませんでした。影響を受けたサーバーはごく少数だと考えていますが、確定的なリストを作成することはできないため、以下のチェックの対象としてすべてのVirtualizorサーバーを扱ってください。」 Hetzner Onlineによる緩い設定は、33時間の間に2回、ハイジャック犯がトラフィックを断続的に誤誘導することを可能にしました。Hetzner Onlineは、正しいパスをアナウンスすることで、ハイジャック開始から12時間後にアドレス空間を回復しました。その後、Hetzner Onlineはパスのアナウンスを停止し、攻撃者は同じハイジャックを再度実行しました。この時、Hetznerが反応するのにほぼ10時間かかりました。その間、ハイジャックは有効でした。Hetzner Onlineと同様に、Softaculousと、Hetzner Onlineの下流のトランジットピアであるZet.netの両社は、システムを適切に監視せず、その結果、ハイジャックが断続的に22時間継続していたことに気づきませんでした。また、Nexon Hostという別のホストプロバイダーのインフラストラクチャが、悪意のあるアナウンスをどのように促進したかについても疑問があります。BGP専門家でBGP Toolsスイートの作成者であるBen Cartwright-Cox氏は、これらの不備を「単純で回避可能なミス」と呼んでいます。Softaculous、Hetzner、Zet.netは、電子メールでの質問にすぐには回答しませんでした。 BGPの簡単な歴史 BGP攻撃は、インターネットを統一された世界的なネットワークにしている基盤を標的とします。インターネットは多くのAS(自律システム)、またはASN(自律システムネットワーク)に分割されています。各ASは、IPv4プロトコル下で公開されている37億のアドレスの一部を割り当てられた独立したネットワークです。BGPは、これらすべてのASを結合し、各ASが他のASに接続できるようにする接着剤です。例えば、ドイツのASに割り当てられたアドレスが北米のIPに到達できるようにするには、ASは他のASがトラフィックをトランジットすべきであると「アナウンス」する必要があります。これらのルーティングアナウンスは、すべてのASおよびそれらにサービスを提供するホスティングプロバイダーが使用するグローバルルーティングテーブルのエントリとして行われる宣言です。インターネットの初期の頃、BGPは信頼に基づいて実行されていました。プロバイダーは、アナウンスが有効で誠実に行われたと単純に仮定していました。長年にわたり、攻撃者は、制御する正当な権利を持たないIPアドレスのアナウンスを行うことで、この信頼を繰り返し悪用してきました。国家および金銭的動機のあるグループと繋がりを持つ攻撃者は、この緩いシステムを利用して、場合によっては、彼らが制御するネットワークを通じて機密データのペタバイト級のデータをルーティングしてきました。最終的に、インターネットアーキテクトは、そのようなハイジャックを防ぐためのいくつかの対策を開発しました。その中で最も著名なのは、RPKI(Resource Public Key Infrastructure)ROV(Route Origin Validation)です。RPKI ROVは、BGPにおけるルートの適切なオリジンとプレフィックスマスク長を主張するために、Route Origin Authorizations(ROA)と呼ばれる暗号化されたレコードを使用します。RPKI ROVを展開するASは、ROAに含まれる情報と一致しないルートを拒否し、ハイジャックがインターネット全体に広がるのを防ぎます。 どのように展開されたか 攻撃は金曜日の午後9時UTCの数分前に始まりました。その時、SoftaculousのIPアドレス空間の小さな塊がグローバルルーティングテーブルに入りました。この新しいIPプレフィックス、162.55.80.0/24と指定されたものは、AS6204(Zet.net)、AS62390(Nexon Host)、およびAS24940(Hetzner Online)のパスに沿ってアナウンスされました。256アドレスを含むこのIP範囲は、Softaculousのソフトウェアアップデートエンドポイントと、そのクライアントおよび請求サイトをホストしていました。この空間は、通常AS24940によってオリジンとされていた、はるかに大きな162.55.0.0/16空間の、より具体的な塊でした。Infobloxのインターネット分析責任者であるBGP専門家のDoug Madory氏の投稿によると、このアナウンスはNexonHost(AS62390)から発生した可能性が高く、そのインフラストラクチャの侵害、またはセキュリティのギャップを悪用した顧客によるものかもしれません。RPKIのようなプロトコルは、大規模オペレーターが不正またはエラーによって作成されたアドレスをルーティングするのを防ぎますが、ルーティングの不備とトラフィックの適切な監視の失敗により、ハイジャックは週末の大部分で断続的に発生しました。 Madory氏は次のように述べています。「ハイジャックには、偽造されたオリジンを持つASパスも含まれていました。攻撃者は24940をパスの最も右端のASNとして追加したため、2つの理由でRPKI有効と見なされました。ROAはオリジンをAS24940とすることを要求していましたが、プレフィックス長が24から16の間であれば許可されていたためです。その結果、このルートはRPKI有効であり、RPKI無効ルートを拒否するASによってドロップされるリスクはありませんでした。」 Cartwright-Cox氏とMadory氏は両方とも、Hetznerがこれらの設定を、これらのセキュリティ対策の監視下をすり抜けることを可能にする方法で構成したと述べています。IP範囲はブロックで測定され、そのサイズはスラッシュの後に数字が続くことで指定されます。やや直感に反しますが、末尾の数字が大きいほどブロックは小さくなります。これは、IPv4標準の基礎を形成する32ビットに基づいているためです。/24ブロックは(32-24)2、つまり256アドレスを指定します。/16ブロックは(32-16)2、つまり65,036 IPを指定します。Hetzner Onlineは、/24のようなより小さなサブプレフィックスも有効と見なされるように、RPKIのパラメータを設定しました。ハイジャックされたルートがROAのオリジンと一致するように偽装されたASパスを含んでいたという事実と組み合わさって、攻撃者のより小さなプレフィックスを持つ新しいルートは、RPKI保護を回避することができました。「162.55.80.0/24に対する既存の競合するルートがなかったため、他のルートフィルタリングメカニズムが許可する範囲まで伝播しました」とMadory氏は書いています。「そして、それはより具体的なルートであったため、ルーターが最長プレフィックスマッチを優先する性質上、このIP範囲宛てのトラフィックは正規のルート(162.55.0.0/16)よりもそれを優先しました。」Cartwright-Cox氏は、この不備を簡潔に「Hetznerは、より正確なIP範囲(/16であるべきところを/24)のアナウンスを許可し、ハイジャッカーが彼らを偽装し、ルーティング決定で自動的に勝てるようにした」と説明しました。 TLS証明書検証の回避 より小さなIP範囲は、攻撃者が業界全体のTLS証明書リクエスト検証策を回避することを可能にしました。通常、リクエスト側は、地理的に分散されたエンドポイントのセットでドメインを制御していることを証明する必要があります。Let's En