技术领域
[0001] 本
发明涉及一种邮箱恶意自动转发行为识别方法及装置,尤其涉及一种根据原始流量或者从原始流量中还原出的POP/IMAP/SMTP协议元数据检测发现邮箱恶意自动转发行为的方法及装置,属于信息安全领域。技术背景
[0002] 目前,邮件能够直观、准确的传输和记录信息,已经成为人们日常工作中必不可少的一种沟通方式。邮件自动转发是邮件系统为用户提供的一项更为便捷的功能,邮件系统能够根据用户的配置自行发起邮件转发行为,实时地将收到的邮件转发到目的邮箱。由于邮件自动转发具有较高的实时性,且一旦设置后即便用户
修改邮箱密码也依然有效,因此也经常被用作窃取邮箱数据的一种方式,给用户的邮件安全带来了巨大的
风险。
[0003] 传统的邮件服务提供商主要通过邮箱地址检测、附件格式检测以及众包举报等方式对邮件的安全性进行检测,这些方式对用于黑产和种植木
马的恶意邮件有一定效果,但无法检测发现邮箱因被恶意设置自动转发,导致邮件信息被长期窃取的情况。
发明内容
[0004] 针对被恶意设置自动转发,长期窃取邮箱内邮件信息的情况,本发明的目的在于提出一种邮箱恶意自动转发行为识别方法,通过解析流量数据形成邮件元数据,经过清洗筛选等预处理,对邮件元数据进行统计和特征分析,产生转发关系列表,对相似的转发目标进行归并,根据归并结果统计分析,从而识别出邮件数据中的邮箱恶意自动转发行为。
[0005] 为实现上述目的,本发明对邮箱恶意转发行为的识别方法主要包括以下步骤:
[0006] (1)从接入的网络流量中
抽取POP/IMAP/SMTP协议数据,对抽取的协议数据进行解析,形成邮件元数据集;
[0007] (2)对邮件元数据集进行数据清洗,去除无用数据,并将清洗后数据整合、排序形成一个有序数据集;
[0008] (3)从完整的有序数据集中提取要检测的特定时间区间内的数据,形成一个待检测数据文件,设定滑动窗口时间,对待检测数据文件中每条数据以滑动窗口为范围向前搜索数据,按设定规则筛选具有自动转发关系的邮件,并提取转发源、转发目标和转发比例,生成邮件自动转发列表;
[0009] (4)过滤掉邮件自动转发关系列表中转发比例低于设定
阈值的转发关系,并对相似的转发目标进行归并,对归并形成的每一类转发目标,统计其转发源数量,若同类转发目标对应的转发源数量超过设定阈值,则判定这些转发源与其转发目标之间存在恶意自动转发行为。
[0010] 进一步地,步骤(1)中所述邮件元数据集可表示为F={M1,M2,…,Mn},其中Mi表示一条邮件数据。Mi是一个包含的四元组,其中from为发件人,to为收件人,s为邮件主题,t为发送时间,i∈[1,n]。发件人from和收件人to均为格式为username@hostname的字符串,username代表邮箱登录用户名,hostname代表邮箱服务提供商。
[0011] 进一步地,步骤(2)中所述清洗和排序是对邮件元数据集F进行筛选,去除残缺数据,保证每条数据中四元组信息完整,并对数据Mi以元素t进行排序,生成一个有序数据集F’。若存在多个邮件子数据集F1、F2、…、Fn,对所有子数据集进行清洗,并将所有数据以元素t进行排序,合并生成一个有序邮件数据集F’。
[0012] 进一步地,步骤(3)中所述特定时间区间可以为1d。
[0013] 进一步地,步骤(3)中所述滑动窗口时间可以设定为3min。若邮箱设置了自动转发,当该邮箱收到邮件后会立即(在很短时间内)转发至目标设定的目的邮箱。
[0014] 进一步地,步骤(3)中所述设定规则是指在一个较短的
时间窗口内(例如3min)存在两条按时间先后顺序排列的邮件元数据,前一个元数据中的收件人为后一个元数据中的发件人,且两个邮件数据主题相同,则判定前一条元数据中的收件人将邮件自动转发至后一个元数据中的收件人,转发源为前一个元数据中的收件人,转发目标为后一个元数据中的收件人。
[0015] 进一步地,步骤(3)中所述自动转发关系包含了从待检测数据集中通过自动转发关系判定规则统计分析出的转发源、转发目标、自动转发次数、自动转发比例等信息,其中,自动转发比例的计算方法为:对于每个自动转发关系,统计检测时间段内转发源邮箱的收邮次数以及自动转发次数,由自动转发次数/收邮次数计算其自动转发比。
[0016] 进一步地,步骤(4)中自动转发比例的设定阈值th1优选为0.9-1.0。
[0017] 进一步地,步骤(4)中所述恶意自动转发行为是指多个邮箱中大量邮件被自动转发到一个邮箱地址或用户名相似的一类邮箱地址的行为。在自动转发关系中恶意的转发目标通常为批量注册邮箱,其username具有大量相同字符串且hostname相同。将hostname相同且username相似的转发目标归并为同一类,并分别计算每个归并后转发目标的转发源数量,若同类转发目标对应的转发源超过设定阈值,则判定这些转发源与其转发目标之间存在邮箱恶意自动转发行为。
[0018] 进一步地,步骤(4)中转发源数量设定阈值th2不小于2。
[0019] 为实现上述目的,本发明还提供了一种邮件恶意自动转发行为识别装置,包括数据抽取与解析模
块、数据清洗与排序模块、自动转发关系生成模块,恶意自动转发行为分析与判定模块;
[0020] 数据抽取与解析模块,用于接收原始流量数据,从中抽取POP/IMAP/SMTP数据,最终数据解析成邮件元数据;
[0021] 数据清洗与排序模块,用于处理对邮件元数据进行清洗,去除残缺或无用数据,并对数据进行排序,生成有序数据集;
[0022] 自动转发关系生成模块,用于根据检测时间从有序数据集中选择待检测数据,统计邮件收发数据形成收邮统计列表,并根据滑动时间窗口识别自动转发关系,转发源自动转发次数,结合收邮统计列表计算自动转发关系自动转发比,并生成自动转发关系列表;
[0023] 恶意自动转发行为分析与判定模块,用于对自动转发关系列表进行分析,过滤掉自动转发比低于设定阈值的转发关系,将相似转发目标归并为一类,转发关系按转发目标归并类别划分,统计类别转发源数量,最终通过设定阈值判定邮箱恶意转发行为,并输出结果和告警。
[0024] 与
现有技术相比,本发明的积极效果为:
[0025] 邮箱自动转发本身并非是一种恶意行为,但是若一段时间内存在大量邮件被自动转发到一类邮箱地址或一个邮箱地址,那么其中就存在很大风险。本发明利用原始流量中抽取的POP/IMAP/SMTP协议数据解析出邮件元数据,通过对邮件元数据中的特征进行统计和分析,将相似转发目标归并为一类,关联邮件转发关系,使得在大量看似正常的邮件收发数据中识别恶意转发行为成为可能。本发明可使业务部
门通过监测受保护邮箱系统的数据,及时发现邮箱恶意自动转发行为,并根据判定结果进行告警。
附图说明
[0026] 图1邮件恶意自动转发行为识别方法
流程图[0027] 图2邮件恶意自动转发行为识别装置模块关系图
具体实施方式
[0028] 以下结合附图对本发明的优选
实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
[0029] 本实施例提出的一种邮件恶意自动转发行为识别方法,图1为本方法的流程图,本方法的步骤具体说明如下。
[0030] 1、数据抽取与解析
[0031] 本网络装置可以从接入的网络流量中抽取所需协议数据,解析形成邮件元数据并生成邮件数据集,具体步骤如下:
[0032] (Step1):从接入的网络流量中抽取POP/IMAP/SMTP协议数据。
[0033] (step2):对抽取的协议数据进行解析,获取邮件元数据Mi,可用四元组表示为Mi=,其中fromi为发件人,toi为收件人,si为邮件主题,ti为时间。在邮件元数据中,发件人fromi和收件人toi格式均为username@hostname的字符串,username代表邮箱登录用户名,hostname代表邮箱服务提供商。邮件数据集由n条邮件元数据组成,即F={M1,M2,…,Mn}。
[0034] 2、数据清洗与排序
[0035] 本网络装置可以对邮件元数据集进行数据清洗、排序,生成有序数据集。具体步骤如下:
[0036] (Step1):检测邮件数据集中各元素内容,去除残缺数据,保证数据集中四元组数据完整。
[0037] (Step2):对清洗后的邮件数据集,将邮件元数据Mi以元素t进行排序,形成有序数据集F’。此步骤中若存在多个邮件子数据集F1、F2、…Fn,可采用外部排序法对所有子数据集中数据进行统一排序生成一个有序邮件数据集F’。
[0038] 3、自动转发关系列表生成
[0039] 本网络装置可以根据检测时间选择待检测数据,统计邮箱收邮次数、自动转发次数,并通过计算获得邮件自动转发关系,形成自动转发关系列表。具体步骤如下:
[0040] (Step1):从完整的有序数据集F’中提取规定时间区间内数据(例如1天),形成待检测数据文件f。
[0041] (Step2):对待检测数据f进行统计分析:
[0042] (step2-1).统计待检测数据中所有收件人收邮次数,生成收邮次数统计列表L,其中数据为,ci为收件人fw_useri的收邮次数。
[0043] (step2-2).设定滑动窗口时间(比如3分钟),对于待检测数据文件中的每条数据Mk=以滑动窗口为范围向前搜索数据,若存在数据Mi=,ti-tk,其中fw_src=tok,fw_dst=toi,fw_src为转发源,fw_dst为转发目标。
[0044] (step2-3).对于所有自动转发关系,合并具有相同转发源和转发目标的自动转发关系,统计每个自动转发关系的自动转发次数counti。
[0045] (Step3):对每个自动转发关系,计算自动转发比,即转发源的自动转发次数/转发源的收邮次数,得到转发关系列表R=,其中ri代表一个转发关系。自动转发关系ri=,其中pi=counti/ci。
[0046] 4、恶意自动转发行为分析与判定
[0047] 本网络装置可以对自动转发关系列表进行分析,过滤掉自动转发比低于设定阈值的转发关系,将相似转发目标归并为一类,对转发关系按转发目标类别划分,统计类别转发源数量,判定每类转发目标与转发源之间的恶意自动转发行为。具体步骤如下:
[0048] (Step1):删除转发关系列表中自动转发比低于设定阈值th1的转发关系。
[0049] (Stetp2):在转发关系列表R中的关系对ri中增加属性to_class,即ri=,to_classi用于表示自动转发关系对中转发目标类别,to_classi初始值为空。
[0050] (Step3):将相似转发目标归并为一类,并对转发关系进行统计分析:
[0051] (step2-4).遍历自动转发关系列表R,对于所有转发目标fw_dsti进行字符串处理,处理规则为:对于usernamei,删除其纯数字最大右子串,得到usernamei’;
[0052] (step2-5).对step3-1产生的所有usernamei’进行匹配:具有相同usernamei’的转发目标,若hostname相同,则归并为一类;
[0053] (step2-6).根据step3-2归并结果,为每条自动转发关系的to_class属性赋值,具有同类转发目标的自动转发关系属性值相同。
[0054] (Step4):统计每类转发目标的转发源数量,判定转发源数量是否超过设定阈值th2,若超过阈值th2,则判定为恶意自动转发,若小于阈值th2,则判定为非恶意自动转发行为,最终生成恶意自动转发行为列表。
[0055] 本实施例还提供了一种邮箱恶意自动转发行为识别装置,用于实现上述方法,如图2所示,包括数据抽取与解析模块、数据清洗与排序模块、自动转发关系生成模块,恶意自动转发行为判定模块。数据抽取与解析模块用于接收原始流量数据,从中抽取POP/IMAP/SMTP数据,最终数据解析成邮件元数据;数据清洗与排序模块用于处理对邮件元数据进行清洗,去除残缺或无用数据,并对数据进行排序,生成有序数据集;自动转发关系生成模块用于根据检测时间从有序数据集中选择检测数据,统计邮件收发数据形成收邮统计列表,并根据滑动时间窗口计算生成自动转发关系列表,计算自动转发比;恶意自动转发行为判定模块用于对自动转发关系列表进行分析,通过自动转发比清洗自动转发关系列表,将相似转发目标归并为一类,统计每个类别的类别转发源数量,判定自动恶意转发行为,形成恶意自动转发行为列表并输出结果和告警。
[0056] 以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以
权利要求书所述为准。