2月24日訊 過去幾年中,陸續(xù)出現(xiàn)了多種極具創(chuàng)意的非常規(guī)性比特幣挖掘手段,包括將相關(guān)代碼嵌入至智能電燈乃至網(wǎng)絡(luò)瀏覽器當(dāng)中。然而如今,另一種新的惡意方法開始出現(xiàn):將比特幣挖掘代碼偷偷添加至開源軟件之內(nèi)。
一旦成功,這種攻擊意味著任何下載該開源軟件的用戶,其計算機都可能在不知不覺中運行比特幣挖掘代碼并消耗計算能力與電力為攻擊者生成比特幣。截至目前,1比特幣的價值超過1000美元。E安全提醒請大家一定保持警惕!
以下為E安全目前收集到的信息。就在上周末,俄羅斯開源開發(fā)者Alexey Palazhchenko發(fā)布推文表示,他的在線代碼庫收到了一條來自GitHub某神秘帳戶的請求,要求向其項目中添加代碼。
Palazhchenko在回復(fù)郵件中寫道,“我的項目其實一直鮮有貢獻(xiàn)者,我當(dāng)然希望增加貢獻(xiàn)者數(shù)量,因此對這樣的情況我開始抱有樂觀情緒——哇哦,新的貢獻(xiàn)者,太棒了,而且是對方主動要求參與。”
然而在檢查該帳戶時,他發(fā)現(xiàn)對方已經(jīng)被GitHub封禁。他寫道,這令他起了疑心。
開發(fā)者們會利用Pull請求(Pull request)申請將其代碼添加至目標(biāo)項目,且需要由主編碼者批準(zhǔn)方可實現(xiàn)。他寫道,“我不可能接受這樣的貢獻(xiàn)。我的代碼庫規(guī)模很小,且完全處于另一領(lǐng)域。”基本上,他的項目很小且與比特幣毫無關(guān)聯(lián),因此對方的請求就這樣被擱置了。
Palazhchenko在Drone(一款持續(xù)集成工具,允許開發(fā)者即時對自己的代碼片段進(jìn)行更新,從而分析并更新每一項Bug及問題)開發(fā)者用戶聊天室內(nèi)分享了他的遭遇。
在聊天中,Drone項目聯(lián)合創(chuàng)始人Brad Rydzewski寫道,該Pull請求很可能屬于一類嘗試偷偷添加代碼的、由機器人自動執(zhí)行的惡意行為:
“幾年之前,有一群比特幣礦工開始編寫用于創(chuàng)建GitHub及Drone用戶ID的腳本,并進(jìn)行冒名提交以挖掘比特幣……這樣的經(jīng)驗使我比較擅長檢測這類惡意活動。”Rydzewski并沒有對外媒的采訪要求予以回復(fù)。而在與GitHub方面的接觸后,我們確認(rèn)該帳戶由一款專門用于將比特幣挖掘代碼添加至開源項目內(nèi)的機器人負(fù)責(zé)操作。換言之,GitHub確實對其進(jìn)行了封禁,且此前其還封禁過其它類似的機器人。
GitHub發(fā)言人在一份郵件聲明中表示,“我們的團隊意識到了這一問題并禁用對對應(yīng)的代碼庫。我們正在積極與持續(xù)集成社區(qū)開展合作,從而發(fā)現(xiàn)并解決這些問題。”
將代碼偷偷添加至軟件當(dāng)中的作法當(dāng)然不好,不過好消息是代碼庫的擁有者必須批準(zhǔn)相關(guān)請求,這種邪惡目的才能得以實現(xiàn)。如果不加批準(zhǔn),則不會出現(xiàn)什么樣問題。然而Palazhchenko同志之所以能夠發(fā)現(xiàn)疑點,是因為其項目規(guī)模不大且貢獻(xiàn)者圈子比較單純,其它開源項目則需要保持更為警惕的態(tài)度。
Palazhchenko最后寫道,“雖然抱有懷疑,但我覺得這種添加比特幣挖掘代碼的伎倆在規(guī)模更大的代碼庫可能更易于實現(xiàn)。”