软件安全编码和软件安全检测培训

软件安全编码和软件安全检测培训

ID:40837330

大小:446.60 KB

页数:26页

时间:2019-08-08

软件安全编码和软件安全检测培训_第1页
软件安全编码和软件安全检测培训_第2页
软件安全编码和软件安全检测培训_第3页
软件安全编码和软件安全检测培训_第4页
软件安全编码和软件安全检测培训_第5页
资源描述:

《软件安全编码和软件安全检测培训》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件安全编码和软件安全测试培训四川分行信息技术管理部2007.10目录简介缓冲区溢出SQL注入2006年全行互联网应用系统安全渗透性测试结果测试结果综述(续)技术成因分析:大部分漏洞为注入式漏洞和弱口令。漏洞技术成因分布较广泛。SQL注入漏洞39%弱口令23%目录遍历8%存在未经验证访问未授权3%跨站5%网银客户端5%网银系统防重放2%其他15%渗透性测试漏洞的技术成因分析渗透性测试漏洞的管理成因分析管理成因分析:管理成因包括政策遵循、开发过程和运行维护三个方面。通过上图可以看出,漏洞成因在这三方面分布较平均。代码安全检测结果项目名称规模(代码行数)高危险漏洞警告性漏洞提示性漏洞测

2、试用时(分)EAIB1435056533253912ERP5290750143784825CCMIS60382246498947利用FORTIFY工具软件检测出的三个应用系统的漏洞情况只要有利益,就有人研究和利用漏洞系统安全编程冯.诺伊曼结构存储程序计算机指令和指令所操作的数据都一起放在内存中计算机设计的基本原则用户的输入所有用户输入都是非法的,除非被证明不是一半以上的程序安全问题源于缺乏对用户可控数据的处理,WEB程序尤甚所谓用户输入,就是所有可能从客户端接收的数据,而不仅是我们提供给用户的输入框缓冲区溢出内存中缓冲区用来存放数据缓冲区自身缺乏相关的机制来防止在保留空间中放入过多

3、的数据…Charname[4];Strcpy(name,”AAAAAAAAAAA”);….缓冲区溢出原理缓冲区溢出原理内存映像栈溢出堆溢出其它溢出缓冲区溢出利用原理栈溢出利用原理进入函数构造栈帧call指令相当于有个pusheip操作ret指令相当于popeip操作…Charname[4];Strcpy(name,”AAAAAAAAAAA”);….在内存中的结构;name溢出可能覆盖ebp、eip(返回地址)值;随机填充会引起段错误表现为coredump;精确的计算填充可控制程序走向。缓冲区溢出利用原理栈溢出利用原理覆盖返回地址Win32还可以覆盖SEH结构缓冲区溢出利用原理堆溢出

4、利用原理堆缓冲区通过malloc、new等分配溢出的目标缓冲区是堆两个相邻块可以分配并保存数据,第一块溢出回覆盖第二块(如果第二块正好是重要数据)各操作系统的堆实现都不相同,利用的难度也大大增加很多操作系统可以获得一次或多次任意地址4字节的写操作,从而获得控制导致缓冲区溢出的几种方式错误的比较目标缓冲区演示程序cmpdst.c正确的做法应该是比较源数据的长度,小于目标缓冲区才进行拷贝操作ms06-040的windows2000出现过此类错误//cmpdst.cVoiddemo(char*str){charbuf[16];if(strlen(buf)<16{//strcpy(buf,

5、str);strncpy(buf,str,strlen(str));}}导致缓冲区溢出的几种方式用源字符串长度做拷贝限制貌似用了带长度限制的安全拷贝函数,实际上等于没用导致缓冲区溢出的几种方式strncpy等字符串截断拷贝函数的陷阱演示程序strncpy.c如果源字符串长度大于限定长度参数,strncpy会按照限定长度拷贝到目标,但并不会在最后加上字符串结束符’’这个陷阱可能导致不易察觉的缓冲区溢出导致缓冲区溢出的几种方式未初始化栈变量的cat操作演示程序uninitialized.cstrcat等函数会对字符串做追加操作栈操作不会清零,会保持原来的垃圾数据不确定的数据追加字符

6、串操作可能导致溢出ms06-040的所有windows都存在这个漏洞缓冲区溢出防范编码方面在数据拷贝前做相应的长度检查使用带长度检查的字符串拷贝函数用源代码扫描器(FlowFinder、RATS、ITS4)粗略检查代码可能存在的安全问题缓冲区溢出防范编译方面使用VC7以上版本的编译器编译Windows程序,GS选项默认打开对于有数组变量的函数会加入cookie检查,以判断返回地址是否被修改MicrosoftWindows动画光标畸形ANI头结构远程栈溢出漏洞缓冲区溢出防范硬件方面使用带NX功能的处理器,并且在系统打开此功能使用最新的操作系统,比如WindowsXPSP2、Windo

7、ws2003SP2、WindowsVista以及SELinux或grsecurity类似功能的系统补丁SQL注入SQL注入简介select*fromnewswhereid=$id拼接的SQL字符串改变了设计者原来的意图,执行了如泄露、改变数据等操作,甚至控制数据库服务器拼接数据来自用户的直接输入(GET/POST/COOKIE)拼接数据来自用户的间接输入(约定编码/从数据库取出)SQL注入SQL注入的原理及危害改变了设计者原来的意图select*fromoperato

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。