ブラウザ拡張機能




ブラウザ拡張機能(英語: browser extension)とは様々な方法でウェブブラウザの機能を拡張するためのコンピュータプログラムである。ブラウザやバージョンによっては、プラグイン(英語: plug-in)もしくはアドオン(英語: add-on)といった同じ意味の用語と使い分けられることがある。一部の拡張機能ではHTMLやJavaScriptといったウェブ技術を活用して開発されている[1]。また、例としてツールバーの追加など、表示できるウェブサイトの内容に直接影響を与えること無くウェブブラウザのユーザーインターフェースを変更することが出来る。




目次






  • 1 歴史


  • 2 インストール


  • 3 機能


    • 3.1 ツールバー


    • 3.2 プラグイン


    • 3.3 プライバシー




  • 4 開発


  • 5 望まない動作


  • 6 脚注


  • 7 関連項目


  • 8 外部リンク





歴史


マイクロソフトは1999年にリリースしたInternet Explorer 5より[2]、Mozilla Firefoxはリリース開始となった2004年より、Operaは2009年リリースのバージョン10より、Google Chromeは2010年リリースのバージョン4より、Apple Safariは2010年リリースのバージョン5より拡張機能に対応するようになった。拡張機能の構文はブラウザによって非常に異なっており、少なくともあるブラウザで動作しても他のブラウザで動作しないことがある。検索エンジンツールでは、この問題を回避する試みとしてMycroftによるマルチタグ戦略でブラウザを問わずに動作する検索エンジンデータベースアドオンが存在する[3]



インストール


多くのブラウザではユーザーが目的の拡張機能を探したり、人気のある拡張機能の一覧を見ることができるオンラインのストアサイトがある。Google Chrome[4]、Mozilla Firefox[5]、Safari[6]にはそれぞれ自前のストアサイトを持っているものの非公式のストアサイトもある[7][8]



機能


ブラウザ拡張機能の用途は多岐にわたる。



ツールバー


ブラウザツールバーとはブラウザのウインドウ内に配置されるツールバーで全てのメジャーブラウザで対応しており、ブラウザのGUIや機能を拡張する方法として開発されている。また、ツールバーを提供するブラウザ拡張機能の特定の種類と考えられており[誰によって?]、各ブラウザごとに特化されていて、特定のブラウザで動作しているツールバーは他のブラウザでは動作しないとされている[誰によって?]



プラグイン



プラグインはアプリケーションプログラミングインタフェース(API)を使ってブラウザに特定の機能を追加する。APIでサードパーティはブラウザとやり取りできるプラグインを開発することが出来る。当初のAPIはNPAPIだったが、その後GoogleはChromeでPPAPIインタフェースを導入した。



プライバシー


ほとんどのブラウザにおいて拡張機能を使ってプライベートブラウジングでユーザーのオンラインプライバシーを守ることができ、様々な種類のユーザーブラウジングプライバシーを制御したり脅威から防護することができる多種多様な拡張機能がある。プライバシーに関連する拡張機能のほとんどは第三者によるユーザーへの追跡を防ぐ機能、広告やスクリプトをブロックする機能、良い動作を確実にする受動的なセキュリティツールの3種類に分かれる[9]



開発


実際のブラウザ拡張機能の開発は特定ブラウザに対応した拡張機能の開発になる。各ブラウザごとに拡張機能の構築に必要な固有のアーキテクチャとAPIがあり、異なるコードや技術が求められるが、開発フレームワークによってそれぞれ1つのみのコードとAPIのみでクロスブラウザ対応拡張機能を構築することが出来るようになりブラウザごとに異なるバージョンの拡張機能を開発する必要はなくなった。これらのフレームワークの例として、Internet Explorer、Firefox、Chrome、Safari、Operaに対応したクロスブラウザの拡張機能を構築できるAdd-ons Framework[10]やInternet Explorer、Firefox、Chrome、Safariに対応したクロスブラウザの拡張機能を構築できるCrossrider開発フレームワークがある[11]


また、Extension Maker[12]というクロスブラウザ拡張機能開発環境もあり、上記2つのフレームワークとは異なり、コードを記述する必要はなく、既存ブロックから拡張機能を開発することが出来る。



望まない動作


