前端開發(fā)人員注意!NPM遭“誤植域名”攻擊長(zhǎng)達(dá)2周

責(zé)任編輯:editor005

2017-08-05 21:56:06

摘自:E安全

攻擊者使用NPM注(Node js包管理注冊(cè)表)上的crossenv惡意軟件竊取開發(fā)人員的憑證,這起攻擊活動(dòng)在38個(gè)惡意NPM包被刪除后得以停止。

攻擊者使用NPM注(Node.js包管理注冊(cè)表)上的crossenv惡意軟件竊取開發(fā)人員的憑證,這起攻擊活動(dòng)在38個(gè)惡意NPM包被刪除后得以停止。

開發(fā)人員會(huì)定期添加JavaScript代碼至Node.js應(yīng)用程序,以實(shí)現(xiàn)最常用的功能,因此開發(fā)人員本身不必編寫代碼。

NPM首席技術(shù)官希杰·西爾韋里奧周三發(fā)布博文指出,7月19日至7月31日,用戶“hacktask”發(fā)布一系列與現(xiàn)存NPM包相似的域名實(shí)施“誤植域名”(Typosquatting)攻擊。

E安全百科:

1、NPM

全稱是 Node Package Manager,npm為JavaScript開發(fā)者提供了一個(gè)分享代碼的方式,同時(shí)也能夠?yàn)殚_發(fā)者提供一個(gè)在他們項(xiàng)目中重用代碼的方式。

2、“誤植域名”(Typosquatting)攻擊

Typosquatting也被稱為:URL劫持(URL hijacking),是一種域名搶注和品牌劫持形式,針對(duì)是在Web瀏覽器輸入網(wǎng)址時(shí)出現(xiàn)拼寫錯(cuò)誤的網(wǎng)絡(luò)用戶(例如將Google.com誤打成“Gooogle.com”)。

西爾韋里奧表示,在過去,這種攻擊較為偶然。他們很少看到有人故意誤植域名與現(xiàn)存包競(jìng)爭(zhēng)。而這次,包命名既為故意之舉,也是惡意行為,其意圖在于收集被騙用戶的數(shù)據(jù)。

瑞典開發(fā)人員奧斯卡·波爾姆斯頓在包中發(fā)現(xiàn)惡意軟件“crossenv”,其專門用來欺騙用戶搜索cross-env---設(shè)置環(huán)境變量的熱門腳本。

波爾姆斯頓在接受媒體電話采訪時(shí)表示,由于環(huán)境變量是將憑證傳遞至軟件的常用方式,因此環(huán)境變量是相當(dāng)不錯(cuò)的選擇。

除此之外,環(huán)境變量能用來存儲(chǔ)賬戶名稱、密碼、令牌和為應(yīng)用程序、云服務(wù)和API提供訪問權(quán)的密鑰。

這種情況下,crossenv惡意軟件試圖復(fù)制受害者設(shè)備上的任何環(huán)境變量集合,并將其傳輸至攻擊者在npm.hacktask.net控制的服務(wù)器。

Crossenv使用的JSON配置文件運(yùn)行名為package-setup.js的腳本,這個(gè)腳本允許將現(xiàn)有環(huán)境變量轉(zhuǎn)換成字符串,之后通過POST請(qǐng)求發(fā)送數(shù)據(jù)。

西爾韋里奧表示,hacktask提交的38個(gè)包已從npm移除。她指出,Lift Security公司掃描了具有相同包設(shè)置代碼的npm包,但未發(fā)現(xiàn)其它實(shí)例。

npm遭遇“誤植域名”攻擊長(zhǎng)達(dá)2周-E安全

西爾韋里奧對(duì)攻擊效果表示懷疑。她表示,誤植域名結(jié)果被證明不是將惡意軟件植入該注冊(cè)表的最有效方式,用戶趨向于搜索或復(fù)制粘貼發(fā)布的代碼。

39個(gè)與hacktask有關(guān)的npm包中,大多數(shù)自7月中旬以來下載量為40左右,排除因好奇心驅(qū)使的下載,而crossenv惡意包最大的下載量為700。但大多數(shù)這些包是npm鏡像服務(wù)器觸發(fā)的自動(dòng)下載。

babelcli: 42

cross-env.js: 43

crossenv: 679

d3.js: 72

fabric-js: 46

ffmepg: 44

gruntcli: 67

http-proxy.js: 41

jquery.js: 136

mariadb: 92

mongose: 196

mssql-node: 46

mssql.js: 48

mysqljs: 77

node-fabric: 87

node-opencv: 94

node-opensl: 40

node-openssl: 29

node-sqlite: 61

node-tkinter: 39

nodecaffe: 40

nodefabric: 44

nodeffmpeg: 39

nodemailer-js: 40

nodemailer.js: 39

nodemssql: 44

noderequest: 40

nodesass: 66

nodesqlite: 45

opencv.js: 40

openssl.js: 43

proxy.js: 43

shadowsock: 40

smb: 40

sqlite.js: 48

sqliter: 45

sqlserver: 50

tkinter: 45

西爾韋里奧預(yù)計(jì),crossenv惡意包暴露期間,約有50人下載。她未發(fā)現(xiàn)任何開發(fā)人員報(bào)告因這起事件引發(fā)的賬號(hào)盜用情況。

Hacktask賬號(hào)已被禁用,但該賬號(hào)的用戶身份尚未被揭開。

當(dāng)被問及npm是否采取措施防止其它人使用不同的賬號(hào)實(shí)施類似的攻擊,西爾韋里奧承認(rèn),這種攻擊可能不會(huì)立即被發(fā)現(xiàn)。

西爾韋里奧在博文中表示,npm公司正在調(diào)查識(shí)別包中名稱相似的問題,以防止未來發(fā)生誤植域名攻擊。npm還與安全公司Smyte合作檢測(cè)公布在注冊(cè)表中的垃圾包---很顯然,某人發(fā)布垃圾包,是希望搜索引擎將README文件編入索引,從而提升網(wǎng)站搜索排名。

開發(fā)人員杰夫·安德魯斯2016曾表示,他自己就在使用Node.js/npm,但如何保證安全?他給出的無法是“不能”!

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)