数据说明:

数据为一家互联网高科技HighTech公司内部2017年11月共30天的多种监控数据,包括登录日志、页访问日志、邮件日志、打卡日志和TCP流量日志。数据以csv格式按天分类给出,总共120MB(未压缩之前)。各类型日志详细说明如下:

登录日志:

员工通过自己主机或跳板机的应用程序,登录服务器或数据库时生成的日志。例如使用SSH、SCP命令、XSHELL程序或者SFTP传输文件都会产生远程登录日志;客户端应用程序访问数据库时,会产生数据库登录日志。

网页访问日志:

该日志记录了公司内部所有员工的网页访问记录。time是该条记录生成时间,sip是客户端IP,sport是客户端端口,dip是服务器IP,dport是服务器端口,host是服务器域名。如果通过IP地址直接访问网站,不需要DNS服务器解析,则HTTP报头的host字段为空字符串。

TCPLOG日志:

记录公司内部网络活动产生的TCP连接。stime、dtime分别是连接建立和断开时间。proto是IP包头中的协议字段值。sip、dip分别是连接发起者和接受者的IP地址,sport、dport是与之对应的源与目的端口。整个连接过程中,sip向dip发送的总字节数为uplink_length,downlink_length与之相反。员工的登录行为、网页访问行行为、邮件发送或者接收行为等都会产生一条或者多条TCPLOG日志。

邮件日志:

邮件日志记录了经过公司邮件服务器的收发邮件信息。time是邮件的发送时间/接收时间,proto是邮件使用的应用协议。sip、dip分别是连接发起者和接受者的IP地址,sport、dport是与之对应的源与目的端口。from、to分别是邮件的发送者和接收者。邮件内容属于隐私,只提供邮件主题subject。

打卡日志:

记录了公司每个员工每天上下班时间,一行记录中checkin和checkout都为0,表示没来上班。那就是说,没有来公司打卡的员工,也会生成一行考勤记录。另外,如果公司员工当天没来公司上班,次日该员工会收到旷工提醒邮件。

1:分析公司内部员工所属部门及各部门的人员组织结构,列出公司员工的组织结构图。

1.1 公司最高领导的确定

根据11月邮件日志收发记录绘制有向图,如图1.1所示。我们重点关注度大节点,发现1067和kaoqin与其他3个重要节点区域都有联系,且1067往来邮件主题为:介绍、合作、工作汇报、公司发展规划和年度计划等,故推断该节点为公司的最高领导。Kaoqin为发送特定通知的服务器,不属于员工。

图1.1 邮件日志往来关系图

1.2 员工组织结构的确定

图1.2 公司内部员工关系图

图1.2所示为删除无关节点后得到的公司内部员工关系图。从图中可以看出,以1007、1059、1068为中心的节点组成的拓扑结构相似且层级关系都为三级,1013和1041及其相连节点的拓扑结构相似,层级关系为二级。分析节点邮件主题得知,以1007、1059、1068为中心的节点属于研发部门,1013、1041及其相连节点分别属于人事部门和财务部门。节点邮件主题如图1.3所示。

图1.3 重要节点邮件主题云

根据以上分析,人事部门主管为1013,财务部门主管为1041,这两个部门主管直接领导下属员工,研发部门的组织结构分为三级,部门主管分别为1007、1059、1068,1007部门的二级主管为1087、1092、1115、1125、1172、1192、1199、1224和1281;1059部门二级主管为1057、1058、1079、1080、1376、1096、1101、1119、1143、1155、1211、1228和1487;1068部门二级主管为1060、1098、1100、1154、1191、1207和1209。

综上所述,得到图1.4的员工组织结构,其中员工总数为299人。

1.4 公司员工组织结构图

2:分析该公司员工的日常工作行为,按部门总结并展示员工的正常工作模式。

2.1 IP地址对应关系

将邮件日志中的from和sip字段的公司邮箱和源IP进行匹配,得出了员工和服务器与源IP的对应关系如图2.1所示:

(1)员工id与源IP一一对应,且IP地址前三段固定为10.64.105或10.64.106。

(2)服务器与源IP的对应关系为一对一和多对一,例如work的IP为10.116.216.71,kaoqin、notice等IP地址为10.1.4.17。

2.1 IP地址对应关系图

2.2 访问内网行为

图2.2 各部门访问内网情况图

图2.2为三个部门对内部网站的访问情况。其中,财务和人事部门只访问OA.hightech.com和email.hightech.com;研发部门对包含OA、email在内的所有内部网站都有访问记录。

2.3 打卡记录

图2.3 各部门打卡热力图

图2.1所示的打卡热力图是以时间为单位对各个部门30天的打卡记录进行统计的结果。从图中可以看出,财务部门上班打卡时间集中在7:00~8:00,下班打卡时间主要集中在17:00~19:00;人事部门、研发1068和研发1007部门上班打卡时间集中在8:00~9:00,下班打卡时间集中在18:00~20:00;研发1059部门上班打卡时间集中在9:00~10:00,下班打卡时间主要集中在19:00~21:00。

