恶意代码
概述:以损害受害者数据、应用程序或者操作系统可用性、完整性或对用户实施骚扰或妨碍的程序。
恶意代码包括:计算机病毒、蠕虫、特洛伊木马、后门、内核套件、间谍软件、恶意广告、流氓软件、逻辑炸弹
注:恶意代码中包含计算机病毒,计算机病毒不等价于恶意代码。
恶意代码的分类
- 按照生存方式
- 驻留在宿主程序中:即依赖于某些实际的应用程序、实用程序或者系统程序才可以运行的程序段。(病毒程序、逻辑炸弹、后门)
- 独立于宿主程序:可以被操作系统调度并运行的独立程序(蠕虫、木马等)。
- 按照是否可以复制
- 不可进行自身复制:在宿主程序被触发的时候执行响应程序操作,但不会进行自我复制和传播操作(木马、逻辑炸弹、后门)。
- 可进行自身复制:一些程序段(病毒)或者独立的程序(蠕虫),这些程序执行的时候将自动产生自身的一个或多个拷贝,这些拷贝将在本系统或者其他系统内被激活(病毒、蠕虫)。
- 按照传播方式分类
- 被动传播:计算机病毒、特洛伊木马、间谍软件
- 主动传播:网络蠕虫、其他
恶意代码具体
- 后门:是程序的入口点,入侵者可以绕开安全控制机制而直接通过该入口访问程序。后门并不是一种新技术,只是多年前程序员一直用来调试或维护自己开发的程序。所以,一旦后门被某些软件恶意利用,作为获取未授权的访问权限的工具时,它便成为一种安全威胁。
- 逻辑炸弹:实质上是一些嵌入到某些合法的程序中的代码段,当遇到某些特定的条件时,它便会爆发。一旦引爆,将会修改或删除软件中的数据乃至整个文件,这将引起系统关机或者其他危害。
- 移动代码:是指那些不加修改就能在不同平台运行并且能够实现系统功能的程序。能够从远程系统传送到本地系统,然后在没有得到用户的明确许可情况下在本地系统中运行,常作为病毒、蠕虫、特洛伊木马传播的载体。能够利用漏洞实现某些功能,如非授权访问等。
- 多重威胁软件:能够以多种方式感染,感染多种类型的文件。最经典的就是Nimda攻击。
病毒
定义:编制在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,且能够自我复制的一组计算机指令或者恶意代码。
特点
- 能把自己注入到其他程序的计算机程序
- 传播机制同生物病毒类似。
- 蠕虫程序和木马程序不是真正意义上的病毒。
经典案例
莫里斯病毒:1988年,6000多台计算机停机,直接经济损失达9600w
生命周期
- 潜伏阶段:病毒不执行操作,等待事件激活,可能是一个特定时期或者其他程序或者文件出现,并非所有病毒都包含这一阶段
- 传播/繁殖阶段:病毒将自身副本植入其他程序或者磁盘的某些系统区域
- 触发阶段:这一阶段病毒将会被激活以执行其预先设计的功能,和潜伏期意义,病毒进入触发阶段可以由和很多系统事件引起,其中包括病毒副本复制的数量达到某个数值。
- 执行阶段:病毒将实现预期的功能。可能是无害的捣蛋,也可能是极具破坏力的对程序或者数据文件造成损坏。
特征
- 传染性
- 隐蔽性
- 潜伏性
- 破坏性
分类
按照病毒感染对象分类
- 文件型计算机病毒:一般只传染可执行文件(com、exe),在用户调用果然病毒的可执行文件时候,病毒先被执行,驻留在内存伺机果然其他文件,其特点是附着于正常文件,成为程序文件的一个外壳或部件
- 宏病毒:宏是一种批处理程序命令,传播依赖于包括office套装的应用程序在内的文件,该病毒特点是:
1 与平台无关
2 只感染引用文件,不感染可执行文件,传播简单,
3传统文件系统访问控制机制对宏病毒控制有限,
4现在的宏病毒宿主可能是pdf文件(pdf可嵌入各种脚本语言)
- 电子邮件计算机病毒:以电子邮件作为传播途径的病毒
- 多元复合型病毒:可感染多种不同类型文件
计算机病毒的主要内容
计算机(这里指数字电子计算机、模拟电子计算机、嵌入式电子系统等等)病毒是一种计算机程序,所以能在计算机的中央处理器(cpu)中执行,也能像正常程序一样,存储在磁盘、内存中,甚至固化为固件。
蠕虫
概述:网络蠕虫是一种智能化、自动化、综合了网络攻击、密码学和计算机病毒技术,不需要计算机使用者干预即可运行的攻击程序或代码,他会扫描和攻击网络上存在的系统漏洞的节点主机,通过局域网或因特网从一个节点传播到另外一个节点。
分类
- 传播途径
- 利用windows操作系统漏洞传播(RPC漏洞)blaster
- 利用应用程序漏洞传播:ftp服务程序(ramen)、iis服务器漏洞(nimda)、sql server数据库(slammer)
- 利用浏览器传播:通过修改web服务器的内容,把一小段js代码附加到html或asp上,ie自动执行代码(nimda、code red)
- 通过email传播:获得感染机器的通讯录邮件地址列表,通过windows的邮件客户端把蠕虫代码作为邮件附件发送给其他主机,而未打补丁的ie会自动执行邮件中的附件,从而使蠕虫激活。
- 破坏能力
- 无害型:建立很多垃圾文件,减少磁盘的可用空间,对系统没有其他影响
- 降低系统或者网络性能型:消耗大量主机资源,减少内存和cpu使用率,使主机速度变慢,在网络上形成垃圾流量。浪费网络带宽,造成拥塞,降低网络性能
- 破坏型:删除主机程序‘破坏数据、清楚系统内存区和操作系统中重要数据(code red、nimda、blaster、sasser),破坏硬盘的witty。
传播过程
- 发现新目标:通过扫描ip地址,email地址、文件系统的传输
- 感染主机目标:利用系统漏洞
- 新感染的主机加入感染大军
与病毒区别(重点)
- 传统计算机病毒主要感染计算机内的文件系统,而蠕虫感染目标则是计算机。
- 计算机网络条件下的共享文件夹、电子邮件、网络总的恶意网页、大量存在的漏洞的服务器等都是蠕虫的传播的途径
- 因特网的发展使得蠕虫可以在几个小时内蔓延全球,且蠕虫主机攻击性和破坏性常常使人手足无措。
![网络系统安全-应用软件安全_第1张图片](http://img.e-com-net.com/image/info8/09f054494e7b409190387e6439983181.jpg)
现状
- 多平台
- 多态:每个拷贝都能够利用功能上等价的质量和加密技术来生成新的代码
- 变形:根据行为模式库在传播不同阶段表现出不同的行为
- 传输载体:是传播其他恶意程序的理想载体
- 0 day攻击
- 手机蠕虫出现
木马
概述:一经嵌入,后患无穷
定义:木马病毒是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。
特点:有效性 隐蔽性 易植入性 顽固性
![网络系统安全-应用软件安全_第2张图片](http://img.e-com-net.com/image/info8/3225f437ba824a218d20ea345f20a315.jpg)
定义:特洛伊木马是一段能实现有用的或必须功能的程序,但同时还能完成一些不为人知的功能,它是一种基于客户端/服务器方式的远程控制程序,由控制端和受控端两个部分组成。中了木马就是指被安装了木马的受控端程序(服务端)。
传播方式
- 通过email
- 软件下载
危害
- 会面临数据丢失或者机密泄漏的危险
- 木马往往又被用作后门,植入被攻破的系统,以便为入侵者再次访问系统提供方便,或者利用被入侵系统,通过欺骗合法用户的某种方式()伪装和ie浏览器差不多的名字但是不ie浏览器)暗中散发木马,以便进一步扩大入侵成果和入侵范围,进行其他入侵活动。如:分布式拒绝服务攻击(ddos)
特点
- 有效性
- 隐蔽性
- 顽固性
- 易植入性
- 还有一些辅助型的特点:自动运行 欺骗性(起一些和系统进程差不多的名字) 自动恢复
自动恢复
木马程序功能模块不再是由单一文件组成,而是多重备份,可以相互恢复,删除不干净
恶意代码进程隐藏技术-进程迷惑
![网络系统安全-应用软件安全_第3张图片](http://img.e-com-net.com/image/info8/e7da93a1a48448c3a4e412d687584ea6.jpg)
恶意代码进程保护-进程守护
主要负责:
- 监视并保护恶意代码主进程正常运行
- 组织主程序退出
- 重启主程序
- 从备份中还原主程序
- 从网络中下载主程序
病毒 网络蠕虫 木马三者区别
![网络系统安全-应用软件安全_第4张图片](http://img.e-com-net.com/image/info8/1f35c9f96ebc410f883edcc6a8ad7aa9.jpg)
bot、zombie
bot用途:攻击代理,使得攻击者可以偷偷使用受感染的系统计算资源和网络资源
bot经常被植入在使用可信第三方的成百上千台计算机之上,大量bot构成botnet
botnet取代了过去的ddos攻击,这些受感染的继器可以通过操控者或者其他机器通信,并可以通过命名方式来协调工作。
分布式拒绝服务(ddos)
可以将正常请求放大若干倍,通过网络节点同时发起攻击,以达成规模效应。这些网络节点往往是黑客所控制的肉鸡,达到一定数量后形成僵尸网络,如此大规模的僵尸网络发起ddos攻击,几乎不可阻挡。
RootKit
最初,rootkit是攻击者用来修改unix操作系统保护root权限且不被发现的工具。
rootkit主要功能是在安装目标上隐藏自身及指定文件、进程和网络链接等信息,比较多见的是rootkit一般都和木马后门等其他恶意程序结合使用。rootkit通过加载特殊驱动,修改系统内核,进而达到隐藏信息的目的(俗称包庇)。
如今,在Windows操作系统上已经出现了大量的rootkuts及使用rootkit技术编写的软件。
网络钓鱼
主要用于信息窃取
在垃圾邮件中包含诱使用户点击指向攻击者控制的虚假网站url,并让虚假网站登录界面与一些银行 游戏或类似网站的登录界面。
鱼叉式网络钓鱼
受害者事先受到了攻击者的精心研究。邮件是精心制作的以迎合相应的收件人,这样大大增加了收件像攻击者期望的那样做出相应的可能性。主要用于工业或其他形式的间谍活动中,如:APT攻击(高级可持续威胁攻击)
计算机病毒的命名(更准确应该是恶意代码的命名)
一航格式为:<病毒前缀>.<病毒名>.<病毒后缀>
勒索软件
近年数量增加最快的网络安全威胁之一,是不法分子通过锁屏、加密文件等方式劫持用户资产或资源以此向用户敲诈勒索钱财的恶意软件。
不法分子往往通过网络钓鱼的方式,向受害者电脑植入敲诈病毒加密硬盘上的文件甚至所有数据,随后向受害企业或个人要求数额不等的赎金(如比特币等)后才予以解密。
病毒检测技术
1. 特征码扫描
工作机制:特征匹配
- 病毒库(恶意代码特征库)
- 扫描(特征匹配过程)
优势:
- 准确(误报率低)
- 易于管理
不足:
- 效率问题(特征库不断庞大,依赖厂商)
- 滞后(现有病毒后有特征库,需要更新特征库)
2. 沙箱技术
工作机制:将恶意代码放入虚拟机中执行,其执行的所有操作都被虚拟化重定向,不改变实际操作系统设置
能较好的解决变形代码的检测
undo:优势不足待补充
3. 行为检测
工作机制:基于数据统计
- 恶意代码行为有哪些
- 行为符合度
优势:
能检测到未知病毒
不足:
误报率高
4. 补充:检测程序后面的校验码
工作机制:查看是否有病毒对该校验码进行了修改,如果校验码与原先不一致则说明该软件不安全。
恶意代码检测技术总结
- 静态分析:需要实际执行恶意代码,它通过对二进制文件的分析,获得恶意代码的基本结构和特征,了解其工作方式和机制
- 动态分析:在虚拟机中,使用测试及监控软件,检测恶意代码行为,分析执行流程及处理数据的状态,从而判断恶意代码的性质,并掌握行为特点
软件签名以及验证过程
软件签名过程
- 待签名软件向ca申请证书
- 使用散列函数提取出原软件的hash值
- 用申请到的私钥对hash值进行签名
- 将签名后的hash值与原软件合成,并封装公钥证书,从而生成包含数字签名的新软件
软件验证过程
- 使用已置于签名软件的公钥证书来解密私钥签名,获得原hash值
- 同时重新计算下载的软件的hash值,进行比对
- 若已知,在将软件的数字证书在线传送至ca发布的证书目录服务器上,查询证书有效期,是否进黑名单,至此验证才算通过。
思考题
-
说明木马的定义,以及他的主要特性有哪些?
答:
定义:木马病毒是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。
特点:有效性 隐蔽性 易植入性 顽固性
-
请说明计算机病毒的定义以及主要特点,他有那些分类?
答:
定义:编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据影响计算机使用,且能自我复制的一组计算机指令或者代码。
特点:
- 能把自己注入到其他程序的计算机程序
- 传播机制同生物病毒类似。
分类:按照传播方式 、能否自我复制、生存方式
- 什么是蠕虫?为什么说他极具危害性?它与木马以及病毒有什么区别?
答:蠕虫的定义:网络蠕虫是一种智能化、自动化、综合了网络攻击、密码学和计算机病毒技术,不需要计算机使用者干预即可运行的攻击程序或代码,他会扫描和攻击网络上存在的系统漏洞的节点主机,通过局域网或因特网从一个节点传播到另外一个节点。
极具危害性的原因: 因特网的发展使得蠕虫可以在几个小时内蔓延全球,且蠕虫主动攻击性和破坏性常常使人手足无措。
![网络系统安全-应用软件安全_第5张图片](http://img.e-com-net.com/image/info8/1f35c9f96ebc410f883edcc6a8ad7aa9.jpg)