基于信息挖掘的潜在异常行为可视分析

2020-04-25 07:53:06胡宇佳
现代计算机 2020年9期
关键词:研发部门邮件端口

胡宇佳

(四川大学计算机学院,成都610065)

0 引言

随着信息技术的发展,互联网公司全力研发新的产品以提高自己的行业竞争力。一般的,在临近产品发布的时期,公司对内部可能会发生的一切异常的现象以及员工行为都十分敏感。为了确保产品能够按时安全地发布,公司的核心利益能够不受影响。公司高层常常会在这样的时期成立临时的情报威胁分析小组,这样的小组可以获取到公司在一定时期内的所有数据,对这些数据中包含的信息进行提取和分析,并根据分析结果,处理可能存在的各种会对公司安全造成影响的潜在威胁[1]。在这样的分析过程中,数据的复杂性会影响工作小组对结果的分析。因此,本文采取一定的信息挖掘方法,对数据进行清洗、处理,进而挖掘出一定的规律,从庞大的数据中挖掘出可能存在的异常行为[2]。我们根据该公司提供的员工数据,通过可视分析的方法,帮助该公司找到可能存在的内部威胁情报并给出相应的建议。我们的完成过程分为三个阶段:第一个阶段是对原始数据进行预处理;第二阶段是对数据的可视化;第三阶段是对可视化视图进行可视分析,找到规律并发现问题。

1 数据预处理

本文的数据处理主要是通过Python,以及Python中的数据处理库pandas[3]和numpy[4]完成的。根据我们要解决的问题,即发现公司中存在的异常,我们将问题拆解为一下三步:第一步,找到员工的部门划分方式;第二步,探索员工的正常行为模式;第三步,和正常行为模式对比,确定员工的异常行为模式,以及这些异常之间的关联。

1.1 员工的部门划分

同部门的员工之间会有一定的邮件往来,因此,我们首先从邮件数据入手,去处理数据。第一步,对垃圾邮件进行处理,主要是将垃圾广告筛选删除,这部分主要是通过读取邮件的主题,将繁体字、含有手机号或者QQ 号的邮件剔除,最后清洗得到完整的员工往来邮件。第二步,从收发件人中,通过正则匹配的方式提取出员工ID。第三步,对主题进行jieba[5]分词处理,以关键词的形式存储主题。最终,我们以“发件人-收件人-主题词”这样的方式存储数据,划分研发、财务和人力资源部门员工。

1.2 员工的行为探索

员工的行为模式,主要包括:员工的正常上下班打卡时间、员工上网的浏览模式、员工收发邮件数量、员工上网流量高峰以及员工的端口使用模式这五种。

针对部门的员工划分,我们将员工ID 提取出来,按照部门进行划分,并分别统计员工的上下班时间,根据统计得到的结果,考虑以半个小时、一个小时这样的时间区间去统计打卡的人数,以此确定该部门员工的正常上下班打卡的时间段。

针对员工的上网浏览模式,我们将所有员工划分为研发人员和非研发人员两类,进行分析,将所有网址拆分成了:娱乐网址和工作网址。娱乐网址包括一些视频浏览和新闻网站,工作网址则是公司的内部网站。然后根据浏览的时间和数量,统计某时段中员工浏览这些网站的频次,最终得到员工上网行为模式。

针对员工收发邮件数量、员工的端口模式和员工的上网流量高峰,这些也是按照部门以及一定的时间周期去统计。我们会重点关注部门leader 的行为,以及他们工作期间涉及到的邮件和使用的端口和协议等等。

2 主要可视化方案与结果分析

本文所使用的数据是某公司部2017 年11 月共30天内产生的所有CSV 文件数据,包括员工上下班打卡数据checking(员工id,日期,上班时间,下班时间)、员工间的邮件往来数据email(时间,使用协议,源ip,端口号,目标ip,目标端口号,发件人邮箱,收件人邮箱,主题)、员工的协议使用数据login(协议,目标ip,目标端口,源ip,源端口,登陆状态,时间,用户)、员工往来的上下行流量以及使用的协议数据tcpLog(使用时间,结束时间,协议名称,目的ip,目的端口,源ip,源端口,上行流量和下行流量)以及浏览网址数据weblog(时间,源ip,源端口,目的ip,目的端口,域名),共计40w条数据信息。图形的绘制以Echarts[6]和Gephi[7]为主。

2.1 员工所属部门及人员组织结构分析

对员工所属部门及人员结构进行分析,通过邮件主题对员工所属部门进行分类,并根据员工之间的收发邮件关系辅助证明。我们分别使用旭日图和玫瑰图展示不同部门员工经常发送的邮件主题以及某部门发送邮件主题的数量关系;通过Gephi 生成的网络关系图展示员工与员工之间的联系,如图1 和2 所示。

图1 三个部门的主题分类

图2 员工邮件往来关系图及研发部门展示

通过节点链接图发现可能是BOSS 的员工与其他的各个部门leader 间的联系和邮件往来,确定最终的大BOSS;通过雷达图展示重要员工的信息,如图3-5所示。

图3 员工部门展示

图4 BOSS往来邮件展示

图5 关键员工的相关属性图

2.2 员工日常行为分析

在对员工日常行为进行分析总结时,通过折线图和极坐标图对11 月的员工打卡时间进行展示,并通过邮件中的迟到早退信息发现三个部门的规定上下班时间,同时注意到研发部门的上下班时间分两种;通过词云的方式展示研发部门与非研发部门访问过的网站,并通过环图展示出他们最常访问的10 个网站;通过气泡图展示三个部门员工每三天的收发邮件数量;通过折线图展示员工上网的高峰时间以及协议上下行分布情况,发现员工发邮件的高峰。