2.4 午休时间推测

图2.4 11月网站访问量图

为了分析公司员工的午休情况,我们从网站访问量和时间出发,将一天时间以30min为间隔划分为各个时段,并统计了30天中各个时段的网站访问量,如图2.4所示。12:30~13:00时段网站访问量显著减少,13:30~14:00时段为网站访问量的局部最低点,14:00之后访问量开始增加。因此推测公司的午休时间为12:30~14:00。

2.5 考勤制度

图2.5 各部门迟到早退时间点推测图

通过邮件日志中的考勤信息结合员工打卡信息绘制图2.5,红色圆点表示该月迟到最早时间点,蓝色圆点为早退最晚时间点,绿色圆点为离迟到早退时间点最近的正常上下班打卡时间点。绿色与红色圆点之间的时段中,可以找到一点最有可能的迟到临界时间点,蓝色与绿色圆点之间时段也可以找到一点最有可能的早退临界时间点。

因此可以推测出,财务部门规定8:00之后打卡为迟到,17:00之前打卡为早退;人事部门规定9:00之后为迟到,18:00之前为早退;研发部门中,1007部门9:00之后打卡为迟到,18:00之前为早退,1059部门10:00之后打卡为迟到,19:00之前为早退,1068部门在这30天中无早退记录,只能推断该部门9:00之后打卡为迟到。

2.6 加班情况

进一步分析打卡日志,我们统计了11月每天各部门打卡人数,如图2.6。可见该月周一至周五各部门均为全勤,4个周末的打卡的人数较少,其中财务部门在19日、25日和26日出勤率如图2.6右侧所示,该部门这三日打卡人数比重与周一至周五接近,猜测财务部要进行月末结算,有加班情况。其他部门正常工作周期为周一到周五。

2.6 公司每日打卡情况组合图

3:找出至少5个异常事件,并分析这些事件之间可能存在的关联,总结认为有价值的威胁情报,并简要说明你是如何利用可视分析方法找到这些威胁情报的。

3.1 警告邮件异常

图3.1 邮件往来与邮件主题关系图

通过数据清洗筛选邮件日志的subject,我们认为服务器发送的警告类主题邮件,如“EmergencyDataBaseFatalError!”、“安全邮件崩溃”、“互联网资产监控报警”、和“重要提醒”这4种都为值得关注的subject。接收这些主题的员工可能存在异常。

因此,根据异常主题匹配得到图3.1的员工id,分别为1184、1164、1455、1098、1207、1487等。

3.2 辞职异常

我们猜测在公司新产品临近发布的这段时间里,有辞职意向的员工可能会存在威胁。

通过筛选邮件日志主题,发现id为1487、1281和1376的员工发送过主题为“【辞职信】”的邮件,如图3.2所示。

图3.2 辞职异常员工图

3.3 无打卡有“Tcp/Login”日志记录异常

图3.3 公司未全勤日打卡人数与有“Tcp/Login”日志的员工个数统计图

根据打卡日志、登录日志和TCPLOG日志,我们猜测,如果出现有员工无打卡记录但是登录日志和TCPLOG日志有记录的这种情况,可能是一种异常事件。

由问题二得知该月周一到周五都为全勤,因此通过广度优先搜索算法统计了周末打卡的人数和有“Tcp/Login”日志记录的人数,得到图3.2。可以看出,这8天中均有“Tcp/Login”日志有记录但未打卡的情况。筛选这8天的打卡日志、登录日志和TCPLOG日志,找出了9个有这类异常的员工,如图3.3所示,异常员工id分别为1494、1147、1328、1334、1211、1284、1283、1376和1487。

图3.4 有“Tcp/Login”日志未打卡员工展示

3.4 登录日志错误异常

在登录日志中,如果登录服务器或数据库失败,会在state字段显示error,推测30天中登录失败次数多的人可能存在异常。

将源IP与员工id对应,发现登录操作中只包含研发部员工。统计了研发部门各员工使用7中不同协议登录失败的总次数,如图3.4所示。其中,7种协议累计登录失败次数和使用ssh失败次数top3的员工id为1211、1228和1080。

图3.5 11月研发部门登录操作失败统计图

3.5 登录日志源IP与user不匹配异常

图3.6 异常登录他人账号人员关系图

如果登录日志中出现源IP与登录用户id不对应的情况,即源IP对应的员工id与登录日志user中的id不同,且多次连续登录结果都显示为失败,则怀疑可能有人使用他人用户名并尝试破译密码来登录服务器或数据库。

由问题二中得知了IP的对应关系,因此,我们使用Python中的字符串匹配算法对源IP和员工id进行了匹配,发现有上述异常情况,如图3.6所示。其中,id为1487的员工多次使用1080、1211和1228的用户id尝试登录服务器A,并在一段时间内连续登录失败,该员工在11月6日最后一次使用1228的id的登录状态为成功。11月24日,1487再次使用1228的id成功登录了服务器B。在同一时间,出现了服务器B使用1228的id成功访问服务器A的情况,推测服务器B到A的访问记录也为1487的操作。

