常见网络攻击与防御_第1页
常见网络攻击与防御_第2页
常见网络攻击与防御_第3页
常见网络攻击与防御_第4页
常见网络攻击与防御_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

网络攻击与防御1网络安全基础知识网络安全信息安全关键技术安全威胁及分类威胁来源网络安全从其本质上来讲就是网络上的信息安全。它涉及的领域相当广泛,这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。确保网络系统的信息安全是网络安全的目标,信息安全包括两个方面:信息的存储安全和信息的传输安全。信息的存储安全是指信息在静态存放状态下的安全,如信息是否会被非授权调用等。信息的传输安全是指信息在动态传输过程中安全,如信息是否被篡改、重放等。1.1网络安全&信息安全1.2信息安全的概念信息安全是指确保以电磁信号为主要形式的、在计算机网络化(开放互连)系统中进行自动通信、处理和利用的信息内容,在各个物理位置、逻辑区域、存储和传输介质中,处于动态和静态过程中的机密性、完整性、可用性、可审查性和抗抵赖性,与人、网络、环境有关的技术安全、结构安全和管理安全的总和。人指信息系统的主题,包括各类用户、支持人员,以及技术管理和行政管理人员。网络则指以计算机、网络互连设备、传输介质、信息内容及其操作系统、通信协议和应用程序所构成的物理的与逻辑的完整体系。环境则是系统稳定和可靠运行所需要的保障体系,包括建筑物、机房、动力保障与备份,以及应急与恢复体系。信息窃取信息传递信息冒充信息篡改信息抵赖加密技术完整性技术认证技术数字签名1.3关键技术1.4安全威胁

拒绝服务攻击内部、外部泄密逻辑炸弹特洛伊木马黑客攻击计算机病毒信息丢失、篡改、销毁后门、隐蔽通道蠕虫Internet信息丢失信息战内部泄密外部泄密自然灾害、意外事故计算机犯罪网络协议中的缺陷,例如TCP/IP协议的缺陷电子谍报,比如信息流量分析、信息窃取等人为行为,比如使用不当,安全意识差等“黑客”行为,比如非法访问、非法连接主要分类:内部人员(包括信息系统的管理者、使用者和决策者)准内部人员(包括信息系统的开发者、维护者等)特殊身份人员(具有特殊身份的人,比如,审计人员、稽查人员、记者等)外部黑客或小组竞争对手网络恐怖组织军事组织或国家组织等

1.5安全威胁的主要来源2远程攻击基础A.攻击的位置(1)远程攻击(2)本地攻击(3)伪远程攻击B.攻击的层次简单拒绝服务;本地用户获得非授权读权限;本地用户获得非授权写权限;远程用户获得非授权帐号信息;远程用户获得特权文件的读权限;远程用户获得特权文件的写权限;远程用户拥有了系统管理员权限。C.攻击分类在最高层次,攻击被分为两类:主动攻击:包含攻击者访问他所需要信息的故意行为。主动攻击包括拒绝服务攻击、信息篡改、资源使用、欺骗等攻击方法。

