一种利用邮件服务器日志进行邮件用户标记的方法与系统的制作方法

文档序号:7775302阅读:255来源:国知局
一种利用邮件服务器日志进行邮件用户标记的方法与系统的制作方法
【专利摘要】本发明属于邮件系统分析【技术领域】,具体为一种利用邮件服务器日志进行邮件用户标记的方法与系统。系统包括依次相连的四个模块:基本信息识别处理模块、action提取模块、用户属性生成模块和社会网络结构模块;本发明方法不仅对于用户发送邮件这一单一维度数据进行记录统计,同时也考虑了用户在管理邮箱时所产生日志数据的记录方法。同时,在记录日志信息的过程中,本发明也不是简单的将日志按照日志原格式的方法进行存放,而是引入了用户行为的新实体定义,从而让用户在整个邮件过程当中的行为过程更加明晰,也更便于提取属性、进行社会网络组织。
【专利说明】—种利用邮件服务器日志进行邮件用户标记的方法与系统
【技术领域】
[0001]本发明属于邮件信息挖掘【技术领域】,具体涉及一种利用邮件服务器日志进行邮件用户标记的方法与系统。
【背景技术】
[0002]电子邮件是目前人们最常用的一种通讯工具之一,虽然已经有许多其它网络通讯工具产生,但邮件在人们日常生活中所扮演的地位依然非常重要。然而,邮件用户所自有的属性信息非常匮乏,除了邮箱地址以为,没有别的相关信息可以用以对邮件用户进行相应的标识。而对于邮件用户进行相应的属性标识工作,对于信息安全以及提升邮件服务的服务质量都有非常重要的意义。
[0003]目前已经有很多标识用户信息的方法,并且伴随着社交网络的兴起,利用邮件用户信息构成邮件社会网络也变成无论研究界还是产业界都非常重视的话题。目前,标识邮件用户的主要属性都集中在借助邮件用户的社会关系进行用户特异性标识的阶段,主要是通过用户不同的接受者地址,以及所发送邮件的基本特征对于用户进行标注,然而这样的标注方法往往只能针对某种邮件应用比较有效。
[0004]从信息完整度的角度看,以往方法过于注重邮件交互信息对于用户标注的权重,即大部分的方法都紧紧围绕了与邮件发送相关的协议,即SMTP相关信息进行。而一般情况下,从邮件服务器(mail server)中所能得到的信息并不仅仅包含SMTP先关信息,还包括如POP3、IMAP等用户邮箱操作相关协议的相应信息,而这些并没有在现有方法中得到很好体现。也就是说,目前相关研究除了用户发送邮件情况之外,没有考虑到用户对于mail box管理行为的差异性对于用户特性的影响。
[0005]在邮件服务器(mail server)当中所存储的日志信息除了与SMTP协议,即用户邮件发送相关的日志信息之外,还包括IMAP、POP3等用户管理邮箱的行为日志。利用这些日志信息作为基础建立用户的行为事件序列向量可以有效地对于用户进行标识区分,达到用户标识的目的。

【发明内容】

