基于浏览器扩展的Drive-by download防御方法

基于浏览器扩展的Drive-by download防御方法

论文摘要

随着万维网的迅速发展,大量的web新技术应运而生。它们的出现大大丰富了web的内容,但同时也使得浏览器的功能越来越复杂,其自身的安全性越来越难以保证。而由于浏览器的普及程度已经和操作系统相当,其使用时间也占了用户上网时间的绝大部分,它逐渐成为了黑客攻击的首要目标。据微软统计,2011年,各种浏览器发现的漏洞数量己经超过了操作系统,并且差距在逐渐拉大。HTML/Javascript类型攻击的数量自2011年以来就稳居榜首,占到攻击总数的三分之一。SQL注入、破坏会话、跨站脚本、跨站请求伪造等攻击手段层出不穷,严重威胁着各种web应用及广大互联网用户的安全。Drive-by download攻击是web攻击中最常见的一种方式。它利用用户浏览器或插件的漏洞,使用传统的软件安全领域的各种攻击技术攻陷用户的浏览器,并且下载病毒执行,进而盗取用户隐私信息或者将受害者主机加入僵尸网络中。用户主机只要访问某个Drive-by download类型的恶意网站,即会感染病毒,甚至被完全控制。Drive-by download攻击需要首先将自己的恶意脚本挂载到某个网站上。挂载有两种方式:一种是攻击者自己搭建网站;另一种是攻击某个知名的网站,将部分网页内容嵌入到该网站的网页中。第二种方式占大多数,因为其成本低、易伪装,且可以获得较高的访问量。攻击者将某个IFrame嵌入到某个合法网页中,该IFrame的实际内容需要经过多次请求跳转才能获得,攻击者用此方法来隐藏真实攻击服务器的位置。IFrame中包含一段恶意的Javascript脚本,针对某个具体的浏览器漏洞。当用户访问该网站,脚本会自动执行,并且劫持用户浏览器的控制流,然后从远程病毒服务器上下载病毒,并在用户主机上运行。恶意脚本通常采用Heap-Spray攻击方法,在堆上申请大量空间,方便准确跳转到目标shellcode中。针对插件的攻击,与此类似,不过其攻击代码使用插件能够解析的语言来实现,比如:ActionScript、Java等。本文采用阻止运行的方法来防御Drive-by download攻击,即是允许payload下载病毒,但阻止其运行,而从避免用户主机受到侵害。我们认为用户下载的文件是善意的,可以被执行,而浏览器下载的其他文件可能存在潜在的危险,不允许执行。本文使用浏览器扩展来获取用户下载文件的信息,并且将其中的可执行文件加入到白表中。同时,安装一个驱动去监控浏览器的所有进程创建活动。当某个进程创建请求对应的可执行文件不在白表中,即阻止其运行。本文实现了一个在Windows操作系统上,基于Firefox扩展的原型系统:DPrevent (Drive-by Download Prevent)。实验表明,该系统的误报和漏报率都为零。同时因为它本身不需要知道具体的攻击方法,因此还可以有效地防御zero-day攻击。该系统的性能开销几乎为零,优于目前这方面的各种动态防御技术。

论文目录

  • 摘要
  • Abstract
  • 第一章 引言
  • 1.1 研究背景
  • 1.1.1 Web技术概述
  • 1.1.2 客户端脚本
  • 1.1.3 插件与扩展
  • 1.1.4 会话管理
  • 1.1.5 Web安全形势
  • 1.2 研究目标
  • 1.3 本文的主要工作及创新点
  • 1.4 论文结构
  • 第二章 Drive-by Download攻击
  • 2.1 安全形势
  • 2.2 攻击挂载方法
  • 2.3 攻击原理
  • 2.4 相关的攻击技术
  • 2.4.1 SQL注入攻击
  • 2.4.2 跨站脚本攻击
  • 2.4.3 溢出式攻击
  • 2.4.4 Heap-Spray攻击
  • 第三章 基于浏览器扩展的防御方法
  • 3.1 已有的工作
  • 3.1.1 静态方法
  • 3.1.2 动态方法
  • 3.1.3 防止运行方法
  • 3.2 分析与方案设计
  • 3.2.1 Drive-by download攻击的特点
  • 3.2.2 防止运行方法的黑表
  • 3.2.3 设计方案
  • 3.3 DPrevent的结构
  • 3.3.1 浏览器扩展
  • 3.3.2 管理程序
  • 3.3.3 驱动钩子
  • 3.4 工作流程
  • 第四章 实验与分析
  • 4.1 有效性测试
  • 4.2 性能测试
  • 第五章 未来的工作
  • 致谢
  • 参考文献
  • 附录 论文发表情况
  • 相关论文文献

    标签:;  ;  

    基于浏览器扩展的Drive-by download防御方法
    下载Doc文档

    猜你喜欢