被动攻击:主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也不会觉察到。被动攻击包括嗅探、信息收集等攻击方法。图1、攻击分类就目前常见的攻击,大致可以分为几大类(参见图1):窃听:指攻击者通过非法手段对系统活动的监视从而获得一些安全关键信息。目前属于窃听技术的常用攻击方法有:键击记录:是植入操作系统内核的隐蔽软件,通常实现为一个键盘设备驱动程序,能够把每次键击都记录下来,存放到攻击者指定的隐藏的本地文件中。如Win32平台下适用的IKS等。网络监听:是攻击者一旦在目标网络上获得一个立足点之后刺探网络情报的最有效方法,通过设置网卡的混杂模式获得网络上所有的数据包,并从中抽取安全关键信息,如明文方式传输的口令。如Win32平台下的sniffer等免费工具,Unix平台下的libpcap网络监听工具库。非法访问数据:是攻击者或内部人员违反安全策略对其访问权限之外的数据进行非法访问。获取密码文件:攻击者进行口令破解获取特权用户或其他用户口令的必要前提。欺骗:指攻击者通过冒充正常用户以获取对攻击目标访问权或获取关键信息的攻击方法,属于此类攻击的方法有:获取口令:通过缺省口令、口令猜测和口令破解三种途径。针对一些弱口令进行猜测。也可以使用专门的口令猜测工具进行口令破解,如遍历字典或高频密码列表从而找到正确的口令。如Win32平台的LOphtcrack等。恶意代码:包括特洛伊木马应用程序、邮件病毒、网页病毒等,通常冒充成有用的软件工具、重要的信息等,诱导用户下载运行或利用邮件客户端和浏览器的自动运行机制,在启动后悄悄安装恶意程序,通常为攻击者给出能够完全控制该主机的远程连接。网络欺骗:攻击者通过向攻击目标发送冒充其信任主机的网络数据包,达到获取访问权或执行命令的攻击方法。具体的有IP欺骗、会话劫持、ARP重定向和RIP路由欺骗等。拒绝服务:指终端或者完全拒绝对合法用户、网络、系统和其他资源的服务的攻击方法,其意图就是彻底破坏,这也是比较容易实现的攻击方法。特别是分布式拒绝服务攻击对目前的互联网构成了严重的威胁,造成的经济损失也极为庞大。拒绝服务攻击的类型按其攻击形式分为:导致异常型:利用软硬件实现上的编程缺陷,导致其出现异常,从而使其拒绝服务。如PingofDeath攻击等。资源耗尽型:通过大量消耗资源使得攻击目标由于资源耗尽不能提供正常的服务。视资源类型的不同可分为带宽耗尽和系统资源耗尽两类。带宽耗尽攻击的本质是攻击着通过放大等技巧消耗掉目标网络的所有带宽,如Smurf攻击等。系统资源耗尽型攻击指对系统内存、CPU或程序中的其他资源进行消耗,使其无法满足正常提供服务的需求。如SynFlood攻击等。欺骗型数据驱动攻击:通过向某个程序发送数据,以产生非预期结果的攻击,通常为攻击者给出访问目标系统的权限,大致可分为:缓冲区溢出:通过往程序的缓冲区写入超出其边界的内容,造成缓冲区的溢出,使得程序转而执行其他攻击者指定的代码,通常是为攻击者打开远程连接的ShellCode,以达到攻击目标。如Windows平台下的Code-Red、Blaster、Sasser等都是通过缓冲区溢出攻击获得系统管理员权限后进行传播。格式化字符串攻击:主要是利用由于格式化函数的微妙程序设计错误造成的安全漏洞,通过传递精心编制的含有格式化指令的文本字符串,以使目标程序执行任意命令。输入验证攻击:针对程序未能对输入进行有效的验证的安全漏洞,使得攻击者能够让程序执行指令的命令。最著名的是1996年的PHF攻击。同步漏洞攻击:利用程序在处理同步操作时的缺陷,如竞争状态、信号处理等问题,以获得更高权限的访问。信任漏洞攻击:利用程序滥设的信任关系获取访问权的一种方法,如Win32平台下互为映象的本地和域Administrator凭证、LSA密码等。3信息收集信息收集分类工具介绍3.1信息收集分类分为三种:使用各种扫描工具对入侵目标进行大规模扫描,得到系统信息和运行的服务信息。利用第三方资源对目标进行信息收集,比如我们常见的收索引擎利用各种查询手段得到与被入侵目标相关的一些信息,如社会工程学。 社会工程学(SocialEngineering):通常是利用大众的疏于防范的诡计,让受害者掉入陷阱。该技巧通常以交谈、欺骗、假冒或口语用字等方式,从合法用户中套取敏感的信息。Ping、fping、pingsweepARP探测FingerWhoisDNS/nslookup搜索引擎(google、百度)telnet3.2信息收集的工具软件ping作用和特点用来判断目标是否活动;最常用;最简单的探测手段;Ping程序一般是直接实现在系统内核中的,而不是一个用户进程。原理Type=8Type=0ping类型为8,表示“回响请求”类型为0,表示“回响应答”主机在线情况主机不应答情况1)主机不在线2)防火墙阻断ICMP探测ping表示5机器不在线。举例1:Replyfrom0:bytes=32time<1msTTL=32Replyfrom0表示回应ping的ip地址是0。bytes=32表示回应报文的大小,这里是32字节。time<1ms表示回应所花费的时间,小于1毫秒。TTL=32,TTL是生存时间,报文经过一个路由器就减一,如果减到0就会被抛弃。这里是32。举例2:Pingwar2.0——群ping.ARP探测

