第十七章,反病毒---防病毒网管
基于杀毒软件的一种防御技术,是一种被动 的防御技术。
防病毒网关和主机上的杀毒软件在功能上互补和协作的关系。
病毒 --- 一般是感染或者附着在应用程序或文件中的;一般都是通过邮件或文件共享的方式进行传 输,从而对主机进行破坏 。
计算机病毒的基础
病毒 --- 恶意代码 。
计算机病毒具备破坏性、复制性和传染性的 。
分类
恶意代码 --- 一种程序,通过把代码在不被察觉的情况下, 嵌入到另一段程序 中,从而达到破坏电脑 数据、感染电脑文件的目的 。
命名规则:< 病毒前缀 >< 病毒名 >< 病毒后缀 >---> 用来体现病毒的分类。
- 病毒前缀 --- 恶意代码的类型
- 病毒、蠕虫、木马、后门、勒索、挖矿、广告....
- win32、linux、java...
- 病毒名 --- 一般用恶意代码家族命名 ---> 代表病毒具有相似的功能或者相同的来源
- 病毒后缀 --- 恶意代码的变种
按照传播方式进行分类
病毒
病毒 --- 基于硬件和操作系统的程序。
病毒攻击的目标程序就是病毒的栖息地,这个程序也是病毒传播的目的地以及下一次感染的出发 地 。
病毒特点---> 需要附加在其他宿主程序上进行运行; 为了去躲避电脑杀毒软件的查杀,病毒可以将自 身分裂、变形或加密 。将自身的每一部分都附加到宿主程序上。
一旦病毒文件执行,他会将系统中所有满足感染条件的可执行文件都加入病毒代码,进而通过用户 自身对感染文件的拷贝传递给其他人 。
我是秦始皇,我现在需要 50 块钱,如果你给我,我封你做大将军我是秦始皇我现在需要 50 块钱如果你给我我封你做大将军
蠕虫
主要通过网络使恶意代码在不同设备中进行复制、传播和运行的恶意代码---> 是一个可以 自我拷贝 font> 到另一台计算机上的程序 。
蠕虫传播方式:通过网络发送攻击数据包 。

