基于http协议分析的web邮件还原方法

文档序号:7835581阅读:647来源:国知局
专利名称:基于http协议分析的web邮件还原方法
技术领域
本发明涉及一种电子邮件还原方法,特别是涉及一种基于http协议分析的Web邮件还原方法。背景技术
电子邮件是Inernet出现早期就开始出现的网络应用之一,随着Internet的不断发展,其仍然是互联网不可或缺的服务,是人们使用最为频繁的因特网服务之一。电子邮件服务给人们带来便利的同时,也给信息安全带来了极大的挑战。非法邮件、网络泄密等副作用,给企业带来直接经济损失。目前电子邮件的发送途径主要有两种通过web方式发送和通过SMTP方式发送。由于通过web方式发送的邮件(简称web邮件)通过浏览器操作,无需配置,操作简单,也无需安装额外软件,逐渐成为人们使用电子邮件的最主要方式。通过对http协议的分析,根据各种邮件特征对web邮件在网络传输阶段进行监听、还原、记录,使网络监管人员可以及时直观地了解到被监管人员所发送电子邮件的详细信息。现有的邮件还原方法实现复杂、容易被察觉,且可以监控的邮件类型单一,不能实现对现今复杂网络服务环境下邮件的有效监控。

发明内容
本发明要解决的技术问题是克服现有技术的缺陷,提供一种可有效进行web邮箱服务的监控,并对网络性能影响小的基于http协议分析的web邮件还原方法。本发明的技术方案—种基于http协议分析的web邮件还原方法,含有下列步骤步骤a :分别对不同的电子邮件服务的邮箱进行分析,构建每种邮箱中基于http的web邮件的邮件信息特征库,邮件信息特征库中的信息含有发件人、收件人、主题、内容和附件,根据每项信息的长度,为每项信息设置开始特征字符串和结束特征字符串,开始特征字符串和结束特征字符串相互匹配;目前的主要电子邮件服务提供商的实现方法却不尽相同,不能使用完全相同的方法提取到邮件的各种信息,所以对不同的web邮件进行详细分析尤为重要。步骤b :通过bmh算法匹配开始特征字符串和结束特征字符串,从而定位发件人、收件人、主题、内容和附件在邮件发送会话中的位置,然后将定位到的信息以邮件为单位放入邮件记录数据结构中;步骤c :在Linux内核模块中注册netfilter钩子函数,对基于http的web邮件发送的连接进行重组缓存,并根据各种邮件进行应用协议分析建立的邮件信息特征库对不同的邮件类型进行标记;例如新浪的邮箱邮件标记为1,网易的邮箱邮件标记为2,雅虎的邮箱邮件标记为3。步骤d :创建内核线程,对重组缓存的邮件会话数据跟据邮件类型标记对邮件进行还原,还原的方法是根据步骤a所描述的邮件信息特征库从步骤c重组缓存的数据中提取有效的邮件信息并保存在邮件记录数据结构中,然后将邮件记录数据结构中的邮件按一封邮件一行的记录格式写入邮件记录文件;步骤e :用户态程序对邮件记录文件进行定期的处理读取邮件记录文件并根据不同编码类型进行解码,然后统一使用UTF-8的编码方式将解码后的邮件记录文件插入日志收据库;步骤f:系统前台将日志收据库中的邮件直观地展现,最终完成邮件的还原。步骤a中不同的电子邮件服务的邮箱含有相同电子邮件服务商的不同版本的邮箱。步骤b中的邮件记录数据结构中含有会话ID、收件人、发件人、抄送、密送、主题、内容和附件。基于http的web邮件的判别方法为邮件的发送连接是由http的POST方法实现的,每个POST连接中都会有一个host :行或者referer :行,根据这两行的内容判别是否为基于http的web邮件,这样可避免对其他非web邮件POST数据的记录处理,提高了系 统处理效率;具体判断方法是根据步骤a得到的邮件信息特征库对获取到POST连接中的host :行或referer :行内容进行匹配,从而确定这条连接是否是web邮件发送连接,以及这条发送连接采用的web邮件协议。传送web邮件使用的是http协议,一般地说,通过web方式发送邮件的时候会使用到2到3条http连接,通常通过这2到3条http连接即可将整个邮件内容传送到服务器。http连接含有用户登录连接、邮件发送连接以及附件单独传输模式下的附件上传连接。邮件发送连接传送发人、收件人、主题、正文等,附件上传连接传送附件的文件名和文件内容。属于同一个会话的http连接都具有一个相同会话标识(sid值),所以在http连接中匹配“ s i d = ”并取出其值保存用于关联不同的邮件信息。步骤c中重组缓存的方法是将属于一条邮件发送连接的数据报缓存,在收到此条连接的tcp结束连接信息的时候判断连接缓存完成,然后对缓存的数据进行重组;重组的方法是依据缓存数据包的序列号(seq)以及长度(length)对数据包进行排序定位;排序定位的原则是下一个包的序列号(seq)为它的前续包的序列号(seq)加上前续包的长度。步骤d中每封邮件的记录格式为发件人、收件人、抄送、密送、邮件主题、邮件内容、源IP地址、目的IP地址、会话ID、发送时间。邮件还原的结果如下表所示
__查看邮件内容_ 邮件标题邮件还原专利_
发件地址Sender@163. com
发件 IP192. 168. I. 5
收件地址“张三”〈shangsan@126.com〉
发件时间2011-11-05 06:16:30
附件权利要求书.doc_ 邮件内容邮件还原算法初稿请指正。
本发明的有益效果I、本发明对基于http的web邮件监控有很好的扩展性。通过对基于http的web邮件的协议分析,可以很容易满足Internet技术高速发展情况下对新的web邮箱服务的监控需求,有效控制内部邮件所带来的安全隐患。2、本发明的主要还原处理在Linux内核中进行,不对报文进行全面的协议还原,在高速的网络环境中有效地减少了对网络性能的影响。
具体实施例方式基于http协议分析的web邮件还原方法含有下列步骤步骤a :分别对不同的电子邮件服务的邮箱进行分析,构建每种邮箱中基于http的web邮件的邮件信息特征库,邮件信息特征库中的信息含有发件人、收件人、主题、内容和附件,根据每项信息的长度,为每项信息设置开始特征字符串和结束特征字符串,开始特 征字符串和结束特征字符串相互匹配;目前的主要电子邮件服务提供商的实现方法却不尽相同,不能使用完全相同的方法提取到邮件的各种信息,所以对不同的web邮件进行详细分析尤为重要。步骤b :通过bmh算法匹配开始特征字符串和结束特征字符串,从而定位发件人、收件人、主题、内容和附件在邮件发送会话中的位置,然后将定位到的信息以邮件为单位放入邮件记录数据结构中;步骤c :在Linux内核模块中注册netfilter钩子函数,对基于http的web邮件发送的连接进行重组缓存,并根据各种邮件进行应用协议分析建立的邮件信息特征库对不同的邮件类型进行标记;例如新浪的邮箱邮件标记为1,网易的邮箱邮件标记为2,雅虎的邮箱邮件标记为3。步骤d :创建内核线程,对重组缓存的邮件会话数据跟据邮件类型标记对邮件进行还原,还原的方法是根据步骤a所描述的邮件信息特征库从步骤c重组缓存的数据中提取有效的邮件信息并保存在邮件记录数据结构中,然后将邮件记录数据结构中的邮件按一封邮件一行的记录格式写入邮件记录文件;步骤e :用户态程序对邮件记录文件进行定期的处理读取邮件记录文件并根据不同编码类型进行解码,然后统一使用UTF-8的编码方式将解码后的邮件记录文件插入日志收据库;步骤f :系统前台将日志收据库中的邮件直观地展现,最终完成邮件的还原。步骤a中不同的电子邮件服务的邮箱含有相同电子邮件服务商的不同版本的邮箱。步骤b中的邮件记录数据结构中含有会话ID、收件人、发件人、抄送、密送、主题、内容和附件。基于http的web邮件的判别方法为邮件的发送连接是由http的POST方法实现的,每个POST连接中都会有一个host :行或者referer :行,根据这两行的内容判别是否为基于http的web邮件,这样可避免对其他非web邮件POST数据的记录处理,提高了系统处理效率;具体判断方法是根据步骤a得到的邮件信息特征库对获取到POST连接中的host :行或referer :行内容进行匹配,从而确定这条连接是否是web邮件发送连接,以及这条发送连接采用的web邮件协议。
传送web邮件使用的是http协议,一般地说,通过web方式发送邮件的时候会使用到2到3条http连接,通常通过这2到3条http连接即可将整个邮件内容传送到服务器。http连接含有用户登录连接、邮件发送连接以及附件单独传输模式下的附件上传连接。邮件发送连接传送发人、收件人、主题、正文等,附件上传连接传送附件的文件名和文件内容。属于同一个会话的http连接都具有一个相同会话标识(sid值),所以在http连接中匹配“ s i d = ”并取出其值保存用于关联不同的邮件信息。步骤c中重组缓存的方法是将属于一条邮件发送连接的数据报缓存,在收到此条连接的tcp结束连接信息的时候判断连接缓存完成,然后对缓存的数据进行重组;重组的方法是依据缓存数据包的序列号(seq)以及长度(length)对数据包进行排序定位;排序定位的原则是下一个包的序列号(seq)为它的前续包的序列号(seq)加上前续包的长度。步骤d中每封邮件的记录格式为发件人、收件人、抄送、密送、邮件主题、邮件内容、源IP地址、目的IP地址、会话ID、发送时间。对网易163邮箱4. 0版本进行分析,构建此邮箱的邮件特征库。然后将经过网络出口设备的一封使用网易163邮箱4. 0版发出的邮件捕获还原。I、对网易163邮箱4. 0版本的分析结果如下Host cglal34. mail. 163. commark标识开始特征(sid =) 结束特征(\r\n)附件名开始特征(Content-Disposition :form_data ;name = " filel ";filename=")结束特征("\r\nContent-Type )内容开始特征(\r\n\r\n)结束特征(\r\n--------)发件人开始特征(%3Cstring% 20name% 3D% 22account% 22% 3E)结束特征3C% 2Fstring% 3E)收件人开始特征(%3Carray% 20name% 3D% 22to% 22% 3E% 3Cstring% 3E)结束特征(% 3C% 2Fstring% 3E)抄送开始特征(%3Carray% 20name% 3D% 22cc% 22% 3E% 3Cstring% 3E)结束特征(% 3C% 2Fstring% 3E)密送开始特征(%3Carray% 20name% 3D% 22bcc% 22% 3E% 3Cstring% 3E)结束特征(% 3C% 2Fstring% 3E)主题开始特征(% 3C% 2Farray% 3E% 3Cstring% 20name% 3D% 22subject% 22% 3E)结束特征(% 3C% 2Fstring% 3E)内容开始特征(%3Cstring% 20name% 3D% 22content% 22% 3E)结束特征26gt% 3B% 3C% 2Fstring% 3E)2、在Linux内核总监听到http协议的POST方法,并且在其Host 行匹配到“mail. 163. com”字符串。则将此会话连接重组保存。保存数据如下邮件发送连接
POST/js4/s sid = zCyCfpVVqNwShaSRjwVVDaycbwvTPSvV&func = mbox:compose&l =compose&action = deliver HTTP/1. 1Host cglal34. mail. 163. comContent-Length 1717var = % 3C% 3Fxml % 20version % 3D % 221. 0 % 22 % 3F % 3E % 3Cob ject % 3E% 3Cstring% 20name% 3D% 22id% 22% 3Ec% 3A1311325276573% 3C% 2Fstring% 3E % 3Cobject % 20name % 3D % 22attrs % 22 % 3E % 3Cstring % 20name % 3D % 22account % 22 % 3E % 22erniusias % 22 % 261t % 3Bximotechacg % 40163. com % 26gt % 3B % 3C % 2Fstring % 3E % 3Cboolean % 20name % 3D % 22show0neRcpt % 22 % 3Efalse% 3C% 2Fboolean% 3E% 3Carray% 20name% 3D% 22to% 22% 3E% 3Cstring% 3Eerniusias % 40sina. com % 3C % 2Fstring % 3E % 3C % 2Farray % 3E % 3Carray % 20name% 3D% 22cc% 22% 20% 2F% 3E% 3Carray % 20name% 3D% 22bcc % 22% 20% 2F% 3E% 3Cstring% 20name % 3D% 22sub ject % 22 % 3E163mailtestandfu jian % 3C% 2Fstring% 3E% 3Cboolean% 20name% 3D% 22isHtml% 22% 3Etrue% 3C% 2Fboolean% 3E % 3Cstring % 20name % 3D % 22content % 22 % 3E % 261t % 3Bdiv % 20style % 3D ' line-height % 3A1. 7 % 3Bcolor % 3A % 23000000 % 3Bfont-size % 3A14px % 3Bfont-family% 3Aarial' % 26gt% 3B% 261t% 3Bdiv% 26gt% 3B111111111111111 111111111111111111111111 % 261t% 3B% 2Fdiv% 26gt % 3B% 261t% 3Bdiv% 26gt % 3B22222222222222222222222222222222222222222 % 261t % 3B % 2Fdiv % 26gt % 3B % 261t % 3Bdiv % 26gt % 3B3333333333333333333333333333333333333333 % 261t % 3B % 2Fdiv% 26gt% 3B % 261t % 3Bdiv % 26gt % 3B44444444444444444444444444444444444 444444% 261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3Bdiv% 26gt% 3B5555555555555555 555555555555555555555555 % 261t% 3B% 2Fdiv% 26gt % 3B% 261t% 3Bdiv% 26gt % 3C% 2Fstring% 3E% 3Cboolean% 20name% 3D% 22saveSentCopy% 22% 3Etrue% 3C% 2Fboolean% 3E% 3Cstring% 20name% 3D% 22charset% 22% 3EGBK% 3C% 2Fstring% 3E% 3C% 2Fobject% 3E% 3Cboolean% 20name% 3D% 22returnInfo% 22% 3Efalse% 3C % 2Fboolean % 3E % 3Cstring % 20name % 3D % 22action % 22 % 3Edeliver % 3C % 2Fstring% 3E% 3Cint% 20name% 3D% 22saveSentLimit% 22% 3E1% 3C% 2Fint% 3E% 3C% 2Fobject% 3E3、通过对缓存的邮件发送连接数据进行特征字符串匹配取出有效信息发件人% 22erniusias% 22% 261t% 3Bximotechacg% 40163. com% 26gt% 3B收件人erniusias% 40sina. com邮件主题163mailtestandfujian会话ID zCyCfpVVqNwShaSRjwVVDaycbwvTPSvV邮件内容% 3Cboolean % 20name % 3D % 22isHtml % 22 % 3Etrue % 3C % 2Fboolean % 3E % 3Cstring % 20name % 3D % 22content % 22 % 3E % 261t % 3Bdiv % 20style % 3D ! line-height % 3A1. 7 % 3Bcolor % 3A % 23000000 % 3Bfont-size % 3A14px %3Bfont-family% 3Aarial' % 26gt% 3B% 261t% 3Bdiv% 26gt% 3B111111111111111111111111111111111111111% 261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3Bdiv% 26gt% 3B22222222222222222222222222222222222222222% 261t% 3B% 2Fdiv% 26gt% 3B% 261t%3Bdiv% 26gt% 3B3333333333333333333333333333333333333333 % 261t% 3B % 2Fdiv%26gt% 3B% 261t% 3Bdiv% 26gt % 3B44444444444444444444444444444444444444444 %261t% 3B% 2Fdiv% 26gt % 3B % 261t% 3Bdiv% 26gt% 3B5555555555555555555555555555555555555555% 261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3B% 2Fdiv% 26gt% 3B%261t% 3Bdiv% 26gt% 3B% 26amp% 3Bnbsp% 3B% 261t% 3B% 2Fdiv% 26gt% 3B% OA%261t% 3B% 2Fdiv% 26gt% 3B源IP 地址 192. 168. I. 254、将数据写入文件mail, log ;
% 22erniusias% 22% 261t% 3Bximotechacg% 40163. com% 26gt% 3Berniusias% 40sina. com' 163mailtestandfujian' % 3Cboolean% 20name% 3D%22isHtml% 22% 3Etrue% 3C% 2Fboolean% 3E% 3Cstring% 20name% 3D% 22content%22 % 3E % 261t % 3Bdiv % 20style % 3D ' line-height % 3A1. 7 % 3Bcolor % 3A %23000000% 3Bfont-size% 3A14px% 3Bfont-family% 3Aarial' % 26gt% 3B% 261t%3Bdiv % 26gt % 3B111111111111111111111111111111111111111 % 261t % 3B % 2Fdiv %26gt% 3B% 261t% 3Bdiv% 26gt % 3B22222222222222222222222222222222222222222 %261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3Bdiv% 26gt% 3B3333333333333333333333333333333333333333% 261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3Bdiv% 26gt% 3B44444444444444444444444444444444444444444% 261t% 3B% 2Fdiv% 26gt% 3B% 261t% 3Bdiv%26gt % 3B5555555555555555555555555555555555555555 % 261t % 3B % 2Fdiv % 26gt %3B% 261t% 3Bdiv% 26gt% 3B% 26amp% 3Bnbsp% 3B% 261t% 3B% 2Fdiv% 26gt% 3B%OA% 261t% 3B% 2Fdiv% 26gt% 3B' 192. 168. I. 25' 134. 35. 24. 78' zCyCfpVVqNwShaSRjwVVDaycbwvTPSvV'13204555905、将文件中数据处理进行解析处理存入数据库,并直观地展示在前台页面,如下表格所示
权利要求
1.一种基于http协议分析的web邮件还原方法,其特征是含有下列步骤 步骤a :分别对不同的电子邮件服务的邮箱进行分析,构建每种邮箱中基于http的web邮件的邮件信息特征库,邮件信息特征库中的信息含有发件人、收件人、主题、内容和附件,根据每项信息的长度,为每项信息设置开始特征字符串和结束特征字符串,开始特征字符串和结束特征字符串相互匹配; 步骤b :通过bmh算法匹配开始特征字符串和结束特征字符串,从而定位发件人、收件人、主题、内容和附件在邮件发送会话中的位置,然后将定位到的信息以邮件为单位放入邮件记录数据结构中; 步骤c :在Linux内核模块中注册netfilter钩子函数,对基于http的web邮件发送的连接进行重组缓存,并根据各种邮件进行应用协议分析建立的邮件信息特征库对不同的邮件类型进行标记; 步骤d :创建内核线程,对重组缓存的邮件会话数据跟据邮件类型标记对邮件进行还原,还原的方法是根据步骤a所描述的邮件信息特征库从步骤c重组缓存的数据中提取有效的邮件信息并保存在邮件记录数据结构中,然后将邮件记录数据结构中的邮件按一封邮件一行的记录格式写入邮件记录文件; 步骤e :用户态程序对邮件记录文件进行定期的处理读取邮件记录文件并根据不同编码类型进行解码,然后统一使用UTF-8的编码方式将解码后的邮件记录文件插入日志收据库; 步骤f:系统前台将日志收据库中的邮件直观地展现,最终完成邮件的还原。
2.根据权利要求I所述的基于http协议分析的web邮件还原方法,其特征是所述步骤a中不同的电子邮件服务的邮箱含有相同电子邮件服务商的不同版本的邮箱。
3.根据权利要求I所述的基于http协议分析的web邮件还原方法,其特征是所述步骤b中的邮件记录数据结构中含有会话ID、收件人、发件人、抄送、密送、主题、内容和附件。
4.根据权利要求I所述的基于http协议分析的web邮件还原方法,其特征是所述基于http的web邮件的判别方法为邮件的发送连接是由http的POST方法实现的,每个POST连接中都会有一个host :行或者referer :行,根据这两行的内容判别是否为基于http的web邮件;具体判断方法是根据步骤a得到的邮件信息特征库对获取到POST连接中的host :行或referer :行内容进行匹配,从而确定这条连接是否是web邮件发送连接,以及这条发送连接采用的web邮件协议。
5.根据权利要求I所述的基于http协议分析的web邮件还原方法,其特征是所述步骤c中重组缓存的方法是将属于一条邮件发送连接的数据报缓存,在收到此条连接的tcp结束连接信息的时候判断连接缓存完成,然后对缓存的数据进行重组;重组的方法是依据缓存数据包的序列号以及长度对数据包进行排序定位;排序定位的原则是下一个包的序列号为它的前续包的序列号加上前续包的长度。
6.根据权利要求I所述的基于http协议分析的web邮件还原方法,其特征是所述步骤d中每封邮件的记录格式为发件人、收件人、抄送、密送、邮件主题、邮件内容、源IP地址、目的IP地址、会话ID、发送时间。
全文摘要
本发明涉及一种基于http协议分析的web邮件还原方法,含有下列步骤步骤a构建邮箱中基于http的web邮件的邮件信息特征库,为每项信息设置开始和结束特征字符串;步骤b匹配开始和结束特征字符串,定位信息在邮件发送会话中的位置,将定位到的信息以邮件为单位放入邮件记录数据结构中;步骤c对邮件发送的连接进行重组缓存,并对不同的邮件类型进行标记;步骤d对重组缓存的邮件会话数据跟据邮件类型标记对邮件进行还原;步骤e用户态程序对邮件记录文件进行定期的处理;步骤f系统前台将日志收据库中的邮件直观地展现,最终完成邮件的还原;本发明可有效进行web邮箱服务的监控,并对网络性能影响小。
文档编号H04L12/58GK102655482SQ20111044388
公开日2012年9月5日 申请日期2011年12月26日 优先权日2011年12月26日
发明者张水华 申请人:上海西默通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1