\r\n\r\n
1996年に導入されたInternet ExplorerのActiveXコントロールは、Webにとって悪いアイデアだった。これらは深刻なセキュリティ問題を引き起こし、WindowsにおけるInternet Explorerの優位性を確固たるものにし、Firefox以前のWebの停滞を招いた。
ActiveXコントロールは、他のアプリケーションに埋め込むことができるプログラムで、マイクロソフトでは、Microsoft Office文書にActiveXコントロールを埋め込むなど、さまざまな用途で使われています。1996年のInternet Explorer 3.0から、Microsoft社はWeb開発者がWebページにActiveXコントロールを埋め込むことを可能にした。
Webページにアクセスすると、Internet Explorerは、ページで指定されたActiveXコントロールをダウンロードして実行するように促します。
Internet Explorerで人気のプラグイン(Adobe Flash、Adobe Shockwave、RealPlayer、Apple QuickTime、Windows Media Playerなど)は、ActiveXコントロールを使って実装されています。
関連:ActiveXコントロールとは何か、なぜ危険なのか?
1990年代は時代が変わり、Office文書に危険なマクロが登場した時代でもあります。当初、ActiveXコントロールは、コンピュータ上の他のプログラムと同じだった。ActiveXコントロールが起動すると、コンピュータ上のあらゆるものにアクセスできるようになった。
つまり、Internet ExplorerでWebページにアクセスすると、そのページでゲームなどのプログラムを実行する旨のプロンプトが表示されることがあります。同意すると、ActiveXコントロールは、あなたのコンピューター上のすべてのファイルやプログラムに対して任意のアクションを実行できるようになります。マルウェアに最適であることは容易に想像がつきます。
これは、サンのJava技術とは対照的である。当時、JavaはWebブラウザーの中でWebページ上のプログラムを実行するためにも使われていた。しかし、Javaはサンドボックスの使用により、これらのプログラムの機能を制限しようとした。Javaのウェブブラウザは結局、セキュリティ上の欠陥の長い歴史を持っていたが、少なくともJavaはアプリケーションの機能を制限しようとしたのである。
1997年のCNETの記事には、当時のマイクロソフトの態度が書かれている。
マイクロソフト社のセキュリティサイトには、「Javaのサンドボックスは高度なセキュリティを強制するが、ユーザーがエキサイティングなマルチメディアゲームやその他のフル機能のプログラムを自分のコンピュータにダウンロードして実行することはできない」という声明が掲載されている。"その結果、ユーザーは自分のコンピュータのリソースに完全にアクセスできるコードをダウンロードしたいと思うかもしれません。"
この記事では、マイクロソフトがAuthenticodeという「説明責任」システムを搭載していることを説明しています。ソフトウェア開発者は、ActiveXコントロールにデジタル署名することを選択できますが、これは必須ではありません。悪意のあるActiveXコントロールを作成した開発者は、そのコントロールに署名することを選択すれば、より簡単に発見することができます。
マイクロソフトが当初、優等生的なシステムに頼っていたため、ActiveXがinternetexplorerのユーザーにマルウェアやスパイウェアを配信する手段として人気を博したことは容易に想像がつくだろう。
関連記事:なぜ多くのギークがIEを憎むのか?
Webの技術があまり強力でなかった時代もありました。テキストや画像よりも高度なものを求めるなら、たとえウェブページに動画を埋め込むだけでも、何らかのブラウザープラグインが必要でした。
ActiveXは、現在のようにHTMLやJavaScriptなどの最新技術を使って複雑で高機能なアプリケーションを作ることができない世界のために設計されました。
多くの組織では、Webサイトに機能を追加するためにActiveXコントロールを使っています。また、多くの企業が社内でActiveXコントロールを使用して、会社のPCに素早くプログラムを配信しており、Internet Explorerを使ってこれらのページにアクセスすると、ActiveXコントロールをダウンロードするように促され、プログラムを実行することができます。
いい加減にしてほしい。おそらくこれは、すべてが信頼できる企業内ネットワーク(イントラネット)で実現されるでしょう。しかし、制御されていないネットワークでは、これは多くの問題を引き起こします。
概念的には、ActiveXのセキュリティ上の問題点は大きく2つあります。まず、悪意のあるWebサイトでは、悪意のあるActiveXコントロールのインストールを促されることがあり、Internet Explorerのユーザーはこのプロンプトに同意して簡単にインストールすることができます。
次に、正規のActiveXコントロールのエラーが問題になることがあります。例えば、古いバージョンのadobeflashをインストールしている場合、FlashのようなActiveXコントロールはコンピュータ全体にアクセスできるため、悪意のあるウェブサイトはそれを利用してコンピュータ全体にアクセスする可能性があります。
ActiveXコントロールは通常、自動的にシステムを更新しないので、これは本当に大きな問題です。
その後、マイクロソフトはセキュリティ設定を強化し、「プロテクトモード」や「拡張プロテクトモード」といった保護機能を追加してきました。例えば、Internet Explorerには、読み込みを拒否する古いActiveXコントロールのリストが組み込まれており、Internet ExplorerはActiveXコントロールをダウンロードし、読み込む前に追加の警告を提供します。その他、ActiveXコントロールの作成者が、ActiveXコントロールを特定のWebサイトでのみ実行するように制限するためのセキュリティ設定も導入されています。
例:マイクロソフト社のウェブサイトでは、特定のファイルをダウンロードするためにアカマイの「ダウンロード・マネージャー」ActiveX コントロールが必要でした。このダウンロードマネージャーは、あなたのコンピュータ全体へのフルアクセスを必要とし、もちろんInternet Explorerでしか動作しません。当然のことながら、このダウンロード・マネージャーにはセキュリティ上の脆弱性があります。ウェブブラウザに内蔵されたファイルダウンローダーに頼るのではなく、本当にファイルをダウンロードするための良い解決策になると思われますか?
ActiveXはマイクロソフトの技術で、Windowsのinternetexplorerで最もよく機能する。Netscape Navigator(Mozilla Firefoxの前身)など、競合するブラウザのサポートを追加するプラグインもありますが、実質的にはinternetexplorerに軍配が上がりますね。
技術的には、ActiveXはクロスプラットフォームであり、MicrosoftはMac用のInternet ExplorerにActiveXのサポートを追加しています。しかし、クロスプラットフォームであるJavaと異なり、Windows用に書かれたActiveXコントロールはMacでは動作しません。開発者はMac用のActiveXコントロールを作らなければならない。
例えば、韓国では、1990年代に安全な金融および**ウェブサイトにアクセスするために必要なActiveXコントロールを標準化し、2020年まで完全に停止しませんでした。ActiveXへの依存により、この古くて時代遅れの技術を長年にわたって使用しなければなりませんでした。かつて*****(ワシントンポスト)が書いたように、2013年には「韓国は(ネットショッピングに)internetexplorerを使っていた」のである。この記事では、Macユーザーがオンラインショッピングをするために、オフィスやサイバーカフェ、古いコンピュータやブートキャンプにあるデスクトップコンピュータに依存していることについて説明しています。
社内アプリケーションをActiveXで統一していた企業は、ActiveXがなくなるまでWindowsのinternetexplorerに頼っていたのですから、状況は他でも同じです。
セキュリティの観点からは、現代のウェブの方がはるかに優れています。ウェブページを読み込むと、ウェブブラウザは独自の独立したサンドボックスでページを読み込み、実行します。ウェブブラウザは、ウェブページの一部を実行するためにActiveX、Java、Flash、その他のタイプのサードパーティ製プログラムに依存しません。
Windowsブラウザの外で完全に動作するEXEファイルをダウンロードしなければ、ウェブサイトがコンピュータ上のすべてのコンテンツのコードに完全にアクセスできるようにすることは不可能である。
Webブラウザは自動的に更新されるので、ActiveXのように古いコードをページに残し、セキュリティパッチなしにアクセス可能な状態を維持することはない。
Flashコンテンツであっても、FlashがWeb技術に完全に置き換わる2020年末までは、ActiveXよりも安全性が高いと言えます。例えば、googlechromeはFlashをサンドボックスで実行します。悪意のあるFlashアプレットは、adobeflash自体のサンドボックスを逃れるための欠陥を利用し、さらに別の欠陥を使ってgooglechromeのプラグインのサンドボックスを逃れなければ、コンピュータに完全にアクセスすることはできません。
現代のWebは、もちろんクロスプラットフォームです。好きなプラットフォームで、好きなブラウザを使うことができます。Windowsでinternetexplorerを使用することは、使用しているウェブサイトが、あるブラウザでWindowsでしか動作しないActiveXコントロールを必要とするため、難しいことではありません。
もちろん、インストールしたほとんどのブラウザ拡張機能は、あなたがウェブブラウザで実行するすべてのアクションにアクセスできますが、少なくともあなたのコンピュータ全体にアクセスできるわけではありません。
関連:ブラウザの拡張機能があなたの銀行口座を覗き見していることをご存知ですか?
2021年までに、Windows 10の最新バージョンはまだActiveXコントロールをサポートしています。レガシーブラウザであるInternet Explorer 11を使用する必要がありますが、Microsoft EdgeはActiveXコントロールに対応していません。
現在でも、企業やその他の組織でActiveXコントロールを使用しているところがあるので、マイクロソフトはまだサポートを終了していない。
関連記事:Adobeflash is dead: What does it mean?