前端计算与安全防御教材.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
前端计算 和 安全防御 about:me { name: 佳⾠辰, nick: EtherDream, from: 阿⾥里巴巴安全部 } 前端开发 安全研究 Geeker 1995 2000 2005 2010 2015 about:history CPU: 500M RAM: 64M Hello World CPU: 2G x 4 RAM: 8G 今天 前端利⽤用 ⺴⽹网络攻击 Great Cannon 在线挖矿 ⽐比特币、虚拟币 科学计算 最⼤大梅森素数、SETI 其他 …. 分担后端 传统 不信任客户端的⼀一切数据,所有计算服务端完成 尝试 设计合理的机制,利⽤用前端资源,分担后端⼯工作 案例:富⽂文本过滤的思考 …… 富⽂文本跨站 跨站攻击,第⼀一次接触⺴⽹网络安全 HTML 字符串 - DOM 树 过滤 ⽩白名单 外的 节点 和 属性 DOM 树 - HTML 字符串 反思 完整的富⽂文本过滤,应当有如下流程: 简化的流程 HTML 字符串 - 正则 出于性能考虑,⼤大多在 字符串层⾯面 过滤 能想到的 ⼤大⼩小写、引号、分隔符 … 想不到的 浏览器私有特征、系统字集、特殊字符 … HTML 语法复杂 前端过滤 A B ⽂文档 渲染前 HTML 字符串 - DOM(交给 DOMParser ) 干净的 DOM 后端 只储存,不过滤 ⽤用户提交 富⽂文本 HTML 启⽰示 浏览器 擅⻓长的问题,浏览器 ⾃自⼰己解决。 可疑元素 外链资源 本地存储 测试痕迹 …… 前端监控 换⼀一种⾓角度 跨站攻击难以杜绝,不如增加 预警 机制。 第⼀一时间发现问题 启⽰示 ⽤用户优势:数量⼤大、成本低、覆盖⼲⼴广 汇编 JavaScript Java C 解释执⾏行 动态类型 沙箱限制 ⾼高性能计算 性能,⼀一直是脚本语⾔言的软肋 装机量 编译型 JIT 多线程 跨平台 传统⽅方案 — Flash 计算⽅方⾯面,Flash 拥有众多优势 强类型 前沿⽅方案 — asm.js 使⽤用语法糖,约定⼀一套 强类型 规范。 asm.js x|0 x 0 = = int x uint x 通过⼯工具⽣生成,例如:emscripten 可接近 Native 的性能 100% 80% 60% 40% Native asm.js Flash JavaScript 性能对⽐比 效率⼤大致对⽐比 未来⽅方案 — WebAssembly 标准化的 Web 计算⽅方案。 ⼆二进制格式。更规范,更快,兼容性更强。 拭⺫⽬目以待 ...... 计算的价值 凭空计算,能否创造价值? ⽆无价值: 计算结果没有任何⽤用途。 有价值: 计算过程的⼀一种认可。 Sleep(5000) for (i = 0 ~ 100 亿) for (i = 0 ~ 100 亿) result += i ; 耗时 ≠ 价值 本地 Cookie、Storage 休眠存储扫描 本地存 Cookie、Storage ⼤大循环 储扫描 本地存储扫描 Cookie、Storage 可预测的问题 耗时 = 价值 计算 不可预测的问题,答案只能穷举,耗费 ⼤大量 时间。 经典案例 MD5(X) = X 求 X 计算⽅方 散列不可预测,答案只能穷举。(⼤大量计算) 鉴定⽅方 代⼊入答案即可校验。(计算⼀一次) 难度可控 求 X,使结果前 N 位等于 0 MD5(问题 + X) = 0000……………… 改变 N 的⼤大⼩小,可调整难度 提交 带上答案 编写帖⼦子 问题解答中… 打开⻚页⾯面 获得问题 创建计算线程 实际应⽤用 使⽤用⼯工作量,限制发帖频率 接收 校验答案 是否符合问题 对⽐比验证码 限速 ⼈人和机器都能通过 ⼯工作量 消耗计算⼒力 机器不能通过 验证码 消耗⽤用户体验 ⼯工作量其他⽤用途 密码强化 隐私泄露 ⼿手机、邮箱、⾝身份证 …. 加密过的密码 如果破解明⽂文密码,可以尝试登录其他账号 密码泄露 近年来,拖库 事件频发。 破解密码 知道加密⽅方式,就可以 暴⼒力破解 字典 常⽤用的词汇组合,增加猜中的⼏几率。 破解速度 加密有多快,猜⼀一次就多快。 ⼤大并发 使⽤用多线程、GPU 等可以更快。 保护密码 提⾼高加密时间 - 增加破解时间 慢加密 常⻅见算法:bcrypt、scrypt、PBKDF2 … 可设置加密过程的 ⼯工作量,想多慢就多慢。 缺陷 增加服务器计算压⼒力。 前端加密 前端 password = slow_hash( password ) 后端 保持不变 注意点 不是保护账号 数据泄露后,可以⽤用 Hash 登录,即使不知道明⽂文密码。

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档