(一)恶意代码攻击手段分类
恶意代码攻击手段形式多样,在前面设计恶意代码的基础上,笔者对基于通信网络的恶意代码的各类型指标进行分析,为进一步提供应急响应打下基础。通过分析总结,笔者将目前的恶意代码主动攻击分为六大类进行研究:
1.探测型攻击
通过各种扫描技术快速准确地获取远程网络的重要信息。具有代表性的攻击手段有端口扫描、服务漏洞扫描和操作系统漏洞扫描。
2.肢解型攻击
集中攻击远程信息系统的关键结点,如FTP,Web,DNS,e-mail服务器等,破坏远程的信息集成。代表性的攻击手段有缓冲区溢出攻击和后门攻击。
3.病毒型攻击
通过在远程网络安置可控的病毒或恶意代码,在必要的时候引爆病毒或恶意代码,使远程控制中心瘫痪。代表性的攻击手段有恶意代码的开发和注入技术。
4.内置型攻击
深入远程的网络内部安置木马,或者通过安装网络嗅探程序,进而源源不断地提供远程的信息情报。代表性的攻击手段有远程控制攻击和TCP劫持。
5.欺骗型攻击
通过传输虚假的信息欺骗远程,使远程系统对收到的信息难辨真假,无法决策,或者做出错误的决策。代表性的攻击手段有IP欺骗攻击。
6.阻塞型攻击
阻塞远程信息流使远程网络无法进行正常传输。代表性的攻击手段有DoS攻击和DDoS攻击。
(二)恶意代码攻击对象研究
通过对当前的通信网络进行分析,可以总结出网络环境下的安全脆弱点。利用最小的代价获得最大的攻击效果,恶意代码主动攻击的主要目标就是这些安全脆弱点,如图3-13所示。主要分为以下四种级别:
1.路由器级别的攻击对象
在通信网络中,配置不当的路由器访问控制列表会使得透过因特网控制报文协议(Internet Control Message Protocol,简称 ICMP)、IP和NetBIOS发生信息泄漏成为可能,从而导致对非军事区(Demilitarized Zone,简称DMZ)上服务器提供的服务进行未经授权的访问。
2.服务器级别的攻击对象
此级别包括:运行不必要的服务器;配置不当的因特网服务器,特别是Web服务器上的通用网关接口(Common Gateway Interface,简称CGI)脚本和匿名FTP;服务器使用的是没有打过补丁的、过时的或者缺省配置状态的应用软件;过度的文件和目录访问控制。
3.网络级别的攻击对象
此级别包括:在通信网络中,对主机级别记录、监视和检测能力不足;网络没有采用必要的安全策略、规范和指导。
4.工作站级别的攻击对象
在通信网络中,大多数工作站级别使用的是脆弱的、容易被猜中的或者重用的密码;工作站的信息泄漏给攻击者提供了操作系统、应用程序和服务的关键信息;工作站具有过度特权的用户账号或者测试账号。
图3-13 恶意代码主动攻击安全脆弱点
(三)恶意代码攻击步骤研究
1.踩点
踩点是为了能够找到与通信网络环境相关的所有信息。踩点必须非常准确,且要以受控方式进行。
2.扫描
在扫描阶段,通过使用ping扫描工具,确认存在活动的系统,从而准确地指出潜在的攻击目标;通过使用TCP和UDP扫描工具和技巧,确认处于监听状态且存在潜在弱点的服务,并就目标系统的暴露程度进行某些假设;通过使用操作系统检测软件,准确地确定目标系统所使用的特定操作系统版本。
3.查点
从系统中提取出有效账户,或者导出资源名称的过程称为查点。查点需要与目标系统主动连接。查点技巧大多与具体操作系统相关,因此要求使用扫描步骤收集到的信息(端口扫描和操作系统检测结果)。
4.成功访问
通过网络(如某个监听中的服务)获取访问权,一旦获得shell访问权限,攻击者就顺利地进入了目标系统本地。所以,首先需要发现远程监听服务的脆弱点,然后使用蛮力密码猜测、格式化字符串攻击、缓冲区溢出攻击等远程攻击手段,以获取目标系统的根用户访问权限。
5.特权提升
在一般情况下,攻击者通常获取的只是普通用户的访问权限,因此攻击者必须把用户特权升级到root访问权限,这就是特权提升。特权提升的困难程度随操作系统的变化而改变,而且依赖于目标操作系统的特定配置。
6.代码注入(www.xing528.com)
在获取root权限之后,攻击者的主要工作是尽可能多地攫取目标系统信息,以备目标系统进一步入侵时使用;对目标系统和文件进行破坏,使网络关键结点受到损坏,从而造成目标网络的瘫痪;在目标系统中注入恶意代码,以该目标系统为跳板攻击下一个目标系统。
7.掩踪灭迹
包括对入侵目标系统代码的隐藏,以及对入侵目标系统痕迹的清除。在主动攻击时能隐藏好自身,这样不仅能保护好自己的网络系统,还能更好地对目标系统实施打击。此外,还应该有效地清除攻击者的行动踪迹。
8.创建后门
为了确保今后在目标系统的再次访问权限,因此需要通过隐蔽手段在目标系统中创建具有超级用户特权的账号。此外,还要感染初始化启动文件,并隐藏好自身,使得目标系统在每次启动时都能自动运行后门程序而不被察觉。
9.拒绝服务攻击
最容易的攻击方式当然是不用获得访问权限就能够轻易破坏目标网络或系统。如果攻击者尝试入侵目标系统不成功,那么攻击者可以发动带宽耗用攻击、资源衰竭攻击、编程缺陷攻击、路由和DNS攻击等类型的DoS/DDoS攻击,进而使目标网络中断服务。
(四)恶意代码攻击指标选取
由于恶意代码攻击具有多样性,所以对应的网络指标很多。本章节的指标主要考虑可实际通过实时测量的指标值。
1.CPU使用率
程序在运行中占用的CPU资源。本章节主要是测量在恶意代码运行时的CPU的资源消耗变化程度。
2.内存使用率
程序在运行中占用的内存资源。本章节主要是测量在恶意代码运行时的内存资源消耗变化程度。
3.存储空间
系统的存储变化。本章节主要是测量恶意代码在运行时对系统的存储空间产生的影响。
4.丢包率
丢失数据包数量占发送数据包的比率。本章节主要针对由于恶意代码的运行,所占用的网络资源对网络的报文传输产生的影响。
5.带宽利用率
网络的流量和信道带宽的比值。本章节主要测量由于恶意代码的运行,对网络带宽的影响程度。
6.攻击时间
恶意代码的执行时间,即从测量到攻击开始,直至攻击结束的总的时间长度。
7.响应延迟
服务器提供服务的时间间隔。由于恶意代码的影响,可能使得原本顺畅的网络服务变得迟钝,测量其从服务请求开始到提供服务响应的时间间隔。
8.下载速度
提供下载的服务在网络中可以达到的稳定速度。本章节主要是测量由于恶意代码的运行,对系统和网络下载带来的双重影响。
9.系统服务数量
在系统中,系统服务的变化,即对恶意代码运行过程中可能增加一些必需的系统服务的监测。
10.进程的数量
系统进程数的变化。由于恶意代码的执行,因此肯定需要增加系统进程。当然,恶意代码可能会隐藏自身的进程,以防被检测。
11.网络连接数
访问网络的链接。如果是基于网络的恶意代码,一定需要与外界联系,这样势必会增加系统的网络连接数。
12.TCP连接特性
如果恶意代码使用TCP进行通信,则监控其TCP连接属性,如连续时间、协议类型、传送的字节数、登录失败的次数等。
笔者试图找出最为核心的攻击指标来评估各类型的恶意代码,攻击类型与攻击指标之间并非一一对应的关系。攻击类型与核心攻击指标之间的关系见表3-11。
表3-11 攻击类型和核心攻击指标之间的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。