代码漏洞分析是通过阅读代码来检查源代码与编码标准的符合性以及代码质量。由具备丰富编码经验且对安全编码原则及应用安全具有深刻理解的安全服务人员对系统的源代码和软件架构的安全性、可靠性进行全面的安全检查,充分挖掘当前代码中存在的安全缺陷以及规范性缺陷,让客户的开发团队或外包团队了解其开发的应用系统可能会面临的威胁,并指导开发者正确修复程序缺陷。
通过我们的专业人员审核代码,结合专业工具,对程序代码进行完全彻底的检查,可以找出所有漏洞点、并能够避免程序编写时的逻辑性错误和一些潜在的安全漏洞。找出漏洞疑似点,以发现代码中存在的安全性问题,通过源代码分析解决减少安全性相关的设计、编程缺陷或其他有严重危害的缺陷。通过更新程序版本,动态地提高应用程序的整体安全。
代码漏洞分析报告将会描述缺陷定位、缺陷成因分析、审计分析结果、脆弱性和缺陷编程意见。
源码分析的目的
通过快速而准确的定位安全隐患识别错误和软件架构问题;通过项目分析软件研发经理可以直接看到软件代码和架构的安全性和可靠性视图,避免软件研发经理往往需要研读软件代码才能发现软件中的问题的弊端软件安全经理可以在软件开发生命周期中发现、评估、纠正和度量软件安全。
源码分析的范围
a)缺陷检测:提供JAVA、C、C#等程序语言编译缺陷错误
b)安全漏洞检测:缓冲区溢出、DNS欺骗、注入缺陷等15类安全漏洞
c)软件架构分析:自动生成软件架构图,根据结构和依赖关系给出建议
d)软件度量分析:代码行数、循环数、继承数等度量指标
e)可定制代码分析:根据公司特色定制编码标准和扫描策略
f)开发人员IDE集成:和Eclipse、VisualStdio、Rational等集成,效率最高
源码分析的服务流程
需求调研:需求工程师现场与客户沟通,制定需求计划,确定清楚客户的服务需求。
优点:贴近客户,灵活主动的制定客户服务需求
环境搭建:搭建扫描环境,进行扫描工作的配置,最后生成维护手册,方便维护。
策略制定:根据客户项目情况,讨论制定扫描策略,策略分为4个等级,根据情况设计扫描策略,进行预扫描,扫描结果进行分析,验证后,跟客户讨论制定出最终的扫描策略
代码扫描:现场扫描代码,根据制定的扫描策略完成扫描工作
a)常规扫描
ü 缺陷检测:包含C++/JAVA所支持的语言缺陷类型检测
ü 安全漏洞检测:包含C++/JAVA所支持的安全漏洞检测
ü 软件架构分析
ü 软件度量分析
ü 可定制的代码分析
ü 软件代码规范
ü 开发人员IDE集成
b)版本扫描
ü 缺陷检测
ü 安全漏洞检测
ü 可定制的代码分析
ü 软件代码规范
c) 临时扫描
ü 缺陷检测
ü 安全漏洞检测
报告分析:对扫描的结果数据进行统计,形成报告,分析扫描的结果,给出代码改进的建议方案。
策略优化:根据扫描的结果,结合项目的实际情况,优化扫描策略。
王淑畔