图6 员工上下班打卡时间

图7 员工打卡时间段统计

我们根据check 中的打卡日志,做出了三个部门的打卡时间图,其中红色代表研发部门,黑色代表财务部门,浅蓝色代表人力资源部门,然后通过对时间轴的缩放,展示出一个月打卡的时间段和人数。同时我们也对员工一个月的打卡时间段进行了统计,可以看出研发部门员工的打卡时间段在8:00-9:45、18:00-21:00频繁;财务部门员工的打卡时间段在7:00-7:45、17:00-19:15 频繁;人力资源部门员工的打卡时间段在8:15-8:45、18:00-20:45 频繁。在此基础上,我们对包含了迟到早退主题的邮件进行分析,发现人力资源部门最晚上班时间为9:00,最早下班时间为18:00;财务部门最晚上班时间为8:00,最早下班时间为17:00。研发部门正常上下班时间分两种:以1059 为领导的小组工作时间为10:00-19:00,以1007 和1068 为领导的小组工作时间为9:00-18:00。

图8

图8 可以看出研发部门常用的工作网站是emali.hightech.com,git.hightech.com、OA.hightech.com、jira.hightech.com 等内部网站,非研发部门的常用工作网站是 emali.hightech.com、OA.hightech.com、www.baidu.com、www.google.com、www.yahoo.com、ju.taobao.com 等,他们使用搜索引擎查询信息,也会访问淘宝等其他网站。

图9 部门员工收发邮件数

如图9 所示,我们按部门统计员工每三天的收发邮件数量。发现人力资源部门每三天的个人收发件区间在25-210 之间;财务部门每三天的收发件区间在25-245 之间;研发部门每三天的收发件数分为2 个团体,其中普通员工的收发件数在0-200 之间,员工id为1060、1087、1092、1098、1100、1154、1191、1207、1209的员工每三天的收发件数在300-1450 之间。

图10 员工11月上下行流量图

图11 员工某天上下行流量示例

2.3 异常事件的可视分析

我们首先将E-mail 文件中的邮件主题和checking文件打卡信息结合,发现打卡系统存在异常。存在员工请假成功、员工已经辞职,但仍被判定为旷工的情况,这种误判可能会影响员工积极性,值得关注。

然后,观察到邮件主题存在EmergencyDataBaseFatalError,对tcpLog 文件统计分析,发现该类邮件集中发送的时间段内,存在四种数据库崩溃的情况。

图12 数据库预警时间前后的数据库流量和

图10 可以看出产生流量的时间区间为4:00-22:00,再与邮件日志信息匹配,发现4:00-6:00 为系统自动发件时间,员工则在8:00-10:00、12:00-16:00 为上下行流量高峰期,10:00-12:00 为上下行流量缓和期。图12 可以看出在周六的时候,SMTP 协议的上行流量达到每周的峰值,有可能员工们在这一天通过邮件往来汇报一周的工作情况等,邮件使用频率高。

接下来,对login 文件分析,发现其中有许多登陆失败的状态,统计各个协议登录的频率和成功率。发现11/04 该天的成功率明显低于其他日期。进一步分析该天协议对应的IP 服务器,寻找端口问题。

图13 所有协议登录的频率与成功率

对tcplog 文件进一步细化分析,对每个协议在一个月内的上下行流量进行了绘图。

图14 所有协议上下行流量

可以发现,在7 号的mongodb 协议和15 号的FTP协议存在明显的高峰异常。分别对其中流量排名前五的IP 进行单点追踪,找出了这些IP 在一个月内的下行流量使用情况。可以看出,10.64.105.107 在15 号的FTP 文件传输下行流量异常;10.64.105.192 在15 号和22 号的FTP 文件传输有下行流量异常。

图15 FTP协议的月下行流量

最后,对HTTP 协议的上下行流量分析,发现存在部分不活跃的服务器(超过十五天没有访问过HTTP协议),提取这些IP 进一步对它们在其他协议上的流量分析分析,这些不活跃服务器中的大部分都没有连接过其他协议。综合上述异常,我们发现打卡离职人员中,ID 为1487 的员工也担任着接收EmergencyData-Base 邮件并对数据库进行维护的责任,这个时候重要人物的离职可能会对公司造成影响。

3 结语

本文所选取的数据可视分析[9]方案从不同的角度对数据集进行分析,得到的结果可以从多方面验证员工分组的有效性;我们从实际出发,尽可能多地从各方面展示员工的正常工作模式;我们考虑与网络有关的方方面面,去挖掘网络日志背后的信息和故事。使用户可以从多个维度对数据进行分析,得到问题的答案,挖掘潜在的信息价值[8]。

猜你喜欢
研发部门邮件端口
基于James的院内邮件管理系统的实现
一种端口故障的解决方案
科学家(2021年24期)2021-04-25 13:25:34
来自朋友的邮件
一封邮件引发的梅赛德斯反弹
车迷(2018年12期)2018-07-26 00:42:32
端口阻塞与优先级
A制药公司研发部门核心人才流失研究
激励型目标管理绩效在公司研究部门的应用分析
科技资讯(2016年26期)2017-02-28 10:23:53
我国新能源汽车研发部门绩效体系研究
时代金融(2015年36期)2016-01-08 02:17:21
初识电脑端口
电脑迷(2015年6期)2015-05-30 08:52:42
生成树协议实例探讨
职业·中旬(2015年4期)2015-05-30 05:54:49