管理第三方軟件中的漏洞風險
詢問***信息官關于應用程序安全的問題,很多人都會談論在對自身產品的漏洞檢查方面作出的努力。
然而在很多情況下,風險并不存在于內部開發人員所編寫的代碼中,而在外部開發人員提供的組件中,開源庫或者第三方工具包。拿WebKit舉例來說:很多公司知道瀏覽器(例如蘋果的Safari或者谷歌的Chrome)都依賴于WebKit,還有很多其他應用程序也同樣如此,例如Entourage 2008, Yahoo!Messenger和Macromedia的Contribute3等。
依賴于第三方代碼的公司將安全交給其他開發人員的手中,惠普公司企業安全產品副總裁Barmak Meftah。
“公司通常不會考慮到第三方軟件給他們帶來的風險,以及使用開源軟件作為其堆棧的一部分的風險,”Meftah表示,“他們假設供應商和開源開發人員在應用程序開發過程中進行了安全檢查,而事實上,這種假設是錯誤的。”
為了保護其軟件安全,企業必須弄清楚哪些代碼組件構成了其代碼庫的一部分。***步是對開發使用的所有代碼進行檢查,漏洞管理公司Rapid7公司***安全官兼Metasploit公司總設計師HD Moore表示。
“即使開發團隊非常精通于他們的工作,并清楚他們的產品的樣子,可能也并不會注意到正在使用的后端庫的情況,而這在代碼審計過程中是需要涵蓋近來的,”Moore表示。
在任何代碼審計的開始,企業必須確定他們能夠評估一個軟件庫,無論是開源還是閉源。如果軟件庫是由第三方開發人員提供的,那么公司必須專注于合同用語上,包括***步獲得分析該軟件的許可,惠普公司的Meftah表示。
“我們看到在承包條款方面,越來越多的軟件開發商允許最終用戶對軟件做一些分析,”他表示。
一旦企業獲得了分析軟件的權利,開發人員和IT安全團隊需要做一個應用程序評估,并檢查軟件中存在的漏洞,無論是通過靜態分析還是通過監測開發商的支持論壇,或者通過跟蹤軟件修改的智能服務。
然后公司就可以作出明智的決定,是否修復軟件漏洞,或者如果修復漏洞不實際的話,使用運行時分析產品來硬化應用程序,以防止任何對關鍵漏洞的利用。
“任何通過該組件的異常活動都將被跟蹤,”Meftah表示,“只要你硬化了軟件,你可以盡情的使用這個有漏洞的軟件。”
很多公司存在的一個問題是,軟件庫的來源可能不是單一的供應商,Veracode公司的Wysopal表示。
“你接觸的每一個第三方可能也有自己的第三方,”他表示,“所以負責這方面工作的員工應該去詢問他們的第三方供應商,他們是如何處理應用程序安全的。”
這個所謂的嵌套第三方供應鏈問題可能會隱藏軟件的真正的來源,從而使漏洞修復變得更加困難。
即使找到了某個軟件庫可能依賴的代碼組件,企業仍然需要確定漏洞修復不會破壞應用程序本身。這個過程 是十分艱巨的,但是對于使用第三方組件的公司又是很必要的,Rapid7公司的Moore表示。
【編輯推薦】