BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Node安全项目要进一步提升Node.js的安全性

| 作者 Sergio De Simone 关注 18 他的粉丝 ,译者 曹知渊 关注 1 他的粉丝 发布于 2014年7月4日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

为了增强Node.js的安全性,Node安全项目已经默默地工作了几个月的时间。这个项目审查Node.js现有的模块的目标是 ,帮助“改善Node生态圈,增强开发人员和企业对Node.js领域安全性的信心。”

这个项目计划通过一个标签系统以分布式方式执行本次审查,该系统提供了处理咨询、问题以及拉动需求的骨架,这样就可以在Node社区的帮助下完善模块了。

Node.js的主要安全担忧之一就是服务端JavaScript注入(SSJS注入)的可能性,它类似于跨站JavaScript注入。Adobe的高级安全研究员Bryan Sullivan发表了一篇论文,在文中解释了一些运用SSJS注入的攻击手段,使应用程序和数据暴露在风险之下。

这里需要提一下,相比于跨站脚本攻击,利用服务端JavaScript注入漏洞的方式与SQL注入更加相似。SSJS注入不像跨站脚本攻击那样需要以社会工程找一个中间事主,而它用随意产生的HTTP请求就可以直接攻击应用程序了。

有一个博客作者\0/ bish \0/,他自称自己是个安全狂热分子,他写道,开发人员需要特别注意Node.js中的很多因素。第一个是eval语句,“它很容易被用来进行服务端注入”。另一个是“事件驱动的单线程编程模型”,因为它,“一个简单的错误就会导致整个服务瘫痪”。他补充说,“为了安全,应该避免像隐式全局变量、with语句、eval语句这样的反模式 。”他也在博文中展示了一些示例,它们都是因为错误地使用了编程语言的特性而被利用的。

所以,较之其他技术Node.js从本质上并不缺少安全性,因为上面提到的这些威胁,在其他广泛应用于服务端的语言中也同样存在。而正如Adam Baldwin在Modulus公司的一次访谈中提到,这件事情的本质是提升开发人员对影响Node平台的安全关注的意识。

Node安全项目致力于改变node社区解决安全问题的方式,它集中力量传播安全原则,审查社区开发的模块,并公布结果。

参考英文原文:Node Security Project Aims at Making Node.js More Secure


感谢夏雪对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT