写点什么

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

  • 2014-07-02
  • 本文字数:886 字

    阅读完需:约 3 分钟

为了增强 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-07-02 23:483250
用户头像

发布了 77 篇内容, 共 37.9 次阅读, 收获喜欢 26 次。

关注

评论

发布
暂无评论
发现更多内容

物业资产管理系统解决方案

低代码小观

低代码 企业管理 资产管理 CRM CRM系统

外包学生管理系统架构文档

Sindorei

「架构实战营」

你只会用 split?试试 StringTokenizer,性能可以快 4 倍!!

CRMEB

httprouter源码刨析

王博

一套架构框架如何满足流批数据质量监控

字节跳动数据平台

大数据 字节跳动 数据质量

2022 年第一场云原生技术实践营开启报名

阿里巴巴云原生

阿里云 云原生 线下活动 布道师 实践营

数字中国建设再提速,智慧金融发展如何跑出“加速度”?

百度大脑

人工智能 数字化 智能化

大凉山的新衣,产业AI的未来

脑极体

Presto 在字节跳动的内部实践与优化(优化篇)

字节跳动数据平台

大数据 字节跳动 presto

Presto 在字节跳动的内部实践与优化(实践篇)

字节跳动数据平台

大数据 字节跳动 presto

巨杉数据库加入龙蜥社区,共同推动软硬件行业生态发展

OpenAnolis小助手

龙蜥社区

Centos7 安装MySql 5.7多实例

taony

MySQL

[架构实战营] 模块八作业

张祥

架构实战营

模块八

侠客行

「架构实战营」

NFG定期赚币专场在虎符开启 APY高达1200%

区块链前沿News

Hoo虎符 虎符交易所

面试被问spring ioc,这样说让面试官眼前一亮(1)

公众号:程序猿成神之路

spring 5

2021年末28天写作营总结

mtfelix

28天写作

【安全漏洞】利用CodeQL分析并挖掘Log4j漏洞

H

网络安全 信息安全 漏洞

Go语言国际化 i18n

xcbeyond

golang 28天写作 i18n 12月日更

沐曦加入龙蜥社区,聚焦技术创新,繁荣开源生态

OpenAnolis小助手

龙蜥社区

云原生 Serverless Database 使用体验

阿里巴巴云原生

阿里云 Serverless 云原生 弹性 表格存储

OpenKruise v1.0:云原生应用自动化达到新的高峰

阿里巴巴云原生

阿里云 Kubernetes 云原生 OpenKruise 套件

PassJava 开源 (十) :Spring Cloud 整合 OSS 对象存储

悟空聊架构

OSS 28天写作 passjava 悟空聊架构 12月日更

有哪些比较好用的在线项目管理软件值得推荐?

优秀

项目管理工具

Go 语言快速入门指南:第八篇 接口

宇宙之一粟

golang 接口 12月日更 Go入门

百度智能云开物秀出全年成绩,发布和升级五大新产品

百度大脑

人工智能 百度

在字节,大规模埋点数据治理这么做!

字节跳动数据平台

大数据 字节跳动 埋点 流量 埋点治理

Java 数据持久化系列之JDBC

程序员历小冰

数据库 持久化 28天写作 12月日更

Spring框架基础知识(02)

海拥(haiyong.site)

28天写作 12月日更

1.6(下周四)直播 | 观测云实践学堂03期:K8S太复杂,可观测实践一筹莫展?全新K8S实践干货直播间等你!

观测云

直播

LabVIEW图像灰度分析与变换(基础篇—4)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像灰度分析与变换

Node安全项目要进一步提升Node.js的安全性_安全_Sergio De Simone_InfoQ精选文章