https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

Open Source的更新管理

2005 / 09 / 05
王婉伶
 Open Source的更新管理
更新修補程式是維護任何系統或應用軟體安全性的第一步驟,連開放原始碼的Linux系統也不例外,開放原始碼的好處在於任何組織或程式開發人員只要有興趣皆能取得程式的原始碼進行開發,當然所有的程式碼撰寫並無法做到百分之一百的安全,而開放原始碼又是如何進行更新修補程式呢?

然而再安全的系統還是會有漏洞產生,此時更新修補程式就成為安全防護的第一道防線,開放原始碼的Linux面對來自不同開發人員/團隊的開發方式裏,如何做到系統套件的更新修補呢?台灣網威股份有限公司(Novell)資深技術經理簡兆宏表示,Novell旗下有一SUSE的開發團隊,從1993年開始,便開始從事Linux系統開發工作。SUSE所扮演的其實是溝通的角色,主要是政府機關、企業、客戶、硬體及軟供應商和開放原始碼研發人員及社群。希望能降低客戶的TCO及讓客戶容易部署和維護。


安全從頭開始做起
SUSE在開發Linux系統的第一步驟會先訂好版本及所需功能,再由全世界數十萬個開放原始碼的開發套件中挑選需要的功能套件,SUSE針對所需要的套件,檢查每個套件程式碼的漏洞,平均大約會產生6000條以上的修補程式,然後在各種平台上(如x86、Intel 64、AMD64等)建立適用的版本,在各種平台上所產生的問題也不同,因此完全以人工的方式來運作,這也是SUSE對於安全品質的要求。最後經過一些軟體的安全測試方完成最後的企業版本,而每個企業版本的維護時間是5年。

當工程師寫完一修正程式,便會將其送入AutoBuild的機制,自動進行測試、封裝,若中間過程出現問題會立即回報,工程師會再立即進行修改,由於中間過程都自動化來運作,所以當其發現漏洞到完成Patch測試,傳送到客戶手中,最少僅需要1.5個小時,即可完成修補更新。

SUSE同時也會維繫所有開放原始碼的開發者,其可能是組織(如Apache)或個人(如Samba),當發現其程式有漏洞同時也會通知開發者進行修改。同時還會定時的監看所有的Security Information Channel並做回報.。匯整之後,在提出的解決方案中會發佈所有安全的漏洞、不符安全事項或安全規則等,接著公佈其修補程式並更新。最後會將其程式送出進行安全認證(如CC-CAPP/EAL等)。


Linux的安全挑戰
開放原始碼最大的挑戰在於,開放原始碼因其開放的特性,所以有許多不同的研發團隊,每一研發人員/團隊的開發方式各有巧妙不同,所以也較難掌控其品質,故發表的版本一定會有不同程度的瑕疵,而這一部份也是外界對開放原始碼一直存在的質疑,然而SUSE便是在彌補這方面的缺失,SUSE會去檢查其撰寫完成之程式碼,並依安全的原則來進行修改,藉以保障其提供的系統的安全品質。


Linux更新工具
SUSE Linux同樣上也有更新管理工具YaST,其為系統的控制台,可控制整個系統的軟硬體資訊,YaST裏的online update(YOU)機制,會到SUSE的Download Site抓取更新的安全修補程式,在下載安裝前會自動檢查及比對系統內所需或已安裝套件,根據既有的修補程式套件,去判斷出還需要那一版本的修補程式套件,再下載所需修補程式套件做自動更新。


結論
世界上沒有百分之一百的安全,包含開放原始碼的Linux系統也是,所以更新修補程式就是保障其安全性的第一道防線,而由於其開放的特性,其漏洞的修補也獲得來自各方擁護者隨時的檢視及修改。但安全的執行畢竟還是以人為本,倘若人們無法適切的應用,仍會造成安全性的問題。