Chrome浏览器安全与防范技术的研究
2016-03-12辽宁对外经贸学院信息管理系张盛男
辽宁对外经贸学院信息管理系 张盛男
Chrome浏览器安全与防范技术的研究
辽宁对外经贸学院信息管理系 张盛男
在这几十年里,使用者的信息安全问题已经是网络发展的重中之中。以我们经常使用的Chrome浏览器为例,如果存在安全漏洞,我们的隐私信息就会被盗取,所以浏览器的安全防范就十分重要。Chrome浏览器的安全防范技术的重点是沙箱技术,本文就以chrome浏览器的安全问题和防范技术中的沙箱技术作为研究对象展开,分析存在的安全问题及防范办法,如何做才真正的安全。
chrome浏览器;安全问题;沙箱技术
引言
Chrome浏览器是谷歌公司开发的一个网页浏览器。此浏览器是在其他开源软件的基础上编写而成,包括WebKit,浏览器的目标是提高稳定性、速度和安全性,和展现既简单又有效率的使用者界面。软件名来源于名字为Chrome的网络浏览器GUI图形使用者界面。软件的测试版本在2008年的时候发布,它是拥有50种语言的版本,有多个系统版本可以下载。Chrome浏览器的安全防范和隐私保护技术也进一步提高,还完善了反钓鱼技术过滤网,增加防御点击劫持攻击和跨站脚本过滤器,经过长期的磨练浏览器已经茁壮成长,更好的防范网络安全各种漏洞。
1.chrome浏览器概述
Chrome浏览器是由谷歌开发的一款设计简洁并且高效的网页浏览工具。它的明显特点是简洁快速。浏览器支持多标签浏览,每个标签页面都在独立的沙箱内运行,提升安全性的同时,一个标签页面的崩溃也不会关闭其他的标签页面。除此,浏览器又更强悍的Java脚本V8引擎为基础,这是其他网页浏览器不能实现的。
Chrome浏览器的基础是开源引擎WebKit和Blink,还包括谷歌Gears。它拥有网页浏览器扩展框架,能够制作与AdobeAIR类似的混合应用。包含V8Java脚本虚拟机,这个多线程的虚拟机可以加速Java脚本的执行。它有隐私浏览模式,能让使用者不需要在本地机器上登录便可浏览,这个功能和IE8浏览器中的功能相似。在浏览器的内部内置了防止网络钓鱼的恶意软件的功能。谷歌浏览器之后在内容安全策略标头上有进一步提升,开发人能够创建页面和资源的白名单,由此提高浏览器的安全特性。
2.安全漏洞的探究
漏洞一般都是编写人员在编写过程中考虑不全面或者疏忽形成的,另一个情况可能是黑客入侵了用户正在使用的某一项功能,这个功能就成为了安全漏洞。常见的漏洞是我们在浏览网页时会在我们不知道的情况下运行恶意代码,甚至会有强制下载恶意代码安装在我们的上,等待时机运行。还有的安全问题是因为计算机的软硬件不兼容性和自己原有的代码出现问题,这些原本存在的问题就是潜在的安全隐患,举例:用户浏览网站的时候,不能正常的关闭,或者浏览器不知原因的出现问题更者中止不在运行正在观看的网页。
2.1 内存破坏产生的攻击
一般浏览器都存在内存漏洞,Chrome浏览器的内存被攻击也是不能避免的。浏览器的内存泄露、越界使用、使用无效指针和错误释放是内存被攻击的来源,它会利用html或脚本进行攻击创建对象或脚本删除或释放脚本或重新分配对象,会通过使用垃圾回收箱或标记重新加载的过程进行攻击,会攻击已经释放的html和脚本的内存对象。
防范办法在开发时已经引入了内存保护的技术。有SAFESEH标记、DEP/NX、地址空间布局随机化。SAFESEH标记是把应用程序注册时出现异常的处理程序保存在内存的查找表中,当发现异常,程序的堆栈里的异常地址处理,然后通过查找表验证,如果两者不匹配就会终止这个进程。DEP/NX是依赖CPU密钥的安全操作系统的缓解技术。
2.2 浏览器本身的缺陷
Chrome浏览器是客户端程序和其他软件一样,它也有自己原本就存在的缺陷,使它本身成为安全漏洞。浏览器的指纹也是很重要的安全问题,浏览器指纹是在使用者浏览网站时提供给网站的相关特征的信息,比如:cookie、引用地址、浏览器版本和类型、网络地址、浏览器上安装的各个插件类型、版本和各个控件和屏幕使用方案等。很多我们觉得不重要的信息同样会泄露用户的信息,牵连用户重要的隐私信息。在浏览器使用中,给它配置精准的信息可以为它提供唯一识别用户的身份,对浏览器的指纹识别就会更好地保护。
2.3 对chrome浏览器历史记录攻击
Chrome浏览器历史记录含有:网址历史、页面缓存和下载历史及各种记录信息。cookie是一些网站为了识别用户身份,进行session的跟踪而保存在浏览器本地终端上的数据,易于保持登陆者信息到登陆者下次与服务器的会话,易于用户登录。在功能方面能够在保证使用者所需的同时,同样在某种水平上给使用者的隐私信息安全带来威胁。我们着重分析cookie导致的隐私信息被盗取的问题。
Cookie是种能使网站服务器把较少数据保存在客户端的硬盘或内存上,并且在客户端上读出数据的技术。当使用者在使用浏览器来访问服务器的时候,服务器会存储在本地硬盘上很小的一个cookie的文本文件,对于登陆者账户和密码和观看过的页面包括停留的时间等相关信息进行记录,以便于下次登陆者访问此浏览器时,更快速提供便捷。他虽然为用户存储信息得到了便利集个性化服务,但是同时也会泄露用户的隐私。
3.防范技术的探究
3.1 SLL协议加密
对所有用户的搜索关键词进行加密处理,在经过加密之后,第三方即使拦截到用户搜索词也无法破解,可以提升浏览器的安全性。
3.2 沙箱
Chrome浏览器中的每一个标签页都是一个沙箱,以防止恶意软件破坏用户系统或利用标签页影响其他标签页。遵守最小权限原则,每个动作的权限都会被限制,仅能运算而无法写入文件和从敏感区域读取文件,如我的文档和桌面。沙盒小组是一种表示他们使用了现有的运行程序限制,并让这些限制变成一座监狱,例如在其中一个标签页运作的恶意软件,将无法窃取信用卡号码和干扰鼠标运作,或告诉系统在启动时运行某个程序,并且恶意软件会在标签页关闭的同时立即中止。
4.沙盒的探究
4.1 设计原则
不要重新发明轮子:用更好的安全模型扩展操作系统内核很有诱惑力。让操作系统在所控制的对象上应用它的安全策略。另一方面创建有自定义安全模型的应用程序层级对象是可以的。
最小权限原则:这既应该用于沙箱代码也应该用于控制沙箱的代码。总之即使用于不能提升权限到超级用户,同时沙箱也需要能工作。
假定沙盒代码是恶意代码:出于威胁建模的目的,我们认为沙箱中的代码一旦执行路径越过了一些main()主函数的早期调用,那它是有害的,实践中在第一外部输入被接收时或者在进入主循环前,这就可能发生。
敏感:非恶意代码不会尝试访问它不能获得的资源。在这种情况下,沙箱产生的性能影响应该接近零。一旦敏感资源需要以一种控制行为访问时,一点性能损失是必要的。这是在操作系统安全合适事情情况下的常见例子。
仿真不是安全:仿真和虚拟机方案本身不能提供安全。沙箱不会出于安全目的依赖于代码仿真或者代码转换或者代码修复。
4.2 沙箱windows架构设计
沙箱在进程级粒度进行运作。凡是沙箱化的任何东西都需要放到独立进程里运行。最小化沙箱配置有两个过程:一个是被成为broker的权限控制器,一个是被称为target的一个或多个沙箱化进程。在整个文档和代码中这两个词有着上述两种精确的内涵。沙箱是一个必须被链接到broker和target两个进程可执行程序的静态库。
4.3 broker进程设计
在浏览器中broker总是浏览进程。广泛概念里是一个权限控制器,沙箱进程活动的管理员。它的进程的责任是:指定每个目标进程中的策略;生成目标进程;维护沙箱策略引擎服务;维护沙箱拦截管理器;维护沙箱服务与进程的通信;代表目标进程执行策略允许的操作。Broker进程应该始终比所有它生成的目标进程还要活的久。沙箱IPC是一种低级别的机制,这些调用会被策略评估。策略允许的调用会由broker进程执行,结果会通过同样的IPC返回给目标进程。拦截管理器是为应该通过IPC转发给进程的系统API调用提供补丁。
4.4 沙箱限制设计
在它的核心,沙箱依赖于4个Windows系统提供的机制:限定的令牌;工作对象;桌面对象;集成层。这些机制在保护操作系统,操作系统的限制,用户提供的数据上相当的高效,前提是所有可以安全化的资源都有一个比空值更好的安全描述符,所以没有关键资源会有错误的安全配置;计算机并未被恶意软件所损害;第三方软件不能弱化系统安全。
4.5 内外两层沙箱设计
浏览器进程是由内层沙箱构建。为了进一步防御攻击,还构建了一个外层沙箱用于进程边界的隔离。
内层沙箱用于在一个本地进程中创建一个安全的子域。在这个子域中我们可以将一个可信的运行时服务Runtime子系统和不可信模块放置在同一个进程中。通过一个安全的跳跃计分板机制来允许可信代码和不可信代码之间的控制转移。内层沙箱不仅将系统与本地模块进行分离,而且还使得本地模块与操作系统进行了分离。外层沙箱是第二道防御机制。它会对运行NaCl模块的进程的所有系统调用,通过与一个允许的系统调用白名单进行比对来拒绝或通过此调用。目前白名单上允许的系统调用有46个。
4.6 沙箱策略设计
应用与进程的真实限制通过策略设置。这些策略只是一种broker进程调用的编程接口,它们定义了限制与权限。四个函数控制这种限制,对应四种Windows系统机制:TargetPolicy:SetTokenLevel(); TargetPolicy:SetJobLevel();TargetPolicy:SetIntegrityLevel();这三个调用接收从非常严格到非常宽松的整数等级参数,例如令牌有七个等级和作业有五个等级。沙箱策略接口允许broker进程指定例外的情况。但一个例外是在target进程中发出特定API调用,将其代理给broker进程的方式。进程可以检查参数,使用不同的参数重新发出调用,或者干脆拒绝调用。为了指定例外情况,需要有一个独立的调用: AddRule。现在支持以下几种针对不同的Windows子系统的规则:文件;命名管道;进程创建;登记和同步对象。每种子系统的具体形式各不相同,但通常规则会基于字符串模式得到触发。这个规则指定了当一个target进程想要打开文件时,可以授予的权限,以及匹配字符串格式的文件的只读权限。
5.总结
伴随互联网网络在我们的生活中不可缺失,对浏览器进行攻击的事件也随时发生。沙箱技术对Chrome浏览器的影响越来越大。甚至现在的浏览器都纷纷效仿,使用沙箱技术作为浏览器的主体,实现用户快速浏览网站并且保证用户信息安全,还应用在电脑系统保护上。
[1]蔡智聪。对Chrome的源码简易剖析[J]。电脑编程技巧与维护,2011(04):20.
[2]王鹤鸣。电脑信息安全保护伞-沙箱[J]。信息安全与通信保密,2012(01):37.
[3]梁玉。跨平台浏览器木马机理与防御技术研究[J]。北京邮电大学,2015(01):30.
[4]刘亚刚,陈波,朱汉。浏览器隐私保护技术研究[J]。电脑编程技巧与维护,2014(17):80.