セキュリティ

ロシア最大のXMPPメッセージサービスに対して中間者攻撃が行われていることが発覚、少なくとも90日間の通信内容が侵害されている


ドイツのクラウドサービス「Hetzner」およびAkamaiが提供するクラウドサービス「Linode」上でホストされているロシア最大のXMPPメッセージサービス「jabber.ru(別名:xmpp.ru)」に対して中間者攻撃が仕掛けられており、少なくとも90日間の通信内容が傍受されていることが発覚しました。

Encrypted traffic interception on Hetzner and Linode targeting the largest Russian XMPP (Jabber) messaging service —
https://notes.valdikss.org.ru/jabber.ru-mitm/


2023年10月16日にjabber.ruの管理人であるoxpaさんが「証明書の有効期限が切れました」というメッセージを受け取り調査を行ったところ、サーバーに設置してある証明書は全て有効期限が更新されているにもかかわらず、XMPPのSTARTTLSを使った接続を待ち受けるポート「5222」への接続に対して有効期限が切れた証明書が返ってきていました。

oxpaさんを含めた複数人による調査の結果、下記の事実が判明しました。

・サーバーは適切な有効期限内の証明書をネットワークに送信している
・有効期限切れの証明書はサーバー内に存在しない
・有効期限切れの証明書は他人の秘密鍵に基づいており、サーバーの証明書発行スクリプトで発行されたものではない

また、5222番ポートへのTCP接続が改変されており、送信元ポート番号やSEQ/ACK番号が異なっていました。さらにサーバー側で受け取ったパケットのTTLの数値が64となっていて、一切ルーターを経由せずにデータが送信されてきていることが分かります。


5222番以外のポートではこうしたパケットの改変は見られませんでした。


こうして5222番ポートへの接続に対して中間者攻撃が仕掛けられていることが明らかになったため、さらに下記の内容を調査していったとのこと。

・あらゆる種類のログ
・実行可能ファイルとライブラリの変更日
・実行中のプロセス、メモリマップ、およびそれぞれに関連しているファイル
・静的にコンパイルされたBusyBoxを使ってライブラリをハイジャックするLD_PRELOADがユーザーランドに存在しているかどうか
・LiMEでカーネルメモリをダンプしてボラティリティで分析し、カーネルレベルのハイジャックモジュールが存在するかどうか

こうした調査の中で、特にはっきり原因だと言い切れるものは見つかりませんでしたが、調査チームはHetznerに設置しているマシンのカーネルログに下記の珍しいレコードを見つけたとのこと。このログは2023年7月18日に19秒間物理ネットワークのリンクが失われていたことを示しています。


jabber.ruのホスティングにおいては、代替ルートとしてLinodeにもサーバーが設置されています。Linode上のサーバーはHetznerサーバーへのトンネルとしてのみ使用されており、SSHやNTPなど最低限の基本サービスだけが実行されているものの、パケットを解析したところ、ServerHelloのパケットがHetznerのサーバーからLinodeのサーバーに届いた時点では正規のままで、Linodeのサーバーからクライアントに送信される際に改変されていることが分かりました。したがって、HetznerのサーバーとLinodeのサーバーには同じ種類の中間者攻撃が仕掛けられていることになります。

一般的なLinodeのサーバーから接続先を調べるとCiscoのルーターのMACアドレスが返ってきます。


今回攻撃を受けているLinodeのサーバーの接続先は不明なデバイスとなっていました。


さらに、外部からのネットワークテストでは、通常のLinodeのサーバーには13ホップで到達できるのに対し、攻撃を受けているLinodeのサーバーへのホップ数は14で、通常の経路に加えて1つ非公開の経路が追加されていたとのこと。なお、ポート5222番だけはホップ数が13のままだったとのことで、5222番への接続だけ追加の処理を行い、それ以外のポートへの通信はスルーするデバイスの存在が示唆されました。

また、証明書透明性データベース「crt.sh」で調べたところ、2023年4月18日以降正規のサーバーから発行されたものではない証明書が6つ発見されました。今回は2023年7月18日に不正に発行され、実際に中間者攻撃に利用されていた証明書が2023年10月16日に有効期限が切れたことで攻撃の存在が明らかになったというわけです。

調査チームは、調査の結果として下記の通り結論づけています。

・攻撃者は2023年4月18日以降Let's Encryptを使用してjabber.ruおよびxmpp.ruドメインに対して複数のSSL/TLS証明書を発行することに成功
・jabber.ruおよびxmpp.ruの5222番ポートへのXMPPトラフィックの中間者攻撃は少なくとも2023年7月21日から2023年10月19日まで実施されている
・おそらく2023年4月18日から攻撃が行われていた
・攻撃者はTLS証明書の再発行に失敗し、中間者攻撃用のプロキシがjabber.ruドメインの5222番ポートで期限切れの証明書を提供
・中間者攻撃は2023年10月18日に調査を開始し、HetznerおよびLinodeのサポートチームへチケットを送信した後に停止
・ただし依然としてLinodeサーバーでは受動的盗聴が行われている
・HetznerおよびLinodeのどちらのサーバーもハッキングを受けた痕跡はない
・HetznerおよびLinodeのどちらのネットワークもXMPPサービスの中間者攻撃に特化して再構成されている

調査チームは、2023年4月18日から2023年10月19日の間に行われた通信は全て侵害されたと考えるべきだと述べています。傍受の性質上、攻撃者はアカウントのパスワードを知らなくともアカウントの連絡先を確認したり、暗号化されていないサーバー側のメッセージをダウンロードしたり、新規メッセージを送信したり、メッセージを改変したりすることが可能でした。


調査チームは今回の攻撃はドイツ警察の要請による合法的なものだったのではないかと考えているとのこと。なお、こうした中間者攻撃を検知するための手段として、調査チームは下記の対応を推奨しています。

・全てのSSL/TLS証明書は証明書の透明性の対象となるため、ドメイン名に対して発行された新しい証明書を電子メールで通知するCert Spotterなどを活用して証明書の透明性を監視する
検証方法や新しい証明書を発行できるアカウントIDを制限する
・外部サービスを利用してすべてのサービスのSSL/TLS証明書の変更を監視する
・デフォルトゲートウェイのMACアドレスの変更を監視する
・XMPPのチャンネルバインディングを活用する

この記事のタイトルとURLをコピーする

◆関連記事
独裁国家が政府認証のルート証明書導入を国民に強制、ISPによる中間者攻撃も確認される - GIGAZINE

iPhoneを実際に攻撃するゼロデイエクスプロイトチェーンが発見される、できる限り早くアップデート行う必要あり - GIGAZINE

CIAのハッキングツール「Archimedes」についての情報をWikiLeaksが公開 - GIGAZINE

ルーター・NAS経由でトラフィックを傍受したり中間者攻撃を仕掛けるマルウェア「VPNFilter」の被害が拡大中 - GIGAZINE

HTTPSで保護されているはずの通信を傍受できる脆弱性「Forbidden Attack(禁断の攻撃)」はVISA関連サイトなど複数で利用可能 - GIGAZINE

in セキュリティ, Posted by log1d_ts

You can read the machine translated English article here.