总结Twitter蠕虫事件 学习五条安全经验
创始人
2024-07-20 03:21:24
0

2010年8月14日,一名来自日本的软件开发人员正人鬼怒川报告在推特的自动网址链接功能中存在脚本漏洞。根据当时的报告,推特修复了这一问题,但在九月份服务升级后,该问题似乎又出现了。

综合测试覆盖率是开发人员用来确保代码质量的一种措施。这就意味着在测试驱动开发过程中,程序员必须在开始编写代码之前就建立好测试模式,然后才能编写代码来满足测试的要求。在实际工作中,不那么极端的测试覆盖率可能更常见,对于具体的开发项目来说,它们的效果或许更好。而对于推特代码库维护工作之类的重大项目来说,至少应用某些类型的测试覆盖措施是很重要的,尤其是在进行回归测试和对新代码进行检查以防止重新出现以前修复过的错误时。

通常情况下,以前的错误再次出现说明在版本控制方面的管理非常不到位。对于版本控制系统来说,防止以前的错误重新出现是最基本的功能。对于那些不了解其作用的人来说,版本控制软件就象一种经过高度优化的备份措施,可以在软件开发过程中进行消除可能导致问题出现的更新返回到原来版本,保证项目中的所有开发人员都了解最新的情况,合并不同独立分支开发导致的变化以及对补丁进行管理之类的工作。如果新代码与旧代码的合并方式不正确,就可能出现不同步的问题,从而导致以前的补丁出现问题,或者在版本控制过程中出现管理不善的情况,或者由于采用的是人工而不是自动化方式对版本进行控制,以前修复过的错误都可能很容易被重新引入新代码中。

鬼怒川发现同样的错误再次出现,于是就开发了一个概念工具,它可以将“tweets”或者推特信息以彩虹色显示出来。当时,他没有意识到这会成为严重的缺陷,但在其它人也了解到这一漏洞后,他们也开始利用相应模式了。不久以后,就出现了tweets开始自动回复任何将鼠标移动到链接上的用户的情况。它从一个简单的搞怪行为变成了病毒。很快,该漏洞已经进化到可以感应鼠标在浏览器网页内的全部活动了,现在,只要在浏览器窗口内出现鼠标就可能被病毒利用。

由于该病毒是直接针对推特网站处理网络地址的方式,所以并没有影响到RSS速递、第三方客户端以及利用其它方式而不是推特标准网络界面阅读和发送tweets信息的应用。

从这起事件中,我们应当得到几点很重要的教训:

1、对所有输入信息都要进行审核,在其它条件相同的情况下,坚持提供审核模式已经被证明总是有效的。

2、对输出信息进行详细检查,以确保它不会以在网络浏览器客户端里鼠标悬停效果之类令人惊讶的方式影响到最终用户。

3、在软件开发过程中应用版本控制措施,防止由于源代码管理不善出现的潜在错误。

4、采用自动化测试套件,防止出现回归和其它可能被开发人员忽略的错误。

5、不要低估已知漏洞可能带来的影响,尤其是在它落入可能比你更危险的人手里时间。

从自己犯下的错误中学习经验,永远是一个好主意。而从其它人的错误中学习,则是更好的主意,这样你自己就不会犯下同样的错误。

原文出处:http://security.zdnet.com.cn/security_zone/2011/0111/1985913.shtml

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...