
————
APT攻擊愈演愈烈,與SolarWinds相關的安全反思已持續半月,阿裡雲安全帶來了面向供應鍊攻擊特征屬性的全面攻防觀察,以飨從業者。
後期精彩的APT内網對抗往往依賴于「先從外部撕開」一道口子,對于黑客而言,脆弱的供應鍊無異于一塊「新大陸」,成為擊穿「關鍵基礎設施」的最佳切入點。
應用開發方式變革引入供應鍊風險
随着企業上雲,傳統的網絡邊界正在逐漸消失,尤其是突如其來的疫情,更是讓幾乎所有企業都不得不進行遠端辦公,員工開始從家庭網絡、咖啡廳與企業網絡建立連接配接,企業的IT架構正在從「有邊界」向「無限邊界」發生轉變。
受益于開源軟體與成熟的三方産品和服務(COTS)的優勢,國内網際網路、金融行業快速發展。在COTS模式下,企業可以快速采購到能夠滿足目前業務需要的生産工具、軟體或硬體産品,進而節省成本和時間。
開源軟體的蓬勃發展改變了應用開發形态,現代應用的開發人員不再首選自研,而是會看目前業界是否已有成熟的架構或解決方案。
Synopsys公司釋出的《2020年開源安全和風險分析OSSRA報告》中指出,目前超過90%的現代應用融入了開源元件,平均每個應用包含超過124個開源元件,其中49%的開源元件存在高危漏洞。
從政府服務到金融機構每個組織都依靠軟體來為客戶提供服務。嵌入式軟體不再僅僅局限于計算機,現在可以控制複雜的電網、交通、醫療硬體、汽車以及衛星,軟體正在吞噬整個世界。
在傳統邊界安全的防護理念下,安全是一個整體,保證安全不在于強大的地方有多強大,而在于真正薄弱的地方在哪裡。企業邊界無限擴大後,面臨的風險會随之增加,邊界上任一節點的「安全性」被打破後,黑客就能通過這層信任鍊路,利用多種APT手段滲透到企業内部,竊取核心資料。
以往企業防護的政策,可以從梳理企業最有價值資産開始,再看資産潛在面臨的最大威脅是什麼,基于威脅分級、資産分級的方式來循序漸進做治理。
在今天這種企業架構與軟體開發形态下,越來越多的商業軟體、硬體裝置、開源項目被內建到企業的IT基礎設施中,進而擴大了潛在的攻擊面,讓安全防禦變得越來越複雜,以及充滿着大量「不确定性」。黑客發起攻擊不再關注你是誰,隻要你與被攻擊目标的網絡或業務存在關聯,就會成為重點攻擊對象。
并不是所有的軟硬體供應商都自建完善的安全團隊,對産品開展軟體安全生命周期管理(SDLC)來確定其安全性。三方軟體供應商對安全的「漠視态度」,是導緻黑客頻頻入侵「輕易得手」的關鍵原因。
對于黑客而言,脆弱的供應鍊無異于一塊「新大陸」,成為黑客擊穿「關鍵基礎設施」資源投入的最佳「切入點」。
知己知彼,供應鍊攻擊手段有哪些?
如果你不了解黑客是如何對供應鍊發起攻擊的,那麼就無法保證其安全。
阿裡雲安全通過分析曆史曾經發生過的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等防禦系統,來緩解已知漏洞的影響。
八、網絡和實體環境通路控制、運輸安全:軟體和硬體分發過程的安全性,實體和網絡安全之間沒有差距。有時,黑客會選擇利用實體安全上的漏洞,從營業廳或車庫發動網絡攻擊。同樣,攻擊者在尋找進入實體場所入口時,可能會利用網絡漏洞來擷取實體門禁的通路權限。黑客甚至會在物流運輸階段下手,供應商需找可靠、安全的運輸物流公司,以最大程度地減少運輸過程中被篡改的風險。
九、軟體和硬體具有安全驗簽能力,實體磁盤預設加密:硬體系統在安全啟動過程中會進行驗簽,如果無法識别簽名,系統将不會啟動,且磁盤也無法解密。防止黑客向固件或磁盤存儲寫入後門或惡意代碼。
十、聯防聯控,建立供應鍊安全聯盟以應對系統性威脅,提升企業在遭受供應鍊攻擊時的響應與恢複能力:由單一組織構成的防守陣線顯得勢單力薄,在關鍵基礎設施如此重要的今天,應對供應鍊攻擊亟需上升至國家、社會層面,成立行業同盟,全面更新聯防、聯控的體系。