0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GitHub竟被黑!機(jī)密源代碼全部泄露

如意 ? 來源:雷鋒網(wǎng) ? 作者:貝爽 ? 2020-11-10 09:43 ? 次閱讀

YouTube-dl事件剛剛過去不久,GitHub又登上了Hacker News榜首。

原因是其源代碼被全部泄露!

開發(fā)者Resynth 發(fā)表的一篇博客中了解到,在一個向 GitHub 官方 DMCA 倉庫提交的可疑 Commit 中,一名不明身份人員利用 GitHub 應(yīng)用程序中的bug 假冒GitHub CEO 奈特·弗里德曼 (Nat Friedman)上傳了機(jī)密源代碼。

GitHub竟被黑!機(jī)密源代碼全部泄露

泄露文件已被全部刪除

GitHub想必大家都非常熟悉,它是一個大型代碼存儲庫,主要為企業(yè)和開發(fā)人員提供托管項(xiàng)目和服務(wù)代碼。蘋果、亞馬遜、Google、Facebook以及其他許多大型科技公司都是其主要客戶。

目前,GitHub已托管超過1億個存儲庫,為4000萬開發(fā)人員提供資源支持。

因此,此泄露事件一出便迅速沖上了Hacker News熱搜,不少開發(fā)者表示為GitHub平臺的安全性感到擔(dān)憂。

對此,GitHub CEO Friedman本人則第一時間在熱帖下做出了解釋。他表示:

GitHub沒有被黑客入侵,被泄露的是部分GitHub Enterprise Server源代碼。二者雖然共享大量代碼,但GitHub主要是由Rube編寫,還是有很大差異的。

另外,這一事件的起因是幾個月前,開發(fā)人員無意間將企業(yè)服務(wù)器源代碼的未脫敏/混淆的 tarball 交付給了一些客戶造成的。我們正在全力修復(fù)平臺Bug,防止未經(jīng)授權(quán)的不明人士通過偽造身份隨意盜用、修改他人項(xiàng)目。

最后,F(xiàn)riedman為了安撫用戶甚至還吟了首勃朗寧的詩:一切都很好,情況也很正常,云雀展翅飛翔,蝸牛在荊棘上爬動,世上一切順當(dāng)!

不過,開發(fā)者們對此回應(yīng)并不買賬。從他們的吐槽來看,Github代碼管理系統(tǒng)早已存在多項(xiàng)Bug,比如提交代碼時,Git不會對用戶身份進(jìn)行核驗(yàn)。這一點(diǎn)會給源代碼帶來極大的安全風(fēng)險(xiǎn),但GitHub平臺對此從未重視過。

另外,有人表示正是利用這一缺陷,不明人士才得以冒充Friedman身份發(fā)布了機(jī)密代碼。

源代碼管理器Git存在Bug

Git,是Github用來托管源代碼的分布式版本管理系統(tǒng),簡單來說,就是源代碼管理器。

它的設(shè)計(jì)存在一種明顯的缺陷,即沒有為防止其他用戶盜用提供太多的保護(hù)。

具體來說,Git 上傳代碼文件的過程,類似于發(fā)送電子郵件。用戶可以在user.name和user.email字段中輸入任何信息。這一過程中,如果兩個字段之間不采用GPG密鑰關(guān)聯(lián),系統(tǒng)就不會核查它的指定來源,那么信息造假會變得非常容易。

上述不明人士順利提交成功,顯然是Friedman沒為相關(guān)字段建立GPG(General Planning Group)密鑰。

那么,在繞過這層限制后,不明人士又是如何提交至存儲庫,同時又不損害實(shí)際存在賬戶的?

據(jù)了解,將提交內(nèi)容上傳到Git存儲庫會得到一個散列,可用于查找樹。GitHub是Web應(yīng)用程序的一部分,提供了對瀏覽器中底層Git結(jié)構(gòu)的訪問權(quán)限,因此,它可以將Git存儲庫的所有分支存儲在一個單獨(dú)的底層存儲庫中,盡管通常不會在URL結(jié)構(gòu)中顯示這種方式。

