IPS技术白皮书
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
在早期的网络安全防御体系中,防火墙作为第一道防线,主要负责监控和控制进出网络的数据流,阻止未授权的访问。然而随着网络攻击手法的不断进化,单纯的防火墙已无法有效识别和阻挡复杂的入侵手段,如蠕虫、病毒以及更为隐蔽的网络攻击。这些攻击往往能够绕过传统防火墙的监控,对网络系统造成严重威胁。
为了应对这些挑战,IDS(Intrusion Detection System,入侵检测系统)应运而生,它能够监测网络流量中的异常行为,提供攻击检测的功能。然而,IDS仅能进行检测和告警,无法实施实时干预,需要人工介入进行响应,这在动态和高速发展的网络环境中显得反应迟缓。
IPS技术正是在这样的背景下产生的,它不仅能够检测到入侵行为,还能够自动采取措施进行阻断。IPS的出现极大提高了网络安全防护的主动性和时效性,使得网络在面临攻击时能够即时做出反应,有效减少了潜在的损失和影响。
IPS具有如下技术特点:
· 深度防护:IPS可以对网络数据流进行协议分析和重组,并针对报文的应用层内容进行详细分析,识别出更多的攻击特征,提高攻击检测的准确性。
· 实时防护:IPS能够实时检测流经设备的网络流量,并对入侵活动和攻击性网络流量进行实时拦截。
· 全方位防护:IPS可以对多种类型的攻击提供防护措施,包括蠕虫、木马、僵尸网络、间谍软件、广告软件、CGI攻击、跨站脚本攻击、注入攻击等。
· 内外兼防:IPS可以对经过设备的流量进行检测,不仅可以防止来自企业外部的攻击,还可以防止发自企业内部的攻击。
· 庞大且不断更新的特征库:IPS支持定期自动更新特征库,以应对新的攻击威胁,提供持续的防护。
· 灵活的自定义IPS特征:IPS支持创建自定义特征,满足用户特定组网环境下的定制化防护需求。
IPS特征是用来描述网络攻击行为的一系列规则。这些特征代表了不同类型攻击的特定指标或属性,包括但不限于特定的数据包内容、特定的协议异常、恶意软件或病毒的字节序列和MD5值等。
当网络流量通过设备时,设备会实时地将流经的报文与这些IPS特征进行比较。如果报文与某个或某些特征匹配,说明它很可能是一次恶意攻击或不正常行为的一部分。基于这种匹配,IPS可以立即识别出攻击并及时采取一系列预设的响应措施,如警告网络管理员、阻断相关流量等,从而有效地检测和防御攻击,保护网络安全。
设备支持预定义IPS特征、自定义IPS特征和Snort特征。
预定义IPS特征是通过将IPS特征库导入到设备中自动生成的,特征库包含了基于对特定攻击或恶意行为详细分析形成的大量预定义特征,以及对匹配到特征后建议采取的响应措施。旨在识别和防御已知威胁。导入或自动更新特征库后,设备会自动解析库中的信息,生成相应的预定义特征,并加载到检测引擎,从而即刻提升设备监测和防御潜在威胁的能力。
图2-1 预定义IPS特征
自定义IPS特征由管理员在设备手动创建,主要由特征属性和特征规则组成。
包括特征的基本属性特征以及匹配到特征后对报文执行的动作。
· 基本属性:包括名称、描述、严重级别(如严重、高、中、低)、流量方向(服务端或客户端)。
· 动作:包括黑名单、丢弃、允许和重置以及记录日志和抓包。
表示特征的匹配条件,只有满足条件才认为匹配到特征。
· 规则逻辑:管理员可以为一个自定义特征配置多条规则,这些规则可以通过“逻辑与”或“逻辑或”的关系来联结。在“逻辑与”的关系下,流量需要满足所有规则才认为匹配成功;而在“逻辑或”的关系下,匹配任何一条规则即认为成功。
· 规则类型:支持两种类型的规则,即关键字类型和数值类型,以适应不同的检测需求。
· 规则的匹配条件与检查项:规则下可以设置具体的匹配条件(包括应用层协议、传输层协议、源/目的IPv4地址、源/目的端口、请求方法等)和检查项。只有当流量满足规则的匹配条件后,系统才会对检查项进行检测。每条规则可以配置多个检查项,这些检查项之间是“逻辑与”的关系,且按配置的顺序进行匹配检查。所有检查项都匹配成功才算是规则匹配成功。
· 触发检查项:对于关键字类型的规则,还需配置触发检查项作为检查项的触发条件。如果触发检查项匹配失败,则整条规则匹配失败,系统将不会继续对该规则下的其他检查项进行检测。
Snort特征通过导入Snort规则文件自动生成。Snort规则的基本语法结构:
规则动作 协议 源IP 源端口 -> 目的IP 目的端口 (规则选项)
Snort规则的基本构成包括规则头和规则选项两部分。
规则头定义了规则的基本操作和适用场景,包含动作、协议类型、源和目标IP地址及端口等信息。
· 规则动作:定义了当规则匹配时应该执行的动作,常见的动作包括警告、记录等。
· 协议:指定了规则适用的网络协议,例如TCP、UDP等。
· IP地址和端口:源IP和目的IP字段定义了数据包的源和目的地址,可以是具体的IP地址、网络段或关键字any。源端口和目的端口定义了相应的端口号,也可以使用关键字any或指定端口范围。
规则选项则提供详细条件,包括检查内容(如特定字符串、字节序列等)、条件(如检测阈值、数据包大小等)和警报消息等。选项通过分号分隔,并可以包含多个子选项。例如:
· msg:定义规则触发时显示的消息。
· content:指定规则查找的数据包内容。
· sid:为规则指定一个唯一的标识符。
· rev:规则的修订版本号。
下面是一个简单的Snort规则示例,该规则用于检测针对Web服务器的SQL注入尝试:
alert tcp $EXTERNAL_NET any -> $HOME_NET 80 (msg:"SQL Injection attempt"; flow:to_server,established; content:"select"; nocase; sid:1000001; rev:1;)
这条规则的含义是:当一个TCP数据包从任意外部网络地址和端口向内部网络的80端口发送,并且数据包内容(忽略大小写)包含“select”字符串时,将触发警告,消息为“SQL Injection attempt”。
IPS特征库是由专业的网络安全研究人员基于对特定的攻击行为和恶意活动进行深入分析,形成的一套广泛且持续更新的特征集合。特征库中的每一个特征都代表了一种特定的攻击模式、恶意软件行为、协议异常或任何被认为有害的网络流量特点。
IPS特征库作为一个持续更新的资源库,是网络安全防御的关键组成部分。不仅能识别和防御当前已知的威胁,还能通过定期的更新迅速适应新出现的攻击技术和方法。这确保了企业和组织能够在不断变化的网络威胁环境中保持防御的先进性和有效性。
IPS特征库的升级包括如下几种方式:
· 定期自动在线升级:设备根据管理员设置的时间间隔定期自动更新本地的IPS特征库。
· 立即自动在线升级:管理员手动触发设备立即更新本地的IPS特征库。
· 手动离线升级:当设备无法自动获取IPS特征库时,需要管理员先手动获取最新的IPS特征库,再更新设备本地的IPS特征库。
如果管理员发现设备当前IPS特征库对报文进行检测和防御网络攻击时,误报率较高或出现异常情况,则可以将其进行回滚到出厂版本。
IPS动作是指设备对匹配上IPS特征的报文做出的处理。IPS处理动作包括如下几种类型:
· 重置:通过发送TCP的reset报文断开TCP连接。
· 重定向:把符合特征的报文重定向到指定的Web页面上。
· 源阻断:阻断符合特征的报文,并将该报文的源IP地址加入IP黑名单。
· 丢弃:丢弃符合特征的报文。
· 放行:允许符合特征的报文通过。
· 捕获:捕获符合特征的报文。
· 生成日志:对符合特征的报文生成日志信息。
IPS策略中定义了设备需要将报文与哪些特征进行匹配,以及对匹配成功的报文执行的动作。
IPS白名单提供了一种灵活有效的方法,用于精确控制和管理哪些网络流量被视为安全,哪些需要被检查或阻断。通过将特定的特征ID、URL、源IP和目的IP地址等信息加入到白名单中,管理员可以确保合法且安全的网络活动不会被误报为威胁。同时,白名单的严格匹配逻辑确保了只有完全符合预设条件的流量才能被自动放行,进一步提高了网络安全水平。
IPS白名单的作用:
· 减少误报:通过将已知安全的流量加入白名单,可以有效减少误报的情况,即IPS错误地将合法行为识别为潜在威胁。
· 优化性能:对于白名单上的流量,IPS可以跳过检查过程,从而减轻设备的负担,提高处理速度和效率。
· 业务连续性:确保关键业务流量不会因误报而被中断,保障了业务流程的连续性和稳定性。
此外,白名单应作为动态工具来管理,定期审查和更新,以适应新的业务需求和安全威胁的变化。
IPS通过以下两大功能协同检测,实现对入侵行为的精确识别和阻断,保护企业信息系统和网络免遭攻击。
· IPS特征匹配:通过对报文进行特征匹配来实时检测入侵行为,能够有效地识别跨站脚本、爬虫等攻击。
· SQL语义分析:通过对报文中的SQL语句进行语义分析,精确识别SQL注入类攻击。
IPS功能通过应用层检测引擎对报文进行特征匹配来实时检测入侵行为,并基于IPS策略对报文进行处理。
IPS策略中定义了对哪些IPS特征进行匹配,以及对匹配成功的报文执行的动作。
图2-2 IPS特征匹配处理流程
管理员需要先加载特征到设备,为应用层检测引擎的特征匹配提供丰富的特征资源。应用层检测引擎对报文进行重组、解码、切分和协议解析等处理后,将报文与IPS特征进行匹配。当特征匹配成功时,会下发匹配结果到IPS业务模块。
图2-3 识别特征并下发识别结果
IPS业务模块根据特征匹配结果,判断出特征在IPS策略中需要执行的动作。在IPS策略中,特征可能执行如下几类动作:
· IPS策略中指定特征的特例动作。
· IPS策略中所有特征统一执行的动作。
· IPS策略中指定特征的预定义动作。
动作优先级由高到低依次为:特例动作 > 统一动作 > 预定义动作。
图2-4 推导动作
IPS业务模块根据动作推导结果,执行相应的动作:
· 如果报文只与一个IPS特征匹配成功,则执行推导出的动作。
· 如果报文与多个IPS特征匹配成功,则执行推导出的多个动作中优先级最高的动作。
动作优先级由高到低依次为:重置 > 重定向 > 丢弃 > 允许。其中,对于源阻断、报文捕获、记录日志,只要匹配成功的特征中存在这些动作就会执行。
图2-5 执行动作
SQL语义分析功能通过对请求报文中的SQL语句进行词法、语法和语义分析来检测是否存在SQL注入攻击,并根据检测结果对报文进行相应的处理。相对于特征匹配功能仅匹配字符串而不懂程序本身,SQL语义分析功能可以理解程序语言,并在此基础之上检测出可疑流量。
图2-6 SQL语义分析检测
当设备检测到SQL注入攻击时,对报文执行的动作与识别方式有关:
· 特征匹配:当设备仅通过特征匹配方式检测出攻击时,将对该报文执行所匹配特征的动作。
· 语义分析检测:当设备仅通过语义分析检测功能检测出攻击时,将允许报文通过并记录IPS日志。
· 特征匹配&语义分析检测:当设备通过特征匹配和语义分析检测功能均检测到攻击时,则执行“特征匹配”方式下需要执行的动作,并分别记录两种方式下的日志信息。
IPS和IDS(Intrusion Detection System,入侵检测系统)是两种旨在提高网络安全的技术,但二者在功能和使用场景等方面有所不同。IDS是一种监测工具,能够检测网络中的可疑活动和安全威胁,并向管理员发出警告。它像是一个警报系统,告知可能存在的问题,但不会进行干预。而IPS则更为积极,不仅能检测威胁,还会自动采取措施来阻止或减轻攻击的影响,类似于一个拥有自动反应能力的警卫。
表2-1 IPS和IDS技术对比
对比项 |
IDS |
IPS |
工作原理 |
IDS被动地监控网络流量,一旦检测到异常行为,就会记录并通知管理员 |
IPS主动地分析流量,在检测到攻击或异常行为时,立即阻断恶意数据包,防止其达到目标。这样的主动防御机制可以在攻击发生之前就减少潜在的损害 |
应用场景 |
IDS适用于需要详细审计和监控网络活动的场景 |
IPS适用于对安全要求更高,需要立即响应和防护的场景 |
部署方式 |
支持IDS功能的设备通常旁路部署在网络中的关键点来监控流量,不直接干涉数据包的传输 |
支持IPS功能的设备则可以直连部署在网络流量路径上,实时拦截和处理恶意流量 |
设备部署在网络出口,实时检测并阻断黑客攻击流量,保证内网服务器和内网用户的安全。防御的典型攻击包括SQL注入、XSS攻击、webshell上传、weblogic、struts2和java反序列化等。
图3-1 边界部署
设备部署在内网,实时检测并阻断异常流量,防止内网服务器非法外联、阻断内部恶意攻击、阻止已被入侵的主机在企业内部横向传播等,保证内部业务系统和内网主机的安全。防御的典型攻击包括MS17-010、挖矿病毒、内网渗透的横向攻击等。
图3-2 内网部署