病毒+蠕虫+bot+rootkit

恶意软件类型


  1. 恶意软件大概分为两种类型:依附于宿主和独立于宿主程序。
  • 前者被称为寄生程序,其本质不能独立于应用程序,实用程序,操作系统而独立存在的程序片段,例如,病毒,后门,逻辑炸弹。后者是可以被操作系统调度和执行的独立程序,例如,蠕虫和bot程序。
  1. 根据恶意软件是否进行复制划分:不进行复制的和进行复制的。
  • 前者是触发执行的程序或程序片段,如逻辑炸弹,后门和bot程序。后者是一个程序或程序片段,执行时会产生一个或多个自身的拷贝,这些拷贝会在合适的时候在当前系统或其他系统中激活,例如病毒,蠕虫。
  1. 后门
  • 它是进入程序的一个入口,可以使攻击者不通过通常的访问控制机制获取程序的访问权。
  • 后门一般被程序员用于程序的调试和测试。设置后门的另一个目的是当当前应用程序的认证机制失效时,还有其他方式激活程序。
  • 后门是一个能识别特殊的输入序列或用户ID进程或不可能的事件序列所触发的代码。
  1. 逻辑炸弹
  • 逻辑炸弹是嵌入正常程序的一段代码,在满足的条件时就会被引爆。
  • 能引爆逻辑炸弹的条件有很多,例如,某个特殊文件是否存在,执行程序的用户,日期等等。
  • 逻辑炸弹一旦被引爆,他就会修改或删除数据及文件,导致系统崩溃。
  1. 特洛伊木马
  • 是一个有用的或表面看起来有用的程序或命令,但其内部藏有恶意代码,当其被调用时,就会执行非预期的或有害的功能。
  • 特洛伊木马可以间接完成一些非授权用户无法直接完成的工作。
  • 例:一个用户想要访问另一个用户的私有文件,他可以将特洛伊木马放在公公文件夹中,诱导其他用户使用,一旦木马被执行就会修改该用户私有文件的访问权。
  • 木马程序的主要动机是破坏数据
  • 特洛伊木马的三种类型:

继续执行源程序的同时,执行独立的恶意程序。
继续执行源程序的功能,但会对源程序进行修改,以执行恶意行为或隐藏另一个恶意行为。
只执行恶意行为

  1. 移动代码
  • 移动代码指那些不加修改就是能不同系统平台上运行并且能够实现相同功能的程序。
  • 移动代码从远程传输到本地系统,然后在没有得到用户许可的情况下在本地系统运行。
  • 移动代码通常作为蠕虫,病毒和特洛伊木马的载体,将这些恶意代码传播到系统中去。
  • 移动代码能够利用漏洞实现某些功能,例如非授权的数据访问或系统入侵。
  • 移动代码的传播方式:跨站点脚本,交互式动态web站点,电子邮件附件,从不信的网站上下载程序。
  1. 多重威胁的恶意软件
  • 复合:病毒能够以多种方式进行感染。
  • 混合攻击:使用多种感染和传播方式来获得最大的感染速度和破坏性。

病毒


  1. 典型的病毒会将代码拷贝到正常程序中,这样一旦被感染的计算机与未被感染的软件进行交互时,病毒就能将自己的拷贝到另一个正常程序中。
  2. 病毒能够实现正常程序的任何功能,所不同的是病毒将自己附着在宿主程序上,随着程序的运行而悄悄运行,一旦病毒被执行,就能执行任何功能,例如,删除文件和程序等。
  3. 病毒的三个组成部分:
  • 病毒机制:是指病毒传播和病毒自我复制的方法。
  • 有效载荷:指病毒传播之外的活动,包括破坏和非破坏性的活动。
  • 触发条件:激活病毒有效载荷的事件
  1. 病毒的四个阶段:
  • 潜伏阶段:病毒处于休眠阶段
  • 传播阶段:病毒将自己的拷贝到另一个程序中或硬盘上某个与系统相关的区域
  • 激活阶段:病毒被激活以执行预先设定的功能
  • 执行阶段:执行病毒的功能
  1. 病毒的结构
  • 病毒的代码可以放到程序的前端或后端,也可以是其它地方,但必须保证程序执行时,先执行病毒代码,然后执行被感染程序的正常代码。
  • 例:病毒代码v位于被感染程序的前端,其执行过程如下:

病毒+蠕虫+bot+rootkit
病毒+蠕虫+bot+rootkit

