写点什么

腾讯防水墙团队:浅谈业务安全前端对抗

  • 2019-04-18
  • 本文字数:2788 字

    阅读完需:约 9 分钟

腾讯防水墙团队:浅谈业务安全前端对抗

随着互联网的发达,各种 Web 端的应用功能越来越多,架构设计也变得越来越复杂。为了抢占流量,所以应用会满足使用者各种各样的需求。但是随着应用功能越来越多的同时,随之而来的就是各种网络安全的问题。如何保护自家产品不被黑客攻击?用户信息不被黑客获取?作为前端开发行业的我们也逃不开这个问题。所以今天我们就简单聊一聊 Web 前端安全以及如何防范。



“安全”是个很大的话题,各种安全问题的类型也是种类繁多。如果我们把安全问题按照所发生的区域来进行分类的话,那么所有发生在后端服务器、应用、服务当中的安全问题就是“后端安全问题”,所有发生在浏览器、单页面应用、Web 页面当中的安全问题则算是“前端安全问题”。当我们下面在谈论“前端安全问题”的时候,我们说的是发生在浏览器、前端应用当中,或者通常由前端开发工程师来对其进行修复的安全问题。


国内很多互联网公司都有自己的安全团队,特别是像腾讯这样的大厂来说,每天面对以亿计算的用户数据,更需要一个强大而精密的技术团队来保证自家的应用安全、稳定的运行。腾讯有一支专门对抗黑产的神秘队伍,叫“腾讯防水墙”。为什么叫“防水墙”?因为这样一听,就知道和“防火墙”是两兄弟啊,而且他们打的就是各种流量水军。


拿腾讯防水墙的日常来看,这支神秘队伍每天在 5000+企业和业务上和黑产分子过招,日均常规风险判断 500 亿+次,识别风险占比高达 30%,平均每 10 次请求就有 3 次为风险请求。现在,腾讯防水墙不但在保护腾讯 3000 多个业务,还为京东 618、双 11 大促保驾护航;为永辉、蒙牛、快手、B 站等提供注册和营销保护。


在今年的 GMTC 全球大前端技术大会上,我们邀请到了腾讯防水墙团队的前端负责人刘忠正老师,来谈谈从代码保护的角度出发,业务安全前端对抗应该如何进行。下面是 InfoQ 对于刘老师做的一个简单的采访:



InfoQ:刘老师您好,请您先简单介绍一下您自己和您目前从事的工作?


刘忠正:首先感谢 GMTC 组委会愿意引入前端安全领域相关的话题,让我有机会给大家分享业务安全前端相关的内容。我是 2015 年毕业的,毕业后效力于阿里巴巴安全部,而后从阿里离职去 51 信用卡管家做过一段时间的前端架构,2017 年加入腾讯,在腾讯防水墙团队负责业务安全的前端。研究如何保护前端数据,增加前端代码逆向的难度,以及对恶意的执行环境进行检测,最终形成一个立体化的业务安全防御体系。


InfoQ:可否简单的介绍一下腾讯防水墙团队,它对于腾讯各业务线有着什么样的作用?


刘忠正:防水墙团队来自腾讯 TEG 安全平台部,团队积累了十余年的业务安全数据和风控经验,在金融、营销、帐号、内容等场景为腾讯各个业务提供业务安全基础能力,保障微信、QQ、腾讯视频、微众银行等产品的业务安全。


InfoQ:从业务安全角度出发,前端安全主要会面临哪些问题?又有什么样的技术手段进行对抗呢?


刘忠正:众所周知通用前端会面临诸如 XSS、CSRF 这样的安全风险,这种安全问题通常危害很大,需要研发同学有一些安全意识去防范。当然很多流程上的缺陷也会带来业务安全问题,但这不属于前端需要重点关注的领域。在业务安全前端领域,爬虫、脚本批量操作才是我们面临最大的问题,我们需要去识别当前操作是正常人还是机器行为。常规的方式是用图形验证码,也就是做图灵测试,但在机器学习盛行的大背景下,图形验证码简直不堪一击,现阶段主流的方案是通过收集用户行为和环境信息构建出多维模型对用户进行精准识别,具体到前端则是采集各种模型需要的数据,并通过加密、混淆、虚拟机等方式保护前端代码不被逆向或篡改。


