ActiveX

ActiveX（アクティブエックス）とは、マイクロソフトが開発するインターネットに関するソフトウェアコンポーネントやその技術を示す用語である。一般的には同社製のウェブブラウザであるInternet Explorerやそのコンポーネントを利用したソフトウェア上で動的なコンテンツを再生するための技術（ActiveXコントロール）を指す。JavaScriptやHTML5/CSS3といった標準規格の普及によって2015年現在では当たり前となった、RIA (リッチインターネットアプリケーション) を実現するための技術の先駆けとも言える。

元々はマイクロソフトがオブジェクトのやりとりを行う仕組みであるObject Linking and Embedding (OLE) からインターネットに関する技術を分離させたものがActiveXにあたる。

 ActiveXコントロール 
開発者を除いたエンドユーザーの間では、ActiveXといえば大抵の場合、ActiveXコントロールを指していることが多い。ActiveXコントロールの例としては、Microsoft Update、Internet Explorer版Adobe FlashやAdobe Shockwave、QuickTime、楽天Edy、公的個人認証サービスシステムなどが挙げられ、Internet Explorerでそれらのサービスやコンテンツを利用するためのプラグインとして利用されることが多い。

Windowsのプログラミングインターフェイスを直接利用できる設計となっているため、クロスプラットフォーム設計のブラウザに搭載されている同様の技術よりもプラグイン開発の自由度が非常に高く、ファイルシステムやハードウェアも含めたWindows搭載コンピュータのほぼ全ての機能に直接的なアクセスを提供するコードを作成することが可能である。そのため、クラウドベースのメンテナンスサービスやスマートカードを用いたユーザー認証システムなどに多用されており、ウイルス駆除サービスや税務システムなどの高度なセキュリティを要求される分野での利用も多く見られる。

Internet Explorer以外のウェブブラウザに関しては、ActiveXは標準サポートされていない。Windows版のMozillaでは「Mozilla ActiveX Controls」というプラグインを利用すればActiveXコントロールを使ってGeckoをソフトウェアへと組み込むことができた。Firefoxには「ActiveX Hosting plugin for Firefox」というプラグインが存在する。Google Chromeには「ActiveX for Chrome」というプラグインが存在する。その他、IE Tabを使用し、IEコンポーネントを他のブラウザでホスティングすることでActiveXを利用する方法もある。また、WindowsのみならずMac OSで動作するInternet Explorer for Macでも利用できた。

 問題 
 ブラウザ依存 
ActiveXコントロールを採用するサイトは、Internet Explorerもしくは前述のプラグインを導入したブラウザ以外では利用できない。

ActiveXを多用する企業や官公庁は、特に日本e-Gov電子申請システム動作確認環境や韓国に多く、韓国の官公庁や企業では、128ビット暗号化にSSLを採用せず、独自のActiveXアプリ（Xecureweb等）を採用しており、官公庁や金融機関やインターネットショッピングなどに積極的に採用されている。そのため、Microsoft WindowsとInternet Explorerとの組み合わせに依存した形となっている。また、ActiveXを使った暗号化により、後述のセキュリティ問題があるという事も否めない。詳しくは韓国のインターネット#問題点を参照。

 セキュリティ 
ウェブページの表示に変化を与えたり、インタラクティブ性を提供したり、コンピュータ本体や周辺機器のハードウェア機能にWebブラウザから直接アクセスする手段を提供したりすることで、ウェブサイトを閲覧する楽しさや利便性を飛躍的に向上させる。しかし、Windows Vistaよりも前のバージョンのOSでは、ActiveXコントロールの動作に制限が掛けられていないために、コンピュータセキュリティ上、しばしば問題になっているActiveX／プラグインについて｜イチからはじめるセキュリティー｜eoセキュリティーインフォメーションBlogs - Japan IE Support Team Blog - Site Home - TechNet Blogs（同様の技術であるJavaアプレットでは、サンドボックス機構により、動作範囲は厳しく制限される）。

例えば、シマンテックやトレンドマイクロのオンラインウイルススキャンサービスからわかるように、ActiveXコントロールを用いれば、現在ログオンしているユーザーがアクセスできるコンピュータ内のファイル全てに自由にアクセスできる。したがって、マルウェアとして動作するような、悪意のあるActiveXコントロールがユーザーのファイルに不正アクセスし、情報を盗み取ることも可能である。ActiveXコントロールのインストールは、セキュリティーホールにもなるので、充分気をつけなくてはならない。

 対策 
ActiveXコントロールに、ベンダーがデジタル署名を付与MSDN Web Development Developer Center: Authenticodeすることで、それが第三者によって改変されていないかをユーザーが確認できる。署名の検証ができないActiveXコントロールを避けることで、正当なActiveXコントロールに似せた、偽のコントロールを導入してしまうリスクを低減することができる。

なお、デジタル署名はあくまでもオリジナルとの同一性を証明するものであり、ベンダーが偶然ないしは故意に危険なコードを実装することで、危害を与えることは可能である。ActiveXコントロールのセキュリティホールを攻撃する不正なデータを受信することで被害を受ける可能性が多数指摘されているWindows Media Player プラグインの脆弱性により、リモートでコードが実行される (911564) (MS06-006)Macromedia - APSB06-03: Flash Player Update to Address Security Vulnerabilities。

また、Windows XP Service Pack 2以降は初期設定で ActiveXコントロールのインストールやダウンロードを自動的にブロックして情報バーでその旨を通知するようになっている。Internet Explorer 7ではActiveXコントロールの機能を実装した上で、標準設定では無効とされている。Windows Vistaでは、ActiveXコントロールはより低い権限で実行し、アクセス可能な範囲を極力狭める機構が導入されたセキュリティ対策の要点解説 第 20 回 Windows Vista のセキュリティ機能 ～ Internet Explorerの保護モード ～。また、2015年にリリースされたWindows 10に含まれる新ブラウザMicrosoft EdgeではActiveXやVBScriptなどの「古いIE技術」が削除され、サポート外となった。

 その他のActiveX技術 
Microsoft は ActiveX を利用した様々な製品を開発し、その多くは2015年現在においても利用されている。
 ActiveX Data Objects
 Active Server Pages
 DirectShow
 Collaboration Data Objects
 Active Scripting
 Advanced Systems Format

 脚注 

 関連項目 
 Component Object Model
 Internet Explorer
 Microsoft Update
 Windows Presentation Foundation
 Silverlight

ActiveX
Category:ウェブ技術
Category:マイクロソフトのAPI