Synopsys把关软件品质安全 协助企业快步挺进工业4.0 智能应用 影音
DForum0522
member

Synopsys把关软件品质安全 协助企业快步挺进工业4.0

  • DIGITIMES企划

台湾新思科技业务协理 杨育仁
台湾新思科技业务协理 杨育仁

在全球电子设计自动化(EDA)业界颇负盛名的新思科技(Synopsys),自2014年开始调整业务重心,除了既有之半导体设计软件、验证平台、知识产权(IP)、IC制造软件及FPGA解决方案等传统强项,更藉由其整并的Coverity及Codenomicon等软件安全解决方案产品线,协助企业提升品质及安全的软实力并转化为抢滩工业4.0、物联网的成长硬实力。

台湾新思科技业务协理杨育仁指出,综观德国的工业4.0战略计划,其间蕴含的关键技术,即是虚实整合系统(CPS)、物联网(IoT)、服联网(Internet of Services)等重要项目,许多人都将工业4.0诠释为第四次工业革命。回顾历史,第一次工业革命始于1800年代,藉由蒸汽机的发明,大量生产人力,可谓意义重大;第二次工业革命发生于1900年代,以电力的广泛应用,开启了尔后大量生产时代;第三代工业革命则发生在2000年代,重点在于透过IT技术的辅助,协助制造业产制高品质的产品。

至于第四代工业革命,是以CPS为核心驱动智能生产,然而杨育仁认为,此阶段的重点无疑正是软件开发,由软件赋予工业4.0灵魂。影响所及,市场开始出现明显转变,许多变化皆与软件息息相关,例如美商GE的软件营收已大于全球知名CRM解决方案供应商Salesforce,即是值得深思的现象。

工业4.0灵魂即是软件  品质与安全不容含糊

细究企业强化软件布局的过程,开源码软件(Open Source Software;OSS)着实扮演极为重要的角色,举凡物联网、供应链整合应用、云端架构,其间都夹带大量OSS程序码,尽管此一现象,确实有助于快速提升产业竞争力,但也悄然酝酿莫大危机,只因为肇因于软件失灵及安全性侵害所带来的风险,恐将对企业关键任务应用造成严重冲击。

杨育仁表示,据统计,全球软件开发者超过600万人,每天产出6,000万行程序码,每年因软件陷缺(Defects)而衍生的经济损失高达600亿美元,由此观之,软件品质与安全所牵动的经济产值至为巨大。

他也引述由Capers Jones所做的「Applied Software Measurement」分析报告,倘若在程序码开发阶段便及早察觉缺陷,修复成本仅屈屈25美元,但尔后一路进入单元测试、功能测试、现场测试直至上线使用等不同阶段,愈晚发现陷缺,修复的代价就愈高,甚至可能超过16,000美元。在此情况下,企业务必审慎看待软件测试,必须设法化被动为主动,争取时效尽早挖掘潜在陷缺,继而尽速解决问题,如此才能提前消弭未来可能失控的危机,凡此种种,即是Coverity一以贯之的发展信念,旨在让企业在软件开发生命周期(SDLC)的前期,便可找到并修复关键的软件品质及安全性漏洞问题。

及早挖掘潜漏洞  大幅减轻技术负债

具体而言,论及软件测试经济学的精髓,其实很简单,即是当软件已提供予最终用户时,才赫然发现陷缺,则企业为了解决这道难题,即必须动员大量人力,且将大幅垫高沟通成本,同时执行修复的路径变少,意谓迅速顺利除错的机率降低,致令企业蒙受沈重的「技术负债」。

然而要如何及早察觉软件品质及安全性漏洞问题?杨育仁建议,不妨藉由动态测试与静态测试交互运用,其中动态测试为Outside In做法,旨在模拟软件的运行与使用状态,偏向功能性测试;至于静态测试则是Inside Out做法,属于形的测试方式,审阅的范围包括软件的规范、模型与文档。至于测试重点,将同时含括品质与安全,其中品质测试目的在于集结软件相关的单元与系统组件,检查程序的功能正确与否,并与预期的行为目标进行比对,安全测试旨在查找程序码当中的漏洞,评估被攻击者利用的潜在弱点,并反覆查找可能有所忽略的盲点。

环顾SDLC,新思科技所提供的软件品质与安全解决方案,主要集中在软件的实施(Implementation)与测试等两个阶段,至于涵盖的范畴,则包括了属于实施阶段的单元测试、静态程序安全检测(SAST)、软件组合分析(SCA)、软件架构执行分析(Architectural Enforcement),以及测试阶段的功能测试、应用协定的模糊测试、安全检测、交互式应用系统安全测试(IAST)。

适用于上述实施阶段的产品项目,包含Test Advisor Dev(单元测试)、Coverity(静态程序安全检测)、AppCheck(软件组合分析)与Architecture Analysis(软件架构执行分析);适用于测试阶段的产品项目,则有Test Advisor QA(功能测试)、Defensics(通讯协定模糊测试)、Coverity(安全检测)及Seeker(交互式应用系统安全测试)。

总括而论,随着软件在IoT、工业4.0等相关产品设计的比重大幅提高,而后续衍生的应用情境,实与制造业关键营运命脉高度相关,因此如果在软件品质与安全等方面有所疏失,可谓后患无穷;然而避免出现软件缺陷绝非易事,只因为现今软件程序码的撰写任务,往往散布于不同工作团队,其大量引用OSS或第三方软件,使得整个供应链异常复杂,所以企业必须善用诸如Coverity之类的E化检测工具,方能迅速提升可视性与控制能力,自动全面执行可能含有缺陷的路径,终至确保软件品质。