ブラウザ拡張機能はブラウザによって全てにアクセスしたり、ウェブページに広告を挿入したり、第三者のサーバーにバックグラウンドのHTTPリクエストを送ったりすることができるため、ブラウザ拡張機能がそれを悪用する事が可能である。ウェブページはウェブのセキュリティモデル(特に同一生成元ポリシー)で制限されているが、拡張機能では制限されない[要出典]


結果として、ブラウザ拡張機能の中には説明と異なり、インストールしたユーザーの意図に反した動作をするのがある。実はマルウェアである拡張機能もあり、ユーザーに知識がない場合アンインストールが困難なアドオンであるブラウザ拡張機能をインストールさせる不要バンドルソフトウェア(英語版)をダウンロードさせるソフトウェアもある[13]


2012年、セキュリティ研究者がマルウェアのリモートコントロール部分としてウェブページの内容変更や実行ファイルのダウンロード、アカウントの乗っ取り、一部ウェブサイトで必須になっている二段階認証セキュリティ機能を突破ができるブラウザ拡張機能を開発したとしている[14]


2013年5月、マイクロソフトはブラジルでChromeとFirefox対応拡張機能の中にFacebookのプロファイルを乗っ取るものがあったと発表した[15]


一部のGoogle Chrome拡張機能開発者は、売りに出された拡張機能を買収し第三者企業のために拡張機能の中に新たなアドウェアを組み込む不要なアップデートをこっそり行うように改造している[16][17]。2014年1月、Googleは規約違反として2つの拡張機能をChromeのブラウザサービスから除去した。除去を決定した拡張機能は「Add to Feedly」と「Tweet This Page」で、拡張機能開発者が第三者に拡張機能を売却した後に拡張機能に不要なポップアップ広告が付いたことをユーザーが気づくようになった[18]


Googleが所有するウェブサイトにアクセスするウェブブラウザの5%はコンピュータプログラムによってページに広告が挿入されているとされる[19][20][21]



脚注





  1. ^ "What are extensions?". Retrieved 18 February 2014. 


  2. ^ "Browser Extensions". Retrieved 2010-06-05. 


  3. ^ "Mycroft project". Retrieved 2011-10-27. 


  4. ^ "Chrome Web Store". Retrieved 15 March 2014. 


  5. ^ "Mozilla Firefox Add-ons". Retrieved 15 March 2014. 


  6. ^ "Safari Extensions". Retrieved 15 March 2014. 


  7. ^ Eg: "Safari Add-ons". Retrieved 1 March 2015. 


  8. ^ "Opera Extensions". Retrieved 1 March 2015. 


  9. ^ "LifeHacker". 


  10. ^ "Add-ons Framework". Retrieved 19 December 2013. 


  11. ^ "Crossrider". Retrieved 28 April 2013. 


  12. ^ "Extension Maker". Retrieved 13 October 2013. 


  13. ^ "PUP Criteria". Malwarebytes. Retrieved 13 February 2015. 


  14. ^ "Researcher to demonstrate feature-rich malware that works as a browser extension". Retrieved 15 March 2015. 


  15. ^ "Browser extension hijacks Facebook profiles". Retrieved 15 March 2015. 


  16. ^ "Adware vendors buy Chrome Extensions to send ad- and malware-filled updates". Ars Technica. Retrieved 20 January 2014. 


  17. ^ Bruce Schneier (21 Jan 2014). "Adware Vendors Buy and Abuse Chrome Extensions". 


  18. ^ Winkler, Rolfe. "Google Removes Two Chrome Extensions Amid Ad Uproar". blogs.wsj.com. Wall Street Journal. Retrieved 17 March 2014. 


  19. ^ "Ad Injection at Scale: Assessing Deceptive Advertisement Modifications" (PDF). 


  20. ^ http://www.pcworld.com/article/2920012/superfish-injects-ads-in-one-in-25-google-page-views.html


  21. ^ http://www.cio.com.au/article/574450/superfish-injects-ads-one-25-google-page-views/




関連項目



  • 拡張機能 (Mozilla)

  • Google Chrome拡張機能(英語版)

  • uBlock Origin



外部リンク




  • WebExtensions Documentation - for Firefox in the Mozilla Wiki


  • Neobars - cross-browser add-ons platform


  • Add-ons Framework - cross browser add-on framework


  • Just Plug It - cross browser add-on framework


  • Browser Button - cross browser add-on framework






Popular posts from this blog

Entries order in /etc/network/interfaces

新発田市

Grub takes very long (several minutes) to open Menu (in Multi-Boot-System)