前端开发人员注意!NPM遭“误植域名”攻击长达2周

责任编辑:editor005

2017-08-05 21:56:06

摘自:E安全

攻击者使用NPM注(Node js包管理注册表)上的crossenv恶意软件窃取开发人员的凭证,这起攻击活动在38个恶意NPM包被删除后得以停止。

攻击者使用NPM注(Node.js包管理注册表)上的crossenv恶意软件窃取开发人员的凭证,这起攻击活动在38个恶意NPM包被删除后得以停止。

开发人员会定期添加JavaScript代码至Node.js应用程序,以实现最常用的功能,因此开发人员本身不必编写代码。

NPM首席技术官希杰·西尔韦里奥周三发布博文指出,7月19日至7月31日,用户“hacktask”发布一系列与现存NPM包相似的域名实施“误植域名”(Typosquatting)攻击。

E安全百科:

1、NPM

全称是 Node Package Manager,npm为JavaScript开发者提供了一个分享代码的方式,同时也能够为开发者提供一个在他们项目中重用代码的方式。

2、“误植域名”(Typosquatting)攻击

Typosquatting也被称为:URL劫持(URL hijacking),是一种域名抢注和品牌劫持形式,针对是在Web浏览器输入网址时出现拼写错误的网络用户(例如将Google.com误打成“Gooogle.com”)。

西尔韦里奥表示,在过去,这种攻击较为偶然。他们很少看到有人故意误植域名与现存包竞争。而这次,包命名既为故意之举,也是恶意行为,其意图在于收集被骗用户的数据。

瑞典开发人员奥斯卡·波尔姆斯顿在包中发现恶意软件“crossenv”,其专门用来欺骗用户搜索cross-env---设置环境变量的热门脚本。

波尔姆斯顿在接受媒体电话采访时表示,由于环境变量是将凭证传递至软件的常用方式,因此环境变量是相当不错的选择。

除此之外,环境变量能用来存储账户名称、密码、令牌和为应用程序、云服务和API提供访问权的密钥。

这种情况下,crossenv恶意软件试图复制受害者设备上的任何环境变量集合,并将其传输至攻击者在npm.hacktask.net控制的服务器。

Crossenv使用的JSON配置文件运行名为package-setup.js的脚本,这个脚本允许将现有环境变量转换成字符串,之后通过POST请求发送数据。

西尔韦里奥表示,hacktask提交的38个包已从npm移除。她指出,Lift Security公司扫描了具有相同包设置代码的npm包,但未发现其它实例。

npm遭遇“误植域名”攻击长达2周-E安全

西尔韦里奥对攻击效果表示怀疑。她表示,误植域名结果被证明不是将恶意软件植入该注册表的最有效方式,用户趋向于搜索或复制粘贴发布的代码。

39个与hacktask有关的npm包中,大多数自7月中旬以来下载量为40左右,排除因好奇心驱使的下载,而crossenv恶意包最大的下载量为700。但大多数这些包是npm镜像服务器触发的自动下载。

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

西尔韦里奥预计,crossenv恶意包暴露期间,约有50人下载。她未发现任何开发人员报告因这起事件引发的账号盗用情况。

Hacktask账号已被禁用,但该账号的用户身份尚未被揭开。

当被问及npm是否采取措施防止其它人使用不同的账号实施类似的攻击,西尔韦里奥承认,这种攻击可能不会立即被发现。

西尔韦里奥在博文中表示,npm公司正在调查识别包中名称相似的问题,以防止未来发生误植域名攻击。npm还与安全公司Smyte合作检测公布在注册表中的垃圾包---很显然,某人发布垃圾包,是希望搜索引擎将README文件编入索引,从而提升网站搜索排名。

开发人员杰夫·安德鲁斯2016曾表示,他自己就在使用Node.js/npm,但如何保证安全?他给出的无法是“不能”!

链接已复制,快去分享吧

企业网版权所有©2010-2025 京ICP备09108050号-6京公网安备 11010502049343号