發(fā)布源:深圳維創(chuàng)信息技術(shù)發(fā)布時(shí)間:2020-09-25 瀏覽次數(shù): 次
若惡意黑客參與了小型開(kāi)源軟件的開(kāi)發(fā),在自身關(guān)鍵應(yīng)用中包含了這些開(kāi)源軟件的公司企業(yè)就可能面臨遭遇漏洞利用的風(fēng)險(xiǎn)。
安全專(zhuān)家指出,這些項(xiàng)目的開(kāi)源本質(zhì)和代碼的廣泛應(yīng)用,對(duì)企業(yè)造成了切實(shí)的威脅。
一旦潛入開(kāi)源項(xiàng)目,罪犯就有多種下手方式可供選擇,但必須動(dòng)作夠快。
因?yàn)闊o(wú)論是后門(mén)鍵盤(pán)記錄器還是某種木馬,如果不是動(dòng)手夠快,或者真的非常非常隱蔽,用不了多久就會(huì)被 “眾人之眼” 揪出。
網(wǎng)絡(luò)罪犯之所以熱衷于黑開(kāi)源項(xiàng)目,正是由于開(kāi)源項(xiàng)目兼具靈活性和可用性的特點(diǎn),能為黑客行動(dòng)的開(kāi)展帶來(lái)大量機(jī)會(huì)。
真可謂眾所周知的攻擊途徑了。
而且開(kāi)源項(xiàng)目被黑概率很可能比大眾認(rèn)知的要高得多。
安全公司 Checkmarx 安全研究主管 Eran Yalon 就表示:“這可不是什么道聽(tīng)途說(shuō),而是身邊時(shí)時(shí)刻刻在發(fā)生的事。
以前就曾出現(xiàn)過(guò)這種事情,我們沒(méi)理由認(rèn)為現(xiàn)在就絕跡了。
幾乎所有開(kāi)源項(xiàng)目都要求貢獻(xiàn)者的工作要經(jīng)過(guò)項(xiàng)目其他成員審核才能并入項(xiàng)目。
審核層級(jí)隨貢獻(xiàn)者個(gè)人聲譽(yù)而遞減,貢獻(xiàn)者受信度越高,則審核層級(jí)越少。
尤其是在大型知名開(kāi)源項(xiàng)目中,比如主流 Linux 發(fā)行版,整個(gè)審核過(guò)程非常精細(xì)完備,也有充足的人力資源持續(xù)執(zhí)行這一規(guī)程。
項(xiàng)目越小,則可供保障安全的資源就越少。
所以,小型項(xiàng)目被黑的情況也就更常見(jiàn)了。
小項(xiàng)目,大影響專(zhuān)家指出,超小型開(kāi)源項(xiàng)目是黑客注入惡意代碼的重災(zāi)區(qū)。
超小型開(kāi)源軟件包也有可能是大型軟件包的依賴(lài),無(wú)論依賴(lài)層有多深。
你覺(jué)得自己的項(xiàng)目只有一兩個(gè)依賴(lài),但實(shí)際上可能有成百上千的,而且你根本無(wú)法徹查。
比如說(shuō),由個(gè)人開(kāi)發(fā)并維護(hù)的開(kāi)源項(xiàng)目 Event-stream 就被惡意黑客接手,成功向經(jīng)由流行 JavaScript 包管理器 NPM 分發(fā)的代碼庫(kù)中注入了惡意代碼。
“Event-stream 項(xiàng)目的開(kāi)發(fā)人員沒(méi)有足夠的時(shí)間來(lái)維護(hù)。
一名惡意用戶(hù)說(shuō)服了開(kāi)發(fā)者,接管了該項(xiàng)目。
剛剛接管的時(shí)候該項(xiàng)目還是像以往一樣維護(hù)。
此后,這名惡意用戶(hù)修改了 Event-stream 自身依賴(lài)的一個(gè)包,注入了可以劫持特定比特幣錢(qián)包的代碼。
該攻擊的影響范圍有多大?該項(xiàng)目代碼每周下載量近 150 萬(wàn)次,用在其他 1,600 多個(gè)軟件包中,而這些軟件包自身又各有數(shù)百萬(wàn)次的下載量。
另一起非惡意事件例證了小型開(kāi)源軟件包的深遠(yuǎn)影響:2016 年 3 月 23 日,開(kāi)發(fā)者 Azer Koçulu 刪除了他通過(guò) NPM 分發(fā)的 250 個(gè)模塊。
其中一個(gè)模塊非常之小,僅含 11 行代碼,是往文本字符串左側(cè)添加空格以適應(yīng)變量定義的。
結(jié)果,這個(gè)名為 “left-pad” 的模塊是全世界成千上萬(wàn)的企業(yè)和商業(yè)軟件所用依賴(lài)包的一部分,包括用 JavaScript 開(kāi)發(fā)的中流砥柱 Babel 和 Node 構(gòu)建的那些。
而由于 “left-pad” 下架,這些數(shù)以千萬(wàn)計(jì)的應(yīng)用全都失靈了。
雖說(shuō)開(kāi)發(fā)者重新創(chuàng)建該功能也不是很難,但如此簡(jiǎn)單的動(dòng)作受到的短期影響也已經(jīng)十分巨大。
(近) 普遍威脅開(kāi)源的普遍性眾所周知。
Gartner 數(shù)據(jù)顯示,95% 的企業(yè)在內(nèi)部項(xiàng)目中使用開(kāi)源代碼。
鑒于敏捷開(kāi)發(fā)運(yùn)維方法的時(shí)間壓力,由內(nèi)部開(kāi)發(fā)團(tuán)隊(duì)編寫(xiě)自有功能和函數(shù)庫(kù)來(lái)打造確定性防御的做法,是不太可能被采用的。
于是,開(kāi)發(fā)團(tuán)隊(duì)怎么增強(qiáng)代碼安全性呢?第一步就是甄選納入技術(shù)棧的庫(kù)和開(kāi)源項(xiàng)目。
有些項(xiàng)目的 “履歷” 優(yōu)于其他項(xiàng)目。
第二步,確保所用項(xiàng)目是活躍項(xiàng)目,有定期更新。
查看項(xiàng)目的活動(dòng)歷史可以確保項(xiàng)目是有眾多活躍開(kāi)發(fā)者支持的好項(xiàng)目。
有漏洞出現(xiàn)時(shí)能被及時(shí)修復(fù)的概率也高得多。
而一旦補(bǔ)丁可用,要確保及時(shí)應(yīng)用補(bǔ)丁修復(fù)漏洞。
常有關(guān)注零日漏洞和黑客國(guó)家隊(duì)的組織機(jī)構(gòu)自己的 “基本代碼安全” 卻沒(méi)做好。
保持開(kāi)源代碼更新和做好基礎(chǔ)的代碼掃描,才是最基本而堅(jiān)實(shí)的網(wǎng)絡(luò)威脅防線(xiàn)。
這就是個(gè)信任問(wèn)題:對(duì)開(kāi)源項(xiàng)目和使用該代碼的內(nèi)部開(kāi)發(fā)人員的信任。
惡意開(kāi)源代碼包如果沒(méi)人用,也是不會(huì)造成嚴(yán)重后果的。
IT 部門(mén)里誰(shuí)能升級(jí)或修改軟件包必須有著非常明確的規(guī)定。
必須有人監(jiān)管著所發(fā)生的一切。
Copyright © 2021 深圳市維創(chuàng)信息技術(shù)有限公司 版權(quán)所有