安全测试重要性

上一篇 / 下一篇  2013-12-31 14:59:16 / 个人分类:测试用例设计方法

为了避免因为系统自身漏洞给客户,公司集团带来损失;为了数据安全;为了防范黑客而做的测试

在想尽一切办法确保(网站,系统)发布,尤其是想到如果不能按期发布就会有各种的不舒服。这时候往往会忽略安全测试

举个例子:-你在做一个投票系统。——我不是说美国偶像节目的投票(它们已经开始在线投票了),我是说投票选举一个市长。纸质选票可能看上去过时,不灵活,易被篡改,所以我们准备在线投票。

几年前,华盛顿州就做过这么一个在线投票系统。在2010年,开发团队把他们的成果提交给安全专家进行测试。然后,它在安全性测试中杯具地失败了。这个故事最近被提起,是因为政府官方文档才被公开。测试工程师们甚至没有使用过于复杂的手段,他们只是从外头看了看系统,做了一些试探,系统就被彻底KO了。以下是记录下来的细节:

在系统上线后的48小时内,我们就获取了对投票服务器的完全掌控,调查人员的报告最近曝光。我们成功改变了选票的结果,提取了几乎所有的加密投票结果。黑客们在两个工作日内就获得了这些成果——而这仅仅是开发者们给的尝鲜时间。

安全专家们在检查一些通常的脆弱点——比如登录,在线选票录入页面,文件操作,以及事务Cookie等时就发现了不少弱点。系统用的Linux内核有一些广为所知的漏洞。测试人员还通过系统自动生成的PDF文件破解了加密算法。黑客甚至通过未加密的摄像头看到各种选举设施的内部情况(希望没有三俗画面——译者)。开源代码的使用使得黑客的工作更加容易了,不过测试工程师认为即使所有的程序都由开发团队自己开发,攻击步伐也不会慢太多。

研究人员最后得出了结论:很难构建安全的投票系统。一个小的配置或部署错误就会破坏整个投票流程的安全性。即时他们不使用中央服务器这个显而易见的大攻击目标,系统中仍然会有许多攻击点留给黑客们享用。距离构建安全的投票系统还有漫长的路要走,有大量基础设施需要被改进。

这个案例就说明了安全测试,尤其是拥有安全专家的安全测试是如此重要。专业的程序员们创建了电子投票系统,但是那些系统在另有所图的人面前显得弱不禁风。

也许你的软件不会用于选出下一任美国总统,但是我们还是要防止黑客通过登录、文件访问等途径搞破坏。同时我们应该坐下来听听测试人员的建议——尽管有些建议不太中听,而且会让项目延期——因为一旦发布出去的系统有漏洞,那有可能对用户和公司信誉造成巨大的损失。


TAG:

brucehao的个人空间 引用 删除 brucehao   /   2014-01-06 14:26:21
赞同,不过需要定义安全测试有多深,要花多久。这样才能估计成本,提高效率。
 

评分:0

我来说两句

Open Toolbar