550 likes | 778 Views
IDS 技术讲座. 目录. 需求背景 技术发展 产品分类 面临挑战. 什么是入侵?. 入侵是指一些人试图进入或者滥用你的系统。这里的滥用可以包括从严厉的偷窃机密数据到一些次要的事情:比如滥用你的电子邮件系统发垃圾邮件。. 入侵者的分类. 外部的 : 你网络外面的侵入者,或者可能攻击你的外部存在。外部的侵入者可能来自 Internet, 拨号线 , 物理介入 , 或者从同你网络连接的伙伴网络 内部的 : 合法使用你的互连网络的侵入者。包括滥用权力的人和模仿更改权力的人。. 安全域 1. 安全域 2. Host A. Host B. Host C.
E N D
目录 • 需求背景 • 技术发展 • 产品分类 • 面临挑战
什么是入侵? • 入侵是指一些人试图进入或者滥用你的系统。这里的滥用可以包括从严厉的偷窃机密数据到一些次要的事情:比如滥用你的电子邮件系统发垃圾邮件。
入侵者的分类 • 外部的: 你网络外面的侵入者,或者可能攻击你的外部存在。外部的侵入者可能来自Internet, 拨号线, 物理介入, 或者从同你网络连接的伙伴网络 • 内部的: 合法使用你的互连网络的侵入者。包括滥用权力的人和模仿更改权力的人。
安全域1 安全域2 Host A Host B Host C Host D Source Destination Permit Protocol Host A Host C Pass TCP Host B Host C Block UDP 防火墙 两个安全域之间通信流的唯一通道 根据访问控制规则决定进出网络的行为 一种高级访问控制设备,置于不同网络安全域之间的一系列部件的组合,它是不同网络安全域间通信流的唯一通道,能根据企业有关的安全政策控制(允许、拒绝、监视、记录)进出网络的访问行为。
绕过防火墙的攻击 • 穿过防火墙的攻击行为
防火墙的局限性 防火墙就象一道门,它可以阻止一类人群的进入,但无法阻止同一类人群中的破坏分子,也不能阻止内部的破坏分子 访问控制设备可以不让低级权限的人做越权工作,但无法保证高级权限的做破坏工作,也无法保证低级权限的人通过非法行为获得高级权限
访问控制 • 矩阵访问控制 • 组与角色 • 两维ACL存在的问题
入侵者如何进入系统? • 物理侵入: 如果一个侵入者对主机有物理进入权限。(比如他们能使用键盘或者参与系统),应该可以进入。方法包括控制台特权一直到物理参与系统并且移走磁盘(在另外的机器读/写)。甚至BIOS保护也很容易穿过的: 事实上所有的BIOS都有后门口令。
入侵者如何进入系统? • 系统侵入: 这类侵入表现为侵入者已经拥有在系统用户的较低权限。如果系统没有打最新的漏洞补丁,就会给侵入者提供一个利用知名漏洞获得系统管理员权限的机会。 • 如未打过补丁的IIS发布系统,会存在UNICODE漏洞,可能会使得入侵者远程访问系统文件。http:/IP/scrtpts/..%c1%1c../winnt/system32/cmd.exe?/c+dir
入侵者如何进入系统? • 远程侵入: 这类入侵指入侵者通过网络远程进入系统。侵入者从无特权开始这种侵入方式包括多种形式。比如如果在他/她和受害主机之间有防火墙存在,侵入就要复杂得多。 • 这类入侵通常是很漫长的,从系统扫描开始,获得较低的权限,然后通过先验经验获得更高的权限。
为什么会有入侵? • 软件总是存在bug。系统管理员和开发人员永远无法发现和解决所有的可能漏洞。侵入者只要发现一个漏洞就可以入侵系统。 • 有证据表明每一千行代码中就会存在五至十五个BUG!
缓冲区溢出 • 缓冲区溢出:大部分的安全漏洞都属于这类。攻击者通过发送精心构造的超过堆栈最大容量的数据,跳转执行自己想要的代码。 • 如IIS发布系统中的ida/idq以及.printf溢出漏洞,攻击者很容易利用工具获得系统的root权限。
意外结合 • 意外结合: 程序通常被组合成很多层代码。侵入者常可以发送一些对于一层无意义的输入, 却对其他层有意义。 • 在“|mail < /etc/passwd“,这个命令得以在perl下执行是因为操作系统为这个输入启动一个附加的程序。然而操作系统解释管道符"|"并且按语义启动"mail"程序,结果是将password文件寄给侵入者。
其它缺陷 • 缺省配置:很多系统在交付使用时采用缺省配置,“缺省”意味着“易攻击”。 • 口令攻击:弱口令和字典穷举攻击。 • 监听:收集网络上的公共团体字符串。 • 协议缺陷:TCP/IP协议的设计缺点,如smurf攻击,ICMP不可达的连结, IP哄骗, 和SYN floods。以及数据本身的容易被信任。
入侵如何被检测 • UNIX系统的/var/adm下的syslog与messages。 • 入侵监测系统
摄像机=探测引擎 监控室=控制中心 Card Key 保安=防火墙 解决之道 • IDS与防火墙的配合使用,达到最佳的防护效果
IDS是什么? • IDS是通过数据和行为模式来判断攻击事件是否存在的系统。 • 采用旁路侦听的方式接入到网络中,网卡设置为混杂模式,实时抓取网络中的数据并对其进行分析。 • 得到分析结果后,通过报警、日志、与其他安全产品联动等方式对其进行响应,并提供相应的解决方法。
入侵检测系统的发展 • 1980年 Anderson提出:入侵检测概念,分类方法 • 《Computer Security Threat Monitoring and Surveillance》 • 1987年 Denning提出了一种通用的入侵检测模型 独立性 :系统、环境、脆弱性、入侵种类 系统框架:异常检测器,专家系统 • 研究出了一个实时入侵检测系统模型—IDES(入侵检测专家系统)
入侵检测技术的成熟 • 1990,加州大学戴维斯分校的L. T. Heberlein等人开发出了NSM(Network Security Monitor) • 该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控多种主机 • 入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的IDS和基于主机的IDS
IDS类产品分类 • 市场上的IDS可以分为两种: • 网络入侵检测系统(NIDS) • 以旁路侦听的方式接入到网络中 • 独立于被监测的系统之外 • 不会增加网络中主机的负载 • 主机入侵检测系统(HIDS) • 安装在被保护的主机之上 • 主要分析主机的内部活动:审计日志、系统调用、文件完整性 • 会占用一定的系统资源
IDS的分析方式 • 异常发现技术(基于行为的检测 ) • 模式发现技术(基于知识的检测 )
基于行为的检测 基于行为的检测指根据使用者的行为或资源使用状况来判断是否入侵,而不依赖于具体行为是否出现来检测,所以也被称为异常检测(Anomaly Detection)。 • 与系统相对无关,通用性强 • 能检测出新的攻击方法 • 误检率较高
基于行为的检测----概率统计方法 • 操作密度 • 审计记录分布 • 范畴尺度 • 数值尺度 记录的具体操作包括:CPU 的使用,I/O 的使用,使用地点及时间,邮件使用,编辑器使用,编译器使用,所创建、删除、访问或改变的目录及文件,网络上活动等。
基于行为的检测----神经网络方法 基本思想是用一系列信息单元(命令)训练神经单元,这样在给定一组输入后,就可能预测出输出。当前命令和刚过去的w个命令组成了网络的输入,其中w是神经网络预测下一个命令时所包含的过去命令集的大小。根据用户的代表性命令序列训练网络后,该网络就形成了相应用户的特征表,于是网络对下一事件的预测错误率在一定程度上反映了用户行为的异常程度。目前还不很成熟。
基于知识的检测 基于知识的检测指运用已知攻击方法,根据已定义好的入侵模式,通过判断这些入侵模式是否出现来检测。因为很大一部分的入侵是利用了系统的脆弱性,通过分析入侵过程的特征、条件、排列以及事件间关系能具体描述入侵行为的迹象。基于知识的检测也被称为违规检测(Misuse Detection)。这种方法由于依据具体特征库进行判断,所以检测准确度很高,并且因为检测结果有明确的参照,也为系统管理员做出相应措施提供了方便。
基于知识的检测-----专家系统 将有关入侵的知识转化成if-then结构的规则,即将构成入侵所要求的条件转化为if 部分,将发现入侵后采取的相应措施转化成then部分。当其中某个或某部分条件满足时,系统就判断为入侵行为发生。其中的if-then结构构成了描述具体攻击的规则库,状态行为及其语义环境可根据审计事件得到,推理机根据规则和行为完成判断工作。
基于知识的检测-----模型推理 模型推理是指结合攻击脚本推理出入侵行为是否出现。其中有关攻击者行为的知识被描述为:攻击者目的,攻击者达到此目的的可能行为步骤,以及对系统的特殊使用等。根据这些知识建立攻击脚本库,每一脚本都由一系列攻击行为组成。
CIDF模型 • Common Intrusion Detection Frame • 组件: • 事件产生器(Event generators) • 事件分析器(Event analyzers) • 响应单元(Response units) • 事件数据库(Event databases)
输出:采取的措施 事件响应单元 R-Box 输入:存储事件 输出:分析结论 事件分析器 A-Box 事件数据库 D-Box 输出:原始或低级事件 事件生成器 E-Box 输入:原始事件源 CIDF(Common Intrusion Detection Framework)组件结构图 CIDF组件结构图
NIDS抓包 • PF_PACKET • 从链路层抓包 • libpcap • 提供API函数 • winpcap • Windows下的抓包库
分析技术的发展 • 早期的网络IDS • ——匹配方式类似于防病毒系统 • ——纯粹的模式匹配技术 • 目前的网络IDS • ——协议分析技术(状态检测、协议确认、异常分析、基于行为)
分析技术发展历程 • 1990 • 纯模式匹配 • 1996 Netranger • 协议解码+模式匹配 • 1999 SNORT • 简单协议分析技术 • 2002 联想网御IDS • 真正意义上的协议分析技术(完全协议分析)
协议分析技术与模式匹配技术 协议分析是相对模式匹配而言的,二者是在分析程度上有所不同 模式匹配 协议分析 XML Unicode HTTP TCP TCP IP IP Ethernet Ethernet
模式匹配 0 0050 dac6 f2d6 00b0 d04d cbaa 0800 4500 .P.......M....E. 10 0157 3105 4000 8006 0000 0a0a 0231 d850 .W1.@........1.P 20 1111 06a3 0050 df62 322e 413a 9cf1 5018 .....P.b2.A:..P. 30 16d0 f6e5 0000 4745 5420 2f70 726f 6475 ......GET /produ 40 6374 732f 7769 7265 6c65 7373 2f69 6d61 cts/wireless/ima 50 6765 732f 686f 6d65 5f63 6f6c 6c61 6765 ges/home_collage 60 322e 6a70 6720 4854 5450 2f31 2e31 0d0a 2.jpg HTTP/1.1.. 70 4163 6365 7074 3a20 2a2f 2a0d 0a52 6566 Accept: */*..Ref 80 6572 6572 3a20 6874 7470 3a2f 2f77 7777 erer: http://www 90 2e61 6d65 7269 7465 6368 2e63 6f6d 2f70 .ameritech.com/p a0 726f 6475 6374 732f 7769 7265 6c65 7373 roducts/wireless b0 2f73 746f 7265 2f0d 0a41 6363 6570 742d /store/..Accept- c0 4c61 6e67 7561 6765 3a20 656e 2d75 730d Language: en-us. d0 0a41 6363 6570 742d 456e 636f 6469 6e67 .Accept-Encoding e0 3a20 677a 6970 2c20 6465 666c 6174 650d : gzip, deflate. f0 0a55 7365 722d 4167 656e 743a 204d 6f7a .User-Agent: Moz 100 696c 6c61 2f34 2e30 2028 636f 6d70 6174 illa/4.0 (compat 110 6962 6c65 3b20 4d53 4945 2035 2e30 313b ible; MSIE 5.01; 120 2057 696e 646f 7773 204e 5420 352e 3029 Windows NT 5.0) 130 0d0a 486f 7374 3a20 7777 772e 616d 6572 ..Host: www.amer 140 6974 6563 682e 636f 6d0d 0a43 6f6e 6e65 itech.com..Conne 150 6374 696f 6e3a 204b 6565 702d 416c 6976 ction: Keep-Aliv 160 650d 0a0d 0a e....
协议分析 0 0050 dac6 f2d6 00b0 d04d cbaa 0800 4500 .P.......M....E. 10 0157 3105 4000 8006 0000 0a0a 0231 d850 .W1.@........1.P 20 1111 06a3 0050 df62 322e 413a 9cf1 5018 .....P.b2.A:..P. 30 16d0 f6e5 0000 4745 5420 2f70 726f 6475 ......GET /produ 40 6374 732f 7769 7265 6c65 7373 2f69 6d61 cts/wireless/ima 50 6765 732f 686f 6d65 5f63 6f6c 6c61 6765 ges/home_collage 60 322e 6a70 6720 4854 5450 2f31 2e31 0d0a 2.jpg HTTP/1.1.. 70 4163 6365 7074 3a20 2a2f 2a0d 0a52 6566 Accept: */*..Ref 80 6572 6572 3a20 6874 7470 3a2f 2f77 7777 erer: http://www 90 2e61 6d65 7269 7465 6368 2e63 6f6d 2f70 .ameritech.com/p a0 726f 6475 6374 732f 7769 7265 6c65 7373 roducts/wireless b0 2f73 746f 7265 2f0d 0a41 6363 6570 742d /store/..Accept- c0 4c61 6e67 7561 6765 3a20 656e 2d75 730d Language: en-us. d0 0a41 6363 6570 742d 456e 636f 6469 6e67 .Accept-Encoding e0 3a20 677a 6970 2c20 6465 666c 6174 650d : gzip, deflate. f0 0a55 7365 722d 4167 656e 743a 204d 6f7a .User-Agent: Moz 100 696c 6c61 2f34 2e30 2028 636f 6d70 6174 illa/4.0 (compat 110 6962 6c65 3b20 4d53 4945 2035 2e30 313b ible; MSIE 5.01; 120 2057 696e 646f 7773 204e 5420 352e 3029 Windows NT 5.0) 130 0d0a 486f 7374 3a20 7777 772e 616d 6572 ..Host: www.amer 140 6974 6563 682e 636f 6d0d 0a43 6f6e 6e65 itech.com..Conne 150 6374 696f 6e3a 204b 6565 702d 416c 6976 ction: Keep-Aliv 160 650d 0a0d 0a e....
协议分析 Frame Header Frame Data Area Interface Layer IP Datagram Header Internet Layer IP Data ICMP/UDP/TCP Header Protocol Data Transport Layer
匹配的规则子集 HTTP报文的解析路径 ETHER规则子集 IP规则子集 TCP规则子集 HTTP规则子集 例子 ETHER ARP RARP IP ICMP IGMP UDP TCP 。。。 DNS POP3 FTP HTTP
典型例子 第一步——直接跳到第13个字节,并读取2个字节的协议标识。如果值是0800,则说明这个以太网帧的数据域携带的是IP包,基于协议解码的入侵检测利用这一信息指示第二步的检测工作。 第二步——跳到第24个字节处读取1字节的第四层协议标识。如果读取到的值是06,则说明这个IP帧的数据域携带的是TCP包,入侵检测利用这一信息指示第三步的检测工作。
典型例子 第三步——跳到第35个字节处读取一对端口号。如果有一个端口号是0080,则说明这个TCP帧的数据域携带的是HTTP包,基于协议解码的入侵检测利用这一信息指示第四步的检测工作。 第四步——让解析器从第55个字节开始读取URL。 URL串将被提交给HTTP解析器,在它被允许提交给Web服务器前,由HTTP解析器来分析它是否可能会做攻击行为。
一个攻击检测实例 • 老版本的Sendmail漏洞利用 $ telnet mail.victim.com 25 WIZ shell 或者 DEBUG # 直接获得rootshell!
模式的匹配 • 检查每个packet是否包含: “WIZ” | “DEBUG”
检查端口号 • 缩小匹配范围 Port 25:{ “WIZ” | “DEBUG” }
深入决策树 • 只判断客户端发送部分 Port 25:{ Client-sends: “WIZ” | Client-sends: “DEBUG” }
更加深入 • 状态检测 + 引向异常的分支 Port 25:{ stateful client-sends: “WIZ” | stateful client-sends: “DEBUG” after stateful “DATA” client-sends line > 1024 bytes means possible buffer overflow }
例子(续) O ( N ) O ( logN ) N是规则数 线性匹配 时间 树型匹配 规则数 随着规则数的增大,树型匹配的消耗时间的增长速度远远低于线性匹配
模式匹配 • 模式匹配面临的问题: • 计算的负载:对于满负载的100Mbps以太网,需要 的计算量将是:攻击特征字节数×数据包字节数×每秒的数据包数×数据库的攻击特征数 。 • 探测准确性:模式匹配/特征搜索技术使用固定的特征模式来探测攻击,只能探测出明确的 、唯一的攻击特征,即便是基于最轻微变换的攻击串都会被忽略