Verizon如何利用R语言分析数据泄露事故

      Verizon如何利用R语言分析数据泄露事故无评论

  下图为攻击者侵入系统到企业实际发现数据泄露状况之间的间隔时长,数据图形由R软件包ggplot2生成。

Verizon如何利用R语言分析数据泄露事故

  资深科学家Bob Rudis将《Verizon数据泄露报告》称为“写给R语言的情书”。

  对20万条记录进行分析似乎还不算是什么了不得的大工程,但如果记录所包含的是安全事件,那么每一条都可能包含有数以百计的属性,而每条属性――包括不良行为者、资产影响以及组织类型等等――都会让工作变得更加复杂,特别是对于单纯的Excel电子表格而言。因此,在本次的Verizon年度安全报告当中,电信巨头首先决定采取由R语言生成的“全面”统计图表来取代原本的Excel表格。

  事实上,《Verizon数据泄露报告》在一定程度上可以算是“写给R语言的情书”,Verizon公司企业解决方案资深数据科学家兼常务主管Bob Rudis在日前于波士顿召开的EARL(即R语言有效应用)大会上指出。

  R语言“在使用过程中确实乐趣满满,”他指出。

  作为转换过程中的重要问题之一,由电子表格向R的变更将带来相当复杂的数据格式转变。Verizon公司的研究人员利用嵌套JSON的方式从各组织机构获取安全事件数据,这意味着各匿名数据类别之内还存在大量子类。很明显,以Excel方式对其进行导入以及分析几乎是件不可能完成的任务。

  而使用R语言还将带来其它一些助益,Rudis表示。由于R语言的ggplot2软件包能够生成极为精细且可达出版质量水平的图像,Verizon公司得以摆脱对外部图形设计企业的依赖,从而节约下15000美元到20000美元支出。与此前方式相比,利用R语言创建而成的图像只会带来惟一一种区别――即对字体进行重新整理。“R语言在处理字体方面确实比较捉急,”Rudis坦言

  不过R语言在建模、聚类以及其它统计分析工作当中拥有着大量出色的工具,能够帮助Verizon公司在单纯的计数之外实现更多复杂的功能――例如根据不同组织机构类型检测攻击者的可能活动。即使是在金融服务范畴之内,他指出安全威胁的类型也会有所区别,例如银行业与金融业之间也存在明显差异。

  该报告小组还利用R语言创建出各类具备交互性的可视化成果,例如查看哪些其它行业中存在类似的威胁状况。

  Verizon公司使用的安全数据格式为开源的VERIS,即事件记录与事故共享词表(Vocabulary for Event Recording and Incident Sharing)。对于那些希望对已公开安全泄露数据进行分析的用户,VERIS Community Database能够帮大家满足需求,而名为verisr的R软件包能够轻松处理这类数据。Rudis与Jay Jacobs还联名撰写了一部论著,《数据驱动型安全》,其中详尽描述了如何使用VERIS模式及R语言记录并分析安全事故。

  Verizon公司在报告当中分析的数据总量远多于目前公开数据库当中的可用数量,其中甚至包括一部分来自美国特勤局以及FBI等机构的数据,Rudis指出。

  而在利用R语言进行数据分析的过程当中,Rudis总结出了以下经验:

  ・使用R Markdown将解释文本与分析及图像关联起来。R Markdown“能够让文件记录、迭代、修改以及共享分析结果等工作变得超乎想象的简单,”Rudis强调称。

  ・“将一切整理进软件包当中,”甚至包括不打算与外部人士共享的内部分析代码。这能够显著降低文件记录功能的实现难度,允许他人更轻松地检查我们的分析结果。

  ・Version公司利用git等机制进行版本控制,将其作为“一切的实现基础。”

  该项目当中还提供其它一系列开源工具,包括利用GitLab进行内部协作开发、利用Slack进行协作; Rudis还特地编写了一款名为slackr的R软件包,旨在降低由R直接向Slack发送分析结果的难度。

  其它相关工具:SurveyGizmo与Room.co实现安全视频聊天; 之所以没有选择谷歌Hangouts,是因为谷歌方面会记录这些会话内容,他解释道。而GPG Suite则负责进行通信内容加密,RStudio用于同R语言环境对接。

发表评论