首页> 中国专利> 一种利用邮件服务器日志进行邮件用户标记的方法与系统

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

摘要

本发明属于邮件系统分析技术领域,具体为一种利用邮件服务器日志进行邮件用户标记的方法与系统。系统包括依次相连的四个模块:基本信息识别处理模块、action提取模块、用户属性生成模块和社会网络结构模块;本发明方法不仅对于用户发送邮件这一单一维度数据进行记录统计,同时也考虑了用户在管理邮箱时所产生日志数据的记录方法。同时,在记录日志信息的过程中,本发明也不是简单的将日志按照日志原格式的方法进行存放,而是引入了用户行为的新实体定义,从而让用户在整个邮件过程当中的行为过程更加明晰,也更便于提取属性、进行社会网络组织。

著录项

  • 公开/公告号CN103580919A

    专利类型发明专利

  • 公开/公告日2014-02-12

    原文格式PDF

  • 申请/专利权人 复旦大学;

    申请/专利号CN201310533094.4

  • 发明设计人 赵进;余浩淼;孙毅;王新;

    申请日2013-11-04

  • 分类号H04L12/24;H04L12/58;

  • 代理机构上海正旦专利代理有限公司;

  • 代理人陆飞

  • 地址 200433 上海市杨浦区邯郸路220号

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-17

    授权

    授权

  • 2014-06-11

    实质审查的生效 IPC(主分类):H04L12/24 申请日:20131104

    实质审查的生效

  • 2014-02-12

    公开

    公开

说明书

技术领域

本发明属于邮件信息挖掘技术领域,具体涉及一种利用邮件服务器日志进行邮件用户标记的方法与系统。

背景技术

电子邮件是目前人们最常用的一种通讯工具之一,虽然已经有许多其它网络通讯工具产生,但邮件在人们日常生活中所扮演的地位依然非常重要。然而,邮件用户所自有的属性信息非常匮乏,除了邮箱地址以为,没有别的相关信息可以用以对邮件用户进行相应的标识。而对于邮件用户进行相应的属性标识工作,对于信息安全以及提升邮件服务的服务质量都有非常重要的意义。

目前已经有很多标识用户信息的方法,并且伴随着社交网络的兴起,利用邮件用户信息构成邮件社会网络也变成无论研究界还是产业界都非常重视的话题。目前,标识邮件用户的主要属性都集中在借助邮件用户的社会关系进行用户特异性标识的阶段,主要是通过用户不同的接受者地址,以及所发送邮件的基本特征对于用户进行标注,然而这样的标注方法往往只能针对某种邮件应用比较有效。

从信息完整度的角度看,以往方法过于注重邮件交互信息对于用户标注的权重,即大部分的方法都紧紧围绕了与邮件发送相关的协议,即SMTP相关信息进行。而一般情况下,从邮件服务器(mail server)中所能得到的信息并不仅仅包含SMTP先关信息,还包括如POP3、IMAP等用户邮箱操作相关协议的相应信息,而这些并没有在现有方法中得到很好体现。也就是说,目前相关研究除了用户发送邮件情况之外,没有考虑到用户对于mail box管理行为的差异性对于用户特性的影响。

在邮件服务器(mail server)当中所存储的日志信息除了与SMTP协议,即用户邮件发送相关的日志信息之外,还包括IMAP、POP3等用户管理邮箱的行为日志。利用这些日志信息作为基础建立用户的行为事件序列向量可以有效地对于用户进行标识区分,达到用户标识的目的。

发明内容

本发明的目的在于提供一种利用邮件服务器日志进行邮件用户标记的方法与系统。 

本发明通过对mail server日志进行分析,从而对于邮件用户进行标记。本发明主要从mail server对于邮件操作所涉及的SMTP、IMAP、POP3三个主要协议的服务器日志出发,利用文本挖掘的方法还原出邮件用户行为过程与行为相关信息,利用行为的时间序列对于用户进行标记;同时,进一步提出利用所挖掘行为信息构建邮件网络中社会关系矩阵。

本发明涉及的mail server中的日志,主要包括MTA日志、POP3日志和IMAP日志。MTA日志:记录所有mail server用户的SMTP行为,即发送邮件的相关情况;POP3日志:用户利用POP3协议进行邮件管理操作的日志;IMAP日志:用户利用IMAP协议进行邮件管理操作的日志。各种日志中所包含日志条目的特征以及具体的信息提取方法将在后文中做详细的介绍,根据日志种类的不同,本发明将提供不同的算法进行处理。

