



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文档为精品文档,如对你有帮助请下载支持,如有问题请及时沟通,谢谢支持!IDS 入侵特征库创建实例解析555 影视IDS 要有效地捕捉入侵行为,必须拥有一个强大的入侵特征数据库,这就如同公安部门必须 拥有健全的罪犯信息库一样。但是, IDS 一般所带的特征数据库都比较死板,遇到“变脸” 的入侵行为往往相逢不相识。因此,管理员有必要学会如何创建满足实际需要的特征数据样 板,做到万变应万变!本文将对入侵特征的概念、种类以及如何创建特征进行介绍,希望能 帮助读者尽快掌握对付“变脸”的方法。一、特征( signature )的基本概念IDS 中的特征就是指用于判别通讯信息种类的样板数据,通常分为多种,
2、以下是一些典 型情况及识别方法:来自保留 IP 地址的连接企图: 可通过检查 IP 报头( IPheader )的来源地址轻易地识别。 带有非法TCP标志联合物的数据包:可通过对比TCP报头中的标志集与已知正确和错误标记联合物的不同点来识别。含有特殊病毒信息的 Email :可通过对比每封 Email 的主题信息和病态 Email 的主题信 息来识别,或者,通过搜索特定名字的附近来识别。查询负载中的DNS缓冲区溢出企图:可通过解析DNS域及检查每个域的长度来识别利用DNS域的缓冲区溢出企图。还有另外一个识别方法是:在负载中搜索“壳代码利用”( eX Ploitshellcode )的序列代码组
3、合。通过对POP3服务器发出上千次同一命令而导致的DoS攻击:通过跟踪记录某个命令连续发出的次数,看看是否超过了预设上限,而发出报警信息。未登录情况下使用文件和目录命令对FTP服务器的文件访问攻击:通过创建具备状态跟踪的特征样板以监视成功登录的FTP对话、发现未经验证却发命令的入侵企图。从以上分类可以看出特征的涵盖范围很广,有简单的报头域数值、有高度复杂的连接状 态跟踪、有扩展的协议分析。一叶即可知秋,本文将从最简单的特征入手,详细讨论其功能 及开发、定制方法。另外请注意:不同的IDS产品具有的特征功能也有所差异。例如:有些网络IDS系统只允许很少地定制存在的特征数据或者编写需要的特征数据,另
4、外一些则允许在很宽的范围内 定制或编写特征数据,甚至可以是任意一个特征;一些IDS 系统只能检查确定的报头或负载数值,另外一些则可以获取任何信息包的任何位置的数据。二、特征有什么作用?这似乎是一个答案很明显的问题: 特征是检测数据包中的可疑内容是否真正 “不可就要” 的样板,也就是“坏分子克隆”。IDS系统本身就带有这个重要的部分,为什么还需要定制或编写特征呢?是这样:也许你经常看到一些熟悉的通讯信息流在网络上游荡,由于IDS系统的特征数据库过期或者这些通讯信息本身就不是攻击或探测数据,IDS 系统并没有对它们进行关注,而这时你的好奇心升起,想在这些可疑数据再次经由时发出报警,想捕捉它们、仔
5、细看看它们到底来自何方、有何贵干,因此,唯一的办法就是对现有特征数据库进行一些定 制配置或者编写新的特征数据了。特征的定制或编写程度可粗可细,完全取决于实际需求。或者是只判断是否发生了异常 行为而不确定具体是什么攻击名号,从而节省资源和时间;或者是判断出具体的攻击手段或 漏洞利用方式,从而获取更多的信息。我感觉,前者适用于领导同志,后者需要具体做事者 使用,宏观加微观,敌人别想遛进来!三、首席特征代表:报头值( HeaderValues ) 报头值的结构比较简单,而且可以很清楚地识别出异常报头信息,因此,特征数据的首席候选人就是它。一个经典的例子是:明显违背RFC793中规定的TCP标准、设置
6、了 SYN和FIN标记的TCP数据包。这种数据包被许多入侵软件采用,向防火墙、路由器以及IDS系统发起攻击。异常报头值的来源有以下几种:因为大多数操作系统和应用软件都是在假定RFC被严格遵守的情况下编写的,没有添加针对异常数据的错误处理程序,所以许多包含报头值的漏洞利用都会故意违反RFC的标准定义,明目张胆地揭发被攻击对象的偷工减料行为。许多包含错误代码的不完善软件也会产生违反RFC定义的报头值数据。并非所有的操作系统和应用程序都能全面拥护RFC定义,至少会存在一个方面与RFC不协调。随着时间推移,执行新功能的协议可能不被包含于现有RFC中。由于以上几种情况,严格基于RFC的IDS特征数据就有
7、可能产生漏报或误报效果。对此,RFC也随着新出现的违反信息而不断进行着更新,我们也有必要定期地回顾或更新存在的特 征数据定义。非法报头值是特征数据的一个非常基础的部分, 合法但可疑的报头值也同等重要。 例如, 如果存在到端口 31337 或 27374 的可疑连接,就可报警说可能有特洛伊木马在活动;再附加 上其他更详细地探测信息,就能够进一步地判断是真马还是假马。四、确定特征“候选人”为了更好地理解如何开发基于报头值的特殊数据,下面通过分析一个实例的整个过程进 行详细阐述。Synscan 是一个流行的用于扫描和探测系统的工具, 由于它的代码被用于创建蠕虫 Ramen 的开始片断而在 2001
8、年早期大出风头。 Synscan 的执行行为很具典型性, 它发出的信息包具 有多种可分辨的特性,包括:不同的来源 IP 地址信息TCP来源端口 21,目标端口 21服务类型 0IP 鉴定号码 39426(IPidentificationnumber)设置SYN和FIN标志位不同的序列号集合( sequencenumbersset )不同的确认号码集合( acknowledgmentnumbersset )TCP窗 口尺寸 1028下面我们对以上这些数据进行筛选,看看哪个比较合适做特征数据。我们要寻找的是非 法、异常或可疑数据,大多数情况下,这都反映出攻击者利用的漏洞或者他们使用的特殊技 术。以
9、下是特征数据的候选对象:只具有SYN和FIN标志集的数据包,这是公认的恶意行为迹象。没有设置ACK标志,但却具有不同确认号码数值的数据包,而正常情况应该是0。来源端口和目标端口都被设置为21的数据包,经常与FTP服务器关联。这种端口相同的情况一般被称为 “反身”( reflexive ),除了个别时候如进行一些特别 NetBIOS 通讯外, 正常 情况下不应该出现这种现象。“反身”端口本身并不违反TCP标准,但大多数情况下它们并非 预期数值。例如在一个正常的 FTP对话中,目标端口一般是21,而来源端口通常都高于1023。TCP窗口尺寸为1028,IP鉴定号码在所有数据包中为39426。根据I
10、PRFC的定义,这2类数值应在数据包间有所不同,因此,如果持续不变,就表明可疑。五、公布最佳特征“得主”从以上 4个候选对象中,我们可以单独选出一项作为基于报头的特征数据,也可以选出 多项组合作为特征数据。选择一项数据作为特征有很大的局限性。例如一个简单的特征可以是只具有SYN和FIN 标志的数据包,虽然这可以很好地提示我们可能有一个可疑的行为发生,但却不能给出为什么会发生的更多信息。SYN和FIN通常联合在一起攻击防护墙和其他设备,只要有它们出现,就预示着扫描正在发生、信息正在收集、攻击将要开始。但仅仅这些而已,我们需要的是更 多的细节资料。选择以上 4 项数据联合作为特征也不现实,因为这显
11、得有些太特殊了。尽管能够精确地 提供行为信息,但是比仅仅使用一个数据作为特征而言,会显得远远缺乏效率。实际上,特 征定义永远要在效率和精确度间取得折中。大多数情况下,简单特征比复杂特征更倾向于误 报 ( falsepositives ), 因 为 前 者 很 普 遍 ; 复 杂 特 征 比 简 单 特 征 更 倾 向 于 漏 报 ( falsenegatives ),因为前者太过全面,攻击软件的某个特征会随着时间的推进而变化。多也不行,少亦不可,完全应由实际情况决定。例如,我们想判断攻击可能采用的工具 是什么,那么除了 SYN和FIN标志以外,还需要什么其他属性?“反身”端口虽然可疑,但 是许
12、多工具都使用到它,而且一些正常通讯也有此现象,因此不适宜选为特征。TCP 窗口尺寸1028尽管有一点可疑,但也会自然的发生。IP鉴定号码39426也一样。没有 ACK标志的ACK数值很明显是非法的,因此非常适于选为特征数据。当然,根据环境的不同,及时地调 整或组合特征数据,才是达到最优效果的不二法门。接下来我们真正创建一个特征,用于寻找并确定synsean发出的每个TCP信息包中的以下属性:只设置了 SYN和FIN标志IP 鉴定号码为 39426TCP窗口尺寸为1028第一个项目太普遍,第二个和第三个项目联合出现在同一数据包的情况不很多,因此, 将这三个项目组合起来就可以定义一个详细的特征了。
13、再加上其他的synsean 属性不会显著地提高特征的精确度,只能增加资源的耗费。到此,判别synsean 软件的特征如此就创建完毕了。六、拓宽特征的“社会关系” ,创建识别更多异常通讯的特征 以上创建的特征可以满足对标准 synsean 软件的探测了。但 synsean 可能存在多种“变 脸”,而其它工具也可能是 “变化多端” 的, 这样, 上述建立的特征必然不能将它们一一识别。 这时就需要结合使用特殊特征和通用特征,才能创建一个更好、更全面的解决方案。如果一 个入侵检测特征既能揭示已知 “坏蛋”,还能预测 “潜在的罪犯” ,那么它的魅力将大大提高。首先看一个“变脸” synsean 所发出的
14、数据信息特征:只设置了 SYN标志,这纯属正常的 TCP数据包“长相”。TCP窗口尺寸总是 40而不是1028。40是初始SYN信息包中一个罕见的小窗口尺寸,比 正常的数值 1028少见得多。“反身”端口数值为 53而不是21。老版本的BIND使用“反身”端口用于特殊操作,新 版本BIND则不再使用它,因此,经常看到这个信息会让我们睁大怀疑的眼睛。以上 3 种数据与标准 synsean 产生的数据有很多相似出,因此可以初步推断产生它的工 具或者是 synsean 的不同版本,或者是其他基于 synsean 代码的工具。显然,前面定义的特 征已经不能将这个“变脸”识别出来,因为 3个特征子项已经
15、面目全非。这时,我们可以采 取三种方法:再单独创建一个匹配这些内容的特殊特征。调整我们的探测目标,只关注普通的异常行为,而不是特殊的异常行为,创建识别普通 异常行为的通用特征。1和 2都创建,既全面撒网,也重点垂钓,真实的罪犯必抓,可疑的分子也别跑。通用特征可以创建如下:没有设置确认标志,但是确认数值却非0的TCP数据包。只设置了 SYN和FIN标志的TCP数据包。初始TCP窗口尺寸低于一定数值的 TCP数据包。使用以上的通用特征,上面提到过的两种异常数据包都可以有效地识别出来。看来,网 大好捞鱼啊。当然,如果需要更加详细地探测,再在这些通用特征的基础上添加一些个性数据就可以 创建出一个特殊特
16、征来。还是那个观点,创建什么样的特征、创建哪些特征,取决于实际需 求,实践是检测创建何种特征的唯一标准吗!七、报头值关键元素小结,信息包种类检查分析从上面讨论的例子中,我们看到了可用于创建IDS特征的多种报头值信息。通常,最有可能用于生成报头相关特征的元素为以下几种:IP 地址,特别保留地址、非路由地址、广播地址。不应被使用的端口号,特别是众所周知的协议端口号和木马端口号。异常信息包片断。特殊TCP标志组合值。不应该经常出现的ICMP字节或代码。知道了如何使用基于报头的特征数据,接下来要确定的是检查何种信息包。确定的标准 依然是根据实际需求而定。因为ICMP和UDP信息包是无状态的,所以大多数
17、情况下,需要对 它们的每一个“属下”都进行检查。而TCP信息包是有连接状态的,因此有时候可以只检查连接中的第一个信息包。 例如, 象 IP 地址和端口这样的特征将在连接的所有数据包中保持不 变,只对它们检查一次就可放心。其他特征如TCP标志会在对话过程的不同数据包中有所不同,如果要查找特殊的标志组合值,就需要对每一个数据包进行检查。检查的数量越多,消 耗的资源和时间也就越多。另外我们还要了解一点:关注 TCR UDP或者ICMP的报头信息要比关注 DNS报头信息更 方便。因为TCP UDP以及ICMP都属于IP协议,它们的报头信息和载荷信息都位于IP数据包的payload部分,比如要获取TCP报头数值,首先解析IP报头,然后就可以判断出这个载 荷的“父
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动作文之没毕业能签劳动合同8篇
- 量子计算对现有加密算法的挑战-全面剖析
- 爆震伤与冲击波损伤-全面剖析
- 非金属船舶材料创新研究-全面剖析
- 三维打印技术在机械制造中的革新-全面剖析
- 动脉硬化风险预测模型-全面剖析
- 关于室内设计标准合同5篇
- 液氮罐加工制作合同10篇
- 简约生活哲学探究-全面剖析
- 神经可塑性在教育中的应用探索-全面剖析
- 工业和信息化部产业发展促进中心招聘笔试真题2024
- 2025年医保知识竞赛题库及答案:新政策调整下的医保选择
- 呼吸科知识解剖课件
- 幼儿园教育评估指南解读
- 模拟雨的形成课件
- 多维数据循环嵌套分析-全面剖析
- 数学全等三角形教学设计 2024-2025学年北师大版数学七年级下册
- 《旅游策划实务》课件-《秦岭北望 千古》长安西安五天四晚亲子家庭定制游方案
- 事故隐患内部报告奖励制度1
- 建设单位保证安全生产措施方案
- 2025年新音乐节明星艺人歌手演出场费报价单
评论
0/150
提交评论