官方微信视频号
静态测试是指不运行被测程序本身,仅通过分析或检查源代码的语法、结构、过程、接口等来检查程序的正确性,通常使用静态分析工具执行源代码测试。
▍静态测试的功能
静态测试包括代码安全漏洞检查、流分析、代码度量分析等。
代码漏洞是指由于程序设计考虑不周而产生的可能会对程序本身、系统或数据带来潜在危害的代码问题。代码漏洞可以表现在很多方面,算法本身或者代码本身的问题都可能会造成代码漏洞。威胁程度最高的10种漏洞分别为代码执行、文件包含、SQL注入、密码重置、弱口令、越权查看、越权修改、信息泄露、支付漏洞、XSS等。
流分析包括应用执行路径仿真在内的分析技术,以确定可以触发运行时缺陷的路径。可以被检测出的缺陷包括对非初始化内存的使用、空指针引用、被零除以及存储空间和资源泄漏。
代码度量指标分析包括评估代码和监控变化,可以更好地理解代码的复杂度和其他代码中的哪些类会由于一个变更而可能受影响,便于代码的修改、重构和测试。
★检测源码中明显或潜在的缺陷。
★防止使用有损安全性的代码。
★实施组织设计准则、规范 (具体应用程序的、专门用途的或特定平台的)、以及从已知的特定错误中概括出来的错误预防准则。
★通过改进类设计和代码组织,而改进代码可维护性。
★通过应用常见的格式化、命名以及其它风格方面的约定,提高代码可读性。
▍静态测试分析案例
执行源代码静态测试后,按照静态测试分析规则可以按照严重度分为1-5等级,其中严重度1最高,5最低,下图为静态测试分析结果图。
▍静态测试覆盖领域
编程语言覆盖:C、C++、C#、JAVA等;行业覆盖:涵盖医疗安全、信息安全、汽车工业等领域的代码安全规则。
▍常见静态测试规则库
1、CWE(Common Weakness Enumeration)一般弱点列举;
2、OWASP(Open Web Application Security Projet)开源Web应用安全项目;
3、IEC 62304 医疗器械软件——软件生存周期;
4、GJB8114-2013 C/C++语言编程安全子集
5、MISRA C
▍项目受理流程
▍关于上海机器人产业技术研究院
上海机器人产业技术研究院是在上海市委市政府、及市科委、经信委等相关委办共同关心指导下,由上海电器科学研究所(集团)有限公司、上海大学以及上海市普陀区政府共同出资组建,是上海机器人研发与转化功能型平台实施载体,肩负推动机器人产业转型升级、培育优质机器人企业、促进“中国制造”品牌国际化的历史使命,助力上海具有全球影响力的科技创新中心建设。