可以說(shuō),這是有史以來(lái)最大范圍的一次源代碼泄露。
源代碼就是指編寫的最原始程序的代碼,主要對(duì)象是面向開(kāi)發(fā)者,我們平常使用的應(yīng)用程序都是經(jīng)過(guò)源碼編譯打包以后發(fā)布呈現(xiàn)的。公司專有程序代碼對(duì)于網(wǎng)絡(luò)創(chuàng)意公司來(lái)說(shuō)是其生命的化身,掌握了其編寫方式,就可以復(fù)制出一個(gè)相同的程序,或通過(guò)閱讀源代碼找到程序的漏洞進(jìn)行任意攻擊。所以在互聯(lián)網(wǎng)興起后世界各國(guó)都立法對(duì)其進(jìn)行保護(hù)。微軟、Adobe、聯(lián)想、AMD、高通、聯(lián)發(fā)科、通用電氣、任天堂、迪士尼、華為海思等 50 家科技公司都中招了。
據(jù)外媒報(bào)道,遭泄露的源碼被發(fā)布在 GitLab 上一個(gè)公開(kāi)存儲(chǔ)庫(kù)中,并被標(biāo)記為 “exconfidential” (絕密),以及 “Confidential & Proprietary”(保密&專有)。
雷鋒網(wǎng)注:GitLab 是一個(gè)用于倉(cāng)庫(kù)管理系統(tǒng)的開(kāi)源項(xiàng)目,全球第二大開(kāi)源代碼托管平臺(tái),谷歌重金投資加持的開(kāi)源獨(dú)角獸,阿里巴巴還一度是其重要客戶。根據(jù)安全研究人員 Bank Security 提供的信息,該存儲(chǔ)庫(kù)中大約包含了超過(guò) 50 家公司的源碼。但有一些文件夾是空的,還有一些存在硬編碼憑證。(一種創(chuàng)建后門的方式。)
此外,開(kāi)發(fā)人員 Tillie Kottmann 提到,一些代碼庫(kù)中確實(shí)存在硬編碼憑證,他在發(fā)布前已盡可能地將其刪除,“以避免造成直接傷害或是助長(zhǎng)更大的破壞”。另外,他也坦承自己并未在發(fā)布前與每一家受影響的公司進(jìn)行聯(lián)系,但他們確保自己“盡了最大的努力將負(fù)面影響最小化”。
Kottmann 的 Twitter 賬戶簡(jiǎn)介寫道,“這里可能正在泄露您的源代碼?!痹撡~戶的置頂推文是一條眾包帖,問(wèn)道“您認(rèn)為機(jī)密信息、文檔、二進(jìn)制文件和源代碼,哪一種最應(yīng)該向公眾公開(kāi)……”
使用錯(cuò)誤的 Devops 工具暴露了代碼對(duì)于上述事件,不少安全專家表示,“在互聯(lián)網(wǎng)上失去對(duì)源代碼的控制,就像把銀行的設(shè)計(jì)圖交給搶劫犯一樣?!蹦壳埃琄ottmann 已應(yīng)部分企業(yè)的要求刪除了代碼。例如 Daimler AG,梅賽德斯-奔馳的母公司;聯(lián)想的文件夾也已經(jīng)空空如也。針對(duì)有移除代碼要求的公司,Kottmann 表示愿意遵守,并樂(lè)意提供信息,“幫助公司增強(qiáng)基礎(chǔ)架構(gòu)的安全性”。而關(guān)于源代碼泄露的原因,開(kāi)發(fā)團(tuán)隊(duì)也在繼續(xù)尋找原因。
Kottmann 稱,他們?cè)噲D在發(fā)布硬編碼憑證之前從公司的源代碼中刪除這些硬編碼憑證,這些憑證通常用于創(chuàng)建后門程序,以免發(fā)生更加強(qiáng)大的安全漏洞。
回顧在 Kottmann 的 GitLab 服務(wù)器上泄漏的一些代碼,可以發(fā)現(xiàn)某些項(xiàng)目已由其原始開(kāi)發(fā)人員公開(kāi)發(fā)布,或者在很久以前進(jìn)行了最后更新。
不過(guò),開(kāi)發(fā)人員表示,有更多公司使用錯(cuò)誤的 Devops 工具配置了暴露源代碼的公司。此外,他們正在探索運(yùn)行 SonarQube 的服務(wù)器,SonarQube 是一個(gè)開(kāi)源平臺(tái),用于自動(dòng)代碼審核和靜態(tài)分析,以發(fā)現(xiàn)錯(cuò)誤和安全漏洞。
Kottmann 認(rèn)為,有成千上萬(wàn)的公司由于未能正確保護(hù) SonarQube 安裝而暴露了專有代碼。
不過(guò),網(wǎng)絡(luò)安全公司 ImmuniWeb 的創(chuàng)始人兼首席執(zhí)行官 Ilia Kolochenko 指出,“從技術(shù)角度來(lái)看,這次的泄露并不算很嚴(yán)重……若沒(méi)有每天的支持和改進(jìn),源代碼也會(huì)迅速貶值”。
盡管如此,這樣大規(guī)模的泄露事件原因還是值得引起注意。
代碼被公開(kāi)之痛
每一次源代碼被公開(kāi),伴隨著的都是巨大的損失。
我們舉幾個(gè)例子,大家就明白了。
大家一定還記得大疆前員工將含有公司商業(yè)機(jī)密的代碼上傳到了 GitHub 的公有倉(cāng)庫(kù)中,造成源代碼泄露的事件。
根據(jù)當(dāng)時(shí)的報(bào)道,這些源代碼,攻擊者可以 SSL 證書私鑰,訪問(wèn)客戶的敏感信息,比如用戶信息、飛行日志等等。
根據(jù)評(píng)估,這次泄漏代碼一共給大疆造成了 116.4 萬(wàn)的經(jīng)濟(jì)損失。
再比如,2019 年 4 月,B 站整個(gè)網(wǎng)站后臺(tái)工程源碼泄露,并且“不少用戶密碼被硬編碼在代碼里面,誰(shuí)都可以用?!?/p>
當(dāng)天,在開(kāi)源及私有軟件項(xiàng)目托管平臺(tái) GitHub 上,出現(xiàn)了名為“嗶哩嗶哩bilibili 網(wǎng)站后臺(tái)工程源碼”的項(xiàng)目。據(jù)悉,該項(xiàng)目由賬號(hào)“ openbilibili ”創(chuàng)建,由于網(wǎng)站的開(kāi)源性質(zhì),登錄網(wǎng)站者均可使用。當(dāng)日 B站股價(jià)跌 3.27%。
雖然很快被封禁,B 站也已經(jīng)報(bào)警處理,但有不少網(wǎng)友克隆了代碼庫(kù),隱患已經(jīng)埋下,補(bǔ)救起來(lái)也頗為頭疼。
當(dāng)然,除了主動(dòng)泄露私鑰,還有很多人在 GitHub 上把登錄信息和明文密碼也都一起開(kāi)源的。
而這些被開(kāi)源的代碼一旦被黑客利用,造成的損失就要看黑客的心情了。
附源代碼泄漏完整受害者列表:
Johnson Controls(江森自控)
iLendx (聯(lián)想)
Banca Nazionale del Lavoro
Lenovo-smart-display-7
AdobeFastspringGE Appliances(GE電器)
Mercury TFS
GovCloudRecords
MyDesktop
eMasurematics
Buckzy
TeamApt
Alpha FX
CovidApps
Romeo Power
Digital Health Department
DRO Health
Elgin Industries
Berkeley Lights
Pwnee Studios
NYNJA
Tapway
BlocPower
Capital Technology Services
Lenovo(聯(lián)想)
AMI
insyde
Erobbing / Luobin They make various Android based devices, like DVRs and Law Enforcement devices. http://www.erobbing.com/
KaiOS
AMD
Chenyee / Gionee
Disney(迪士尼)
Mineplex
Daimler
Rockchip
HiSilicon(海思)
Aukey
Chunmi
Xiaomi's Kitchen Appliance Subsidiary
PUKKA
Roblox Corporation
Microsoft(微軟)
Motorola(摩托羅拉)
Qualcomm(高通)
Mediatek(聯(lián)發(fā)科)
Bahwan CyberTek
CryptoSoul
gms
ReactMobile
ЦЭККМП
Tactical Electronics
Siasun