Firefox OS とフィッシング詐欺・マルウェア対策機能のメモ
先日、Firefox OS ハッカソン で Google Safe Browsing API と VirusTotal API を使った超簡易ブラウザを作った。それに関連して調べたこととかのメモ。
Firefox のフィッシング詐欺・マルウェア対策 ("Phishing and Malware Protection") 機能
- Firefox の不正サイト対策機能。(セーフブラウジング)
- ドキュメント:
- この機能は Google Safe Browsing API を使用している。
- なお、ドキュメントに StopBadware という組織へのリンクがあるのでここの提供するブラックリストを使っているのかと思ったけど違うらしい。
- PC 版と Android 版の Firefox ではこの機能が有効。
- Firefox OS のブラウザではまだ有効になっていない。(Firefox OS 1.3 シミュレータで確認)
Google Safe Browsing API
- ドキュメント:
- Wikipedia によると Chrome, Firefox, Safari でこの API が使われている。
- Safe Browsing API と Safe Browsing Lookup API がある。
- Safe Browsing API
- フィッシングサイト/マルウェア配布サイトのブラックリストを取得する API。
- 今回は使っていないのでよく調べていない。
- Safe Browsing Lookup API
- URL がフィッシングサイト/マルウェア配布サイトかどうかクエリできる API。
- 使い方はこちらのサイトが分かりやすい: 『Google Safe Browsing APIを使ってみる』
- 利用には API キーが必要。こちらで取得できる。
- テスト URL:
- http://malware.testing.google.test/testing/malware/
- この URL はドメインが引けずサーバに接続できない。Android 版 Firefox ではテスト URL として使えない。(先に Host not found エラーとなるため。)
- 接続可能なテスト URL:
- http://ianfette.org/
- Chrome ブラウザの開発マネージャの Ian Fette さんのドメインらしい。
- よく使われてるみたいだけど正式なテスト URL なのか分らないので、本当はよろしくないかも。
モバイル 版 (Android) と PC 版の挙動の違い
- モバイル版 Firefox とモバイル版 Chrome では、接続できない URL http://malware.testing.google.test/testing/malware/ のブロック画面が出ず「サーバが見つかりませんでした」となる。
- PC 版 Firefox, Chrome では、同上の URL でもちゃんとブロック画面が出る。
- モバイル版はブラックリストを保存せず Lookup API だけを使っている?そのための挙動の違い?
- ブラックリスト利用で発生する通信料やリソース消費を避けるため、その可能性は高そうだけど。。。
- Chrome for Android のセーフブラウジングはデータ圧縮のためのプロキシで行われている。なのでローカルにブラックリストをダウンロードしていない(はず)。
- Firefox for Android はこちらの記事によればローカルにブラックリストを落としているっぽい。
- 『Phishing and malware protection arrives on mobile devices』
- ブラックリストのサイズは 40-50MB だったのが 5-6MB に削減されたらしい。