憑藉自動檢測機制 清理開源安全漏洞 智慧應用 影音
工研院
Event

憑藉自動檢測機制 清理開源安全漏洞

Black Duck Software亞太區總經理陳澤輝(Keith Chan)。
Black Duck Software亞太區總經理陳澤輝(Keith Chan)。

現今多數企業的軟體開發流程,實與過去大不相同,愈來愈懂得透過網路搜尋自由開源授權軟體元件(FOSS),並插入於程式碼當中;不僅如此,即使企業將程式開發委外,外包廠商往往也會採用FOSS,更有甚者,企業使用的第三方商用軟體,裡頭亦有FOSS。

總之,開源代碼已透過各種途徑,大量充斥於企業應用環境,其間是否潛藏安全風險,實為重大課題。

Black Duck Software亞太區總經理陳澤輝(Keith Chan)表示,根據統計,全球排名前2,000大企業,採用開源軟體的比例直逼40%;值得一提的,這些採用FOSS的大型企業機構,並非將此用於聊備一格的非關鍵型應用,而有高達66%比例用在諸如財務等關鍵系統。在此前提下,企業基於安全管理角度,著實需要建立一套有效機制,藉以管控伴隨FOSS而來的所有潛在風險。

開源軟體如兩面刃  有好處卻也潛藏危機

為何愈來愈多大型企業機構,對開源軟體趨之若鶩?道理很簡單,因為此舉蘊含了諸多好處,最顯而見的誘因有三,一是彈性,只因為只要修改、混合或重複運用這些FOSS,便可隨時靈活滿足各種應用開發需求;二是創新,眾所周知,開源社群充滿了一大群饒富創意的好手,也因而繁衍眾多極具創新意涵的作品,比起市售商用軟體套件,可說更具前瞻性;三是成本優化,企業將本求利,總是希望運用最少的支出,換取最大的報酬,而使用FOSS所需付出的金錢代價,遠遠低於採購商用軟體套件,甚至其成本趨近於可以略而不計的輕微地步。

「在享受好處的同時,企業亦應留意箇中風險,」陳澤輝說,歸納開源軟體可能帶來的危機,首先是技術風險,企業所選用的FOSS版本,是否具備成熟可用的良好品質,務須審慎確認;其次是安全風險,回顧2014年,肇因於OpenSSL的Heartbleed心淌血漏洞,可謂震驚各界,只因駭客可據此在3~4小時內輕易竊取害企業的使用者帳號與密碼,嚴重性可見一斑,面對諸如此類的危機,企業理應有所防範。

三是法規風險,企業必須體認到,不同的開源軟體,往往適用於不同的授權規範,例如被廣泛採用的GPL,便具有較高的授權拘束性,用戶在散布時需遵循GPL條款,否則就有可能招致侵權紛擾,而企業在使用FOSS前,是否理解其所適用的授權規範?即使刻意迴避開GPL,然而該FOSS底層是否仍挾帶若干必須適用GPL的元件?凡此種種,都有必要一探究竟。

陳澤輝進一步闡述上述風險的嚴重性。以安全風險為例,如同2014年4月期間,甲骨文(Oracle)一口氣發布了多達104項安全修補程式,範圍遍及Java、Fusion Middleware與MySQL,倘若企業連自己使用了哪些FOSS都渾然不知,那麼究竟哪些部門的哪幾支程式,應不應該立即進行修補,恐陷於無從得知的窘境,如果此時處理不當,則相關的安全漏洞,便可能一直如影隨形地留存於企業內部的應用環境,後果不堪設想。

務須建立材料清單  以利自動檢測漏洞

但問題來了,企業縱使知道開源安全性的嚴重性,也認為需要善加管控,但真的要做好此事,其實並不容易。首先,開源軟體的安全漏洞通知機制,往往不甚友善,使用者必須自己隨時主動查看,對於企業應用程式開發團隊,無疑是一大挑戰。

其次,在許多情況下,單一FOSS項目可能被套用在許多應用程式,有一個實際案例,某Java版本曾傳出漏洞訊息,但一家擁有逾6,000位開發人員的銀行,根本不知行內有哪些應用程式內含此版Java,若欲追根究底,起碼得耗時5年以上才能清查完畢,彷彿大海撈針,但一些面向廣大顧客的應用服務,容許這般漫長等待?

陳澤輝指出,前述那家銀行,歷經當時震撼教育,便亟思建立一套自動化管理機制,藉以妥善因應日後層出不窮的漏洞訊息,意即不管哪些FOSS出現任何弱點,該行都能在第一時間確知自己是否受到影響,如果是的話,也能立即掌握影響範圍何在,而無需在累積長達十餘年的大型軟體倉庫中耗時查找。

著眼於此,Black Duck設計出開源安全性漏洞的自動檢測與修復方案,並協助用戶建立一目瞭然的FOSS材料清單,以便於迅速判斷其間是否存在安全漏洞或侵犯法規等種種風險。

此套方案名為「Black Duck Hub」,係依據軟體開發流程作為端對端的設計架構,使企業用戶能透過選擇、掃描、審核、存放、安全、交付等6道嚴謹程序,逐一過濾開源安全性,只要發現有安全疑慮,便能加以棄用或修復,如果經證實並無安全隱憂,即可存入資料庫,以利日後重複使用。

對此陳澤輝補充,Black Duck擁有源自逾6,000網站、超過2,400項不同軟體授權的Knowledge Base,便於用戶預先篩選優良的開源語言或Container等工具,接著動用Black Duck OSS Logistics掃描機制,確認選用標的之源頭已否歷經任何竄改程序,及是否挾帶隱藏代碼,經驗證無誤便可歸檔於白名單以利取用,搭配日後持續性監控,過濾這些白名單是否變調,避免其開發流程或環境出現危機。


關鍵字