为什么说基于ActiveX的「安全控件」一定是不安全的?
前几天听 bugs 说,国内某C2C网站打算这个月开始禁止Firefox用户登录其网站,而说到原因,又是「出于用户安全考虑」,「Firefox无法支持其‘安全控件’」云云。
我没用过这家公司的服务,因此我也不想就这家公司发表什么评论。我觉得很有意思的一件事是,似乎大家都很信任所谓「安全控件」。
那么,什么是「安全」控件呢?简单地说,这类控件是由特定商家发布的,基于ActiveX技术实现的一种Internet Explorer插件。尽管不同的公司会以不同的方式进行实现,但这类插件通常会实现的功能,不外乎以下几种:
- 替代输入框,防止其他程序通过hook的方式得到输入框中的内容。
- 以更直接的方式从键盘读取数据,防止非本机键盘输入数据和其他程序监听键盘输入。
- 确保内存中没有某些应用程序正在运行。
很遗憾,「安全控件」往往并不能理想地达到上述目的。更有甚者,事实上这些控件几乎一定会破坏系统的安全性。