1、十三章-软件安全性测试,为什么有人想攻击计算机,(挑战成名)通常在一个社区里面有某些高手进入了某些号称安全性很高的系统里面,对于那个人的威望的树立是很有帮助的。而且这也是意见很有挑战性的事情。 (好奇)人就是这样子,你不让我看我非要看! (使用和借用)利用电脑传播病毒,或者干其他坏事。 (破坏)丑化,破坏,拒绝服务 (盗窃)偷取一些重要的资料,例如商业资料,客户资料,常见的攻击类型,1 SOL注入 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 2 修改提交数据 抓包已经提交数据并修改进行重发,导致提交数据者利益受损
2、,3 缓冲区溢出 缓冲区溢出已成为软件安全的头号公敌,许多实际中的安全问题都与它有关。造成缓冲区溢出问题通常有以下两种原因。设计空间的转换规则的校验问题。即缺乏对可测数据的校验,导致非法数据没有在外部输入层被检查出来并丢弃。非法数据进入接口层和实现层后,由于它超出了接口层和实现层的对应测试空间或设计空 间的范围,从而引起溢出。局部测试空间和设计空间不足。当合法数据进入后,由于程序实现层内对应的测试空间或设计空间不足,导致程序处理时出现溢出。,威胁模型分析过程,1.建立威胁模型分析小组。而且团队里面需要有一名资深的安全专家。在这个阶段主要集中在识别威胁,不是去解决威胁。 2.确认价值 。就是那些
3、对于黑客来说是有利用价值的部分。 3.建立体系结构,识别出不同的技术,认证授权方式之间的信任边界。 4.分解程序组件,看那些组件容易被攻击,或者很有可能受到攻击 5.确认威胁。 6.记录威胁。 7.对威胁进行评级 DREAD,A.Damage Potential (潜在损害)。威胁的潜在破坏,例如对硬件,财务上的破坏 B.Reproducibility (可反复性)。这个威胁是每次都能出现呢,还是只是尝试1w次才出现一次 C.Exploitability (可利用性)。可以危险是不是很容易就被利用了,还是需要高深的编程技巧 D.Affected Users (受影响用户)如果黑客入侵成功,将会
4、有多少用户受到威胁。 E.Discoverability (可发现性)这个威胁是不是很容易被发现,还是只有内部人员泄露才会被发现,使用安全字符串函数的好处,1每个函数将收目标缓冲的长度作为输入,避免缓冲区溢出 2函数空字符终止所有输出字符串 3所有函数返回一个NTSTATUS值,该值只有一个可能成功的代码 4每个都提供版本,计算机取证,计算机取证(Computer Forensics)在打击计算机和网络犯罪中作用十分关键,它的目的是要将犯罪者留在计算机中的“痕迹”作为有效的诉讼证据提供给法庭,以便将犯罪嫌疑人绳之以法。因此,计算机取证是计算机领域和法学领域的一门交叉科学,被用来解决大量的计算机犯罪和事故,包括网络入侵、盗用知识产权和网络欺骗等。,