范文一:浅谈恶意代码
计算机安全技术课程
浅谈恶意代码
摘要
本文提出了恶意代码的攻击模型,分析了日前恶意代码实现的关键技术,针对恶意代码的本质特点,从系统入侵防范的角度提出了恶意代码防范的整体框架。
关键词:恶意代码 攻击 防范
ABSTRACT
An attack model of malicious code is proposed, and the key techniques.used in malicious code are analyzed. according to the character of the malicious code, from the point of system intrusion prevention, an integrated framework of prevention against malicious code is proposed.
Keywords :Malicious code; strike ;Defense ;
目录
摘要..................................................................................................................................I ABSTRACT ......................................................................................................................I
目录................................................................................................................................. 1
1 绪论 ............................................................................................................................. 2
2 恶意代码的相关概念..................................................................................................... 2
3 恶意代码的传播手法..................................................................................................... 3
4恶意代码传播的趋势 ..................................................................................................... 4
4.1种类更模糊 . ......................................................................................................... 4
4.2使用销售技术 ...................................................................................................... 5
4.3服务器和客户机同样遭受攻击 . ............................................................................. 5
4.4 Windows操作系统遭受的攻击最多 . ...................................................................... 5
4.5网页恶意代码迅速发展 ........................................................................................ 6
5 恶意代码防范措施 ........................................................................................................ 6
5.1邮件病毒防范措施 ............................................................................................... 6
5.1.1身份认证技术............................................................................................. 6
5.1.2加密、签名技术 ......................................................................................... 6
5.1.3协议过滤技术............................................................................................. 6
5.1.4防火墙技术 ................................................................................................ 6
5.1.5邮件病毒过滤技术...................................................................................... 6
5.2用户安全设置 ...................................................................................................... 6
5.2.1禁用Guest 账号 . ......................................................................................... 6
5.2.2限制不必要的用户...................................................................................... 7
5.2.3把系统Administrator 账号改名 . ................................................................... 7
5.2.4创建一个陷阱用户...................................................................................... 7
5.2.5把共享文件的权限从Everyone 组改成授权用户........................................... 7
5.2.6开启用户策略............................................................................................. 7
5.2.7不让系统显示上次登录的用户名................................................................. 7
5.2.8密码安全设置............................................................................................. 7
5.3基本的服务器安全设置 5.3.1安装补丁.......................................................... 7
5.3.2安装杀毒软件............................................................................................. 8
5.3.3设置端口保护和防火墙............................................................................... 8
5.4权限设置 ............................................................................................................. 8
5.5网络病毒措施 ...................................................................................................... 9
参考文献.......................................................................................................................... 9
1 绪论
Internet 改变了人们生活方式和工作方式,改变了全球的经济结构,社会结构,Internet 越来越成为人类物质社会的最重要组成部分,成为20世纪最杰出的研究成果。但是他们潜在地也带来了安全问题,越来越多的组织开始利用Internet 处理和传输敏感数据,同时在Internet 上也到处传播和蔓延着攻击方法和恶意代码,使得连入Internet 的任何系统都处于被攻击的风险之中。
计算机新技术的出现使计算机系统的安全变得比以往更加脆弱,大约50%的计算机网络安全问题是由软件工程中产生的安全缺陷引起的,其中,很多问题的根源都来自于操作系统的安全脆弱性。互联网的飞速发展为恶意代码的广泛传播提供了有利的环境。更重要的是恶意代码的一个主要特征是其针对性(针对特定的脆弱点),从而恶意代码的欺骗性和隐蔽性也越来越强了。
恶意代码的传播方式在迅速地演化,从引导区传播,到某种类型文件传播,到宏病毒传播,到邮件传播,到网络传播,发作和流行的时间越来越短。Form 引导区病毒1989年出现,用了一年的时间流行起来,宏病毒 Concept Macro 1995年出现,用了三个月的时间流行, LoveLetter用了大约一天,而 Code Red用了大约90分钟, Nimda 用了不到 30分钟. 这些数字背后的规律是很显然的:在恶意代码演化的每个步骤,病毒和蠕虫从发布到流行的时间都越来越短。 恶意代码本身也越来越直接的利用操作系统或者应用程序的漏洞, 而不仅仅依赖社会工程。服务器和网络设施越来越多地成为攻击目标。L10n, PoisonBOx, Code Red 和 Nimda等蠕虫程序,利用漏洞来进行自我传播,不再需要搭乘其他代码
2 恶意代码的相关概念
恶意代码(Unwanted Code)是指没有作用却会带来危险的代码,恶意代码(Malicious code)或者叫恶意软件Malware (Malicious Software)有些恶作剧程序或者游戏程序不能看作是恶意代码。对滤过性病毒的特征进行讨论的文献很多,尽管它们数量很多,但是机理比较近似,在防病毒程序的防护范围之内,更值得注意的是非滤过性病毒。
计算机病毒指编制或者在计算机程序中插入的破坏计算机功能或毁坏数据,影响计算机使用,并能自我复制 的一组计算机指令或者程序代码,具有潜伏、传染和破坏的特点。
计算机蠕虫指通过计算机网络自我复制,消耗系统资源和网络资源的程序。具有攻击、传播和扩散的特点。
特洛伊木马指一种与远程计算机建立连接,使远程计算机能够通过网络控制本地计算机的程序。具有欺骗、隐蔽和信息窃取的特点。
逻辑炸弹指一段嵌入计算机系统程序的,通过特殊的数据或时间作为条件触发,试图完成一定破坏功能的程序。具有潜伏和破坏的特点。
病菌指不依赖系统软件,能够自我复制和传播,以消耗系统资源为目的的程序。具有传染和拒绝服务的特点。
用户级rootkit 指通过替代或者修改被系统管理员或普通用户执行程序进入系统,从而实现隐藏和创建后门的程序。具有隐蔽和潜伏特点。
核心级rootkit 指嵌入操作系统内核进行隐藏和创建后门的程序。具有隐蔽和潜伏特点。
3 恶意代码的传播手法
恶意代码的行为表现各异,破坏程度千差万别,但基本作用机制大体相同,其整个作用过程分为6个部分:① 侵入系统。侵入系统是恶意代码实现其恶意日的的必要条件。恶意代码入侵的途径很多,如:从互联网卜载的程序木身就间能含有恶意代码;
接收己经感染恶意代码的电子邮件; 从光盘或软盘往系统卜安装软件
:黑客或者攻击者故意将恶意代码植入系统等。② 维持或提升现有特权。恶意代码的传播与破坏必须盗用用户或者进程的合法权限才能完成。③ 隐蔽策略。为了不让系统发现恶意代码己经侵入系统,恶意代码可能会改名、删除源文件或者修改系统的安全策略来隐藏自己。④ 潜伏。恶意代码侵入系统后,等待一定的条件,并具有足够的权限时,就发作并进行破坏活动。⑤ 破坏。恶意代码的本质具有破坏性,其目的是造成信息丢失、泄密,破坏系统完整性等。⑥ 重复① 至⑤ 对新的目标实施攻击过程。
恶意代码的攻击过程可以映射到恶意代码攻击模型中多个部分或全部,计算机病毒行为的作用过程主要包括①④ ⑤ ⑥ ,网络蠕虫主要包括①② ⑤ ⑥ ,特洛伊木马主要包括①② ③ ⑤ ,逻辑炸弹主要包括①④ ⑤ ,病菌主要包括① ⑤⑧ ,用户级RootKit 主要包括① ②③⑤ ,核心级RootKit 主要包括① ③ ⑤ ,其它的恶意代码行为也可以映射到模型中的相应部分。但是,其中① 和⑤ 是必不可少的。
恶意代码编写者一般利用三类手段来传播恶意代码:软件漏洞、用户本身或者两者的混合。有些恶意代码是自启动的蠕虫和嵌入脚本,本身就是软件,这类恶意代码对人的活动没有要求。一些像特洛伊木马、电子邮件蠕虫等恶意代码,利用受害者的心理操纵他们执行不安全的代码;还有一些是哄骗用户关闭保护措施来安装恶意代码。
利用商品软件缺陷的恶意代码有Code Red 、KaK 和BubbleBoy 。它们完全依赖商业软件产品的缺陷和弱点,比如溢出漏洞和可以在不适当的环境中执行任意代码。像没有打补丁的IIS 软件就有输入缓冲区溢出方面的缺陷。利用Web 服务缺陷的攻击代码有Code Red 、Nimda ,Linux 和Solaris 上的蠕虫也利用了远程计算机的缺陷。
恶意代码编写者的一种典型手法是把恶意代码邮件伪装成其他恶意代码受害者的感染报警邮件,恶意代码受害者往往是Outlook 地址簿中的用户或者是缓冲区中WEB 页的用户,这样做可以最大可能的吸引受害者的注意力。一些恶意代码的作者还表现了高度的心理操纵能力,LoveLetter 就是一个突出的例子。一般用户对来自陌生人的邮件附件越来越警惕,而恶意代码的作者也设计一些诱饵吸引受害者的兴趣。附件的使用正在和必将受到网关过滤程序的限制和阻断,恶意代码的编写者也会设法绕过网关过滤程序的检查。使用的手法可能包括采用模糊的文件类型,将公共的执行文件类型压缩成zip 文件等等。
对聊天室IRC (Internet Relay Chat )和即时消息IM(instant messaging) 系统的攻击案例不断增加,其手法多为欺骗用户下载和执行自动的Agent 软件,让远程系统用作分布式拒绝服务(DDoS)的攻击平台,或者使用后门程序和特洛伊木马程序控制之。
4恶意代码传播的趋势
4.1种类更模糊
恶意代码的传播不单纯依赖软件漏洞或者社会工程中的某一种,而可能是它们的混合。比如蠕虫产生寄生的文件病毒,特洛伊程序,口令窃取程序,后门程序,进一步模糊了蠕虫、病毒和特洛伊的区别。
混合传播模式
“混合病毒威胁”和“收敛(convergent )威胁”的成为新的病毒术语,“红色代码”利用的是IIS 的漏洞,Nimda 实际上是1988年出现的Morris 蠕虫的派生品种,它们的特点都是利用漏洞,病毒的模式从引导区方式发展为多种类病毒蠕虫方式,所需要的时间并不是很长。
多平台
多平台攻击开始出现,有些恶意代码对不兼容的平台都能够有作用。来自Windows 的蠕虫可以利用Apache 的漏洞,而Linux 蠕虫会派生exe 格式的特洛伊。
4.2使用销售技术
另外一个趋势是更多的恶意代码使用销售技术,其目的不仅在于利用受害者的邮箱实现最大数量的转发,更重要的是引起受害者的兴趣,让受害者进一步对恶意文件进行操作,并且使用网络探测、电子邮件脚本嵌入和其它不使用附件的技术来达到自己的目的。
恶意软件(malware )的制造者可能会将一些有名的攻击方法与新的漏洞结合起来,制造出下一代的WM/Concept, 下一代的Code Red, 下一代的 Nimda。对于防病毒软件的制造者,改变自己的方法去对付新的威胁则需要不少的时间。
4.3服务器和客户机同样遭受攻击
对于恶意代码来说服务器和客户机的区别越来越模糊,客户计算机和服务器如果运行同样的应用程序,也将会同样受到恶意代码的攻击。象IIS 服务是一个操作系统缺省的服务,因此它的服务程序的缺陷是各个机器都共有的,Code Red 的影响也就不限于服务器,还会影响到众多的个人计算机。
4.4 Windows操作系统遭受的攻击最多 Windows 操作系统更容易遭受恶意代码的攻击,它也是病毒攻击最集中的平台,病毒总是选择配置不好的网络共享和服务作为进入点。其它溢出问题,包括字符串格式和堆溢出,仍然是滤过性病毒入侵的基础。病毒和蠕虫的攻击点和附带功能都是由作者来选择的。另外一类缺陷是允许任意或者不适当的执行代码, 随着scriptlet.typelib 和Eyedog 漏洞在聊天室的传播,JS/Kak利用
IE/Outlook的漏洞,导致两个ActiveX 控件在信任级别执行,但是它们仍然在用户不知道的情况下,执行非法代码。最近的一些漏洞帖子报告说Windows Media Player 可以用来旁路Outlook 2002的安全设置,执行嵌入在HTML 邮件中的JavaScript 和 ActiveX代码。这种消息肯定会引发黑客的攻击热情。利用漏洞旁路一般的过滤方法是恶意代码采用的典型手法之一。
4.5网页恶意代码迅速发展
恶意代码主要是通过插在网页中的代码来修改浏览者的注册表而起破坏作用的,如禁止注册表、修改IE 首页、修改IE 标题栏、修改IE 右键菜单、修改 IE 默认搜索引擎、系统启动时弹出对话框、IE 中鼠标右键失效、查看“源文件”菜单被禁用、部分菜单被禁止等。
5 恶意代码防范措施
5.1邮件病毒防范措施
5.1.1身份认证技术
包括邮件转发认证、邮件收发认证等。即在要求转发邮件时,必须经过认证,而不是开放转发。而在用户要求接收或发送邮件时,必须经过身份认证,以避免邮件在邮箱中被窃取。要特别强调的是,认证的口令要有足够强度,以防在线口令被破解。
5.1.2加密、签名技术
在传输中,必须采用加密和签名措施来保障重要邮件的机密性和完整性。目前,电子邮件己渐渐成为商务信函的重要形式,因此,必要时还要进行发送和接收签名,以防止否认。在这方面已有成熟的安全协议PGP 和S/MIME等。
5.1.3协议过滤技术
为了防止邮件账号远程查询,要对SMTP 的协议应答进行处理,如对VERY 、EXPN 等命令不予应答或无信息应答。
5.1.4防火墙技术
经常设立内、外邮件服务器,在内、外服务器间设立防火墙。外服务器负责对外邮件的传输收发,而内服务器才是真正的用户邮件服务器。所有来自公网上的邮件操作均止于外服务器,再由外服务器转发。这样可以将真正的邮箱服务器与公网隔离。
5.1.5邮件病毒过滤技术
在邮件服务器上安装邮件病毒过滤软件,使大部分邮件病毒在邮件分发时被分检过滤。同时在邮件客户端也安装防病毒软件,以便在邮件打开显示前查杀病毒
5.2用户安全设置
5.2.1禁用Guest 账号
在计算机管理的用户里面把Guest 账号禁用。为了保险起见,最好给Guest 加一个复杂的密码。你可以打开记事本,在里面输入一串包含特殊字符、数字、字母的长字符串,然后把它作为Guest 用户的密码拷进去。
5.2.2限制不必要的用户
去掉所有的Duplicate User用户、测试用户、共享用户等等。用户组策略设置相应权限,并且经常检查系统的用户,删除已经不再使用的用户。这些用户很多时候都是黑客们入侵系统的突破口。
5.2.3把系统Administrator 账号改名 大家都知道,Windows 2003 的Administrator 用户是不能被停用的,这意味着别人可以一遍又一遍地尝试这个用户的密码。尽量把它伪装成普通用户,比如改成Guesycludx 。
5.2.4创建一个陷阱用户
什么是陷阱用户?即创建一个名为"Administrator" 的本地用户,把它的权限设置成最低,什么事也干不了的那种,并且加上一个超过10位的超级复杂密码。这样可以让那些 Hacker们忙上一段时间,借此发现它们的入侵企图。
5.2.5把共享文件的权限从Everyone 组改成授权用户
任何时候都不要把共享文件的用户设置成"Everyone" 组,包括打印共享,默认的属性就是"Everyone" 组的,一定不要忘了改。
5.2.6开启用户策略
使用用户策略,分别设置复位用户锁定计数器时间为20分钟,用户锁定时间为20分钟,用户锁定阈值为3次。 (该项为可选)
5.2.7不让系统显示上次登录的用户名 默认情况下,登录对话框中会显示上次登录的用户名。这使得别人可以很容易地得到系统的一些用户名,进而做密码猜测。修改注册表可以不让对话框里显示上次登录的用户名。方法为:打开注册表编辑器并找到注册表
"HKLM\Software\Microsoft\WindowsT\CurrentVersion\Winlogon\Dont-DisplayLastUserName" ,把REG_SZ的键值改成1。
5.2.8密码安全设置 a 、使用安全密码
b 、设置屏幕保护密码
c 、开启密码策略
d 、考虑使用智能卡来代替密码
5.3基本的服务器安全设置
5.3.1安装补丁
安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。
5.3.2安装杀毒软件
至于杀毒软件目前我使用有两款,一款是瑞星,一款是诺顿,瑞星杀木马的效果比诺顿要强,我测试过病毒包,瑞星要多杀出很多,但是装瑞星的话会有一个问题就是会出现ASP 动态不能访问,这时候需要重新修复一下,具体操作步骤是:关闭杀毒软件的所有的实时监控,脚本监控。
╭═══════════════╮╭═══════════════╮
在Dos 命令行状态下分别输入下列命令并按回车(Enter )键:
regsvr32 jscript.dll (命令功能:修复Java 动态链接库)
regsvr32 vbscript.dll (命令功能:修复VB 动态链接库)
╰═══════════════╯╰═══════════════╯
不要指望杀毒软件杀掉所有的木马,因为ASP 木马的特征是可以通过一定手段来避开杀毒软件的查杀。
5.3.3设置端口保护和防火墙
2003的端口屏蔽可以通过自身防火墙来解决,这样比较好,比筛选更有灵活性,桌面—>网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>(选中)Internet 连接防火墙—>设置
5.4权限设置
权限设置的原理
WINDOWS 用户,在WINNT 系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。
NTFS 权限设置,请记住分区的时候把所有的硬盘都分为NTFS 分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS 文件(夹)权限。
IIS 匿名用户,每个IIS 站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的.ASP 文件的时候,这个.ASP 文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。 磁盘权限
系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限;系统盘\Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限;系统盘\Documents and Settings\All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限;系统盘\Inetpub 目录及下面所有目录、文件只给 Administrators 组和 SYSTEM 的完全控制权限;系统盘\Windows\System32\cacls.exe、cmd.exe 、net.exe 、net1.exe 文件只给 Administrators 组和 SYSTEM 的完全控制权限。
禁用不必要的服务。
卸载最不安全的组件。
防止列出用户组和系统进程
5.5网络病毒措施
备份分区表、重要的软件和数据等信息;禁止来历不明的任何软件进入你的系统;经常性的对操作系统进行打补丁工作;选择有效的反病毒产品检测和监护你的系统;不适用盗版的反病毒软件;及时、可靠升级反病毒产品;及时求助专家和厂家;建立严密的病毒监视体系,及时发现,及早清除。
在网咯出口处设置有效的病毒过滤系统,防火墙将数据提交给网关杀毒系统进行检查,如有病毒入侵,网关防毒系统将通知防火墙立刻阻断病毒攻击IP ,同步查毒。
参考文献
[1]http://www.ss.pku.edu.cn
[2]http:// www.downbank.cn
范文二:网页恶意代码
恶 意 网 页 代 码 技 术
网页是人们获得信息的最基本途径,大量的信息也都是通过网页的形式展现给用户的。 可是如今的网络真是不太平,就连浏览网页也有可能中招,一不小心就有可能发现自己的 IE 标题栏、默认主页被莫名其妙地篡改了。
1 网页恶意代码概述
网页恶意代码也称为网页病毒, 它主要是利用软件或系统操作平台等安全漏洞, 通过将 Java Applet应用程序、 JavaScript 脚本语言程序、 ActiveX 软件部件网络交互技术 (可支持自 动执行的代码程序)嵌入在网页 HTML 超文本标记语言内并执行,以强行修改用户操作系 统的注册表配置及系统实用配置程序,甚至可以对被攻击的计算机进行非法控制系统资源、 盗取用户文件、恶意删除硬盘中的文件、格式化硬盘等恶意操作。
1.1 什么是网页恶意代码
网页恶意代码的技术以 WSH 为基础,即 Windos Scripting Host,中文称做
众所周知, MS-DOS 中的批处理命令可以帮助用户简化工作, 带来极大的方便, 也可以 将脚本语言看做是批处理命令的升级。随着越来越多脚本语言的不断出现,使得 Windows 操作系统无论在界面或在 DOS 命令提示符下,都能直接运行多类脚本文件。
微软公司在研发 Windows 98时,就在系统内植入了一个基于 32位 Windows 平台和独 立于语言的脚本运行环境,并取名为
1.2 网页恶意代码的特点
网页恶意代码的攻击形式是基于网页的, 如果你打开了带有恶意代码的网页, 你所执行 的操作就不单是浏览网页了, 甚至还有可能伴随有病毒的原体软件下载, 或木马下载, 以达 到修改注册表等目的。
1.特点
在一般情况下,带有恶意代码的网页有如下几个特点:
引人注意的网页名称。
利用浏览者的好奇心。
无意识的浏览者。
网页恶意代码主要利用了软件或操作平台的安全漏洞,一旦用户浏览了含有病毒的网 页, 即可在不知不觉的情况下中招, 给用户系统带来不同程序的破坏。 令中招的用户苦不堪 言,甚至造成无法弥补的惨重损失。
2.分类
根据网页恶意代码的作用对象及其表现的特征,可以归纳为如下两大类。
1)通过 Java Script、 Applet 、 ActiveX 编辑的脚本程序来修改 IE 浏览器
此类病毒代码主要有如下特征:
修改默认主页。
修改默认首页。
修改默认的微软主页。
将主页的设置屏蔽,使用户对主页的设置无效。
修改默认 IE 搜索引擎。
对 IE 标题栏添加非法信息。
在鼠标右键快捷菜单中添加非法网站广告链接。
使鼠标右键快捷菜单的功能禁止、失常。
在 IE 收藏夹中强行添加非法网站的地址链接。
在 IE 工具栏中强行添加按钮。
锁定地址下拉菜单及其添加文字信息。
用 IE
2)通过 Java Script、 Applet 、 ActiveX 编辑的脚本程序修改用户操作系统
此类病毒代码主要有如下特征:
格式化硬盘。
非法盗取用户资料。
恶意修改、删除、移动用户文件。
锁定禁用注册表,编辑 REG 注册表文件打开方式错乱。
锁定 IE 网址,使其自动调用打开。
暗藏病毒,全方位侵害系统,造成系统瘫痪。
开机时自动弹出对话框。
在系统时间前恶意添加广告。
2 网页恶意代码攻击的形式
由于网页恶意代码都嵌入在 HTML 中,而 HTML 支持着多种脚本语言,因此,网页恶 意代码是基于脚本语言的一种攻击方式。 下面介绍一下网页恶意代码所使用的脚本语言及攻 击方式。
2.1 网页恶意代码脚本
网页恶意代码所使用的脚本语言以 JavaScript 和 VBScript 最为常见,下面介绍一些 JavaScript 与 VBScript 语言的基础知识。
1. JavaScript
JavaScript 是一种描述语言,可被嵌入在 HTML 文件中。 JavaScript 在不使用任何网络 的情况下回应使用的需求事件, 如当一个用户输入一项资料时, 它不需要经过传给服务器端 处理再传给用户的这个过程,而是直接被客户端的应用程序所处理。
JavaScript 和 Java 非常类似, Java 只是一种比 JavaScript 更复杂的程序语言, 相对于 Java , JavaScript 就容易得多了。使用 JavaScript 可以不太注重程序技巧,所以许多 Java 的特性在 JavaScript 中是不支持的。
JavaScript 程序是以纯文本的方式编写的,因此不需要编译,任何纯文本的编辑器都可 以进行 JavaScript 文件的编写。 不过还是推荐使用专门的编辑软件, 如 Dreamweaver CS, 不 仅有一目了然的代码高亮显示功能,同时还带有较全的代码提示和错误提示。
JavaScript 加入网页的方法有两种。
1)直接加入 HTML 文档
此种方法最为常用,一般含有 JavaScript 的网页都是采用这种方法,其格式为:
1.
其中
22.
恶意代码攻击实验
23.
24.
你的 IE 首页已经被修改成为
25.