Android leak

イメージミッドジャーニー

あるMullvad VPNユーザーが、”Always-on VPN “機能を “Block connections without VPN “オプションで有効にしているにもかかわらず、AndroidデバイスがVPNサーバーを切り替える際にDNSクエリをリークすることを発見した。

“常時接続VPN “は、デバイスの起動時にVPNサービスを開始し、デバイスまたはプロファイルがオンになっている間はVPNサービスを実行し続けるように設計されています。

キルスイッチとしても知られる)”Block Connections Without VPN “オプションを有効にすると、すべてのネットワーク・トラフィックと接続が常時接続のVPNトンネルを通過するようになり、ユーザーのウェブ・アクティビティを詮索好きな目で監視することができなくなる。

しかし、Mullvadが4月22日に発見された問題を調査中に発見したように、Androidのバグは、これらの機能が最新のOSバージョン(Android 14)で有効になっている場合でも、一部のDNS情報を漏らしてしまう。

このバグは、テキストのホスト名からIPアドレスへのプロトコルに依存しない変換を行うgetaddrinfoC関数を直接呼び出すアプリを使用しているときに発生する。

彼らは、VPNがアクティブ(しかしDNSサーバーが設定されていない)、またはVPNアプリがトンネルを再設定、クラッシュ、または強制停止されたときに、AndroidがDNSトラフィックをリークすることを発見した。

「DnsResolverのようなAndroid APIのみを使用するアプリからのリークは見つかっていない。Chromeブラウザは、getaddrinfoを直接使用できるアプリの一例です」とMullvad氏は説明する。

“上記は、’Always-on VPN’および’Block connections without VPN’が有効になっているかどうかに関係なく適用される。”これは、OSが期待する動作ではないため、OSの上流で修正されるべきである。

潜在的な緩和策

Mullvad氏によると、ユーザーが別のサーバーに切り替えたり、DNSサーバーを変更したりする最初のDNSリークシナリオは、VPNアプリがアクティブな間に偽のDNSサーバーを設定することで簡単に緩和できるという。

しかし、VPNトンネルの再接続DNSクエリリークに対する修正はまだ見つかっておらず、他のAndroid VPNアプリもこの問題の影響を受けている可能性が高いことから、他のすべてのAndroid VPNアプリに対して有効である。

“これらの回避策は、どのVPNアプリでも必要とされるべきではないことを明確にすべきです。また、アプリがドメイン名を解決するためにgetaddrinfoを使用することも間違いではありません」とMullvad氏は説明する。

「どのアプリを使用しているかに関わらず、すべてのAndroidユーザーを保護するために、これらの問題はOSの中で対処されるべきです」。

2022年10月、Mullvad氏はまた、Android端末がWiFiネットワークに接続するたびに、「VPNなしの接続をブロック」を有効にして「常時接続VPN」をオンにしても、接続チェックのためにDNSクエリ(IPアドレス、DNSルックアップ、HTTPSトラフィックなど)が漏れていることを発見した。

DNSトラフィックの漏えいは、ユーザーのプライバシーに重大なリスクをもたらし、ユーザーのおおよその位置情報や、ユーザーが関与しているオンラインプラットフォームを暴露する可能性があります。

この問題の深刻さを考えると、Googleがこのバグを解決し、古いAndroidバージョンにパッチをバックポートするまで、Androidデバイスを機密性の高い活動に使用するのを止めるか、そのような漏えいのリスクを軽減するために追加の安全対策を実施した方がよいかもしれません。

更新 5月03日17時02分(日本時間):グーグルの広報担当者は以下の声明を発表した:「Androidのセキュリティとプライバシーは最優先事項です。我々はこの報告を認識しており、調査結果を調べている。”