為了假冒別人的賬戶,不明人士首先需要克隆一個DMCA儲存庫。在擴(kuò)展到存儲庫之后,再提交泄漏源代碼,并偽造成Friedman的姓名和電子郵件地址。這個過程Fork存儲庫可能會出現(xiàn)錯誤,換句話說,URL可能依然指向假冒者真正的用戶名和賬戶。

但在底層Git上,父級和Fork都是同一個存儲庫的一部分,這將允許假冒者創(chuàng)建一個URL,該URL可以在主存儲庫中提交,而不是在Fork中。

因此,假冒者從https://github.com/github/dmca開始,將tree/$hash追加到末尾,其中$hash是攻擊者自己的fork提交的散列值。

結(jié)果假冒者得以代替Friedman使用了一個URL在GitHub上提交了自己的機(jī)密代碼。

值得一提的是,除了代碼安全性的擔(dān)憂之外,這件事也再度引起了開發(fā)者們對GitHub開源態(tài)度的關(guān)注。

長久以來,GitHub 一直因?yàn)槲垂_源代碼而飽受詬病,而恰好前幾日,GitHub再度因封殺視頻神器YouTube-dl而陷入輿論風(fēng)波。

據(jù)了解,此次泄露事件的發(fā)生,很可能是這位不知名開發(fā)者對封殺YouTube-dl一事的報(bào)復(fù)。

或許與下架YouTube-dl有關(guān)

上個月,在美國唱片業(yè)協(xié)會(RIAA)的要求下, GitHub 封禁了7.5萬Star的熱門開源項(xiàng)目 YouTube-dl。

當(dāng)時RIAA其給出的理由是,YouTube-dl其違反了DMCA的反規(guī)避條款:

此源代碼的明確目的是:1)規(guī)避 YouTube 等授權(quán)流媒體服務(wù)所使用的技術(shù)保護(hù)措施;2)未經(jīng)授權(quán)復(fù)制和分發(fā)會員公司擁有的音樂視頻和音頻。3)除YouTube外,該源代碼在 GitHub上支持更多網(wǎng)站下載視頻。

但GitHub將YouTube-dl下架,卻激怒了開發(fā)者們,他們在GitHub上復(fù)制并上傳了大量代碼副本,以此對該下架行為表示抗議。目前在GitHub上搜索YouTube-dl,相關(guān)結(jié)果高達(dá)4108個。

后來,GitHub公司法律團(tuán)隊(duì)不得不發(fā)出最新警告,稱如果繼續(xù)發(fā)布代碼副本,可能會對其進(jìn)行封號處理。

請注意,在未遵循流程的情況下重新發(fā)布YouTube-dl代碼副本是違反GitHub平臺DMCA政策和服務(wù)條款的。如果您在明知違反服務(wù)條款的情況下,繼續(xù)向該存儲庫提交或發(fā)布相關(guān)內(nèi)容,我們會將其刪除,并可能中止對您帳戶的訪問權(quán)限。

雖然造成此次泄露事件的不知名人士并未對此事公開表態(tài),但有人猜測稱可能是他對GitHub下架該項(xiàng)目的報(bào)復(fù)。

另外,在Friedman回應(yīng)泄露事件的帖子下可以看到,不少網(wǎng)友對GitHub因DMCA協(xié)議而下架YouTube-dl表示不滿。

還有一位用戶表示,GitHub之所以這樣做,很可能是因?yàn)槲④浭荝IAA的成員。他說,DMCA 所要求的下架不是讓代碼版權(quán)所有者本身下架,GitHub作為一家倡導(dǎo)開源的獨(dú)立公司,它不需要遵守RIAA的非法請求。

可以看出,網(wǎng)友們的不滿顯示是因?yàn)榉饨皇屡cGitHub最初的開源初衷背道而馳。

GitHub開源精神惹爭議

2018年,微軟以75億美元的價(jià)格收購GitHub。新任 CEO Nat Friedman 曾表示:GitHub 將始終堅(jiān)持開發(fā)者優(yōu)先并獨(dú)立運(yùn)營。

