浏览器中的记住Activex控件,这是web的最大错误
发布日期:2012-11-01 作者:木风雨林 来源:http://www.olzp.com浏览器中的记住Activex控件,这是web的最大错误
internet Explorer的Activex控件于1996年推出,对网络来说是个坏主意。它们引起了严重的安全问题,并协助巩固了win上internet Explorer的优势,这导致Firefox之前的web停滞。
●什么是Activex控件?
Activex控件是一种可以嵌入到其他应用程序中的程序。Microsoft将它们用于各种目的-例如,你可以将Activex控件嵌入Microsoft office文档中。但是,在这里,你们专注于web上的Activex。从1996年的internet Explorer 3.0开始,Microsoft允许web开发人员在其网页中嵌入Activex控件。
那时,当你访问网页时,internet Explorer会提示你下载并运行该网页指定的任何Activex控件。
流行的internet Explorer插件(如Adobe Flash,Adobe shockwave,Realplayer,Apple QuickTime和win Media player)是使用Activex控件实现的。
●安全从一开始便是一个问题
90年代是不同的时期,这也给你们带来 了office文档中危险的宏。最初,Activex控件与计算机上的任何其他程序一样。启动Activex控件时,它具有对计算机上所有内容的完全访问权限。
换句话说,你或许会在internet Explorer中访问网页并看到提示,指出该网页要运行游戏或其他程序。如果你同意,Activex控件将能够对计算机上的所有文件和程序执行其所需的任何操作。很简单看出这对于恶意软件是多么理想。
这与sun的Java技术形成了鲜明的对比。当时,Java还用于在web浏览器中的web页面上运行程序。但是,Java试图通过使用沙箱来限制这些程序可以做什么。web浏览器中的Java最终具有悠久的安全漏洞历史-但至少Java试图限制应用程序可以做什么。
1997年的CnET文章反应了微软当时的态度:
微软安全网站上的一份声明说:“尽管Java沙箱具有高度的安全性,但它不允许用户在其计算机上下载并运行令人兴奋的多媒体游戏或其他功能齐全的程序。” “后果,用户或许但愿下载对计算机资源具有完全访问权限的代码。”
文章继续说明Microsoft包含了一个名为Authenticode的“问责制”系统。软件开发人员可以选择给他们的Activex控件加上数字签名,但这不是强制性的。如果创建签名的控件,则可以更轻易地跟踪创建恶意Activex控件的开发人员。
由于Microsoft最初依赖荣誉系统,因此很简单看出Activex怎么成为向internet Explorer用户提供恶意软件和间谍软件的流行方式。
●Activex是为旧网络设计的
曾经有一段时间,网络技术不是很强大。如果你需要比文本和图像更高级的功能(即使你只是想将视频嵌入网页中),则需要某种浏览器插件。
Activex专为当今世界而设计,你无法使用HTML,Javascript和其他现代技术来创建复杂的功能齐全的应用程序。
很多组织转向Activex控件向其网站添加功能。很多强化也在内部使用Activex控件将程序快速交付到其商用pC。当你使用internet Explorer访问这些网页之一时,它将提示你下载Activex控件,并且你将在运行该程序。
很好,很简单-太简单了。也许这将在一切都值得信赖的公司内部网络(intranet)上实现。但是在不受限制的网络上,这引起了许多问题。
●Activex是一个安全问题
从概念上讲,Activex有两个大的安全性问题。首先,恶意网站或许会提示你安装恶意Activex控件,internet Explorer用户非常简单同意该提示并进行安装。
其次,合法的Activex控件中的错误或许是一个问题。例如,如果你安装的Adobe Flash版本过旧,则恶意网站或许会利用该漏洞并获得对整个计算机的访问权限,因为Flash之类的Activex控件可以访问整个计算机。
实际上,这很重要,因为Activex控件通常没有自动升级系统。
伴随时间的推移,Microsoft不断加强安全配置,并增加了诸如“保护模式”和“正式保护模式”之类的额外保护。例如,internet Explorer有一个内置的过期Activex控件列表 ,它拒绝加载。internet Explorer在下载和加载Activex控件之前会提供其他警告。例如,引入了其他安全配置,这些配置使Activex控件的创建者可以将Activex控件限制为仅在某些网站上运行。
例子:微软的网站曾经需要一个Akamai的“下载管理器” Activex控件来下载某些文件。此下载管理器需要完全访问你的整个计算机,当然,它只能在internet Explorer中运行。毫不奇怪,此download Manager程序具有其自身的安全漏洞。这听起来真的是一个很好的下载文件的处理方案,而不仅仅是依靠你的web浏览器的内置文件下载器吗?
●Activex控件不是跨平台的
Activex是一项Microsoft技术,在win的internet Explorer中运行得最佳。有一些插件增加了对竞争浏览器的支持,例如netscape navigator(Mozilla Firefox的始祖),但实际上所有这些都是相关internet Explorer的。
从技术上讲,Activex是跨平台的。Microsoft向Mac的internet Explorer添加了Activex支持。但是,与Java(跨平台)不同,为win编写的Activex控件在Mac上不起作用。开发人员必须为Mac创建Activex控件。
例如,韩国对Activex控件进行了标准化,该控件是90年代访问安全的金融和政府网站所必需的。它直到2020年才完全关上,并且对Activex的依赖迫使人们长时间使用该古老的过时技术。正如华盛顿邮报曾经写道,“韩国[是]坚持与internet Explorer网上购物”在2013年的文章教程了Mac用户怎么不得不依靠在他们的办公室台式电脑,网吧,旧电脑,或新兵训练营,以在线购买。
这种处境在其他地方也以类似的方式出现:在Activex上进行标准化以交付内部应用程序的公司不得不依赖win上的internet Explorer,直到他们将Activex抛在后面。
●现代网络怎么变得更好
从安全角度来看,现代网络要好得多。加载网页时,你的web浏览器会在其自己的隔离沙箱中加载并运行该网页。网络浏览器不依赖Activex,Java,Flash或运行部分网页的任何其他类型的第三方程序。
网站无法提供完全访问你计算机上所有内容的代码,例如,如果不下载完全在win浏览器外部运行的ExE文件,则无法实现。
你的web浏览器会自动进行自我升级,因此不会像Activex那样存在遗留古老代码的处境,并且无需获取安全补丁直接保持网页的可访问性。
在2020年底完全废除web技术之前,甚至Flash内容也比Activex更安全。例如,谷歌浏览器在沙盒中运行Flash。恶意的Flash小程序必须使用一个漏洞来逃脱Adobe Flash本身中的沙箱,然后使用另一个漏洞来逃避Google Chrome中的插件沙箱才能完全访问计算机。
当然,现代网络是跨平台的。你可以在任何喜爱的平台上使用选择的任何浏览器。你不会在win上使用internet Explorer,因为你使用的网站需要仅在该浏览器中的win上才能使用的Activex控件。
并且可以肯定,你安装的大多数浏览器扩展程序都可以访问你在web浏览器中执行的所有操作-但至少它们不能访问你的整个计算机。
●win 7上的Activex控件
到2021年,win 7的现代版本仍支持Activex控件。但是,你必须使用旧版internet Explorer 11浏览器,但Microsoft Edge不支持Activex控件。
今天,一些强化和其他组织仍在使用Activex控件,因此Microsoft尚未删除对它的支持。