如何防止企業(yè)的數(shù)據(jù)和機(jī)密從GitHub存儲(chǔ)庫(kù)泄露

2022-10-02    分類: 網(wǎng)站建設(shè)

如何防止企業(yè)的數(shù)據(jù)和機(jī)密從GitHub存儲(chǔ)庫(kù)泄露

研究表明,網(wǎng)絡(luò)攻擊者不斷在GitHub等公共代碼存儲(chǔ)庫(kù)中搜索開(kāi)發(fā)人員可能留下的秘密,任何微小的錯(cuò)誤都可能被他們利用。

安全研究員Craig Hays在疫情期間進(jìn)行了一個(gè)實(shí)驗(yàn)。他將其SSH用戶名和密碼泄露到GitHub存儲(chǔ)庫(kù)中,看看是否有網(wǎng)絡(luò)攻擊者可能會(huì)找到它。他認(rèn)為可能需要等待幾天才會(huì)有人注意到。事實(shí)證明更加殘酷,第一次未經(jīng)授權(quán)的登錄發(fā)生在其泄露用戶名和密碼之后的34分鐘內(nèi)。他說(shuō):“對(duì)我來(lái)說(shuō),最讓我大開(kāi)眼界的是它被利用的速度有多快?!?/p>

在最初的24小時(shí)內(nèi),六個(gè)不同的IP地址9次登錄他的帳號(hào)。一名網(wǎng)絡(luò)攻擊者試圖安裝僵尸網(wǎng)絡(luò)客戶端,另一名網(wǎng)絡(luò)攻擊者試圖使用其服務(wù)器發(fā)起拒絕服務(wù)攻擊。Hays還看到有人想從他的服務(wù)器竊取敏感信息,也有人只是查看信息。

實(shí)驗(yàn)表明,威脅行為者不斷掃描GitHub和其他公共代碼存儲(chǔ)庫(kù),尋找開(kāi)發(fā)人員留下的敏感數(shù)據(jù)。隨著企業(yè)從內(nèi)部部署軟件過(guò)渡到云平臺(tái)以及越來(lái)越多的開(kāi)發(fā)人員在家工作,包括用戶名、密碼、Google密鑰、開(kāi)發(fā)工具或私鑰在內(nèi)的機(jī)密不斷增加。法國(guó)安全初創(chuàng)廠商GitGuardian公司的聯(lián)合創(chuàng)始人Eric Fourrier表示,僅在今年,數(shù)據(jù)泄露就比去年至少增加了20%,該公司主要提供掃描公共存儲(chǔ)庫(kù)以識(shí)別網(wǎng)絡(luò)攻擊者可能利用的數(shù)據(jù)的服務(wù)。

黑客如何找到GitHub的秘密

黑客知道GitHub是查找敏感信息的好地方,聯(lián)合國(guó)機(jī)構(gòu)、Equifax、Codecov、星巴克和優(yōu)步等機(jī)構(gòu)和組織為此付出了代價(jià)。一些企業(yè)可能會(huì)爭(zhēng)辯說(shuō)他們不會(huì)面臨風(fēng)險(xiǎn),因?yàn)樗麄儾皇褂瞄_(kāi)源代碼,但事實(shí)上更微妙;開(kāi)發(fā)人員經(jīng)常將他們的個(gè)人存儲(chǔ)庫(kù)用于工作項(xiàng)目。根據(jù)針對(duì)GitHub的調(diào)查報(bào)告,85%的數(shù)據(jù)泄漏發(fā)生在開(kāi)發(fā)人員的個(gè)人存儲(chǔ)庫(kù)中,其他15%的數(shù)據(jù)泄漏發(fā)生在企業(yè)擁有的存儲(chǔ)庫(kù)中。

