谈一谈源代码安全审计的心得

         代码审计是每一个安全安全性都应当熟练掌握的专业技能。可是网络上针对代码审计的讲解文章却较为不足。因而这篇文章文中做为SINE一书的阅读心得,另一方面也融合自个日常工作的经验交流,期待能对我国的安全安全性有一个一得之见的作用。

引言

针对很多安全研究技术人员来讲,Fuzzing是一个非常重要的漏洞挖掘方式,但每一个方式均有其片面性。最先,为了更好地合理地开展Fuzz,须要精确查找攻击面并在这个基础上开展功能测试,查找攻击面的环节少不了代码审计;次之,在功能测试查找crash以后,研究和写报告的环节须要手工审计了解源代码逻辑和漏洞的rootcause;最终,针对Java或是Go这种内存安全的语言来讲,Fuzzing的应用领域也是受到限制,只有根据代码审计去发觉繁杂的逻辑设计问题。

这篇文章算得上对代码审计的1个科学方法论式的汇总,对实际源代码的隶属语言并无限制,可以是C/C++,还可以是Java、PHP。针对实际语言所独特的Source、Sink及其智能化研究辅助软件不再这篇文章范畴,有兴趣的盆友可以关注后面的源代码安全审计之术篇。

outputo-20220125-094133-395-xfdt.png

孙膑兵法有星:审时度势。在现代管理学中也有一句话:“Ifyoucan’tmeasureit,youcan’tmanageit."

看得见每件事在刚开始以前,都须要先明确好自个的目标和方案,如此一来才能够保障自个不容易不容易方向或是误入歧途。针对安全审计亦是如此。工作任务时常常会发觉某些公司同事1头扎到某一项目的源代码中,眨眼睛便是几个月,一讲进度怎样不知道,还有多久不知道,有什么方案也不知道,代码审计全凭直觉,有没有收获全靠运势。……

为了防止这样的事情,在刚开始前咱们不妨先问下自个的发展目标。这乍看上去是个非常简单的问题,但针对不一样的情景很有可能有不一样的回复。通常安全研究技术人员的目标是在较短的时长内查找最有价值的漏洞;针对商业安全咨询顾问来讲,其目标是在项目预算容许的范畴内尽量做到更高的审计普及率;此外针对开发人员或是安全系统架构师来讲,则会耗费更长的时间周期开展内部安全评审。

分享: