2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

Android开发必须要会!2021大厂Android面试经验,全网疯传

欢喜学安卓

android 程序员 面试 移动开发

SpringBoot-技术专题-启动自动装配过程

码界西柚

spring springboot

滴滴OCE惊喜福利!

滴滴云

2021年GitHub上爆火的999页Java面试宝典终开源

比伯

Java 编程 架构 面试 程序人生

EGG NETWORK永动金融EFTalk火爆来袭

币圈那点事

【JS必知必会】高阶函数详解与实战

koala

JavaScript 面试 大前端

一文归纳Python特征生成方法(全)

泳鱼

Python 机器学习 深度学习

巩固知识体系!应聘高级Android工程师历程感言,面试建议

欢喜学安卓

android 程序员 面试 移动开发

悖论和直觉

阳龙生

蚂蚁金服三面Java面试题全解析,这也太难了吧

Java架构之路

Java 程序员 架构 面试 编程语言

Google Material Design 元件库

zhuchuanming

元件库

Java面试必问:一位清华大牛用一个坦克大战讲明白了23种设计模式(视频+源码笔记)

Java架构追梦

Java 架构 面试 设计模式 坦克大战

如何实现一个简易版的 Spring - 如何实现 Setter 注入

mghio

spring 依赖注入

Python OpenCV 图像旋转,取经之旅第 11 天

梦想橡皮擦

3月日更

阿里P7大牛手把手教你!美团Android开发工程师岗位职能要求,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

深入理解 JavaScript, 从作用域与作用域链开始

koala

JavaScript 大前端

Ai特征选择,一篇就够了

泳鱼

Python 人工智能 机器学习 深度学习 AI

实例讲解如何制作Python模式程序

华为云开发者联盟

Python 编程语言 星型程序 Programs 模式程序

Spark性能调优-Shuffle调优及故障排除篇

五分钟学大数据

spark Spark调优 3月日更

Ai调参炼丹,一篇就够了

泳鱼

Python 机器学习 深度学习 AI

数据加密:你应该知道的数仓安全

华为云开发者联盟

数据加密 GaussDB(DWS) 数仓安全 透明加密 加密函数

一束光的旅程

白洞计划

领域驱动设计101 - 绑定模型与实现

luojiahu

领域驱动设计 DDD

4大华为云“安全镖局”秘密法宝揭秘

华为云开发者联盟

态势感知 华为云 企业主机安全 数据安全中心 Web应用防火墙

经常被面试官问道的JavaScript数据类型知识你真的懂吗?

koala

JavaScript 面试 大前端

Apache Ranger安全认证配置

大数据技术指南

大数据 3月日更

WC,误删数据库了,会被开除吗?

Java架构师迁哥

小鼎量化机器人系统开发详情介绍

系统开发咨询1357O98O718

【实战问题】-- 缓存穿透之布隆过滤器(1)

秦怀杂货店

缓存 布隆过滤器 java;

如何阅读 Java 字节码(Byte Code)

Kori Lin

Java JVM bytecode 字节码

牛链NB系统开发案例源码

系统开发咨询1357O98O718

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