新一代供應(yīng)鏈攻擊正在興起

軟件供應(yīng)鏈一直是漏洞和攻擊的巨大催化劑,近年來(lái),新一代供應(yīng)鏈攻擊正在興起。在這種攻擊中,黑客通常將第三方和內(nèi)部非人類身份作為訪問(wèn)核心業(yè)務(wù)系統(tǒng)的手段。

本文來(lái)自微信公眾號(hào)“嘶吼專業(yè)版”,作者/小二郎。

新一代供應(yīng)鏈攻擊日盛

軟件供應(yīng)鏈一直是漏洞和攻擊的巨大催化劑,近年來(lái),新一代供應(yīng)鏈攻擊正在興起。在這種攻擊中,黑客通常將第三方和內(nèi)部非人類身份作為訪問(wèn)核心業(yè)務(wù)系統(tǒng)的手段。雖然許多關(guān)于供應(yīng)鏈安全風(fēng)險(xiǎn)的討論都集中在軟件應(yīng)用程序組件本身的漏洞上,但它們卻忽略了供應(yīng)鏈安全風(fēng)險(xiǎn)的一個(gè)關(guān)鍵領(lǐng)域:非人類身份及其對(duì)核心業(yè)務(wù)和工程環(huán)境的不受控制的訪問(wèn)。

1.不受監(jiān)控的內(nèi)部訪問(wèn)密鑰和令牌

先來(lái)看一組實(shí)際工程環(huán)境中的數(shù)據(jù):

·開(kāi)發(fā)團(tuán)隊(duì)每周在GitHub中創(chuàng)建大約20-30個(gè)新的個(gè)人訪問(wèn)令牌和SSH密鑰。

·在典型的GitHub環(huán)境中,大約有1/4的令牌(PAT和SSH密鑰)沒(méi)有被使用,并可以在不影響業(yè)務(wù)的情況下安全地刪除。

·在Snowflake生產(chǎn)環(huán)境中,五分之一的用戶實(shí)際上是服務(wù)帳戶。

為了開(kāi)發(fā)應(yīng)用程序并使其正常工作,開(kāi)發(fā)團(tuán)隊(duì)會(huì)定期生成“秘密”——密鑰和令牌。這些密鑰和令牌允許訪問(wèn)資源、代碼和基礎(chǔ)設(shè)施——也就是組織最有價(jià)值的資產(chǎn)。但是,保管這些密鑰卻是一大挑戰(zhàn),因?yàn)樗鼈兎稚⒃诓煌拿孛芄芾砥髦?,并且?jīng)常被開(kāi)發(fā)團(tuán)隊(duì)訪問(wèn),而這些團(tuán)隊(duì)經(jīng)常無(wú)意中暴露它們(例如,用于調(diào)試)。

雖然采用“左移”方法的AppSec解決方案保護(hù)了代碼漏洞和依賴關(guān)系、CI/CD進(jìn)程和運(yùn)行時(shí)環(huán)境,但安全團(tuán)隊(duì)缺乏對(duì)實(shí)際訪問(wèn)密鑰的可視性,不了解它們?cè)谀睦?、是否暴露、擁有什么?quán)限等。秘密掃描器(secret scanners)或vaults(一個(gè)基于身份的機(jī)密和加密管理系統(tǒng),可管理一些私密的信息)不能解決這個(gè)問(wèn)題——vaults只存儲(chǔ)用戶的秘密。秘密掃描器只發(fā)現(xiàn)暴露的秘密,同樣沒(méi)有任何上下文或優(yōu)先考慮風(fēng)險(xiǎn)的能力。

一個(gè)被盜的密鑰允許攻擊者訪問(wèn)組織的應(yīng)用程序代碼,甚至修改或竊取它,致使應(yīng)用程序無(wú)法使用,造成昂貴的停機(jī)成本和潛在的聲譽(yù)損害。

2.第三方非人類身份訪問(wèn)

人類身份主要是終端用戶、開(kāi)發(fā)人員、DevOps和云管理員;非人類身份則是由附加到云服務(wù)、API、微服務(wù)、軟件供應(yīng)鏈、云數(shù)據(jù)平臺(tái)等的身份組成。

