数百万人が利用するウェブ会議サービスを提供するZoom Video Communicationsがアップデート版を公開したが、会議参加時にユーザーの同意を回避するためにMacに隠しウェブサーバーをインストールしたとして非難を浴びている。
Gradle Inc. のセキュリティ チームのメンバーである研究者 Jonathan Leitschuh 氏は、会議リンクを受信すると Zoom クライアントが自動的に開く仕組みを調査しました。
Leitschuh 氏は、Mac に Zoom をインストールすると、ポート 19421 に Web サーバーがインストールされることを発見しました。その後、Zoom 会議リンクをクリックすると、ページはローカルホストの Web サーバーから画像を読み込み、返される画像のサイズがステータス コードを表します。これは、Ajax リクエストに適用される CORS (Cross-Origin Resource Sharing) 制限を回避するためのハックです。
その結果、例えばiframe(インラインフレーム)を使ってウェブサイトにZoomリンクを埋め込むだけで、ユーザーをZoomコールに参加させることができます。ユーザーには通常のウェブページのURLが表示されますが、iframeによってZoomリンクが自動的に読み込まれます。
Zoomのデフォルト設定では、カメラを自動的に有効化するかどうかはホスト側で決定されます。そのため、攻撃者はユーザーを攻撃者のサイトへ誘導するだけで、ユーザーのウェブカメラを盗聴できてしまいます。
Leitschuh 氏が指摘するように、Zoom クライアントに「Zoom の不正コマンド実行」バグなど、悪用可能な他の脆弱性が存在する場合、結果はさらに深刻になる可能性があります。このバグは、Tenable が 2018 年 11 月に報告し、現在は修正されています。
クリックを節約するためだけですか?
ライチュー氏は、この問題と関連するサービス拒否(DoS)脆弱性をZoomに報告した。報奨金の申し出があったが、バグを公表しないことを条件に断った。
Zoom は、カメラを有効にするかどうかをホストが選択できる機能を変更することで対応しましたが、この修正によって状況が悪化し、Leitschuh 氏は、前述の iframe の回避策によってこの問題が回避されることも発見しました。
さらなる懸念事項があります。一つは、MacでZoomをアンインストールしても、Zoomウェブサーバーがそのまま残ることです。ウェブサーバーにはZoomクライアントを再インストールする機能があり、アンインストールを無効にします。この機能は、攻撃者がクライアントのダウンロードが許可されているドメインの1つを制御できた場合、別の実行ファイルをインストールできるため、セキュリティインシデントの発生を招きかねません。
「Web サーバーをシャットダウンするには、 を実行してlsof -i :19421
プロセスの PID を取得し、 を実行しますkill -9 [process number]
。その後、ディレクトリを削除して~/.zoomus
、Web サーバーのアプリケーション ファイルを削除します」と Leitschuh 氏は説明しました。
Zoomはこの件について2つの声明を発表しました。Zoomの最高情報セキュリティ責任者であるリチャード・ファーリー氏はブログ投稿で、Zoomユーザーは会議参加時にビデオのオン/オフを設定できると述べています。「主催者や他の参加者は、ユーザーのビデオやオーディオの設定を上書きして、例えばカメラをオンにすることはできません。」
これはLeitschuh氏の主張と矛盾しません。参加者のカメラをオンにするかどうかはホストが決定しますが、これはユーザーの設定に依存します。これまでと同様に、大多数のユーザーはデフォルト設定を受け入れるため、デフォルトがオンであればビデオもオンになります。Zoomをクリーンインストールすると、確かにこの設定はありますが、設定が逆になっているため、「ミーティング参加時にビデオをオフにする」にチェックを入れないとビデオはオンになりません。
この設定はデフォルトでオンになっており、Zoomミーティングでビデオが自動的に有効になるかどうかを制御します。
さらに、ファーリー氏は、これが具体的には Apple が Safari 12 で導入したセキュリティ機能を回避するためであるにもかかわらず、ウェブ サーバーのインストールを正当化し、次のように書いている。
同社は公式声明(PDF)でも同様の主張を展開し、ローカルウェブサーバーのインストールは「会議参加前の余分なクリックを回避する」ための合理的な回避策であると主張しています。声明ではさらに、7月のアップデートで「最初のZoom会議で設定したビデオ設定を、今後のすべてのZoom会議に適用・保存する」機能が追加されると付け加えています。
これは完全な解決策とは思えません。
Windowsユーザーはどうでしょうか?おそらく隠しウェブサーバーは存在しないでしょう。しかし、それはWindowsでは「余分なクリック」が必要ないからです。ブラウザが.zoommtg
リンクとの関連付けを設定している場合、会議は自動的にビデオ付きで開始されます(Firefox、Chrome、Edgeでテスト済み)。これは一度だけ行う操作です。設定によっては、会議開始前に会議オプションのプロンプトが表示される場合もありますが、既に参加済みです。ブラウザが追加のプロンプトなしでこれを許可すべきかどうかは議論の余地があり、AppleはSafariでこの問題の修正を試みました。
この動作が気に入らない場合は、.zoommtg
ブラウザで関連付けを削除してください。例えば、Firefoxでは以下の設定になります。
クリックして拡大
しかし、localhostで動作するMacウェブサーバーは、特に非公開APIを使用しているため、セキュリティリスクが増大します。例えば、攻撃者はページ上のIMGタグをsrc=URL
Zoomウェブサーバー上で に設定することが可能です。Zoomのセキュリティ担当者が「ユーザーエクスペリエンスの低下」を避けるためだけに、このようなリスクを正当化できるとは理解に苦しみます。一方で、これは、企業がわずかな使いやすさの優位性を得るために、結果を顧みず、どれほどのことをするかを示すものです。
セキュリティ意識の高いMacユーザーは、少なくともリスクがよりよく理解されるまでは、Zoomの痕跡をすべて削除することをお勧めします。カメラにテープを貼る? もしかしたら。®
追加更新
本日、オンラインで抗議の声が急増する中、Zoomのウェブカメラの脆弱性に関するブログ投稿は繰り返し更新され、最終的にMacユーザー向けにセキュリティパッチが配布されたことが確認されました。できるだけ早くインストールしてください。または、こちらから手動でインストールすることもできます。
7月9日のリリースでは、「Zoomクライアントのアップデート後、ローカルウェブサーバーが完全に削除され」、「ユーザーが手動でZoomをアンインストールできるようになる」とのことです。これは朗報です。なぜなら、この未公開ウェブサービスが削除され、MacからZoomを完全に削除できるようになるからです。
7月12日にリリース予定の別のパッチでは、「『常にビデオをオフにする』ボックスを選択した初回ユーザーはビデオ設定が自動的に保存される」ようになり、「再度利用するユーザーは、Zoomクライアント設定からいつでもビデオ設定を更新し、デフォルトでビデオをオフにすることができる」ようになる。
これにより、ソフトウェアのビデオがデフォルトでオンになっているという性質に関する懸念が解消されることが期待されます。基本的に、ホストの通話設定に関係なく、Zoom リンクをクリックまたはトリガーするとすぐにビデオを開かないようにプログラムに指示できるようになります。