開發與維運

SolarWinds更深一層的思考:如何從信任視角防禦供應鏈攻擊

頭圖(1)-02.jpg



APT攻擊愈演愈烈,與SolarWinds相關的安全反思已持續半月,阿里雲安全帶來了面向供應鏈攻擊特徵屬性的全面攻防觀察,以饗從業者。

後期精彩的APT內網對抗往往依賴於「先從外部撕開」一道口子,對於黑客而言,脆弱的供應鏈無異於一塊「新大陸」,成為擊穿「關鍵基礎設施」的最佳切入點。

應用開發方式變革引入供應鏈風險

隨著企業上雲,傳統的網絡邊界正在逐漸消失,尤其是突如其來的疫情,更是讓幾乎所有企業都不得不進行遠程辦公,員工開始從家庭網絡、咖啡廳與企業網絡建立連接,企業的IT架構正在從「有邊界」向「無限邊界」發生轉變。

受益於開源軟件與成熟的三方產品和服務(COTS)的優勢,國內互聯網、金融行業快速發展。在COTS模式下,企業可以快速採購到能夠滿足當前業務需要的生產工具、軟件或硬件產品,從而節省成本和時間。

開源軟件的蓬勃發展改變了應用開發形態,現代應用的開發人員不再首選自研,而是會看當前業界是否已有成熟的框架或解決方案。

Synopsys公司發佈的《2020年開源安全和風險分析OSSRA報告》中指出,當前超過90%的現代應用融入了開源組件,平均每個應用包含超過124個開源組件,其中49%的開源組件存在高危漏洞。

4A1861E5-D077-42A3-B991-004EB9AE303B.png

從政府服務到金融機構每個組織都依靠軟件來為客戶提供服務。嵌入式軟件不再僅僅侷限於計算機,現在可以控制複雜的電網、交通、醫療硬件、汽車以及衛星,軟件正在吞噬整個世界。

在傳統邊界安全的防護理念下,安全是一個整體,保證安全不在於強大的地方有多強大,而在於真正薄弱的地方在哪裡。企業邊界無限擴大後,面臨的風險會隨之增加,邊界上任一節點的「安全性」被打破後,黑客就能通過這層信任鏈路,利用多種APT手段滲透到企業內部,竊取核心數據。

以往企業防護的策略,可以從梳理企業最有價值資產開始,再看資產潛在面臨的最大威脅是什麼,基於威脅分級、資產分級的方式來循序漸進做治理。

在今天這種企業架構與軟件開發形態下,越來越多的商業軟件、硬件設備、開源項目被集成到企業的IT基礎設施中,從而擴大了潛在的攻擊面,讓安全防禦變得越來越複雜,以及充滿著大量「不確定性」。黑客發起攻擊不再關注你是誰,只要你與被攻擊目標的網絡或業務存在關聯,就會成為重點攻擊對象。

並不是所有的軟硬件供應商都自建完善的安全團隊,對產品開展軟件安全生命週期管理(SDLC)來確保其安全性。三方軟件供應商對安全的「漠視態度」,是導致黑客頻頻入侵「輕易得手」的關鍵原因。

對於黑客而言,脆弱的供應鏈無異於一塊「新大陸」,成為黑客擊穿「關鍵基礎設施」資源投入的最佳「切入點」。

供應鏈攻擊_with logo.jpg

知己知彼,供應鏈攻擊手段有哪些?

如果你不瞭解黑客是如何對供應鏈發起攻擊的,那麼就無法保證其安全。

阿里雲安全通過分析歷史曾經發生過的126起供應鏈攻擊事件,將相關攻擊手段總結為以下15種:

1. 社工開發者賬號替換正規應用

對安卓、蘋果、三方移動應用商店內提供的應用,瀏覽器的插件,通過盜取應用開發者賬號替換正規應用,以及發佈相似名稱「仿冒知名應用」,或通過重打包的技術,使用合法的應用程序添加自己的惡意代碼,從而散佈存在惡意代碼的應用。

2. 黑灰產模式推廣惡意軟件

通過向第三方下載站點、共享資源社區、破解軟件聯盟等組織投放含有惡意代碼的應用,通過SEO優化方式劫持搜索引擎結果,引導大眾下載惡意軟件。

3. 向開源軟件倉庫投毒

攻擊者通過向主流的軟件包管理源(PyPI、Node.js npm、Maven、RubyGems、Docker Hub)投放大量「相似拼寫名稱」諧音的軟件包或鏡像,仿冒正規項目,從而讓有惡意代碼的代碼包被安裝到開發或生產環境。

4. 以假亂真

