null计算机网络安全(二)计算机网络安全(二)内容内容截获网络上的数据包
监听数据包的技术
Libpcap
WinPcap
入侵检测技术网络监听网络监听在一个共享式网络,可以听取所有的流量
是一把双刃剑
管理员可以用来监听网络的流量情况
开发网络应用的程序员可以监视程序的网络情况
黑客可以用来刺探网络情报
目前有大量商业的、免费的监听工具,俗称嗅探器(sniffer)以太网络的工作原理以太网络的工作原理载波侦听/冲突检测(CSMA/CD, carrier sense multiple access with collision detection)技术
载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲
如果空闲,就传输自己的数据
如果信道被占用,就等待信道空闲
而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突
以太网采用了CSMA/CD技术,由于使用了广播机制,所以,所有与网络连接的工作站都可以看到网络上传递的数据以太网卡的工作模式以太网卡的工作模式网卡的MAC地址(48位)
通过ARP来解析MAC与IP地址的转换
用ipconfig/ifconfig可以查看MAC地址
正常情况下,网卡应该只接收这样的包
MAC地址与自己相匹配的数据帧
广播包
网卡完成收发数据包的工作,两种接收模式
混杂模式:不管数据帧中的目的地址是否与自己的地址匹配,都接收下来
非混杂模式:只接收目的地址相匹配的数据帧,以及广播数据包(和组播数据包)
为了监听网络上的流量,必须设置为混杂模式共享网络和交换网络共享网络和交换网络共享式网络
通过网络的所有数据包发往每一个主机
最常见的是通过HUB连接起来的子网
交换式网络
通过交换机连接网络
由交换机构造一个“MAC地址-端口”映射表
发送包的时候,只发到特定的端口上在交换式网络上监听数据包在交换式网络上监听数据包ARP重定向技术,一种中间人攻击ABGW1 B打开IP转发功能2 B发送假冒的arp包给A,声称自己是GW的IP地址3 A给外部发送数据,首先发给B4 B再转发给GW做法:利用dsniff中的arpredirect工具发送数据包——Libnet发送数据包——Libnet利用Libnet构造数据包并发送出去
关于Libnet
支持多种操作系统平台
提供了50多个C API函数,功能涵盖
内存管理(分配和释放)函数
地址解析函数
各种
类型的数据包构造函数
数据包发送函数(IP层和链路层)
一些辅助函数,如产生随机数、错误报告等使用Libnet的基本过程使用Libnet的基本过程数据包内存初始化
网络接口初始化
构造所需的数据包
计算数据包的校验和
发送数据包
关闭网络接口
释放数据包内存libnet_init_packet(…);
libnet_open_raw_sock(…);
libnet_build_ip(…);
libnet_build_tcp(…);
libnet_do_checksum(…);
libnet_write_ip(…);
libnet_close_raw_sock(…);
libnet_destroy_packet(…);可适应网络安全模型可适应网络安全模型网络安全是相对的,没有绝对的安全
P2DR安全模型
以安全策略为核心网络安全新定义网络安全新定义及时的检测和处理时间新定义:Pt > Dt + RtP2DR安全模型P2DR安全模型这是一个动态模型
以安全策略为核心
基于时间的模型
可以量化
可以计算
P2DR安全的核心问题——检测
检测是静态防护转化为动态的关键
检测是动态响应的依据
检测是落实/强制执行安全策略的有力工具IDS: Intrusion Detection SystemIDS: Intrusion Detection System入侵检测系统介绍
入侵检测系统分类
入侵检测系统用到的一些技术
入侵检测系统的研究和发展IDS的用途IDS的用途攻击工具
攻击命令攻击机制目标网络目标系统攻击者漏洞扫描
评估
加固攻击过程实时
入侵
检测入侵检测系统的实现过程入侵检测系统的实现过程信息收集,来源:
网络流量
系统日志文件
系统目录和文件的异常变化
程序执行中的异常行为
信息分析
模式匹配
统计分析
完整性分析,往往用于事后分析入侵检测系统的通用模型入侵检测系统的通用模型数据源模式匹配器系统轮廓分析引擎数据库入侵模式库异常检测器响应和恢复机制入侵检测系统的种类入侵检测系统的种类基于主机
安全操作系统必须具备一定的审计功能,并记录相应的安全性日志
基于网络
IDS可以放在防火墙或者网关的后面,以网络嗅探器的形式捕获所有的对内对外的数据包
基于内核
从操作系统的内核接收数据,比如LIDS
基于应用
从正在运行的应用程序中收集数据IDS的技术IDS的技术异常检测(anomaly detection)
也称为基于行为的检测
首先建立起用户的正常使用模式,即知识库
标识出不符合正常模式的行为活动
误用检测(misuse detection)
也称为基于特征的检测
建立起已知攻击的知识库
判别当前行为活动是否符合已知的攻击模式异常检测异常检测比较符合安全的概念,但是实现难度较大
正常模式的知识库难以建立
难以明确划分正常模式和异常模式
常用技术
统计
预测模式
神经网络误用检测误用检测目前研究工作比较多,并且已经进入实用
建立起已有攻击的模式特征库
难点在于:如何做到动态更新,自适应
常用技术
基于简单
的模式匹配技术
基于专家系统的检测技术
基于状态转换分析的检测技术
基于神经网络检测技术
其他技术,如数据挖掘、模糊数学等IDS的两个指标IDS的两个指标漏报率
指攻击事件没有被IDS检测到
误报率(false alarm rate)
把正常事件识别为攻击并报警
误报率与检出率成正比例关系基于网络的IDS系统基于网络的IDS系统收集网络流量数据
利用sniff技术
把IDS配置在合理的流量集中点上,比如与防火墙或者网关配置在一个子网中
利用某些识别技术
基于模式匹配的专家系统
基于异常行为分析的检测手段一个轻量的网络IDS: snort一个轻量的网络IDS: snort是一个基于简单模式匹配的IDS
源码开放,跨平台(C语言编写,可移植性好)
利用libpcap作为捕获数据包的工具
特点
设计原则:性能、简单、灵活
包含三个子系统:网络包的解析器、检测引擎、日志和报警子系统
内置了一套插件子系统,作为系统扩展的手段
模式特征链——规则链
命令行方式运行,也可以用作一个sniffer工具网络数据包解析网络数据包解析结合网络协议栈的结构来设计
Snort支持链路层和TCP/IP的协议定义
每一层上的数据包都对应一个函数
按照协议层次的顺序依次调用就可以得到各个层上的数据包头
从链路层,到传输层,直到应用层
在解析的过程中,性能非常关键,在每一层传递过程中,只传递指针,不传实际的数据
支持链路层:以太网、令牌网、FDDI异常检测的网络IDS异常检测的网络IDS基于规则和特征匹配的NIDS的缺点
对于新的攻击不能正确识别
人工提取特征,把攻击转换成规则,加入到规则库中
异常检测的NIDS可以有一定的自适应能力
利用网络系统的已知流量模式进行学习,把正常流量模式的知识学习到IDS中
当出现新的攻击时,根据异常行为来识别
并且,对于新的攻击以及异常的模式可以反馈到IDS系统中
人工神经网络(ANN)用于异常检测人工神经网络(ANN)用于异常检测ANN有比较好的非线性分析能力
一定程度上可以代替统计检测技术
通过历史数据学习用户的典型特征
难点:
采集好的学习样本并量化表达
如何获得自适应?
两个简单例子
MLP网络用于入侵检测
CMAC用于拒绝服务检测CMAC网络用于自动对抗拒绝服务CMAC网络用于自动对抗拒绝服务CMAC(Cerebellar Model Articulation Controller)
1975年Albus提出
主要用于控制领域
网络模型
三层前向网络
优势
具有聚类的作用
容易获得自适应能力CMAC对于拒绝服务的模拟结果分析CMAC对于拒绝服务的模拟结果分析学习速度快
On-line学习攻击模式
能够精确地识别以前碰到过的攻击模式
对于同类型的攻击,具有较好的适应性
在训练了ping flood之后,识别UDP packet storm攻击的错误为2.2%
对状态的分析能力
如果一种网络行为模式在初始时候被识别的概率为75%,随着系统状态的进一步退化,同样的行为模式被识别的概率应该增加
系统的反馈用来增强识别攻击的可能性基于主机的IDS系统基于主机的IDS系统信息收集
系统日志
系统状态信息
特点:OS相关
常用的分析技术
统计分析
状态转移分析
关联分析
……STATSTATSTAT: A state transition analysis tool for intrusion detection
由美国加州大学Santa Barbaba分校开发
从初始状态到入侵状态的转移过程
用有限状态机来表示入侵过程
初始状态指入侵发生之前的状态
入侵状态指入侵发生之后系统所处的状态
系统状态通常用系统属性或者用户权限来描述
用户的行为和动作导致系统状态的转变S1S2S3AssertionsAssertionsAssertionsSTAT的优缺点STAT的优缺点优点:
状态转移图提供了一种针对入侵渗透模式的直观的、高层次的、与审计记录无关的表示方法
用状态转移法,可以描述出构成特定攻击模式的特征行为序列
状态转移图给出了保证攻击成功的特征行为的最小子集,从而使得检测系统可以适应相同入侵模式的不同表现形式
可使攻击行为在到达入侵状态之前就被检测到,从而采取措施阻止攻击行为
可以检测协同攻击和慢速攻击
缺点:
状态(assertions)和特征行为需要手工编码
Assertions和特征用于表达复杂细致的入侵模式时可能无法表达
STAT只是一个框架,需要具体的实现或者与其他系统协同工作
STAT的速度相对比较慢STAT——USTATSTAT——USTATUSTAT:用于UNIX系统的STAT实现
包括四部分
预处理器:对数据进行过滤,并转换为与系统日志文件无关的格式
知识库:包括状态描述库和规则库。规则库用于存放已知攻击类型所对应的状态转移规则;状态描述库存放系统在遭受不同类型攻击下所出现的状态
推理引擎:根据预处理器给出的信息和状态描述库中定义的系统状态,判断状态的变化并更新状态信息。一旦发现可疑的安全威胁,
决策引擎
决策引擎:将安全事件通知管理员,或者采取预先定义的自动响应措施
基于STAT的IDS基于STAT的IDSUSTAT
NSTAT
把USTAT扩展到多台主机,从而可以检测到针对多台共享同一个网络文件系统的主机的攻击
NetSTAT
是一个基于网络的IDS,分析网络中的流量,找到代表恶意行为的数据包
WinSTAT
基于主机的IDS,分析Windows NT的事件日志
WebSTAT
基于应用的IDS,用Apache Web Server的日志作为输入
AlertSTAT
是一个高层的入侵关联器,以其他检测器的报警作为输入,以便检测出高层次、多步骤的攻击IDS的部署和结构IDS的部署和结构入侵检测系统的管理和部署
多种IDS的协作
管理平台和sensor
基于Agent的IDS系统
Purdue大学研制了一种被称为AAFID(Autonomous agents for intrusion detection)的IDS模型
SRI的EMERALD(Event Monitoring Enabling Response to Anomalous Live Disturbances)商业IDS例子:
ISS RealSecure结构RealSecure ConsoleRealSecure OS SensorRealSecure Server Sensor商业IDS例子:
ISS RealSecure结构RealSecure Network SensorIDS的困难IDS的困难异常检测技术仍然需要研究和发展
NIDS的部署
交换式网络的普及
有些交换机提供了“把多个端口或者VLAN镜像到单个端口”的能力,用于捕获数据包
应用系统的多样性
需要统一的
交换信息
IPSec等一些加密或者隧道协议
……IDS与响应和恢复技术IDS与响应和恢复技术IDS属于检测的环节,一旦检测到入侵或者攻击,必须尽快地做出响应,以保证信息系统的安全
IDS的响应机制,可以从基本的管理角度来考虑,也可以从技术角度来实施,包括与其他防护系统的互操作,比如防火墙
对于一个企业而言,IDS与DRP(Disaster Recovery Planning)需要一起来制订和实施
DRP包括
业务影响分析(BIA, Business Impact Analysis)
数据必须定期备份
信息系统的根本目的是提供便利的服务
灾难评估
明确责任人IDS的研究与发展IDS的研究与发展IDS自身的发展
基于异常检测的技术
分布式IDS系统
引入生物学免疫系统的概念
与其他防护系统的集成
IDS与其他学科
IDS与模式识别、人工智能
IDS与数据挖掘
IDS与神经网络
IDS与……
IDS之间的互操作
CIDF: 由美国加州大学Davis分校提出的框架,试图规范一种通用的语言格式和编码方式来表示IDS组件边界传递的数据
IDEF: IETF IDWG提出的草案,规范了部分术语的使用,用XML来描述消息格式。