采用開源Web應用:先破除“盲目”和“偏見”
就在不久前,開源Web軟件還只是企業的優勢領域;而現在,幾乎所有網絡領域都有大量基于開源的Web系統在運行。從網絡基礎設施設備到存儲系統再到云端企業應用,可以說,開源Web應用的足跡遍布所有企業。
盡管開源Web應用在企業的普及率非常廣,但令人驚訝的是,并沒有多少人在尋找漏洞以及保持開源系統的更新。對于開源人們帶有偏見的成分,并不像對某些操作系統的支持,例如Novell NetWare和Mac OS X。開源宣言是:開源就是開源,因此,它很“安全”。這里的設定是,鑒于開源代碼廣泛可用,意味著每個人都已經嚴格地審核它,并已解決其漏洞,讓其免受攻擊。也就是說,大家都在假設別人正在處理漏洞問題。
顯然,假定別人在處理漏洞問題并不是很好的可長期實行的信息風險管理戰略。圍繞SSL的安全問題就是很好的例子,這說明開源也不是沒有安全方面的挑戰。而且,根據Web應用安全漏洞掃描儀供應商Netsparker的最新研究發現,很多企業信任且依賴的開源Web應用包含很多安全漏洞。2011年以來,該公司已經掃描396個開源Web應用,共發現269個漏洞,包括跨站腳本(180)、文件包含(16)以及SQL注入(55)。
筆者常常很懷疑這種基于供應商的研究數據,但筆者在自己執行Web應用漏洞和滲透測試后也發現相同的結論。事實上,大多數漏洞(特別是關鍵漏洞)出現在開源平臺中,而且,還遠不止這些。筆者發現掃描儀只發現了一半的Web漏洞,另一半隱藏在老式的Web瀏覽器中。這就不只是傳統Web安全問題了,還可能影響所有應用。
不要盲目相信開源Web應用可以免受攻擊,就算它們是“免費”的或在非關鍵系統中運行。企業不僅要在其持續的安全測試中涵蓋這些系統,還需要考慮通過商業工具或開源工具來執行靜態源代碼分析。企業還應該確保定期補丁管理程序中開源軟件部分的執行。企業應該將其開源應用整合到其系統監控和警報、以及整體事件響應程序中。最重要的是讓開源系統處于檢查范圍中,決不能讓它們“離開視線”。