为了通过利用上文中所提及的三种不同类型日志所包含信息进行用户行为标识,整个系统分为依次相连的四个大的模块:基本信息识别处理模块、action提取模块、用户属性生成模块和社会网络结构模块。其中,基本信息识别处理模块,主要用以对原始的邮件数据进行处理入库操作;action提取模块,针对三种不同的日志,可以提取出针对于SMTP、IMAP以及POP3协议用户不同的action实体,每一个实体即为用户的一次利用SMTP协议进行邮件发送操作或者IMAP、POP3进行邮件管理操作的操作过程以及该操作过程相应的信息;用户属性生成模块:即生成用以区分用户的用户属性实体;社会网络结构模块:即主要利用SMTP当中用户交互邮件的相关信息,将所有标识出的邮件用户组成一张社会关系网络,并用社会关系矩阵进行存储。如图1所示。

所述基本信息识别处理模块,包括两个处理步骤,第一步,对于文本的mail server原始日志进行文本分析,第二步,将挖掘到的所有信息存储进数据库。 

第一步原始日志的文本分析中,mail server信息的识别是非常重要的工作。即需要识别出每种针对不同协议日志中,有多少不同种类的日志条目。而由于一般的mail server在记录日志时都会对不同域在文本中有明显的分隔,因此可以将原始日志文件作为结构化数据进行处理,因此在识别条目种类之后进一步需要处理的便是对于每条日志中的域进行识别。由于本发明所处理的mail server日志都是记录与公有的应用层网际协议相关的日志,因此,利用公开RFC进行日志分析规则设定便是本发明所利用的主要方法。

所述的action提取模块,其主要作用是从基本信息识别处理模块中得到的原始日志数据里提取出标识用户行为最小的单位action。

Action的概念是在本发明中所提出,对于不同的日志类型,action的具体定义会有所区别,但总的来说,可以将action归纳为用户所进行的一次邮件操作。而所谓的action提取,即从原始日志当中提取出与用户的邮件操作相关联产生的mail server的一些信息记录。

邮件行为可以大致的分为两种类型,第一种为邮件发送行为,这一类行为主要与SMTP协议强相关,第二种为邮件处理行为,这一类行为主要与IMAP协议或者POP3协议有较强的相关性。每一种行为都有对应的action,而每类action具体结构描述如图2,从中我们可以看到SMTP的action相较于POP3与IMAP的action而言要更加复杂,下面我们将对于action中一些关键的属性做介绍。

Username:用户名,即行为发起的用户注册名,在SMTP中则是sender字段内容,或者发起mail命令的用户名。

Ip:日志记录中ip字段内容,标示用户是在ip为该值的主机上进行的相应邮件操作。

Rcpt:SMTP日志中记录的收件人用户名。

Respond:由于SMTP是一个有会话协议,因此在SMTP会话的每一步过程中,接收到会话命令的一方都会给发起会话一方返回一个值作为会话的应答,该字段既记录了会话过程中相应的respond值情况。不同的respond值,标识了服务器对于用户发起这次命令的应答情况。

Result:也是SMTP当中所独有的字段,主要记录了mail server对于用户所发起的每一个命令具体的处理情况。

Del/readmail:在POP3中,mail server会记录用户每次处理的mail编号以及mail box编号,这样可以更加精确地了解到用户对于邮箱管理的具体细节。

依据上述对于action的详细定义,本发明提出了基于状态转移的action提取方法,这种状态转移方法主要应用于SMTP action的提取以及POP3 action的提取。对于IMAP而言,由于日志记录的非常简单,每一条原始的日志都包含了一个完整的action信息,因此没有利用状态转移方法对于该类型action进行提取。

对于POP3的状态转移action提取过程,如图3所示,系统从日志最开始往下顺序读取,根据所处理日志cmd的不同,开启针对不同username的状态基,并依据状态基对于不同username的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实体所需要的剩余信息并将该实体返回。

相较于POP3比较简单的状态转换而言,SMTP的状态形成过程就要复杂很多,其简要过程如下图4所示。SMTP action提取的基本处理思路与POP3过程非常类似,依旧是顺序读取原始日志,当遇到不同cmd域值信息时对于相应username或者ip的状态基进行相应操作,具体情况如下:

正向读取:该阶段下,处理过程与POP3的正向读取类似,只是此时只处理Accept与Disconnect信息,建立相应的ip action实体。

Accept:当扫描日志cmd等于accept时,系统将把accept日志存入队列,继续进行扫描。

