富文本文档的风险检测方法、装置及可读存储介质制造方法及图纸

技术编号:32365250 阅读:21 留言:0更新日期:2022-02-20 03:38
本申请公开一种富文本文档的风险检测方法、装置及可读存储介质,用以解决现有技术中存在的检测富文本文档风险的方法不准确的问题。该方法包括:在富文本文档中,定位第一数据流;其中,所述第一数据流是设定的第一控制字前的起始符与所述起始符匹配的结束符之间的数据;读取所述第一数据流中控制字的读位属性,基于所述读位属性删除或保留所述第一数据流中控制字后的数据,得到第一数据;其中,当读位属性为删除时,指示删除对应控制字之后到相邻的下一个控制字之间的数据;基于所述第一数据中的内嵌对象或者链接,确定所述富文本文档存在风险。存在风险。存在风险。

【技术实现步骤摘要】
富文本文档的风险检测方法、装置及可读存储介质


[0001]本申请涉及网络安全
,尤其涉及富文本文档的风险检测方法、装置及可读存储介质。

技术介绍

[0002]富文本文档(Rich Text Format,RTF文档),是一种采用ASCII作为编码格式的文档,RTF文档能够被多种解析器解析。由于不同解析器对RTF文档规范中未进行严格要求(或者不够细化)的内容存在理解差异,所得到的解析结果也会出现差异。上述这种差异性,使得攻击者能在RTF文档中插入恶意对象,并对其字符串流进行混淆,得以绕过普通的第三方解析工具,达到静态反检测的目的。
[0003]因此,现有技术中检测富文本文档风险的方法不准确。

技术实现思路

[0004]本申请提供一种富文本文档的风险检测方法、装置及可读存储介质,用以解决现有技术中存在的检测富文本文档风险的方法不准确的问题。
[0005]第一方面,本申请提供一种富文本文档的风险检测方法,所述方法包括:
[0006]在富文本文档中,定位第一数据流;其中,所述第一数据流是设定的第一控制字前的起始符与所述起始符匹配的结束符之间的数据;
[0007]读取所述第一数据流中控制字的读位属性,基于所述读位属性删除或保留所述第一数据流中控制字后的数据,得到第一数据;其中,当读位属性为删除时,指示删除对应控制字之后到相邻的下一个控制字之间的数据;
[0008]基于所述第一数据中的内嵌对象或者链接,确定所述富文本文档存在风险。
[0009]上述操作通过读取第一数据流中控制字的读位属性,确定了第一数据流中的混淆内容并删除,解决了恶意对象针对富文本文档混淆后导致富文本文档无法正常检测的问题,即解决了检测富文本文档存在风险的方法不准确的问题。
[0010]一种可能的实施方式,所述第一控制字为objdata。
[0011]一种可能的实施方式,所述在富文本文档中,定位第一数据流之前,包括:
[0012]检测富文本文档是否包含基础恶意特征;其中,所述基础恶意特征指任一安全解析软件识别出的恶意特征;
[0013]若是,则确定所述富文本文档存在风险;若否,则定位第一数据流。
[0014]通过检测基础恶意特征,可以提高检测富文本文档存在风险的效率。一种可能的实施方式,所述基础恶意特征包括:不合规的头部标志、可疑的文档创建者和最后修改者、头部前或后的设定范围内出现控制字、非期望控制字、控制字连续次数超过第一阈值、特定字符使用次数超过第二阈值、控制字长度超过第三阈值、两个16进制字符中出现非期望字符。
[0015]一种可能的实施方式,所述读取所述第一数据流中控制字的读位属性,包括;
[0016]当读取到任一控制字的读位属性为空时,则基于所述读位属性的追溯性,依次向所述任一控制字之前追溯距离最近的控制字的读位属性,直到确定所述任一控制字的读位属性;其中,所述追溯性指所述任一控制字的读位属性与距离最近的,同级控制字或者上级控制字的读位属性相同。
[0017]一种可能的实施方式,所述基于所述第一数据中的内嵌对象或者链接,确定所述富文本文档存在风险,包括;
[0018]当所述第一数据中包含常规解析方法未解析到的所述内嵌对象或者链接时,确定所述第一数据流中包括混淆内容,确定所述富文本文档存在风险。
[0019]第二方面,本申请提供一种富文本文档的风险检测装置,所述装置包括:
[0020]定位单元:用于在富文本文档中,定位第一数据流;其中,所述第一数据流是设定的第一控制字前的起始符与所述起始符匹配的结束符之间的数据;
[0021]读取单元;用于读取所述第一数据流中控制字的读位属性,基于所述读位属性删除或保留所述第一数据流中控制字后的数据,得到第一数据;其中,当读位属性为删除时,指示删除对应控制字之后到相邻的下一个控制字之间的数据;
[0022]确定单元:用于基于所述第一数据中的内嵌对象或者链接,确定所述富文本文档存在风险。
[0023]一种可能的实施方式,所述装置还包括基础单元,具体用于检测富文本文档是否包含基础恶意特征;其中,所述基础恶意特征指任一安全解析软件识别出的恶意特征;若是,则确定所述富文本文档存在风险;若否,则定位第一数据流。
[0024]一种可能的实施方式,所述读取单元具体用于当读取到任一控制字的读位属性为空时,则基于所述读位属性的追溯性,依次向所述任一控制字之前追溯距离最近的控制字的读位属性,直到确定所述任一控制字的读位属性;其中,所述追溯性指所述任一控制字的读位属性与距离最近的,同级控制字或者上级控制字的读位属性相同。
[0025]第三方面,本申请还提供一种可读存储介质,包括:
[0026]存储器,
[0027]所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如第一方面及任一种可能的实施方式所述的方法。
附图说明
[0028]图1为本申请提供的一种富文本文档的风险检测方法的流程图;
[0029]图2为本申请提供的第一数据流未经过混淆前以及混淆后的对比图;
[0030]图3为本申请提供的一种富文本文档的风险检测装置的结构示意图。
具体实施方式
[0031]针对上述现有技术存在的检测RTF文档风险的方法不准确的问题,本申请实施例针对当前恶意对象插入RTF文档的混淆手段,提出富文本文档的风险检测方法:在富文本文档中定位第一数据流后,读取第一数据流中控制字的读位属性并解析,从而确定富文本文档中的内容是否被混淆,即确定了富文本文档包含混淆内容,存在风险。
[0032]需要说明的是,本申请中将所有富文本格式文档统称为富文本文档。
[0033]以下针对本申请实施例中所使用的技术术语进行解释:
[0034]富文本格式文档:是指一种采用ASCII作为编码格式的跨平台办公文档,该文档可以在支持ASCII编码格式的多种软件上打开。例如,Word,WPS等办公软件。
[0035]控制字:是一种RTF文档的基本组成单位,由格式化的字符串名称组成,控制字用于定义文档要输出的内容。控制字以前缀斜杠\开头,后面接英文字符串作为控制字名称。控制字名称之后的数字字符是控制字参数。一般地,控制字的格式如下:
[0036]\<ASCII英文字符><ASCII数字字符><空格/回车换行><数据流(可选)>。
[0037]例如:\rtlch\fcs1\af31507;本例中包含三个控制字,分别是\rtlch、\fcs和\af。其中\fcs的参数为1,\af的参数为31507。
[0038]例如:\objdata 0105000002000000

