源碼泄漏B站裸奔,天災還是人禍?

文/劉興亮(微信公眾號:劉興亮時間)

?

B站源代碼泄露,不僅造就了程序員們的狂歡,更有諸多未解之謎,《亮三點》節(jié)目請到了極安客實驗室創(chuàng)始人萬濤(黑客老鷹),來聊一聊B站源代碼泄露的事兒。

注:下文中,劉興亮簡稱為“劉”,萬濤簡稱為“萬”。

劉:把代碼上傳到GitHub,本來是程序員們經(jīng)常干的一個事,通常一個程序員他應該只管自己分內(nèi)的事兒,所以說上傳上去即使泄露,也只是一部分,但這一次竟然把B站的全部源代碼都泄露出去了,是不是有點奇怪?

萬:也許未必奇怪,有可能這個代碼的分享方式是以一個項目方式來創(chuàng)建的,也就是說它可能不是一個程序員,可能是一個項目組,或者說大家都是用GitHub的這種模式來工作。

劉:代碼泄露對于一個公司來說,后果很嚴重。尤其是B站這樣的一個上市公司。對上市公司的影響首先就體現(xiàn)在股價。這個事情發(fā)生后,B站當天股價就暴跌,第二天又被上海證監(jiān)局約談了,因為公開了一些中獎的貓膩行為。你覺得這事對于B站的影響有多大?

萬:這個影響要從幾個方面來看:一個是泄漏的代碼是當前業(yè)務本身在用的代碼,還是以前的?官方聲明說,這是老代碼,已經(jīng)不用的。至于如何判斷是新代碼還是老代碼,可能需要專業(yè)的機構(gòu)去做相關的檢測。

假如是新代碼,那影響比較大。因為我們安全行業(yè)通常會有安全測試,比如黑盒測試和白盒測試。整個當前業(yè)務使用的源代碼泄露,相當于提供了一個開放性的白盒測試給安全愛好者。原有代碼里面的一些缺陷和風險可能就會直接暴露在所有人面前,這是一方面的風險。也有可能對業(yè)務的安全產(chǎn)生持續(xù)性的影響,如果里面確實存在缺陷的話就需要整改,相對來講它的危險比做黑盒測試會大很多。

第二個維度就是如果的確存在類似業(yè)務的貓膩或者有些不可描述的bug,那么會對公司的形象、商譽、用戶的信任產(chǎn)生影響,這個直接會反映在他未來的業(yè)務上。

第三個層面就是管理問題了。因為作為互聯(lián)網(wǎng)公司,技術是你的根本,代碼的安全管理實際上是反映了管理水平的問題。如果說現(xiàn)有代碼都這樣去泄露,說明它的安全管理存在問題。

劉:剛才你提到了兩個專有名詞,黑盒和白盒。黑盒就是我們從大樓外面看,知道這個大樓的形狀。白盒是他可以闖進這個大樓來,更容易進行破壞。

如果泄露的是最新代碼的話,B站就需要進行重建。那B站這一次需要付出的成本有多大?可不可以簡單量化一下是個什么級別?

萬:這個要看代碼量和它的架構(gòu),從第三方角度去看,本身存在的問題大不大。

對應的案例就是:深圳大疆。也是程序員上傳代碼在Github上,但被國外的一個安全研究員發(fā)現(xiàn)了大疆安全密鑰上的一些問題。這間接影響到了大疆的用戶和用戶的秘鑰,甚至是飛行數(shù)據(jù)這類的數(shù)據(jù)安全問題。大疆按照法院判決評估大概有一百多萬的損失,程序員也遭受了半年的刑法處置以及人民幣的處罰。

相關其他互聯(lián)網(wǎng)公司,比如攜程,以前也出過類似事件,后來他出臺過一些規(guī)定。關于Github上這種分享,如果違反了公司的規(guī)定,要接受一定經(jīng)濟或者人事上的處罰,也有可能要評估一定的損失,所以損失的量化需要有關部門或者說B站自己來評估,但如果就現(xiàn)在的話,他可能需要代碼重構(gòu)的工作,這也是一個很大的工作量。

劉:大疆的程序員只是自己負責的那一小塊,就給大疆造成了一百多萬的損失,給他罰款20萬然后判刑了半年。如果這樣進行一個比較的話,B站的損失應該比大疆的損失會更大,那這個程序員是不是受到的懲罰也會更重呢?

萬:這個具體要看原因。比如說這本身是公司行為,它是一個項目模式,只是因為公司管理上的疏忽,使代碼沒有做私有化管理,變成完全是公開的,那這就是公司管理上的問題。

第二如果是程序員自己的行為,那要看他的主觀性客觀性以及實際產(chǎn)生了多少損失。比如有用戶可能因此發(fā)起訴訟或者說造成用戶流失等等。

劉:在您這樣一個老程序員眼里,像B站這樣的上市公司,一個或者是幾個程序員就可能在無意中把整個公司的源代碼都上傳上去,然后泄露了。那對于它這個安全管理是不是太小兒科了?

萬:其實不僅是像B站這樣的上市公司。還有很多公司,如果你在Google上或者百度上,你用Github源代碼泄露去搜一搜,你會發(fā)現(xiàn)有很多這樣的案例。有時候互聯(lián)網(wǎng)公司的安全部門也沒辦法管,因為研發(fā)可能是有別的部門在管理,可能公司是一紙規(guī)定,但是缺乏一些手段去發(fā)現(xiàn)。

