在2017年,網絡攻擊者在一個金融軟件包中植入了NotPetya惡意蠕蟲。當很多企業更新他們的軟件時,就會被感染。NotPetya蠕蟲病毒因此迅速傳播,并為全球各地的企業帶來數十億美元的損失。美國政府稱其為“史上最具破壞性和代價最高的網絡攻擊”。
在三年后,網絡攻擊者侵入了SolarWinds公司的Orion網絡監控工具集的軟件升級過程。其帶來的破壞性也是十分廣泛的。
全球網絡安全咨詢機構NCC集團的高級安全顧問Viktor Gazdag表示:“訪問軟件開發管道,可能使網絡攻擊者有機會接觸網絡基礎設施并獲得知識產權。”
對DevOps管道的網絡攻擊正在增加
可以說,網絡攻擊通常是孤立的,并且依賴于高度積極和熟練的攻擊者。事實上,DevOps管道成為犯罪團伙的主要目標。
根據安全服務商Argon公司在上個月發布的一份研究報告,與2020年相比,網絡攻擊者在2021年對軟件供應鏈的攻擊數量增長了300%以上。常見的策略包括在流行的開源軟件包中植入惡意代碼或利用已經存在的漏洞,損害持續集成(CI)/持續交付(CD)管道工具,并利用硬編碼憑據和其他錯誤配置和安全問題。開源組件通道是一個受網絡攻擊者歡迎的目標。
根據Sonatype公司在去年9月發布的一項研究報告,與2020年相比,去年對開源軟件供應鏈的攻擊增加了650%。其攻擊面很大。根據Sonatype公司的數據,超過3700萬個組件和軟件包位于前四大開源生態系統中。去年開源軟件下載量達到2.2萬億次,與2020年相比增長了73%。
為什么DevOps管道易受攻擊
Gazdag表示,軟件開發人員通常具有較高的權限級別和訪問權限。如果正在生產的軟件是為外部使用而設計的,那么影響可能會大得多。他說,“網絡攻擊者也有機會在最終應用中站穩腳跟。”
因此,DevOps管道應該具有更高級別的安全性。但與其相反,他們有很多薄弱的安全實踐和暴露的基礎設施和憑據。GazDag說,“如果使用Shodan并搜索開發工具‘Jenkins',就會在互聯網上看到很多可用和可訪問的Jenkins基礎設施。”
Gazdag說,持續集成(CI)/持續交付(CD)基礎設施通常沒有得到與企業其他領域同等程度的關注。隨著現代發展實踐,情況變得越來越糟。
Gartner公司分析師Dale Gardner說:“隨著企業轉向DevOps,我們在開發方面采取的一些控制措施有放松的趨勢。我們希望變得靈活,而DevOps的方法是,我們正試圖快速發布代碼。限制和控制阻礙了這一點。”
對DevOps管道的攻擊類型
Linux基金會開源供應鏈安全主管David Wheeler表示,三種最常見的攻擊類型是依賴混淆、誤植域名和惡意代碼注入。
依賴混淆也稱為名稱空間混淆,是指網絡攻擊者找出專有企業軟件包的名稱,并創建具有相同名稱和較晚發布日期的開源軟件包。某些管道工具會自動嘗試下載最新版本的軟件包,并最終獲得了帶有病毒的軟件包。
誤植域名是指網絡攻擊者創建一個名稱幾乎與真實軟件包相同的開源軟件包,希望被攻擊者輸入錯誤并使用錯誤的庫。
惡意代碼注入是網絡攻擊者將惡意代碼添加到合法開源項目的地方。他們可以通過竊取項目維護者的憑據,并以他們的名義上傳代碼、自愿參與項目,或篡改開源開發工具來做到這一點。
開源軟件中的漏洞
開源軟件面臨很多漏洞的問題,而網絡攻擊者可以利用這些漏洞。應用安全測試商Synopsys公司在去年4月審查了1500多個企業軟件項目的代碼,其中包括內部和商業項目,發現98%的開源軟件包含一些開源代碼。對于一般的應用程序,75%的代碼庫是開源的。
更可怕的是,在Synopsys公司的分析中,84%的代碼庫至少有一個漏洞。那是在Log4J漏洞曝光之前,安全研究人員稱之為多年來最危險的Java攻擊。此外,91%的開源軟件在過去兩年中沒有進行過任何維護。
根據Flashpoint公司基于風險的安全在今年2月發布的一份調查報告,2021年有28000多個新漏洞被披露,創歷史新高。其中4000多個漏洞可以遠程利用,其中包括公開利用和記錄的解決方案信息。
分析報告稱,Log4j漏洞特別危險,其影響超過了所有其他漏洞。該庫出現在6200多種其他軟件產品中,并且供應商咨詢的數量繼續攀升。
如何保護軟件開發管道
企業應該做些什么來保護他們的軟件開發管道?它從對開發人員的教育和培訓開始,制定最佳安全實踐,如雙因素身份驗證和代碼審查,并安裝監控工具來標記可疑活動。
它從開發人員開始
托管服務提供商Ensono公司網絡安全高級總監David Gochenaur表示,在代碼開發和部署過程的安全性方面,內部開發人員和第三方軟件商店都需要進行監督,需要以不同的方式接觸這些開發人員。
Ensono公司并不對外銷售軟件,但它需要定制軟件來維護和管理客戶的門戶網站。這些門戶網站的安全性至關重要。Gochenaur說,“我們為許多客戶管理系統,并收集有關這些系統狀態的數據,并將其放入門戶。”
這意味著Ensono公司的工具可以訪問這些客戶系統,這使得Ensono公司成為網絡攻擊者的高價值目標。
Gochenaur說,“因為客戶太多了,要確保客戶A不能進入客戶B的數據。從國家安全角度和隱私角度來看,我們的一些客戶非常敏感。”
因此,在審查供應商時,第一個挑戰是非常嚴格。他說,“你必須非常了解他們,SolarWinds數據泄露事件就是一個很好的例子,還有許多其他第三方的例子,它們沒有很好地保護自己,并被用作威脅行為者的切入點。”
Gochenaur說,“這其中包括外部軟件開發公司。當我們使用第三方服務時,我們會非常嚴格地審查他們,以確保他們有適當的流程和控制措施,并確保從他們那里得到的任何東西都是安全的,這包括審查他們的測試程序和他們在開發環境中實施的安全控制。我們還在合同中加入了缺陷處罰。”
然后,對于該公司自己的開發人員來說,最大的問題是不能使用可公開訪問的代碼庫,Gochenaur說,“因為任何東西都可能存在,可能有一些代碼看起來非常棒,但它允許網絡威脅參與者訪問我們正在做的任何事情。”
Gochenaur表示,開發人員可能會采取許多其他措施來幫助他們生成更安全的代碼。一種有助于提供安全培訓和激勵的策略是由第三方和內部團隊進行滲透測試。他說,“這將對所開發產品的質量產生巨大影響。”
事實上,當Gochenaur對公司軟件進行滲透測試時,開發人員總是要求參加測試并觀看白帽黑客的工作。他說,“他們想了解自己在做什么,并從滲透測試人員發現的漏洞中學習。它給了開發人員一種不同的思考方式。現在,當我引入第三方服務時,我的一個要求是技術團隊可以了解發生了什么,并向第三方學習。”
使用適當的工具和控件
為了幫助該公司的開發人員做出正確的決策,并確保他們的安全,Ensono公司實施了多項安全控制措施。例如,多因素身份驗證有助于防止外部人員訪問DevOps管道。該公司使用私有代碼庫,以便開發人員可以從已經審核和批準的代碼中進行選擇。
Ensono公司還擁有專門負責修補系統的團隊,以確保部署的所有內容都是最新的。Gochenaur說,“我們定期掃描整個環境以尋找漏洞。”
凱捷公司的DevOps架構師Venky Chennapragada表示,企業可以做其他事情來幫助鎖定他們經常錯過的開發管道。例如,企業應該為非生產暫存環境和生產設置單獨的管道,并限制訪問這兩個系統的人員。為了進一步鎖定訪問權限,企業應該使用企業級訪問管理系統,例如Active Directory或LDAP。
許多企業為軟件開發團隊提供單獨的用戶數據庫或使用內置的用戶管理工具,而擁有一個單獨的系統更容易。
Chennapragada說,“如果我要與Active Directory或LDAP集成,就會進行安全審計。一些工程師可能想繞過安全審計,因為他們沒有正確安裝東西。”
基于角色的訪問是可能會讓開發人員感到討厭的另一種控制方法。Chennapragada說, “授予完全訪問權限總是很容易,而不必創建用戶組和角色,但這是一種不好的做法。”
最后,Chennapragada建議企業仔細跟蹤進入其軟件的所有組件,尤其是開源庫。他說,“開發人員傾向于在他們的軟件中包含開源代碼,它可能存在錯誤和安全漏洞。”
外部庫需要經過安全掃描和代碼審查,開發人員應僅限于使用經過認證的依賴項。而其他有吸引力的工具包括操作系統變體和插件。例如,Linux有數百萬種不同的風格。Chennapragada說,“確保他們使用的任何版本都經過強化,并且是最新的。流行的開發工具Jenkins是一個開源自動化服務器,帶有各種插件。插件的安全可能非常脆弱。網絡攻擊者可以將惡意代碼放入插件中,從而接管受害者的系統。”
網絡安全供應商ImmuniWeb公司首席執行官Ilia Kolochenko說,有許多可用的安全控制和流程,它們成本不高,也不會產生太多開銷,但確實需要一些深思熟慮的計劃或培訓。例如,AWS公司提供了成本不高甚至免費的內置安全控制和工具,他說。“人們不會選擇它們,因為他們不知道這些工具,或者認為不需要它們,或者很難挖掘和利用它們。”
他說,“云計算使部署持續安全監控和事件響應等工具變得更加容易。可以檢測到可疑活動并立即停止它,用干凈的文件替換,并在不離線的情況下繼續操作。云計算提供了許多很好的機會來自動化其持續安全監控和事件響應,但有些人沒有使用它。"
提供軟件材料清單(SBOM),但也掃描漏洞
許多業內人士一直在推動軟件材料清單(SBOM)。去年5月,美國總統拜登發布了一項行政命令,要求向美國的政府部門提供軟件材料清單(SBOM)。在兩天后,云原生計算基金會發布了一份最佳實踐白皮書,建議所有供應商在可能的情況下提供軟件材料清單(SBOM),并提供明確和直接的依賴關系鏈接。
軟件材料清單(SBOM)將幫助企業在其環境中找到易受網絡攻擊組件的實例。例如,Log4j在去年12月進行了修補,但截至2月11日,40%的下載仍然是易受網絡攻擊的版本。
技術咨詢機構Ascent Solutions公司的IEEE高級成員、網絡安全策略師Kayne McGladrey說:“如果你買一塊面包,其包裝上就會寫上成分清單。而采用軟件也需要企業了解軟件材料清單(SBOM),并做出明智的風險決策。”
McGladrey期望有遠見的軟件供應商開始將這些列表包含在他們的軟件中,因為這是他們的客戶希望看到的東西。他建議軟件供應商提供有關他們的軟件應該如何運行以及不應該如何運行的信息。他說,“如果軟件供應商提供了他們軟件的正常行為列表,我們可以說,‘這個軟件的行為異常,因為它連接到不應該連接的服務器。’”
無論軟件材料清單(SBOM)是否成為強制性的,企業都應該掃描他們的軟件以查找已知漏洞和其他潛在的安全問題。網絡安全供應商NTT Application Security公司的研究員Ray Kelly說,現在所有主要的掃描軟件都在尋找易受攻擊的Log4j數據包。
很明顯,很多企業并沒有使用這些工具。Kelly說,“盡管補丁已經發布了兩個月,但還有些公司仍在使用舊版本的Log4j,這說明他們在保護代碼安全方面遠遠落后。”
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。