浏览器安全

Web 页面安全

  • web页面安全中最基础、最核心的安全策略:同源策略(两个 URL的协议域名和端口都相同)
    - 表现:限制通过 XMLHttpRequest 等方式的数据发送;不能相互操纵DOM;不能读取当前站点的Cookie、IndexDB、LocalStorage 等数据。
    - 页面安全策略
    1. 页面中可以引用第三方资源,引入了 CSP 来限制其自由程度。
      CSP(内容安全策略)让服务器决定浏览器能够加载哪些资源,让服务器决定浏览器是否能够执行内联 JavaScript 代码
    2. 引入了跨域资源共享策略,CORS-解决xhr
    3. 实现了跨文档消息机制,让其可以比较安全地通信。-解决不能相互操纵DOM
    • 页面安全策略引发的页面安全问题
      1. XSS攻击_Cross Site Scripting,
        XSS 攻击是指往HTML文件/DOM中注入恶意脚本,从而在用户浏览页面时对用户实施攻击-> 可以 窃取 Cookie 信息、监听用户行为、修改 DOM、在页面内生成浮窗广告
        攻击方式:存储型XSS(Web服务器存储恶意脚本)、反射型XSS攻击(Web服务器不存储恶意脚本)、基于DOM的XSS攻击(注入客户端)
        防范:①服务器对输入脚本进行过滤或转码、②实施严格的 CSP,③设置cookie值为httponly属性,使其只能用于HTTP请求,而无法通过JavaScript读取
      2. CSRF攻击_Cross-site request forgery跨站请求伪造
        CSRF 攻击就是黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事
        攻击方式:自动发起Get请求、自动发起POST请求、引诱用户点击链接
        防范: ①Cookie的SameSite属性设为Strict或Lax;②在服务器端验证请求来源的站点-优先判断请求头的Origin属性,再Referer属性;③采用 CSRF Token,

浏览器系统安全

浏览器被划分为浏览器内核和渲染内核两个核心模块,浏览器内核是由网络进程、浏览器主进程和其他进程组成
  • 基于多进程之上的安全沙箱:将渲染进程和操作系统隔离的这道墙,
    渲染进程采用了安全沙箱,不能与操作系统直接交互,在浏览器内核中实现了持久存储、网络访问和用户交互等与操作系统交互的功能,然后通过 IPC 和渲染进程进行交互。
    即便渲染进程由于漏洞被攻击,也不会影响到操作系统的
  • 站点隔离
    将一个页面里不同源的 iframe 分配到不同的渲染进程中,即使被攻击也不会影响到其他渲染进程

浏览器网络安全

  • HTTPS:在HTTP协议栈中引入安全层
    TCP 和 HTTP 层之间插入了一个安全层->负责数据的加密和解密操作。

  • 混合加密实现HTTPS的安全层
    在传输数据阶段依然使用对称加密,但是对称加密的密钥我们采用非对称加密来传输

  • https请求流程

    1. 首先浏览器向服务器发送支持的加密算法集合和随机数client—random;
    2. 服务器保存随机数 client-random,向浏览器发送选择的加密算法、service-random 和包含公钥的数字证书;
    3. 浏览器验证数字证书,验证通过后,利用client-random 和 service-random 计算出来 pre-master,通过公钥对 pre-master 加密发送给服务器。
    4. 最后服务器拿出自己的私钥,解密出 pre-master 数据,并返回确认消息。
  • 证明服务器可靠--引入了数字证书,

  • 数字证书的申请和验证
    申请:CA使用Hash函数来计算服务器提交的明文信息,对其加密后的密文就是 CA 颁发的数字签名
    验证:首先浏览器采用与CA签名时相同的Hash函数来计算证书的明文信息并得到信息摘要A;然后再利用CA的公钥解密签名数据,得到信息摘要 B;对比信息摘要 A 和信息摘要 B,如果一致,则可以确认证书是合法的,

posted @ 2021-12-24 03:13  忘川酒  阅读(100)  评论(0编辑  收藏  举报