木马
传播方式 --- 一般采用 捆绑传播 或利用 网页挂马 传播。
捆绑 --- 把一个有界面的正常程序,和一个恶意软件绑定挂马 --- 在某个网页打开的同时,打开另一个网页。而另一个网页中包含木马程序。
木马 --- 是攻击者通过一些欺骗的方法在用户不知情的情况下安装的。
按照功能分类
- 后门
- 功能 --- 文件管理、屏幕监控、键盘侦听、视频监控
- 机制 --- 远程控制软件通过开放并监听本地端口,实现与控制端的通信,来执行相关操作。
- 勒索
- 定义:通过加密用户文件,使用户数据无法正常使用,并以此为条件向用户勒索赎金。
- 加密 --- 非对称加密;
- 特点:虚拟货币交易;
- 挖矿
- 定义:攻击者通过向被感染设备植入挖矿工具,消耗被感染设备的计算机资源进行挖矿,来获取数字货币。
- 特点 --- 不会对感染设备的数据和系统造成破坏的。只是会消耗大量的设备资源,对硬件设备造成损害。
- 广告
- 定义:以流量为盈利来源的恶意代码,一般广告软件都是强制安装并不可卸载。
- 一般在广告软件的背后,都会集成间谍软件。
病毒的行为特征
- 下载与后门特性
- 下载特性 --- 自动连接某一个web站点。从这个web站点上去下载其他病毒文件。
- 后门特性
- 举例 --- 下载器病毒:本身是捆绑了多种病毒文件的木马程序。
- 信息收集特性
- QQ密码、聊天记录、游戏账号密码、银行账号密码、网页浏览器记录
- 举例 --- 火焰病毒 --- 网络战争武器
- 自身隐蔽特性 --- 很多病毒会将自己的属性设置为“隐藏”或者“只读”。
- 文件感染特性
- 网络攻击特性
- 举例 --- 爱虫病毒--->把自己伪装成情书。
- windows outlook
- 举例 --- 爱虫病毒--->把自己伪装成情书。
病毒传输方式
- 电子邮件
- 网络共享
- P2P共享软件
- 系统漏洞
- 广告软件/灰色软件(流氓软件)
- 其他
恶意代码免杀技术
免杀技术--- 免杀毒技术,是一种能使恶意代码免于被杀毒软件或杀毒设备查杀的技术 。 其本质还是 对病毒内容的修改 。
免杀技术 ---> 汇编语言 ( 反汇编语言 ) 、逆向工程、系统漏洞 ....
- 修改文件特征码
- 修改内存特征码
- 行为免查杀技术
杀毒软件检测方式
基于文件扫描的反病毒技术
- 第一代
- 在文件中检索病毒特征序列。
- 该技术虽然出现的早,但是到现在为止,还是被各大厂商所使用的方案。
- 字符串扫描技术 --- 使用从病毒中提取出来的具有特征的一段字符来检测病毒,这些字符必须 在一般程序中不太可能出现 。
- 通配符扫描技术 --- 因为字符串扫描技术有执行速度和特征码长度的限制,所以逐渐被通配符扫描替代。
- 正则表达式
-
-
- 第二代 --- 是在第一代的基础上,对检测精度上提出了更严格的要求。
- 智能扫描法 --- 类似于AI;基于人工智能和机器学习技术的扫描方式。分析上下文或者关联程序的行为模式。
- 骨架扫描法 --- 卡巴斯基公司搞出来的;采用逐行分析行为。在分析时,将所有的非必须字符丢弃,只剩下代码的骨架,对代码骨架进行进一步的分析,在一定程度上可以增加了对变种病毒的检测能力。
- 近似精确识别法
- 多套特征码 --- 采用至少两个字符串来检测每个病毒。
- 校验和 --- 让每一个无毒软件生成一个校验和,等待下一次扫描时在进行简单的校验和对比。如果校验和发生变化,则代表文件发生改变,需要对其进行完整扫描。
- 精确识别法 --- 是目前唯一一种能够保证扫描器精确识别病毒变种的方法。通常与第一代扫描技术结合使用。
- 利用校验和。
- 第三代 --- 算法扫描
基于内存扫描的反病毒技术
内存扫描器 --- 与实时监控扫描器协同工作。
应用程序在运行后,都会将自身释放到内存中,导致释放后的文件结构和未执行的文件有较大的差异。
内存扫描器和文件扫描器所使用的逻辑相同,但是使用的特征码不同。
内存扫描器精确度高于文件扫描器。
基于行为监控的反病毒技术
一般是需要和虚拟机技术配置使用的。
原理:在一个 完全隔离的环境 中,运行文件信息,监控文件的行为,并将其和其他病毒文件的行为 进行分析对比,如果某些程序在执行时进行了一些可疑的操作,那么认为是一个病毒文件 。
可以检测出来新生病毒 。
所谓的行为 --- 指的是应用程序运行后的操作。行为特征 --- 一个程序按照某种顺序执行某一系列操作所具备的特征。
基于新兴技术的反病毒
- 云查杀 --- “可信继承,群策群力”。
- 思路:以服务器为脑,所有用户的机器为触角;使得服务器可以随时随地知道每个用户的情况,如果其中一个用户和其他用户对比产生差异,那么服务器发出指令,让发生异常的机器进行检查,并将问题反馈给服务器。
- 可信继承
- 群策群力
- 某一台PC发现病毒,立即上报给服务器;服务器会将该信息通知给所有信任网络中的PC。
- 云计算和病毒木马--->分布式。
- 病毒木马感染的速度越快、感染的面积越大,则被云查杀捕获到的可能性越大。
免杀技术思路原理
最基本的思想是破坏特征,这个特征可能是特征码,也可能是行为特征,只要破坏了病毒或木马的 固有特征,并保证其原有功能没有被破坏,那么一次免杀就完成了 。
特征码 --- 病毒文件中独一无二的字符。如果某一个文件具有这个特征码,那么反病毒软件就会认为这个文件是病毒。反之,就是一个正常的文件。
修改文件特征码免杀技术
加壳、加花指令、直接修改特征码
- 直接修改特征码
- 特征码 --- 是能够识别一个程序的,不大于64字节的字符。
- 第一种思想,改特征码。---免杀的最初方法。
- 第二种,主要针对校验和查杀的免杀思想 。
- 校验和 --- 也是根据病毒文件中与众不同的代码计算出来的,如果文件某个特定位置的校 验和符合病毒库中的特征,则反病毒软件会告警 。
-
-
- 加壳修改特征码
- 软件加壳 --- 软件加密或者软件压缩。一般的加密是为了防止陌生人随意访问我们的数据。但是加壳的目的是减少被加壳应用程序的体积,或避免让程序遭到不法分子的破坏和利用。
- 壳是增加的一个保护机制,它并不会破坏里面的程序。当我们运行加壳的程序时,系统首先会运行程序的“壳”,然后由“壳”来将加密的程序逐步的还原到内存中,最后运行程序。
- 加花指令修改特征码
- 花指令 --- 指的是一段毫无意义的指令(垃圾指令)。
- 花指令是否存在对程序的执行结果没有影响,所以它存在的唯一目的就是阻止反汇编。
- 加了花指令后,杀毒软件对木马静态反汇编时,木马的代码就不会正常显示出来,加大 杀毒软件的查杀难度。
- 花指令会严重影响反病毒软件的检测机制;黑客为一个程序添加了一段花指令后,程序的部分 偏移会受到影响,如果反病毒软件无法识别这段花指令,那么它检测特征码的偏移量会整体位 移一段位置,自然就无法正常检测木马了。
- 花指令的本质 --- 扰乱程序运行顺序。
- 花指令 --- 指的是一段毫无意义的指令(垃圾指令)。
- 改变程序入口点修改特征码
- 程序入口点 --- 程序最开始执行的函数。
- 特点:与其他免杀方式结合。
基于文件的免杀技术,基本上就是在破坏原有程序的特征,无论是直接修改还是加信息,最后的目 的只有一个,就是打乱或加密可执行文件内部的数据 。
修改内存特征码的免杀技术
内存 --- 在安全领域非常重要。
内存复杂的原因 --- 内存一般情况下是数据进入 CPU 之前的最后一个可控的物理存储设备 。
从理论上讲,任何被加密的可执行数据在被CPU 执行前,肯定是会被解密的,否则 CPU 无法执行 。
因为即将被执行的程序,肯定比未必执行的程序威胁更大。
与文件特征码免杀技术相同,除了加壳。
行为免查杀技术
文件防火墙 ---> 主动防御 ---> 云查杀
为什么会将程序称为病毒或木马?---> 因为这些程序运行后的行为与正常程序不同。
行为 --- 牵扯到操作系统底层 。
内核级病毒
0day ---> 黑客将能够躲避主动防御的方法。
反病毒
单机反病毒、网关反病毒。
反病毒方式:对文件进行查杀。必须要先接收文件,然后缓存文件,对文件进行查杀。
缓存 --- 消耗内存资源,降低工作效率。
理念:基于流的文件检查;基于文件片段来执行检测 。会将文件进行分片重组操作,然后基于片段进行扫描,来提高检查效率。
代理扫描 --- 所有文件都需要被防火墙自身进行缓存,然后再送到病毒检测引擎中进行检测。流扫描 --- 依赖于状态检测技术以及协议解析技术,提取文件的特征和本地特征库进行匹配。
1. 先识别出流量对应的协议类型和文件传输方向
2. 识别完成后,先对协议进行判断,看是否支持反病毒检测
- FW支持:FTP、HTTP、POP3、SMTP、NFS、SMB
- 如果在上述支持协议内,则会进入后续的检查,否则流量不进行反病毒检测,而是进行其他检 测机制。
- 同时,会判断文件的传输方向--->防火墙支持不同方向的防病毒检测。文件上传和下载。
3. 与白名单进行对比
- 白名单是可以自行设置的。命中则不检查,未命中则检查。
4. 接下来, 病毒检测 ( 特征库对比 ) 。
- 先针对文件进行特征的提取,然后将提取出来的特征与本地特征库进行匹配。
- 特征库 --- 是由华为公司分析各种常见的病毒特征而形成的。
- 病毒库对各种常见的病毒特征都做了定义,并且都分配了一个唯一的病毒ID。
- 病毒的特征库是需要向厂商购买license。
5. 检测到病毒后
- 如果配置了病毒例外;这相当于是某种病毒的白名单,为了避免由于系统误报等原因造成文件 传输失败的情况发生,当用户认为检测到的某个病毒是误报时,可以将该病毒ID加入到病毒例 外中,此时会对该文件进行放通。
6. 如果不再病毒例外名单中
- 则判断该病毒文件是否命中应用例外。相当于给某一款应用设定的特殊动作;对某些应用设定 的例外动作。
应用 ≠ 协议应用承载于协议之上,同一个协议可以承载多种应用。
- 应用例外的动作规定
- 如果只配置了协议动作,则协议上所有的应用都继承该动作。
- 如果协议和应用都配置了动作,则以应用为主。
7. 如果没有命中病毒例外和应用例外, 则按照配置文件中配置的协议和传输方向对应的响应动作来处 理文件 。
- 告警 --- 允许病毒通过,但是生成日志
- 阻断 --- 对于任意协议的病毒文件,全部阻止通过,同时生成病毒日志。
- 宣告 --- 针对邮件文件;允许文件通过,但是会在邮件正文中,添加检测到病毒的提示信息。 生成日志。
- 删除附件 --- 针对邮件文件;允许文件通过,但是设备会删除邮件的附件内容,并在邮件正文 中添加宣告,生成病毒日志。