代码审计(Code Audit)是指安全代码评估者尽可能的通过阅读应用系统的源代码来发现潜在的安全漏洞及隐患的技术手段。
代码审计的技术手段,可以弥补黑盒渗透测试的未能完全覆盖的漏洞环节与安全隐患,是一种可靠性、安全性最高的修补漏洞的方法。
可以通过对常见的编程语言如ASP、ASP.NET、PHP、JAVA、C++等语言进行源代码审计,查找出代码中存在的安全问题。
1.2代码审计安全服务项目收益代码审计是对代码库和软件架构的安全性、可靠性全面安全检查,通过对开发人员的源代码分析结果与整个系统分析的全局信息进行关联分析,能防止严重的软件漏洞泄漏到代码流中。实践证明,程序的安全性是否有保障很大程度上取决于程序代码的质量,而保证代码质量最快捷有效的手段就是源代码审计。
从代码审计安全服务项目中,客户能够得到的收益至少有:
1)明确安全隐患点:源代码审计能够对整个信息系统的所有源代码进行检查,从整套源代码切入最终明至某个威胁点并加以验证,以此明确整体系统中的安全隐患点;
2)提高安全意识:通过审计到的漏洞让开发人员了解漏洞的形成和危害,提高开发中的安全意识;
3)提高开发人员安全技能:任何的隐患在源代码审计服务中都可能造成“千里之堤溃于蚁穴”的效果,因此源代码审计服务可有效督促管理人员杜绝任何一处小的缺陷,从而降低整体风险。
二、代码审计安全服务流程
代码审计的流程可以参考如下:
三、代码审计的漏洞类型
对代码审计中存在的漏洞进行审计,常见的漏洞类型如下:
3.1SQL注入攻击攻击者通过输入一段数据库查询代码窃取或修改数据库中的数据。
3.2 XSS跨站攻击利用网站漏洞攻击访问该站点用户,达到窃取该站点访问者相关的用户登陆或认证信息的目的。
3.3远程、本地文件包含攻击PHP、JSP中使用本地、远程文件包含进行攻击。
3.4命令行执行攻击攻击者利用post或cookie执行系统命令。
3.5 Cookie攻击攻击者利用修改cookie来改变变量的值,从而利用web系统的漏洞进行注入等攻击。
3.6关键文件下载攻击者通过工具或特殊命令下载网站系统的数据库文件、配置文件信息。
3.7越权漏洞越权漏洞是由于对用户访问权限控制不严,导致普通用户可以以其他用户权限或管理用户权限进行操作。
3.8提权攻击者利用系统漏洞获取操作系统的权限,乃至管理员权限。
3.9应用平台漏洞攻击攻击者通过获悉应用平台后,可以利用该平台的已知漏洞进行攻击;当应用平台出现漏洞,且没有官方补丁时,同样面临被攻击的风险。
3.10木马上传攻击者利用黑客工具上传Webshell以达到控制服务器的目的。