開(kāi)發(fā)人員會(huì)留下shell命令歷史、環(huán)境文件和受版權(quán)保護(hù)的內(nèi)容。有時(shí)他們也會(huì)犯錯(cuò)誤,因?yàn)樵噲D簡(jiǎn)化流程。例如,他們?cè)诰帉?xiě)代碼時(shí)可能會(huì)包含他們的憑據(jù),因?yàn)檫@樣更容易調(diào)試。然后,他們可能會(huì)忘記刪除并提交。即使他們稍后執(zhí)行刪除提交或強(qiáng)制刪除機(jī)密,這些私人信息通常仍然可以在Git歷史記錄中訪問(wèn)。

GitHub上最常見(jiàn)的機(jī)密類型

Hays說(shuō),“我在舊版本的文件中發(fā)現(xiàn)了很多密碼,而這些密碼已被更新的、更干凈的版本替換,而這些版本中沒(méi)有密碼。”Git提交歷史會(huì)記住所有內(nèi)容,除非明確刪除它。

無(wú)論是初級(jí)開(kāi)發(fā)人員還是高級(jí)開(kāi)發(fā)人員都可能犯錯(cuò)誤。Fourrier說(shuō)。,“即使你是一位出色的開(kāi)發(fā)人員,并且在安全問(wèn)題上受過(guò)教育,在某些時(shí)候編碼時(shí),可能會(huì)犯錯(cuò)誤,而泄露秘密通常是人為的錯(cuò)誤?!?/p> 在GitHub上發(fā)現(xiàn)的最常見(jiàn)的文件類型

任何開(kāi)發(fā)人員都會(huì)出錯(cuò),那些剛進(jìn)入職場(chǎng)的開(kāi)發(fā)人員通常會(huì)泄露更多的機(jī)密。當(dāng)Crina Catalina Bucur多年前還是一名軟件工程專業(yè)的學(xué)生時(shí),就開(kāi)設(shè)了一個(gè)用于開(kāi)發(fā)目的的AWS賬戶,但不久收到了2000美元的賬單,其中只有0.01美元是她應(yīng)該支付的費(fèi)用。

她說(shuō),“我開(kāi)發(fā)的項(xiàng)目是一個(gè)聚合文件管理平臺(tái),用于大約10種云存儲(chǔ)服務(wù),包括亞馬遜的S3。這發(fā)生在GitHub提供免費(fèi)私有存儲(chǔ)庫(kù)之前,所以我的AWS訪問(wèn)密鑰和相應(yīng)的密鑰與代碼一起發(fā)布到我的公共存儲(chǔ)庫(kù)。而我當(dāng)時(shí)并沒(méi)有考慮太多?!?/p>

幾天后,她開(kāi)始收到來(lái)自AWS的電子郵件,警告她的賬戶已被盜用,但她沒(méi)有仔細(xì)閱讀這些郵件,直到收到賬單。對(duì)她來(lái)說(shuō),幸運(yùn)的是AWS公司免除了其他額外費(fèi)用。但Bucur還是犯了一些被黑客利用的錯(cuò)誤,包括為方便起見(jiàn)對(duì)密鑰進(jìn)行硬編碼并將它們發(fā)布到公共代碼存儲(chǔ)庫(kù)中。

Hays表示,如今想要發(fā)現(xiàn)此類錯(cuò)誤的黑客只需要很少的資源。他在業(yè)余時(shí)間是一名漏洞的賞金獵人,并且經(jīng)常依賴開(kāi)源情報(bào)(OSINT),這些都是可以在網(wǎng)上找到的信息。他說(shuō),“我選擇的方法是使用標(biāo)準(zhǔn)的Github.com界面人工搜索,我使用搜索運(yùn)算符限制特定的文件類型、關(guān)鍵字、用戶和組織,具體取決于針對(duì)的公司?!?/p>

一些工具可以使過(guò)程更快、更有效。HUMAN公司的安全研究員Gabriel Cirlig說(shuō):“網(wǎng)絡(luò)攻擊者運(yùn)行自動(dòng)機(jī)器人來(lái)抓取GitHub內(nèi)容并提取敏感信息。這些機(jī)器人可以一直運(yùn)行,這意味著黑客可以在幾秒鐘或幾分鐘內(nèi)檢測(cè)到錯(cuò)誤?!?/p>

