第2讲:第2章-入侵方法与手段_第1页
第2讲:第2章-入侵方法与手段_第2页
第2讲:第2章-入侵方法与手段_第3页
第2讲:第2章-入侵方法与手段_第4页
第2讲:第2章-入侵方法与手段_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

0入侵检测技术分析北京信息科技大学刘凯liukai@第2讲1入侵检测技术分析

第二章入侵方法与手段2课程安排入侵检测概述

2学时入侵方法及手段

3学时入侵检测系统

3学时入侵检测流程

6学时基于主机的入侵检测技术

4学时基于网络的入侵检测技术

4学时入侵检测系统的标准与评估

4学时

Snort分析

4学时入侵检测技术的发展趋势

2学时共32学时3教材及参考书《入侵检测技术》曹元大人民邮电出版社《入侵检测技术》薛静锋等机械工业出版社《Snort2.0入侵检测》BrianCaswell等著宋劲松等著国防工业出版社

《入侵检测实用手册》PaulE.Proctor中国电力出版社

/4上一讲回顾

入侵检测与传统安全机制的不同入侵检测在P2DR模型中的作用二个基于时间特性的反映系统安全性的公式入侵检测的产生背景与发展历史入侵及入侵检测的相关概念入侵检测系统的局限性5第二章入侵方法与手段

网络入侵概述网络入侵的各种手段6第二章入侵方法与手段

本讲重点网络入侵的一般流程网络入侵的分类方法了解漏洞扫描攻击、口令破解、拒绝服务攻击、分布式拒绝服务攻击等72.1网络入侵概述2.2.1什么是网络入侵网络入侵的定义(在线字典):使用一定技巧来获得非法或未授权的网络或文件访问,入侵进入内部网的行为。绝大多数网络入侵的成功,缘于系统的不完善或者安全管理的薄弱。实现相对安全的网络环境,需要研究者、管理者和使用者的不懈的努力和改进。82.1网络入侵概述2.1.2网络入侵的一般流程:

确定目标↓信息收集↓

漏洞挖掘

攻击网络攻击系统

留下后门↓清除日志↓结束攻击9信息收集技术-公开信息的分析从著名的”照片泄密”案件到“如何用google入侵网站”公开信息的合理利用和分析-信息后面能反馈出什么?1964年《中国画报》封面衣着判断:北纬46度至48度的区域-齐齐哈尔与哈尔滨之间所握手柄的架式->油井的直径钻井与背后油田间的距离和井架密度->储量和产量因此设计出适合中国大庆的设备,一举中标\\\\\\\\\\\\\\\\\\\10信息收集技术-搜索引擎网站信息举例:某网络提供商在其网站上宣传

“特惠服务器租用:RedHatLinux8.0支持MYSQL/PHP采用性能优异的Apache1.3.XXWeb服务器”搜索引擎Google搜索 例:某Web服务器存在致命错误脚本“5sf67.jsp”

攻击者可通过搜索引擎查找存在该错误脚本的网站11信息收集技术-域名与IP查询域名与IP信息收集─WhoisWhois是一个标准服务,可以用来查询域名是否被注册以及注册的详细资料

Whois可以查询到的信息域名所有者域名及IP地址对应信息联系方式域名到期日期域名注册日期域名所使用的DNSServers……12信息收集技术-域名与IP查询域名与IP查询─nslookup

操作系统自带命令,主要是用来查询域名名称和IP之间的对应关系网络状况查询─Ping系统自带命令,测试与远端电脑或网络设备的连接状况网络路径状况查询─tracert系统自带命令,测试与远端电脑或网络设备之间的路径132.1网络入侵概述2.1.3典型网络入侵方法分析

网络攻击分类基于攻击术语分类基于攻击种类列表基于攻击效果分类基于弱点和攻击者的攻击分类基于攻击过程分类多维角度网络攻击分类法

CERT的分类实例继续14基于攻击术语分类

Cohen给出了罗列攻击术语的分类方法

