CISQ所制订的代码质量标准是通过对整个软件结合上下文关系,理清应用从最前端输入到界面、到业务逻辑、到框架、到数据逻辑,直到最终的存储上的所有功能点。将这些层次连贯起来,来查看软件的上下文关系,从而了解系统每个交易是如何完成的,每个步骤的行进路径是什么,从系统层面上去对整个软件架构进行分析。
现在有企业依照此标准制做了一个自动化软件测试平台,也就是上图中的“CAST应用智能平台”。
CAST支持了50多种不同的编程技术,从JAVA、C、.NET到大型机的编程语言CAST均进行了支持。同时还支持12种数据库,Oracle、SQLServer等。明确编程语言和所采用数据库后,再加上一些编程团队的有关信息。将这些内容输入到分析器中,由分析器进行格式化整理并建立元模型。然后遵照CISQ软件行业标准,分析这些元模型的程序、数据调用关系,从而摸清所有程序的动作关系,从而分析出整个软件的程序逻辑架构。然后在根据分析出的架构、交易流程、交易方式,通过CISQ、OMG以及CWE等软件和安全行业标准,对软件进行判断分析。分析结果出来之后,根据所发现的结构化问题、安全性问题,转化成一个数据化的健康度的分数,分门别类的进行打分度量。由此实现通过给代码打分而不是利用行代码数对软件进行评估的目的。
以一个银行系统源代码举例:
上面图片是CAST所分析出的系统源代码执行路径,可以看到红线的输入数据,从用户输入到交易去访问更新数据库在整个路径上未进行数据检查,就直接对数据层的信息进行更改或调用。这里就存在着很大的信息安全风险,因为无法判定是否有非法安全信息从这条路径对数据库进行侵入。
不知这个解答是否满意?
来自科技行者团队老董
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/9599.html