InfoQ:前端代码保护有哪些方式?(可简单描述技术原理和达到的效果)


刘忠正:首先需要给大家一个客观的认识,类似 Uglify 的代码压缩并不是很好的代码保护手段,因此普遍认为代码压缩不属于代码保护的一部分,代码压缩只是一种代码优化。前端代码保护大致有两个流派,一个是以语法树变换为基础的混淆保护,一个是以构建私有执行环境为思路的虚拟机保护,谷歌则属于后者。代码混淆的效果因混淆器的负责程度而不同,基础级别的混淆器混淆出来的代码也很容易被逆向,而虚拟机保护的抗逆向效果好,其原理是在 JavaScript 的执行环境之上再设计构建一个虚拟机,所有原有业务逻辑的 JavaScript 代码均转换为该虚拟机可识别的字节码,复杂度较高效果好。


InfoQ:对于一般公司来讲,前端安全是个老生常谈的话题,很多情况下只有等出现问题才动手去解决,对于这样的情况你有什么“防范于未然”的建议吗?


刘忠正:前端安全确实是老生常谈的话题,其实很多时候出了问题再挽救往往就晚了,不管是敏感数据被盗还是代金券被薅,一旦薅完,损失就已经无法挽回,未雨绸缪非常重要。安全从业人员有个普遍的共识,就是不出安全问题往往很难去描述自己的工作价值,但出了问题安全人员肯定要背一部分锅,吃力不讨好。那么对于一般公司来说,我个人有两个方面的建议:


  • 不断提升研发人员的安全意识

  • 使用现代前端框架


并不是这么做就不会出问题,但出问题的概率会小一些,每个研发人员都多一点安全意识,很多漏洞就可以避免了。


InfoQ:在您看来,前端安全领域未来会是一个怎么样的发展趋势?


刘忠正:我认为前端安全领域未来的趋势很有可能会是浏览器帮我们做越来越的事,最终安全问题均交给浏览器来解决。从历史趋势看,安全领域的门槛一定是越来越低的,对于从业人员是如此,对于攻击者也是如此。


传统前端安全现阶段已经慢慢形成了一些通用的防御方案,一方面,W3C 制定了 CSP 标准用于提供更通用的 XSS 防御手段,另一方面,现代前端框架 React 等天生就具备一定的防御 XSS 能力,通过标准+框架+意识的提升,传统前端安全问题将越来越少。


而业务安全前端解决的最根本问题是人与机器的问题,那么为何不能由浏览器提供一个统一的生物认证接口,让浏览器告诉站点操作者是人还是机器,比如指纹、FaceID,这类生物特征都是很难被伪造的,浏览器提供统一的接口进行认真,这对于恶意用户来说几乎是降维打击。


那么最终业务安全的问题可能就回归到流程的问题了,业务逻辑是否存在被绕过的漏洞,前端不再那么棘手。


通过刘老师的介绍,我们简单的了解了一下前端安全的重要性和它对于业务的意义,在 GMTC 全球大前端技术大会上刘老师将会带来《从代码保护出发详谈业务安全前端对抗》的详细技术演讲,下面是演讲提纲:


  1. 业务安全对抗背景

  2. (1) 业务安全背景

  3. (2)恶意分类

  4. (3)图像对抗的脆弱性

  5. 前端解决方案

  6. (1)前端数据保护

  7. (2)前端代码保护

  8. (3)字面量混淆

  9. (4)流程混淆

  10. (5)调试检测

  11. 执行环境检测

  12. (1)Node.js 环境检测

  13. 模拟器环境检测

  14. (1)动态混淆技术

  15. 小结及效果


对于刘老师的演讲或者前端安全领域感兴趣的小伙伴欢迎来现场聆听详细的技术演讲细节。在GMTC全球大前端技术大会上我们还设置了小程序、性能优化、前端框架、Node、移动 AI、图形渲染、前端团队管理等热门技术专场,可点击”这里“了解大会详情。购票咨询:18514549229(同微信)