特洛伊木马、包监测、计算机病毒、伪造网络等

Icove给出另一种攻击术语列表

窃听、陷门、潜入、电磁泄漏、拒绝服务、流量分析等述语不具备相互排斥的特性返回15基于攻击种类列表

Cheswock和Bellovin下述按攻击种类的分类:

窃取口令社会工程错误和后门认证失效协议失效信息泄漏拒绝服务返回16基于攻击效果分类

Russell和Gangemi的分类

针对机密性的攻击针对可用性的攻击针对完整性的攻击返回17基于弱点和攻击者的攻击分类

Perry和Wallich提出了一种基于弱点和攻击者的二维结构的分类方案

攻击者包括操作员、程序员、数据录入员、内部用户和外部用户攻击效果包括物理破坏、信息破坏、数据欺骗、窃取服务、流览和窃取信息返回18基于攻击过程分类

Stallings基于攻击过程,定义了四种攻击类型中断(Interruption)

拦截侦听(Interception)

篡改(Modification)

伪造(Fabrication)返回19多维角度网络攻击分类法

网络攻击的全过程是:攻击者发起采用一定工具对目标进行访问达到一定的攻击效果实现攻击者预定的攻击目标。攻击者:黑客、间谍、恐怖分子、职员、罪犯、破坏者工具:用户命令、程序、自治主体、工具包等访问:利用不同的弱点进行的各种操作效果:破坏信息、泄密、窃取服务、拒绝服务目标:表现自己、政治意图、经济意图、破坏返回20CERT的分类实例

美国CERT将攻击分成:缓冲器溢出(见CA-98.05)

文件非安全处理(见CA-96.16)

参数检查不完全(见CA-96.06)

非安全程序特征(见CA-98.05)

特洛伊木马(见CA-94.14)

弱认证或加密(见CA-96.03)

配置错误(见CA-96.10)

程序实现错误(见CA-93.7)返回212.1网络入侵概述2.1.3典型网络入侵方法分析

常见的安全威胁口令破解漏洞攻击特洛伊木马攻击拒绝服务攻击

IP地址欺骗网络监听病毒攻击社会工程攻击等222.1网络入侵概述2.1.3典型网络入侵方法分析

主要入侵攻击方法网络信息丢失、篡改、销毁内部、外部泄密拒绝服务攻击逻辑炸弹黑客攻击计算机病毒后门、隐蔽通道蠕虫特洛伊木马232.1网络入侵概述2.1.3典型网络入侵方法分析

主机渗透方法简析口令破解漏洞攻击特洛伊木马攻击网络攻击方法简析拒绝服务攻击

IP地址欺骗网络监听其它攻击方法病毒攻击社会工程攻击等继续24口令破解

口令是主机安全的第一道防线.

猜测口令也是网络入侵者渗透主机系统行之有效的方法.

口令的安全与多种因素有关:口令的强度、口令文件的安全、口令的存储格式等。弱口令是口令安全的致命弱点增强口令的强度、保护口令存储文件、服务器合理利用口令管理工具是对付口令破解的必要措施。返回25漏洞攻击

目前发现的网络设备和操作系统的漏洞多达上万种。在操作系统渗透攻击中被网络入侵者利用的最多的一种漏洞是缓冲溢出漏洞。此外,利用漏洞的攻击还有Unicode编码漏洞、SQLInjection漏洞等。漏洞大多数是由于开发者的疏忽而造成的。返回26特洛伊木马攻击

特洛伊木马技术是远程控制技术的一个实现,而特洛伊木马和商业远程管理工具相比具有以下几个特点:在未经授权情况下渗透远端主机被控制端的应用程序非常短小,便于上传被控制端的应用程序在运行时不会弹出任何提示和界面被控制端的应用程序一般具有自我保护功能,因此难以查杀新型的特洛伊木马已经开始与蠕虫、病毒技术相结合返回27拒绝服务攻击

