Synopsys把關軟體品質安全 協助企業快步挺進工業4.0 智慧應用 影音
台灣玳能
參數科技

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化檢測工具,方能迅速提升可視性與控制能力,自動全面執行可能含有缺陷的路徑,終至確保軟體品質。