The invention discloses an IMAP protocol multi-link association analysis method and system. This method is as follows: 1) Get the header information of all MIME blocks from TCP links; 2) Extract the header of MIME blocks from the data structure BODYSTRUCTURE and label it according to the location of the header of MIME blocks; 3) Construct a unique key KEYx for each MIME block header and add the header information of MIME blocks to the hash table; 2) Transfer the header information of MIME entities into the hash table; After the CP link captures the traffic of the MIME block entity, it extracts the key information from the traffic, generates keys consistent with KEYx, and obtains the corresponding MIME header information from the hash table according to KEYx. The invention has more comprehensive monitoring capability and greatly enhances the efficiency of hash correlation.
【技术实现步骤摘要】
一种IMAP协议多链接关联解析方法及系统
本专利技术属于计算机网络
,涉及一种IMAP协议多链接关联解析方法及系统。
技术介绍
一些安全性要求较高的企业或组织,对互联网传输的内容有较强的监测需求。通过对出入互联网的流量进行监测审计,以发现其中的攻击行为或泄密行为。电子邮件是企业和组织内部与外部进行文件交互的主要手段之一。随着互联网安全形势的恶化和保密意识的提高,越来越多的网络监测系统将电子邮件列入监测对象,并部署在运营商、政府、军队、企业等的互联网出入口。通常,网络监测系统通过分光或镜像的方法获得内部网络与互联网的网络流量。系统通过对网络流量进行重整和分析,能够对电子邮件内容进行检测分析和审查,并对电子邮件的传输进行记录。IMAP4(InternetMessageAccessProtocol,Version4)协议是主要的电子邮件协议之一。它与POP3协议主要的区别之一是支持分块、分段下载邮件的部分内容。同时,IMAP4协议将MIME(MultipurposeInternetMailExtensions)协议的头部抽象成了一种数据结构(BODY/BODYSTRUCTURE,以下统称BODYSTRUCTURE;BODYSTRUCTURE是一封邮件所有MIME块的头部的抽象),用以描述整封邮件的所有MIME块的头部信息,它通常在下载邮件时首先进行传输,其中,MIME块信息包括MIME块头部和MIME块实体。MIME块头部用于描述该MIME块的实体;MIME块支持多级嵌套,即一个整MIME块可以是另一个MIME块的实体。因此,基于IMAP4协议的电子邮件传 ...
【技术保护点】
1.一种IMAP协议多链接关联解析方法,其步骤包括:1)从TCP链接中获取每一描述整封邮件的所有MIME块的头部信息的数据结构BODYSTRUCTURE;2)从该数据结构BODYSTRUCTURE中抽取MIME块头部,并根据MIME块头部所在的位置对其进行标号;3)对每一MIME块头部构造唯一键KEYx并将MIME块的头部信息加入哈希表;传输MIME实体的TCP链接捕获到MIME块实体的流量后,从流量中提取关键信息,生成与KEYx一致的键,根据键KEYx从该哈希表中获取对应的MIME头部信息。
【技术特征摘要】
1.一种IMAP协议多链接关联解析方法,其步骤包括:1)从TCP链接中获取每一描述整封邮件的所有MIME块的头部信息的数据结构BODYSTRUCTURE;2)从该数据结构BODYSTRUCTURE中抽取MIME块头部,并根据MIME块头部所在的位置对其进行标号;3)对每一MIME块头部构造唯一键KEYx并将MIME块的头部信息加入哈希表;传输MIME实体的TCP链接捕获到MIME块实体的流量后,从流量中提取关键信息,生成与KEYx一致的键,根据键KEYx从该哈希表中获取对应的MIME头部信息。2.如权利要求1所述的方法,其特征在于,从该数据结构BODYSTRUCTURE中抽取MIME块头部信息,并根据MIME块头部所在的位置对其进行标号的方法为:设置包括MIME块分离状态机和MIME块头部字段抽取状态机的两级状态机;a)MIME块分离状态机的步骤包括:步骤1101:设置MIME块分离状态机的上一状态变量prestate为IDLE状态,初始化当前路径标号path为顶级标号”0”;然后执行步骤1102、步骤1103;步骤1102:跳过输入数据的空格及制表符字符,若输入结束,则结束状态机循环;步骤1103:记录当前指针的位置pstart,当前指针加1;若下一字符不是圆括号”(”,则设置单一块标记变量single;执行步骤1102后跳转到步骤1104;步骤1104:设置prestate为START状态;若当前字符不是左圆括号”(”,则跳转至步骤1105;若当前字符是左圆括号”(”且状态prestate为START状态,则将路径标号path压栈,在路径标号path之后追加字符串”.1”;否则,若当前字符是左圆括号”(”,则将路径标号path的最后一个点号”.”之后的数字加1,若无点号”.”,则直接将数字加1,若此时路径标号path为”1”,则将路径标号”0”压栈;然后设置MIME块头部起始字符指针变量pstart指向当前位置,当前指针加1,执行步骤1102后执行步骤1104;步骤1105:设置状态变量prestate为PROC状态,从当前位置开始,向后查找字符”)”,直到取得一个完整的MIME块头部,执行步骤1102,更新当前指针指向下一个字符;然后提取pstart至当前位置之间的数据块,即MIME块的头部字段信息,以path为当前路径标号,抽取当前块的MIME头部字段信息,即执行步骤1201;若single变量被设置,则以”1”为当前路径标号,再次执行步骤1201;跳转至步骤1106;步骤1106:设置prestate为END状态,若当前字符为”(”,则将path的最后一个”.”号之后的数字加1,若无”.”,直接将数字加1;设置pstart指向当前位置,跳转至步骤1104;否则,当前块为MULTIPART块,设置pstart指向当前位置,从当前位置开始,向后查找字符”)”,直到取得一个完整的MIME块头部,然后执行出栈操作,弹出栈顶第一个元素,存入路径标号path,开始抽取当前块的MIME头部字段信息,即执行步骤1201;当前指针加1,若输入没结束,跳转至步骤1104,否则结束MIME块分离状态机;b)MIME块头部字段抽取状态机步骤包括:步骤1201:判断当前MIME块是否是MULTIPART块,若是执行步骤1203,否则执行步骤1202;步骤1202:按照MIME块头部字段的排列顺序,逐个进行提取,根据上下文判断可选字段是否存在确定是否跳转至下一字段状态;其中,对于参数组合列表,需要提取属性CHARSET和NAME的值;对于主体编码,需要提取编码类型;对于主体部署,需要提取FILENAME的值;提取完毕后,将MIME块头部信息加入哈希表;步骤1203:按照MIME头部字段的排列顺序,逐个进行提取,根据上下文判断可选字段是否存在确定是否跳转至下一字段状态;其中,对于参数组合列表,需要提取BOUNDARY属性的值;提取完毕后,将MIME块头部信息加入哈希表。3.如权利要求2所述的方法,其特征在于,若当前MIME块为MULTIPART块,则提取哈希表中属性BOUNDARY的信息,进行MIME解码;若当前MIME块不是MULTIPART块,则根据编码类型进行实体解码;若当前MIME块为附件,则关联附件名。4.如权利要求1或2或3所述的方法,其特征在于,生成MIME块头部的哈希表键KEYx方法为:将MIME块头部对应的IMAP电子邮件用户名、邮件唯一标识符UID以及MIME块路径标号path按照顺序和设定格式组合,组合结果是该MIME块头部的哈希表键KEYx。5.如权利要求1所述的方法,其特征在于,所述数据结构BODYSTRUCTURE中的各个MIME块头部分别生成一路径层级标号,该路径层级标号与IMAP4协议应答的对应MIME块实体的标号一致。6.一种IMAP协议多链接关联解析系统,其...
【专利技术属性】
技术研发人员:张成伟,刘庆云,刘洋,杨威,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。