2019年08月29日 21時00分 ソフトウェア

Chrome・Firefox・Edgeなどブラウザは初回起動時にどのような通信を行っているのか

by Thomas William



Microsoftの元エンジニアであるSampsonさんが、Google ChromeやFirefox、Microsoft Edgeなどのウェブブラウザを初めて起動した際に、ユーザーの見えない場所でどのような通信が行われているのかを調査し自身のTwitter上で詳細なデータを公表しています。



Sampson(@jonathansampson)さん | Twitter

https://twitter.com/jonathansampson



◆Google Chrome

Windows 10上で初めてGoogle Chromeを起動した場合、32件のリクエストが作成され、7.26MBのデータがダウンロードされます。



What happens when you launch Google Chrome for the first time on a Windows 10 machine?



When I launched Google Chrome for the first time (and let it sit for a minute), 32 requests were made, and 7.26 MB of data downloaded. pic.twitter.com/UpmrQBUceK — Sampson (@jonathansampson) 2019年8月25日



Chromeが最初に行う通信では、「googleapis.com」というドメインとのやり取りが行われます。この通信によりOSの種類・ブラウザチャンネル・バージョンといった情報が送信され、フラグ・機能・その他の情報(32KB分)を受信する模様。なお、Chromeがやり取りする通信情報はChromiumのソースを確認しても完璧に知ることはできないそうですが、一部の詳細は調査により明らかになったとのこと。





ChromeはGoogleアカウントサーバーや、複数の拡張機能およびアプリのIDをXMLドキュメント形式で受信するための「clients2.google.com」といったドメインと通信します。その後、取得したIDに対応するCRXファイルの要求を発行し、9つの拡張機能がダウンロードされる模様。なお、ダウンロードされる拡張機能は非常にデータサイズが小さく、主にGoogleドライブやGoogleドキュメント・YouTube・Gmail・Chrome Cast・Google PayなどGoogle関連のものとなっているそうです。





また、Chromeは「redirector.gvt1.com」というドメインと通信を行うのですが、このリクエストはChrome Cast関連のものだそうです。この拡張機能は他の拡張機能とは別のルートでリクエストが送信され、Googleのウェブストアの支払いに紐付けられている「craw」と書かれたクエリも同じように別のルートでリクエストが送信される模様。Sampsonさんは「なぜこられのリクエストのみ異なるのか興味がある」と記しています。





Sampsonさんによると、「redirector.gvt1.com」ドメインは実際には拡張機能を提供していないとのこと。その代わりに、このドメインは名前が示している通りリダイレクトを行っている模様。このようなリダイレクトには見覚えはあるものの、なぜ使われているのかは不明だそうです。



続く通信では、最初にインストールした拡張機能についての検証要求が行われます。拡張機能のIDが送信され、「googleapis.com」ドメインは整合性をチェックするために少しのデータで応答する模様。これはすべての拡張機能に関連した通信だそうです。加えて、Chromeは「docs.google.com」ドメインと通信するそうですが、その理由は不明だそうです。



その他、Chromeは「google.com」ドメインと通信します。この通信は「検索データを尋ねられているのだと仮定している」とSampsonさんは記しています。





◆Microsoft Edge

続いて、Microsoft純正のブラウザであるEdgeの通信内容について。Edgeは50のエンドポイントに130超のリクエストを送信したそうです。Edgeがリクエストを送信した各種ドメインは以下の通り。通信は4分程度で終わるそうで、Microsoft関連のドメインの他、Google・API・Double Click・Googleの広告関連サービス・Facebook・Twitterの広告関連サービスなどとも通信する模様。



What happens when you install the Edge (Chromium) Beta build and run it for the first time? I was curious.



On first-run, Edge fired off 130+ requests to nearly 50 endpoints. Here they are, sorted by total calls.



Time to take a closer look. pic.twitter.com/kIVaKIUNbJ — Sampson (@jonathansampson) 2019年8月27日