系统的目标是对新病毒进行快速响应,使病毒一旦入侵系统就会被查杀。当一个新病毒进入一个组织的系统后,免疫系统会自动捕获、分析、检测井屏蔽以及清除它。然后把这个新病毒的信息发送到运行IBM反病毒软件的系统上,使这个病毒在其他地方运行之前就被检测出来
流程:

每一台PC上都运行着一个监控程序,该程序使用了多种启发式方法,这些启发式方法基于系统行为、程序的可疑变化以及病毒的特征库来推断病毒是否存在。监控程序会将认为被感染的程序的拷贝发送给数字免疫系统的管理机
管理机先对样本进行加密,然后将其发送给中央病毒分析机。
病毒分析机建立一个能使被感染程序安全运行以便分析的环境。实现这样的环境使用的技术包括仿真或者建立一个可以执行井监控可疑程序的受保护环境。然后病毒分析机生成用于识别并清除病毒的解决方案
这个解决方案被送回管理机。
管理机将解决方案转发给被感染的客户端
解决方案也同时被转发到组织中其他的客户端
全世界的用户将接收到定期的反病毒更新,以保护他们不受到新病毒的攻击。

  1. 行为阻断软件
  • 行为阻断软件与主机的操作系统相结合,实时监控恶意的程序行为。行为阻断软件能够在程序的恶意行为影响计算机之前将其阻断
  • 被监控的程序行为包括:

试图打开、浏览、删除和/或修改文件。
试图格式化磁盘以及其他不可恢复的磁盘操作。
对可执行程序或宏的逻辑机制进行修改。
修改系统的关键设置,例如启动设置。
通过电子邮件或者即时通信软件发送可执行内容。
初始化网络通信。

  • 行为阻断软件同时在服务器和桌面计算机上运行,根据网络管理员制定的策略工作,让正常的程序行为得到执行,但当出现非授权或可疑行为时,要予以处理。该模块将阻止任何可疑的软件运行。行为阻断软件会将可疑程序隔离到沙箱(sandbox)中,以限制其对操作系统的各种资源和其他应用程序的访问。然后向管理员发送警报
  • 恶意代码也必须要向系统发送特定的请求。因此,行为阻断程序通过截获所有这样的请求,就能够识别并阻止恶意行为,而不管病毒或者蠕虫如何使其代码变得模糊、难以识别。

蠕虫


  1. 蠕虫是一种能够自我复制并通过网络连接将其拷贝传播到其他计算机上的程序。
  2. 蠕虫会主动地去寻找更多的计算机来进行感染,并且每一台被感染的计算机又会变成一个跳板,继续自动地攻击其他计算机。
  3. 网络蠕虫程序一且在系统中被激活,它 就会像计算机病毒或细菌那样工作,或者植入木马程序或者执行一些分裂性或破坏性的行为
  4. 蠕虫传播工具:
  • 电子邮件工具:蠕虫通过邮件将自己的拷贝发送到其他系统中去,当打开邮件的附件或者浏览邮件时,蠕虫的代码就会被执行。
  • 远程登录能力:蠕虫以一个用户的身份登录到远程系统,然后使用命令将自己拷贝到将要被执行的另一个系统中。
  • 远程执行能力:蠕虫在其他系统中执行自己的拷贝的能力。一般通过直接的远程执行工具,或者通过在网络服务上产生一个溢出从而暗中执行操作。
  1. 网络蠕虫显示出与计算机病毒相同的特征,具有下面几个阶段:潜伏阶段、传播阶段、触发阶段和执行阶段。
  2. 在传播阶段中主要执行如下功能:

通过检查主机列表或者相似的远程系统地址库,来寻找要感染的系统。
与远程主机建立连接。
将自己复制到远程主机上,并使该拷贝运行。

  1. 在多进程系统中,蠕虫通过把自己命名为系统进程或者其他不被系统操作员注意的名字来伪装自己。
  2. Morris蠕虫
  • 当蠕虫的某个拷贝执行时,其首要任务就是找到从当前主机所能进入的其他主机

当前系统所信任的主机表
用户的邮件转发文件
远程胀户访问权限表
网络连接状态报告程序

  • Morris蠕虫会尝试多种方法以获得访问权:

蠕虫会试图破解本地口令文件。然后,利用破解得到的口令和对应用户ID登录远程主机。该方法的前提是许多用户在不同系统中使用相同的口令

