




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、word格式-可编辑-感谢下载支持专业服务技术白皮书代码审计服务版本变更记录时间版本说明修改人2012/5/21V1.0文档创建、丰富内容专业服务部word格式-可编辑-感谢下载支持目录一. 概述11.1 基本概念11.2 代码审计与模糊测试11.3 服务的必要性11.4 客户收益2二. 服务的实施标准和原则22.1 政策文件或标准22.2 服务原则2三. XXXX代码审计服务33.1 服务范围33.2 服务分类3 整体代码审计和功能点人工代码审计3 单次服务和年度服务43.3 服务流程43.4 服务特点53.5 服务报告63.6 服务注意事项6四. 代码审计方法论74.1 代码检查技术7 源
2、代码设计7 错误处理不当7 直接对象引用8 资源滥用84.1.5 API滥用84.2 应用代码关注要素9 跨站脚本漏洞9 跨站请求伪装漏洞94.2.3 SQL注入漏洞9 命令执行漏洞9 日志伪造漏洞9 参数篡改10 密码明文存储10 配置文件缺陷10 路径操作错误10 资源管理10 不安全的Ajax调用10 系统信息泄露11 调试程序残留11五. 相关工具115.1 信息收集工具115.2 静态分析工具115.3 源码提取工具12六. 为什么选择XXXX12word格式-可编辑-感谢下载支持一. 概述1.1 基本概念代码审计(Code Review)是由具备丰富编码经验并对安全编码原则及应用安
3、全具有深刻理解的安全服务人员对系统的源代码和软件架构的安全性、可靠性进行全面的安全检查。代码审计服务的目的在于充分挖掘当前代码中存在的安全缺陷以及规范性缺陷,从而让开发人员了解其开发的应用系统可能会面临的威胁,并指导开发人员正确修复程序缺陷。1.2 代码审计与模糊测试在漏洞挖掘过程中有两种重要的漏洞挖掘技术,分别是代码审计和模糊测试(Fuzzing)。代码审计是通过静态分析程序源代码,找出代码中存在的安全性问题;而模糊测试则需要将测试代码执行起来,然后通过构造各种类型的数据来判断代码对数据的处理是否正常,以发现代码中存在的安全性问题。由于采用的分析方法不同,这两项技术的应用场所也有所不同。代码
4、审计常用于由安全厂商或企业的安全部门发起的代码安全性检查工作;模糊测试则普遍用于软件开发和测试部门的程序测试。1.3 服务的必要性实践证明,程序的安全性是否有保障很大程度上取决于程序代码的质量,而保证代码质量最快捷有效的手段就是代码审计。在风险评估过程中,代码审计是一般脆弱性评估的一种很好的补充,xxxx代码审计服务的代码覆盖率为100%,能够找到一些安全测试所无法发现的安全漏洞。同时,由于主持代码审计的安全服务人员一般都具备丰富的安全编码经验和技能,所以其针对性比常见的脆弱性评估手段会更强、粒度也会更为细致。1.4 客户收益对于客户而言,代码审计可以带来以下收益:u 明确安全隐患点代码审计能
5、够对整个信息系统的所有源代码进行检查,从整套源代码切入最终明至某个威胁点并加以验证,以此明确整体系统中的安全隐患点。u 提高安全意识如上所述,任何的隐患在代码审计服务中都可能造成“千里之堤溃于蚁穴”的效果,因此代码审计服务可有效督促管理人员杜绝任何一处小的缺陷,从而降低整体风险。u 提高开发人员安全技能在代码审计服务人员与用户开发人员的交互过程中,可提升开发人员的技能。另外,通过专业的代码审计报告,能为用户开发人员提供安全问题的解决方案,完善代码安全开发规范。二. 服务的实施标准和原则2.1 政策文件或标准xxxx代码审计服务将参考下列规范进行工作。u OWASP TOP 10u CWE/SA
6、NS TOP 25u ASP/ASP.NET/PHP/JSP安全编码规范u xxxx代码审计最佳实践u xxxx安全服务工作规范、代码审计实施规范u 2.2 服务原则xxxx在提供代码审计服务中,将遵循下列原则。u 保密性原则保密性原则是代码审计服务中最重要的原则,它是鼓励客户实施代码审计服务的心理基础,同时也是对客户的人格及隐私权的最大尊重。代码审计的保密范围,包括客户提供源代码和相关技术文档的保密性以及输出成果的保密性。对服务过程中获知的任何客户系统及源代码的信息均属秘密信息,不得泄露给第三方单位或个人,不得利用这些信息进行任何侵害客户的行为;对服务的报告提交不得扩散给未经授权的第三方单位
7、或个人。u 规范性原则xxxx代码审计服务将按照安全服务工作规范、代码审计实施规范进行严格落实。实施必须由专业的安全服务人员依照规范的操作流程进行,对操作过程和结果要有相应的记录,提供完整的服务报告。三. xxxx代码审计服务3.1 服务范围xxxx代码审计服务的范围包括使用ASP、ASP.NET(VB/C#)、JSP(JAVA)、PHP等主流语言开发的B/S应用系统、使用C+、JAVA、C#、VB等主流语言开发的C/S应用系统,以及使用XML语言编写的文件、SQL语言和数据库存储过程等。3.2 服务分类3.2.1 整体代码审计和功能点人工代码审计整体代码审计是指代码审计服务人员对被审计系统的
8、所有源代码进行整体的安全审计,代码覆盖率为100%,整体代码审计采用源代码扫描和人工分析确认相结合的方式进行分析,发现源代码存在的安全漏洞。但整体代码审计属于白盒静态分析,仅能发现代码编写存在的安全漏洞,无法发现业务功能存在的缺陷。功能点人工代码审计是对某个或某几个重要的功能点的源代码进行人工代码审计,发现功能点存在的代码安全问题。功能点人工代码审计需要收集系统的设计文档、系统开发说明书等技术资料,以便代码审计服务人员能够更好的了解系统业务功能。由于人工代码审计工作量极大,所以需要分析并选择重要的功能点,有针对性的进行人工代码审计。3.2.2 单次服务和年度服务单次服务是指xxxx一次性为客户
9、的被审计系统提供代码审计服务,服务完成后提交代码审计报告并指导客户进行问题修复。单次服务仅能够发现目前源代码中可能存在的各种安全问题,对于系统后续开发产生的安全问题无能为力。年度服务是指xxxx以一定的时长(可以是半年、年等)为单位向客户提供有限次数(每月/双月/季度/半年)的代码审计服务,每次代码审计均会提供详细的代码审计报告。年度服务能够持续跟进系统的安全情况,在服务期限内最大限度保证系统的安全。3.3 服务流程xxxx代码审计服务主要分为四个阶段,包括代码审计前期准备阶段、代码审计阶段实施、复查阶段实施以及成果汇报阶段:u 前期准备阶段在实施代码审计工作前,技术人员会和客户对代码审计服务
10、相关的技术细节进行详细沟通。由此确认代码审计的方案,方案内容主要包括确认的代码审计范围、最终对象、审计方式、审计要求和时间等内容。u 代码审计阶段实施在代码审计实施过程中,xxxx代码审计服务人员首先使用代码审计的扫描工具对源代码进行扫描,完成初步的信息收集,然后由人工的方式对源代码扫描结果进行人工的分析和确认。根据收集的各类信息对客户要求的重要功能点进行人工代码审计。结合自动化源代码扫描和人工代码审计两方的结果,代码审计服务人员需整理代码审计服务的输出结果并编制代码审计报告,最终提交客户和对报告内容进行沟通。u 复测阶段实施经过第一次代码审计报告提交和沟通后,等待客户针对代码审计发现的问题整
11、改或加固。经整改或加固后,代码审计服务人员进行回归检查,即二次检查。检查结束后提交给客户复查报告和对复查结果进行沟通。u 成果汇报阶段根据一次代码审计和二次复查结果,整理代码审计服务输出成果,最后汇报项目领导。图 3.1 代码审计服务流程3.4 服务特点u 全程化服务,有效保证服务质量xxxx可以为客户提供约定期限内的全程化代码审计服务。服务的过程不仅仅是帮助客户发现问题,也会为客户的问题修补提供专业的建议和指导,做到问题发现、修补、验证的全程跟踪,每一次服务都会在前一次的基础上寻找新的突破口,力求最大程度地保证审计目标的安全。u 专家级解决方案,一切以解决问题为目标xxxx有着专业的安全服务
12、团队,团队成员无论是在风险评估、安全加固、渗透测试,还是在代码审计等领域均有着丰富的经验,所有问题的解决方案均由团队成员根据多年经验总结而来,方案确实可行。u 降低成本,节省投资在xxxx为客户打造的年度服务方案中,服务人员第一次代码审计的结果将会成为后续审计服务的参考依据,避免了单次服务中每次都会为某一特定问题所累,节省了审计时间,同时也降低了客户在每个阶段的投入。3.5 服务报告在审计工作完成后两个工作日内,xxxx审计人员将出示一份代码审计报告。在报告中,审计人员将会根据审计结果针对源代码中的每个安全弱点进行详细描述,描述内容至少包括安全弱点所在的代码页名、代码行数、问题代码片段以及弱点
13、可能导致的安全问题等。除此之外,审计人员还将针对各种具体的安全弱点提供解决方案和相关的安全建议,为管理/开发人员的维护和问题修补工作提供参考。3.6 服务注意事项为避免风险的产生,代码审计工作通常不会在生产或测试服务器上进行。客户需要提供源代码或存储源代码的计算机载体。代码审计服务人员会将一些代码审计工具安装在存储源代码的计算机载体中,在完成代码审计后卸载这些工具,以保护客户资产。在代码审计过程中,确定代码审计服务人员和客户方配合人员的联系方式,便于及时沟通并解决服务过程中的各类问题。四. 代码审计方法论4.1 代码检查技术代码检查是代码审计工作中最常使用的一种技术手段。代码检查可以由人工进行
14、,也可以借助代码检查工具自动进行。在实际应用中,通常采用“自动分析+人工验证”的方式进行。代码检查的目的在于发现代码本身存在的问题,如代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面。通过分析,可以发现各种违背程序编写标准的问题,主要包括以下几类。4.1.1 源代码设计源代码设计问题通常来源于程序设计之初,例如代码编写工具的使用等。在这方面的审计主要是分析代码的系统性和约束范围,主要从下面的几个方面进行:u 不安全的域u 不安全的方法u 不安全的类修饰符u 未使用的外部引用u 未使用的代码4.1.2 错误处理不当这类问题的检查主要是通过分析源代码了解程序在管理错误、异常
15、、日志记录以及敏感信息等方面是否存在缺陷。如果程序处理这类问题不当,最可能的问题是将敏感信息泄露给攻击者,从而可能导致危害性后果。这类问题主要体现在以下几个方面:u 程序异常处理u 返回值用法u 空指针u 日志记录4.1.3 直接对象引用直接对象引用意指在引用对象时没有进行必要的校验,从而可能导致被攻击者利用。通过代码检查,审计人员可以分析出程序是否存在直接对象引用以及相应的对象引用是否安全。直接独享引用问题主要有以下几类:u 直接引用数据库中的数据u 直接引用文件系统u 直接引用内存空间4.1.4 资源滥用资源滥用是指程序对文件系统对象、CPU、内存、网络带宽等资源的不恰当使用。资源使用不当
16、可能导致程序效率降低,遭受拒绝服务攻击的影响。代码检查中,审计人员将会根据编码规范分析代码中对各种资源的引用方法进行分析,发现其中可能导致资源过度占用方面的问题。资源占用方面的问题主要有以下几类:u 不安全的文件创建、修改和删除u 竞争冲突u 内存泄露u 不安全的过程创建4.1.5 API滥用API滥用是指由系统或程序开发框架提供的API被恶意使用,导致出现无法预知的安全问题。检查过程中,审计人员将会针对此类问题来对源代码进行分析以发现此类问题。API滥用主要有下面几种类型:u 不安全的数据库调用u 不安全的随机数创建u 不恰当的内存管理调用u 不全的字符串操作u 危险的系统方法调用u 对于W
17、eb应用来说不安全的HTTP会话句柄也是API滥用的一种。4.2 应用代码关注要素4.2.1 跨站脚本漏洞漏洞:对用户的输入没有采用有效的安全控制手段就将用户输入插入到返回页面中。影响:攻击者可以利用存在XSS漏洞的Web网站攻击浏览相关网页的用户,窃取用户会话中诸如用户名和口令(可能包含在Cookie里)等敏感信息、通过插入恶意代码对用户执行挂马攻击、XSS漏洞还可能被攻击者用于网页篡改。4.2.2 跨站请求伪装漏洞漏洞:提交表单中没有用户特有的标识。影响:攻击者可利用跨站请求伪装 (CSRF) 漏洞假冒另一用户发出未经授权的请求,即恶意用户盗用其他用户的身份使用特定资源。4.2.3 SQL
18、注入漏洞漏洞:对访问数据库的SQL语句没有进行任何过滤,可能导致SQL注入。影响:如果SQL注入成功,攻击者可以获取网站数据库的信息,可以修改删除数据库,还可能获取执行命令的权限,进而完全控制服务器。4.2.4 命令执行漏洞漏洞:系统中使用了一些调用操作系统函数的命令,在调用过程中,如果命令的来源不可信,系统可能执行恶意命令。影响:攻击者有可能把要执行的命令替换成恶意命令,如删除系统文件。4.2.5 日志伪造漏洞漏洞:将未经验证的用户输入写入日志。影响:攻击者可以利用该漏洞伪造日志条目或将恶意内容注入日志。4.2.6 参数篡改漏洞:一些重要参数可能会被篡改。影响:攻击者能够通过篡改重要参数或方法对系统进行攻击。4.2.7 密码明文存储漏洞:配置文件中存储明文密码。影响:在配置文件中存储明文密码可能会危及系统安全,攻击者可以轻易获取到系统密码。4.2.8 配置文件缺陷漏洞:配置文件内容存在缺陷,例如未设置统一的错误响应页面。影响:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春大学《第二外语(日、德)(2)》2023-2024学年第一学期期末试卷
- 和田师范专科学校《中医护理学基础Ⅱ实验》2023-2024学年第一学期期末试卷
- 新乡学院《农业资源与环境专业英语》2023-2024学年第二学期期末试卷
- 平台服务合同(2025年版)
- 公司团建活动合同
- 学校门窗维修合同
- 外墙贴砖劳务分包合同
- 工厂物业管理合同书
- 事业单位终止合同协议书
- 合同断桥铝门窗合同
- 刑事诉讼中电子数据冻结的性质及其法律规制
- 观察小鱼尾鳍内血液的流动实验
- 2025年重庆三支一扶招募469人高频重点提升(共500题)附带答案详解
- 健身会籍顾问
- 电力系统分析知到智慧树章节测试课后答案2024年秋东北电力大学
- 2025年中航证券有限公司招聘笔试参考题库含答案解析
- 2024年中考历史真题汇编专题13 材料分析题(中国史部分)-教师
- 2025年上半年甘肃省林业和草原局事业单位招聘笔试重点基础提升(共500题)附带答案详解
- 化工单元操作知到智慧树章节测试课后答案2024年秋烟台职业学院
- 谈黑色变-认识色素痣与黑素瘤.课件
- 电信运营商网络安全管理制度
评论
0/150
提交评论