收藏 分享(赏)

Snort简介 MSE安全攻防培训资料.ppt

上传人:yjrm16270 文档编号:4789844 上传时间:2019-01-13 格式:PPT 页数:25 大小:146KB
下载 相关 举报
Snort简介 MSE安全攻防培训资料.ppt_第1页
第1页 / 共25页
Snort简介 MSE安全攻防培训资料.ppt_第2页
第2页 / 共25页
Snort简介 MSE安全攻防培训资料.ppt_第3页
第3页 / 共25页
Snort简介 MSE安全攻防培训资料.ppt_第4页
第4页 / 共25页
Snort简介 MSE安全攻防培训资料.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、1,Snort简介,,2,Snort是一个强大的轻量级的网络入侵检测系统 它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配 Snort具有很好的扩展性和可移植性 遵循公用许可GPL,所以只要遵守GPL任何组织和个人都可以自由使用 可对其进行二次开发,用于内容监控等应用,3,特点1,Snort虽然功能强大,但是其代码极为简洁,短小,其源代码压缩包只有200KB不到 Snort可移植性非常好。Snort的跨平台性能极佳,目前已经支持Linux系列, Solaris,BSD系列,IRIX,HP-UX,Windows系列,ScoOpenserver,Unixware

2、等,4,特点2,Snort具有实时流量分析和日志Ip网数据包的能力。能够快速地检测网络活动,及时地发出报告 Snort的警报机制很丰富。 例如:Syslog,用户指定文件,UnixSocket,还有使用SAMBA协议向Windows客户程序发出WinPopup消息。利用XML插件,Snort可以使用SNML(简单网络标记语言.simple network markup language)把日志存放在一个文件或者适时警报,5,特点3,Snort能够进行协议分析,内容的搜索/匹配 现在Snort能够分析的协议有TCP,UDP和ICMP 将来的版本,将提供对ARP.ICRP,GRE,OSPF,RIP

3、,ERIP,IPX,APPLEX等协议的支持,6,特点4,Snort的日至格式既可以是Tcpdump的二进制格式,也可以编码成ASCII字符形式,更便于拥护尤其是新手检查,使用数据库输出插件,Snort可以把日志记入数据库 当前支持的数据库包括:Postagresql,MySQL,任何UnixODBC数据库,MicrosoftMsSQL,还有Oracle等数据库,7,特点5,使用TCP流插件(TCPSTREAM),Snort可以对TCP包进行重组 Snort能够对IP包的内容进行匹配,但是对于TCP攻击,如果攻击者使用一个程序,每次发送只有一个字节的数据包,完全可以避开Snort的模式匹配。而

4、被攻击的主机的TCP协议栈会重组这些数据,将其发送给目标端口上监听的进程,从而使攻击包逃过Snort的监视 使用TCP流插件,可以对TCP包进行缓冲,然后进行匹配,使Snort具备对付上面攻击的能力,8,特点6,使用Spade(Statistical Packet Anomaly Detection Engine)插件,Snort能够报告非正常的包,从而对端口扫描进行有效的检测,9,特点7,Snort还有很强的系统防护能力 如:使用其IPTables,IPFilter插件可以使入侵检测主机与防火墙联动,通过FlexResp功能,Snort能够命令防火墙主动短开恶意连接,10,特点8,扩展性能较

5、好,对于新的攻击威胁反应迅速 作为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。它使用一种简单的规则描述语言(很多商用入侵检测系统都兼容Snort的规则语言) 最基本的规则知识包含四个域:处理动作,协议,方向,端口。 例如 Log Tcp Any any - 10.1.1.0/24 80(谁都看得明白),11,特点9,Snort支持插件,可以使用具有特定功能的报告,检测子系统插件对其功能进行扩展 Snort当前支持的插件包括:数据库日志输出插件,破碎数据包检测插件,端口扫描检测插件,HTTP URI插件,XML网页生成等插件,12,特点10,Snort的规则语言非常简单,能够对新的