攻擊者通過分析特定行業內的知名軟件、項目名稱,搶注對應的域名,模仿官網,所提供的軟件下載鏈接,早已植入了惡意代碼。針對國外知名的軟件進行漢化,並提供「漢化版」下載鏈接,也屬於該範疇。

5. 入侵官方網站替換下載鏈接

企業官網通常由WEB應用構成,應用程序相對於其他業務形態更加脆弱,黑客通過應用漏洞控制軟件官網後,篡改官方下載鏈接地址為植入了惡意後門的軟件,從而間接控制目標計算機。

6. 劫持正式更新下載地址的域名

黑客通過域名服務商的漏洞,控制域名解析系統,將軟件、OT設備用於下發更新通知的域名劫持到了黑客的服務器,通過更新通道將惡意代碼植入目標計算器。

7. 汙染網絡基礎設施的DNS解析記錄

利用企業級路由器的已知漏洞或弱口令批量入侵網絡設備,修改路由器上的NS解析服務器為黑客所控制的服務器,通過劫持軟件用於更新的域名解析記錄,從而利用更新通道將惡意代碼植入目標計算器。

8. 下載節點緩存、CDN緩存、P2P緩存、城域網緩存,被投毒汙染

當前互聯網體系下,硬件、軟件、物聯網OT設備的更新和數據分發,均依賴網絡基礎設施來承載,當終端客戶進行更新、下載時通過網絡鏈路拉取,網絡基礎設施為了提升效率節省成文,會對一些資源進行緩存。攻擊者可通過定向汙染緩存來實現投毒,最終攻擊終端用戶。

9. 入侵官方更新升級系統

軟件、硬件產品在發展的過程中,為了提升產品體驗、升級能力、修復BUG等,需要進行更新升級,供應商因此建設有配套的更新升級系統。黑客通過自身的攻擊能力與掌握的漏洞,對供應商發起攻擊與橫向滲透,最中取得升級系統的控制權。利用竊取或偽造證書籤名的軟件更新,將惡意軟件帶進攻擊目標。

10. 入侵軟、硬件開發公司,向目標項目的源碼植入惡意代碼

軟件、硬件產品從無到有,需要經歷漫長的開發生命週期流程,包括:產品設計、物料採購、開發硬件電路板、代碼實現、測試、發佈流轉等過程。直到產品最終流轉到真正要供應鏈下游終端客戶的生產環境。

黑客通過自身的攻擊能力與掌握的漏洞,入侵軟件、硬件供應商的辦公與開發環境,直接向產品代碼內植入後門,在設備上預安裝的惡意軟件 (相機、USB、電話等),實現惡意代碼與後門的分發,最終進入被攻擊目標的網絡。

11. 倉儲、物流鏈路劫持

第三方供應商在針對網絡設備、安全設備、智能硬件等物理設備的倉儲和交付過程中,為了節約成本,均會採用三方的倉儲與物流服務。攻擊者通過買通或偷盜的形式,取得於存儲在倉庫或物流環節中的設備接觸機會,通過拆機或替換的方式向芯片或設備固件中寫入後門。

12. 供應商預留的遠程管控能力和超級權限賬號

供應商為了降低售後服務和維護成本,在交付的產品中,偷偷預留了遠程管控的功能,供應商可實現對部署在客戶環境中的產品,進行遠程管理控制。為了維護方便,供應商同時也會預留一些超級管理員、運維、測試等賬號。

13. 編譯環境,開發工具汙染篡改源碼,植入後門

攻擊者通過對開發者常用的代碼開發編輯器發起攻擊,通過對開發工具的篡改,以及附加一些惡意的模塊插件。當開發者進行代碼開發的時候,惡意模塊悄悄的再開發者寫的代碼中植入後門。經過被汙染過的開發工具編譯出來的程序,或部署到生產業務的源碼,都將被植入惡意代碼。

14. 應用運行環境、應用組件環境被植入後門

應用軟件存在編譯型與解釋型兩種語言形態,解釋型的軟件代碼在運行時,需要依賴運行環境將源碼翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。攻擊者通過入侵常見的JAVA、PHP、Python、Ruby等運行環境的安裝包,或向XAMPP、PHP Study成熟的環境軟件等,植入後門後直接影響業務。

15. SaaS化上游服務汙染

為了收集統計數據,網站管理員通常會在每個網頁中添加一個基於JavaScript代碼的網站跟蹤腳本,來跟蹤訪問次數和查看流量歷史記錄。在前端開發體系,有大量優秀的框架供開發者快速實現各類功能,比如:Jquery、Bootstrap、Vue等,開發者為了省事,會直接引用官方提供的CDN地址。當上遊的JS代碼源被入侵,引用這些三方JS代碼的業務,將演變為發起更大規模代理人攻擊的跳板。