在一些比較成熟型的風險控制公司,一般在源代碼關于用Github上都會有一些規(guī)定,比如說要做私有化處理或者要去掉一些敏感信息等,這方面考驗的是一個公司的管理水平。但也有可能會產(chǎn)生業(yè)務和安全部門執(zhí)行不到位的問題。比如安全部門希望要把這塊管理起來,但是程序員個人為了圖方便,或者說研發(fā)部門為了圖方便,大家并沒有嚴格去遵守相關的安全規(guī)定。所以這方面的工作是需要多個維度來看。

作為上市公司你肯定是要做這樣的合規(guī),如果說這個問題的確是新問題,而不是以前的老問題的話,可能就是你的合規(guī)沒有做到位,有了面上的合規(guī)但沒有做到實質(zhì)的合規(guī)。

再一個就是可能有些做了這樣的規(guī)則,但它缺乏技術手段。比如說,一般我們都會用第三方的工具,或者說自己開發(fā)的工具,用爬蟲在Github上去爬,以自己公司的名字作為關鍵字,去看有沒有這種非規(guī)范性的代碼泄露問題。

還有可能就是一些個人行為,我們經(jīng)常在Github上扒到很多公司的一些源碼庫。

劉:你扒過嗎?

萬:這是常見的事兒。比如你想了解或評估一個站點或者某個項目,你想找點資料去看一下... 其在16年以前,這種事情是很多的,慢慢一些公司認識到了其中的危害性,但是又不能夠完全封禁程序員這種模式,因為有很多程序員是為了996加班,回家還能寫代碼,而且在Github上分享也有很多收益,大家一起互相學習,所以也是可以理解。

不能完全禁止掉程序員去用Github,這也是一個互聯(lián)網(wǎng)公司文化的底蘊基礎,所以這里面主要是一個平衡。

劉:這次泄露的有B站管理員郵箱,包括郵箱密碼,還有大量的密鑰,這是不是意味著用戶的隱私,用戶的信息也會被跟著一塊泄漏了?

萬:主要的應該是測試性的內(nèi)部郵箱,這種情況其實反映在做Github這種代碼的管理上,還可以做得更細一些,一方面我們有時候的確是為了工作方便,要把代碼在Github上來進行管理。

另一方面,如果涉及到完全是內(nèi)部賬號,寫代碼有時候是把它用注釋,或者其他方式放在里面,為了自己閱讀方便。但是當你放在一個公共的資源平臺上,這些就應該要做處理,在早期的一些Github的使用上,大家過于簡單粗暴。

這種其實不一定反映在Github上,其實在百度網(wǎng)盤上你也能看到,有一些離職的工作是通過百度網(wǎng)盤做離職文檔,但是文件上傳以后,交接人下載完了之后也沒管,然后這個文檔就一直在那兒,甚至沒有加密,那么大家用爬蟲就能爬到。而且,很多公司這種交接文檔里面什么內(nèi)網(wǎng)賬號都很全...

所以這種泄露途徑是很多的。

劉:我也是一個B站用戶,作為B站的普通用戶要不要擔心自己的信息被泄露了?或者說我們需要盡快改掉什么東西?

萬:作為一個用戶來講,不管是你用B站還是A站,你自己的信息保護都需要你自己來注意的。作為一個視頻網(wǎng)站來講,可能關聯(lián)性的是用戶賬號、密碼,有可能你是一站通行的情況(用B站也是這個賬號,用A站也是這個賬號,密碼都一樣的),所以一旦某一個站點出現(xiàn)泄露,就會導致關聯(lián)賬戶出現(xiàn)泄漏。尤其是產(chǎn)生撞庫的風險。

二是很多時候你是用關聯(lián)的模式去做管理?,F(xiàn)在賬號之間會有通用模式,所以這可能會造成一系列的泄露,那么可能在某一個站點,比如B站你泄露了你的一些視頻的欣賞習慣,或者有些位置信息,收藏癖好等,但是這些信息拿去撞別的,比如電子商務的一些購物站點之后,就能撞出更多信息。

所以每個環(huán)節(jié),你都要做一定的自我保護,泄露這件事不能說你覺得這沒啥,我在上面就是看個片。不能有這種僥幸心理。

?

總結(jié)

安全更多的還是自個的事,要擦亮一雙眼睛,做好更多的防范工作,最關鍵的一點不要所有的網(wǎng)站都是同樣的密碼,不要給他們有撞庫的可能性。

這一次B站源代碼泄露的事,再一次給我們敲響了一個警鐘。以后不管是B站還是A站還是D站還是E站F站,還是BAT等等,我們都應該吸取教訓。

?注釋:

圖片來源于網(wǎng)絡,如有侵權(quán)請私信聯(lián)系后臺

免責聲明:此文內(nèi)容為第三方自媒體作者發(fā)布的觀察或評論性文章,所有文字和圖片版權(quán)歸作者所有,且僅代表作者個人觀點,與極客網(wǎng)無關。文章僅供讀者參考,并請自行核實相關內(nèi)容。投訴郵箱:editor@fromgeek.com。

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內(nèi)容或斷開相關鏈接。

2019-05-07
源碼泄漏B站裸奔,天災還是人禍?
萬:這個影響要從幾個方面來看:一個是泄漏的代碼是當前業(yè)務本身在用的代碼,還是以前的?關于Github上這種分享,如果違反了公司的規(guī)定,要接受一定經(jīng)濟或者人事上的處罰,也有可能要評估一定的損失,所以損失

長按掃碼 閱讀全文