Disconnect:当扫描日志cmd等于disconnect时,系统建立相应的ip action实体与相应状态基,并把disconnect日志中所包含实体所需信息存入该实体当中,其中便包括mail count信息。同时,用户会从先前存好的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 action实体所需要的信息录入实体,并完成该user action的建立工作。同时,检测此时所建立的user action实体数目是否与实体中mail count相同,如果相同则SMTP action建立过程结束,如果不同则继续反向读取过程。

所述用户属性生成模块,其中,最重要的是对于用户属性的定义,详细定义如图5所示。从总的来看,可以分为ip实体与用户实体,其中ip实体主要记录SMTP中的主机行为序列,即ip action,这一类action主要描述了主机在完成邮件发送过程中,所需要进行的相关操作。而用户实体则主要由用户基本信息与用户行为序列进行标识,用户基本属性主要记录用户相应的基本静态信息,主要是域名、用户名等等无法随意变更的部分。而用户行为属性则主要记录用户在完成各种不同的行为时,所产生的特异性特征信息,如前文所述,用户行为主要可以分为邮件发送行为和邮件管理行为两类,邮件发送行为主要记录用户操作SMTP协议的过程,而邮件管理行为则由POP3操作过程和IMAP操作过程两部分构成。

该模块中最大的难点就在于时间序列的定义,时间区间的选取决定了所得到时间序列数据的聚集性与数据维度的复杂度,简单的来说,当时间单位过小时,会造成大量的数据维度,而数据的离散型会非常的高,但是如果时间单位选取过大,则可能出现一个时间区间包含过多数据,从而向量之间的区分度会变得很小。

本发明提出了利用类似于夏普率定义的,利用均值方差比率对于不同时间单位的适应程度进行量化方法,如下面公式:

其中,表示需要测量的时间序列,为标准时间序列,即预先设定的最理想化时间序列,表示待测时间序列与标准时间序列的期望差,表示要测量时间序列的方差,而S则可以称之为时间单位选择适宜度。

在实际的操作过程中,一般可以将设为0,从而这里对于区间适宜程度的度量完全取决于期望与方差的比值。对于所有的用户,不同的区间都会求得不同的S,从而对于给定的时间单位范围,会得到一个相应的适宜度向量,当所得到向量中所有适宜度方差非常小且相应的S值较大时,可以认为此时所采用的时间单位范围为适宜的时间单位取值。

在得到用户行为序列的同时,由于SMTP协议当中存在用户主机与服务器交互的过程,因此也会以天为单位存储用户主机与mail server交互行为数据时间序列,便于今后利用该数据对于主机特性进行研究。 

所述的社会网络结构模块中,本发明提出了一种新的边权值定义方法,即除了邮件内容特性作为边权值标识之外,提出利用收件人多少作为一个新的权值加权。假设某封邮件的收件人有x人,则该边上的收件人权值为1/x。利用这样的权值定义方法,在对关系网络节点相关度进行计算时有了新的维度加入。

基于上述系统,本发明提出的利用邮件服务器日志进行邮件用户标记的方法,具体步骤为:

第一步,获取进行用户标示所需要的原始日志数据,mail server日志以文本形式存储在linux系统下指定的文件夹当中,以方便的导出作为数据源;

第二步,读取出文本日志的每一个条目,将读取到的日志条目进行结构化,然后存入数据库;

第三步,将对每个日志所存储的表进行顺序读取,利用所述的状态转移方法生成相应的action并存入数据库;

第四步,将利用得到的三种action的数据表,构建用户与主机实体,对于时间序列数据的最小时间单位而言,用户需要利用所述的计算区间选择适宜度的方法进行预测,具体步骤如下:

(1)确定预取范围,即以所得到数据的总时间长短作为参考,对于相应的时间单位取值范围与粒度进行限定;

(2)更具粒度和范围,对于不同的设定方法更具公式为:

计算每个用户向量的区间选择适宜度,得到所有用户的区间选择适宜度向量;

(3)计算所有时间单位选择适宜度向量的方差和均值,取方差最小前十个向量中,均值最大的向量对应的范围作为划分区间的时间单位;

当选择时间单位之后,根据action中与time相关的信息自动的生成主机实体与用户实体,并存入相应的数据库当中;

     第五步,利用用户实体数据得到社会网络图,从实现的意义上来说即得到相应的带有权值的边实体;该实体包括发件人、收件人、邮件属性以及收件人属性权值,其中收件人属性权值标识了该邮件所代表的收件人与发件人的相关性系数;系数计算以只有一个收件人的邮件作为基准,即当收件人是唯一时,其值为1,当收件人数为x时,其值为1/x;这样得到邮件网络中所有的边数据表,相应的图操作也以这样的边数据表作为操作构建有向图来进行的。