如今,IT、DevOps、開(kāi)發(fā)人員甚至安全團(tuán)隊(duì)越來(lái)越多地授權(quán)新的第三方工具和服務(wù)(如GitHub、GitLab、AWS和Big Query)訪問(wèn)核心工程環(huán)境,以簡(jiǎn)化開(kāi)發(fā)工作并提高敏捷性。隨著自下而上的軟件采用和免費(fèi)增值云服務(wù)的發(fā)展趨勢(shì),許多這些連接都是由沒(méi)有任何安全治理的開(kāi)發(fā)人員完成的。

它們?cè)诿舾泄こ滔到y(tǒng)與外部第三方應(yīng)用程序和流程之間創(chuàng)建了“影子”連接,這些連接通過(guò)API密鑰、服務(wù)帳戶、webhook、OAuth令牌或SSH密鑰完成。這些密鑰和令牌通常具有高級(jí)權(quán)限,有時(shí)甚至具有無(wú)限的永久訪問(wèn)權(quán)限。即使在用戶使用完所連接的服務(wù)之后,其中也有一部分不會(huì)就此撤銷。

這種“影子”集成的例子是開(kāi)發(fā)人員使用一種新的基于云的CI/CD工具,比如日益流行的CircleCI,它依賴于API訪問(wèn)GitHub源代碼存儲(chǔ)庫(kù)。這種不受管制的自由訪問(wèn)的結(jié)果正如您所知——CircleCI在2023年初被攻破。

在這次攻擊中,攻擊者獲得了CircleCI客戶的密鑰,這意味著他們可以將代碼推送到部署。這種攻擊的結(jié)果可能包括將惡意代碼推送到生產(chǎn)環(huán)境和竊取客戶數(shù)據(jù),以及使應(yīng)用程序無(wú)法使用。這是一次通過(guò)非人類訪問(wèn)的軟件供應(yīng)鏈攻擊。

而最近發(fā)生的各種事件也突出了不安全的非人類訪問(wèn)所造成的風(fēng)險(xiǎn):

·Okta(2023年10月):攻擊者使用泄露的服務(wù)帳戶訪問(wèn)Okta的支持案例管理系統(tǒng),這使得攻擊者可以查看一些Okta客戶上傳的文件。

·GitHub Dependabot(2023年9月):黑客竊取了GitHub個(gè)人訪問(wèn)令牌(PAT)。然后使用這些令牌作為Dependabot向公共和私有GitHub存儲(chǔ)庫(kù)進(jìn)行未經(jīng)授權(quán)的提交。

·微軟SAS密鑰(2023年9月):微軟人工智能研究人員發(fā)布的SAS令牌實(shí)際上授予了對(duì)其創(chuàng)建的整個(gè)存儲(chǔ)帳戶的完全訪問(wèn)權(quán)限,結(jié)果導(dǎo)致超過(guò)38TB的極度敏感信息泄露且這些權(quán)限暴露給攻擊者超過(guò)2年之久。

·Microsoft365偽造訪問(wèn)令牌(2023年7月):攻擊者從企業(yè)Azure系統(tǒng)中竊取了非活動(dòng)簽名密鑰,用于簽名和創(chuàng)建有效的電子郵件訪問(wèn)令牌,這些令牌被多個(gè)客戶的Azure AD云系統(tǒng)錯(cuò)誤地接受。這使得攻擊者可以將其攻擊范圍擴(kuò)展到共享相同Azure AD云環(huán)境的所有組織。

·Jumpcloud(2023年7月):在對(duì)漏洞的持續(xù)調(diào)查中,Jumpcloud宣布所有API密鑰無(wú)效,隨后敦促其客戶輪換提供的所有令牌。

·WordPress Ultimate Member插件(2023年7月):通過(guò)一個(gè)漏洞,任何未經(jīng)身份驗(yàn)證的攻擊者都能隨意創(chuàng)建具有完全管理權(quán)限的用戶,從而接管WebPress網(wǎng)站。

