内容过滤技术

内容过滤简介

定义:

内容过滤是一种对通过FW的文件或应用的内容进行过滤的安全机制。

通过业务感知技术识别流量中包含的内容,设备可以包含特定关键字的流量进行阻断或告警。

作用:

  • 阻止机密信息的传播,降低公司机密泄漏的风险。
  • 降低因员工浏览、发布、传播敏感信息而给公司带来的法律风险。
  • 阻止员工浏览和搜索与工作无关的内容,保证工作效率。

内容过滤原理

通过深度识别流量中包含的内容,设备可以对包含特定关键字的流量进行阻断或告警。

内容过滤:

内容过滤包括文件内容过滤应用内容过滤。

  • 文件内容过滤是对用户上传和下载的文件内容中包含的关键字进行过滤。管理员可以控制对哪些应用传输的文件以及哪种类型的文件进行文件内容过滤。

  • 应用内容过滤是对应用协议中包含的关键字进行过滤。针对不同应用,设备过滤的内容不同。

关键字:

关键字是内容过滤时设备需要识别的内容,如果在文件或应用中识别出关键字,设备会对此文件或应用执行响应动作。关键字通常为机密信息(公司商业机密、用户个人信息的报告)或违规信息(色情、暴力、敏感或公司规定的违规信息等)。

关键字包括预定义关键字和自定义关键字。

  • 预定义关键字是系统默认存在的可以识别的关键字,包括:银行卡号、信用卡号、社会安全号、身份证号、手机号、机密关键字(包括“秘密”、“机密”、“绝密”)。

  • 自定义关键字是管理员自定义的需要识别的关键字,有文本和正则表达式两种定义方式。

    • 文本方式是使用文本的方式表示需要识别的关键字,例如管理员想要识别关键字“机密文件”,只需要自定义文本方式的关键字“机密文件”即可。文本方式配置简单,匹配精确。

      文本和正则表达式能匹配的关键字最短长度为3个字节,其中ASCII字符占1个字节,汉字占2个字节。

      例如,关键字可以匹配到“abc”、“中国”、“a中”,但是不能匹配“a”、“ab”、“中”。

    • 正则表达式方式是使用正则表达式的方式表示需要识别的关键字。与文本方式不同的是一个正则表达式可以表示多个关键字。例如正则表达式“abc.de”中的“.”可以匹配任意单个字符,所以“abc.de”可以表示“abcxde”、“abcyde”、“abc8de”等等。

常见正则表达式规则:

字符 说明
\ 要对特殊字符执行字面匹配时,必须在这些字符前加上转义字符\。例如\.\(\)
. 匹配任意单个汉字或ASCII字符。例如abc.de可以匹配abcadeabcydeabc8de等字符串。逻辑上,正则表达式不能以“.”开始或结束。例如**.abc\ defabc.\ defabc\ .defabc\ def.abc\ def.\ ghi**等均为非法输入。
( ) 标记一个子表达式的开始和结束位置。例如(abc)+可以匹配abcabcabc
? 匹配前面的字符或表达式0次或1次。例如abcd?可以匹配abcabcd。需注意,正则表达式不能配置为abc?,因为当匹配次数为0时,关键字只能为ab,而正则表达式能匹配的关键字最短长度为3个字节。所以,“?”前需要配置至少4个字符,才能满足关键字的最短长度要求。
* 匹配前面的字符或表达式0次或多次。例如abcd*可以匹配abcabcdabcddd。需注意,正则表达式不能配置为abc*,因为当匹配次数为0时,关键字只能为ab,而正则表达式能匹配的关键字最短长度为3个字节。所以,“*”前需要配置至少4个字符,才能满足关键字的最短长度要求。
+ 匹配前面的字符或表达式1次或多次。例如abc+可以匹配abcabcc,但不可以匹配ab
\ 等同于。例如**abc\ defg可以匹配abcdefg(a\ b)cde则匹配acdebcde**。
- 用于创建范围表达式。例如[c-z]可以匹配cz之间的任意一个字符,包括cz
[ ] 匹配所包含的任意一个字符。例如abc[def]可以匹配abcdabceabcf。[]内不允许为空。[]内不允许ASCII字符与汉字同时存在。[]内支持输入转义字符“\”。[]内允许使用“-”,但只能为A~Z、a~z、0~9范围内的字符。例如:[b-d]、[A-Q]、[2-9]是合法输入,[b-A]、[k-a]、[k-]是非法输入。
{n} n是一个小于等于10的非负整数匹配前面的字符n次。例如,abc{2}不能匹配oabco中的abc,但是能匹配oabcco中的abcc
{n,m} 匹配前面的字符次数大于等于n,小于等于m。n和m都是小于等于10的非负整数,且n小于m。例如,abcd{0,3}可以匹配abc,abcd{1,3}可以匹配abcdd,(abc){1,5}可以匹配abcabcabc
\d 匹配一个数字字符,等价于[0-9]。例如abc\d可以匹配abc0abc9等。
\w 匹配数字、字母和下划线。例如abc\w可以匹配abc2abcdabcAabc_等。

相应动作:

当设备在内容过滤检测时识别出关键字,设备会执行响应动作:

  • 告警:识别出关键字后,记录日志但不阻断内容传输。
  • 阻断:识别出关键字后,阻断内容传输并记录日志。在用户看来则是无法显示网页、上传或下载文件失败、邮件发送或接收失败。
  • 按权重操作:每个关键字都存在一个权重值,当设备检测的内容中出现关键字时,设备会将这些关键字的权重值按出现次数累加。如果权重值的和大于等于“告警阈值”小于“阻断阈值”,则设备会执行“告警”动作,“告警”动作仅执行一次;如果权重值的和大于等于“阻断阈值”,则设备会执行“阻断”动作。

内容过滤处理流程:

内容过滤的处理流程如下:

  1. 设备对流量的内容进行检测,识别出流量的内容属性。

    如果是应用内容则识别出应用的类型、应用内容传输的方向。如果是文件内容则识别出承载文件的应用类型,文件的类型和文件传输的方向。

  2. 设备将流量的内容属性与内容过滤规则的条件进行匹配。

    如果所有条件都匹配,则此内容成功匹配此规则。如果其中有一个条件不匹配,则继续执行下一条规则。以此类推,如果所有内容过滤规则都不匹配,则设备允许此内容通过。

  3. 如果内容成功匹配一条内容过滤规则,则设备会对此内容进行关键字检测,检测内容中是否存在内容过滤规则定义的关键字。

    如果检测时识别出关键字,则设备会执行响应动作。如果没有识别出关键字,则设备允许此内容通过。

内容过滤注意事项:

  • 对于文件中嵌套的文件不进行内容过滤。
  • 对于office文件目前不支持对文件属性内容的过滤。
  • 对于加密文件不进行内容过滤。
  • 对于断点续传的文件不进行内容过滤。

以下几种类型的文件,改为其他后缀(不包含以下几种)无法进行内容过滤。

  • 网页文件(HTML)
  • 代码文件(C、CPP、CXX、H、HPP、JAVA)
  • 文本文件(TXT)

其他类型文件,如Office2003、Office2007文件,即使修改后缀也可以进行内容过滤。

内容过滤配置思路

配置思路:

  1. 配置关键字组,添加预定义和自定义关键字。
  2. 配置内容过滤配置文件。
  3. 配置安全策略,引用内容过滤文件。
  4. 提交编译。

内容过滤排错思路:

  1. License是否有效
  2. 配置文件是否命中
  3. 配置是否提交
  4. 重新发起连接

参考文档:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!