?你的代碼泄露了嗎
譯文就在幾周前,每個安全分析師都在談?wù)撘粋€名為 Lapsus$ 的勒索組織:他們竊取并泄露了一些大型科技公司的源代碼,其中包括來自三星的近200GB 源代碼和微軟必應(yīng)、必應(yīng)地圖以及 Cortana 項(xiàng)目的部分源代碼。而就在幾個月之前,流媒體平臺Twitch也遭遇了同樣的命運(yùn)。
過去幾年中,我們目睹了企業(yè)數(shù)據(jù)庫在線泄露事件的激增。雖然所有提到的泄密都屬于惡意行為——黑客的動機(jī)是通過表明他已經(jīng)入侵了公司并可以訪問數(shù)據(jù)來向公司施加壓力——但我們不要忘記,錯誤發(fā)生的頻率確實(shí)比我們想象的要多,而且悄無聲息:當(dāng)開發(fā)人員以為在私有環(huán)境中工作卻無意中推送到公共數(shù)據(jù)庫就足夠了。
不幸的是,除了明顯的聲譽(yù)損害之外,源代碼泄露的問題有時會被誤解。因此,本文將總結(jié)源代碼泄漏導(dǎo)致的風(fēng)險,但最重要的是,為您提供了解您的公司是否成為受害者的方法。今天將邀請您使用專用的免費(fèi)工具來評估您的 GitHub 足跡。
源代碼和知識產(chǎn)權(quán)
在一個95% 的 IT 部門都會以某種方式依賴開源軟件的世界里,人們很容易忘記,從編寫第一行代碼的那一刻起,源代碼就被視為知識產(chǎn)權(quán),它受版權(quán)保護(hù)。事實(shí)上,包含說明版權(quán)所有者和權(quán)限的源代碼文件很常見。
從本質(zhì)上講,源代碼是一種有漏洞的資產(chǎn)。分布式版本控制系統(tǒng)和代碼共享平臺極大地促進(jìn)了整個代碼庫在互聯(lián)網(wǎng)上的擴(kuò)展和應(yīng)用。與此同時,這又推動了開源社區(qū)的發(fā)展,并取得了巨大的成就。但對于越來越多將源代碼作為核心價值資產(chǎn)的公司來說仍然存在問題。因此,確保在全球范圍內(nèi)尊重源代碼版權(quán)已成為一項(xiàng)幾乎不可能完成的任務(wù)。
源代碼還可能包含版權(quán)、專利或商標(biāo)無法保護(hù)的商業(yè)秘密。在一個創(chuàng)新和速度至關(guān)重要的行業(yè)中,如果不能對這些信息保密,對于一些初創(chuàng)公司來說可能就是游戲的終結(jié)。而對于較大的企業(yè)來說,更好地監(jiān)控和控制源代碼的哪些部分已共享以及與誰共享的目的則是為了避免訴訟費(fèi)。
另一個層面,公開的源代碼讓黑客可以深入了解生產(chǎn)環(huán)境中部署的工作負(fù)載,有時會服務(wù)于數(shù)百萬用戶。這也可能是個問題的。
源代碼中的潛在威脅
代碼相當(dāng)于實(shí)物產(chǎn)品的模型。對于精通技術(shù)的人來說,完全了解大型系統(tǒng)或軟件的內(nèi)部工作原理意味著他們可以輕松地發(fā)現(xiàn)硬編碼憑據(jù)等漏洞。例如,GitGuardian 在掃描三星代碼時發(fā)現(xiàn)了 6600 多個密鑰:
“在三星源代碼中發(fā)現(xiàn)的 6,600 多個密鑰中,大約 90% 用于三星的內(nèi)部服務(wù)和基礎(chǔ)設(shè)施,而另外 10% 至關(guān)重要的是,可以授予對三星外部服務(wù)或工具(如 AWS、GitHub、Artifactory 和 Google)的訪問權(quán)限?!盙itGuardian 的開發(fā)者權(quán)益倡導(dǎo)者 Mackenzie Jackson 說。
這并不一定意味著黑客可以在泄漏后立即利用機(jī)密、訪問控制缺陷和其他安全漏洞。但是,它仍然是他們工具箱中的另一項(xiàng)資產(chǎn)。對于攻擊者來說,一些微弱的信號甚至可能比業(yè)務(wù)邏輯本身更有價值,例如開發(fā)人員的個人身份信息 (PII)、習(xí)慣、語言,以及更全球化的公司文化。數(shù)千行代碼可以揭示比我們想象的更多的信息。
如何確定您的源代碼是否泄露?
如前所述,無論您的企業(yè)過去是否遭受過數(shù)據(jù)泄露,您的專有代碼都可能在您不知情的情況下公開出現(xiàn)在 GitHub 上。即使您的企業(yè)在該平臺上沒有正式亮相,您的開發(fā)人員也有可能參與開源項(xiàng)目或使用個人存儲庫來共享代碼。
因此,應(yīng)該認(rèn)真對待您公司在 GitHub 上的信息。威脅情報應(yīng)該可以解答以下問題:互聯(lián)網(wǎng)上可以公開哪些資產(chǎn)?它們包括用戶數(shù)據(jù)嗎?它們是否提供了攻擊者可以利用的關(guān)鍵且有效的信息?是否仍然可以控制泄露的資產(chǎn)(例如,通過啟動 DMCA 刪除流程)?
從技術(shù)層面講,識別源代碼泄漏的唯一解決辦法是對專有代碼進(jìn)行指紋識別,并將其與公共文件數(shù)據(jù)庫進(jìn)行比較。這正是 HasMyCodeLeaked 的目的,這是GitGuardian提供的免費(fèi)工具,可幫助任何人快速識別與知識產(chǎn)權(quán)相關(guān)的最關(guān)鍵匹配項(xiàng)。該工具的工作原理就是在 GitHub 的公共歷史記錄中精確查找您的代碼指紋(識別文件的校驗(yàn)和,包括所有修訂版本)。
它將為您生成包含源代碼的所有存儲庫的可搜索報告,并通過智能過濾來識別高風(fēng)險存儲庫。
結(jié)論
源代碼泄漏需要被認(rèn)真對待。它們正在損害您的品牌聲譽(yù),還可能使公司的核心資產(chǎn)面臨風(fēng)險。雖然 DMCA 刪除請求可以確保從公共平臺撤回受版權(quán)保護(hù)的內(nèi)容,但商業(yè)機(jī)密仍有可能被泄露,并危及您業(yè)務(wù)中的創(chuàng)新點(diǎn)。在安全方面,它們提供了攻擊者最重視的東西:一個軟件內(nèi)部工作的完整圖景,包括它的缺陷、流程和所涉及的人員。
隨著代碼共享平臺 GitHub 的爆發(fā)式發(fā)展,監(jiān)控一個公司的公共足跡已成為威脅情報分析師最具挑戰(zhàn)的任務(wù)之一。這也是HasMyCodeLeaked的由來,專門用于幫助您確定知識產(chǎn)權(quán)是否已泄露的免費(fèi)工具。





