[0006]本发明的目的在于提供一种利用邮件服务器日志进行邮件用户标记的方法与系统。
[0007]本发明通过对mail server日志进行分析,从而对于邮件用户进行标记。本发明主要从mail server对于邮件操作所涉及的SMTP、IMAP、POP3三个主要协议的服务器日志出发,利用文本挖掘的方法还原出邮件用户行为过程与行为相关信息,利用行为的时间序列对于用户进行标记;同时,进一步提出利用所挖掘行为信息构建邮件网络中社会关系矩阵。
[0008]本发明涉及的mail server中的日志,主要包括MTA日志、POP3日志和IMAP日志。MTA日志:记录所有mail server用户的SMTP行为,即发送邮件的相关情况;P0P3日志:用户利用POP3协议进行邮件管理操作的日志;IMAP日志:用户利用IMAP协议进行邮件管理操作的日志。各种日志中所包含日志条目的特征以及具体的信息提取方法将在后文中做详细的介绍,根据日志种类的不同,本发明将提供不同的算法进行处理。
[0009]为了通过利用上文中所提及的三种不同类型日志所包含信息进行用户行为标识,整个系统分为依次相连的四个大的模块:基本信息识别处理模块、action提取模块、用户属性生成模块和社会网络结构模块。其中,基本信息识别处理模块,主要用以对原始的邮件数据进行处理入库操作;action提取模块,针对三种不同的日志,可以提取出针对于SMTP、IMAP以及POP3协议用户不同的action实体,每一个实体即为用户的一次利用SMTP协议进行邮件发送操作或者IMAP、POP3进行邮件管理操作的操作过程以及该操作过程相应的信息;用户属性生成模块:即生成用以区分用户的用户属性实体;社会网络结构模块:即主要利用SMTP当中用户交互邮件的相关信息,将所有标识出的邮件用户组成一张社会关系网络,并用社会关系矩阵进行存储。如图1所示。
[0010]所述基本信息识别处理模块,包括两个处理步骤,第一步,对于文本的mailserver原始日志进行文本分析,第二步,将挖掘到的所有信息存储进数据库。
[0011]第一步原始日志的文本分析中,mail server信息的识别是非常重要的工作。即需要识别出每种针对不同协议日志中,有多少不同种类的日志条目。而由于一般的mailserver在记录日志时都会对不同域在文本中有明显的分隔,因此可以将原始日志文件作为结构化数据进行处理,因此在识别条目种类之后进一步需要处理的便是对于每条日志中的域进行识别。由于本发明所处理的mail server日志都是记录与公有的应用层网际协议相关的日志,因此,利用公开RFC进行日志分析规则设定便是本发明所利用的主要方法。
[0012]所述的action提取模块,其主要作用是从基本信息识别处理模块中得到的原始日志数据里提取出标识用户行为最小的单位action。
[0013]Action的概念是在本发明中所提出,对于不同的日志类型,action的具体定义会有所区别,但总的来说,可以将action归纳为用户所进行的一次邮件操作。而所谓的action提取,即从原始日志当中提取出与用户的邮件操作相关联产生的mail server的一些信息记录。
[0014]邮件行为可以大致的分为两种类型,第一种为邮件发送行为,这一类行为主要与SMTP协议强相关,第二种为邮件处理行为,这一类行为主要与IMAP协议或者POP3协议有较强的相关性。每一种行为都有对应的action,而每类action具体结构描述如图2,从中我们可以看到SMTP的action相较于POP3与IMAP的action而言要更加复杂,下面我们将对于action中一些关键的属性做介绍。
[0015]Username:用户名,即行为发起的用户注册名,在SMTP中则是sender字段内容,或者发起mail命令的用户名。
[0016]Ip:日志记录中ip字段内容,标示用户是在ip为该值的主机上进行的相应邮件操作。
[0017]Rcpt =SMTP日志中记录的收件人用户名。
[0018]Respond:由于SMTP是一个有会话协议,因此在SMTP会话的每一步过程中,接收到会话命令的一方都会给发起会话一方返回一个值作为会话的应答,该字段既记录了会话过程中相应的respond值情况。不同的respond值,标识了服务器对于用户发起这次命令的应答情况。[0019]Result:也是SMTP当中所独有的字段,主要记录了 mail server对于用户所发起的每一个命令具体的处理情况。
[0020]Del/readmail:在POP3中,mail server会记录用户每次处理的mail编号以及mail box编号,这样可以更加精确地了解到用户对于邮箱管理的具体细节。
[0021]依据上述对于action的详细定义,本发明提出了基于状态转移的action提取方法,这种状态转移方法主要应用于SMTP action的提取以及POP3 action的提取。对于IMAP而言,由于日志记录的非常简单,每一条原始的日志都包含了一个完整的action信息,因此没有利用状态转移方法对于该类型action进行提取。
[0022]对于POP3的状态转移action提取过程,如图3所示,系统从日志最开始往下顺序读取,根据所处理日志cmd的不同,开启针对不同username的状态基,并依据状态基对于不同username的POP3 action进行提取,提取过程如下:
logout:当顺序扫描日志发现cmd字段等于login时,系统建立username为该日志所记录的状态基,并使该状态基进入log in状态,系统进入读取del raed阶段,此时建立初始的POP3 action实体,并填入ip、username等基本信息。
[0023]Del/read:当顺序扫描日志发现cmd字段等于del/read时,系统扫描已经建立的状态基,将username与正处理的日志该字段进行比较,如果相等会将其状态基调入read/del状态,同时计入日志中所记录的mail id等,read或者del情况等相应信息。
[0024]Logout:当顺序扫描日志发现cmd为logout字段时,系统将username与该日志相等的向量集调入log out状态,并录入POP3 action实体所需要的剩余信息并将该实体返回。
[0025]相较于POP3比较简单的状态转换而言,SMTP的状态形成过程就要复杂很多,其简要过程如下图4所示。SMTP action提取的基本处理思路与POP3过程非常类似,依旧是顺序读取原始日志,当遇到不同cmd域值信息时对于相应username或者ip的状态基进行相应操作,具体情况如下:
正向读取:该阶段下,处理过程与POP3的正向读取类似,只是此时只处理Acc印t与Disconnect信息,建立相应的ip action实体。
[0026]Accept:当扫描日志cmd等于accept时,系统将把accept日志存入队列,继续进行扫描。
[0027]Disconnect:当扫描日志cmd等于disconnect时,系统建立相应的ip action实体与相应状态基,并把disconnect日志中所包含实体所需信息存入该实体当中,其中便包括mail count信息。同时,用户会从先前存好的accept日志队列中读出相应ip的accept日志,并存入实体所需accept信息,并将该状态基调入user action实体建立过程。
[0028]反向读取:当经历过disconnect过程之后,系统进入反向读取阶段,即从之前按日志记录顺序读取变为从disconnect记录开始反向回退读取日志,处理在之前读入Accept位置之后的所有cmd为data、mail以及rcpt日志,并领用这些日志之间的状态转换建立相应的user action。
[0029]Data:此时建立data中相应username的user action,并填入data日志中记录的相关信息。并将data所建立状态基调入rcpt/mail状态,系统进入rcpt/mail阶段。
[0030]Rcpt:将日志中包含user action实体所需要的信息录入实体,同时检查实体中所记录的rcpt列表是否已经全部包含,如果全部包含,则将状态基调入mail状态,系统进入mail阶段。
[0031]Mail:将日志中包含user action实体所需要的信息录入实体,并完成该useraction的建立工作。同时,检测此时所建立的user action实体数目是否与实体中mailcount相同,如果相同则SMTP action建立过程结束,如果不同则继续反向读取过程。
[0032]所述用户属性生成模块,其中,最重要的是对于用户属性的定义,详细定义如图5所示。从总的来看,可以分为ip实体与用户实体,其中ip实体主要记录SMTP中的主机行为序列,即ip action,这一类action主要描述了主机在完成邮件发送过程中,所需要进行的相关操作。而用户实体则主要由用户基本信息与用户行为序列进行标识,用户基本属性主要记录用户相应的基本静态信息,主要是域名、用户名等等无法随意变更的部分。而用户行为属性则主要记录用户在完成各种不同的行为时,所产生的特异性特征信息,如前文所述,用户行为主要可以分为邮件发送行为和邮件管理行为两类,邮件发送行为主要记录用户操作SMTP协议的过程,而邮件管理行为则由POP3操作过程和IMAP操作过程两部分构成。
[0033]该模块中最大的难点就在于时间序列的定义,时间区间的选取决定了所得到时间序列数据的聚集性与数据维度的复杂度,简单的来说,当时间单位过小时,会造成大量的数据维度,而数据的离散型会非常的高,但是如果时间单位选取过大,则可能出现一个时间区间包含过多数据,从而向量之间的区分度会变得很小。
[0034]本发明提出了利用类似于夏普率定义的,利用均值方差比率对于不同时间单位的适应程度进行量化方法,如下面公式:
【权利要求】
1.一种利用邮件服务器日志进行邮件用户标记的系统,邮件服务器日志包括MTA日志、POP3日志和IMAP日志;MTA日志:记录所有邮件服务器用户的SMTP行为,即发送邮件的相关情况;P0P3日志:用户利用POP3协议进行邮件管理操作的日志;IMAP日志:用户利用IMAP协议进行邮件管理操作的日志;其特征在于:系统包括依次相连的四个模块:基本信息识别处理模块、action提取模块、用户属性生成模块和社会网络结构模块;其中,基本信息识别处理模块,主要用以对原始的邮件数据进行处理入库操作;action提取模块,针对三种不同的日志,提取出针对于SMTP、IMAP以及POP3协议用户不同的action实体,每一个实体即为用户的一次利用SMTP协议进行邮件发送操作或者IMAP、POP3进行邮件管理操作的操作过程以及该操作过程相应的信息;用户属性生成模块:生成用以区分用户的用户属性实体;社会网络结构模块:主要利用SMTP当中用户交互邮件的相关信息,将所有标识出的邮件用户组成一张社会关系网络,并用社会关系矩阵进行存储。
2.根据权利要求1所述的系统,其特征在于所述基本信息识别处理模块,包括两个部分:第一,对于文本的mail server原始日志,利用RFC进行文本分析,第二,将挖掘到的所有信息存储进数据库。
3.根据权利要求1所述的系统,其特征在于所述action提取模块,是从基本信息识别处理模块中得到的原始日志数据里提取出标识用户行为最小的单位action ; 所述action即为用户所进行的一次邮件操作;所述的action提取,是从原始日志当中提取出与用户的邮件操作相关联产生的邮件服务器的一些信息记录; 邮件操作行为分为两种类型:第一种为邮件发送行为,第二种为邮件处理行为,每一种行为都有对应的action,对于action中的属性说明如下: Username:用户名,即行为发起的用户注册名,在SMTP中则是sender字段内容,或者发起mail命令的用户名; Ip:日志记录中ip字段内容,标示用户是在ip为该值的主机上进行的相应邮件操作; Rcpt =SMTP日志中记录的收件人用户名;Respond:由于SMTP是一个有会话协议,在SMTP会话的每一步过程中,接收到会话命令的一方都会给发起会话一方返回一个值作为会话的应答,该字段既记录了会话过程中相应的respond值情况;不同的respond值,标识了服务器对于用户发起这次命令的应答情况;Result:主要记录mail server对于用户所发起的每一个命令具体的处理情况;Del/readmail:在POP3中,mail server记录用户每次处理的mail编号以及mail box编号; 依据上述对于action的定义,对于SMTP action的提取以及POP3 action的提取,采用基于状态转移的action提取方法: 对于POP3 action提取过程如下: logout:当顺序扫描日志发现cmd字段等于login时,系统建立username为该日志所记录的状态基,并使该状态基进入log in状态,系统进入读取del raed阶段,此时建立初始的POP3 action实体,并填入ip、username基本信息; Del/read:当顺序扫描日志发现cmd字段等于del/read时,系统扫描已经建立的状态基,将username与正处理的日志该字段进行比较,如果相等,将其状态基调入read/del状态,同时计入日志中所记录的mail id, read或者del情况等相应信息;Logout:当顺序扫描日志发现cmd为logout字段时,系统将username与该日志相等的向量集调入log out状态,并录入POP3 action实体所需要的剩余信息并将该实体返回;对于SMTP action提取过程如下: 正向读取:该阶段下,处理过程与POP3的正向读取类似,只是此时只处理Acc印t与Disconnect信息,建立相应的ip action实体; Accept:当扫描日志cmd等于accept时,系统将把accept日志存入队列,继续进行扫描; Disconnect:当扫描日志cmd等于disconnect时,系统建立相应的ip action实体与相应状态基,并把disconnect日志中所包含实体所需信息存入该实体当中,其中包括mailcount信息;同时,用户从先前存好的accept日志队列中读出相应ip的accept日志,并存入实体所需accept信息,并将该状态基调入user action实体建立过程; 反向读取:当经历过disconnect过程之后,系统进入反向读取阶段,即从之前按日志记录顺序读取变为从disconnect记录开始反向回退读取日志,处理在之前读入Accept位置之后的所有cmd为data、mail以及rcpt日志,并领用这些日志之间的状态转换建立相应的 user action ; Data:此时建立data中相应username的user action,并填入data日志中记录的相关信息;并将data所建立状态基调入rcpt/mail状态,系统进入rcpt/mail阶段; Rcpt:将日志中包含user action实体所需要的信息录入实体,同时检查实体中所记录的rcpt列表是否已经全部包含,如果全部包含,则将状态基调入mail状态,系统进入mail阶段; Mail:将日志中包含user actio`n实体所需要的信息录入实体,并完成该user action的建立工作;同时,检测此时所建`立的user action实体数目是否与实体中mail count相同,如果相同则SMTP action建立过程结束,如果不同则继续反向读取过程。
4.根据权利要求1所述的系统,其特征在于所述用户属性生成模块中,用户属性的定义,分为ip实体与用户实体,其中ip实体记录SMTP中的主机行为序列,即ip action,这一类action主要描述主机在完成邮件发送过程中,所需要进行的相关操作;用户实体由用户基本信息与用户行为序列进行标识;用户基本属性主要记录用户相应的基本静态信息,包括域名、用户名等无法随意变更的部分;用户行为属性主要记录用户在完成各种不同的行为时,所产生的特异性特征信息; 该模块中关于时间序列的定义,时间区间的选取采用均值方差比率对于不同时间单位的适应程度进行量化方法,公式为:
5.根据权利要求1所述的系统,其特征在于所述社会网络结构模块中,采用如下边权值定义方法,即除了邮件内容特性作为边权值标识之外,利用收件人多少作为一个新的权值加权,利用这样的权值定义方法,在对关系网络节点相关度进行计算时有了新的维度加入。
6.一种基于权利要求1-5之一所述系统的利用邮件服务器日志进行邮件用户标记的方法,其特征在于具体步骤为: 第一步,获取进行用户标示所需要的原始日志数据,mail server日志以文本形式存储在Iinux系统下指定的文件夹当中,以方便的导出作为数据源; 第二步,读取出文本日志的每一个条目,将读取到的日志条目进行结构化,然后存入数据库; 第三步,将对每个日志所存储的表进行顺序读取,利用所述的状态转移方法生成相应的action并存入数据库; 第四步,将利用得到的三种action的数据表,构建用户与主机实体,对于时间序列数据的最小时间单位而言,用户需要利用所述的计算区间选择适宜度的方法进行预测,具体步骤如下: (1)确定预取范围,即以所得到数据的总时间长短作为参考,对于相应的时间单位取值范围与粒度进行限定; (2)更具粒度和范围,对于不同的设定方法更具公式为:

【文档编号】H04L12/24GK103580919SQ201310533094
【公开日】2014年2月12日 申请日期:2013年11月4日 优先权日:2013年11月4日
【发明者】赵进, 余浩淼, 孙毅, 王新 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1