关于信息安全和安全漏洞的一些科普——从支付宝控件漏洞谈起

来源:百度文库 编辑:神马文学网 时间:2024/04/20 06:46:06
文档维护:tombkeeper[Base64Decode("dG9tYmtlZXBlckB4Zm9jdXMub3Jn")]
文档出处:http://hi.baidu.com/tombkeeper
文档创建:2007年02月10日
最后更改:2007年02月10日
支付宝漏洞事件出现后,我看到了很多网友对这件事情的评论。看了这些评论,我明白了一件事情:虽然谁都不希望自己成为病毒木马的受害者,谁都不希望自己的QQ号被偷走,不希望自己网游里的装备消失,不希望自己银行里的存款消失,不希望自己的聊天记录被人窃取,不希望自己的私生活被别人通过摄像头窥探甚至公布到互联网上成为“真人秀”,但是,很多人并不明白上面这些到底是怎么发生的,不明白安全漏洞意味着什么,不知道安全漏洞和自己有什么关系。所以我觉得有必要写这样一篇科普文章,作为《支付宝控件漏洞——到底是谁在撒谎?》一文的补充。
大多数人对自己所使用的计算机并不了解——当然,这并不重要,大多数人也不知道是电子跃迁让灯泡发光。但是人们都知道电的危险,都知道如何安全用电。而知道计算机安全知识的人就少而又少了。
很多人都认为《地心末日》是一部烂片,不过其中有一段对白的确很有意思:
H:你能说多少种语言?
A:5种。
H:是吗?我只会一种。一、零、一、零、零。就靠这个,我可以窃取你的金钱,你的秘密,你的性取向,甚至你的一生。只要我想,不论何时何地都能做到。我们的力量是你所无法想象的。即使我努力,也无法做到象你那么迟钝的思考。
上面说的略显夸张,却基本属实。可惜很多人并不知道这种危险,就像很多人都不知道牛皮癣和白癜风其实都不传染一样。
我是学医出身,以前经常给病人家属发健康宣传册。也希望自己写的这些文章能起到健康宣传册的作用。
1、安全漏洞是怎么回事?木马是怎么回事?
从理论上说,安全漏洞就是软件中存在的意外功能分枝,通过安全漏洞,可以让软件做软件设计人员意想不到的事情。譬如Windows 2000里的mrinfo程序,原本是一个网络小工具,但是由于存在溢出,所以我们可以利用它来锁屏,或者其它任何事:
http://blog.xfocus.net/index.php?op=ViewArticle&articleId=1772&blogId=9
支付宝控件原本的设计功能是加密通信,保护用户的通信安全,但是由于存在安全漏洞,也可以被利用来执行任何功能,譬如运行一个盗取银行帐号的木马。
“木马”是特洛伊木马的简称,英文是Trojan Horse。有兴趣可以翻翻希腊神话中特洛伊战争这一段。现在我们通常用“木马”这个词来指那些不怀好意的软件。譬如那些盗号程序、后门程序等等。
木马要想在用户的计算机上运行,一个主要的手段就是利用安全漏洞。
通俗地说,有安全漏洞的软件就好比窗户上没插销的房子,而木马就好比小偷。如果你装了一扇没有插销的窗户,小偷就很容易进来。
2、支付宝控件现在到底有没有漏洞,安不安全?
1.0.0.7版,也就是2007年2月8日之前安装的支付宝控件是有漏洞的,不安全的,可以被人利用来控制你的系统的。
而2007年2月8日支付宝升级了控件,修复了上述漏洞。如果你不能确定自己的支付宝是否升级到了最新,请下载安装这个最新版本:
http://img.alipay.com/download/1009/aliedit.exe
3、支付宝控件漏洞对我有什么影响?是不是用支付宝有危险?
举个例子,就在刚才,就在我写这篇文章的过程中,一个朋友找到我,说他的网站被“挂马”了,让我帮助清除。
所谓“挂马”,就是入侵网站,修改网站的页面,在页面里放置恶意代码。凡是访问了该网站的用户,就可能被安装上木马。这种可以入侵网站访问者的恶意代码通常就是利用了某种漏洞。譬如,刚才清除的这个“挂马”利用的就是微软新出的VML控件漏洞。漏洞类型和支付宝控件漏洞是一样的。如果你的机器存在这个VML漏洞,那么就会被这个“挂马”装上灰鸽子后门、网游盗号工具等等一堆的木马。
只要你的机器有VML控件漏洞,那么只要访问了这种“挂马”的网站就被被入侵,而不论这个“挂马”的网站是微软的,还是新浪的。
同样道理,只要安装了有漏洞的控件,不管你用不用支付宝,是否登陆支付宝,都会受到漏洞的威胁。因为任何网页都可以通过放置特殊的代码来调用这个控件。但是用支付宝服务本身反而并不会有危险——因为我相信支付宝网站本身并不会包含这种恶意代码。
4、支付宝出了这么严重的安全漏洞,我还应该继续用它么?
每个软件都会有安全漏洞,上面提到的VML漏洞就是Windows的漏洞,你是否会因此而不用Windows呢?我也是支付宝用户,我会继续用下去。
5、最新版本的支付宝控件是不是就没有漏洞了?
可以肯定地说:最新版本的支付宝控件没有上面提到的这个漏洞。如果你升级到最新版本的支付宝控件,就不受这个漏洞的影响。但是任何人都不可能保证某个软件完全没有任何漏洞。不管是软件作者,还是某个权威机构。
我在《支付宝控件漏洞——到底是谁在撒谎?》提到最新版本支付宝控件仍然存在问题,不过那个只能引起IE崩溃,不能利用来入侵用户的电脑。
6、既然每个软件都可能有漏洞,那怎么防止中木马和病毒呢?
说实话,这不是几句话能说清楚的,甚至我把这篇文章所有的篇幅都用来说这个问题也不行。
不过有个简单而又有效的建议:尽量不用IE浏览器,改用firefox或者opera(声明:我不是firefox或者opera的托儿)。只在必须用IE的时候才用。譬如登陆网上银行。还有一点:尽可能不要从国内的软件下载站点下载软件。
7、病毒木马我都不怕,装杀毒软件不就行了么?
目前所有杀毒软件主要的工作原理都是基于特征识别。什么叫特征识别呢?通俗来说,就是掌握一份坏人的花名册,根据花名册去找。如果这个病毒或者木马刚刚被写出来,还没有“案底”,不在花名册上,杀毒软件就识别不出来。
某些杀毒软件虽然也有些不依赖于花名册的高级识别功能,但是这种功能并不百分之百可靠。更何况,现在的病毒木马作者,在写完程序后,都会先用杀毒软件测试一下,确认不会被检测出来才放出去。
那么杀毒软件岂不是没用了么?不是。各种杀毒软件就像各种避孕措施一样,能帮你解决大多数的麻烦,但不能指望它百分之百可靠。
8、那些人为什么要写木马?为什么要利用漏洞“挂马”?
是为了钱。这一点,我在“木秀于林,风必摧之”一文中说的很清楚,大家看看里面那张图就明白了:
http://hi.baidu.com/tombkeeper/blog/item/f6576a31e20f0319ebc4af94.htm
9、你是不是腾讯的托儿?
我在《支付宝控件漏洞——到底是谁在撒谎?》中提到“除了腾讯,国内的公司我还没见到几家愿意诚实地发布自己产品安全公告的”,于是有人就认为我是腾讯的托儿。记得鲁迅先生当年曾被人诬陷“拿卢布”,今天如果有人说我“拿Q币”其实还真是件挺荣幸的事情。可惜我不但没有拿,而且每个月还给腾讯贡献10块钱的会员费。由于中国人“家丑不可外扬”的传统,能做到“诚实地发布自己产品安全公告”的企业在国内就真的是凤毛鳞角,而腾讯是其中之一,这个事实是无法否认的:
http://security.qq.com/affiche/
10、漏洞这么有害,为什么要公布,为什么要发公告?这不是害人么?
这一点是安全研究人员最容易被人误解的地方。
漏洞并不因为不公布就不存在。如果漏洞没有被一个正直的安全研究人员发现,而是被那些“挂马”的人发现,他们的确不会公布,他们会偷偷用来往用户的机器上安装木马,盗取账号。如果真的发生这种事,无论对支付宝用户,还是对阿里巴巴,都是灾难性的。
而如果软件提供者不发布安全公告而只是偷偷升级,那么会有很多用户不知道自己正在用的软件有问题,而并不去注意自己是否升级了。
大家可以想象一下如果微软从不发布安全公告会是怎样的情况。
这次支付宝控件的漏洞并不是什么太难发现的问题,而是非常容易被找出来的。居然在接近一年的时间里没有被坏人首先发现并利用(这一点我并不确定),实在是不幸中的万幸。
11、你为什么要写这些文章?你和阿里巴巴有仇么?是为了出名么?
完全没有。我既是腾讯的用户,也是支付宝的用户。我对阿里巴巴取得的成功十分敬仰,对马云先生的智慧和商业才能十分敬佩。
虽然我是一个民族主义者,但实事求是地说,日本人有一大优点,就是人人都有很强的职业荣誉感。即使只是一个看锅炉的,也会努力做最好的锅炉工,并且因为自己的工作让大家得到了温暖,会很自豪。并且不容这种职业尊严受到冒犯。
作为安全研究人员,我们也有自己的荣誉和尊严。这一点,并不指望所有人都能理解。但是我们既没有去黑站挂马,也没有写病毒偷帐号,而是用无数个不眠之夜去探索未知,去帮助完善这个未来大家都会生活在其中CyberSpace,我们不怕孤独和默默无闻,但所得到的至少不应该是诬蔑和责难。虽然阿里巴巴在这件事情的处理上一直采取不正确的态度,但是如果没有搞出“专家检测结果显示支付宝安全”那一套,赤裸裸地向安全研究社区挑衅,我也许不会用这种激烈的方式来表达我的态度。
以前看X档案,Fox Mulder说的“The truth is out there.”这句话给我留下了十分深刻的印象。也成为我的一个重要处世原则。我想,既然我们这些人凑巧懂点技术,那么揭穿那些谎言和伪装,让不明就里的人们看到事实真相,就是我们的责任和义务,这也是hacker精神中很重要的一部分。
所以早在2004年7月20日,我曾经署名“2f4f587a80c2dbbd870a46481b2b1882”,写了“谁控制了我们的浏览器?”一文(这篇文章流传甚广,用google搜上面这串值就能找到),揭露当时刚刚出现的运营商级别的浏览器劫持行为。(文章末尾有5个MD5,第一个对应的MyName是hellokitty,MyCount是1999。)如果为了出名,当时就不会匿名了。
安全研究的圈子很小,大伙基本上互相都认识,不存在出名不出名这回事。如果要在安全圈子之外出名,最好的办法是在长安街裸奔,搞行为艺术,保证上新浪首页。写这种文章是出不了名的。
12、什么是黑客?你说的hacker精神是什么?
就像天主教和洪秀全的“拜上帝会”一样,很多东西到了中国之后都会变味儿。所以我宁可认为hacker和黑客是两个意义完全不同的词,就像我认为Expert和“专家”是两个完全不同的词一样。
在中国媒体和老百姓的概念里,黑客这个词指的是那些修改别人主页的人,是偷QQ号的人,是“少年黑客”,“天才少年黑客”,“17岁天才少年黑客”,“硕士黑客”等等这些可笑的,充满噱头的东西。
本来“小姐”是个挺好的词儿,譬如说“莺莺小姐”、“香港小姐”,这些都是很美好的事物。后来人们把一些跟“小姐”两个字完全扯不上关系的的人也称为“小姐”,渐渐小姐就变味了。以前我们去饭店吃饭,吃完了,就喊“服务员,结帐”,后来喊“小姐,买单”,而现在又变回了喊“服务员”。为什么不喊“小姐”了呢,因为小姐的词义变化了。要尊重别人,不能喊“小姐”。
所以,要尊重别人,不能乱喊人黑客。
如果你想知道什么是hacker,想了解hacker的历史,我推荐这三份文档:
http://www.aka.org.cn/Docs/hacker-howto_2001.html
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/zh_cn/security-guide/ch-sgs-ov.html
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/zh_cn/security-guide/ch-risk.html
(再次声明:我不是redhat的托儿,没有推销Red Hat Enterprise Linux的意思。)