2019-04-18 10:4912694

评论

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

Mybatis源码解析之执行SQL语句

京东科技开发者

缓存 mybatis sql 源码学习 数据库·

DHorse打包原理

tiandizhiguai

maven 打包工具 构建

仅用5个小时纯Java版实现羊了个羊,来看源码吧,还送你108套皮肤

非喵鱼

Java swing 小游戏 羊了个羊

四步骤打造银行智能标签体系,助力银行精准营销

袋鼠云数栈

智能标签 数据画像

等保三级认证备案证明是哪个机构颁发?一般要多久?

行云管家

等保 等级保护 等保三级 等保备案

【知识分享】关于电子元器件封装的几个小知识

华秋PCB

封装 PCB PCB设计

大咖说·施耐德|数智技术,企业绿色低碳转型的催化剂

大咖说

双碳 绿色转型

MacBook2023免费的系统电脑优化软件CleanMyMac

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

小游戏流量变现瓶颈,新增长点是超级App?

FinFish

小游戏 小程序游戏 微信小游戏 小游戏引擎 流量变现

想做长期的 AB 实验?快来看看这些坑你踩了没

京东科技开发者

测试 测试原则 复盘归因 A/B 测试

软件测试丨让工作更高效,搞定Git的分支管理

测试人

git GitHub 软件测试 自动化测试 测试开发

企业级大数据平台智能运维好帮手——星环科技多模数据平台监控软件Aquila Insight

星环科技

瓴羊Quick BI 权限管理:构建高效企业数据分析运行管理体系

夏日星河

聚焦人机交互智能应用领域,APISIX 在希沃网关的应用与实践

API7.ai 技术团队

api 网关 APISIX 用户案例

使用Spring Data Redis 发布订阅消息

码语者

redis Spring Boot message

云服务器代理商选哪家好?理由是什么?

行云管家

云计算 服务器 云服务器

英特尔着眼系统工艺协同优化理念,推进摩尔定律新浪潮

科技之家

开发小游戏都有哪些难点?

FinFish

小游戏 小游戏开发 小程序游戏 微信小游戏

Java开发如何通过IoT边缘ModuleSDK进行协议转换

华为云开发者联盟

Java 开发 华为云 12 月 PK 榜

MatrixOne 0.6.0 :首个云原生架构的HTAP数据库发布!

MatrixOrigin

分布式数据库 云原生数据库 国产数据库 MatrixOrigin MatrixOne

10个Python脚本来自动化你的日常任务

@下一站

Python 脚本 12月日更 12月月更

你可能需要的6个React开发小技巧

千锋IT教育

云智慧蝉联中国IT统一运维ITSM软件市场第一!

云智慧AIOps社区

ITSM IT运维 运维管理

FL Studio2024永久免费版音乐程序

茶色酒

FL Studio FL Studio2023 FL Studio21

Karmada多云多集群生产实践专场圆满落幕

华为云开发者联盟

云原生 华为云 12 月 PK 榜

星环科技TDS 2.4.0 发布: 数据开发、数据治理、数据运营套件能力再次升级

星环科技

BEVFormer-accelerate:基于EasyCV加速BEVFormer

阿里云大数据AI技术

深度学习 算法 计算机视觉 12 月 PK 榜

为什么 OpenCV 计算的视频 FPS 是错的

百度Geek说

OpenCV ffmpeg 12 月 PK 榜 帧率

聚焦技术创新!旺链科技荣获“宝山区企业技术中心”认定

旺链科技

区块链 产业区块链 技术创新 12 月 PK 榜

性能达1.5+倍!昇腾AI助力分子动力学模拟研究

华为云开发者联盟

人工智能 华为云 昇腾AI 12 月 PK 榜

2022年12月中国数据库排行榜:OceanBase立足创新登榜首,华为腾讯排名上升树雄心

墨天轮

数据库 opengauss TiDB oceanbase 国产数据库

腾讯防水墙团队:浅谈业务安全前端对抗_安全_刘忠正_InfoQ精选文章