本文主要是介绍白帽子讲Web安全-客户端脚本安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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受到同源策略的约束,不能跨域访
这篇关于白帽子讲Web安全-客户端脚本安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!