相比较于目前邮件分析领域的其它存储方法,本发明不仅对于用户发送邮件这一单一维度数据进行记录统计,同时也考虑了用户在管理邮箱时所产生日志数据的记录方法。同时,在记录日志信息的过程中,本发明也不是简单的将日志按照日志原格式的方法进行存放,而是引入了用户行为的新实体定义,从而让用户在整个邮件过程当中的行为过程更加明晰,也更便于提取属性、进行社会网络组织。

附图说明

图1、整体模块流程图。

图2、action结构设计图。

图3、POP3 action提取状态流图。

图4、SMTP action提取整体流程图。

图5、用户属性定义图。

具体实施方式

由于本发明所涉及方法需要处理大量的mail server数据,因此系统的部署节点应该尽可能的靠近mail server服务器,并在所部属节点上有完整的大容量数据库系统。从实验统计来看,大学级别一年中邮件服务器所产生的数据大概有200G,并由于在系统处理的过程中会造成相当程度的数据冗余,因此如果要对一年的数据进行处理,处理服务器的数据库系统至少需要400G的存储空间。同时,由于本发明所涉及的相应算法需要大量的内存空间,因此较大内存空间的服务器可以有效提升本方法的运行效率。

本方法具体处理过程如下:

首先,我们需要获取进行用户标示所需要的原始日志数据。本发明目前提供了针对coremail邮件日志的处理模块,其它邮件日志会依据邮件日志记录格式的不同有所调整,但总的来看,mail server日志格式都有相应的类似性。一般情况下,mail server日志会以文本形式存储在linux系统下指定的文件夹当中,可以方便的导出作为数据源。

然后,系统会读取出文本日志的每一个条目,将读取到的日志条目进行结构化然后存入数据库。如上文所提到的,文本的源日志条目本身也是结构化数据,在coremail当中,日志会以time [title1:field1,title2:field2,······]的格式分隔开,系统会利用编辑好的文本日志规则,将文本日志结构化并存储进入数据库。

第三步,我们将对每个日志所存储的表进行顺序读取,利用上面所提到的状态转移方法生成相应的action并存入数据库,action的相关属性细节如图4所示。这里便会产生第一步的冗余信息,其信息量大致为原信息量的50%左右。由于IMAP单条原始日志信息便存储了一个IMAP action的所有信息,因此对于IMAP表的处理来说,没有上面所提到的状态转移的过程。

第四步,我们将利用得到的三种action的数据表,构建用户与主机实体,其实体细节如图5。对于时间序列数据的最小时间单位而言,用户需要利用上文提到的计算区间选择适宜度的方法进行预测。具体步骤如下:

(1)确定预取范围,即更具得到数据的总时间长短,对于相应的时间单位取值范围与粒度进行限定。以收集一年的数据为例,根据大致的数据量多少,可以将最小的粒度增幅设为小时,最大的粒度区间为十日,因为更大的时间单位会导致向量唯独过低从而损失过多数据,而太小的粒度则会因为大量的0值在向量中出现,意义不大。

(2)更具粒度和范围,对于不同的设定方法更具公式:

进行计算每个用户向量的区间选择适宜度,从而得到所有用户的区间选择适宜度向量。

(3)计算所有时间单位选择适宜度向量的方差和均值,取方差最小前十个向量中,均值最大的向量对应的范围作为划分区间的时间单位。

当选择时间单位之后,系统根据action中与time相关的信息自动的生成主机实体与用户实体,并存入相应的数据库当中。这里得到的冗余量相对较小,从实验来看大概不到原始数据的5%。

第五步,利用用户实体数据得到社会网络图,从实现的意义上来说即得到相应的带有权值的边实体。该实体主要包括发件人、收件人、邮件属性以及收件人属性权值。其中收件人属性权值标识了该邮件所代表的收件人与发件人的相关性系数。系数计算以只有一个收件人的邮件作为基准,即当收件人是唯一时,其值为1,当收件人数为x时,其值为1/x。这样我们就可以得到邮件网络中所有的边数据表,相应的图操作也是以这样的边数据表作为操作构建有向图来进行的。在这里,边数据表的冗余量也不高,从之前的试验结果来看大致为初始数据的5%左右。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号