计算机病毒是人为编制的,干扰计算机软硬件正常运行并造成计算机、软硬件故障,甚至破坏计算机数据、可自我复制的计算机程序都是计算机病毒。

计算机病毒一般会寄生在用户的正常文件中,而且会发作并大量地复制病毒体,感染本机的其他文件和网络中的计算机。

1.计算机病毒概述

计算机病毒特点

计算机病毒可由网页、电子邮件、文件等特定载体传播,进而寄生并隐蔽在宿主机中,在特定的条件下,对宿主计算机的资源进行破坏,通常具有传播性、破坏性、感染性、隐蔽性、可触发性、自我更新、免杀能力等特点。

1、传播性

计算机病毒一般都是通过电子邮件、网页等载体进行传播

2、破坏性

计算机中毒后,会导致相关资源受到不同程度的损坏。轻者文件被修改或者是删除,重者硬盘被格式化或者系统崩溃,某些威力强大的病毒甚至可以破坏引导扇区或BIOS

3、感染性

感染性即自我复制,这是计算机病毒最根本的特征。病毒执行时,会自动搜索满足传染条件的程序或存储介质,一旦确定目标,马上将病毒代码插入其中。如果不及时处理,病毒会在宿主机上迅速扩散,并通过各种可能的途径传染其他的计算机

4、隐蔽性

计算机病毒的隐蔽性体现为:1.体积小,病毒大小通常只有几KB;2.会隐身,一些病毒会隐藏在某个系统关键进程中,或隐藏在某个正常的文档中;3.会躲藏,病毒会修改自己的文档名,然后藏生在成千上万个系统文件中

5、可触发性

可触发性是指某些病毒在满足特定的条件下才开始攻击和感染。这些条件可能是日期、时间、文件大小等,如果不满足条件,病毒会继续隐身

6、自我更新

自我更新是病毒近几年来的一个新特征。高频率的自我更新使得杀毒软件根本无法识别。

7、免杀能力

免杀能力是指病毒具有对抗反病毒软件和病毒防火墙这些“天敌”的能力。病毒运行后,会自动破坏杀毒软件和防火墙,并终止这些软件的运行

计算机病毒分类

计算机病毒类型特点
1.木马①控制者可以取得远程计算机的账户、密码,控制其监控摄像头,进行文件操作,甚至取得全部控制权;②用户一旦感染了木马,就会成为被黑客控制的僵尸
2.蠕虫病毒通过计算机传播,是迄今为止影响范围最大、传播速度最快的一类病毒
3.脚本病毒脚本病毒是用VBScript脚本语言编写的,通过网页和电子邮件附件进行传播的病毒
4.恶意程序恶意程序对计算机的危害不是很大,但是会泄露用户隐私或者恶意修i该浏览器
5.宏病毒宏病毒是用office办公软件的宏语言编写的,因此,只感染office文档,能将文件改名、乱复制文件、改变文件存储位置、使文件不能打印、关闭部分菜单功能
6.文件型病毒①文件型病毒主要感染计算机中的可执行文件(.exe)和命令文件(.com),一旦用户运行这些文件就会被感染;②此类病毒目前危害不大。但有些可以利用蠕虫病毒进行传播

木马

木马是指包含在一个合法程序中的非法程序,该非法程序被用户在不知情的情况下执行。

木马病毒不想病毒程序一样通过自我复制来感染文件,而是作为一种驻留程序隐藏在系统内部。一般的木马都有客户端和服务端两个执行程序,其中客户端程序被攻击者用于远程控制植入木马的机器,服务器端程序即木马程序。

木马的分类

1.远程控制木马:远程控制型木马是数量最多、危害最大、知名度最高的一种木马,它可以让攻击者完全控制被感染的计算机,可以访问任意文件、得到计算机主人的私密信息
2.键盘屏幕记录木马:该类型木马是通过记录用户的各种键盘操作,或者对用户屏幕进行截屏,然后将记录下来的内容通过电子邮件等方式发送给黑客
3.反弹端口型木马:由于防火墙对连入的链接会进行非常严格的检测,但是对于外出的链接却疏于防范。所以反弹端口型木马的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口。木马实时监测控制端的存在,一旦发现控制端上线,立即弹出端口主动连接控制端
4.DDoS攻击木马

木马的特点