供應鏈攻擊的應對建議

一、從最關鍵的供應商開始,將供應商的數字資產納入全面的、基於真實風險的安全評估體系中:採用攻防實戰的方式來驗證產品能力,而不僅僅是合規檢查。引入更加具有代表性的反向驗證體系,以消除供應商網絡上,可直接對組織造成業務中斷或破壞的安全盲點。

• 對所在組織網絡具有重要訪問權限的供應商;
• 擁有所在組織「敏感數據」的供應商;
• 製造特殊零件或開發特殊系統的供應商。

二、安全始於可見性,為每個硬件、應用程序持續構建詳細的物料清單,從而全面洞察每個硬件、應用軟件的組件情況:隨著軟件行業以「前所未有」的速度發展,開發人員承受著以「更快的效率」和「更低的成本」來交付產品的壓力。因此開源軟件、開源組件成為了軟件生態系統中至關重要的一環,許多漏洞被一層又一層地隱藏在依賴之下,開源亟需更有效的保護策略。為所有應用程序創建SBOM(軟件物料清單),可以幫助企業發現當前運行中的程序、源代碼、構建依賴項、子組件所依賴的開源組件清單,以檢測開源軟件組件是否帶有已知的安全漏洞或功能漏洞,漏洞披露時可通過清單列表迅速響應排查,最終確保軟件供應鏈中使用的都是安全的組件。從風險管理的角度跟蹤和檢測開源軟件、開源組件的安全態勢。

三、儘可能地縮小攻擊面、減少碎片化,降低對第三方組件、開源軟件的依賴,選擇可信度較高,對安全重視的供應商:以白名單形式限制硬件型號的准入和允許安裝的軟件,以及確保安裝最新的安全補丁。通過正規渠道購買、下載的軟硬件介質,使用經過驗證可信的第三方開源/商業庫、算法等,採購安全可信的軟件外包服務。

四、慎用對安全態度消極的廠商所開發的軟件或硬件產品:建立完整的供應鏈安全風險管理流程,企業高層為安全第一責任人,並由安全部門統一集中管理和運營。為了讓供應商更加註重安全,在採購條款中明確要求,只有產品出具了足夠說服力的安全控制證明,才能進入採購體系,並對供應商進行定期的安全抽查。

五、加強信任鏈路的自主可控能力,全鏈路加密和驗籤:要求供應商在提供更新、升級通道的同時,在網絡鏈路中須加入自定義證書的能力(用戶自定義密鑰BYOK)。同時,代碼簽名是在軟件供應鏈中建立信任的重要過程,簽名和驗證體系可以確保程序的執行都是可信、可靠的。

六、提升軟件、硬件產品安全風險的發現能力:投入資源挖掘當前企業正在使用的商業軟件、開源軟件漏洞,將商業軟件、開源軟件和自研軟件同等對待,實施安全開發流程(SDL)的安全審計。

七、減輕已知漏洞的影響:通過產品架構,或在產品設計中內置安全性,部署和啟用惡意軟件防護和檢測能力。在使用了第三方組件的應用服務器側部署運行時保護技術RASP,網絡側部署WAF,主機側部署HIPS等防禦系統,來緩解已知漏洞的影響。

八、網絡和物理環境訪問控制、運輸安全:軟件和硬件分發過程的安全性,物理和網絡安全之間沒有差距。有時,黑客會選擇利用物理安全上的漏洞,從營業廳或車庫發動網絡攻擊。同樣,攻擊者在尋找進入物理場所入口時,可能會利用網絡漏洞來獲取物理門禁的訪問權限。黑客甚至會在物流運輸階段下手,供應商需找可靠、安全的運輸物流公司,以最大程度地減少運輸過程中被篡改的風險。

九、軟件和硬件具有安全驗籤能力,物理磁盤默認加密:硬件系統在安全啟動過程中會進行驗籤,如果無法識別簽名,系統將不會啟動,且磁盤也無法解密。防止黑客向固件或磁盤存儲寫入後門或惡意代碼。

十、聯防聯控,建立供應鏈安全聯盟以應對系統性威脅,提升企業在遭受供應鏈攻擊時的響應與恢復能力:由單一組織構成的防守陣線顯得勢單力薄,在關鍵基礎設施如此重要的今天,應對供應鏈攻擊亟需上升至國家、社會層面,成立行業同盟,全面升級聯防、聯控的體系。

Leave a Reply

Your email address will not be published. Required fields are marked *