蠕虫执行口令破解程序,尝试用以下字符串作为口令:
每个用户的账户名和账户名中字母的简单排列。
内置的432 Morris认为可能的候选口令。
本地系统字典中的所有单词。

利用UNIX系统中finger协议的漏洞,这个漏洞会报告远程用户的信息。
利用负责收发邮件的远程进程的调试选项中的一个陷门。

  • Morris蠕虫病毒就能够和操作系统命令解释器进行通信。它会向该命令解释器发送一个简短的引导程序,并发出一个命令来执行该程序,然后注销登录。随后引导程序回调父程序下载蠕虫的其余部分。这样新的蠕虫就可以执行了。
  1. 蠕虫传播模型
    病毒+蠕虫+bot+rootkit
    A. PWC代理通过监控输出通信量来扫描网络活动,寻找与远程主机的TCP,UDP连接尝试的波动,来检测蠕虫。如果检测到这样的波动,则该代理将执行如下步骤:( 1 )向本地系统发出警报 (2 )阻断所有输出连接尝试 (3 )向PWC管理器发出警报: (4 )进行松弛(relaxation )分析,具体过程在 中描述。
    B. PWC管理器收到代理发送的警报,然后向所有其他的代理(除原来发出警报的代理之外)转发这个警报
    c. 当主机收到警报肘,代理通过以下方法来决定是否忽略这个警报。如果从收到最后一个输入包到现在的时间已经足够长,那么如果被蠕虫感染,代理应该已经检测到该蠕虫,所以忽略这个警报。否则,代理就会假定它可能已经被感染了,并执行如下步骤:( l )阻断所有从特定的警报端口发出的输出连接尝试 (2 )进行松弛分析,具体过程在 中描述。
    D. 松弛分析的执行过程如下:代理用固定的时间窗来监控输出活动,检查输出连接的数量是否超过一定的阔值。如果超过,则将继续阻断并且用新的时间窗来执行下一轮的松弛分析。分析过程会持续到输出连接率低于阙值,届时代理将解除阻断。如果在足够数目的时间窗内,闹值被持续超过,那么代理将隔离该主机并报告给PWC管理器

基于网络的蠕虫围堵策略:
基于网络的蠕虫防范的关键部分是蠕虫监控软件。考虑到一个企业内部网络可能由一个或多个互连的局域网组成,因此需要两类监控软件:

入口监控软件(ingress monitors ):这类软件被安装在企业内部网络和因特网之间
出口监控软件( egress monitors ):这些软件可以被安装在企业内部网络中的各个独立局域网的出口点上,也可以被安装在企业内部网与因特网之间。出口监控就是用来通过监控输出通信中是否存在扫描或者其他可疑行为来捕获蠕虫攻击的源头。

工作流程:

病毒+蠕虫+bot+rootkit
  • 在用户级运行的程序是通过系统调用来与内核交互的。因此,系统调用是内核级rootkits实现隐藏的主要目标。
  • Linux 中,每一个系统调用都会被分配一+唯一的系统调用编号。当一个用户模式的进程执行系统调用时,该进程是通过系统调用编号来引用系统调用的。
  • 内核维护着一张系统调用表,每一项对应着一个系统调用,其中每项的内容是对应系统调用例程的入口地址。系统调用编号就是这个调用在表中的索引。
  • 三种可以用来修改系统调用的技术:

修改系统调用表( modify the system call table ):黑客修改存储在系统调用表中的选定的系统调用的地址。这样rootkit就把系统调用从原来合法的例程指向了rootkit所指定的程序上。图7-9 显示了knark rootkit是如何实现的。
修改系统调用表的目标对象( modify system call table target ):黑客用恶意代码覆盖了所选定的正常系统调用例程,而系统调用表没有被修改。
重定向系统调用表( redirect the system call table ):黑客把对整个系统调用表的引用重定向到新的内核存储单元中的一个新表上

  1. 防范措施
  • 防范rootkit需要多种网络级和计算机级的安全工具。基于网络的和基于主机的入侵检测系统都能够用来检测输入通信量中己知的rootkit 攻击的代码特征。基于主机的反病毒软件也能被用来识别那些已知rootkit 的特征。
  • 对某类文件做完整性校验。这个工具将使用API 的系统扫描结果与不使用API 的指令所获得的实际存储视图进行对比。

来源:云袖er

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月8日
下一篇 2020年1月8日

相关推荐