1.自启动
自启动功能是必不可少的,这样可以保证木马不会因为用户的关机操作而失去作用。木马经常会使用以下方式实现自启动功能:
(1)、在Windows的“启动”文件夹中自动加载
(2)、在Windows系统的注册表中进行配置实现自启动
(3)、通过本地组策略中的启动/关机、登录/注销脚本进行加载
(4)、将程序注册为系统服务
(5)、将程序捆绑到正常程序中,随着正常程序的启动自动运行

2.隐蔽性
隐蔽性是木马程序能够长期存活的关键,主要包括以下几个方面:
(1)、木马本身的隐蔽性、迷惑性
木马程序的名称通常与系统文件名相似、且木马文件的属性通常为系统文件或是隐藏等,存放在不常用或难以发现的系统文件目录下
(2)、木马运行时的隐蔽性
木马通常采用远程线程技术或HOOK技术注入其他进程的运行空间、或者替换系统服务,使用户很难发现木马的运行痕迹
(3)、木马在通信时的隐蔽性
木马通常采用ICMP等无端口的协议或者HTTP等常用的端口协议进行通信,或者只有在收到特定数据包时才开始活动

蠕虫病毒

蠕虫病毒的特点是通过网络进行传播,因此是目前传播速度最快,影响范围最广的病毒。且蠕虫病毒不需要寄生在其他程序内部,是目前计算机病毒的首要防范目标。

蠕虫病毒根据其目的可以分成两类:一类是向服务器发起DDoS的网络蠕虫,另一类是针对个人计算机执行垃圾代码的蠕虫。

2.反病毒软件

反病毒软件是一种用于查杀和防御计算机病毒、木马、其他恶意程序的软件,通包含实时监控、识别、扫描、清除、自动更新病毒库的功能,是计算机防御体系的重要组成部分。

工作原理

反病毒软件就是一个信息分析系统,他会随着操作系统的启动而常驻内存,具有四个基本功能:

基本功能

1.监控

自动监控所有在内存、硬盘、移动存储设备和网络之间的设备流

2.扫描

根据用户的需要,对指定存储器上的文件进行检查

3.判断

将监控会扫描的信息与病毒数据库进行对比,如果其符合任何一个病毒的特征,即判断已经被病毒感染

4.清除

一旦发现病毒,立即清除

其他主要技术

由于新的病毒不断翻新,导致病毒越来越狡猾,越来越隐蔽,这就要求反病毒软件不断更新技术,以应对挑战,下面是反病毒软件的其他主要技术:

1.自我保护

防止病毒结束反病毒软件的进程或者篡改系统重要文件和系统日期,导致反病毒软件失效

2.修复

修复被病毒破坏的操作系统文件,避免系统崩溃、无法启动

3.自动升级

计算机一旦接入互联网,反病毒软件就自动连接升级服务器查询最新的病毒数据库和扫描引擎,如果需要就立即下载并升级

4.脱壳

相对于病毒的加壳,此技术可以对压缩文件、加壳文件、加花文件和封装文件进行分析

5.文件校验和

计算正常文件的校验和,并与之后同一文件的校验和比较异同,以此判断文件是否感染病毒

6.进程行为检测

监视正常程序的工作,若发现罕见的行为,立即报警

7.数据保护

通过虚拟化生成与现有主机操作系统完全一致的虚拟镜像,并与真实的操作系统完全隔离,进而保护主机不被感染

8.云安全

识别和查杀病毒不再仅仅依靠本地硬盘的病毒数据库,而是依靠庞大的网络服务,实时进行采集、分析和处理,整个互联网就是一个巨大的“反病毒软件”,参与者越多,就越安全

3.病毒加壳

壳的概念

计算机软件里有一段专门负责保护软件不被非法修改或反编译的程序。它们一般先于程序运行,取得控制权,然后完成保护软件的任务。这样的程序称为“壳”。

从技术的角度说,壳是一段执行于原始程序前的代码。原始程序的代码在加壳的过程中可能被压缩、加密,当加壳后的文件被执行时,壳这段代码先于原始程序运行,它把压缩、加密后的代码还原成原始程序代码,然后把执行权交换给原始代码。

软件的壳分为加密壳、压缩壳、伪装壳、多层壳等,目的都是为了隐藏程序真正的OEP(程序的入口点)

加壳的目的是为了保护软件不被破解

病毒加壳

判断一个exe文件是否被加壳的方法:用记事本打开一个exe文件,如果能看到软件的提示信息则一般是未加壳的,如果完全是乱码的,则多半是加壳的。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