1.反病毒软件原理与反病毒技术介绍

1.1反病毒软件工作原理

反病毒软件一般由扫描器、病毒库与虚拟机组成,并由主程序将他们整合在一起。扫描器用于查杀病毒,大多数反病毒软件基本都由多个扫描器组成,病毒库存储着特征码,存储形式取决于使用的扫描器,虚拟机相当于沙盒。

1.2基于文件扫描的反病毒技术

可分为“第一代扫描技术”、“第二代扫描技术”和“算法扫描”3种。下面就先简要介绍一下这三种扫描技术(其实书上只有前两种)

1.第一代扫描技术

第一代扫面技术就是在文件中检索病毒特征序列,有下面两种。

(1)字符串扫描技术

就是使用从病毒中提取出来的一段特征字符串来检测病毒,原理比较简单。

(2)通配符扫描技术

现今的这项技术可以使用正则表达式来进行通配。至于通配的细节就不详细讲了,主要就是利用RE。

(3)其他扫描技术

不匹配字节数扫描技术、通用检测法扫描技术、散列扫描技术、书签检测法、首尾扫描检测法、入口点和固定点扫描、文件名扫描等。

2.第二代扫描技术

主要是对检测精度进行了改进。

(1)智能扫描法

智能扫描法会忽略检测文件中的NOP等无效指令,并且可以过滤掉文件中的格式控制字符,比如空格TAB等。由于在缓冲区中完成这些任务,所以大大提高扫描器的检测能力。

(2)近似精确识别法

近似精确识别法具有若干字方法,这里只介绍两种。

多套特征码:使用两个甚至更多特征码来检测病毒,如果检测到一个特征那么就会发出变种警告,若发现所有特征则发现病毒。

校验和:首先对于安全的文件计算出一个校验和然后在后面使用的使用再进行计算,然后对比以确定是否进行进一步的扫描。

(3)骨架扫描法

这种方法将非必要的字符丢弃,只剩下代码的骨架进行分析,提高对变种病毒的检查能力。

1.3基于内存扫描的反病毒技术

无论是病毒还是木马在静态的文件状态下和在内存的动态状态下具有较大的差异。而作为病毒来说,加载到内存之后就会执行一些动作,会让一些特征暴露出来。所以反病毒厂商都会根据内存扫描另外定义一套特征码。

1.4基于行为监控的反病毒技术

这种技术一般与虚拟机、主动防御等技术配合工作。其原理是针对病毒进行分析比对,如果某个程序运行之后进行一些非正规、可疑的操作,即使是一个新的病毒也会被这种技术的反病毒产品拦截。

1.5基于新兴技术的反病毒技术

(1)云查杀

云查杀的主要原理就是利用服务器作为首脑,利用所有用户为触角,一旦某个用户的主机上发现可疑程序,那么服务器就会发出指令检查出异常所在,在恶意程序感染其他用户之前将其扼杀。

(2)双引擎/多引擎查杀

正如字面上的理解,多个引擎的反病毒查杀会大大提高查杀的准确率。

2.免杀原理

免杀的最基本思想就是破坏特征码,可能是文件中的特征,可能是程序的行为特征等,只要在破坏特征码的前提下没有改变功能,那免杀就成功了。

2.1文件免杀原理

(1)改特征码免杀

其实这个比较简单,就是利用更改反病毒软件所能识别的特征码进行免杀。有时不一定是直接检查文件中的字符串,而是计算校验和,其实校验和也是和文件内容相关的,只需要更改计算校验和所需的模块就可以免杀。

(2)花指令免杀

花指令就是一些垃圾指令,对程序的执行没有影响,但是使用花指令可以阻止反汇编会是为反汇编设置障碍。

针对第一代反病毒技术:为了使反病毒软件效率提高,只对文件一定偏移量内的内容进行检测,使用花指令之后相应偏移量中的内容就会发生变化从而进行免杀。

花指令最根本的思想就是扰乱程序的运行顺序并未分析破解者留下陷阱,虽然后面采用基于行为检测的反病毒技术,但是花指令还是具有一定效果。

(3)加壳免杀原理

加壳之后文件中无论是代码还是数据都会变得面目全非,在执行的时候由现行代码进行解密然后执行原来的代码。

2.2内存免杀原理

无论是上面的哪一种文件免杀,最终还是要到内存中执行病毒真正的代码,这时上面的各种免杀技术就会全部无效。其实内存免杀原理和文件免杀原理是一样的,都是通过特征码来进行的,只不过运用的是不同的特征码而已。这时需要将两种特征码全部破坏掉就能达到免杀的目的。

2.3行为免杀原理

基于行为检测的反病毒技术可谓是最终的杀手锏,这使得上面所有的免杀技术都没有用武之地,这时有些病毒开始利用0Day漏洞来执行相应的恶意代码(病毒和木马)。

