白帽子讲Web安全-客户端脚本安全

1.安全世界观1.1安全三要素机密性Confidentiality:要求保护数据内容不能泄露,加密是实现机密性要求烦人常见手段;完整性Integrity:要求保护数据内容是完整,没有被篡改的;可用性Availability:要求保护资源是“随需而得”。1.2实施安全评估资产等级划分:对数据做等级划分,后划分信任域和信任边界;威胁分析:可能造成危害的来源称为威胁,威胁分析...
摘要由CSDN通过智能技术生成

1.安全世界观

1.1安全三要素

机密性Confidentiality:要求保护数据内容不能泄露,加密是实现机密性要求烦人常见手段;

完整性Integrity:要求保护数据内容是完整,没有被篡改的;

可用性Availability:要求保护资源是“随需而得”。

1.2实施安全评估

资产等级划分:对数据做等级划分,后划分信任域和信任边界;

威胁分析:可能造成危害的来源称为威胁,威胁分析是要把所有的威胁都找出来,一般采用头脑风暴法或者建模法;

风险分析:可能会出现的损失称为风险,可通过DREAD模型科学衡量风险;

安全解决方案:方案应能够有效解决问题,用户体验好,高性能,低耦合,易于扩展与升级。

1.3白帽子兵法

1.3.1 Secure By Default原则:

>白名单黑名单

    若更多地使用白名单,则系统就会变得更安全。

按照白名单的思想,应根据业务需求,列出一个允许使用的软件以及软件版本的清单,在此清单外的软件则禁止使用,注意避免出现类似通配符的问题。

>最小权限原则

    要求系统只授予主体必要的权限,而不要过度授权,需要认真梳理业务所需要的权限。

1.3.2 Defense in Depth纵深防御原则:

首先,要在各个不同层面,不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;

其次,要在正确的地方做正确的事情,在解决根本问题的地方实施针对性的安全方案。

1.3.3 数据与代码分离原则

程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,导致缓冲区溢出等安全问题,使用过滤,编码等手段,把可能造成代码混淆的用户数据清理掉。在Web安全中,由“注入”引起的问题很多,如XSS,X-Path等。

1.3.4 不可预测性原则

不可预测性能有效地对抗基于篡改,伪造的攻击,可以巧妙用于一些敏感数据上,实现往往需要用到加密算法,随机数算法,哈希算法。

 

2.客户端脚本安全

浏览器安全:浏览器本身就是一个客户端,若具备安全功能,则能想安全软件一样对用户上网起到很好的保护作用,另外浏览器安全也是浏览器厂商之间竞争的底牌。

2.1同源策略

同源策略(Same Origin Policy)是浏览器最核心最基本的功能。限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性。

影响源的因素有:host(域名或IP地址),子域名,端口,协议。

对于当前页面来说,页面内存放JavaScript文件的域并不重要,重要的是加载JavaScript页面所在的域是什么。在浏览器中,<script>, <img>, <iframe>, <link>等标签是可以跨域加载资源,而不受同源策略的限制。

XMLHttpRequest受到同源策略的约束,不能跨域访

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值