测试是技术精进后的一门艺术~~~

安全测试初体验并盼大牛指教

上一篇 / 下一篇  2010-08-18 22:42:19 / 个人分类:安全测试

最近因为项目原因,突然要做些安全测试工作了。本着革命螺丝钉的精神,老板说哪需要俺就哪钉去,嘿嘿。
胡乱看了一圈,把自己一些看法记到这吧,和大家一块分享,也希望有经验的前辈指教。
一、推荐安全开发方面的书
《Writing Secure Code》 
作者 Michael Howard 和 David LeBlanc
《The Security Development Lifecycle: SDL: A Process for Developing Demonstrably More Secure Software》
作者 Michael Howard 和 Steve Lipner
看了这两本书,应该对安全概念有很深的了解了。
二、几个有用的网站
可以订一份邮件,这样就能了解当前黑客们关心的问题了。而且可以了解到许多工具。
看雪论坛,国内一个比较火的安全论坛
其他一些网址
三、软件安全测试
安全测试犹如守城战斗。潜在的黑客可能利用你产品中存在的任意漏洞或缺陷发动对产品的攻击,而你的目的就是要在产品发布之前,在黑客可能攻击之前发觉系统中的短板。
产品的威胁主要分为STRIDE,威胁的排序可以按照DREAD打分进行。
测试的展开最重要的部分就是Threat Model,即威胁建模。针对产品架构,分析哪些是产品的入口,会引入哪些威胁。针对建模好的威胁模型开展测试。
测试方法一般有三种:a)验证实现中的安全功能,包括代码评审;b)Fuzz Testing; c) Pen Testing。
四、 Fuzz Testing
模糊测试犹如一通乱拳,对产品的接口给予随机的输入,旨在发现产品中没有考虑到的缺陷或漏洞。随机的输入可能包括随机的文件内容,随机的接口参数,或者随机的网络包。随机的算法可以有不考虑指导的傻瓜式随机,也能采用具有一定智能型的随机生成方法。随机的规模一般在10万次。
五、 Pen Testing
渗透测试可以说就是测试人员模拟黑客,在产品交付使用前按照产品的正常部署,对产品进行黑客攻击。其测试结果用于评估产品在安全方面的综合指标。
渗透测试需要首先对产品使用工具进行扫描,发现漏洞。然后分析漏洞,甚至利用漏洞。如果产品存在能被利用的漏洞,说明产品在这一方面的安全是不足的。一个用于Web渗透测试的Linux发布是Samurai,基于Ubuntu,预装了许多用于Hacking的工具,这样就省了一个一个去寻找工具并下载安装。

初涉安全领域,发现这方面的讨论还是相对较少。希望51testing上面有大牛给大家多多分享自己的经验。


TAG: 安全测试

 

评分:0

我来说两句

Open Toolbar