杀毒软件(英语:Antivirus software)使用于侦测、移除电脑病毒、电脑蠕虫、和特洛伊木马程序。杀毒软件通常含有即时程序监控识别、恶意程序扫描和清除和自动更新病毒数据库等功能,有的杀毒软件附加损害恢复等功能,是电脑防御系统(包含杀毒软件,防火墙,特洛伊木马程序和其他恶意软件的防护及删除程序,入侵防御系统等)的重要组成。
杀毒软件所赋予的任务是随时监控计算机程序的举动、及扫描系统是否含有病毒等恶意程序。部分杀毒软件可经由操作系统引导后随常驻程序引导。杀毒软件对于即时监控的技术不尽相同。有的杀毒软件,会利用部分空间,使正在进行的程序特征与病毒数据库比较,以判断是否为恶意程序。另一些杀毒软件会利用一些空间,模拟系统或用户所允许动作,使受测程序运行内部代码的要求,根据程序的动作即可判断是否为病毒。
而扫描硬盘的方式,则和上面提到的即时监控的第一种运行程序一样,只是在这里,杀毒软件会根据用户的需求(扫描的定义范围)做一次检查。
另外,杀毒软件更涉及更多扫描技术:
杀毒软件就是一个信息分析的系统,它监控所有的数据流动(包括:内存-硬盘网络-内存网络-硬盘),当它发现某些信息被感染后,就会清除其中的病毒。信息的分析(或扫描)方式取决于其来源,杀毒软件在监控光驱、电子邮件或局域网间数据移动时工作方式是不同的。
杀毒软件的监控位置:
对文件进行扫描后,可以将正常文件的内容,计算其校验和,将该校验和写入文件中或写入别的文件中保存;在文件使用过程中,定期地或每次使用文件前,检查文件现在内容算出的校验和与原来保存的校验和是否一致,因而可以发现文件是否感染病毒。
主动防御并不需要病毒特征码支持,只要杀毒软件能分析并扫描到目标程序的行为,并根据预先设定的规则,判定是否应该进行清除操作主动防御本来想领先于病毒,让杀毒软件自己变成安全工程师来分析病毒,从而达到以不变应万变的境界。但是,计算机的智能总是在一系列的规则下诞生,而普通用户的技术水平达不到专业分析病毒的水平,两者之间的博弈将主动防御推上一个尴尬境地。
机器学习识别技术既可以做静态样本的二进制分析,又可以运用在沙箱动态行为分析当中,是为内容/行为+算法模式。伴随着深度学习的急速发展,各家厂商也开始尝试运用深度学习技术来识别病毒特征,如瀚思科技的基于深度学习的二进制恶意样本检测
EICAR杀毒测试文件是欧洲反电脑病毒协会(EICAR)和电脑安全公司共同推出的用于测试病毒扫描引擎的测试文件。它不会危害电脑的程序,而其特征码已被各家电脑安全公司所收录。