開源和程式碼質量審計已成為併購中盡職調查的重要組成部分
當收購一家公司,尤其是軟體公司時,有一點非常重要:找到高效、可靠的方式來評估包括軟體程式碼在內的知 識產權的質量和源頭。如果目標公司的軟體程式碼中存在嚴重問題,收購進度將極其緩慢,甚至擱置。因為解決這些問題費時費力,甚至不可修復。執行開源和程式碼質量審計已成為了很多企業在併購時盡職調查的一個標準組成部分。
開源無處不在。研究人員發現開源元件的使用多年來一直處於增長的狀態。由於開源現在如此普及,他們越來越關注構建在開源元件基礎上的應用程式的安全性。除了手動跟蹤開源元件的使用,企業只能通過軟體元件分析(SCA)工具以確定其程式碼庫中的開源元件。調研機構451 Research公司將軟體元件分析定義為“對已經內建到應用程式中的庫的識別,並且這個庫主要用的是第三方開源元件”。此識別功能可幫助企業發現未修補的程式碼,許可問題以及由於使用開源而可能存在於程式碼庫中的潛在安全漏洞。
- 為什麼要使用軟體元件分析?
軟體元件分析最常見的用途是公司用來監控和識別自己使用的開源元件和框架。但經過詳細研究和案例收集,451 Research發現,軟體元件分析主要用途是在兼併和收購(M&A)領域。
很多初創公司會迅速將新應用推向市場,他們使用越來越多的開源元件。因此,在併購交易中,收購方要承擔軟體安全性的責任,由於開源管理仍然相對不成熟,他們需要藉助工具分析被收購方的產品潛在的風險以及這些程式碼庫中的智慧財產權。
- 清楚瞭解在企業應用程式中開源元件的使用
有很多統計資料顯示在典型軟體應用程式中有多少開源元件。但是,這些資料可能並不全面,會產生誤解。為了更清楚地瞭解企業使用開源元件的增長趨勢,我們應該考慮新應用程式中開源的百分比。
新思科技公司釋出的《2018 年開原始碼安全和風險分析》(OSSRA)報告指出平均每個程式碼庫由57%的開源元件。該報告分析了2017年經過審計的1,100多個商業程式碼庫中的匿名資料。這就意味著我們掃描的每個程式碼庫中有一半以上是由開源元件組成的。值得一提的是,黑鴨開源審計重要的案例包括併購交易的盡職調查。有鑑於此,OSSRA報告中的資料可以成為併購交易中開源趨勢的關鍵參考。
- 更快交付軟體產品意味著更多的開源元件
正如451 Research在其簡報中指出的那樣,應用程式需要更快推出市場,迭代更加頻繁,這種趨勢將持續下去。在這些應用程式中使用開源元件已經屢見不鮮。現在的開發人員在軟體開發生命週期的任何階段都可以方便地使用到第三方編寫好的免費程式碼, 可以儘快交付軟體成品。
然而這種趨勢在併購交易中會有雙重的擔憂:公司必須瞭解他們併購回來的軟體中使用了哪些開源元件及其數量,以評估是否存在智慧財產權風險;另外,他們必須瞭解交易前的風險狀況,以保護投資回報率,並計算交易後所需的補救成本。
OSSRA報告顯示了:
- 96%被掃描的應用中存在開源元件,每個應用中平均有 257個開源元件
- 2017年經過審計的程式碼庫中有85%存在許可證衝突或者未知許可證
- 78% 被檢查的程式碼庫中至少包含一個漏洞,每個程式碼庫平均包含 64個已知漏洞
- 安全漏洞產生的實際成本
舉個例子會更加清楚這一點。想象一下,有家公司在收購Equifax,但是沒有進行開源檢測,那後果會怎樣?Equifax由於安全漏洞問題導致了超過1.4億人的個人資料遭到洩露,這已經不是什麼祕密。這是由於Apache Struts框架中未修補的開源漏洞造成的後果。到目前為止,這個安全漏洞已經讓Equifax蒙受超過4億美元的損失,並且負面影響遠不止於此。現在,我們再大膽想象一下: GDPR(《通用資料保護條例》)生效後,如果歐洲發生這種情況怎麼辦?那麼這次收購對投資回報率會有怎麼樣的影響?
黑鴨子軟體和451 Research公司的研究都一致指出:開源的增長勢頭在短時間內不會放緩。因此,併購方評估所收購的軟體是否安全的難度加大,在全面瞭解投資風險上也面臨更大的挑戰。
作者: 黑鴨按需審計部門市場營銷總監Shandra Gemmiti
注:美國新思科技公司 (Synopsys, Nasdaq: SNPS)已經於2017年第四季度完成對黑鴨子軟體公司(Black Duck Software)的收購。