《代码审计方案》由会员分享,可在线阅读,更多相关《代码审计方案(8页珍藏版)》请在金锄头文库上搜索。
1、代码审计我司为 XXXXXX 供给信息系统全部代码进展整体的安全审计。觉察源代码存在的安全漏洞,并对导致安全漏洞的错误代码进展定位和验证,供给修复方案。语言方面可以支持:Java,JSP,C,C+,.NETC#,XML,ASP,PHP,JS, VB 等。运行环境支持:Windows,Red Hat Linux,Ubuntu,Centos,麒麟 Linux 等主流系统。效劳期内对: xxxxxx供给 1 次代码审计,并提交相应次数的源代码审计报告。1.1 代码审计效劳内容代码审计效劳的范围包括使用 Java,JSP,C,C+,.NETC#,XML,ASP, PHP,JS,VB 等主流语言开发的
2、B/S、C/S 应用系统,以及使用 XML 语言编写的文件、SQL 语言和数据库存储过程等,运行环境支持 Windows,Red Hat Linux, Ubuntu,Centos,麒麟 Linux 等主流系统。源代码安全审计效劳从数据流分析、掌握流分析、语义分析、配置分析、构造分析等五个方面全面分析软件源代码安全问题。借助源代码分析工具,针对信息系统源代码扫描、分析,语言方面可以支持: Java/JSP C/C+, .NET 平台,TSQL/PLSQL, Cold Fusion,XML,CFML,ASP,PHP, JS,VB 等。操作系统方面支持:Windows, Solaris, Red H
3、at Linux, Mac OS X, HP-UX, IBM AIX 等并对导致安全漏洞的错误代码进展定位和验证,供给修复方案。1.2 代码审计效劳参考标准 CVE(Common Vulnerabilities & Exposures) 公共漏洞字典表 OWASPOpen Web Application Security Project 公共漏洞字典表 软件安全开发标准ISO/IEC 27034 独立审计准则第 20 号-计算机信息系统环境下的审计 审计署关于印发信息系统审计指南的通知审计发【2012】11 号1.3 审计分类 整体代码审计整体代码审计是指代码审计效劳人员对被审计系统的全部源代
4、码进展整体 的安全审计,代码掩盖率为 100%,整体代码审计承受源代码扫描和人工分析确认相结合的方式进展分析,觉察源代码存在的安全漏洞。但整体代码审计属于白盒静态分析,仅能觉察代码编写存在的安全漏洞,无法觉察业务功能存在的缺陷。 功能点人工代码审计功能点人工代码审计是对某个或某几个重要的功能点的源代码进展人工代码审计,觉察功能点存在的代码安全问题。功能点人工代码审计需要收集系统的设计文档、系统开发说明书等技术资料,以便代码审计效劳人员能够更好的了解系统业务功能。由于人工代码审计工作量极大,所以需要分析并选择重要的功能点,有针对性的进展人工代码审计。1.4 审计工具Fortify SCAFort
5、ify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、构造、掌握流、配置流等对应用软件的源代码进展静态的分析,分析的过程中与它特有的软件安全漏洞规章集进展全面地匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并赐予整理报告。扫描的结果中不但包括具体的安全漏洞的信息,还会有相关的安全学问的说明,以及修复意见的供给。1.5 代码审计实施流程源代码审计效劳主要分为四个阶段,包括代码审计前期预备阶段、代码审计阶段实施、复查阶段实施以及成果汇报阶段: 前期预备阶段在实施代码审计工作前,技术人员会和客户对代码审计效劳相关的技术细节进展具体沟通。由此确认代
6、码审计的方案,方案内容主要包括确认的代码审计范围、最终对象、审计方式、审计要求和时间等内容。 代码审计阶段实施在源代码审计实施过程中,技术人员首先使用代码审计的扫描工具对源代码进展扫描,完成初步的信息收集,然后由人工的方式对源代码扫描结果进展人工的分析和确认。依据收集的各类信息对客户要求的重要功能点进展人工代码审计。结合自动化源代码扫描和人工代码审计两方的结果,代码审计效劳人员需整理代码审计效劳的输出结果并编制代码审计报告,最终提交客户和对报告内容进展沟通。 复测阶段实施经过第一次代码审计报告提交和沟通后,等待客户针对代码审计觉察的问题整改或加固。经整改或加固后,代码审计效劳人员进展回归检查,
7、即二次检查。检查完毕后提交给客户复查报告和对复查结果进展沟通。 成果汇报阶段依据一次代码审计和二次复查结果,整理代码审计效劳输出成果,最终汇总形成信息系统代码审计报告。图 代码审计效劳流程1.6 风险掌握及输出成果为避开风险的产生,源代码审计工作通常不会在生产或测试效劳器上进展。XXXXXX 信息中心需要供给源代码或存储源代码的计算机载体。代码审计效劳人员会将一些代码审计工具安装在存储源代码的计算机载体中,在完成代码审计后卸载这些工具,以保护业务资产不受损害。在代码审计过程中,确定代码审计效劳人员和协作人员的联系方式,便于准时沟通并解决效劳过程中的各类问题。1.7 源代码审计重点 跨站恳求伪装
8、漏洞漏洞:提交表单中没有用户特有的标识。影响:攻击者可利用跨站恳求伪装 (CSRF) 漏洞假冒另一用户发出未经授权的恳求,即恶意用户盗用其他用户的身份使用特定资源。 注入漏洞漏洞:对访问数据库的 SQL 语句没有进展任何过滤,可能导致 SQL 注入。影响:假设 SQL 注入成功,攻击者可以猎取网站数据库的信息,可以修改删除数据库,还可能猎取执行命令的权限,进而完全掌握效劳器。 命令执行漏洞漏洞:系统中使用了一些调用操作系统函数的命令,在调用过程中,假设命令的来源不行信,系统可能执行恶意命令。影响:攻击者有可能把要执行的命令替换成恶意命令,如删除系统文件。 日志伪造漏洞漏洞:将未阅历证的用户输入
9、写入日志。影响:攻击者可以利用该漏洞伪造日志条目或将恶意内容注入日志。 参数篡改漏洞:一些重要参数可能会被篡改。影响:攻击者能够通过篡改重要参数或方法对系统进展攻击。 密码明文存储漏洞:配置文件中存储明文密码。影响:在配置文件中存储明文密码可能会危及系统安全,攻击者可以轻易猎取到系统密码。 配置文件缺陷漏洞:配置文件内容存在缺陷,例如未设置统一的错误响应页面。影响:攻击者能够利用配置文件的缺陷对系统进展攻击。 路径操作错误漏洞:用户输入没有有效的安全掌握手段就直接对文件进展操作。影响:攻击者可以掌握路径参数,访问或修改其他受保护的文件。 资源治理漏洞:使用完资源后没有关闭,或者可能关闭不成功。
10、影响:攻击者有可能通过耗尽资源池的方式发起拒绝效劳攻击,导致效劳器性能降低,甚至宕机。 担忧全的 Ajax 调用漏洞:系统存在担忧全的 Ajax 调用。影响:攻击者能够利用该漏洞绕过验证程序或直接编写脚本调用 Ajax 方法实现越权操作。 系统信息泄露漏洞:特别捕获泄露系统信息。影响:攻击者可以从泄露的信息中找到有用信息,发起有针对性的攻击。 调试程序残留漏洞:代码包含调试程序,如:主函数。影响:调试程序会在应用程序中建立一些意想不到的入口点被攻击者利用。1.8 输出成果及客户收益输出成果:信息系统代码审计报告本项效劳给 XXXXXXXXXXX 带来收益如下:1) 从提高系统的安全性及稳定性动身应当源代码进展质量掌握,以保证源代码的质量;2) 确保系统稳定,高效的运行,掌握不利因素提升质量。