当前位置: 首页 > 科技观察

物联网安全:病毒攻击

时间:2023-03-22 11:46:42 科技观察

微信公众号:计算机与网络安全ID:Computer-network1,计算机病毒的定义和特征具有破坏作用的程序或指令的集合。这是计算机病毒的广义定义。计算机病毒依附于各类文件或寄生在存储介质中,对计算机系统和网络造成各种危害,同时可以自我复制和感染。在1994年2月18日出版的《中华人民共和国计算机信息系统安全保护条例》中,对计算机病毒的定义是:“计算机病毒是指编入或插入计算机程序,破坏计算机功能或破坏数据,影响计算机使用,并能复制的一组病毒。自己。计算机指令或程序代码。”计算机病毒和生物病毒一样,都有自己的病毒粒子(病毒程序)和寄生虫(宿主),所谓感染或寄生,就是病毒将自己嵌入宿主指令序列中,寄生虫为病毒提供生存环境,是一种合法程序,当病毒程序寄生于合法程序后,病毒就成为程序的一部分,在程序中占有合法的位置,这样合法程序就成为病毒程序的寄生者,或者称为程序的载体。病毒程序可以驻留在合法程序的任何位置,病毒程序一旦寄生在合法程序上,就会随着合法程序的执行而执行,随着它的生存而生存,随着它的消失而消失。为了增强生命力,病毒程序通常寄生在一个或多个被频繁调用的程序中。(1)病毒特性计算机病毒种类繁多,特性各异,但它们的基因集会具有自我复制、传染、潜伏、触发和破坏的能力。下面介绍计算机病毒的基本特征。1)计算机病毒的可执行性计算机病毒是一个可执行程序,就像一个合法程序一样。计算机病毒在运行时会与合法程序竞争对系统的控制权。例如,病毒通常在运行其宿主程序之前先运行自身,从而夺取对系统的控制。计算机病毒只有在计算机中运行时才具有传染性和破坏性。计算机病毒一旦在一台计算机上运行,??在同一台计算机上,病毒程序和正常的系统程序就会争夺系统的控制权,往往会导致系统崩溃,导致计算机瘫痪。2)计算机病毒的传染性计算机病毒的传染性是指病毒具有自我复制到其他程序和系统的能力。计算机病毒还会通过各种途径从被感染的计算机传播到未被感染的计算机,导致被感染的计算机无法正常工作,有时甚至瘫痪。计算机病毒一旦进入计算机并被执行,就会寻找其他符合其感染条件的程序或存储介质,确定目标,然后将自己的代码插入其中,以达到自我繁殖的目的。被感染的目标成为新的感染源。当它被执行时,它会感染另一个可以被感染的目标。计算机病毒可以通过各种可能的途径(如U盘、网络)等途径感染其他计算机。3)未经授权的计算机病毒未经授权执行计算机病毒。一般正常的程序都是由用户调用,然后系统分配资源来完成用户分配的任务,其目的对用户是可见和透明的。病毒隐藏在正常程序中,其在系统中的运行过程一般为:做初始化工作→寻找感染目标→窃取系统控制权→完成感染破坏活动,其目的用户不得而知并且不允许。4)计算机病毒的隐蔽性计算机病毒通常附着在正常程序或磁盘的隐蔽处,有些病毒以隐藏文件的形式出现,目的是防止用户发现它们的存在。如果不进行代码分析,就不容易区分病毒程序和正常程序,而且病毒爆发的影响一旦表现出来,往往会对计算机系统造成不同程度的损害。正是由于计算机病毒的隐蔽性,它们才能在用户不注意的情况下在全球数百万台计算机中传播、游荡。5)计算机病毒的潜伏期一个制作精良的计算机病毒程序,一般不会在进入系统后立即发动攻击。潜伏期越好,它在系统中存在的时间就越长,病毒的传播范围就越大。潜伏期是指没有专门的检测程序无法检测到病毒程序。此外,它还有触发机制。当不满足触发条件时,计算机病毒只会感染它,不会破坏它。只有满足触发条件,病毒才会被激活,导致计算机出现中毒症状。6)计算机病毒的破坏性计算机病毒一旦运行,就会对计算机系统造成不同程度的影响。轻者会降低计算机系统的工作效率,占用系统资源(如占用内存空间、磁盘存储空间、系统运行时间等),严重时可能导致数据丢失和系统崩溃。计算机病毒的破坏性决定了病毒的危害性。7)计算机病毒的寄生性病毒程序会嵌入到宿主程序中,依赖于宿主程序的执行才能生存。这就是计算机病毒的寄生性。病毒程序嵌入宿主程序后,一般会对宿主程序进行一定程度的修改。这样,一旦宿主程序被执行,病毒程序就会被激活,从而实现自我复制和繁殖。8)计算机病毒的不可预测性从病毒检测的角度来看,病毒仍然是不可预测的。不同类型病毒的代码差异很大,但有些操作是通用的(如常驻内存、改变中断等)。随着计算机病毒新技术的不断涌现,未知病毒的预测难度也越来越大,这也决定了计算机病毒的不可预测性。事实上,杀毒软件的防范措施和技术手段往往滞后于病毒产生的速度。9)计算机病毒的引诱和欺骗一些病毒往往采用特殊的表现形式,引诱和欺骗用户在不知不觉中触发和激活病毒,从而发挥其感染和破坏功能。一些病毒会通过诱使用户点击邮件中的相关网址、文字、图片等方式,自行激活传播。(二)病毒分类根据传播方式和感染方式,计算机病毒主要有以下几种。1)BootStrapSectorVirusBootStrapSectorVirus隐藏在磁盘或硬盘的第一个扇区。由于DOS的架构设计,每次开机,病毒都可以在操作系统加载之前加载到内存中。这个特性让病毒可以完全控制DOS的各种中断,具有更大的感染破坏能力。2)文件型病毒文件型病毒(FileInfectorVirus)通常寄生在可执行文件(如.com、.exe等)中。当这些文件被执行时,病毒程序就会随之执行。根据感染方式的不同,文件病毒可分为非常驻型和常驻型。非驻留病毒寄生在.com、.exe或.sys文件中。当这些中毒程序被执行时,它们会试图用病毒感染一个或多个文件。常驻病毒寄生在内存中,其行为是寄生在各种低级功能(如中断等)中。为此常驻病毒往往会对磁盘造成更大的破坏。常驻病毒一旦进入内存,只要执行文件就会感染内存。3)复合病毒复合病毒(Multi-PartiteVirus)兼有引导病毒和文件病毒的特点。复合病毒可以感染.com、.exe文件,也可以感染磁盘的引导区。由于这种特性,该病毒具有很强的传染性。一旦发病,其危害程度将非常可怕。4)宏病毒宏病毒(MacroVirus)主要是利用软件本身提供的宏能力来设计病毒,所以凡是具有宏能力的软件都可能带有宏病毒,如Word、Excel、Powerpoint等。2.分析病毒攻击原理以boot病毒为例,分析病毒的攻击原理。要想了解引导病毒的攻击原理,首先要了解引导区的结构。硬盘有两个引导区。0面0磁道1扇区称为主引导区,其中包含主引导程序和分区表。主引导程序搜索活动分区,分区的第一个扇区是DOSBOOTSECTOR。大多数病毒可以感染硬盘的主引导扇区和软盘的DOS引导扇区。虽然Windows操作系统被广泛使用,但是在计算机启动到Windows界面之前,仍然需要在传统的DOS引导过程的基础上,从硬盘引导区读取引导程序。图1和图2分别描述了正常的DOS引导过程和带有病毒的DOS引导过程。图1正常的DOS引导过程图2带病毒的DOS引导过程正常的DOS引导过程如下:①开机后,进入系统检测程序,执行该程序检测系统的基本设备;②检测正常后,从系统盘0面0磁道1扇区(即逻辑0扇区)读取Boot引导程序到内存0000:7C00处;③转入Boot执行;④开机判断是否是系统盘,如果不是,则给出提示信息;否则,读取并执行两个隐藏文件,将COMMAND.com载入内存;⑤系统运行正常,DOS启动成功。如果系统盘感染了病毒,DOS的启动又是另外一种情况,其过程如下:①首先将Boot区的病毒代码读入内存的0000:7C00;②病毒将自己的代码全部读入内存的某个安全区域,驻留在内存中,监视系统的运行;③修改INT13H中断服务处理程序的入口地址指向病毒控制模块并执行;因为当任何病毒感染软盘或硬盘时,都离不开对磁盘的读写操作,所以修改INT13H中断服务程序的入口地址是必不可少的操作;④将所有病毒程序读入内存后,再将正常的Boot内容读入内存的0000:7C00,进行正常的启动过程;⑤病毒程序伺机(准备)感染新的系统盘或非系统盘。如果发现可攻击对象,病毒会执行以下任务:①将目标磁盘的引导扇区读入内存,判断磁盘是否感染病毒;②满足感染条件时写入全部或部分病毒进入Boot区,将正常的磁盘引导区程序写入磁盘特定位置;③返回正常的INT13H中断服务处理程序,完成对目标盘的感染。3、木马的发展与分类木马是一种后门程序,黑客可以利用它窃取用户的隐私信息,甚至远程控制用户的电脑。特洛伊木马的全称是Trojanhorse,名字来源于古希腊神话中的《特洛伊木马记》。公元前12世纪,希腊向特洛伊城宣战,打了10年没有胜利。最后,希腊军队假装撤退,在特洛伊城外留下了许多巨大的木马。这些木马是空心的,里面住着希腊最好的战士。在希腊人假装撤退后,特洛伊人将马匹作为战利品拖入城中。当夜,希腊士兵从木马中脱颖而出,在城外与希腊军队会师,攻占了特洛伊城。这就是特洛伊木马名称的由来。因此,木马程序一般会伪装成合法程序植入系统,从而对系统安全造成威胁。完整的木马程序一般由两部分组成,一是服务器端控制端程序,二是客户端控制端程序。黑客主要利用目标主机中植入的客户端控制程序来控制目标主机。(一)木马技术的发展从木马技术的发展来看,基本上可以分为四代。第一代木马功能单一,仅实现简单的密码窃取和发送等功能,在隐藏和通信方面没有特殊功能。第二代木马在隐藏、自启动、操纵服务器等方面有了长足的进步。国外代表性的二代木马有BOZ000和Sub7。冰河可以说是国产木马的典型代表之一。可以操作注册表实现自动运行,可以通过将程序设置为系统进程来伪装隐藏。第三代木马在数据传输技术上有了根本性的进步,出现了以ICMP等特殊报文类型传输数据的木马,增加了查杀难度。这一代木马在进程隐藏方面也做了很大的改进,采用了内核插入嵌入的方式,利用远程线程插入技术嵌入DLL线程实现对木马程序的隐藏,取得了很好的隐藏效果。4代木马实现了与病毒的紧密结合,利用操作系统的漏洞,直接达到感染和传播的目的,不需要像以前的木马那样欺骗用户主动激活。典型的第四代木马有最近出现的磁盘驱动器和机器狗木马。(2)木马程序的分类根据木马程序在计算机上的具体行为,目前的木马程序可分为以下五类。1)遥控型遥控型木马是目前使用最广泛的木马。此类木马具有远程监控功能,使用方便。只要被控主机接入网络,并与控制端客户端程序建立网络连接,就可以对被控计算机进行控制或任意访问。该木马可以在控制终端的控制下对被控主机做任何事情,如键盘记录、文件上传/下载、屏幕截图、远程执行等。2)密码发送型密码发送型木马的目的是找出所有隐藏的密码,并在用户不知情的情况下将其发送到指定邮箱。大多数情况下,此类木马不会在Windows系统每次重启时自动加载,它们大多使用25端口发送邮件。3)键盘记录型键盘记录木马非常简单,它们只做一件事,即记录用户的击键,并完整地记录在LOG文件中。该木马程序会随着Windows系统的启动而自动加载,能够感知受害主机在线,并记录下每一次用户事件,然后通过邮件或其他方式将用户事件发送给控制者。4)大部分破坏性木马只是窃取信息,不做破坏性事件,但破坏性木马以破坏、删除文件为己任。它们可以自动删除被控主机上的所有.ini或.exe文件,甚至可以远程格式化被控主机的硬盘,使被控主机上的所有信息都被销毁。总而言之,这类木马的目标只有一个,就是尽可能地破坏被感染的系统,使其瘫痪。5)FTP型FTP型木马可以开放被控主机系统的21号端口(FTP服务默认使用的端口),这样大家就可以使用FTP客户端程序免密码连接到被控主机系统,然后以最高权限上传和下载文件,窃取受害系统中的机密文件。根据木马的网络连接方向,木马可以分为以下两类。正向连接类型:发起连接的方向是从控制端到被控端。这种技术被早期的特洛伊木马广泛采用。它的缺点是不能通过防火墙发起连接。反向连接型:发起连接的方向是从被控端到控制端,它的出现主要是为了解决无法从内向外发起连接的问题。它已被较新的特洛伊木马广泛采用。根据木马使用的架构,木马可以分为4类。C/S架构:这种架构是传统的普通服务器和客户端的架构。一般采用客户端作为控制端,服务器作为受控端。编程实现时,如果使用反向连接技术,那么client(即控制端)将使用socket编程的server端方法,server(即被控端)将使用client套接字编程。结束方法。B/S架构:这种架构是普通网页木马采用的方式。通常在B/S结构下,服务器端上传网页木马,控制端可以使用浏览器访问相应的网页,从而达到控制服务器端的目的。C/P/S架构:这里的P是Proxy的意思,即在这个架构中使用了代理。当然,要实现正常的通信,代理还必须经过木马作者的编程,实现转换通信。这种架构的出现主要是为了适应一个内部网络对另一个内部网络的控制。但是目前还没有发现这种架构的木马。B/S/B架构:这种架构的出现也是为了适应一个内部网络对另一个内部网络的控制。当被控端和被控端都打开浏览器浏览服务器上的网页时,一端成为控制端,另一端成为被控端。这种架构的木马在国外已经出现。木马根据木马形式的不同,可分为以下几种类型:目标计算机。传统DLL/VXD木马:此类木马无法自行运行,必须借助系统启动或其他程序运行,或使用Rundi132.exe运行。替换关联DLL木马:该木马本质上仍然是DLL木马,只是替换了一个系统DLL文件并重命名。内嵌DLL木马:该木马利用远程缓冲区溢出的入侵方式,将木马代码远程写入当前正在运行的程序内存中,然后通过更改意外处理的方式运行木马代码.这种技术很难操作。网页木马:利用脚本等设计的木马。此类木马会利用IE等漏洞嵌入到目标主机中,广泛传播。溢出木马:一种结合了缓冲区溢出攻击和特洛伊木马的木马。其实现方式有很多特点和优点,属于比较新型的木马。此外,根据隐藏方式,木马可分为以下几类:本地文件隐藏、启动隐藏、进程隐藏、通信隐藏、内核模块隐藏、协同隐藏等,隐藏技术是其中的关键技术之一木马的性能,直接决定了木马的生存能力。木马与远程控制程序的主要区别在于隐蔽性,而木马的隐蔽性是木马能否长期存活的关键。(3)木马的功能木马的功能可以归纳为以下五种。1)远程文件管理管理被控主机的系统资源,如复制文件、删除文件、查看文件、上传/下载文件等。2)开启未经授权的服务,为远程计算机安装常用的网络服务,使其为黑客或其他非法用户服务。例如,一台被木马程序设置为FTP文件服务器的计算机,可以为客户端提供FTP文件传输服务和开放文件共享服务,从而使黑客很容易获取用户硬盘上的信息。3)监控远程屏幕实时抓取屏幕图像,并将抓取的图像保存为图片文件;实时监控远程用户的当前操作。4)控制远程计算机通过命令或远程监控窗口直接控制远程计算机。例如,控制远程计算机执行程序、打开文件或对其他计算机发起攻击。5)窃取数据是以窃取数据为目的,不破坏计算机本身的文件和数据,不妨碍系统的正常运行。它以系统用户难以察觉的方式传输数据,典型代表是键盘鼠标操作记录木马。4.木马攻击原理木马程序是客户端服务器程序,典型结构为客户端/服务器(Client/Server,C/S)模式,当服务器端(被攻击主机)程序运行时,黑客可以利用相应的客户端直接控制目标主机。操作系统用户权限的管理有一个基本规则,即在本机直接启动并运行的程序与用户具有相同的权限。假设你以管理员身份使用机器,从本地硬盘启动的一个应用程序具有管理员权限,可以操作机器的所有资源。但是,从外部访问的程序一般没有操作和访问硬盘的权限。木马服务器利用该规则植入目标主机,诱导用户执行,获得目标主机的操作权限,从而达到控制目标主机的目的。木马程序的服务器端程序是需要植入目标主机的部分,植入目标主机后作为响应程序。客户端程序是用来控制目标主机的部分,它安装在控制器的计算机上。它的作用是连接木马服务器程序来监视或控制远程计算机。木马典型的工作原理是:服务器端程序在目标主机上执行后,木马打开一个默认端口监听,当客户端(控制端)向服务器端(被控host),被控制的主机计算机上的木马程序会自动响应客户端的请求。服务端程序与客户端建立连接后,客户端(控制器)可以发送各种控制命令来完全控制服务端(被控主机),其操作几乎与本地操作的权限完全一样在受控主机上。木马软件的最终目的是实现对目标主机的控制,但为达到这一目的,木马软件必须采用多种伪装方式,以保证更容易传播,更隐蔽地驻留在目标主机中。下面介绍木马的植入原理和木马的隐藏。(1)木马植入原理木马程序的核心要求之一是能够将服务器端程序植入目标主机。木马的种植(繁殖)方法一般有以下三种。1)携带邮件附件是最常用、最有效的方式。木马传播者将木马服务器端程序作为邮件附件附加到邮件中,发送给特定的主机或进行无目的的发送。电子邮件的标题和内容通常都非常吸引人。当用户点击阅读邮件时,附件中的程序会在后台悄悄下载到本机。2)捆绑在各种软件中黑客经常将木马程序捆绑在各种所谓的补丁、注册机、破解程序等软件中进行传播。当用户下载相应的程序时,木马程序也会被下载到自己的电脑中,其中,这种方法隐蔽性高,成功率高。3)网页挂马网页挂马是在正常浏览的网页中嵌入特定的脚本代码。当用户浏览网页时,嵌入网页的脚本会在后台自动下载其指定的木马并执行。其中,网页是网页木马的核心部分,特定的网页代码使得木马在网页打开时被下载执行。大多数网页挂马是利用浏览器的漏洞实现的,也有部分是利用ActiveX控件或钓鱼网页实现的。(2)木马程序隐藏木马程序必须采用各种方法将其隐藏在用户系统中,才能更好地躲避用户的检查,悄悄地控制用户系统。为了达到长期隐藏的目的,木马通常同时采用多种隐藏技术。木马程序的隐藏方式有很多种,主要有以下四类:①通过将木马程序设置为系统、隐藏或只读属性进行隐藏;②通过将木马程序命名为与系统名称极为相似的文件名,使用户误认为是系统文件而忽略;③将木马程序存放在不常用或不易查找的系统文件目录中;④设置木马程序存放区域为有坏道的硬盘磁道。(3)木马启动隐藏的木马程序在启动时必须使操作系统或杀毒软件无法发现自己??,才能驻留在系统中。下面介绍木马程序隐藏启动方式。1)文件伪装木马最常用的文件隐藏方法是将木马文件伪装成本地可执行文件。例如,木马程序经常伪装成图片文件,将其图标修改为Windows默认的图片文件图标,并将木马文件的扩展名修改为.jpg、.exe等,因为Windows默认设置没有显示已知文件扩展名,所以文件会显示为.jpg,当用户用普通的图片文件打开浏览时,木马程序就会启动。2)修改系统配置利用系统配置文件的特殊功能,木马程序很容易隐藏在系统启动项中。例如Windows系统配置文件MSCONFIG.sys中的系统启动项system.ini就是很多木马的藏身之处。Windows安装目录下的system.ini[boot]字段中,一般情况下,有boot="Explorer.exe",如果后面还有其他程序,如boot="Explorer.exefile.exe",这里的.exe文件可能是木马服务器程序。3)使用系统搜索规则Windows系统在搜索没有路径信息的文件时遵循“由外向内”的规则,从系统所在盘符的根目录开始向系统深处搜索目录,而不是准确定位。这意味着如果两个同名文件分别放在“C:\”和“C:\WINDOWS”下,搜索将执行C:\下的程序,而不是C:\WINDOWS下的程序。这样的搜索规则为木马提供了可乘之机。木马可以把自己变成一个系统启动时必须调用的文件,复制到比原文件目录浅一级的目录中,操作系统就会执行这个文件。特洛伊木马程序,不是普通程序。要想防范这种占用系统启动项并自动运行的木马,用户必须知道自己电脑中所有正常的启动项信息。4)替换系统文件木马程序可以利用系统中那些不会危及系统正常运行并且可以被频繁调用的程序文件,作为输入法指令程序。木马程序会替换原来的系统文件,将原来的系统文件名改为只有木马程序知道的不常见的文件名。只要系统调用被替换的程序,木马就可以继续驻留在内存中。当木马程序作为原程序被系统启动时,会获取系统传递的运行参数。这时,木马程序会将这个参数传递给改名后的程序执行。(4)木马进程隐藏木马程序运行后进程隐藏有两种情况:一种是木马程序的进程存在,但没有出现在进程列表中,利用APIHOOK技术拦截相关系统函数的调用,实现运行时隐藏;另一种是该木马不作为进程或服务运行,而是将其核心代码以线程或DLL的形式注入到合法进程中。用户很难找到插入的线程或DLL,从而达到隐藏木马的目的。Windows系统中常见的隐藏方法有注册表DLL插入、木马DLL、动态嵌入技术、CreateProcess插入、调试器插入等。(5)木马通信时的信息隐藏木马运行时,需要通过网络与外机进行通信,获取外机的控制命令或向外机发送信息。木马通信过程中的信息隐藏主要包括通信内容、流量、通道和端口的隐藏。木马常用的通信内容隐藏方式是对通信内容进行加密。通信信道的隐蔽一般采用网络隐蔽信道技术。在TCP/IP家族中,有很多冗余信息可以用来建立网络隐蔽通道。特洛伊木马可以利用这些网络隐蔽通道来突破网络安全机制。比较常见的有:ICMP畸形报文传输、HTTP隧道技术、自定义TCP/UDP报文等。当木马采用网络隐蔽通道技术时,如果选择了一般安全允许的端口(如80端口)策略进行通信,可以轻松穿透防火墙,避开入侵检测系统等安全机制的检测,从而获得更强的隐蔽性。性别。通信流量的隐藏一般采用监控系统网络通信的方法。当系统检测到其他通信流量时,木马程序会开始通信;当没有其他通讯流量时,木马程序会处于监听状态,等待其他通讯。打开。(6)木马隐蔽加载木马隐蔽加载是指通过修改虚拟设备驱动程序(VxD)或动态链接库(DLL)来加载木马。这种方法基本摆脱了原有的木马模式——监听端口,采用替换系统函数的方式(重写VxD或DLL文件):木马用修改后的DLL替换系统原有的DLL,更新所有函数调用过滤。对于常用函数的调用,木马会使用函数转发器直接转发给被替换的系统DLL;对于事先约定好的一些特殊情况,木马会自动执行。一般情况下,DLL只是监听,一旦发现来自控制端的请求,就会自行激活。该木马不添加新文件,不需要开启新端口,没有新进程,常规方法无法检测。正常运行时,几乎看不到木马的踪迹。只有木马控制端向被控端发送特定信息后,隐藏的木马程序才会开始运行。