面向DevSecOps的编码安全指南|JavaScript篇

文|martinzhou & l0u1s & monsoon
I. 背景
近年来,无论是DevSecOps,还是Google SRE的可靠和安全性理念,都提倡“安全需要每个工程师的参与”。其中涉及的“安全左移”理念也再次被推向前台,获得关注。
除安全团队建设一系列安全机制和工具外,每位开发者也可以身体力行地参与进来——编写安全的代码,从源头杜绝漏洞。这时,就需要一份详实的参考材料和行动大纲。
几位对研发安全感兴趣的一线研究员,首次尝试从开发者视角,分功能、语言梳理了编码的最佳安全实践。包括C++、Go、JavaScript等。TSRC公众号将分语言逐批与业界分享。

1.1 指南是如何梳理、编写的?
1.1.1 聚合各语言、组件、框架文档中的最佳安全实践
各语言、开发框架的文档中,一般也会给出安全加固指引。但相对分散,容易遗忘。通过代码安全指南的整合,能强化开发者们的安全意识。

图:散落在各类文档中的安全建议
1.1.2 参考业界经验,开展原创
在参考调研CWE、OWASP等现有规范的基础上,我们还注意到:在日常研发过程中,由于开发者首要考虑的是如何实现功能来完成需求。通过阐述安全的函数使用方式,更方便开发者记忆。
因此,采用了一种新的编排和阐述方式。尽管内容分类及表述方式有别,但核心内容殊途同归。
1.1.3 基于内外部已知的漏洞案例的复盘、抽象,不断完善指引条目
借助对内、外已知的漏洞案例的复盘,提炼产生漏洞的编码模式,不断补充先前未考虑到的风险规避建议。
1.1.4 举一反三,推导鲜有提及的风险点,力求面面俱到
除参考业界经验、沉淀转化已知漏洞案例外,我们还“主动出击”。结合各类开发文档和提炼的漏洞产生原因,挖掘鲜有提及的风险点加入《指南》中。以jQuery的.html()错误使用为例,漏洞原理是,传入.html()的变量值包含未过滤的HTML标签内容,产生DOM XSS。

通过回溯jQuery的官方手册,我们发现还有多个函数存在与.html()一样容易被误用的场景。如:.after()、.before()、.wrapAll())、.wrapInner()等。因此,最终形成的指南条目如下:

1.2 应用与落地
编码安全指南不仅可作为一线开发者的权威参考,还有助于开发黑、白盒漏洞扫描工具/策略。但设立指南只是安全建设“千里之行”的第一步,我们还在探索静态源代码分析、框架安全功能建设、安全开发库、自动漏洞修复等机制配合,进一步推动安全建设,欢迎关注TSRC的后续分享。
II. JavaScript编码安全指南

















腾讯研发安全团队
腾讯公司内部与自研业务贴合最紧密的一线安全工程团队之一。团队负责软件生命周期各阶段的安全机制建设,包括:制定安全规范/标准/流程、实施内部安全培训、设计安全编码方案、构建安全漏洞检测(SAST/DAST/IAST)与Web应用防护(WAF)系统等。在持续为QQ、微信、云、游戏等重点业务提供服务外,也将积累十余年的安全经验向外部输出。通过为腾讯云的漏洞扫描、WAF等产品提供底层技术支撑,助力产业互联网客户安全能力升级。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 1 农文旅融合绘就美丽乡村新图景 7945129
- 2 超级计算机算出人类灭绝时间 7902407
- 3 130亿三岁影帝接了多少广告 7892280
- 4 春回大地农事起 春耕备耕正当时 7702160
- 5 天雷滚滚我好怕怕传到联合国 7666702
- 6 下周将迎超级大回暖 气温火箭式飙升 7514686
- 7 男生用镜头记录下女友5年的蜕变 7441579
- 8 《家有儿女》花了多少经费在餐桌上 7392923
- 9 美国将完全退出联合国?联合国回应 7220719
- 10 656吨“巨无霸”货车“优雅”前行 7103610