Coverity推出新的開源代碼分析
代碼的靜態分析不能夠找出所有的問題,有些時候漏洞存在于建構過程中。
軟件開發的過程具有多個層次。在最基本的層面是程序員寫的代碼,這些代碼接下來會被建構系統編譯,建構系統將這些代碼集中在一起以備部署。代碼分析廠商Coverity現在正在擴大其分析能力,期望超越靜態分析的層次以找出被構建系統忽視的漏洞。
新的分析模式有助于減少應用程序中的軟件缺陷。Coverity的新系統首先會提供給自己的商業客戶但是也會放到已經從開源軟件中減少了8500個軟件缺陷的開源掃描中。
Coverity的首席技術官Ben Chelf稱,建構系統本質上是代碼的裝配線,它將寫好的代碼集中到一起。通過分析建構系統,我們會找到不同于以往分析代碼本身的一些東西。
他還解釋稱,建構分析軟件會監視軟件的建構過程,而不是分析分析實際建立配置文件本身。
Coverity所做的是讓每一個建構系統都具備的監視功能向操作系統發出調用,并執行該操作,這樣所有的信息都會處于監視之中。所以 Coverity擁有超過80個不同的系統調用來獲取建構信息,然后只需讓一個包裝腳本監視就可以了。這樣以來,就可以建立可靠的圖表了。
開源掃描
Coverity從2006年開始就為軟件缺陷進行開源代碼的掃描。起初,Coverity Scan 是由美國國土安全部支持的,但是現在=這項工作由Coverity自己運行并提供資金上的支持。Coverity Scan著眼于幾百個開源項目,旨在幫助我們尋找并修復軟件瑕疵。
Chelf指出該計劃旨在盡快向開源掃描添加建構分析儀,盡管他并未告知具體的實施時間。Chelf說:“這想計劃一直在我們的開源掃描的路線圖之中,實施只是時間安排上的問題。Chelf認為Coverity建構分析系統是在代碼分析市場中將占據一席之地。
在這之外,Coverity的競爭對手Klocwork聲稱他們現在也可以建立類似的建構分析系統。“現在,我們的大多數建構分析技術都用來為客戶的建構系統提供自動化的查找服務以便能有效而準確地分析代碼。”Klocwork的營銷總監Brendan Harrison說,“對于代碼深度分析來說,這是一項必不可少的功能。此外,我們過去曾合作的許多用戶都使用我們的分析功能并通過結構化的代碼清理來優化自己的建構過程。”
防止開源攻擊
Coverity建構系統也能讓開發人員確保自己編寫的代碼沒有在無意中為攻擊大開方便之門。
Chelf解釋稱,在與Palamida的軟件合作過程中,一個程序員可以檢查整個建構過程以識別是否在開源代碼中存在可以被攻擊的缺陷。Palamida保存了更新的開源數據庫和應用程序,并且如果有舊的,具有潛在威脅的開源代碼被使用時,它會監測出來。
來自Coverity的新型代碼分析由新的Coverity整合中心執行,該中心旨在將各種代碼分析的片段聯系起來,為開發人員提供全新的認識。作為 Coverity防護代碼分析(用來進行靜態代碼分析和新的建構分析)的伙伴,整合中心也可以實現今年早些時候推出的架構分析。
“有多種不同的分析軟件的系統,從架構角度,從建構角度已經從代碼角度,”Chelf說,“我們可以選擇任何喜歡的方式。所有這些不同的角度都能幫助我們以不同的方式找到軟件中的漏洞。”
【編輯推薦】