14.1 概述
1)定义与分类
(Malicious Code)它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另外一台计算机系统,未经授权认证访问或破坏计算机系统。
常许多人认为 “病毒” 代表了所有感染计算机并造成破坏的程序。事实上,“恶意代码”的说法更为通用,病毒只是一类恶意代码而已。恶意代码的种类主要包括计算机病毒(Computer Virus)、蠕虫(Worms)、特洛伊木马(Trojan Horse)逻辑炸弹(Logic Bombs)、细菌(Bacteria)、恶意脚本(Malicious Scripts)和恶意ActiveX控件、间谍软件(Spyware)等根据恶意代码的传播特性,可以将恶意代码分为两大类,如图所示。
2)攻击模型
作用机制:
侵入系统
维持或提升已有的权限
隐蔽
潜伏
破坏
重复前5步对新的目标实施攻击过程
3)生存技术
反跟踪技术
:提高自身的伪装能力和防破译能力,使检测与清除恶意代码的难度大大增加。
反动态跟踪技术
禁止跟踪中断
检测跟踪法
其他反跟踪技术。如指令流队列法和逆指令流法等
反静态分析技术
对程序代码分块加密执行
伪指令法
加密技术
大部分恶意代码对程序体本身加密,但还有少数恶意代码对被感染的文件加密
模糊变换技术
指令替换技术
指令压缩技术
指令扩展技术
伪指令技术
重编译技术
自动生产技术
变形技术
重汇编技术
压缩技术
膨胀技术
伪指令技术
重编译技术
三线程技术
进程注入技术
通信隐藏技术
端口定制技术
端口复用技术
通信加密技术
隐蔽通道技术
内核级隐藏技术
LKM 隐藏
内存映射隐藏
4)攻击技术
进程注入技术
超级管理技术
端口反向连接技术
缓冲区溢出攻击技术
5)分析技术
静态分析
反恶意代码软件检查:特征代码法、检验和法、行为监测法、软件模拟法等
字符串分析:恶意代码的名字、帮助和命令行选项、用户对话框、后门密码、恶意代码相关的网址、恶意代码作者或者攻击者的email地址、恶意代码用到的库&函数调用&可执行文件、其他有用的信息
脚本分析:js、perl、shell
静态反编译分析
静态反汇编分析:线性便利和递归遍历
动态分析
文件监测
进程监测
注册表监测
网络活动监测
动态反汇编分析
6)防范策略
14.2 病毒分析与防护
1)概念与特性
计算机病毒的名称由来借用了生物学上的病毒概念,它是一组具有自我复制、传播能力的程序代码。它常依附在计算机的文件中,如可执行文件或 Word 文档等。
特点:隐蔽性、传染性、潜伏性、破坏性
2)组成与运行机制
由三部分组成:复制组件、隐藏组件、破坏组件
生命周期:
复制传播阶段
病毒的激活阶段
3)常见类型与技术
引导型病毒:通过感染计算机系统的引导区而控制系统
宏病毒
多态病毒:每次感染新的对象后,通过更换加密算法,改变其存在形式
组成:杂乱的病毒体、解密例程(decryption routine)、变异引擎(mutation engine)
隐蔽病毒
隐藏文件日期、时间的变化
隐藏文件大小的变化
病毒加密
4)防范策略与技术
查找计算机病毒源
阻断计算机病毒传播途径
主动查杀计算机病毒
计算机病毒应急响应和灾备
5)防护方案
基于单机计算机病毒防护
基于网络计算机病毒防护
基于网络分级病毒防护
基于右键网关病毒防护
基于网管防护
14.3 特洛伊木马分析与防护
1)概念与特性
它是具有伪装能力、隐蔽执行非法功能的恶意程序,而受害用户表面上看到的是合法功能的执行。目前特洛伊木马已成为黑客常用的攻击方法。它通过伪装成合法程序或文件,植入系统,对网络系统安全构成严重威胁。同计算机病毒、网络蠕虫相比较,特洛伊木马不具有自我传播能力,而是通过其他的传播机制来实现。受到特洛伊木马侵害的计算机,攻击者可不同程度地远程控制受害计算机,例如访问受害计算机、在受害计算机上执行命令或利用受害计算机进行 DDoS 攻击。
2)分类
本地和网络
网络木马:此类木马由两部分组成,即远程木马控制管理和木马代理。其中远程木马控制管理主要是监测木马代理的活动,远程配置管理代理,收集木马代理窃取的信息;而木马代理则是植入目标系统中,同机获取目标系统的信息或控制目标系统的运行,类似网络管理代理。目前,特洛伊木马一般泛指这两类木马,但网络木马是主要类型。
3)运行机制
寻找攻击目标
收集目标系统信息
将木马植入目标系统
木马隐藏
激活木马,实施攻击
4)植入技术
被动/主动
被动:通过人工干预方式将木马安装到目标系统中
主动:将木马通过程序自动安装到目标系统中,植入过程无须受害用户的操作
被动植入方法:
文件捆绑
邮件附件
web网页
5)隐藏技术
本地活动行为隐藏技术
文件隐藏
进程隐藏
通信连接隐藏
远程通信过程隐藏技术
通信内容加密技术
通信端口复用技术
网络隐蔽通道
6)存活技术
反检测,中断反网络木马程序运行、端口反向连接(木马代理在目标系统主动连接外部网的远程木马控制端以逃避防火墙的限制)
7)防范技术
基于查看开放端口检测特洛伊木马技术
基于重要系统文件监测特洛伊木马技术
基于系统注册表监测特洛伊木马技术
监测具有隐藏能力的特洛伊木马技术
基于网络监测特洛伊木马技术
基于网络阻断特洛伊木马技术
清除特洛伊木马技术
14.4 网络蠕虫分析与防护
1)概念与特性
是一种具有自我复制和传播能力、可独立自动运行的恶意程序。通过利用系统中存在漏洞的节点主机,将蠕虫自身从一个节点传播到另外一个节点。
2)组成与运行机制
:探测模块、传播模块、蠕虫引擎模块和负载模块
探测模块:完成对特定主机的脆弱性检测,决定采用何种攻击渗透方式。该模块利用获得的安全漏洞建立传播途径,该模块在攻击方法上是开放的、可扩充的。
传播模块:该模块可以采用各种形式生成各种形态的蠕虫副本,在不同主机间完成蠕虫副本传递。
蠕虫引擎模块:该模块决定采用何种搜索算法对本地或者目标网络进行信息搜集,内容包括本机系统信息、用户信息、邮件列表、对本机的信任或授权的主机、本机所处网络的拓扑结构、边界路由信息等。这些信息可以单独使用或被其他个体共享。
负载模块
运行机制:
第一阶段,已经感染蠕虫的主机在网络上搜索易感染目标主机,这些易感机器具有蠕虫代码执行条件,例如易感染机器有蠕虫可利用的漏洞。其中,网络蠕虫发现易感染目标取决于所选择的传播方法,好的传播方法使网络蠕虫以最少的资源找到网上易传染的主机,进而能在短时间内扩大传播区域。
第二阶段,已经感染蠕虫的主机把蠕虫代码传送到易感染目标主机上。传输方式有多种形式,如电子邮件、共享文件、网页浏览、缓冲区溢出程序、远程命令拷贝、文件传输(ftp或 tftp)等
第三阶段,易感染目标主机执行蠕虫代码,感染目标主机系统。目标主机感染后,又开始第一阶段的工作,寻找下一个易感目标主机,重复第二、第三阶段的工作,直至蠕虫从主机系统被清除掉。
3)常用技术
扫描技术:
1)随机扫描
2)顺序扫描
3)选择性扫描
漏洞利用技术:
主机之间的信任关系漏洞
目标主机的程序漏洞
目标主机的默认用户和口令漏洞
目标主机的用户安全意识薄弱漏洞
目标主机的客户端程序配置漏洞
4)防范技术
检测和预警技术
本地网络通信连接数
ICMP 协议的路由错误包
网络当前通信流量
网络服务分部
端口活动
CPU利用率
内存利用率
抑制技术
蜜罐技术:在网络系统设置虚拟机器和虚假的漏洞,这些虚假的机器和漏洞能够欺骗网络蠕虫,导致网络蠕虫的传播能力下降
检测和系统加固技术
漏洞扫描、修补、预防
免疫技术:在易感染的主机系统上事先设置一个蠕虫感染标记,欺骗真实的网络蠕虫,从而保护易感主机免受蠕虫攻击。
阻断和隔离技术:防火墙、路由器
清除技术:基本方法是根据特定的网络蠕虫感染系统后所留下的痕迹,如文件、进程、注册表等信息,分析网络蠕虫的运行机制,然后有针对性地删除有关网络蠕虫的文件或进程。
14.5 僵尸网络分析与防护
1)概念与特性
:指攻击者利用入侵手段将僵尸程序植入目标计算机上,进而曹总受害机执行恶意活动的网络。
构建方式:远程漏洞攻击、弱口令扫描入侵、邮件附件、恶意文档、文件共享等。
2)运行机制与技术
僵尸网络的运行机制主要由三个基本环节构成。
第一步,僵尸程序的传播。通过利用计算机网络系统的漏洞、社会工程学、犯罪工具包等方式,传播僵尸程序到目标网络的计算机上。
第二步,对僵尸程序进行远程命令操作和控制,将受害目标机组成一个网络。僵尸网络可分为集中式和分布式,僵尸程序和控制端的通信协议方式有IRC、HTTP。
第三步,攻击者通过僵尸网络的控制服务器,给僵尸程序发送攻击指令,执行攻击活动,如发送垃圾电子邮件、DDoS攻击等。
3)防范技术
僵尸网络威胁监测
通常利用蜜罐技术获取僵尸网络威胁信息,部署多个蜜罐捕获传播中的僵尸程序(Bot),记录该 Bot的网络行为,然后通过人工分析网络日志并结合样本分析结果,可以掌握该 Bot的属性,包括它连接的服务器(DNS/IP)、端口、频道、密码、控制口令等信息,从而获得该僵尸网络的基本信息甚至控制权。
僵尸网络网络检测
根据僵尸网络的通信内容和行为特征,检测网络中的异常网络流量,以发现僵尸网络。
僵尸网络主动遏制
通过路由和 DNS 黑名单等方式屏蔽恶意的IP地址或域名。
僵尸程序查杀
在受害的目标机上,安装专用安全工具,清除僵尸程序。
14.6 其他恶意代码分析与防护
1)逻辑炸弹
逻辑炸弹是一段依附在其他软件中,并具有触发执行破坏能力的程序代码。逻辑炸弹的触发条件具有多种方式,包括计数器触发方式、时间触发方式、文件触发方式、特定用户访问触发方式等。逻辑炸弹只在触发条件满足后,才开始执行逻辑炸弹的破坏功能,逻辑炸弹一旦触发,有可能造成文件删除、服务停止、软件中断运行等破坏。逻辑炸弹不能复制自身,不能感染其他程序。
2)陷门
陷门是软件系统里的一段代码,允许用户避开系统安全机制而访问系统。陷门由专门的命令激活,一般不容易发现。陷门通常是软件开发商为调试程序、维护系统而设定的功能。陷门不具有自动传播和自我复制功能。
3)细菌
细菌是指具有自我复制功能的独立程序。虽然细菌不会直接攻击任何软件,但是它通过复制本身来消耗系统资源。例如,某个细菌先创建两个文件,然后以两个文件为基础进行自我复制,那么细菌以指数级的速度增长,很快就会消耗掉系统资源,包括CPU、内存、磁盘空间。
4)间谍软件
间谍软件通常指那些在用户不知情的情况下被安装在计算机中的各种软件,执行用户非期望的功能。这些软件可以产生弹出广告,重定向用户浏览器到陌生的网站。同时,间谍软件还具有收集信息的能力,可记录用户的击键情况、浏览习惯,甚至会窃取用户的个人信息(如用户账号和口令、信用卡号),然后经因特网传送给攻击者。一般来说,间谍软件不具备自我复制功能。
14.7 产品与技术指标
1)产品
终端防护、安全网关、恶意代码监测、恶意代码防护&补丁管理系统、恶意代码应急响应
2)技术指标
恶意代码检测能力
恶意代码检测准确性
恶意代码阻断能力
14.8 应用
终端防护
APT防护