写点什么

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:483078
用户头像

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

关注

评论

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

如何快速解决恶意进程导致CPU飙升问题 | Linux | 运维

Appleex

Linux centos 运维 cpu 服务器

使用NeuVector开展云原生安全测试

QE_LAB

云原生 安全测试

第九期-模块三

wuli洋

技术同学如何面对裁员浪潮?

老张

职场发展 求职面试

面试官:聊聊长连接下的负载均衡

小小怪下士

Java 负载均衡 程序员 TCP

vue项目启动失败,内存不足处理

甜点cc

JavaScript Vue V8 10月月更

前端安全性问题以及防御措施

甜点cc

前端 安全 学习笔记 10月月更

速度快、时延低、更安全,华为云CDN助力企业创新发展!

路过的憨憨

华为

架构实战营 - 学生管理系统架构设计

π

#架构实战营

数据湖(十二):Spark3.1.2与Iceberg0.12.1整合

Lansonli

数据湖 10月月更

线性表数据结构和使用数组实现顺序表

石柒

10月月更

“程”风破浪的开发者|OpenHarmony 开发环境搭建

鸿蒙之旅

OpenHarmony 10月月更 “程”风破浪的开发者

Laravel-EloquentORM高级部分解析

乌龟哥哥

10月月更

模块三作业-外包学生管理系统架构设计

Diana S

架构训练营

架构实战训练营模块 3 作业

atcgnu

“程”风破浪的开发者|学习力是这个时代的终极竞争力

石云升

学习方法 知行合一 10月月更 “程”风破浪的开发者

ARM架构下的Docker环境,OpenJDK官方没有8版本镜像,如何完美解决?

程序员欣宸

Java Docker 10月月更

熬夜整理前端高频面试题(已拿offer)

loveX001

JavaScript

【web 开发基础】PHP 的流程控制之嵌套(巢状)条件分支结构 -PHP 快速入门 (15)

迷彩

嵌套条件表达式 10月月更 web开发基础 PHP基础

3分钟快速了解什么是千兆以太网?

wljslmz

网络技术 以太网 10月月更 千兆以太网

Kafka生产者客户端几种异常Case详解

石臻臻的杂货铺

kafka Kafka实战 10月月更

项目开发全流程梳理

甜点cc

团队管理 技术管理 敏捷研发 10月月更

网络畅通的“无名英雄”:华为云CDN,让数据传输又快又稳

路过的憨憨

华为

JavaScript数组常用方法大全

CoderBin

JavaScript 面试 前端 数组 10月月更

node版本管理器:nvm 和 n区别

乌龟哥哥

10月月更

高效IO之零拷贝技术

乌龟哥哥

10月月更

一文带你了解 Python 中的继承知识点

宇宙之一粟

Python 面向对象 继承 10月月更

“程”风破浪的开发者|数据包分析思路方法分享

穿过生命散发芬芳

学习方法 数据包分析 10月月更 “程”风破浪的开发者

阶段三作业

Johnny

#架构实战营

String源码分析(一)

知识浅谈

10月月更

上网冲浪总是慢?试试华为云CDN,高效加速真体验!

路过的憨憨

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