·Slack GitHub存儲(chǔ)庫(kù)(2023年1月):在這次事件中,威脅行為者通過(guò)“有限”數(shù)量的被盜Slack員工令牌獲得了Slack外部托管的GitHub存儲(chǔ)庫(kù)的訪問(wèn)權(quán)限。從那里,他們可以下載私有代碼庫(kù)。

·GitHub個(gè)人訪問(wèn)令牌(2022年12月):2022年12月6日,來(lái)自GitHub Atom、桌面和其他已棄用的GitHub存儲(chǔ)庫(kù)被與機(jī)器帳戶關(guān)聯(lián)的受損個(gè)人訪問(wèn)令牌(PAT)克隆。惡意攻擊者隨后使用PAT讀取這些存儲(chǔ)庫(kù),其中包含敏感信息。

·微軟OAuth網(wǎng)絡(luò)釣魚(yú)攻擊(2022年12月):惡意OAuth應(yīng)用程序被用來(lái)竊取客戶的電子郵件。隨后,攻擊者使用這些賬戶在Azure AD中注冊(cè)經(jīng)過(guò)驗(yàn)證的OAuth應(yīng)用程序,并針對(duì)英國(guó)和愛(ài)爾蘭的企業(yè)用戶進(jìn)行網(wǎng)絡(luò)釣魚(yú)攻擊。

·微軟OAuth(2022年9月):通過(guò)利用OAuth集成,惡意應(yīng)用程序被部署在受損的云租戶上,修改了Exchange Online的設(shè)置來(lái)傳播垃圾郵件。

·GitHub(2022年4月):被盜的OAuth令牌允許攻擊者使用Travis CI和Heroku作為后門攻破數(shù)十個(gè)GitHub帳戶。

·Mailchimp(2022年4月):黑客濫用API密鑰破壞了數(shù)百個(gè)Mailchimp賬戶。

·Codecov(2021年4月)攻擊者采取的一種攻擊路徑是從Codecov竊取17,000家公司的Git訪問(wèn)令牌,并使用它們?cè)L問(wèn)私有Git存儲(chǔ)庫(kù)并破壞敏感數(shù)據(jù)。

這樣的例子不勝枚舉。其他受到黑客濫用身份或訪問(wèn)密鑰攻擊的知名公司還包括Slack、微軟和谷歌。

防御建議

·為系統(tǒng)操作員定義角色,映射到特定權(quán)限,并根據(jù)基于角色的訪問(wèn)控制(RBAC)實(shí)施最小特權(quán)訪問(wèn)。如果特定參與者的賬戶或資產(chǎn)受到損害,此類活動(dòng)可以降低風(fēng)險(xiǎn);

·建議經(jīng)常描代碼中是否存在機(jī)密,如密鑰或訪問(wèn)令牌,以防被惡意行為者濫用;

·制定事件響應(yīng)計(jì)劃,為暴露的機(jī)密獲取優(yōu)先級(jí)補(bǔ)救指導(dǎo),最大限度降低攻擊影響;

·第三方和內(nèi)部非人類訪問(wèn)的發(fā)現(xiàn)和態(tài)勢(shì)管理,獲悉所需的風(fēng)險(xiǎn)和業(yè)務(wù)上下文,以便輕松地修復(fù)過(guò)度特權(quán)、不必要和不可信的訪問(wèn);

·檢測(cè)錯(cuò)誤配置并完善更新機(jī)制;

·實(shí)施異常和威脅檢測(cè),通過(guò)行為分析實(shí)時(shí)檢測(cè)和修復(fù)可疑的非人類訪問(wèn);使用威脅和異常檢測(cè)引擎持續(xù)分析應(yīng)用程序、服務(wù)、供應(yīng)商和機(jī)密,以及它們連接至工程環(huán)境的方式,以便在攻擊發(fā)生之前檢測(cè)到它們。

·實(shí)施網(wǎng)絡(luò)分段,這是最小化供應(yīng)鏈攻擊影響的絕佳方法;

·實(shí)施零信任模型,“永不信任,始終驗(yàn)證”,阻止攻擊者橫向移動(dòng);

·培訓(xùn)員工和供應(yīng)商了解最新的攻擊趨勢(shì),提高安全意識(shí),規(guī)范開(kāi)發(fā)行為。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論