如何從網(wǎng)絡安全事件中恢復:企業(yè)必須吸取的教訓
在Log4Shell和Spring4Shell網(wǎng)絡攻擊事件之后,企業(yè)必須吸取三個關(guān)鍵教訓,以便在使用開源軟件時保持安全:
1.發(fā)現(xiàn)風險
為了安全地開發(fā)、管理和維護軟件供應鏈,企業(yè)必須了解所有環(huán)節(jié)。
為了確保安全,企業(yè)需要一個清晰的清單并真正了解所有正在使用的開源組件。不能盲目相信開源軟件組件的出處和安全性。如果像Log4Shell、Spring4Shell和SolarWinds這樣的事件教會了人們什么的話,那就是需要更多地了解企業(yè)內(nèi)使用的所有不同軟件。
這包括它們的開發(fā)方式和位置,以及它們在企業(yè)中的使用位置,以便在發(fā)現(xiàn)漏洞時可以迅速解決問題以限制損害。
2.不要過于復雜
第二個問題是需要企業(yè)自己防護。在開發(fā)框架或庫時,做好這一點很重要。采取更簡單的方法也很重要,這樣就不會在不知不覺中引入漏洞。
專注于做好幾件事比糟糕地引入很多特性要好。功能越多,出現(xiàn)嚴重漏洞的可能性就越大。因此,在查看想為產(chǎn)品和服務添加哪些新功能時,仔細考慮是否需要它們,并且只使用一些必不可少的功能。
盡管需要快速發(fā)展,但企業(yè)需要確保他們花費時間真正考慮他們需要哪些功能以及為什么需要,因為任何超出要求的功能都可能為漏洞敞開大門。
3.外部化處理
第三,企業(yè)在設計和開發(fā)不同的應用程序時需要意識到橫切關(guān)注點。無論是用于日志記錄、指標、加密通信還是緩存,重要的是要考慮這些持續(xù)存在的問題是否需要在應用程序中處理,或者是否可以將它們在應用程序之外處理。
例如使用日志記錄,許多框架可以將日志發(fā)送到各種位置,包括稱為標準輸出的輸出文件和由企業(yè)的應用程序負責的警報服務??梢圆扇「谩⒏踩姆椒?。與其相反,需要考慮讓其應用程序?qū)⑷罩景l(fā)送到標準輸出,然后利用日志收集器服務將日志發(fā)送到所有需要的終端位置。通過將這些問題進行外部化處理,開發(fā)人員需要擔心的代碼和配置就更少了,因此可以減少可能出現(xiàn)的漏洞。
采取積極措施
Log4Shell和Spring4Shell漏洞只是強調(diào)了企業(yè)需要采取積極措施來保護他們的環(huán)境。然而,隨著創(chuàng)新的加速,這只會變得更加困難,為企業(yè)創(chuàng)造越來越多的機器身份以供關(guān)注。
試圖監(jiān)控和管理所有這些機器身份,同時保留所有軟件組件的庫存并確保開發(fā)保持簡單并非易事?,F(xiàn)在的企業(yè)可能缺乏技能和資源。他們應該利用自動化和安全工具來確保減少漏洞數(shù)量,這樣就不會像遭遇Log4j網(wǎng)絡攻擊那樣受到廣泛的影響。