能探测同一局域网内的主机,因为防火墙不能阻断ARP请求。finger作用和特点网络服务服务端口:tcp79服务端程序fingerd,客户端程序finger不需要认证就提供用户信息姓名电话最后登录时间fingerwhois作用和特点网络服务服务端口:tcp43服务端程序whoisd,客户端程序finger提供目标系统的地址信息参考网站1参考网站2http:///

常规信息收集网络域名网络Ip地址分配使用单位地址DNS作用和特点网络服务服务端口:udp53服务端程序bind,客户端程序nslookup提供目标系统域名与地址的转换DNStelnet作用和特点网络服务服务端口:任意服务端程序任意,客户端程序telnet提供目标系统服务的版本信息瑞士军刀NC4端口扫描扫描基础扫描分类扫描工具介绍4.1扫描基础TCP数据报首部标志域TCP连接的建立过程TCP连接的释放过程TCP/IP实现遵循的原则TCP数据报首部标志域URG:紧急数据标志,指明数据流中已经放置紧急数据,紧急指针有效;ACK:确认标志,用于对报文的确认;PSH:推标志,通知接收端尽可能的将数据传递给应用层,在telnet登陆时,会使用到这个标志;RST:复位标志,用于复位TCP连接;SYN:同步标志,用于三次握手的建立,提示接收TCP连接的服务端检查序号;FIN:结束标志,表示发送端已经没有数据再传输了,希望释放连接,但接收端仍然可以继续发送数据。

TCP连接的建立过程TCP连接的释放过程TCP/IP实现遵循的原则原则1:当一个SYN或者FIN数据包到达一个关闭了的端口,服务器丢弃该数据包,并返回一个RST数据包;

TCP/IP实现遵循的原则原则2:当一个RST数据包到达一个监听端口或者关闭的端口,RST数据包都会服务器被丢弃。

TCP/IP实现遵循的原则原则3:当一个ACK数据包到达一个监听的端口,服务器会丢弃这个数据包,并回应一个RST数据包。

TCP/IP实现遵循的原则原则4:当一个FIN数据包到达一个监听端口时,数据包将会被丢弃。

4.2端口扫描分类技术端口扫描分类扫描技术分析扫描分类TCP全连接开放扫描半开放扫描TCP反向ident扫描IP头信息dumb扫描SYN扫描FIN扫描隐蔽扫描TCP分段ACK扫描XMAS扫描空扫描扫射扫描SYN/ACK扫描ping扫射其它扫描UDP/ICMP不可达FTP弹跳UDP扫射UDPrecvfrom/write扫描ACK扫射SYN扫射ICMP扫射扫描技术分析完全连接扫描ClientSYNServerSYN/ACKClientACKClientSYNServerRST/ACKClientRST端口开放端口关闭扫描技术分析半连接SYN扫描ClientSYNServerSYN/ACKClientACKClientSYNServerRST/ACKClientRST端口开放端口关闭*立即切断连接扫描技术分析隐蔽扫描:SYN/ACKClientSYN/ACKServerRSTClientSYNServer--端口开放端口关闭扫描技术分析隐蔽扫描:FINClientFINServerRSTClientFINServer--端口开放端口关闭扫描技术分析隐蔽扫描:ACKClientFINServer(TTL<64)Server(WIN>0)ClientFINServer(TTL>64)Server(WIN=0)端口开放端口关闭扫描技术分析其它扫描:ICMP*《ICMPUsageinScanning》4.3端口扫描工具NmapXscanSuperScanShadowSecurityScannerMS06040ScannerNmap——探测工具王功能 NMAP是探测网络主机和开放服务的佼佼者。是Linux下使用者的最爱,现在已经有Windows的版本。NMAP支持多种协议的扫描如UDP,TCPconnect,TCPSYN,ftpproxy(bounceattack),Reverse-ident,ICMP(pingsweep),FIN,ACKsweep,XmasTree,SYNsweep,和Null扫描。还提供一些实用功能,比如通过tcp/ip来甄别操作系统类型;秘密扫描、动态延迟和重发;欺骗扫描、端口过滤探测、分布扫描等。-sTTCPConnect()扫描 这是对TCP的最基本形式的侦测。对目标主机端口进行试探,如果该端口开放,则连接成功,否则代表这个端口没有开放。-sSTCPSYN扫描 就是我们介绍的‘半开’式的扫描,速度会比connect扫描快。-sF-sX–sN StealthFIN,XmasTree或者Null扫描模式。-sPPing扫描 对指定的IP发送ICMP,如果对方屏蔽了echorequest,nmap还能发送一个TCPack包到80端口探测。-sUUDP扫描 确定某个UDP端口是否打开。xscan选择‘无条件扫描’,才可以突破防火墙屏蔽ping,进行端口扫描。Superscan——速度之王

