现存于市的浏览器的安全机制教程
伴随互联网深入人们的生活,浏览器的发展更加丰富多彩,其种类多样,版本升级速度也日益提高。与此同时,浏览器的安全问题也备受关注。下面,你们就扒一扒主流浏览器实现了什么样的安全机制。
一、背景
伴随互联网的快速发展,种类繁多的浏览器也变得越来越复杂,它们不仅分析纯文本和HTML,还包括图像、视频和其他复杂的协议和文件格式等。这些极秋叶丰富了浏览器的功能,给用户带来了方便和更好的浏览体验,然而也带来了一系列的安全问题,各种各样的安全漏洞层出不穷,成为了黑客最易攻击的对象之一。为此,浏览器厂商也在不懈努力,在积极修复漏洞的同时,也在浏览器安全机制方面做着努力,本文将展示和对比主流浏览器当前对安全机制的实现状况。
首先来看看近期全球浏览器的市场份额,根据net Market share的统计数据,2016年7月份全球浏览器的市场份额如下图所示:Chrome占据市场份额最多,占50.95%,其次是占29.60%的iE,接下来依次是Firefox、safari和Edge,这五款浏览器占据了全球98.27%的市场份额,其影响力非同一般。
二、浏览器安全机制细说
近来,你们对以上五款浏览器的安全机制做了初步的探究,发现其内部的安全机制大同小异,下面就其主要的安全机制做一下容易教程。
1、沙箱(sandbox)
沙箱是一种隔离对象/线程/进程的机制,控制浏览器访问系统资源的权限,从而达到保护用户的系统不被网页上的恶意软件侵入、保护用户系统的输入事件(键盘/鼠标)不被监视、保护用户系统中的文件不被偷取等目的。最初的浏览器沙箱是基于Hook实现的,后来的Chrome沙箱是利用操作系统提供的一些安全机制实现的。
2、地址空间布局随机化(AsLR)
AsLR是一项缓解缓冲区溢出问题的安全技术。其原理是将进程运行所需的系统核心组件和对象在内存中的分布随机化。为了防止攻击者利用在内存中跳转到特定地址的函数,AsLR技术随机排列进程的关键数据区域的位置,包括可执行的部分、堆、栈及分享库的位置。
3、JiT Hardening
JiT Hardening是防止对JiT引擎本身的滥用的机制。JiT引擎通常在可预测的地址空间中放置可执行代码,这无疑给攻击者提供了可乘之机。只要攻击者计算出可执行代码放置的地址,极有或许通过代码覆盖来进行恶意活动。因此,必须有一项类似于AsLR的技术来保护JiT引擎,即JiT Hardienng。JiT Hardening常用技术包括:代码库队列随机化、指令库队列随机化、常量合并、内存页面保护、资源限制等。
4、数据执行保护(dEp)
dEp是一种阻止数据页执行代码的机制。将数据所在内存页标识为不可执行,当程序测试在数据页面上执行指令时会抛出异常,而不是去执行恶意指令。
5、缓冲区安全检查(/Gs)
/Gs是一种不强制缓冲区大小限制的代码常用技术。通过将安全检查插入到已编译代码中完成,检测某些改写返回地址的缓冲区溢出。
6、执行流保护(CFG)
CFG是对CFi(控制流全能性)的一个实用性实现,是一种编译器和操作系统相结合的防护手段,目的在于防止不可信的间接调用。对基于虚表进行攻击的利用手段可以有效防御。
7、附加组件签名机制
附加组件签名机制是Firefox43版本开始增强采取的一项对其附加组件管理的机制。Mozilla 根据一套安全准则对其附加组件进行验证并为其“签名”,需要签名的类型包括扩展,未被签名的扩展默认被禁用。这一机制对阻止来自第三方的恶意扩展起到了很好的作用。
8、w^x
w^x是“写异或执行”(writexoR Execute)的缩写,是openBsd中富有代表性的安全特性之一。w^R内存保护机制能够让网页使用内存写入代码或执行代码,但不能够同时进行这两种操作,可以阻止某些缓冲区溢出的攻击。
9、MemGC
MemGC即内存垃圾收集器(Memory Garbage Collector),是一种内存管理机制,由iE11的Memory protector改进而来,首次在EdgeHTML和MsHTML中使用,采用标记清除(Mark-sweep)算法对垃圾进行回收,能够阻止部分uAF(use After Free)漏洞。
需要指出的一点是,以上几种安全机制并不是浏览器独有,有些机制,例如AsLR、/Gs、CFG等,也被操作系统和编译器普及采用。上述便是对几种主要安全机制的容易教程,不够详细和详尽,还请大神勿喷。
三、主流浏览器对安全机制的实现处境
对于前面提到的几种浏览器安全机制,主流浏览器并不是具体实现了,全部处境如下表所示:
由表可以明显看出,除了safari以外,其他四种浏览器均实现了前六种安全机制。而safari不支持缓冲区安全检查机制,未实现CFG执行流保护机制但有资料显示其实现了控制流全能性(CFi)。对于后面三种安全机制,附加组件签名机制和w^x机制是Firefox浏览器独有的,而MemGC机制是Egde浏览器独有的。
在此,还需指出一点,虽然对某一安全机制有多个浏览器支持,但各个浏览器的实现方式及实现程度不尽相同。下面举两个例子加以说明:
(1)虽然Edge浏览器和iE浏览器都实现了沙箱机制,但Edge浏览器将框架进程也包含在了整个安全体系里面,权限更低,大大提高了安全性。
(2)Chrome和iE的沙箱机制对各种行为的限制也是不同的,图3列举了一些常见行为及Chrome和iE沙箱机制对其的限制对比处境:
总结
浏览器发展至今,已经拥有比较成熟的安全机制,主要包括沙箱机制、JiT Hardening、地址空间布局随机化、数据执行保护、缓冲区安全检查、执行流保护、附加组件签名机制、w^x、MemGC等。然而,浏览器的安全并不是已经完全保障,各大浏览器厂商也在安全机制方面做着不懈的努力,期待着浏览器安全方面质的提高。
云帆系统官网推选:
●win7系统介绍
●微软win7系统下载链接
●win7系统激活【win7激活工具】
- 栏目专题推荐
- 系统之家Windows10 正式装机版64位 2020.07系统之家Windows10 正式装机版64位 2020.07
- 系统之家win10免激活64位精选超速版v2021.11系统之家win10免激活64位精选超速版v2021.11
- 系统之家Win10 清爽装机版64位 2020.11系统之家Win10 清爽装机版64位 2020.11
- 番茄花园Win10 安全装机版 2021.03(32位)番茄花园Win10 安全装机版 2021.03(32位)
- 系统之家Win7 官网装机版 2020.06(32位)系统之家Win7 官网装机版 2020.06(32位)
- 电脑公司Window10 v2020.05 32位 大神装机版电脑公司Window10 v2020.05 32位 大神装机版
- 系统教程推荐
- 禁用Ghost win7旗舰版锁屏(日升级)_win7旗舰版锁屏
- 绿茶设置win10系统打印机显示叹号无法打印的步骤
- win10系统电脑连接Mp3/Mp4后无法识别的解决办法
- 笔者详解win10系统U盘装系统提示windows找不到文件C:\windows\explor
- 老友设置win8系统从视频中提取音频文件的教程
- 小编为你win10系统休眠时断网的办法
- win10系统鼠标光标总是乱移动的还原步骤
- 老司机恢复win8系统打开网页无法加载视频的教程
- 快速恢复win10系统右键发送到选项为空白的办法
- 主编为你win10系统文件夹共享权限设置 的教程
- win10系统右键如果添加office的word/Excel/ppt功能
- 彻底隐藏win10系统隐藏的文件夹
- Msdn订阅网站发布win7创意者升级iso镜像下载
- 电脑店恢复win10系统打开迅雷影音播放视频闪退的方法
- 保护win 10系统安全组策略禁止页面自动下载配置