日前,知名云身份安全服務(wù)商Okta正式披露其私有GitHub存儲庫遭到黑客攻擊,部分源代碼遭泄露。盡管Okta公司表示,本次泄露事件不會造成其客戶的隱私數(shù)據(jù)安全,Okta有充分的技術(shù)手段來保護(hù)用戶服務(wù)安全。但安全研究人員認(rèn)為,源代碼泄露造成隱形危害在短時間內(nèi)尚難以準(zhǔn)確評估。
GitHub擁有9000萬活躍用戶,是目前全球最受歡迎的源代碼管理工具。由于它是信息系統(tǒng)底層基礎(chǔ)設(shè)施的重要部分,因此長期以來受到非法攻擊團(tuán)伙的重點關(guān)注。本次Okta源代碼泄漏事件,只是近年針對GitHub代碼庫非法訪問攻擊中的最新案例。Dropbox、Gentoo Linux和微軟的GitHub賬戶之前也都遭受過類似的攻擊。
攻擊者不僅企圖獲取源代碼,同時也覬覦代碼中的敏感信息,以便在后續(xù)攻擊活動中使用。通過訪問應(yīng)用系統(tǒng)的源代碼,攻擊者可以查找其中的漏洞,然后在后續(xù)攻擊中利用這些漏洞。同時,攻擊者還可以獲取存儲在GitHub中的硬編碼密鑰、密碼及其他憑據(jù),從而訪問托管在AWS、Azure或GCP中的云服務(wù)和數(shù)據(jù)庫。
Okta的GitHub代碼庫被入侵是一個教訓(xùn)深刻的例子,表明了保護(hù)企業(yè)內(nèi)部的訪問安全到底有多難,但這并不是獨特的案例。雖然GitHub提供了一些保護(hù)代碼管理庫應(yīng)用安全的防護(hù)工具,但很多企業(yè)組織并不充分知道如何使用工具。而且遺憾的是,一些最重要的安全功能需要額外付費才能夠使用。
不過,以下七個實踐經(jīng)驗被證明可以提高GitHub的安全性,對于目前正在應(yīng)用GitHub的企業(yè)組織可以盡快關(guān)注并嘗試應(yīng)用。
1.不要將私人賬戶用于工作
對于開發(fā)人員,私人GitHub賬戶是其個人品牌履歷的一部分,可幫助其職業(yè)生涯的晉升和成長。遺憾的是,這也是如今使用GitHub的組織面臨的最大漏洞之一:它們對私人賬戶用于工作往往沒有嚴(yán)格管理。從代碼安全的角度,私人GitHub賬戶不應(yīng)該用于工作,盡管這么做會帶來一些便利性,但企業(yè)根本沒有辦法有效控制誰可以訪問創(chuàng)建私人GitHub賬戶的私人Gmail地址。
2.通過單點登錄進(jìn)行身份驗證
在GitHub現(xiàn)有的業(yè)務(wù)模式中,用戶需要為集成單點登錄(SSO)服務(wù)支付額外的費用。但是從代碼訪問安全的角度,企業(yè)應(yīng)該將GitHub連接到組織的SSO系統(tǒng)中,比如Okta、Azure AD或Google Workspace。開發(fā)人員的身份信息應(yīng)該和企業(yè)進(jìn)行鎖定,只允許通過統(tǒng)一的SSO進(jìn)行身份驗證。
3.所有賬戶都采用2FA
在很多企業(yè)的SSO提供程序中,會設(shè)有豁免組和策略異常處置,這可以使SSO MFA被攻擊者輕松繞過。因此,當(dāng)企業(yè)通過SSO執(zhí)行統(tǒng)一的身份驗證時,最安全的選擇是對組織中的所有GitHub用戶都要強(qiáng)制執(zhí)行多因素身份驗證2FA,防止繞過行為的發(fā)生。
4.使用SSH密鑰用于git操作
雖然GitHub通過個人訪問令牌(PAT)引入了細(xì)粒度權(quán)限控制,但它們?nèi)匀蝗菀自獾骄W(wǎng)絡(luò)釣魚的攻擊,因為這些令牌常常以明文形式存儲。如果使用SSH密鑰對git操作進(jìn)行身份驗證,企業(yè)需要使用完善的PKI來管理如何配置和提供SSH密鑰,還可以將其與企業(yè)的設(shè)備管理和CA證書有效聯(lián)系起來。
5.使用角色限制特權(quán)訪問
GitHub目前提供了幾種不同的代碼庫角色,可以基于最小權(quán)限原則進(jìn)行分配。基本權(quán)限可以在組織層面加以控制。在實際使用中,管理者需要合理分配保障成員高效工作所需的最小權(quán)限角色,盡量避免讓開發(fā)人員擁有高等級的管理員權(quán)限。
6.嚴(yán)格限制外部合作者使用
與第三方供應(yīng)商合作是管理大型軟件項目的一個常態(tài)。然而,目前GitHub所能提供的外部合作者管理能力存在較大不足,難以確保企業(yè)的開發(fā)活動安全。因此,需要強(qiáng)制要求外部合作者通過公司的SSO進(jìn)行身份驗證,杜絕代碼庫管理員直接邀請他們訪問代碼庫的情況發(fā)生。
7.審核,分析,再審核
沒有一家企業(yè)的安全控制策略和措施是完美的,即使制定了再好的GitHub應(yīng)用安全策略,賬戶也會出現(xiàn)安全疏漏,錯誤也會在所難免。因此,企業(yè)在應(yīng)用GitHub過程中,要花時間實施定期審計流程,以尋找不安全的休眠賬戶,并限制代碼庫中特權(quán)角色的數(shù)量。一旦企業(yè)的GitHub環(huán)境被嚴(yán)格保護(hù)后,應(yīng)注意及時發(fā)現(xiàn)那些違反策略的情況,比如用戶仍然在SSO之外進(jìn)行身份驗證,或者沒有使用2FA。
參考鏈接:
https://www.darkreading.com/edge-articles/why-attackers-target-github-and-how-you-can-secure-it