株式会社クリアコード > ククログ

ククログ

«OSS開発に参加する人を増やす取り組み「OSS Gate」を開始 最新 Firefoxのメモリ消費の状況を定期的に監視する»
タグ:

Firefox用アドオンの署名義務化に伴う、一部アドオンのMozilla Add-ons掲載取りやめについて

概要

Firefox 44以降で予定されているアドオンの署名義務化に伴い、弊社にて開発・公開している一部のアドオンについてMozilla Add-onsサイト上への掲載を取りやめました。 以後は、それらのアドオンのインストール用XPIパッケージは各アドオンのGitHubリポジトリにて公開していきます。

この記事では、アドオンの掲載取りやめに至った経緯についてご説明します。

Firefoxアドオンの署名義務化

Firefoxにはアドオンで任意の機能を追加できる拡張性がありますが、現在、これを悪用する(ユーザの意図に反して既定の検索エンジンやスタートページを変更する、不要な広告を表示する、などの)マルウェアが増加しています。 そのため、MozillaはFirefox用アドオンについて、Mozillaのスタッフおよびボランティアの編集者がレビューした結果安全と判断されたアドオンのみに署名を付与してインストール可能とし、それ以外のアドオンを使用できなくするという方針への転換を進めています。 (現在はその過渡期として、未署名のアドオンに対しては警告が表示される状態となっています。)

Mozilla Add-ons(AMO)でのアドオンの掲載および公開にあたっては、セキュリティ上の重大な脅威が無ければとりあえずの掲載が許可される「事前審査」と、審査基準が厳しいながらも通過できればアドオンマネージャなどからの検索結果への表示を許可される「本審査」の、2段階の審査があります。 アドオンの署名に関する技術文書によると、この署名は事前審査をパスした段階で付与されるため、よほど危険性の高いアドオンでもない限りは今後も引き続き利用可能となります。

ただ、公開を前提としていないアドオン(例えば、社内利用専用のアドオンなど)では、本審査や事前審査以前の問題として、AMOのWebサイト上に掲載されること自体が問題となることがあります。 そのためMozillaはAMOにおいて、公開される(「listed」な)アドオンとは別に、非掲載の(「unlisted」な)アドオンというステータスを新たに設けており、公開を目的としないアドオンは非掲載の状態で事前審査または本審査を受けて、署名を施すよう案内しています。 (なお、非掲載であってもAMOに登録できない、例えば機密情報を含むために社外に出せないアドオンなどに対してどうするのかという事については、2015年10月現在でまだMozillaの方針が定まっていないようで、対応策は特に案内されていません。)

本審査の必要性

弊社が提供するアドオンは事前審査では法人向けサポートでの要件を満たす事ができず、「サイドローディング」のために本審査を受ける必要があります。

Firefox用のアドオンは通常、アドオンマネージャで検索してインストールしたり、ダウンロードしたXPIパッケージファイルをFirefoxのウィンドウにドラッグ&ドロップしたりと、何らかのユーザの操作を契機としてインストールされ、その際には必ずユーザの意志が関わります。

それに対して、Norton Internet Securityのようなアプリケーションをインストールした際にFirefoxに同時にアドオンが組み込まれる、というようなインストール手順があります。 先の技術文書ではこのようなインストール手順を「サイドローディング」と呼んで、通常のインストール手順とは区別しています。

サイドローディングの場合、アドオンは必ずしもユーザの意図に沿ってインストールされるとは限りません。 何か便利そうなアプリケーションをインストールしてみたら、それにバンドルされていたアドオンがFirefoxにインストールされて、知らず知らずのうちにスタートページが変更されてしまった、というような事が起こり得ます。 そのため、サイドローディングされるアドオンには通常以上に高い安全性が求められ、具体的には本審査をパスしたアドオンでなければサイドローディングはできない(事前審査しかパスしていないアドオンの場合、サイドローディングの形でインストールしても有効化できない)ようになっています。