;本例中的控制字为\objdata,没有参数,接了一个空格,后面的01050
...

【技术保护点】

【技术特征摘要】
1.一种富文本文档的风险检测方法,其特征在于,所述方法包括:在富文本文档中,定位第一数据流;其中,所述第一数据流是设定的第一控制字前的起始符与所述起始符匹配的结束符之间的数据;读取所述第一数据流中控制字的读位属性,基于所述读位属性删除或保留所述第一数据流中控制字后的数据,得到第一数据;其中,当读位属性为删除时,指示删除对应控制字之后到相邻的下一个控制字之间的数据;基于所述第一数据中的内嵌对象或者链接,确定所述富文本文档存在风险。2.如权利要求1所述的方法,其特征在于,所述第一控制字为objdata。3.如权利要求2所述的方法,其特征在于,所述在富文本文档中,定位第一数据流之前,包括:检测富文本文档是否包含基础恶意特征;其中,所述基础恶意特征指任一安全解析软件识别出的恶意特征;若是,则确定所述富文本文档存在风险;若否,则定位第一数据流。4.如权利要求3所述的方法,其特征在于,所述基础恶意特征包括:不合规的头部标志、可疑的文档创建者和最后修改者、头部前或后的设定范围内出现控制字、非期望控制字、控制字连续次数超过第一阈值、特定字符使用次数超过第二阈值、控制字长度超过第三阈值、两个16进制字符中出现非期望字符。5.如权利要求1~4任一所述的方法,其特征在于,所述读取所述第一数据流中控制字的读位属性,包括;当读取到任一控制字的读位属性为空时,则基于所述读位属性的追溯性,依次向所述任一控制字之前追溯距离最近的控制字的读位属性,直到确定所述任一控制字的读位属性;其中,所述追溯性指所述任一控制字的读位属性与距离最近的,同级控制字或者上级控制字的读位属性相同。6.如权利要求5所述的方法,其特征在于,所述基...

【专利技术属性】
技术研发人员:魏阳宋倚天赵光远杨晖吴铁军
申请(专利权)人:北京神州绿盟科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1