sumikko.tokyo

Firefox と Chromium の利点・欠点の考察

Rev 2020-02-11

使い分けの理由や細かい注意点など追記、若干表現を手直し。

Debian GNU/Linux などの GNU/Linux はもとより、 Microsoft Windows などでも Mozilla Firefox と Chromium は 主なウェブブラウザーとして著名です。

  • Windows 10 の Edge は今後 Chrome ベースになります。
  • Apple Safari も WebKit を経由して Chrome と共通点を持ちます。

大半のブラウザは Chromium と共通点があり、 独立したブラウザとしては Mozilla Firefox のみが 生存しているのが 2020 年の状況と言ってもいいでしょう。

Debian でも使えるフリーなブラウザとして Chromium と Firefox に焦点を絞り、 ユーザー情報のトラッキング対策と、 ブラウザによるパスワード管理に重点をおいて、 バックアップと復元を中心に検討したものです。

Attention!

Debian の Firefox は ESR なので一世代古いと考えてください。

最新機能は堪能できませんが十分すごいですし、 重要なセキュリティアップデートは適時なされています。

はじめに

大前提として、スマホなどの モバイルデバイスのアプリは対象外 です。

スマートなのは事業者

スマホの利用=通信事業者への完全な個人情報の譲渡とその利用規約の同意、 更に Android や iOS デバイスを利用するための Google や Apple への 利用規約への同意があります。

スマートなのは彼らの集金・個人情報や行動情報の収集形態であって、 利用者ではないです(例:「アプリで便利・割引」「アプリで決済」)。

第三者へのプライバシー情報の提供が各社で報じられたのは耳に新しいです。

方向性が異なる Chromium と Firefox

Mozilla Firefox と Chromium (あるいは Google Chrome) は 基本思想からして違うと sumikko.tokyo は考えています。

大雑把にそれぞれの特徴を勝手に書くと、

  • Mozilla Firefox
    • ウェブブラウザとして若干性能面で劣ることがあるが遜色はない。
    • プロフィールを使い分けできることが素敵。
    • それぞれのプロフィールごとにマスターパスワード設定ができる。
    • バックアップと復元が超かんたん。ただのディレクトリコピーで終わる。
      • (POSIX) $HOME/.mozilla/firefox
      • (Windows) %APPDATA%\Mozilla\Firefox
    • トラッキング防止を利用すればかなり高速になります。
      • いかに現代のネットワーク広告事業がリソース食いか体感できること請け合いです。
    • Google のサイトの一部は正常にレンダリングされない。
      • Firefox の問題というより Google Chrome/Chromium の CSS 周りの独自性かな。
      • 最新版の Firefox (≠ ESR)ならほぼ同一のレンダリングは得られる。
  • Chromium / Google Chrome
    • バックグラウンドで Google 関連サービスのネットワーク検索をやる。
    • パスワード保存に GNU/Linux だと POSIX アカウントの関与がある。
      • passwd で変更したりすると「以前のパスワード」が要求される。
    • Firefox のようなプロフィール、マスターパスワードの概念がない。
    • バックアップと復元は Google アカウントに紐つけないと難あり。
    • Android デバイスなら Chrome 一択 (Google アカウント上で動作しているから)。
      • むしろ「Google サービスのポータル」+「ブラウザ機能」的な。

Mozilla Firefox のプロフィールの使い分けが最強

Attention!

メールアドレスはレンタルサーバーで自由に作れる前提です。

GMAIL (または Apple や Microsoft アカウント) を結局は使うというなら、 あまり Firefox で複数プロフィールを使う利点はありません。

また「Firefox アカウントは使わない前提」です。

Mozilla Firefox で URL バーに about:profiles と打てば、 プロフィール一覧と作成などの設定画面になります。

コマンドラインからもできますがこっちが楽です。ブックマークすれば終わりなので。

どう使うと便利かというと、

  1. ネットサーフィン用のプロフィール (匿名を意味しません)
    • 一切のアカウント・パスワード・個人情報を記録しない。
    • トラッキング防止を最大限にする。
    • 終了時に履歴を消去するように設定する。
  2. 買い物用の決済情報関与プロフィール郡
    • Amazon.co.jp など「買い物サイト」だけを登録する。
    • 設定はできるだけ標準で。
    • マスターパスワードを設定する。
    • いかなるアドオンもインストールしない。
    • できるだけ買い物先別にプロフィールを作る。
  3. SNS や、その他のアカウントが必要なサイト用プロフィール
    • 必要に応じて個別にプロフィールを作る。
    • 基本は買い物プロフィールに準じる。
    • 可能な限り「決済情報」は関与させないか、プロフィールを分離する。
    • マスターパスワードをもちろん設定する。

それぞれのプロフィールで見た目のテーマを変えておけば、パット見の区別もしやすく、 前述の画面から起動すれば複数の異なったプロフィールの Firefox を起動するのもかんたんです。

