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