6、网络攻击做出很快的反应 发现新攻击后,可以很快地根据Bugtrag邮件列表,找到特征码,写出新的规则文件,13,几个重要的数据结构,Snort系统中最重要的全局数据结构就是Packet结构,Packet数据结构控制着整个系统正常工作的关键信息。所以,该数据结构在代码中出现的频率最高。 Packet数据结构如下(代码太长,截取部分): Typedef struct_Packet struct pcap_pkthdr pkth; /*BPF data*/ u_int8_t *pkt; /*base pointer to the raw packet data*/ Fddi_hdr fddihdr;

7、 /*FDDI support headers*/ ,14,预处理模块,预处理模块的作用是对当前截获的数据包进行预先处理,以便后续处理模块对数据包的处理操作 数据包分片重组及数据流重组 协议编码 协议异常检测,15,数据包分片重组及数据流重组,在正常情况下,数据包在网络上由于最大数据传输单元可能有限制MTU及网络延迟等问题,路由器会对数据包进行分片处理 但是恶意攻击者也会故意发送经过软件加工过的数据包,以便把一个带有攻击性的数据包分散到各个小的数据包中,并有可能打乱数据包传输次序,分多次传输到目标主机 这样做的好处是减少被检测到的概率,16,为此,入侵检测系统有专门针对数据包上DM字段标示为分

8、段数据流的处理,此模块对这些分段数据包可以进行正确的从组(即使包的发送次序被打乱) 此特性对于内容监控应用同样有意义,17,协议编码,协议编码是指有些协议是比较灵活的,如HTTP等协议。它支持多种编码,如ASCII码等,这就需要预处理模块进行处理,以便后续模块进行操作。同时,还有可能发现一些特定攻击类型。如: http:/D 就是我们熟悉的目录遍历漏洞特征,18,/default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNN%u9090%

9、6858%ucbd3 是我们熟悉的红色代码蠕虫特征,19,协议异常检测,指的是给予异常行为统计检查功能,能够针对一些异常的网络行为发出报警 如端口及特定服务(finger x.500等服务)的搜索,20,预处理器的基本框架,所涉及到的函数如下:(在Spp_template.c/h中) SetupTemplate() /注册函数,由InitPreprocessors调用 TemplateInit(u_char *) /预处理模块的初始化 ParseTemplateArgs(char *) /参数解析 PreproFunction(Packet *) /根据预处理模块的不同,执行不同 Prepro

10、RestartFunction(int) PreproCleanExitFunction(int) /退出清理函数,21,Spp_Http_Decode模块,该模块主要负责对HTTP协议中URL字符进行规范化编码处理,避免攻击者通过某些特殊的字符编码方式来逃避后续的规则检测。对与IIS 等可以接受同URL字符串的多个编码形式: http:/ http:/%73%63%72%69%70%.6D%65.%65%78%65 HTTP:/ 对于IIS会认为上面是一个请求,22,模块参数格式,preprocedssor http_decode : var1 var2 如: preprocedssor h

11、ttp_decode: 80 8080 8000 unicode iis_alt_Unicode double_encode iis_flip_slash,23,Spp_frag2模块,Spp_frag2模块能够检测到若干种基于IP数据包分片技术的Dos攻击方法。这些类型的拒绝服务攻击经常利用操作系统协议栈(IP堆栈)的弱点,通过发送经过精心设计的异常数据包分片来对目标进行攻击 该模块参数如: preprocedssor frag2: var1 , var2,24,Frag2Data结构存储当前模块的参数,Typedef struct_frag2Data u_int8_t os_flags; u_int32_t memcap; / 内存 u_int8_t min_ttl /最小的生存值ttl char frag2_alert; /*frag2 的警报是否打开 SPMemControl frag_sp_data; /内存使用控制 Frag2Data,25,Snort模块结构,预处理插件,处理插件,输出插件,规则处理模块,解码模块,主控模块,日至模块,辅助模块,使用/调用,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报