弊社のサポートサービス内では「カスタマイズ済みのFirefoxを一斉展開したい」というご要望を頂く事が多く、カスタマイズ用のアドオンをFirefoxにバンドルしてインストールする場面が多発します。 これはサイドローディングに該当しますので、必然的に、バンドル対象の弊社提供のアドオンは本審査をパスしておく必要があるというわけです。

本審査をパスできないアドオン

この事を受けて、弊社提供のFirefox用アドオンのうちサイドローディングが必要な物について本審査を申請した結果、大部分のアドオンについては本審査をパスできたのですが、以下のアドオンについては本審査をパスできないという結果となりました。

Disable AddonsはFirefoxのアドオン機能を無効化する物ですが、インストールするとアドオンマネージャへのアクセスが禁じられ、元の状態に戻すにはDisable Addonsの実体となっているファイルを手動で削除する必要があります。 このようなアドオンがアドオンマネージャでの検索結果から簡単にインストールできては危険だというのが、審査棄却の理由であるとの事です。

Disable Auto-updateはFirefoxの自動アップデート機能を無効化する物ですが、これはセキュリティ上の脆弱性を抱えた古いバージョンのFirefoxの使用を奨励する事に繋がり、ユーザを危険に晒してしまう事になります。 このようなアドオンも、アドオンマネージャの検索結果から容易にインストールできてしまうのは望ましくないとのことでした。

Cert ImporterはTLS/SSLなどの証明書や、その妥当性の検証に使われるルート証明書を自動的にインポートする物です。 通常、Firefoxはあらかじめ組み込まれたルート証明書とそれによって検証される証明書のみを信頼し、それ以外の証明書は信頼できない物として拒絶します。 Cert Importerを使うと悪意ある攻撃者が任意の自己署名証明書をルート証明書として自動インポートさせられるため、TLS/SSLの仕組みを一切信頼できなくなってしまう、というのが審査棄却の理由であるとの事です。

Disable AddonsとDisable Auto-updateについては、「ユーザがうっかりインストールしてしまった場合の危険性が大きい」ということが審査棄却の大きな理由であったことから、AMOでの掲載を取りやめて非掲載(unlisted)のアドオンとして再登録を行った結果、本審査をパスすることができました。 よって、これらのアドオンは今後は、上記のGitHubのプロジェクトページの「Releases」リンクから辿る事ができるリリース一覧から署名済みのAPIパッケージをダウンロードしていただく事になります。

Cert Importerについては、その機能自体が危険との判断から非掲載の状態でも本審査を棄却されており、今後の対応については検討中です。

まとめ

Firefox 44以降でのアドオンの署名義務化の概要と、その影響として弊社提供の一部のアドオンの入手方法が変わった事についてご案内しました。

Cert Importerについては、現在の所Firefox 44以降の環境では一切利用できない状態となっています。 これについては進展があり次第、また改めてこの場で情報をご案内していく予定です。

タグ: Mozilla
2015-10-22

«OSS開発に参加する人を増やす取り組み「OSS Gate」を開始 最新 Firefoxのメモリ消費の状況を定期的に監視する»
2008|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|
タグ:
RubyKaigi 2015 sponsor RubyKaigi 2015 speaker RubyKaigi 2015 committer RubyKaigi 2014 official-sponsor RubyKaigi 2014 speaker RubyKaigi 2014 committer RubyKaigi 2013 OfficialSponsor RubyKaigi 2013 Speaker RubyKaigi 2013 Committer SapporoRubyKaigi 2012 OfficialSponsor SapporoRubyKaigi 2012 Speaker RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer badge_speaker.gif RubyKaigi2010 Sponsor RubyKaigi2010 Speaker RubyKaigi2010 Committer
SapporoRubyKaigi02Sponsor
SapporoRubyKaigi02Speaker
RubyKaigi2009Sponsor
RubyKaigi2009Speaker
RubyKaigi2008Speaker