Edgeは他のブラウザよりも初期起動時からユーザーについての情報を多く有しているとのこと。このユーザー情報はユーザーが利用するPCのOSであるWindowsから取得しているものだそうです。例えば、Edgeは初回起動時からアカウントのアイコンが変更されていたり、ユーザー名がバレていたりする模様。





Edgeの場合は最初に合成音声オプションに関する「speech.platform.bing.com」、Google関連の「clients2.google.com」など複数のドメインと通信。さらに、「microsoftedgeinsider.com」ドメインと通信することでCSSやフォントといったデザイン面の読み込みが行われます。



EdgeはFacebook・Reddit・Googleといったサービス関連のドメインから、データ収集やトラッキング、広告に関するスクリプトをダウンロードします。これらのスクリプトはブラウザの初回起動時にすべて実行される模様。



◆Firefox

Firefoxのバージョン「68.0.2」を初回起動した場合、数十件の通信が行われ、16MB程度の通信が行われるとのこと。



What happens when you launch a fresh install of Firefox? I was curious, so I did so with version 68.0.2, and monitored my network activity.



Here's what I learned… pic.twitter.com/kTglccO7Qy — Sampson (@jonathansampson) 2019年8月26日



Firefoxが通信したドメインは以下の通り。Firefoxの開発元であるMozilla関連のドメインのほか、Google関連のドメインも複数存在します。





最初の通信では「detectportal.firefox.com」に対して5つのリクエストが行われ、コーヒーショップのフリーWi-Fiといったパブリックネットワークを検出するための情報を得ます。続いて、オンライン証明書ステータスプロトコルに関する通信を「ocsp.digicert.com」と実行。なお、オンライン証明書のチェックは2度の通信に渡って行われるそうですが、その理由は不明です。



FirefoxもGoogleとの通信を行っており、「Google Tag Manager」および「Googleアナリティクス」関連のデータがダウンロードされます。また、FirefoxはGoogle APIからセーフブラウジング用のデータをダウンロードするのですが、こういった通信はその他のブラウザでもほぼ共通のものとなっているとのこと。



Sampsonさんは「Firefoxは最近私が調査したブラウザの中で、初回起動時に最も頻繁に通信が行われるブラウザのひとつです。テレメトリーデータをすぐに収集できるのはこのFirefoxだけかもしれません」と記しています。



Of all browsers I've reviewed recently, Firefox is one of the most active upon installation. I think it may be the only one to immediately collect telemetry data too.



I would like to see them proxy calls to Google endpoints, and avoid the initial https://t.co/8BsrgBsr1u tab. — Sampson (@jonathansampson) 2019年8月26日



その他、SampsonさんはOperaやVivaldi、Dissenter、Braveといったブラウザを最初に起動した際の通信内容も調査しています。なお、Operaと比べるとVivaldiはとても軽量なブラウザで、初回起動時に31件の通信しか行わず、そのほとんどがVivaldi関連のドメインとのやり取りだそうです。



From today:



What happens when you first open the Opera browser? https://t.co/BPMxF2oumW



Vivaldi? https://t.co/sapXRMixft



Dissenter? https://t.co/I5haURSQXS



And Brave? https://t.co/337Elo5ced



If you enjoy these threads, I'll consider doing more later ???? — Sampson (@jonathansampson) 2019年8月24日



なお、初回起動時の通信内容を調査したブラウザのうち、唯一BraveのみGoogleとの通信を一切行っていなかったそうで、Sampsonさんは「私はBraveの初回起動時の通信は100％抑制されており、安全であることが確認できて非常にうれしく思います。Braveは第三者と通信する必要がある場合に代理として機能します」と記しています。



That covers pretty much everything I see Brave doing when it first runs. I'm very pleased to see that 100% of the calls are controlled, and secure. And that Brave serves as a proxy for calls that need to reach out to third parties. Very nice ???? — Sampson (@jonathansampson) 2019年8月24日