根据上述5个异常事件,得到图3.7各异常员工关系图。

图3.7 各异常与员工对应关系图

总结异常事件之间关系如下:

(1)异常1涉及的员工共有26人,其中只有1184和1363为人事部门员工,其他都为研发部门,异常3中提到的员工全部为研发部门。研发部门与财务和人事部门相比,更有可能得到新产品研发相关的重要数据,因此安全威胁存在于研发部门的可能性也就更大。

(2)1284在异常1和3中都有记录,异常2中发送辞职申请的1376和1487又出现在异常3中,且1487在异常1、2、3、5中都出现过。因此,在异常中出现频率越高的人,越有可能存在安全威胁。

(3)在异常5中1487登录服务器使用的用户名1080、1211、1228,与异常4中登录失败次数top3的员工id完全吻合,这三个员工出现多次登录错误的情况,极有可能是1487在尝试破译他们的服务器登录密码造成的。因此,1487是所有异常员工中安全威胁最大的人。

基于员工日常行为的异常员工可视化分析相关推荐

  1. python计算商品总价_GitHub - ideaOzy/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  2. 数据清洗python实现箱线图_GitHub - nonefirst/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  3. python网页结构分析_GitHub - Vogdhsaj/data_analysis: 基于Python的南京二手房数据采集及可视化分析...

    基于Python的南京二手房数据采集及可视化分析 1 内容简介 首先通过爬虫采集链家网上所有南京二手房的房源数据,并对采集到的数据进行清洗:然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的 ...

  4. PCA图像数据降维及重构误差分析实战并使用TSNE进行异常数据可视化分析

    PCA图像数据降维及重构误差分析实战并使用TSNE进行异常数据可视化分析 目录 PCA图像数据降维及重构误差分析实战并使用TSNE进行异常数据可视化分析</

  5. 【毕业设计_课程设计】基于Python的南京二手房数据采集及可视化分析

    文章目录 0 项目说明 1 内容简介 2 应用技术介绍 3 数据采集 3.1 数据清洗 4 数据可视化 5 项目工程 0 项目说明 基于Python的南京二手房数据采集及可视化分析 提示:适合用于课程 ...

  6. 基于Python的微信朋友圈数据可视化分析之地点

    前提 朋友圈的相关数据请参照上一篇文章<基于Python的微信朋友圈数据可视化分析之个性签名>获取,本篇文章默认需要的数据已经下载保存至本地的 csv 文件中了. 将好友的地点按照省份进行 ...

  7. 基于大数据的动漫影视可视化分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本动漫分析系统开发语言为Python,并进行数据清洗,数据处理,并最后利用可视化技术进行动漫数据分析 ...

  8. 【计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩】 https://b23.tv/2gOjMVB

    [计算机专业毕设之基于python爬虫的汽车销量预测可视化分析系统-哔哩哔哩] https://b23.tv/2gOjMVB https://b23.tv/2gOjMVB

  9. 带你看懂基于Citespace的文献计量学及可视化分析

    带你看懂基于Citespace的文献计量学及可视化分析 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 你知道文献计量学分析吗? 听过,据说可以用citespace等特殊软件完成,做出很 ...

最新文章

  1. python sys模块作用_浅谈Python中的模块
  2. 用 JOTM 向Servlet中添加事务
  3. php中调用脚本,PHP中如何调用RScript脚本(附代码)
  4. SpringMVC简单项目配置
  5. 新无限天空服务器,天空魔域3782版最新服务端(含网站程序)
  6. JS splice()方法
  7. Linux内核编译:很少有人提及的一些内容
  8. Dockder的CS模式:
  9. python扫描端口脚本_python扫描端口脚本
  10. 谈判中,要学会“留一手”
  11. 【软件测试】《软件测试技术基础》知识点整理
  12. CE6870 添加ipv6 策略路由失败问题解决
  13. SpringBoot快速开始magic-api基础
  14. 如何删除wps/word中指定页页眉
  15. 外卖霸王餐返利小程序开发制作功能介绍
  16. 拍沪牌服务器响应,拍中了四张沪牌,再来聊聊拍牌经验
  17. R语言错误的提示(中英文翻译)
  18. 电子与计算机工程导论,BGPLUS科研荟萃 | 杜克大学 | 电子工程、计算机工程:电子与计算机工程导论...
  19. 思科模拟器(cisco) 交换机综合实践(笔记篇)
  20. Camtasia v2021.18汉化屏幕录像软件教程分享

热门文章

  1. 正则表达式常用符号及python示例
  2. 使用tensorflow训练模型时制作自己的mnist集(附代码)
  3. php 关联数组 索引,PHP 数组:索引数组与关联数组
  4. 希望所有计算机专业同学都知道这些老师
  5. SUM服务器监控软件全面介绍
  6. Nexus 5 root
  7. springboot禁用security
  8. SOAP学习之二:全网最简单的ONVIF协议IPC云台PTZ控制VC++代码--不使用gsoap!!
  9. MindSpore框架TBE算子开发全流程
  10. Bitbucket代码合并及冲突处理