网络攻击与防范
[TOC]
网络攻击概述
任何在非授权的情况下,试图存取信息、处理信息或破坏网络系统以使系统不可靠、不可用的故意行为都被称为网络攻击
常见网络攻击
常见的网络攻击类型有:拒绝服务攻击,利用型攻击,信息收集型攻击,虚假信息型攻击
拒绝服务型攻击
拒绝服务攻击(Denial of Service, DoS)利用TCP/IP协议本身的漏洞或网络中操作系统漏洞,让被攻击主机无法响应正常的用户请求而实现的
- 在DoS攻击中,攻击者加载过多的服务将系统,使得没有多余资源供其他用户使用。
分布式拒绝服务攻击:
分布式拒绝服务攻击(Distributed Denial of Service, DDoS)是一种基于DoS攻击、但形式特殊的拒绝服务攻击,采用一种分布、协作的大规模攻击方式
- DDoS攻击是利用一批受控制的主机向一台主机发起攻击,其攻击的强度和造成的威胁要比DoS攻击严重得多

缓冲区溢出攻击
缓冲区溢出攻击是一种常见且危害很大的系统攻击手段,攻击者向一个有限空间的缓冲区中复制过长的字符串,可能产生两种结果:
- 过长的字符串覆盖了相邻的存储单元而造成程序瘫痪,甚至造成系统崩溃
- 攻击者运行恶意代码,执行任意指令,甚至获得管理员用户的权限等
缓冲区溢出攻击的防范
- 编写正确的代码
- 非执行缓冲区保护
- 数组边界检查
- 程序指针完整性检查
入侵检测概述
传统安全技术的局限性
- 传统的安全技术采用严格的访问控制和数据加密策略来防护
- 大部分损失是由内部引起的,而传统安全技术难于防内
- 传统的安全技术基本上是一种被动的防护,而如今的攻击和入侵要求我们主动地去检测、发现和排除安全隐患
入侵检测系统概述
入侵(Intrusion)
企图进入或滥用计算机或网络系统的行为,可能来自于网络内部的合法用户,或网络外部的非法用户
入侵检测(Intrusion Detection)
入侵检测系统的定义:对系统的运行状态进行监视,发现各种攻击企图、攻击行为或者攻击结果,以保证系统资源的机密性、完整性和可用性
入侵检测系统(Intrusion Detection System, IDS)
定义:进行入侵检测的软件与硬件的组合便是入侵检测系统
功能:监控计算机系统或网络系统中发生的事件,根据规则进行安全审计
通过从计算机网络或计算机系统的关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象
入侵检测相关术语:
Promiscuous 混杂模式,即IDS网络接口可以看到网段中所有的网络通信量,不管其来源或目的地
Signatures 特征,即攻击的特征,Alerts 警告,Anomaly 异常,Console 控制台,Sensor 传感器,即检测引擎
入侵检测系统
按系统各模块的运行方式
- 集中式:系统的各个模块包括数据的收集分析集中在一台主机上运行
- 分布式:系统的各个模块分布在不同的计算机和设备上
根据时效性
- 脱机分析:行为发生后,对产生的数据进行分析
- 联机分析:在数据产生的同时或者发生改变时进行分析
基于主机的入侵检测系统
基于主机的入侵检测系统: Host-Based IDS(HIDS)
系统安装在主机上面,对本主机进行安全检测
-
优点
- 审计内容全面,保护更加周密;视野集中;适用于加密及交换环境;易于用户自定义;对网络流量不敏感
-
缺点
- 额外产生的安全问题;HIDS依赖性强;如果主机数目多,代价过大;不能监控网络上的情况
基于网络的入侵检测系统
基于网络的入侵检测系统:Network-Based IDS(NIDS)
系统安装在比较重要的网段内,在共享网段上对通信数据进行侦听采集数据
优点:检测范围广,提供对网络通用的保护;无需改变主机配置和性能,安装方便;独立性,操作系统无关性;侦测速度快; 隐蔽性好 ;较少的监测器,占资源少
缺点:不能检测不同网段的网络包;很难检测复杂的需要大量计算的攻击;协同工作能力弱;难以处理加密的会话
入侵检测系统包括三个功能部件:信息收集,信息分析,结果处理
信息收集
入侵检测的第一步是信息收集,收集内容包括系统、网络、数据及用户活动的状态和行为
- 尽可能扩大检测范围:需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息
- 要保证用来检测网络系统的软件的完整性:特别是入侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信息
- 信息收集的来源:系统或网络的日志文件,网络流量,系统目录和文件的异常变化,程序执行中的异常行为
信息分析
分析得到的数据,并产生分析结果
- 模式匹配:将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为
- 统计分析:首先给系统对象创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值和偏差将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生
- 完整性分析:事后分析,主要关注某个文件或对象是否被更改
入侵检测的分析方式:异常检测(Anomaly Detection),误用检测(Misuse Detection),完整性分析
异常检测:
建立正常行为的特征轮廓,检查系统的运行情况
-
优点
可以检测到未知的入侵,可以检测冒用他人帐号的行为,具有自适应,自学习功能,不需要系统先验知识
-
缺点
漏报、误报率高,入侵者可以逐渐改变自己的行为模式来逃避检测,合法用户正常行为的突然改变也会造成误警,统计算法的计算量庞大,效率很低,统计点的选取和参考库的建立比较困难
误用检测
提前建立已出现的入侵行为特征,检测当前用户行为特征,模式匹配
- 优点
- 算法简单,系统开销小,准确率高,效率高
- 缺点
- 被动,只能检测出已知攻击,新类型的攻击会对系统造成很大的威胁,模式库的建立和维护难,模式库要不断更新,知识依赖于硬件平台、操作系统和系统中运行的应用程序
完整性分析
通过检查系统的当前系统配置,诸如系统文件的内容或者系统表,来检查系统是否已经或者可能会遭到破坏
- 优点 :不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现
- 缺点:一般以批处理方式实现,不用于实时响应
结果处理
结果处理,即对分析结果作出反应。


目前网络的安全也要求IDS能够与访问控制、应急、入侵追踪等系统交换信息,相互协作,形成一个整体有效的安全保障系统
CIDF
The Common Intrusion Detection Framework, CIDF
CIDF是一套规范,它定义了IDS表达检测信息的标准语言以及IDS组件之间的通信协议
符合CIDF规范的IDS可以共享检测信息,相互通信,协同工作,还可以与其它系统配合实施统一的配置响应和恢复策略
CIDF的主要作用在于集成各种IDS使之协同工作,实现各IDS之间的组件重用,所以CIDF也是构建分布式IDS的基础

紧急响应服务能够在安全事件发生时进行紧急援助,避免造成更大的损失
- 应急响应的工作过程:准备,事件检测,抑制,根除,恢复,报告
蜜罐技术
蜜罐(HoneyPot)系统是试图将攻击从关键系统引诱开并能记录其一举一动的诱骗系统
- 当检测到对蜜罐系统的访问时,很可能就有攻击者闯入
- 蜜罐系统的另一个目的是诱惑攻击者在该系统上浪费时间,以延缓对真正目标的攻击
蜜罐的功能
- 转移攻击重要系统的攻击者
- 收集攻击者活动的信息
- 希望攻击者在系统中逗留足够的时间,使管理员能对此攻击做出响应。