またブックマークツールバーを表示させて、 それぞれのプロフィールに関連のあるサイトだけ登録すれば一目瞭然です。

一方で Chromium ではこういう構成はちょっと難しいです。

  • Google アカウントを複数作ってそれぞれで同様の役割分担は可能ですが、 切り替えが手間です。
  • そもそも Google アカウント経由するので意味合いが乏しい。

Firefox で複数プロフィールのあれこれ

まずプロフィール作成のポイントとして、

  • 新規に作ったものが default 扱いになるので適時戻す。
    • default はなんの登録もない about:profiles 表示用でいいでしょう。
  • 新規プロフィール作成後は一度起動して即終了する。
    • 初期設定でない運用をするなら、 テンプレートとして設定済みのプロフィールを作っておいて、 その内容をディレクトリごとコピーしてしまえば OK です。
    • テンプレートプロフィールではパスワードは設定しないようにしましょう。

複数プロフィールを同時起動するのも GNU/Linux なら容易です。

#!/bin/sh
for p in `egrep ^Name $HOME/.mozilla/firefox/profiles.ini`
do
    profile=$(echo $p|cut -d "=" -f 2)
    firefox --new-instance -P $profile &
    sleep 1
done

的な sh スクリプトを組んでおけば、有効なプロフィールを 1 秒間隔で全部起動させます。 stdout や stderr はお好みでリダイレクトすればいいです。

sleep 1 なしでもいいんですが、CPU 負荷と I/O 負荷が集中するので、 体感遅く感じてしまいます。

Windows でも Firefox は複数プロフィール起動できますが、 上のようなシェルスクリプトに相当するものをさくっと書けないので、 about:profiles だけを表示するページから新規プロセス起動したがいいでしょう。

なぜ多数のプロフィールを分離するか

例えば一つのブラウザにいろいろなサイトとそれらのパスワードを設定して、 どこかにログインして別のサイトや不特定多数のサイトへ 検索結果から飛ぶとしましょう。

  • ブラウザプロセスのメモリ空間に読み取り可能なパスワードが共有されます。
    • 通常は脅威ではありません。ただ脆弱性がある場合には無関係なサイトが パスワードにアクセスできうる余地があります。
      • マスターパスワード保護された状態の暗号化された鍵データでも、 手に入ってしまえば攻撃者側にとっては解析可能です。
      • プロフィールごとプロセスを分離してしまえば、 そういう脅威は若干緩和される可能性があります。
  • 多数のサイトは多数のトラッキング処理をやってます。
    • まず「単に処理が多くてブラウザが重く感じる」弊害があります。
    • 単一プロフィール / ブラウザで運用すると、 思わぬ情報伝達 (被害者にとっては情報漏えい)が生じえます。

つまりあなたのネット上の行動が思わぬところで把握されかねないわけです。

  1. まともなサイトなら Cookie などの保存について初回に 同意を求める表示をして、内部処理もそれに準じます。
    • ただ「何を持ってそういう運営をしているサイトと判断できるか」が問題です。
    • 表向きプライバシーうんぬん表示して裏では収集している可能性もあるわけです。
  2. おそらく圧倒的多数のサイトは真逆です。 むしろ広告収入源として狙いを定めるべく、 できるだけ合法すれすれや違法でも刑罰が軽い処理をしかねません。
    • 現状ネット上のプライバシーや忘れられる権利などは、 そもそもそういう問題提起をしなければいけない状況です。
    • 悪意ある情報収集・転売者にとって、 法整備されても刑罰が利益を下回るならむしろ好都合でしょう。
  3. そもそもネット上の行動追跡に関しては法整備が始まったばかりです。
    • EU では GDPR を始め具体的に動いていますが、 インターネットは世界規模です。あるサイトが「どの国にあるか」とか 「アクセス経路でどこの国を経由するか」など難関だらけです。

これらへの対策が「目的別・個別のブラウザプロフィールの使い分け」というわけです。

スマホでのネット利用の妥協点

いろいろ方法はありますが、 sumikko.tokyo としては「 ある程度諦めて普通に使う 」のが無難と考えます。

まず Tor や類似した「(自称)匿名化サービスやアプリ」は避けるが吉と思っています。

  • いろんなサイトが信用できないというとき、 なぜそれらは信用できるのか っていうのが最たる理由です。
  • それにそういうサービスをうたって実は逆にごっそり 情報収集していますっていう可能性が十二分にあります。

VPN などを使う場合も注意が必要で、 よほど機密情報をスマホなどで扱う必要性がない限り意義を感じません。

  1. サービス提供者をまず信用できるか。
  2. 環境を自前で用意できるとして、機材すべてを信用できるのか。

スマホや類似したデバイスやサービスは今後も増える一方でしょうし、 使わざるを得ないのが正直なところです。

