华中科技大学硕士学位论文 
Abstract
In r ecent years, malwares, including worms, Trojans and botnets, always threat to Internet security. As the growing popularity of WEB2.0 and cloud computing, more and more applications provide WEB-based services, there have been trends of browser OS. Exploiting browser vulnerabilities and plug-in vulnerabilities has replaced exploiting vulnerabilities in operating systems and applications. Web malicious code has become the main way of attack and spreading of malware and an important part of the underground economy. Malicious web page is the page that contains malicious content which spreads virus, Trojan, etc. Included malicious content, which is always called web Trojan, essentially is not a Trojan. It’s the malicious code spreading by webpage, generally written in JavaScript, VBScript or other scripting language, usually obfuscated in various ways to escape detection. By exploiting vulnerabilities in browsers or plug-ins, webpage malicious code can download and run malware, such as adware, Trojan, viruses, etc. Users could be attacked even when they visit a seemingly benign website since benign web page could have been injected with malicious code. Various tactics are used in order to evade detection by AV scanner, for example, encryption and polymorphism. Traditional detection system has a high false negative rate. Therefore, more and more attackers utilize Internet to
spread malware. Detections techniques are usually classified into static detection (based on page content or URL), dynamic detection (based on browsing behavior), and a combination of both. Traditional static detection method is simple, but difficult to deal with code obfuscation, which lead to a high false negative rate and false positive rate. Therefore, many existing systems use the dynamic detection approach, that is, run scripts of a webpage in a real browser in a virtual machine environmen t, monitor the execution for malicious activity. While the system is quite accurate, the process is costly, requiring seconds for a single page without optimization, thus, is unable to be performed on a large set of web pages.
In this paper, a light-weighted detection system was proposed. The system analyzes pages, extraction features, automatically derive detection models using machine-learning techniques. In addition, we use JavaScript virtual machine to make further analysis for the obfuscation code to make a complementary for static analysis, which detect the source code of a web page statically. As most of the analysis process only use the source of the
华中科技大学硕士学位论文 
page, without the need for execution and, therefore, consumes less resources and can be applied to
large-scale web pages’ detection, for example, integration with the search engine. We analyze the characteristic of a malicious webpage systematically and present important features for machine learning. In the end, we describe the system’s design and implementation and demonstrate the effectiveness of the system by experimental results.
Keywords: web malicious code, drive-by download, static detection, dynamic detection, machine learning.
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
学位论文作者签名:
日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
保密□,在_____年解密后适用本授权书。
本论文属于
不保密□。
(请在以上方框内打“√”)
学位论文作者签名:指导教师签名:
日期:年月日日期:年月日
华中科技大学硕士学位论文 
1  绪论
1.1  研究背景
当前,越来越多的人连接到了Internet并且在之上进行各种日常活动,例如交友、购物等。各种新的网络技术和应用层出不穷,给用户带来巨大便利和效益。随着网络发展越来越快,很多的应用被放到网站上,人们在各种网站上花费的时间占据了人们使用Internet的很大一部分。人们在浏览各种网站时也处于巨大的风险之中,一旦网站存在漏洞并被攻击者利用变成挂马网站,那么人们在浏览该网站时就可能毫无知觉地被感染,成为受害主机。在控制用户机器后,攻击者可以轻易地利用主机组成僵尸网络,对Internet任意站点发起分布式拒绝服务攻击(DDoS)、发送大量垃圾邮件(Spamming)、从受控主机上窃取敏感信息或进行点击欺诈牟取经济利益等非法行为[1]。虽然网页恶意代码很早就为人所知,但这个问题一直没有得到解决并且它的危险程度变得越来越高,如今这不仅只是个人的问题它也影响到了很多政府和企业。研究表明,网页已取代网络成为攻击活动的主要渠道。赛门铁克公司2010发布的最新的互联网安全报告[2]中指出,基于Web的攻击已经取代了垃圾邮件成为最普遍的攻击方式,在2009年攻击中最常被利用的5个漏洞中,和Web相关的占了3个。而Google公司的Neils Provos[3]则表示,在过去的一年中Google通过对互联网上几十亿页面地址进行抓取,已经发现300万个网站存在恶意软件,这意味着每1000个页面中有一个是存在恶意软件的。Bin Liang[4]一文表示,在2008年7月从教育网内随机选取的90个网站中发现29个存在恶意代码,比例高达32.2%,可见教育网是网页恶意代码的重灾区。与网页恶意代码相关的是如今地下经济活动日趋蓬勃,网络犯罪已经成为
一个利益丰厚、风险极低的行当。赛门铁克报告称从2008年7月至2009年6月,黑客所窃取的信用卡、名单、银行帐号等个人信息兜售的价格,估计总值超过2.76亿美元[5]。网页恶意代码大多利用了动态脚本语言,使其可以轻易的躲过传统的基于特征码的反病毒引擎的检测。根据Christodorescu&Jha[6]的实验,对于网页恶意代码,杀毒软件的漏报率达到了40%-80%,所以如何利用新机制来提高对互联网上存在的恶意网站的检测对用户安全、打击网络犯罪等都具有非常重要的意义。
本章首先对网页恶意代码的基本原理、发展历程进行了简单介绍,然后回顾了
如何下载javascript
华中科技大学硕士学位论文 
当前国内外的研究现状,归纳当前已有检测方法及其优缺点,最后就论文的主要研究内容以及论文组织结构进行了阐述。
1.2  网页恶意代码概述
网页恶意代码是指网页中含有的那些会威胁到访问这些网站的用户的安全的代码。这里的威胁最主要是指在用户没有察觉或者未经用户允许的情况下自动安装恶意软件到用户机器上。恶意软件是指那些会有恶意行为的软件,例如破坏电脑,偷窃资料或其他恶意行为等。
本节先介绍一下HTML、JavaScript、现在网页中常见的动态技术以及其可能存在的问题。
HTML(HyperText Markup Language)指超文本标签语言。HTML文件是包含一些标签的文本文件。这些标签告诉WEB浏览器如何显示页面。HTML是用来编写静态页面的,页面源码决定了页面的各种元素。
HTML本身是静态语言,为了丰富与用户的交互,客户端动态内容被引入到浏览器中。在这一类技术中,JavaScript使用最广泛,很多Web2.0的网站大量使用JavaScript以及AJAX(Asynchronous JavaScript and XML)技术来支持动态内容。其次有Adobe flash和Java applet。这些技术有一个共同点就是它们都从Internet上下载和执行代码。这些代码由各自的网站控制,来源不同,有可能被攻击者利用。
为了减少这类风险,浏览器厂商规定了很多强制安全规则。例如JavaScript的同源策略、本地文件即不能读也不能写、Flash只能与一个server通信。
大部分的浏览器都支持插件。这些插件允许第三方软件扩展浏览器的功能。并且这些插件可以拥有更高的权限,例如读写数据、建立到任意主机的连接等。在Internet Explorer中,使用ActiveX技术来支持插件。这些ActiveX使用户可以直接在浏览器中进行打开pdf或word文档、观看视频等操作。同时很多客户端软件都包含ActiveX插件以支持在浏览器环境下的使用。正因为这些第三方插件的多样性,导
致其质量无法控制,经常报出各种漏洞,例如,2009年下半年就出现了239个浏览器插件漏洞[2],这些漏洞经常被攻击者利用。由于可以在客户端脚本中使用这些插件,所以相当于客户端脚本也拥有相同的功能。
这些客户端技术有一个共同点就是它们与浏览器进程共享地址空间。例如

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。