14.1 恶意代码概述
- 恶意代码是网络安全的主要威胁,主要阐述恶意代码的概念和分类,给出了恶意代码的攻击模型,分析恶意代码的生存技术,攻击技术,分析技术以及防范策略。
14.1.1 恶意代码定义与分类
- 恶意代码的英文是Malicious Code,它是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露,资源滥用,破坏系统的完整性及可用性。
- 病毒只是一类恶意代码而已。
- 恶意代码分类如下:
- 被动传播
- 计算机病毒
- 特洛伊木马
- 间谍软件
- 逻辑炸弹
- 主动传播
- 网络蠕虫
- 其他
- 被动传播
14.1.2 恶意代码攻击模型
- 恶意代码的行为不尽相同,破坏程度也各不相同,但它们的作用机制基本相同。其作用过程大概分为以下6个步骤
- 1)入侵系统
- 恶意代码实现其恶意目的第一步就是侵入系统,恶意代码入侵有许多途径,如:从互联网下载的程序,其自身也许就带有恶意代码,接收了已被恶意感染的电子邮件。
- 通过光盘或软盘在系统上安装的软件。
- 攻击者故意植入系统的恶意代码等。
- 2)维持或提升已有的权限
- 恶意代码的传播与破坏需要建立在盗用用户或进程的合法权限的基础之上。
- 3)隐蔽
- 为了隐蔽已经侵入系统的恶意代码,可能会采取对恶意代码改名,删除源文件或者修改系统的安全策略等方式。
- 4)潜伏
- 恶意代码侵入系统后,在具有足够的权限并满足某些条件时就会发作,同时进行破坏活动。
- 5)破坏
- 恶意代码具有破坏性的本质,为的是造成信息丢失,泄密,系统完整性被破坏等。
- 6)重复前面5个步骤对新的目标实施攻击过程。
- 1)入侵系统
14.1.3 恶意代码生存技术
-
1.反跟踪技术
-
恶意代码靠采用反跟踪技术来提高自身的伪装能力和防破译能力,使检测与清除恶意代码的难度大大增加。反跟踪技术大致可以分为两类:反动态跟踪技术和反静态分析技术
- 1)反动态跟踪技术
- 禁止跟踪中断
- 检测跟踪法
- 其他反跟踪技术
- 2)反静态分析技术
- 对程序代码分块加密执行。
- 伪指令法
- 1)反动态跟踪技术
-
2.加密技术
-
加密技术使恶意代码进行自我保护的手段之一,再配合反跟踪技术的使用,让分析者不能正常调试和阅读恶意代码,无法获得恶意代码的工作原理,自然也就不能抽取特征串。
-
从加密的内容上划分,加密手段有三种,即 信息加密,数据加密和程序代码加密。
-
大部分恶意代码对程序体本身加密,但还有少数恶意代码对被感染的文件加密。
-
3.模糊变换技术
-
恶意代码每感染一个客体对象时都会利用模糊变换技术使宿主程序的代码不尽相同。
-
尽管使同一种恶意代码,但仍会具有多个不同样本,几乎不存在稳定的代码,只采用基于特征的检测工具一般无法有效的识别它们。目前模糊变换技术主要分为以下几种:
- 指令替换技术
- 指令压缩技术
- 指令扩展技术
- 伪指令技术
- 重编译技术
-
4.自动生产技术
- 普通病毒能够利用“多态性发生器”编译成具有多态性的病毒。多态变换引擎能够让程序代码本身产生改变,但却可以保持原有功能。
-
5.变形技术
- 基于特征码的病毒查杀技术致命缺点使需要一个特征代码库,同时这个库中的代码要具有固定性。病毒设计者利用这一漏洞,设计出具有同一功能不同特征码的恶意代码。常见的恶意代码变形技术包括如下几个方面:
- 重汇编技术
- 压缩技术
- 膨胀技术
- 伪指令技术
- 重编译技术
-
6.三线程技术
- 三线程技术的工作原理使一个恶意代码进程同时开启了三个线程,其中一个负责远程控制工作的主线程,另外两个为用来监视线程负责检查恶意代码程序是否被删除或被停止自启动的监视线程和守护线程。
- 注入其他可执行文件内的守护线程,同步于恶意代码进程,只要进程被停止,它就会重新启动该进程,同时向主线程提供必要的数据,这样就使得恶意代码可以持续运行。
-
7.进程注入技术
- 在系统启动时操作系统的系统服务和网络服务一般能够自动加载,恶意代码程序为了实现隐藏和启动的目的,把自身嵌入与这些服务有关的进程中。
-
8.通信隐藏技术
- 实现恶意代码的通信隐藏技术一般有四类:端口定制技术,端口复用技术,通信加密技术,隐蔽通道技术。
- 端口定制技术
- 旧木马几乎都存在预设固定的监听端口,但是新木马一般都有定制端口的功能,优点:木马检测工具的一种检测方法就是检测缺省端口,定制端口可以避过此方法的检测。
- 端口复用技术
- 通过利用系统网络打开的端口传送数据。
- 通信加密技术
- 将恶意代码的通信内容加密发送,通信加密技术胜在能够使得通信内容隐藏,但弊端是通信状态无法隐藏。
- 隐蔽通道技术
- 指能够有效隐蔽通信内容和通信状态。
- 端口定制技术
- 实现恶意代码的通信隐藏技术一般有四类:端口定制技术,端口复用技术,通信加密技术,隐蔽通道技术。
-
9.内核级隐藏技术
- 1)LKM隐藏
- LKM是可加载内核模块,用来扩展Linux的内核功能。
- LKM能够在不用重新编译内核的情况下可动态加载到内存中。
- 基于这个优点LKM技术经常使用在系统设备的驱动程序和Rootkit中。
- LKM Rootkit通过系统提供的接口加载到内核空间,将恶意代码转化成内核的某一个部分,再通过hook系统调用的方式实现隐藏功能。
- 2)内存映射隐藏
- 内存映射是指由一个文件到一块内存的映射。
- 1)LKM隐藏
14.1.4 恶意代码攻击技术
-
1)进程注入技术
-
2)超级管理技术
- 部分恶意代码能够攻击反恶意代码软件,阻碍反恶意代码软件的正常运行。
-
3)端口反向连接技术
-
4)缓冲区溢出攻击技术
14.1.5 恶意代码分析技术
- 恶意代码分析方法
- 静态分析
- 反恶意代码软件检查
- 字符串分析
- 脚本分析
- 静态反编译分析
- 静态反汇报分析
- 动态分析
- 文件监测
- 进程监测
- 注册表监测
- 网络活动监测
- 动态反汇编分析
- 静态分析
14.1.6 恶意代码防范策略
- 恶意代码防范应从安全意识,明确安全责任,义务和注意事项着手。另一方面就是需要通过技术手段来实现恶意代码防御。
- 恶意代码防范框架
- 用户
- 安全意识
- 安全操作
- 恶意代码安全管理
- 安全管理组织
- 安全管理制度
- 安全管理流程
- 安全管理岗位
- 恶意代码防御技术
- 恶意代码监测,预警(安全通告,威胁报警,疫情发布等)
- 恶意代码预防(安装杀毒软件,安全加固,系统免疫,访问控制)
- 检测恶意代码(漏洞扫描,注册表查找)
- 恶意代码应急响应(恢复,备份,漏洞修补)
- 用户
14.2 计算机病毒分析与防护
- 计算机病毒是恶意代码的一种类型,主要阐述其概念和特性,分析计算机病毒的组成和运行机制,给出计算机病毒的常见类型和技术。
14.2.1 计算机病毒概念与特性
- 计算机病毒的名称由来借用生物学上的病毒概念,它是一组具有自我复制,传播能力的程序代码。
- 1)隐蔽性
- 2)传染性
- 3)潜伏性
- 4)破坏性
14.2.2 计算机病毒组成与运行机制
- 计算机病毒由三部分组成:复制传染部件(replicator),隐藏部件(concealer),破坏部件(bomb)
- 第一阶段,计算机病毒的复制传播阶段
- 第二阶段,计算机病毒的激活阶段。
14.2.3 计算机病毒常见类型与技术
- 1)引导型病毒
- 引导型病毒通过感染计算机系统的引导区而控制系统,病毒将真实的引导区内容修改或替换,当病毒程序执行后,才启动操作系统,因此感染引导型病毒的计算机系统看似正常运转,而实际上病毒已再系统中隐藏,等待时机传染和发作。
- 2)宏病毒(Macro Viruses)
- 宏是1995年出现的应用程序编程语言,它使得文档处理中繁复的敲键操作自动化,所谓宏病毒就是指利用宏语言来实现的计算机病毒。
- 3)多态病毒(Polymorphic Viruses)
- 多态病毒每次感染新的对象后,通过更换加密算法,改变其存在形式。
- 4)隐蔽病毒(Stealth Viruses)
- 隐藏病毒试图将自身的存在形式进行隐藏,使得操作系统和反病毒软件不能发现。
14.2.4 计算机病毒防范策略与技术
- 1.查找计算机病毒源
- 比较法,搜索法,特征字符识别法,分析法
- 2.阻断计算机病毒传播途径
- 用户具有计算机病毒防范安全意识和安全操作习惯。
- 消除计算机病毒载体,例如:专机专用,不随便使用来历不明的存储介质,如磁盘,USB等
- 安全区域隔离
- 3.主动查杀计算机病毒
- 定期对计算机系统进行病毒检测
- 安装防病毒软件
- 4.计算机病毒应急响应和灾备
- 备份,数据修复技术,网络过滤技术,计算机病毒应急响应预案。
14.2.5 计算机病毒防护方案
- 1.基于单机计算机病毒防护
- 2.基于网络计算机病毒防护
- 3.基于网络分级病毒防护
- 4.基于邮件网关病毒防护
- 5.基于网关防护
14.3 特洛伊木马分析与防护
14.3.1 特洛伊木马概念与特性
- 特洛伊木马(Trojan Horse,简称木马),其名称取自古希腊神话特洛伊战争的特洛伊木马,它是具有伪装能力,隐蔽执行非法功能的恶意程序,而受害用户表面上看到的是合法功能的执行。
14.3.2 特洛伊木马分类
- 分为本地特洛伊木马和网络特洛伊木马
14.3.3 特洛伊木马运行机制
- 1)寻找攻击目标
- 2)收集目标系统的信息
- 3)将木马植入目标系统
- 4)木马隐藏
- 5)攻击意图实现,即激活木马,实施攻击
14.3.4 特洛伊木马植入技术
- 文件捆绑法
- 邮件附件
- Web网页
14.3.5 特洛伊木马隐藏技术
- 主要技术目标就是将木马的本地活动行为,木马的远程通信过程进行隐藏。
- 1)本地活动行为隐藏技术
- 通过LKM(Loadable Kernel Modules)的功能实现
- 文件隐藏
- 进程隐藏
- 通信连接隐藏
- 通过LKM(Loadable Kernel Modules)的功能实现
- 2)远程通信过程隐藏技术
- 通信内容加密技术
- 通信端口复用技术
- 网络隐蔽通道
- 3)常见特洛伊木马采用的隐藏技术
- 隐藏手法有:隐藏文件,隐藏进程,隐藏网络连接,网络隐蔽通道。
- 木马有:Knark,Adore,ITF,KIS,NT Rootkit,Loki
14.3.6 特洛伊木马存活技术
- 网络木马侵入目标系统时采用反监测技术,甚至中断反网络木马程序运行。
14.3.7 特洛伊木马防范技术
- 1.基于查看开放端口检测特洛伊木马技术
- 2.基于重要系统文件检测特洛伊木马技术
- 3.基于系统注册表检测特洛伊木马技术
- 4.检测具有隐藏能力的特洛伊木马技术
- 5.基于网络检测特洛伊木马技术
- 6.基于网络阻断特洛伊木马技术
- 7.清除特洛伊木马技术
14.4 网络蠕虫分析与防护
- 网络蠕虫使恶意代码的一种类型,主要阐述网络蠕虫的概念和特性,然后分析网络蠕虫的组成,运行机制和常用技术,最后给出网络蠕虫的防范技术方案。
14.4.1 网络蠕虫概念与特性
- 网络蠕虫是一种具有自我复制和传播能力,可独立自动运行的恶意程序,它综合了黑客技术和计算机病毒技术,通过利用系统中存在漏洞的节点主机,将蠕虫自身从一个节点传播到另外一个节点。
14.4.2 网络蠕虫组成与运行机制
- 网络蠕虫由四个功能模块构成:
- 探测模块
- 传播模块
- 蠕虫引擎模块
- 负载模块
- 1)探测模块
- 完成对特定主机的脆弱性检测,决定采用何种攻击渗透方式。该模块利用获得的安全漏洞建立传播途径,该模块在攻击方法上是开放的,可扩充的。
- 2)传播模块
- 该模块可以采用各种形式生成各种形态的蠕虫副本,在不同主机间完成蠕虫副本传递。
- 3)蠕虫引擎模块
- 该模块决定采用何种算法对本地或者目标网络进行信息搜集,内容包括本机系统信息,用户信息,邮件列表,对本机的信任或授权的主机,本机所处网络的拓扑结构,边界路由信息等。
- 4)负载模块
- 就是网络蠕虫内部的实现伪代码。
- 网络蠕虫的运行机制要分为三个阶段
- 第一阶段
- 已经感染蠕虫的主机在网络上搜索易感染目标主机,这些易感机器具有蠕虫代码执行条件,例如易感染机器有 蠕虫可利用的漏洞。 其中网络蠕虫发现易感染目标取决于所选择的传播方法,好的传播方法使网络蠕虫以最少的资源找到网上易传染的主机,进而能在短时间内扩大传播区域。
- 第二阶段
- 已经感染蠕虫的主机把蠕虫代码传送到易感染目标主机上。传输方式有多种方式,例如:电子邮件,共享文件,网页浏览,缓冲区溢出程序,远程命令拷贝,文件传输(ftp或tftp)等。
- 第三阶段
- 易感染目标主机执行蠕虫代码,感染目标主机系统。目标主机感染后,又开始第一阶段的工作,寻找下一个易感染的目标主机,重复第二,第三阶段的工作,直至蠕虫从主机系统被清除掉。
- 第一阶段
14.4.3 网络蠕虫常用技术
-
1.网络蠕虫扫描技术
-
网络蠕虫利用系统漏洞进行传播,良好的传播方法能够加速蠕虫传播,使网络蠕虫以最少的时间找到互联网上易感的主机。
-
网络蠕虫改善传播效果的方法使提高扫描的准确性,快速发现易感的主机,目前有三种措施可以采取:一是减少扫描未用的地址空间;而是在主机漏洞密度高的地址空间发现易感主机;三是增加感染源。
-
根据网络蠕虫发现易感主机的方式,将网络蠕虫的传播方法分成三类,随机扫描,顺序扫描,选择性扫描。
- 1)随机扫描
- 随机扫描的基本原理使网络蠕虫会对整个IP地址空间随机抽取的一个地址进行扫描,这样网络蠕虫感染下一个目标具有非确定性。
- 2)顺序扫描
- 基本原理使网络蠕虫根据感染主机的地址信息,按照本地优先原则,选择它所在网络内的IP地址进行传播,顺序扫描又可称为“子网扫描”
- 3)选择性扫描
- 基本原理使网络蠕虫在事先获知一定信息的条件下,有选择地搜索下一个感染目标主机。
- 1)随机扫描
-
2.网络蠕虫漏洞利用技术
- 网络蠕虫发现易感目标主机后,利用易感目标主机所在的漏洞,将蠕虫程序传播给易感目标主机。
- 主机之间的信任关系漏洞(针对Linux环境下的类似ssh互信登录这种关系,可以直接复制文件到另一台主机)
- 目标主机的程序漏洞
- 目标主机的默认用户和口令漏洞
- 目标主机的用户安全意识薄弱漏洞
- 目标主机的客户端程序配置漏洞
- 网络蠕虫发现易感目标主机后,利用易感目标主机所在的漏洞,将蠕虫程序传播给易感目标主机。
14.4.4 网络蠕虫防范技术
- 1.网络蠕虫监测于预警技术
- 基本原理使在网络中安装探测器。
- 本地网络通信连接数
- ICMP协议的路由错误包
- 网络当前通信流量
- 网络服务分布
- 域名服务
- 端口活动
- CPU利用率
- 内存利用率
- 2.网络蠕虫传播抑制技术
- 基本原理是利用网络蠕虫的传播特点,来构造一个限制网络蠕虫传播的环境。
- 3.网络系统漏洞检测与系统加固技术
- 解决漏洞的问题,包括漏洞扫描,漏洞修补,漏洞预防和主机的安全配置,安全加固。
- 4.网络蠕虫免疫技术
- 通过在受害主机系统上设置一个标记,以避免重复感染,其基本原理就是在易感染的主机系统上事先设置一个蠕虫感染标记,欺骗真实的网络蠕虫。
- 5.网络蠕虫阻断与隔离技术
- 主要是利用防火墙,路由器进行控制。
- 6.网络蠕虫清除技术
- 基本方法是根据特定的网络蠕虫感染系统后所留下的痕迹,如文件,进程,注册表等信息,分析网络蠕虫的运行机制,然后有针对性地删除有关网络蠕虫的文件或进程。
14.5 僵尸网络分析与防护
14.5.1 僵尸网络概念与特性
- 僵尸网络(Botnet)是指攻击者利用入侵手段将僵尸程序(bot or zombie)植入目标计算机上,进而操纵受害机执行恶意活动的网络。
14.5.2 僵尸网络运行机制与技术
- 第一步,僵尸程序的传播
- 第二步,对僵尸程序进行远程命令操作和控制,将受害目标机组成一个网络
- 第三步,攻击者通过僵尸网络的控制服务器,给僵尸程序发送攻击指令,执行攻击活动,如发送垃圾邮件,ddos攻击。
14.5.3 僵尸网络防范技术
- 1.僵尸网络威胁监测
- 通常利用蜜罐技术获取僵尸网络威胁信息。
- 2.僵尸网络检测
- 根据僵尸网络的通信内容和行为特征,检测网络中的异常网络流量。
- 3.僵尸网络主动遏制
- 通过路由和DNS黑名单等方式屏蔽恶意的IP地址和域名
- 4.僵尸程序查杀
- 在受害的目标主机上安装专用安全工具。
14.6 其他恶意代码分析与防护
14.6.1 逻辑炸弹
- 是一段依附在其他软件中,并具有触发执行破坏能力的程序代码。
14.6.2 陷门
- 是软件系统里面的一段代码,允许用户避开系统安全机制而访问系统。
14.6.3 细菌
- 细菌是指具有自我复制功能的独立程序。
14.6.4 间谍软件
- 指那些在用户不知情的情况下被安装在计算机中的各种软件,执行用户非期望的功能,(弹出广告,恶意跳转陌生网站等)
14.7 恶意代码防护主要产品与技术指标
14.7.1 恶意代码防护主要产品
- 1.终端防护产品
- 2.安全网关产品
- 安全网关主要用来拦截恶意代码的传播,防止破坏扩大化。
- 3.恶意代码监测产品
- 4.恶意代码防护产品:补丁管理系统
- 5.恶意代码应急响应
14.7.2 恶意代码防护主要技术指标
- 1)恶意代码检测能力
- 2)恶意代码检测准确性
- 3)恶意代码阻断能力
14.8 恶意代码防护技术应用
14.8.1 终端防护
- 360天擎终端安全管理系统
14.8.2 APT防护
迷茫的人生,需要不断努力,才能看清远方模糊的志向!
原文链接:https://www.cnblogs.com/autopwn/p/16494009.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/20975