原标题:企业为什么需要看重代码审计?
代码审计(Code audit)属于高级渗透测试服务,但代码覆盖率能达到100%,是一种以发现程序错误,安全漏洞和违反程序规范为目标的源代码分析,能够找到普通安全测试所无法发现的安全漏洞。代码审计的操作需要运作在企业安全运营的场景当中,安全工程师需要了解整个应用的业务逻辑,才能挖掘到更多更有价值的漏洞。
企业为什么需要代码审计?
99%的大型网站都被拖过库,泄漏了大量用户数据。提前做好代码审计工作,将先于黑客发现系统的安全隐患,提前部署好安全防御措施,保证系统的每个环节在未知环境下都能经得起黑客挑战,进一步巩固客户对企业及平台的信赖。入侵者可以利用的漏洞有:
1.软件编写存在bug
2.系统配置不当
3.口令失窃
4.嗅探未加密通讯数据
5.设计存在缺陷
6.系统攻击
哪些业务场景需要做好代码审计工作?
代码审计的对象主要是PHP、JAVA、asp、.NET等与Web相关的语言:
1.即将上线的新系统平台;
2.存在大量用户访问、高可用、高并发请求的网站;
3.存在用户资料等敏感机密信息的企业平台;
4.互联网金融类存在业务逻辑问题的企业平台;
5.开发过程中对重要业务功能需要进行局部安全测试的平台;
知道创宇安应用团队提供怎样的代码审计服务?优势有哪些?
代码检查是审计工作中最常用的技术手段,实际应用中,采用“自动分析+人工验证”的方式进行。知道创宇提供的检查项目包括:
系统所用开源框架、源代码设计、错误处理不当、直接对象引用、资源滥用
API滥用、后门代码发现、应用代码关注要素:
跨站脚本漏洞、跨站请求伪装漏洞、SQL注入漏洞、命令执行漏洞、日志伪造漏洞、参数篡改、密码明文存储、配置文件缺陷、路径操作错误、资源管理、不安全的Ajax调用、系统信息泄露、调试程序残留、第三方控件漏洞、文件上传漏洞、远程命令执行、远程代码执行、越权下载、授权绕过漏洞。
了解整体代码审计和功能点人工代码审计区别吗?
整体代码审计是指代码审计服务人员对被审计系统的所有源代码进行整体的安全审计,代码覆盖率为100%,整体代码审计采用源代码扫描和人工分析确认相结合的方式进行分析,发现源代码存在的安全漏洞。但整体代码审计属于白盒静态分析,仅能发现代码编写存在的安全漏洞,无法发现业务功能存在的缺陷。 整体代码审计付出的时间、代价很高,也很难真正读懂这一整套程序,更难深入了解其业务逻辑。这种情况下,根据功能点定向审计、通过工具做接口测试等,能够提高审计速度,更适合企业使用。
功能点人工代码审计是对某个或某几个重要的功能点的源代码进行人工代码审计,发现功能点存在的代码安全问题,能够发现一些业务逻辑层面的漏洞。功能点人工代码审计需要收集系统的设计文档、系统开发说明书等技术资料,以便代码审计服务人员能够更好的了解系统业务功能。由于人工代码审计工作量极大,所以需要分析并选择重要的功能点,有针对性的进行人工代码审计。
知道创宇的安全工程师都具备多年代码审计经验,首先通览程序的大体代码结构,在根据文件的命名第一时间辨识核心功能点、重要接口。下面就介绍几个功能、接口经常会出现的漏洞:
1.登陆认证
a.任意用户登录漏洞
b.越权漏洞
2.找回密码
a.验证码爆破漏洞
b.重置管理员密码漏洞
3.文件上传
a.任意文件上传漏洞
b.SQL注入漏洞
4.在线支付,多为逻辑漏洞
a.支付过程中可直接修改数据包中的支付金额
b.没有对购买数量进行负数限制
c.请求重访
d.其他参数干扰
5.接口漏洞
a.操作数据库的接口要防止sql注入
b.对外暴露的接口要注意认证安全
为什么选择知道创宇安应用进行代码审计?
知道创宇渗透测试流程:
在审计工程中,知道创宇资深安全工程师会结合丰富的安全知识、编程经验、测试技术,利用静态分析和人工审核的方法寻找代码在架构和编码上的安全缺陷,充分挖掘代码中存在的安全缺陷,并指导开发人员正确修复程序缺陷,在代码形成软件产品前将业务软件的安全风险降到 。因为是对整个信息系统的所有源代码进行检查,所以代码审计能够从整套源代码切入,明确至某个威胁点加以验证,达到确定整体系统中安全隐患点的目的。
经过知道创宇高级安全工程师测试加固后的系统会变得更加稳定、安全,测试后的报告可以帮助管理人员进行更好的项目决策,同时证明增加安全预算的必要性,并将安全问题传达到高级管理层,进行更好的安全认知,有助于进一步健全安全建设体系,遵循了相关安全策略、符合安全合规的要求。
[责任编辑:毛青青]