拒绝服务攻击通过消耗目标主机或者网络的资源,使得目标主机无法为合法用户提供正常网络服务。分布式拒绝服务攻击则是利用多台计算机对单个或者多个目标同时发起拒绝服务攻击目前分布式拒绝服务攻击方式已经成为一个非常严峻的公共安全问题,成为网络攻击中最难应付的攻击方式之一。目前有了一些防御方法,如SynCookie、HIP(History-basedIPfiltering)、ACC控制等返回28IP欺骗IP欺骗包括序列号欺骗、路由攻击、源地址欺骗、授权欺骗等像rlogin、rcall、rsh等命令以IP地址为基础的验证。可以通过对IP堆栈进行修改,放入任意满足要求的IP地址,达到欺骗的目的。返回29网络监听

网络监听工具可以提供给管理员,以监测网络的状态、数据流情况及网上传输的信息网络监听工具也是入侵者们常用的工具。网络监听可以在网络上的任何位置实施,如局域网中的一台主机、网关或者交换机等。网络管理员一般选择在网关、路由器和防火墙上进行网络监听,这是监听效果最好的地方。最方便部署网络监听的位置是局域网中的主机,这是大多数网络入侵者采用的方式。返回30病毒攻击

随着蠕虫病毒的泛滥以及蠕虫、计算机病毒、木马和黑客攻击程序的结合,病毒攻击成为了因特网发展以来面临的最大挑战之一返回31社会工程攻击

社会工程攻击是利用社会工程学实施攻击的一种总称社会工程攻击是一个陷阱,入侵者通常以交谈、欺骗、假冒或口语等方式,从合法用户中套取用户系统的秘密。为了对付此类攻击,必须增强员工和用网人员的安全意识,加强组织和管理措施。返回322.2漏洞扫描2.2.1扫描器简介扫描器是一种通过收集系统的信息来自动监测远程或本地主机安全性弱点的程序.

扫描器有三项功能:

发现一个主机或网络的状态可以判断处于运行的系统中有哪些服务已启动通过测试运行中的网络服务,发现漏洞按目的来分,扫描器可分为端口扫描器和漏洞扫描器.常见的端口扫描器有NMAP、portscan等;漏洞扫描器有ISS、NESSUS、SATAN等332.2漏洞扫描2.2.2秘密扫描

TCPConnect扫描342.2漏洞扫描2.2.2秘密扫描

TCPSYN扫描

这种扫描方法没有建立完整的TCP连接,有时也被称为“半打开扫描(half-openscanning)”。其步骤是先往端口发送一个SYN分组。如果收到一个来自目标端口的SYN/ACK分组,那么可以推断该端口处于监听状态。如果收到一个RST/ACK分组,那么它通常说明该端口不在监听。执行端口的系统随后发送一个RST/ACK分组,这样并未建立一个完整的连接。这种技巧的优势比完整的TCP连接隐蔽,目标系统的日志中一般不记录未完成的TCP连接。

352.2漏洞扫描2.2.2秘密扫描

TCPFIN扫描

这种扫描方法是直接往目标主机的端口上发送FIN分组。按照RFC793,当一个FIN分组到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST分组。否则,当一个FIN分组到达一个打开的端口,分组只是简单地被丢掉(不返回RST分组)。

362.2漏洞扫描2.2.2秘密扫描

TCPXmas扫描

无论TCP全连接扫描还是TCPSYN扫描,由于涉及TCP三次握手很容易被远程主机记录下来。Xmas扫描由于不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽得多。这种扫描向目标端口发送一个FIN、URG和PUSH分组。按照RFC793,目标系统应该给所有关闭着的端口发回一个RST分组。372.2漏洞扫描2.2.2秘密扫描

TCP空扫描

这种扫描发送一个关闭掉所有标志位的分组,按照RFC793,目标系统应该给所有关闭着的端口返回一个RST分组。382.2漏洞扫描2.2.2秘密扫描

TCPACK扫描