一旦發(fā)現(xiàn)秘密,網(wǎng)絡(luò)攻擊者就可以輕松利用它。Fourrier說(shuō),“例如,如果找到AWS密鑰,就可以訪問(wèn)某公司的所有云計(jì)算基礎(chǔ)設(shè)施。而針對(duì)為特定公司工作的開(kāi)發(fā)人員并嘗試查看該公司的一些資產(chǎn)非常簡(jiǎn)單?!备鶕?jù)機(jī)密的性質(zhì),黑客可以做很多事情,其中包括發(fā)起供應(yīng)鏈攻擊和危害企業(yè)的安全。

隨著機(jī)密數(shù)量的增加,企業(yè)需要在為時(shí)已晚之前更好地發(fā)現(xiàn)它們。GitHub有自己的“秘密掃描合作伙伴程序”,它可以查找類似密碼、SSH密鑰或API令牌的文本字符串。GitHub與40多家云計(jì)算服務(wù)提供商合作,自動(dòng)修復(fù)公共存儲(chǔ)庫(kù)中公開(kāi)的API密鑰。

GitHub發(fā)言人表示,“我們一直在尋求擴(kuò)大這些合作伙伴關(guān)系,以更好地保護(hù)生態(tài)系統(tǒng)。我們目前每天注銷100多個(gè)公開(kāi)的GitHub API密鑰,在我們這樣做時(shí),通常會(huì)安全地向新開(kāi)發(fā)人員介紹憑證安全的重要性?!?/p>

Hays表示,“秘密掃描合作伙伴程序”是朝著正確方向邁出的一步,因?yàn)樗咕W(wǎng)絡(luò)攻擊者更難找到有效憑據(jù)。不過(guò)他表示,該計(jì)劃并不好。他說(shuō),“當(dāng)人們不小心檢查他們自己的SSH密鑰、密碼、令牌或任何其他敏感的東西時(shí),仍然留下了空白。這更難以檢測(cè)和管理,因?yàn)闆](méi)有合作的憑證提供者可以提出諸如‘這是真的嗎?想撤銷它嗎?我們中的一方應(yīng)該告訴所有者嗎?’之類的問(wèn)題。”

與此同時(shí),他建議開(kāi)發(fā)人員注意他們編寫(xiě)和部署代碼的方式。他說(shuō),“首先要做的事情之一是將正確的設(shè)置添加到.gitignore文件中,這個(gè)文件告訴Git和GitHub.com哪些文件不應(yīng)該被跟蹤和上傳到互聯(lián)網(wǎng)?!?/p>

一些安全初創(chuàng)廠商也在試圖填補(bǔ)這一空白。GittyLeaks、SecretOps、gitLeaks和GitGuardian旨在為業(yè)務(wù)用戶和獨(dú)立專業(yè)人士提供更多的保護(hù)層。有些人可以在幾秒鐘內(nèi)檢測(cè)到泄露的機(jī)密,從而使開(kāi)發(fā)人員和公司能夠立即采取行動(dòng)。Fourrier說(shuō),“我們?cè)谡麄€(gè)開(kāi)發(fā)生命周期、Docker容器、不同類型的數(shù)據(jù)中掃描軟件上的所有代碼,我們找到并試圖撤銷它們?!?/p>

在理想情況下,最好的策略是根本不泄露數(shù)據(jù)或盡可能少地泄露,提高對(duì)這一問(wèn)題的認(rèn)識(shí)有助于做到這一點(diǎn)。Cirlig說(shuō):“教育開(kāi)發(fā)人員編寫(xiě)安全代碼并主動(dòng)阻止攻擊總比事后應(yīng)對(duì)數(shù)據(jù)泄露事件要好得多。”

標(biāo)題名稱:如何防止企業(yè)的數(shù)據(jù)和機(jī)密從GitHub存儲(chǔ)庫(kù)泄露
分享網(wǎng)址:http://www.muchs.cn/news2/200552.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、域名注冊(cè)虛擬主機(jī)、定制網(wǎng)站、做網(wǎng)站、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司