圖片來源: 

臉書

臉書(Facebook)近日對外揭露該公司已研發多年的Zoncolan除錯平台,它是以靜動分析自動檢查大量的程式碼以找出潛在的臭蟲、安全漏洞或是隱私漏洞,並已可在30分鐘內,檢查逾1億行的Hack程式碼。

根據臉書工程團隊的說明,他們是在多年以前啟動了Zoncolan專案,當時他們手動審核以前的安全漏洞,包括臭蟲報告、根本原因與相對應的修補程式,同時抓漏獎勵專案也帶來有用的資訊,透過數百份的報告來判斷哪些類別的問題適合靜態分析,並設計出Zoncolan系統來偵測它們。

Zoncolan使用了抽象解釋(abstract interpretation)技術來追蹤程式碼中由使用者控制的輸入,它在分析程式碼時,建置了可代表程式碼中的函數行為,以及這些函數如何互動的資料結構,再形成每個函數行為的摘要,而且只紀錄了與潛在危險資訊流有關的屬性。

Zoncolan會追蹤自資訊源頭到資訊目的地的資訊流,據此建立規則,每個規則都代表某種型態的潛在安全漏洞,當Zoncolan發現有資訊流符合其中之一的規則時,就會提出警告,並附上資訊流的完整描述。

以上述方法即可在不到30分鐘內掃描上億行的程式,若要以人力檢測規模如此龐大的程式碼,通常是經年累月才能完成。

臉書表示,儘管Zoncolan平台無法逮到所有的問題,但卻能發現類別上的問題,可縮短安全工程師檢查程式碼的時間,也透過規則來避免類似的問題再度發生,而且所有的規則都紀錄在案,方便未來進行教育或變更。

臉書已打造一個廣泛的基礎設施來執行Zoncolan,它平均每天可評估數千項的程式變動,去年Zoncolan協助辨識超過1,100個被列為重要或更嚴重的安全問題,以要求程式碼作者或安全工程師立即採取行動。

目前Zoncolan平台主要應用在臉書所開發的Hack程式語言上,未來臉書除了計畫將它擴大到其它臉書所使用的程式語言之外,也打算以Zoncolan的核心元素來打造一個開源工具,讓臉書以外的工程師,也能享受該平台所帶來的便利。


Advertisement

更多 iThome相關內容