TCPACK扫描和TCPSYN扫描原理差不多,是利用协议(详见RFC793)规定,当申请方主机向目标主机一个端口发送一个只有ACK标志的TCP数据包,如果目标主机该端口是“开”状态,则返回一个TCPRST数据包;否则不回复。

这种扫描一般用来侦测防火墙,他可以确定防火墙是否只是支持简单的分组过滤技术,还是支持高级的基于状态检测的包过滤技术。392.2漏洞扫描2.2.2秘密扫描

UDP扫描

这种扫描往目标主机的端口发送UDP数据分组,如果目标端口是关闭状态,则返回一个“ICMP端口不可达(ICMPportunreachable)”消息。否则,如果没有收到上述返回信息,可以判断该端口是开启的.402.2漏洞扫描2.2.3OSFingerprint技术

OSFingerprint探测是网络入侵者攻击中的重要环节,常见的方法如下:一些端口服务的提示信息

TCP/IP栈指纹

DNS泄漏出OS系统等412.3口令破解2.3.1Windows口令文件的格式及安全机制

使用安全帐号管理器(SAM),SAM文件存放在“%systemroot%\system32\config\sam”(在域服务器中,SAM文件存放在活动目录中,默认地址“%system32%\ntds\ntds.dit”)。

422.3口令破解2.3.2UNIX口令文件的格式及安全机制

Unix系统中帐户信息存放在passwd文件中,口令可以采用DES或MD5加密后存放在shadow文件中。passwd使用的是存文本的格式保存信息。UNIX中的passwd文件中每一行都代表一个用户资料,每一个账号都有七部分资料,不同资料中使用“:”分割。

432.3口令破解2.3.3破解原理及典型工具工具一PasswordCracker工具二LOphtCrack442.4拒绝服务攻击2.4.1拒绝服务攻击的原理拒绝服务攻击的方式有很多种。最基本的拒绝服务攻击就是利用合理的服务请求来占用过多的服务资源。有许多拒绝服务的程序在网络中散布:TribeFloodNetwork,tfn2k,smurf,targa等452.4拒绝服务攻击2.4.2典型拒绝服务攻击的手段

SYN湮没

Land攻击

Smurf攻击

TeardropPingofDeath继续46SYN湮没

SYN是TCP/IP协议建立连接时使用的握手信号。在建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这种攻击向一台服务器发送许多SYN消息,该消息中携带的源地址根本不可用,但是服务器会当真的SYN请求处理,当服务器尝试为每个请求消息分配连接来应答这些SYN请求时,服务器就没有其它资源来处理来真正用户的合法SYN请求了。这就造成了服务器不能正常的提供服务。返回47Land攻击

Land攻击和其它拒绝服务攻击相似,也是通过利用某些操作系统在TCP/IP协议实现方式上的漏洞来破坏主机。在Land攻击中,一个精心制造的SYN数据包中的源地址和目标地址都被设置成某一个服务器地址,这将导致接收到这个数据包的服务器向它自己发送SYN-ACK消息,结果又返回ACK消息并创建一个空连接……每个这样的连接都将一直保持到超时。不同的操作系统对Land攻击反应不同,多数UNIX操作系统将崩溃,而WindowsNT会变的极其缓慢(大约持续五分钟)。48Land攻击1(SYN)hello,I’m1Syn+AckAck返回49Smurf攻击

Smurf攻击是以最初发动这种攻击的程序名Smurf来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量数据充斥目标系统,引起目标系统不能为正常系统进行服务。简单的Smurf攻击将ICMP应答请求(ping)数据包的回复地址设置成受害网络的广播地址,最终导致该网络的所有主机都对此ICMP应答请求作出答复,从而导致网络阻塞。因此它比pingofdeath攻击的流量高出一到两个数量级。复杂的Smurf攻击将源地址改为第三方的受害者,最终导致第三方崩溃。50Smurf攻击

目标地址是网络的广播地址(netid:255:255:255)

