Abstract:本篇文章简要介绍了病毒,木马和蠕虫。木马和病毒蠕虫的区别在于,利用木马可以建立远程连接,远程控制受害者主机,蠕虫与病毒木马的区别在于它的原理是利用缓冲区溢出漏洞修改函数返回值的方式进行自动的攻击。此外还介绍了病毒的免疫技术,这是基于病毒不感染同一个文件的特点的,以及病毒压缩技术。介绍了木马的原理,木马的植入技术,隐藏技术。最后介绍了蠕虫攻击的基本原理。
目录
病毒
木马
蠕虫
病毒
- 特点:不会重复感染同一个程序,设置“感染标记”标记已经被感染的程序,避免重复感染。
- 为什么避免重复感染?:重复感染会
- ①导致文件格式的损坏(出现重名的变量等)
- ②降低病毒攻击的效率
- 病毒免疫技术:
- 利用感染标记,为正常的文件写上感染标记,避免被病毒找到并感染。但是并非所有病毒都具有感染标记,正常文件也不可能嵌入太多的感染标记
- 病毒压缩技术:压缩当前宿主的程序,把自己加在程序的开头,让宿主程序的长度不发生变化
- 其他特点:(1)可执行性(2)传染性(3)非授权性(4)隐蔽性(压缩技术等)(5)潜伏性(不会马上发作)(6)破坏性(7)寄生性(8)不可预见性(9)诱惑欺骗性
- 病毒分类:
- 引导型病毒(Boot Strap Sector Virus):藏匿于硬盘的第一个扇区,在操作系统被加载之前,就被加载到内存中
- 文件型病毒(File Infector Virus):寄生在可执行文件(*.com, *.exe等)中,当文件被执行时,病毒也被执行
- 复合型病毒(Multi-Partite Virus):兼具引导型病毒和文件型病毒的特征,既感染可执行文件,也感染第一扇区
- 宏病毒(Macro Virus):利用软件本身的宏能力来设计病毒,如Word, Excel等
- 特洛伊木马:进入用户系统并隐藏,攻击者可通过木马对用户进行远程控制
- 计算机蠕虫:不占用除内存以外的任何资源,不修改磁盘文件,利用网络功能传播自身
木马
- 通过网络在用户未察觉的情况下窃取用户信息或控制用户主机的程序。可建立远程连接,是木马与病毒的区别
- 工作原理:
- 木马植入的方法:
- 通过移动介质(U盘)植入
- 通过电子邮件附件的方式
- 利用网页脚本植入
- 木马隐藏技术
- 文件伪装:经常伪装成图片
- 修改系统配置
- 利用系统搜索规则:木马将自己的名字改为系统启动时必执行的某个文件,并放在比原文件浅一级的目录里
- 替换系统文件
- 木马实例:冰河
- 冰河是一个非常有名的木马工具,它包括两个可运行的程序G_Server和G_Client,前者是木马的服务器端(植入受害者),后者是木马的客户端(攻击者的控制台)。当受害者被种植了木马之后,可在控制台中对其进行连接。连接之后,会显示受控主机的信息。
蠕虫
- 是一种可以独立运行,并能自动传播到其他计算机上的程序。利用缓冲区溢出漏洞使攻击代码自动运行,是蠕虫与病毒、木马的主要区别。
- 缓冲区溢出漏洞:
- 原理:理想的情况下程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下了隐患。操作系统所使用的缓冲区,又被称为"堆栈"。在下图中,通过input变量溢出,溢出的部分会直接覆盖到函数返回值所存储的位置,由此改变函数返回值。
- 缓冲区溢出的危害:入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害是:一种情况是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。
- 预防缓冲区攻击:
- 写安全的代码:不使用不检查数据越界的函数,比如说strcpy()
- Canary word(随机字符):当缓冲区溢出时,返回地址被覆盖之前,canary word会先被覆盖。通过检查canary word是否被修改,就可以发现攻击。