無理に避けるのも難しく、かといって特殊なことをやれば安全かというとそうでもない。

  • できるだけ不要なアプリなどを減らす。
  • Android なら Google とデバイスベンダーのアップデートを、 iPhone なら Apple のアップデートを適時行う。
  • 正規ストア以外は絶対利用しない
  • 正規ストアにあるアプリであっても、 多量すぎて悪意のあるものが一過性に存在すると念頭に入れる。

要するに「普通に使う」のが利便性と必要性の観点から無難でしょう。

理想的には IPA や JP/CERT などの脆弱性情報を定期的に確認すべきでしょう。

Firefox と Chromium / Google Chrome のバックアップと復元

Attention!

いずれも「ローカルストレージでのみのバックアップと復元」に限った話です。

一応いずれも「ディレクトリのバックアップで済む」という記載は多いのですが、 実際に「異なるマシンでバックアップを復元した場合」には明暗が別れます。

  • Chromium では完全にバックアップ内容が復元されていないことがあります。
    • そもそも復元が「単純なバックアップディレクトリのコピー」で済まない ちょっとした手間を経ます。
    • 別マシンでホスト名・ユーザー名・パスワードが異なると更に厄介です。
    • Google アカウントに紐つけているならその限りではないです。
      • ただしパスワードを含め、情報は Google のクラウド上に保管されます。
      • というより、Chrome や Chromium は Google サービスポータルと考え、 バックアップと復元もそれらのサービスを前提にしたほうが無難でしょう。
  • Mozilla Firefox では「バックアップ」も「復元」もかんたんです。
    • いずれも「ディレクトリの単純コピー」で済みます。
      • ネットワーク関与なく、ローカルのストレージで済みます。
      • (POSIX) $HOME/.mozilla/firefox のコピーで済みます。
      • 復元も一度起動して上記内容を上書きしてやれば終わりです。
    • パスワード保護は「それぞれのプロフィールのマスターパスワード」なので 復元後も扱いは変わりません。

検証環境について

Mozilla Firefox は Debian stretch から 新規インストール busterへ、 また buster から別の buster、そして Microsoft Windows 7 間と Windows 7 から Windows 10 (いずれもローカルアカウント) で復元検証しています。

Chromium は Debian stretch から buster と、buster-buster 間の移動です。

別の問題: Chrome/Chromium のネットワーク探索機能

Google は多数のサービスを展開していて、中にはネットワーク上の 別のデバイスの画面を表示させたり、一見便利に思える機能もあります。

  • Chrome/Chromium ではこれらを実現するために バックグラウンドで各種通信をしています。
  • 典型例は UDP 1900 番の SSDP です。

小規模ネットワーク構成(家庭内・SOHO)なら問題ないですが、 大規模ネットワーク構成ではそれなりの頻度でパケットが飛び交います。

関連機能を使わないなら chrome://flags から無効化して、 更に アウトバウンドで上述 SSDP パケットなどを各ホストで封じるべきでしょう。

例として使わないなら disabled にするべき項目は次の感じ。

  • Load Media Router Component Extension
  • Connect to Case Devices on all IP addresses
  • Enable History Favicons Google Server Query
  • Enable Cloud Printer Handler

似たことは GNOME の各種バックグラウンドサービスにも言えるのですが、 そこは本論から外れるので割愛します。

結論とまとめ

  • Google アカウントなどと併用前提なら Chromium 系 です。
    • 逆にそういう運用をしないならあえて選ぶ理由は乏しいです。
    • アカウント利用している前提なので、 スマホなら Chrome や Safari でいいでしょう。
    • 注意点として、アカウントログインしているブラウザで検索していると 思わぬ情報漏えいや追跡の対象となりかねないし、 多くの場合それに気づくことはできないかもしれないことが挙がります。
  • PC でのおすすめは Mozilla Firefox で「目的別にプロフィールを使い分け」です。
    • 特に「個人情報なし」「買い物用・決済情報あり」「決済情報なし」の 3 構成です。
    • サイトのログインパスワードはマスターパスワードで保護しましょう。
    • ただしレンタルメールサーバーで自前でメールアドレスを管理できる場合に限ります。
      • それができない場合は Google や Microsoft や Apple アカウントなどを 経由して複数のサイトがあなたを特定して追跡する余地があります。

Warning

Mozilla Firefox でマスターパスワードを忘れてはいけません。

よほど短い(つまり意義の乏しい)パスワード以外は、 無理やり突破できような代物ではないです。

ただ十分長いパスワードを複数記憶するのには難がありかも。

手元に金庫などがあるなら、メモに書いて保管するのも手です。

ところで、Mozilla の収益源の一つに Firefox の検索バーからの検索による Google からの支払いがあるようです。 ご利用の場合は「調べものは Firefox の個人情報なしプロフィール」ですると良いかも知れません。

Attention!

繰り返しですが「スマホで匿名」なぞ幻想です。必ず個人情報がついて回ります。

Published: (Modified: )