代码审计必要性和误区 – 作者:凯信特安全团队

代码审计是属于高级渗透测试服务,是一种以发现程序错误、安全漏洞和违反程序编码规范的源代码分析方法。最近很多大型网站都遭到了被拖库的危害,导致泄露了大量的客户信息。其中就有好多漏洞就是因为代码导致的。软件的源代码安全、程序缺陷可能导致严重的安全漏洞,要消除代码中的漏洞、减少不必要的补丁升级,就需要进行源代码的安全审计。源代码审计是对代码库和软件架构的安全性、可靠性全面安全检查,通过对开发人员的源代码分析结果与整个系统分析的全局信息进行关联分析,能防止严重的软件漏洞泄漏到代码流中。人工源代码审计已经成为真正保障软件源代码设计、开发和应用的底层最佳保障。因此做好代码审计就是从安全的角度对整个代码质量进行审计,在黑客发现系统漏洞之前发现系统漏洞,找出应用系统的安全隐患,并给出相应的安全报告和修复方法,从而提高客户应用系统的安全性。

代码审计的对象主要是PHP、JAVA、asp等与WEB相关的语言。

1. 即将上线的新系统平台;

2. 存在大量用户访问、高可用、高并发请求的网站;

3. 存在用户资料等敏感机密信息的企业平台;

4. 互联网金融类存在业务逻辑问题的企业平台;

5. 开发过程中对重要业务功能需要进行局部安全测试的平台;

通常来说,“黑客”可以利用的漏洞有以下几个方面:

1. 软件编写存在bug

2. 系统配置不当

3. 口令失窃

4. 嗅探未加密通讯数据

5. 设计存在缺陷

6. 系统攻击

代码审计采用源代码扫描和人工分析确认相结合的方式进行分析,发现源代码存在的安全漏洞。但是代码审核中也存在诸多的误区。

误区一就是新手统一会犯的一个错误就是审阅者会判断这段代码是否按照自己的思路去实现。但是我们要清楚的是对于同一种问题的解决方法有多种,因此代码审核者应该只保证开发者写的代码是正确的就可以。若不遵守这个规则,审阅起来会遇到很多麻烦。

误区二就是想着既然花了很长时间做了代码审计,为了体现工作量就必须说点什么,如果系统本来没有问题缺在那挑刺,开发者会更加不信任你。

误区三就是不考虑后果的只提高速度,这种方式会遗漏掉细节,导致不能全面的审查。

误区四就是认为高级程序员编写的代码时没有什么问题的,因为即使特别厉害的程序员也有出错的时候,所以代码审查就显得很有必要。虽然代码审查明月自动化工具那样快速和细致,但代码审查可以发现工具发现不了的问题。

误区五就是不相信新手编写的的代码,只要新手有了对代码的安全意识和良好的编码习惯,也不一定学的代码就有很大的问题。

所以对于一个代码审核者来说,在审核过程中一定要带着疑问,依据产品的需求设计去批判性的仔细查看代码,才能达到一个好的审计效果。

来源:freebuf.com 2019-02-25 16:57:23 by: 凯信特安全团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论