MS06040Scanner——专用的漏洞扫描器用于检测目标系统是否存在MS06040漏洞。MS06040Scanner的工作原理是首先是通过端口扫描和操作系统扫描获取操作系统类型和开放的端口,如果是windows2000系统,开放了TCP139或者TCP445端口,并且返回的数据包跟漏洞库里的定义相匹配,则说明该主机可能可能存在MS06040漏洞,我们就可以使用MS06040漏洞利用程序对其进行远程溢出攻击。5脚本攻击与防御SQL注入攻击SQL注入防御Cookie注入攻击5.1SQL注入攻击什么是SQL注入攻击? SQL注入即是指攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询。分析一个经典的SQL注入漏洞dimrsadmin1=request("admin")password1=request("password")setrs=server.CreateObject("ADODB.RecordSet")rs.open"select*fromadminwhereadmin='"&admin1&"'andpassword='"&password1&"'",conn,1ifrs.eofandrs.bofthenresponse.write"<SCRIPTlanguage=JavaScript>alert('用户名或密码不正确!');"response.write"javascript:history.go(-1)</SCRIPT>"response.endelsesession("admin")=rs("admin")session("password")=rs("password")session("aleave")=rs("aleave")response.redirect"admin.asp"endifrs.closesetrs=nothing一个经典的SQL注入漏洞分析在用户名和密码那里都填入‘OR‘’=’,SQL语句被构造成 select*fromadminwhereadmin=‘'OR‘'=‘'

and

password=‘'OR‘'=‘‘意思是当admin为空或者空等于空,password为空或者空等于空的时候整个查询语句就为真。如何来修补漏洞?过滤掉其中的特殊字符。这里我们就过滤掉其中的“'”,即是把程序的头两行改为:admin1=replace(trim(request("admin")),"'","")password1=replace(trim(request("password")),"'","")5.2防止SQL注入四种方法:(1)在服务端正式处理之前对提交数据的合法性进行检查;(2)封装客户端提交信息;(3)替换或删除敏感字符/字符串;(4)屏蔽出错信息。第一种方法DimTc_Post,Tc_Get,Tc_In,Tc_Inf,Tc_Xh '定义需要过滤的字串Tc_In="'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master||or|char|declare"Tc_Inf=split(Tc_In,"|")'处理post数据IfRequest.Form<>""ThenForEachTc_PostInRequest.FormForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.Form(Tc_Post)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"'处理get数据IfRequest.QueryString<>""ThenForEachTc_GetInRequest.QueryStringForTc_Xh=0ToUbound(Tc_Inf)IfInstr(LCase(Request.QueryString(Tc_Get)),Tc_Inf(Tc_Xh))<>0ThenResponse.Write"<ScriptLanguage=JavaScript>alert('请不要在参数中包

温馨提示

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

评论

0/150

提交评论