《黑客免杀攻防学习笔记》——反病毒软件与免杀原理相关推荐

  1. 【学习笔记】软件设计模式(一)基本概念与归纳总结

    软件设计模式之基本概念与归纳总结 本人学习笔记.内容参考<Java设计模式>刘伟 教程配套PPT.仅供学习参考使用. 文章目录 软件设计模式概述 模式的分类 模式定义和特点的归纳总结 1. ...

  2. linux系统管理学习笔记之三----软件的安装

    linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...

  3. oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备

    oracle学习笔记   oracle软件安装准备工作  第一部分 环境准备 这节课对初学者来说内容较多,我把它分成了三篇. 即使这样也不可能把每个可能遇到的问题都说到,如果遇到没说到的问题自己上网搜 ...

  4. Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM

    原 Python3<机器学习实战>学习笔记(八):支持向量机原理篇之手撕线性SVM 置顶 2017年09月23日 17:50:18 阅读数:12644 转载请注明作者和出处: https: ...

  5. Altium Designer 2020 学习笔记(一)-----原理图及原理图库部分(配动态图操作演示)

    本篇文章主要与大家简要分享一下,我在AD学习过程中的一些学习笔记,本篇文章主要关于原理图及原理图库部分. 本系列文章链接: -------------------------------------- ...

  6. cv学习笔记(3)神经网络数学原理

    cv学习笔记(3)神经网络数学原理 根据一个神经网络例子来介绍 输入是年龄.收入.性别,输出是买车和不买车的概率.该神经网络包含一个输入层.一个隐含层.一个输出层,每个节点和下一层的所有节点都有连接, ...

  7. Linux学习笔记之软件安装

    Linux学习笔记 这篇文章主要简单记录一下初次使用Linux的一些笔记吧 首先我安装时没选用中文版,直接选用了英文版,所以导致后面没有中文输入法,下载sogoupinyin,找到ubuntu对应的版 ...

  8. opencv学习笔记21:直方图和掩膜 原理及其应用

    直方图概念 如图:下面黑色图为上面图的直方图 横坐标:图像中各个像素点的灰度级 纵坐标:具有该灰度级的像素个数. 归一化直方图 横坐标:图像中各个像素点的灰度级 纵坐标:出现该灰度级的概率. DIMS ...

  9. opencv学习笔记18:canny算子边缘检测原理及其函数使用

    canny边缘检测原理 去噪:边缘检测容易受到噪声的影响,在此之间,先去噪,通常采用高斯滤波器.opencv学习笔记11:图像滤波(均值,方框,高斯,中值) 梯度:对去噪后的图像采用sobel算子计算 ...

最新文章

  1. pandas使用resample函数计算每个月的统计均值、使用matplotlib可视化特定年份的按月均值
  2. Skype for Business Server 2015-08-反向代理-发布-统一沟通
  3. Delphi中拖动无边框窗口的5种方法
  4. 863. 二叉树中所有距离为 K 的结点
  5. 不要再问我跨域的问题了
  6. edge新版 能够正则式_在最近的一项HTML5测试中,新版Edge浏览器表现满分
  7. ArcGIS GeoDataBase GeoDataset dataset
  8. Python之文章生成器(升级版,也就是更傻瓜式运行)
  9. 查看oracle中的中文所占字节数
  10. 苹果CMS 改造四合一聚合影视+聚合直播+在线小说+短视频+在线音乐+电视直播
  11. 向量的点击、叉积、混合积(Matlab)
  12. 数据分析入门必备基础知识
  13. 《设计模式入门》 19.命令模式
  14. 【华为OD机试真题 JS】出错的或电路
  15. 电脑快捷键大全详细-基础
  16. 蓝牙协议栈模组在linux ubuntu 跑蓝牙协议栈 --传统蓝牙搜索演示以及实现原理
  17. Kubernetes:dashboard 搭建(k8s -web端管理)
  18. ISDB-T DVB-T DTV ATV
  19. echarts实现西安地铁图
  20. 百度2023届暑期实习生面经-产品运营岗

热门文章

  1. 不同矫正批次效应方法的比较
  2. 基于ZYNQ的petalinux 2018.3 DMA驱动的移植和内核编译
  3. html 功能性链接,web前端之html(三)超链接、锚链接和功能性链接
  4. 矩阵论: 第二章: 内积空间
  5. 氧自由基抗氧化能力(ORAC)活性检测试剂盒常见问题解答
  6. oracle自制食物,orac(orac食物抗氧化排行榜)
  7. JPush极光消息推送APP-start
  8. 【设计参考】GIS数据可视化展示配色案例(不定期更新)
  9. 计算机毕业设计ssm虚拟银行业务培训游戏
  10. 一维稳态对流扩散问题,无源项,中心差分格式的python程序