Resynth在博客中也表示:微軟一再強(qiáng)調(diào)致力于開源,這一點(diǎn)我們從很多商業(yè)廣告中經(jīng)常可以看到,它的目的是讓微軟出于開源發(fā)展的最前沿。

但現(xiàn)在來看,微軟似乎并沒有做到承諾的那樣,而且YouTube-dl也只是最近發(fā)生的一例而已。事實(shí)上,GitHub因?qū)⑵湓创a保密的問題已經(jīng)在業(yè)內(nèi)廣受批評。

另外,Resynth也提醒稱,這次事件也不得不讓人們擔(dān)心 GitHub 源代碼的安全性。因?yàn)殚]源應(yīng)用程序執(zhí)行的是“隱蔽式安全 (Security By Obscurity)”,即源代碼是隱藏的,目的是降低安全風(fēng)險(xiǎn)。

如果 GitHub 真的公開源代碼,很可能會損害其整體的安全性。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2943

    瀏覽量

    66619
  • GitHub
    +關(guān)注

    關(guān)注

    3

    文章

    465

    瀏覽量

    16359
收藏 人收藏

    評論

    相關(guān)推薦

    上傳本地項(xiàng)目代碼github

    概述 GitHub是一個面向開源及私有軟件項(xiàng)目的托管平臺,因?yàn)橹恢С謌it 作為唯一的版本庫格式進(jìn)行托管,故名GitHub。本文主要講解如何將本地代碼上傳至Github。 Git Ba
    發(fā)表于 09-11 16:33

    hex可以轉(zhuǎn)成源代碼

    Hex文件可以轉(zhuǎn)換成源代碼的近似形式,但無法直接還原為原始的、完全相同的源代碼 。這是因?yàn)镠ex文件是二進(jìn)制文件,包含了程序編譯后的機(jī)器碼,這些機(jī)器碼與原始的源代碼在結(jié)構(gòu)和表達(dá)上存在顯著的差異。不過
    的頭像 發(fā)表于 09-02 10:41 ?649次閱讀

    esp freertos sdk使用默認(rèn)的lwipopts.h編譯lwip源代碼時,輸出的liblwip.a與官方的格式不同,為什么?

    您好,我想編譯 esp freertos sdk 并使用官方源代碼(2015 年 1 月 1 日github@15獲?。.?dāng)使用默認(rèn)的 lwipopts.h 編譯 lwip 源代碼時,輸出
    發(fā)表于 07-15 06:57

    特斯拉起訴前供應(yīng)商:干電極電池技術(shù)商業(yè)機(jī)密泄露風(fēng)波

    近日,電動汽車巨頭特斯拉與其前供應(yīng)商馬修斯國際公司(Matthews International)之間爆發(fā)了一場關(guān)于商業(yè)機(jī)密泄露的訴訟戰(zhàn)。特斯拉在美國加利福尼亞州北區(qū)地方法院正式起訴馬修斯公司,指控
    的頭像 發(fā)表于 06-20 10:36 ?1692次閱讀

    請問ESP32-S3-LCD-EV-Board開發(fā)板有源代碼嗎?

    請問各位大佬,ESP32-S3-LCD-EV-Board開發(fā)板有源代碼嗎?示例代碼,官網(wǎng)和github翻了一圈沒找著?。?/div>
    發(fā)表于 06-05 07:31

    華企盾防泄密系統(tǒng)讓企業(yè)源代碼更安全

    泄露,其后果不堪設(shè)想。 從目前情況來看,源代碼防泄密的形勢并不樂觀,出現(xiàn)了如下情況: 1、人員漏洞,系統(tǒng)漏洞。 企業(yè)源代碼防泄密缺乏規(guī)范,管理混亂,導(dǎo)致漏洞百出,企業(yè)源代碼缺乏責(zé)任意識
    的頭像 發(fā)表于 05-23 11:30 ?428次閱讀

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙(OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master分支)或者4.0 Release、3.2 Release等發(fā)布版本的源代碼。
    的頭像 發(fā)表于 04-27 23:16 ?781次閱讀
    【開源鴻蒙】下載OpenHarmony 4.1 Release<b class='flag-5'>源代碼</b>

    企業(yè)源代碼防泄密解決方案如何做才能做好?

    源代碼或圖紙復(fù)制一份,這是每一個研發(fā)人員心照不宣的事情。那么如何對企業(yè)核心文件進(jìn)行防泄密保護(hù)呢? 在這里我們重點(diǎn)聊一下企業(yè)源代碼防泄密方案。如果企業(yè)的源代碼被發(fā)送泄露出來給企業(yè)帶來的
    的頭像 發(fā)表于 04-24 11:57 ?336次閱讀

    GitHub推出新功能:智能掃描代碼潛在漏洞

    代碼掃描”功能還能預(yù)防新手引入新的問題,并支持在設(shè)定的日期和時間進(jìn)行掃描,或者讓特定事件(如推送到倉庫中)觸發(fā)掃描。若AI判定代碼內(nèi)可能存在隱患,GitHub將在倉庫中發(fā)出預(yù)警,待用戶修正引發(fā)求救信號的部分后,再撤銷警告。
    的頭像 發(fā)表于 03-21 14:55 ?600次閱讀

    GitHub啟用推送保護(hù)功能,強(qiáng)化代碼安全

    這項(xiàng)于去年 8 月上線的“推送保護(hù)”功能初現(xiàn)時,用戶需自行在設(shè)定中打開開關(guān)。然而,隨著近期日益頻繁的敏感數(shù)據(jù)泄露事件的發(fā)生,GitHub 決定將此設(shè)為默認(rèn)選項(xiàng)。
    的頭像 發(fā)表于 03-04 11:40 ?517次閱讀

    智能制造行業(yè)--客戶現(xiàn)場調(diào)試源代碼如何防泄密

    我國近幾年傳統(tǒng)制造向智能制造的轉(zhuǎn)變,很多制造企業(yè)不僅有自己公司的圖紙文件需要保密,企業(yè)的有很多源代碼也需要保密,但是對于源代碼采用圖紙防泄密的方式是不可取的,源代碼防泄密比圖紙文件防泄密做起來更加
    的頭像 發(fā)表于 01-11 16:27 ?432次閱讀
    智能制造行業(yè)--客戶現(xiàn)場調(diào)試<b class='flag-5'>源代碼</b>如何防泄密

    GitHub入門與實(shí)踐

    GitHub 是一個基于 Git 版本控制系統(tǒng)的代碼托管平臺,它提供了許多功能和用途,主要面向軟件開發(fā)和協(xié)作。以下是 GitHub 的主要用途和一些關(guān)鍵技術(shù):GitHub 的主要用途:
    發(fā)表于 12-14 09:53 ?6次下載

    為什么安秉信息的源代碼防泄密軟件這么穩(wěn)定?

    現(xiàn)在很多研發(fā)性企業(yè)都會意識到企業(yè)的源代碼文件需要防泄密保護(hù),現(xiàn)在很多企業(yè)對于源代碼只是用了git或svn版本管理服務(wù)器進(jìn)行了簡單的代碼統(tǒng)一管控。雖然現(xiàn)在對于源代碼防泄密,有專業(yè)的
    的頭像 發(fā)表于 12-05 10:21 ?497次閱讀
    為什么安秉信息的<b class='flag-5'>源代碼</b>防泄密軟件這么穩(wěn)定?

    安秉信息源代碼圖紙防泄密方案,電路圖紙,源代碼文件

    安秉信息源代碼圖紙防泄密方案,電路圖紙,源代碼文件
    發(fā)表于 12-01 16:56 ?0次下載

    c語言怎么把代碼全部注釋掉

    要將C語言代碼全部注釋掉,即不讓代碼被編譯和執(zhí)行,可以使用注釋語句來實(shí)現(xiàn)。C語言提供兩種注釋方式:單行注釋和多行注釋。 單行注釋:使用雙斜杠(//)來注釋一行代碼。 示例: // 這是
    的頭像 發(fā)表于 11-22 10:21 ?6432次閱讀