源地址是受害者主机IP地址三部分组成:攻击者、中间媒介、被攻击者黑客伪装受害者IP中间网站目标子网络主机目标子网络主机目标子网络主机攻击信息大量ICMP封包(Layer3)子网络主机子网络主机子网络主机目标网站大量广播(Layer2)返回51Teardrop

Teardrop是一种拒绝服务攻击,可以令目标主机崩溃或挂起。目前多数操作系统已经升级或有了补丁程序来避免受到这种攻击。Teardrop攻击和其他类似的攻击发出的TCP或UDP包包含了错误的IP重组信息,这样主机就会使用错误的信息来重新组合成一个完整的包。结果造成崩溃、挂起或者执行速度极其缓慢。52TeardropSYNSYN+ACKACKPSH1:1025……PSH1025:2049……PSH2049:3073……FINACKPSH1:1025……PSH

1000:2049……PSH2049:3073……试图重组时主机崩溃返回53PingofDeath

PingofDeath攻击是利用网络操作系统(包括UNIX的许多变种、windows和MacOS等)的缺陷,当主机接收到一个大的不合法的ICMP回应请求包(大于64KB)时,会引起主机挂起或崩溃。返回542.5分布式拒绝服务攻击552.5分布式拒绝服务攻击DDos攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式被DDos攻击时的现象被攻击主机上有大量等待的TCP连接网络中充斥着大量的无用的数据包,源地址为假IP地址制造高流量无用数据,造成网络拥塞利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求。严重时会造成系统死机562.6缓冲区溢出攻击

堆栈原理一个简单的例子example1.c:

voidfunction(inta,intb,intc){charbuffer1[5];charbuffer2[10];}voidmain(){function(1,2,3);}

使用gcc的-S选项编译,以产生汇编代码输出:$gcc–S–oexample.sexample1.c

通过查看汇编语言输出,可以看到对function()的调用被翻译成:572.6缓冲区溢出攻击

push1$3push1$2push1$1callfunction

指令call会把指令指针(IP)也压入栈中,做为返回地址(RET).在函数中所首先做的第一件事是:pushebpmovl%esp,ebpsubl$20,%esp582.6缓冲区溢出攻击

可以想像function()被调用时堆栈的模样:

buffer2buffer1EBPRETabc堆栈顶部堆栈底部内存低地址内存高地址592.6缓冲区溢出攻击

我们可以试着修改第一个例子,让它可以覆盖返回地址:example2.c:voidfunction(inta,intb,intc){charbuffer1[5];charbuffer2[10];int*ret;ret=buffer1+12(*ret)+=8}voidmain(){intx;x=0;function(1,2,3)x=1printf(“%d\n”,x);}602.6缓冲区溢出攻击

缓冲区溢出的一个例子:example3.c

----------------------------------------------------------------------

voidfunction(char*str){

charbuffer[16];

strcpy(buffer,str);

}

voidmain(){

charlarge_string[256];

inti;

for(i=0;i<255;i++)

large_string[i]='A';

function(large_string);

}

612.7格式化字符串攻击例2:

/**fmtme.c*Formatavalueintoafixed-sizebuffer*/

#include

int

main(intargc,char**argv)

{

charbuf[100];

intx;

if(argc!=2)

exit(1);

x=1;

snprintf(buf,sizeofbuf,argv[1]);

buf[sizeofbuf-1]=0;

printf("buffer(%d):%s\n",strlen(buf),buf);

printf("xis%d/%#x(@%p)\n",x,x,&x);

return0;

}

622.8跨站脚本攻击

因为CGI程序没有对用户提交的变量中的HTML代码进行过滤或转换,从而导致了跨站脚本执行的漏洞。632.8跨站脚本攻击

XXS的实例<?php$input=$_GET[“param”];Echo“<div>”,$input,”<div>”;?>

若用户在客户端提交

/test.php?param=这是一个测试;

页面中会显示用户提交的”这是一个测试”但是如果用户提交一段HTML代码:/test.php?param=<script>alert(/x

温馨提示

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

评论

0/150

提交评论