软件安全概述与思.ppt

上传人:cn****1 文档编号:574339919 上传时间:2024-08-16 格式:PPT 页数:30 大小:4.33MB
返回 下载 相关 举报
软件安全概述与思.ppt_第1页
第1页 / 共30页
软件安全概述与思.ppt_第2页
第2页 / 共30页
软件安全概述与思.ppt_第3页
第3页 / 共30页
软件安全概述与思.ppt_第4页
第4页 / 共30页
软件安全概述与思.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《软件安全概述与思.ppt》由会员分享,可在线阅读,更多相关《软件安全概述与思.ppt(30页珍藏版)》请在金锄头文库上搜索。

1、软件安全概述与思考软件安全概述与思考吴超2009年4月1. 概述概述常见软件漏洞常见软件漏洞 (The OWASP Top 10 Vulnerabilities)1. Unvalidated Input2. Broken Access Control3. Broken Authentication and Session Management4. Cross Site Scripting (XSS) Flaws5. Buffer Overflows6. Injection Flaws7. Improper Error Handling8. Insecure Storage9. Denial o

2、f Service10.Insecure Configuration Management常见安全开发模式常见安全开发模式微软的安全开发生命周期微软的安全开发生命周期SDL, Security Development LifecycleGary McGraw提出的提出的“接触点模式接触点模式”代码审查(Code review) 架构风险分析(Architectural risk analysis ) 渗透测试(Penetration testing ) 基于风险的安全测试(Risk-based security tests ) 滥用用例(Abuse cases ) 安全需求(Security

3、requirements ) 安全操作(Security operations )渗透测试(penetration test) 安全工程师尽可能模拟黑客使用的漏洞发现技术和攻击手段,对目标网络/系统/主机/应用程序做深入的探测,以发现薄弱环节。模糊测试(Fuzz test) 向目标网络/系统/主机/应用程序发送畸形数据,看其是否出问题。BreakingPoint Systems: Metasploit Framework常常用安全测试安全测试安全信息披露与共享安全信息披露与共享CVE (Common Vulnerabilities & Exposures)CVE就好像是一个字典表,为广泛认同的

4、信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。http:/www.cve.mitre.org/OSVDB (Open Source Vulnerability Database) http:/en.wikipedia.org/wiki/OSVDB 2. 堆栈溢出堆栈溢出堆栈溢出漏洞根源 1、堆栈生长方向(由高到低)与字符串生长方向(由低到高)相反 2、 程序写入的数据超出了堆栈分配的数据边界,攻击者可以指定控制信息函数func (szShellCode) 参数入栈 : ebp 14h = 0x0012ff80 0x14 = 0x12FF6C调 call 后, 下一条指令地址(即返回地址

5、 )0040112C 入栈返回地址 0040112C 入栈上一个EBP入栈func初始堆栈szName入栈:ebp + 8 = 0x0012ff14 + 8 = 0x12FF1C而内存 12FF1C 12FF1F 中内容为:6C FF 12 00szBuf入栈:ebp - 8 = 0x0012ff14 - 8 = 0x12FF0C (因为 char szBuf8; 所以分配了8 Byte 空间)而szName 长度为长度为16 Byte, 所以拷贝后所以拷贝后返回地址返回地址2C 11 40 00 将被覆盖为将被覆盖为 80 10 40 00strcpy函数调用结束后,函数调用结束后, Sta

6、ck 内容被破坏,内容被破坏,返回地址被覆盖为返回地址被覆盖为 80 10 40 003. 思考思考软件安全问题的根源 指令与数据都放于同样的地方(RAM)破坏与构建的不对称破坏与构建的不对称 凝聚了多位大师几个月甚至几年努力,才制做出的国宝级瓷器 一只猴子都能在一瞬间把它打破攻击与防御的不对称攻击与防御的不对称安全模式到机器码运行区域的映射程序机器码运行轨迹的描述及确定安全模式机器码运行区域的映射strcpy:00401160 push edi00401161 mov edi,dword ptr esp+800401165 jmp copy_start (004011d1)copy_star

7、t:004011D1 mov ecx,dword ptr esp+0Ch004011D5 test ecx,3004011DB je main_loop_entrance (004011f6)main_loop:004011F1 mov dword ptr edi,edx004011F3 add edi,4main_loop_entrance:004011F6 mov edx,7EFEFEFFh004011FB mov eax,dword ptr ecx004011FD add edx,eax004011FF xor eax,0FFh00401202 xor eax,edx00401204 m

8、ov edx,dword ptr ecx00401206 add ecx,400401209 test eax,81010100h0040120E je main_loop (004011f1)strcpy 的汇编代码的汇编代码00401210 test dl,dl00401212 je byte_0 (00401248)00401214 test dh,dh00401216 je byte_1 (0040123f)00401218 test edx,0FF0000h0040121E je byte_2 (00401232)00401220 test edx,0FF000000h0040122

9、6 je byte_3 (0040122a)00401228 jmp main_loop (004011f1)byte_3:0040122A mov dword ptr edi,edx0040122C mov eax,dword ptr esp+800401230 pop edi00401231 retbyte_2:00401232 mov word ptr edi,dx00401235 mov eax,dword ptr esp+800401239 mov byte ptr edi+2,00040123D pop edi0040123E retbyte_1:0040123F mov word

10、 ptr edi,dx00401242 mov eax,dword ptr esp+800401246 pop edi00401247 retbyte_0:00401248 mov byte ptr edi,dl0040124A mov eax,dword ptr esp+80040124E pop edi0040124F retstrcpy 中导致堆栈溢出的代码中导致堆栈溢出的代码机器码:机器码: 指令指令 操作数操作数References:清华大学软件学院 郭陟老师关于软件安全的教案Software Secure by Gary McGrawhttp:/www.isaca-washdc.org/media/presentations/eoy2007-session3.pdfhttp:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号