ImpervaWAF技术白皮书.doc
ImpervaWAF技术白皮书Imperva WAF 技术概述Imperva SecureSphere 概述3部署拓扑4部署选项4安全引擎4透明检测5透明检测架构6透明检测概览6全面的应用程序感知8会话保护9网络和平台攻击保护9URL 特征9Imperva SecureSphere 概述传统的防火墙,在发挥重要作用的同时,却无法解决以上任何问题。防火墙能够提供广泛的网络安全防护,有时还能够提供基本的应用程序感知,但缺乏认识或保护应用程序及其数据的能力。对这些威胁的防护需要更高级别的认识 - 在应用程序行为层。SecureSphere® 系统专门针对这一问题进行了开发,从而提供了该级别的保护。应用程序行为层 - OSI 及其上层 SecureSphere 系统的保护分布在近似 OSI 7 层模型的多个层面上。防火墙对应 OSI 的第 2 到 第 4 层,协议验证和应用程序层特征码类似于 OSI 第 7 层,如下图所示。但是,多个 SecureSphere 的高级保护进程(例如:特征评估、Web/数据库关联和关联攻击检测)面向应用程序的行为,相当于第 8 层,该层未在 OSI 模型中定义。图 2。1:应用程序行为层 位于 OSI 模型之上中心管理SecureSphere 系统的 MX 管理服务器是三层管理架构的中心点,允许组织机构同时自动管理多个网关。安全策略是集中式管理,因此只需单击一下鼠标,就可以自动下发到多个网关。MX 可用于各种任务,例如:配置管理、告警汇聚、分析及浏览、审计分析、报告、系统事件搜集等等。 部署拓扑SecureSphere® 网络架构同时支持非在线网关(嗅听)和在线网关.在线网关的侵入性强一些,但具有更好的阻止能力。嗅听网关是完全非侵入式的,不能提供较为可靠的阻止能力(即:TCP 重置).部署选项 SecureSphere® 系统支持以下部署模式:m 在线拓扑如果要为数据中心提供最高级别的安全性保护,则可以将 SecureSphere 网关部署为在线模式。在此部署方案中,网关充当外部网络与受保护的网段之间的连接设备.网关将阻止在线(即:丢弃包)恶意通信。一个在线网关虽然能够保护最多两个网段并拥有六个网络接口端口。但不能工作于在线/嗅听混合模式。其中的两个端口用于管理:一个用于连接管理服务器,另一个是可选的,可用于连接外部局域网。其他四个端口属于两个用于在线检查的网桥。每个网桥都包含一个外部网络端口和一个受保护网络端口。m 嗅听拓扑SecureSphere 使用无在线故障点和性能瓶颈的透明网络网关,以确保为部署和集成消除此类安全产品通常所具有的风险。阻止是通过发送 TCP 重置实现 但这无法保证阻止操作一定成功,因此 TCP 重置可能:m 不能到达受保护的服务器m 被发送设备忽略嗅听网关是一种被动嗅听设备。用于连接企业集线器与交换机,可控制受保护服务器的通信。通信信息将会被复制到该设备,而不会直接通过.因为不是在线的,因此嗅听网关不会影响性能,也不会影响服务器的稳定性。单个 SecureSphere 网关可以轻松监控多个网段,因为它包含多个可用于嗅听不同网段的网络接口端口。唯一的限制就是其所能处理的通信量。单个网关可以监控不同类型的服务器(例如:Web 服务器、数据库和电子邮件服务器)。不需要在多个不同网关之间分离这些任务。安全引擎SecureSphere® 网关可为不同通信流(Web、数据库以及所有其他通信)提供适当的保护,如下图所示。 在各个级别上,安全引擎都可以立即阻止通信(在线部署下)或连续监测特定 IP、应用程序用户和会话,以供将来阻止(如果证实需要的话)。SecureSphere 安全代理是负载检查和处理定向至受保护服务器的通信的模块.安全引擎包含多个安全层,大致与 OSI 模型对应,从较低级别的网络安全层(防范基于网络的攻击)开始,通过协议和基本应用功能(例如:HTTP 协议合规性和应用程序攻击特征码)一直到高级别的保护(例如:应用程序特征和关联攻击验证)。图 7。2:SecureSphere 安全引擎级别透明检测为何需要透明检测?“透明检测”可解析、跟踪和重构 HTTP 事务而无需中断 HTTP 连接。该部署方法能够提供一个对应用程序与网络透明的(因此,几乎无需变更任何部署)、高吞吐量、低延迟的解决方案。因而,当系统运行环境对网络延迟敏感,需要高吞吐量或无法容忍应用程序和网络部署修改时,许多 SecureSphere WAF 客户选择将系统部署于透明桥接模式。为何需要代理?代理部署的最大优点是,在该模式下,代理可以轻松修改内容.当有超过安全性的其他重要部署需求时(例如:执行 URL 转译或诸如对象缓存的各种内容加速技术),客户可以选择代理部署。透明检测与代理在所有部署模式下,SecureSphere 的安全模型和安全处理都是相同的。无论处于哪种部署模式,SecureSphere 都将检查 HTTP 头字段、URL 参数、表单字段、方法、Cookie、SOAP 操作和所有其他 HTTP 元素.SecureSphere 还跟踪会话信息,包括用户名、会话标识(Cookie 或参数)和其他会话数据,以允许其为用户提供针对基于会话的攻击的防护。SecureSphere 在所有四种部署模式下,都能够提供相同级别的应用程序感知,在所有在线部署模式下(网桥、路由器和代理)都能提供相同级别的保护。从第一代 WAF 产品起,代理技术已使用多年,许多客户了解代理如何处理、检查和阻止网络通信.本文诣在描述“透明检测”是如何执行这些功能的。 最低延迟SecureSphere 系统出众的吞吐能力基于其独特的分组存储处理方式。系统的基本设计理念是各个分组存储且仅存储一次.其他系统制作分组的复本以供需要处理分组的各个层使用。这种繁重的多重复制将大大消耗系统资源并降低系统性能。而 SecureSphere 系统仅将分组存储在单一、中心化的存储中,各个层的进程都可以直接访问和处理该分组.透明检测架构透明检测概览要防护应用程序级攻击,应用程序层防火墙必须分析完整的 TCP 流。TCP 流是来自各个 IP 分组的数据的组合,使 TCP/IP 成为连续有序的应用数据流。一旦流被重构,WAF 可以查看和检测完整的应用程序请求并应用适当的安全策略。SecureSphere 会维持一个“影子”TCP/IP 堆栈以重构 TCP 流。在将完整的请求发送至 Web 服务器之前,该影子 TCP/IP 堆栈会以正确的 TCP 序列处理数据,并会分析各个 HTTP 请求.如果检测到攻击,违规分组将会被丢弃,整个连接将会被阻止。因为 SecureSphere 会在完成连接之前分析 TCP 流,所以 SecureSphere 始终先于应用程序服务器一步,能够在完整的请求到达应用程序服务器之前,防范任何攻击和应用阻止策略.分组 - 基本单元作为基于网络的设备,SecureSphere® 系统的基本操作单元为分组(或帧)。SecureSphere 存储分组,直到拥有在尽可能最低的层次中处理它们的足够信息。这可能意味着需要累积可以组成单个消息的分组,或者有时需要存储特定会话的所有分组(时间较长的任务)。下图演示了该处理过程:消息 1 的所有分组到达 SecureSphere 安全引擎。这些分组将会被检查、存储,直到收到完整的消息。因为适当保护层的检查,消息 1 触发一条安全规则,一个 TCP 重置将会被发送.几个已经到达受保护服务器的分组在其被组合成消息之前将会被丢弃,会话(基于该消息)也将会被中断。注意:在“反向代理"配置中,这些分组甚至无法到达受保护的服务器。如果分组与较低的安全层违反(在此阶段可应用的层,例如:防火墙、网络特征码),策略中指定的操作将会被应用。或者,如果分组与相关层的安全策略不违反,则分组将会被传递至受保护的服务器。如果被检查的分组是包含请求的多个分组之一,则该分组将会保存在内存中以供更高级别的检查使用。一旦整个请求到达网关,则更高级别的检查将会被应用至整个请求(例如:特征、关联),以采取进一步措施。图 7.3:安全引擎如何处理分组、消息、会话各个安全层在其有效时将会被应用:m 网络安全层在分组级别上应用于定向至受保护服务器的全部通信。m 较高的应用程序层在消息级别(例如:HTTP 请求或 SQL 查询)上应用于那些由 SecureSphere 深度分析的通信类型,一般主要用于包含 HTTP 和 SQL 协议的企业应用程序中的数据传输.处理 HTTP 请求SecureSphere在不同的阶段分析不同类型的攻击。例如:SecureSphere 立即阻止具有过长 URL 的 HTTP 请求。因为是明显的溢出尝试,所以 SecureSphere 不需要通过处理整个请求来阻止连接. 但是,在重新组装和解码整个 HTTP 请求后,SecureSphere 将仅识别冗余编码规避技术.如果配置为阻止攻击,SecureSphere 将不会完成连接,防止攻击到达 Web 应用程序。SecureSphere 采用三个解析层来精确阻止 Web 应用程序攻击:i. 首先,SecureSphere 使用流上的批量 URL 编码检查 TCP/IP 流以寻找攻击特征码.然后,SecureSphere 分析基本 HTTP 协议信息 URL、报头值、参数名称和值,但不分析其全部内容。在此,例如:SecureSphere 会将过长参数(可能是一次缓冲溢出尝试)识别为 HTTP 协议违反。在最后一层,SecureSphere 将分析完整的 HTTP 请求和响应,标准化编码内容,检测规避技术,检查自定义特征码,并使用应用程序特征验证输入。其重建 TCP 流和分析 TCP 3 次握手 (TCP 3-way handshake) 的能力允许 SecureSphere 精确分析 HTTP 请求和响应中的所有元素.在提供卓越的性能和透明性的同时,透明检测确保所有应用程序级攻击都能被阻止.阻止机制检测到 HTTP 违反时,SecureSphere 将执行以下操作:m 生成警报m 阻止连接m 在特定时段内阻止会话、应用程序用户或源 IP 地址m 在特定时段内监测会话、应用程序用户或源 IP 地址m 向攻击者发送响应页面(完整的 HTML 页面或 HTTP 重定向)m 向 HTTP 服务器发送 TCP 重置命令以释放服务器资源全面的应用程序感知Imperva 基于内核的透明检测提供真正的应用程序可视性。在所有部署模式下,SecureSphere 都能解析 HTTP 请求和响应中的各个元素,包括:m HTTP 头变量m URL 参数m 表单字段m Cookiem SOAP 操作m XML 元素m HTTP 方法SecureSphere 不仅可以动态地设置这些元素的特征,还可以学习用户行为.例如:它可以为表单字段设置最小和最大长度以及可接受的字符特征。SecureSphere 还可以动态识别用户登录表单。因此,当用户在网站上导航时,SecureSphere 可以通过用户名跟踪用户。各个方面的应用程序特征都可以通过 SecureSphere Web 管理接口查看和编辑。会话保护为了精确跟踪用户,SecureSphere 在一个状态表中记录所有用户属性。该状态表存储会话令牌(Cookie 或 URL 参数)、用户 IP 地址和浏览器信息(浏览器版本、可接受语言、可接受的编码类型)。SecureSphere 还记录会话标识是何时由 Web 服务器设置的。 如果会话令牌被保护,则意味着不允许用户更改会话值,SecureSphere 将阻止篡改会话值的用户。类似地,如果用户提供一个不是由 Web 服务器设置的会话值,SecureSphere 将阻止该用户. 因为 SecureSphere 会跟踪会话的创建时间,所以如果会话长期闲置,则当用户试图重新连接时,SecureSphere 将阻止用户(或生成警报,或将用户重定向至登录页面等)。这可以保护 Web 应用程序免受会话重用攻击。 SecureSphere 保护用户会话而无需插入令牌或修改会话内容。与需要修改 Cookie 以提供安全保护的第一代 Web 应用程序防火墙相比,这是一次技术飞跃。修改 Cookie 可能产生很多不可预期的后果。它可能会影响用户与 Cookie 的交互病改变应用程序功能.在许多情况下,修改 Cookie 可能会干扰应用程序的业务功能.网络和平台攻击保护除了 Web 应用程序攻击,SecureSphere 还可以阻止 Web 服务器软件 (Apache、IIS)、中间件和平台攻击。SecureSphere 使用超过 3000 个的攻击特征码来保护应用程序堆栈的所有层,这些特征码来自诸如 Bugtraq、CVE® 和 Snort® 的公开源以及从 Imperva 应用防护中心 (ADC) 导出的未公开攻击。来自 ADC 的定期安全更新确保始终强制提供最新的防护。通过能刻划 Web 蠕虫攻击的独特属性组合,SecureSphere 还可以检测最新的零日攻击蠕虫。 集成状态网络防火墙可以阻止未授权用户、危险协议和网络攻击。访问控制策略使系统不暴露于非必需或不安全的协议。 URL 特征URL 特征概览URL 特征是 SecureSphere® 检测用户向受保护 Web 服务器请求的 URL 的偏差和生成 URL 违反的基准。URL 特征包含以下信息:m 该服务器组所使用的 URL 列表m 各个 URL 所使用的 HTTP 方法m 各个 URL 中包含的参数的列表m 各个参数的属性集合:值类型、最小长度、最大长度、是否必需、是否为只读参数、是否为参数前缀。SecureSphere 可基于受保护 Web 服务器的实际通信自动生成 URL 特征。特征是逐步生成的,所有 URL 都将在 学习模式下启动,等到搜集到足够的信息后,所有 URL 将自动进入保护模式.管理员可以控制该转换的阈值(在 GUI 中:管理 系统定义 > 切换至“保护"模式阈值).学习模式下学习的信息当您创建具有 Web 服务的新服务器组,或将新的 Web 服务添加至现有 SG 时,SecureSphere® 将会开始监测与该服务相关的所有通信。它会利用其学习的所有参数创建特征。如果没有适用于这些通信的已定义服务,系统将认为这些通信属于默认服务. SecureSphere 会学习每个应用程序的所有 URL.如果 SecureSphere 首次发现了以前从未见多的 URL,则会将其添加至处于学习模式的特征中。当 SecureSphere 搜集到了足够的有关 URL 的观测信息后,它将会将特征的模式从学习切换至保护,并开始随时就与特征有偏差的状况生成违反和操作。请注意 SecureSphere 会避免学习受保护应用程序中实际上不存在的 URL。当 SecureSphere 发现一个对不属于特征的 URL 的请求时,它会在将该 URL 添加至特征之前,先检查响应代码.如果响应表明该 URL 不存在或是一个已断开的链接或引用(例如:“HTTP 404 Not Found”响应),则 SecureSphere 会将该 URL 认为该 URL 有问题。否则,SecureSphere 会将该 URL 添加至特征并开始学习该 URL。特征视图显示所有 URL 及其模式(即:学习、保护)。当系统搜集到有关特定 URL 的足够信息时,SecureSphere 会自动将该 URL 从学习模式切换至保护模式,因此在任意时刻,URL 列表都可能包含处于两种模式之一的分组。当 URL 处于保护模式时,SecureSphere 就会开始随时就与特征有偏差的状况生成违反和操作。对于每个 URL,SecureSphere 都将学习以下信息:m HTTP 方法 一个 URL 中使用的 HTTP 方法的列表(例如:GET、POST、OPTIONS 或 HEAD).m 参数 一个 URL 中使用的参数的列表.对于各个参数,SecureSphere 将学习以下信息:q 参数是否必需(即:必须出现在该 URL 中的各个请求中)q 最小和最大参数长度q 允许的值类型q 参数是否只读(即:一个隐藏字段或嵌入链接的一部分)。值类型SecureSphere ® 自动为各个已学习的参数设置允许值类型特征。如果在保护模式下,特定参数的值与已设置的值类型特征不匹配,SecureSphere 将生成“值类型违反”。各个参数都拥有主值类型和扩展值类型。主值类型及扩展值类型列表定义了参数值中允许的字符组。正则表达式 SecureSphere 用户可能会要求严格限制未学习的(即手动插入的)类型的参数值。示例:m 日期应为美国格式(月,日)而不是欧洲格式(日,月),或者需要使用特殊分隔符(使用“:”,而不是“/”或“ ”)。m 信用卡号码必须为 4 组 4 位号码,且第一组需与 5 个特定号码中的某一个匹配。这些类型限制可以通过正则表达式来实现。可用操作可对特征执行以下操作:m 手动添加/编辑/删除 URLm 在学习模式和包含模式之间手动切换 URLm 锁定和释放 URL 和字典m 定义/删除参数前缀m 添加/移除 URL 参数m 确定参数的最小和最大字符数m 确定参数是否必需m 定义参数值类型m 释放只读参数m 定义 URL 模式m 定义 Web 应用程序用户跟踪已断开的链接或引用选择一个已断开的链接或引用时,SecureSphere 系统允许您查看其引用者(即指向该链接的 URL)。已断开的链接已断开的链接是站点页面上指向不存在的 URL 的链接。用户单击该链接时,将获得一个 404 Not Found 应答。已断开的链接是多方面的原因造成的.例如:页面已被刻意移除,但某些指向该页面的链接仍被保留。另一个原因可能是攻击者试图从站点删除页面,或者在维护作业中,页面被错误删除。SecureSphere® 自动识别已断开的链接并将其存储在特征中。已断开的引用已断开的引用是指向受保护网站上的某个页面的 Web 链接。与已断开的链接不同,已断开的引用出现于外部网站(例如:目录和搜索引擎)而不是受保护的网站本身。用户单击已断开的引用将会生成一个对受保护网站上的不存在的 URL 的请求,并在响应中获得一个 404 Not Found 应答。SecureSphere 自动识别已断开的引用并将其存储在特征中。过滤 URLSecureSphere® 特征浏览器可以根据 URL 的特征过滤将要显示的 URL。“过滤 URL”对话框显示所有可以用于过滤查询的字段。如果填写多个字段,则可以在字段之间使用 AND 操作符。例如:如果“主机”字段设置为“myhost”,“HTTP 方法”设置为“GET",则浏览器将会显示所有属于“myhost"并使用“GET”方法的 URL。请注意,您可以为所有字段选择等于(=)或不等于(<)。对于“出现次数"字段,您可以使用小于(<)和大于(>).浏览器将显示所有 URL:m 选择 = 时,与输入值相等的 URLm 选择 时,与输入值不相等的 URLm 选择 > 时,出现次数大于输入值的 URL m 选择 时,出现次数小于输入值的 URL 对于 URL 字段,您还可以选择“LIKE”选项。例如:home/ab 将返回所有包含文本“home/ab"的 URL。注意:过滤器选项为显示选项。它修改显示,以使其仅包含过滤后的 URL,而不会在特征建模进程中过滤任何 URL。SOAP 和 XML 显示SecureSphere® 自动识别包含 XML 和 SOAP 内容的 URL。对于各个 SOAP/XML URL,SecureSphere 将显示该 URL 中所有已学习的 SOAP 操作.如果 URL 不包含任何 SOAP 操作,但包含 XML 操作,则 SecureSphere 将其作为 默认 SOAP 操作显示。URL 切换至保护模式时,SecureSphere 会随时就使用未授权 SOAP 操作访问 URL 的尝试调用未授权的 SOAP 操作违反。SecureSphere 会将 XML 文件分解为结构。每个结构代表一个值。结构是通过使用包含所有值的嵌套标记的完全分级结构创建的。例如:基于以下模式的 XML 文件:<codeschema> </code>code>complexType name=”purchaseOrder” /code<code<element name=”comment" type="string"/> /code>code><element name=”item" minOccurs=”0"> </code>code<complexType> </code<code>element name=”productName" type="string”/> </codecode><element name=”quantity” / </code><code>element name=”Price" type="decimal"/> </code><code<attribute name="partNum” type=”SKU"/> </codecode/complexType> /code><code/element> </code>code/complexType </code<code/schema> /code将使用以下结构表示:<code>XML/purchaseOrder/comment /code>code>XML/purchaseOrder/item/productName/code><code>XML/purchaseOrder/item/quantity</code><code>XML/purchaseOrder/item/Price /code系统会自动学习这些结构,并会将它们添加至 SOAP 操作的“参数”部分。对于这些结构,SecureSphere 学习其最大和最小大小、值类型以及是否必需(和其学习常规 URL 参数的方式完全一致).当一个与特征不匹配的请求到达时,SecureSphere 将调用“XML 值长度”、“XML 值类型”和“未找到必需 XML 属性/元素”违反.对于每个 URL,SecureSphere 还将学习除了作为 SOAP URL 访问,该 URL 是否还可以作为常规 URL 访问。这取决于 URL 是否具有与其关联的 HTTP 方法(您可以对此进行编辑)。如果 URL 不具有 HTTP 方法,则意味着该 URL 只能作为 SOAP URL 访问,SecureSphere 将随时就某人试图将该 URL 作为非 SOAP URL 访问调用“对仅适用于 SOAP 的 URL 的非 SOAP 访问”违反。对于未学习或配置为 SOAP URL 的 URL,系统将随时就某人试图将该 URL 作为 SOAP URL 访问调用对 非 SOAP URL 的 SOAP 访问违反。URL 模式特征SecureSphere 管理员可以在 URL 路径中定义模式,以消除大型站点或动态站点中经常遇到的问题。假设有一个站点,对于每个用户都有一个不同的文件夹,这些文件夹包含相同的文件。例如:所有文件夹 /mickey/ 和 /dave/ 均包含文件 show.asp 和 order.asp.对于每个用户,该站点都会引入两个新的 URL,因此 SecureSphere 是永远不会停止学习新的 URL 的。“URL 模式”通过允许管理员定义一个 URL 前缀或后缀,并将此模式作为一组已学习的 URL 处理来解决此问题.每一个与该模式匹配的新 URL 将会被标识为合法 URL,不会触发未知 URL 违反。在以上示例中,可以将 show.asp 和 order.asp 定义为 URL 后缀模式.这样可以确保无论这些文件位于何处,都能够得到适当的保护.注意,您可以为以下项定义后缀模式:m 文件类型 - (例如:aspx)m 特定文件 (例如:order。asp)m 文件名称及其部分路径 -(例如:/public/print.asp 将匹配 /scripts/public/print.asp 和 /home/public/print。asp)如果您拥有包含大量相同类型的文件的文件夹,则可以考虑使用前缀模式。例如:如果文件夹 /public/calculators/ 包含数百个具有相同参数和行为的文件,则您可以将 /public/calculators/ 定义为 URL 前缀,则所有与该模式匹配的文件都将会受到该模式的保护。注意:您可以考虑不学习或不保护静态文件(例如:图像文件、MSOffice 文件)。Cookie 特征SecureSphere® 系统跟踪 Cookie 并验证攻击者或终端用户是否:m 修改由 Web 应用程序设置的 Cookie 内容m 尝试注入不是由 Web 应用程序发送给他们的 Cookie从创建新的 Web 服务器组开始,SecureSphere 就会开始学习哪些 Cookie 属于该服务器组.在学习阶段(各个 Cookie 的学习阶段各不相同),Cookie 会显示在“正在学习中的 Cookie"页面中.学习结束后,SecureSphere 或者保护该 Cookie,或者忽略该 Cookie。服务器组的 Cookie 特征页面显示三个不同的列表:m 正在学习的 Cookiem 受保护的 Cookie 是在会话期间不会发生变化的 Cookie。忽略的 Cookie - 是值在会话期间发生变化且 SecureSphere 无法验证变化的 Cookie。例如,当 Cookie 可以被(如 JavaScript)浏览器使用客户端代码修改时,Cookie 是不相关的,因为浏览器可能会将其更改为一个完全不同的值。另一个例子是,一个 SecureSphere 未检测的 web 服务器在会话期间更改 cookie 值.在这种情况下,SecureSphere 可能会发现一个 Cookie 有多个不同的值,由于 SecureSphere 不监测 web 服务器的 SET 命令,因此它不能验证该 cookie 的值。 SecureSphere 为受保护的 Cookie 提供两种级别的保护:m 部分保护 仅防范 Cookie 篡改m 完全保护 防范 Cookie 篡改和 Cookie 注射SecureSphere 根据各个 Cookie 的行为为 Cookie 确定适当的保护级别.某些 Cookie 只能得到 Cookie 篡改保护,而有些可以同时获得 Cookie 篡改和 Cookie 中毒(注射)保护。对于 SecureSphere 始终能发现 Web 应用程序所发出的 SET 命令的 Cookie,将提供完全保护.SET 命令注意:使用 Cookie 标记可以解决本节提到的所有问题Web 应用程序使用 SET 命令向 Web 浏览器发送新 Cookie 或现有 Cookie 的新值。当 SecureSphere 截取到 Cookie 的 SET 命令时,它会记录 Cookie 的名称和值,并会通过特定用户会话将它们关联。当下次 Cookie 从同一用户会话到达时,SecureSphere 将验证其名称和值是否与上一次 SET 命令期间记录的信息匹配.如果用户手动修改 Cookie 值,则匹配将会失败,SecureSphere 将会调用 Cookie 篡改违反。如果 Cookie 未存储在 SecureSphere 中(即:SecureSphere 未发现 SET 命令),系统将调用 Cookie 注射违反,这意味着该用户在未从 Web 服务器收到该 Cookie 的情况下,试图将该 Cookie 注入 Web 服务器。对于 SecureSphere 无法每次都发现 SET 命令的 Cookie,提供部分保护(仅防范 Cookie 篡改)。这种情况通常发生于 Web 应用程序只发送 Cookie 一次,而该 Cookie 在用户浏览器中保存数月的永久 Cookie。通常,SecureSphere 所具有 Cookie 时限较短;因此,如果用户访问 Web 应用程序时,收到一个有效期为三个月的永久 Cookie,并于一个月之后再次访问该站点,则用户浏览器会将该 Cookie 发送至该网站。SecureSphere 将无法跟踪该 Cookie 的 SET 命令,因为它发生在一个月之前。对于这些 Cookie,SecureSphere 将不会生成 Cookie 注射违反。当 SecureShere 第一次发现包含受到部分保护的 Cookie的 HTTP 请求时,它将会记录该 Cookie 的名称和值,并会通过特定用户会话关联它们。当下次 Cookie 从同一用户会话返回时,SecureSphere 将验证该 Cookie 的值与其记录的值是否匹配。如果用户在会话过程中手动修改 Cookie 值,则匹配将会失败,SecureSphere 将会调用 Cookie 篡改违反。m 配置问题您无法将 Cookie 直接添加至学习列表,因为一旦 SecureSphere 检测到某个 Cookie 不在三个列表(学习、保护或忽略)中的任何一个中时,就会自动将 Cookie 添加至学习列表。然而,如果出于某些原因,您想将某个 Cookie 添加至学习列表,则可以将其添加至保护列表或忽略列表,然后将其移至学习列表。某些 Cookie 拥有动态的名称,例如:Microsoft IIS ASPSESSION Cookie。这些 Cookie 通常具有某些类型的后跟动态后缀的固定前缀(例如:ASPSESSIONIDFFEDSSE)。对于此类 Cookie,可以选择仅输入 Cookie 名称的固定前缀,所有与该前缀匹配的 Cookie 都将会从 Cookie 列表中删除.Web APU 规则网站和数据库是动态的,会定期发生变化。这是由于竞争环境驱使业务内容不断发展,导致开发者持续更新源代码和内容。自动特征更新功能确保特征始终是最新的,即使网站的部分内容和代码以及数据库发生了变化(在 GUI 中:主要 > 策略 安全 - Web 特征,请选择一个策略并单击“高级”选项卡)。该功能定义处理特征违反的规则,例如:在大量 IP 地址上高频率发生的特征违反将会被自动添加至特征,从而节约管理员的宝贵时间。如果无此功能,管理员需要定期检查特征违反警报、定位误报并相应地手动更新特征. 自动特征更新 (APU) 规则将检查特定违反是否多次发生、超过一段相对较长的时间和源自多个源.如果是,SecureSphere 将根据异常信息自动更新特征。特征修改将即时生效(即无需激活该设置。)注意:只要不触发相关的 APU 规则且不更新特征的相关部分,则将不断生成特征违反和警报,定义的操作也将立即执行或延迟执行。您可以通过修改规则来控制引发不同 APU 规则执行的阈值.此功能涉及的 Web 特征违反有:m Cookie 注射:该规则将 Cookie 从保护列表移至忽略列表.m Cookie 篡改:该规则将 Cookie 从保护列表移至忽略列表。m 参数只读违反:该规则将移除参数的只读属性。m 参数类型违反:该规则将字符组添加至参数。m 未知参数:该规则将参数添加至 URL。m 参数值长度违反:该规则将修改参数的最小或最大长度。m 未找到必需参数:该规则将移除参数的必需属性。m 未找到必需的 XML 元素:该规则将移除 XML 元素的必需属性.m 已终止会话 Cookie 再利用:如果该 Cookie 是已终止会话 Cookie 的再利用,则该规则会将该 Cookie 设置为忽略.m 已知 URL 的未授权方法:该规则将 HTTP 方法添加至该 URL。m 未授权的 SOAP 操作:该规则将 SOAP 操作添加至该 URL。m 未知的 XML 元素:该规则将元素添加至 SOAP 操作。m XML 元素值长度违反:该规则将修改 XML 元素的最小或最大长度。m XML 元素值类型违反:该规则将字符组添加至 XML 元素。