首页>参考读物>计算机科学与技术>安全

基于数据科学的恶意软件分析
作者 : (美)约书亚·萨克斯(Joshua Saxe),希拉里•桑德斯(Hillary Sanders)著
译者 : 何能强 严寒冰 译
出版日期 : 2020-02-21
ISBN : 978-7-111-64652-5
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 246
开本 : 16
原书名 : Malware Data Science
原出版社: No Starch Press
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书的第1~3章涵盖了理解本书后面讨论恶意软件数据科学技术所必需的基本逆向工程概念。第4章和第5章重点关注恶意软件的关系分析,其中包括查看恶意软件集合之间的相似性和差异性,以识别针对组织的恶意软件攻击活动。第6~9章涵盖了需要了解的关于理解、应用和实现基于机器学习恶意软件检测系统的所有内容。这些章节的内容还为将机器学习应用于其他网络安全场景提供了基础。第10~12章介绍深度学习的内容。本书的目标读者是那些有兴趣学习更多关于如何使用数据科学技术解决计算机安全问题的安全专业人士。

图书特色

图书前言

如果你是在网络安全领域工作,你很可能比以往更多地使用了数据科学,即使你可能还没有意识到这一点。例如,你的反病毒产品使用数据科学算法来检测恶意软件。你的防火墙供应商可能利用数据科学算法来检测可疑的网络行为。你的安全信息和事件管理(SIEM)软件很可能使用数据科学来识别数据中的可疑趋势。不管是不是明显,整个安全产业正在越来越多地将数据科学应用于安全产品中。
高级IT安全专业人员正在将他们自己定制的机器学习算法集成到他们的工作流程中。例如,在最近的会议报告和新闻文章中,Target百货公司、万事达(Mastercard)和富国银行(Wells Fargo)的安全分析师都讲述了开发定制化的数据科学技术,并将其作为安全工作的一部分。如果你还没有赶上数据科学的潮流,那么现在就是将数据科学纳入你的安全实践来提升能力的最佳时机。
什么是数据科学
数据科学是一个不断增长的算法工具集合,它可以让我们通过使用统计学、数学和巧妙的统计数据可视化技术来理解和预测数据。虽然有更具体的定义,但一般来说,数据科学有三个组成部分:机器学习、数据挖掘和数据可视化。
在网络安全的场景下,机器学习算法通过学习训练数据来检测新的安全威胁。这些方法已经被证明可以检测出那些能被基于特征的传统检测技术检测出的恶意软件。数据挖掘算法通过搜索安全数据来找出一些有趣的模式(例如,有威胁的攻击者之间的关系),这些模式可能有助于我们辨别针对自身组织的攻击活动。最后,数据可视化技术将枯燥无味的表格数据转换成图像的形式,帮助人们轻松发现有趣和可疑的趋势。我将在本书中深入讨论这三方面的技术内容,并向你展示如何使用它们。
为什么数据科学对安全性至关重要
数据科学对网络安全的未来至关重要,原因有三个:首先,安全总是与数据相关。当我们试图检测网络威胁时,我们就是在对文件、日志、网络数据包和其他结构形式的数据进行分析。传统的网络安全专家不会针对这些数据源,使用数据科学技术来进行检测。相反,他们使用文件哈希值、自定义的检测规则(如特征)和自定义的启发式方法。尽管这些技术有其优点,但是针对每一种类型的攻击,都需要人为参与的技术,这就需要太多的人为工作来跟上不断变化的网络威胁形势。近年来,数据科学技术在提升我们检测网络威胁的能力方面变得至关重要。
其次,数据科学对网络安全很重要,因为互联网上的网络攻击数量急剧增长。我们以地下黑产中的恶意软件增长情况为例。2008年,在安全社区中所知道的恶意可执行软件大约有100万种。2012年,这个数字达到了1亿。2018年,安全社区已知的恶意可执行软件数量已经超过7亿(https://www.av-test.org/en/statistics/malware/),而且这个数字可能还会继续增长。
由于恶意软件的数量庞大,基于特征的手动检测技术已不再是能检测出所有网络攻击的合理方法。由于数据科学技术使得检测网络攻击的大部分工作自动化,并大大减少了检测这些攻击所需使用的内存,因此随着网络威胁的增长,它们在保护网络和用户方面有着巨大的潜力。
最后,无论是在安全行业的内部还是外部,数据科学是这十年的技术趋势,而且很可能在未来十年仍是如此,因此数据科学对网络安全至关重要。事实上,在任何地方都可能看到数据科学的应用,如个人语音助手(亚马逊Echo、苹果Siri和谷歌Home)、自动驾驶汽车、广告推荐系统、网页搜索引擎、医学图像分析系统和健身跟踪应用程序等。
我们可以预期数据科学驱动的系统会对法律服务、教育和其他领域产生重大影响。由于数据科学已成为整个技术领域的关键推动因素,大学、大公司(谷歌、Facebook、微软和IBM)和政府正在投资数十亿美元来改进数据科学工具。感谢这些投资,使得数据科学工具将更适用于解决攻击检测的难题。
将数据科学应用于恶意软件
本书侧重于将数据科学应用于恶意软件,我们将恶意软件定义成为达成恶意目的而编写的可执行程序,因为恶意软件仍然是威胁发动者在网络中获得攻击立足点的主要手段,并以此实现他们的后续目的。例如,在近年来出现的勒索软件灾难中,攻击者通常向用户发送带有恶意附件的电子邮件,使得勒索软件的可执行文件(恶意软件)被下载到用户的计算机上,然后就对用户的数据进行加密,并要求用户支付赎金来解密数据。尽管一些老练的攻击者有时为逃避恶意软件检测系统的监视而不使用恶意软件,但是在目前的网络攻击中,恶意软件仍然是攻击者主要应用的技术。
本书着眼于网络安全领域中数据科学的特定应用,而不是试图广泛地涵盖整个网络安全的数据科学,旨在更全面地展示如何将数据科学技术应用于解决重大的网络安全问题。通过了解基于数据科学的恶意软件分析,我们能够更好地将数据科学应用到其他网络安全领域,比如检测网络攻击、钓鱼邮件或可疑用户行为等。实际上,你在本书中学到的几乎所有技术都不仅适用于恶意软件检测工作,而且适用于构建一般的数据科学检测和智能系统。
本书的目标读者
本书的目标读者是那些有兴趣学习更多关于如何使用数据科学技术解决计算机安全问题的安全专业人士。如果你不了解计算机安全和数据科学,你可能会意识到自己不得不通过查找专业术语来给自己提供一些相关知识,但是你仍然可以顺利地阅读本书。如果你只对数据科学感兴趣,而对计算机安全不感兴趣,那么这本书可能不适合你。
本书的主要内容
本书的第一部分由三章组成,涵盖了理解本书后面讨论恶意软件数据科学技术所必需的基本逆向工程概念。如果你刚接触恶意软件,请先阅读前三章。如果你是恶意软件逆向工程的老手,那么你可以跳过这些章节。
第1章 包括用于分析恶意软件文件,并发现它们如何在我们的计算机上实现恶意目的的静态分析技术。
第2章 向你简要介绍了x86汇编语言和如何反汇编,以及恶意软件的逆向工程。
第3章 通过讨论动态分析,对本书关于逆向工程的内容部分进行总结,其中包括在可控环境中运行恶意软件来了解其恶意行为。
第4章和第5章重点关注恶意软件的关系分析,其中包括查看恶意软件集合之间的相似性和差异性,以识别针对你组织的恶意软件攻击活动,例如由一个网络犯罪团伙控制的勒索软件活动,或针对你的组织进行的有组织有针对性的攻击活动。这些独立章节非常适合那些不仅对恶意软件检测感兴趣,而且还对提取有价值的威胁情报以追踪谁在攻击其网络感兴趣的读者。如果你对威胁情报不太感兴趣而对数据科学驱动的恶意软件检测技术更感兴趣的话,那么你可以安心地跳过这些章节。
第4章 展示了如何基于共享的属性来分析和可视化恶意软件,例如恶意软件程序都会请求的主机名。
第5章 说明如何识别和可视化恶意软件样本之间的共享代码关系,这可以帮助你识别恶意软件样本集合是否来自一个或者多个犯罪团伙。
接下来的四章涵盖了你需要了解的关于理解、应用和实现基于机器学习的恶意软件检测系统。这些章节的内容还为将机器学习应用于其他网络安全场景提供了基础。
第6章 涵盖对基本机器学习概念的容易理解的、直观的且非数学化的介绍。如果你曾学习过机器学习的相关知识,本章将便于你重温这些内容。
第7章 展示如何使用基本的统计方法来评价机器学习系统的准确性,以便选择最佳方法。
第8章 介绍了可以用来构建自身机器学习系统的开源机器学习工具,并对如何使用这些工具进行了说明。
第9章 介绍如何使用Python来对恶意软件威胁数据进行可视化,从而揭示攻击活动和趋势,以及如何在分析安全数据时将数据可视化集成到你的日常工作流程中。
最后三章介绍了深度学习的内容,涉及更多的数学知识,是机器学习的一个高阶领域。深度学习是网络安全数据科学中的一个热门增长领域,这些章节为你提供了充分的入门知识。
第10章 涵盖了深度学习的基本概念。
第11章 说明了如何使用开源工具在Python中实现基于深度学习的恶意软件检测系统。
第12章 通过分享成为一名数据科学家的不同途径以及可以帮助你在这个领域取得成功的应有素质来对全书进行总结。
附录 描述了本书附带的数据和示例工具实现。
如何使用示例代码和数据
如果一本编程书没有供你使用和扩展的示例代码,那么它就是不完整的。本书每一章都附有示例代码和数据,并在附录中进行了详尽的描述。所有代码都是针对Linux环境中的Python 2.7版本编写的。要访问这些代码和数据,你可以下载一个VirtualBox下的Linux虚拟机,里面已经把程序代码、数据和所需开源工具都设置好并准备就绪,然后你就可以在自己的VirtualBox环境中运行。你可以从http://www.malwaredatascience.com/或机工新阅读网站(www.cmpreading.com)下载本书附带的数据,也可以从https://www.virtualbox.org/wiki/Downloads免费下载VirtualBox软件。这些代码已经在Linux系统中进行了测试,但是如果你希望在Linux VirtualBox虚拟机以外运行的话,同样的代码在MacOS上应该可以正常工作,在Windows机器上应该也可以正常运行。
如果你希望在自己的Linux环境中安装代码和数据,可以从http://www.malwaredata-
science.com/或机工新阅读网站(www.cmpreading.com)下载。你将在可下载的归档文件中找到每个章节的目录,在每章的目录中都包含相应代码和数据的code/与data/目录。这些代码文件对应于每一章的代码清单或代码段,对于手头上需要处理的应用程序来说更有意义。一些代码文件与代码清单里的内容完全相同,而另一些代码文件则进行了轻微的修改,以便你可以更容易地使用参数和其他选项。代码目录附带了pip requirements.txt文件,其中提供了每章代码运行所依赖的开源库。要在你的机器上安装这些库,只需在每一章的code/目录路径中输入pip -r requirements.txt即可。
现在你已经可以访问本书的代码和数据了,让我们开始吧。

上架指导

计算机\安全

封底文字

走在技术变革的前沿并在你要击败的对手面前保持领先。
—— Anup Ghosh博士 Invincea公司创始人
数据驱动的方法可以帮助传统的模型分析方法解决动态复杂系统中的问题。
利用数据科学的方法分析和处理互联网中的大数据发现并提取出有价值的知识,以检测和分析网络攻击行为,是近年发展起来的安全对抗新技术, 已经逐渐在全球范围内形成共识。恶意软件是需要重点解决的网络安全问题,本书的核心内容就是利用数据科学的方法分析恶意软件攻击活动,为读者完整地展现了使用数据科学开展恶意软件分析工作的全过程,涵盖了原理介绍、行为特征提取、模型构建、方法评价和系统实现,兼具详实的理论分析和工程实践内容。本书也帮助读者打开了一扇利用数据科学解决其他网络安全问题的大门。
—— 曹建农 香港理工大学电子计算学系讲座教授、互联网与移动计算实验室主任
本书由来自国际主流反病毒企业和高校的研究者联合编写,使得本书既传承了动静态分析的传统经验,又全面地呈现了数据分析的方法与实践,是第一本系统地从数据分析视角看待恶意代码分析工作的佳作。在国内应急机构长期从事恶意代码治理工作的专家为应对实际安全工作中对关联分析、高级威胁对抗的更多需求,及时将本书翻译到国内,这是专业作者和专业译者的完美组合。
—— 肖新光 安天科技集团创始人、董事长
我们相信,未来会出现越来越多的APT攻击,传统基于特征的网络安全威胁发现方法将不再适用,那么有什么好的方法来检测未知网络安全威胁呢?我们手上掌握着大量的网络安全数据,使用数据科学的方法将是一条发现未知威胁的有效途径。这本书恰恰讲的就是如何使用数据科学的方法分析恶意软件、识别攻击活动、可视化恶意软件,能够帮助网络安全防护工作者从理论走向实际,具有非常好的实用价值,相信读者能从本书中获益匪浅。
—— 周鸿祎 360集团董事长兼CEO
近年来,数据科学技术在网络安全的网络攻击威胁检测、发现等方面得到了大量的应用。本书从恶意软件分析的基础知识讲起,由浅入深地介绍了使用机器学习、深度学习等数据科学方法分析恶意软件、识别攻击活动的理论知识和实现过程,可以说是目前第一本系统性介绍利用数据科学方法分析恶意软件的书籍。读者通过阅读本书,不仅加深了对数据科学中不同算法的理解,还能了解在分析恶意软件的过程中,如何使用数据科学工具和可视化工具,对从事威胁情报的工作者有很高的参考价值。
—— 薛峰 微步在线创始人、CEO

作者简介

(美)约书亚·萨克斯(Joshua Saxe),希拉里•桑德斯(Hillary Sanders)著:Joshua Saxe是Sophos公司(一家专业的安全软件供应商)的首席数据科学家,他帮助Sophos公司开发了数据科学技术来检测基于Android、Windows和Web的恶意程序。在加入Sophos公司之前,Saxe花了五年时间管理美国国防高级研究计划局(DARPA)资助的安全数据研究项目。
Hillary Sanders是Sophos公司的高级软件工程师和数据科学家,她在为Sophos公司发明和产品化神经网络、机器学习和恶意软件相似性分析安全技术方面发挥了关键作用。她经常在Black Hat USA和BSides Las Vegas等安全会议上作报告。

译者序

为什么要翻译Malware Data Science这本书?
在读完本书的英文版之后,我这么问自己,是什么驱使我翻译了这本书呢?总结起来有以下三个方面的原因:
首先,这本书的内容同时覆盖恶意软件和数据科学这两个方面,主题非常新颖,目前国内还没有出版过这两方面相结合的技术书籍。因此,我认为这本书有着很大的参考价值,将它翻译成中文,可以帮助国内读者系统、全面地学习如何利用数据科学的方法来分析恶意软件。
其次,这本书的两位作者都是在一线从事恶意软件数据分析工作的数据科学家,书中的内容是两位作者根据他们日常的实践工作总结出来的,其中全面介绍了恶意软件的动静态分析方法,对恶意软件之间进行关联分析的可视化方法,以及利用机器学习和深度学习方法构建实际的恶意软件检测器等内容。全书既有关于恶意软件的理论知识,也有结合丰富实际案例的实践内容,我读后收获颇丰。
最后,我所从事的就是恶意软件的治理工作,在恶意软件的分析工作方面也有多年的实践经验,对这个领域非常熟悉,在翻译原书的过程中能较为准确地把握专业内容的中文表述,希望能够通过翻译这本书为国内从事恶意软件治理工作的同行提供有益的参考。
目前,恶意软件的治理工作面临巨大的挑战,互联网上每年出现在PC端的恶意软件有上千万个,移动端的恶意软件也有数百万个,并且还在继续快速增长。如何对数量庞大的恶意软件进行分析,提取关键信息,确定恶意软件之间的关联关系,最终梳理出攻击团伙的线索,是恶意软件治理的从业者需要思索并试图解决的难题。
近年来,随着互联网上数据规模的急速增长,机器学习、深度学习等数据科学技术在实践中得到了迅猛发展,出现了TensorFlow、Keras、PyTorch等数据科学实用工具,大大降低了在实际工作中应用数据科学技术的门槛。这使得应用数据科学技术成为大规模恶意软件分析的一条可行途径。
然而,在恶意软件分析这个专业性很强的领域应用数据科学绝非易事。如何构造适合于恶意软件的特征空间?如何建立恶意软件分析所使用的数学模型?如何对数据科学方法的作用进行评价?在应用数据科学技术对恶意软件进行分析时,这些都是需要认真考虑的优化问题,我在解决这些问题的过程中就走过一些弯路。而这些问题的答案很多都可以在这本书中找到,本书能够帮助你搭建知识框架,起到入门作用。
未来,相信在更多的专业领域都会应用数据科学技术。回想起我的模式识别课程老师曾说过,万物皆可分类,通过在事物之间寻找差异性、总结差异性、分解差异性,就可以探究事物的本质。借助数字化的处理,我们可以通过机器完成分类,通过不断的训练来优化模型,提高分类的准确性,这是非常有趣的过程,希望这本书能够激发出你的灵感。
由于知识、能力、时间有限,本书的翻译难免会有疏漏和不合理的地方,欢迎读者批评指正,也希望同行能给予宝贵的建议。如果你有任何疑问或者批评建议,可以发送邮件到malwr_data_science@qq.com邮箱给我们反馈。
在本书的翻译过程中,得到了机械工业出版社电工电子分社的张俊红副社长、机械工业出版社华章分社的王春华老师和梁华杰老师的大力支持,感谢他们的指导和审校工作,他们的专业性使得本书的质量得以保证。感谢我的领导严寒冰主任支持我开展基于机器学习的恶意软件检测工作,并与我一同完成了本书的翻译工作。感谢我的家人让我有精力在业余时间进行翻译工作。最后,谨以此书献给我刚满周岁的女儿文新,希望她“读万卷书,行万里路”,在成长的过程中不断丰富生命的模型,健康快乐地成长!

何能强
2019年10月

图书目录

译者序

前言
致谢
作者简介
评审专家简介
第1章 恶意软件静态分析基础 1
1.1 微软Windows可移植可执行文件格式 2
1.1.1 PE头 3
1.1.2 可选头 3
1.1.3 节头 3
1.2 使用pef?ile解析PE文件格式 5
1.3 检查恶意软件的图片 7
1.4 检查恶意软件的字符串 8
1.4.1 使用字符串程序 8
1.4.2 分析镜像字符串 8
1.5 小结 10
第2章 基础静态分析进阶:x86反汇编 11
2.1 反汇编方法 11
2.2 x86汇编语言基础 12
2.2.1 CPU寄存器 13
2.2.2 算术指令 14
2.2.3 数据传送指令 15
2.3 使用peffile和capstone反汇编ircbot.exe 19
2.4 限制静态分析的因素 21
2.4.1 加壳 21
2.4.2 资源混淆 22
2.4.3 反汇编技术 22
2.4.4 动态下载数据 22
2.5 小结 23
第3章 动态分析简介 24
3.1 为什么使用动态分析 24
3.2 恶意软件数据科学的动态分析 25
3.3 动态分析的基本工具 25
3.3.1 典型的恶意软件行为 26
3.3.2 在malwr.com上加载文件 26
3.3.3 在malwr.com上分析结果 27
3.4 基本动态分析的局限 32
3.5 小结 32
第4章 利用恶意软件网络识别攻击活动 33
4.1 节点和边 34
4.2 二分网络 35
4.3 恶意软件网络可视化 37
4.3.1 失真问题 37
4.3.2 力导向算法 38
4.4 使用NetworkX构建网络 38
4.5 添加节点和边 39
4.5.1 添加属性 40
4.5.2 将网络保存到磁盘 41
4.6 使用GraphViz实现网络可视化 41
4.6.1 使用参数调整网络 42
4.6.2 GraphViz命令行工具 43
4.6.3 向节点和边添加可视属性 47
4.7 构建恶意软件网络 50
4.8 构建共享图像关系网络 53
4.9 小结 57
第5章 共享代码分析 58
5.1 通过特征提取对样本进行比较 61
5.1.1 特征袋模型如何工作 61
5.1.2 N-gram 62
5.2 使用Jaccard系数量化相似性 63
5.3 使用相似性矩阵评价恶意软件共享代码估计方法 65
5.3.1 基于指令序列的相似性 66
5.3.2 基于字符串的相似性 68
5.3.3 基于导入地址表的相似性 69
5.3.4 基于API动态调用的相似性 70
5.4 构建相似图 71
5.5 扩展相似性比较 76
5.5.1 minhash概述 77
5.5.2 minhash详述 77
5.6 构建持续的恶意软件相似性搜索系统 79
5.7 运行相似性搜索系统 84
5.8 小结 86
第6章 理解基于机器学习的恶意软件检测方法 87
6.1 基于机器学习的检测引擎构建步骤 88
6.1.1 收集训练样本 88
6.1.2 提取特征 89
6.1.3 设计好的特征 90
6.1.4 训练机器学习系统 90
6.1.5 测试机器学习系统 91
6.2 理解特征空间和决策边界 91
6.3 是什么决定了模型的好和坏:过拟合与欠拟合 96
6.4 机器学习算法的主要类型 99
6.4.1 逻辑回归 100
6.4.2 k近邻算法 103
6.4.3 决策树 106
6.4.4 随机森林 112
6.5 小结 114
第7章 评价恶意软件检测系统 115
7.1 四种可能的检测结果 115
7.1.1 检出率和误报率 116
7.1.2 检出率和误报率之间的关系 117
7.1.3 ROC曲线 118
7.2 在评价中考虑基准率 119
7.2.1 基准率如何影响精确度 120
7.2.2 在部署环境中评价精确度 120
7.3 小结 122
第8章 构建基于机器学习的检测器 123
8.1 术语和概念 124
8.2 构建一个基于决策树的检测器雏形 125
8.2.1 训练你的决策树分类器 126
8.2.2 可视化决策树 127
8.2.3 完整的示例代码 129
8.3 使用sklearn构建实际的机器学习检测器 130
8.3.1 实际的特征提取 130
8.3.2 为什么不能使用所有可能的特征 134
8.3.3 使用哈希技巧压缩特征 134
8.4 构建工业级的检测器 138
8.4.1 特征提取 138
8.4.2 训练检测器 139
8.4.3 运行检测器检测新的二进制文件 141
8.4.4 至此我们实现了什么 142
8.5 评价检测器的性能 144
8.5.1 使用ROC曲线评价检测器的功效 144
8.5.2 计算ROC曲线 144
8.5.3 将数据拆分为训练集和测试集 146
8.5.4 计算ROC曲线 147
8.5.5 交叉验证 148
8.6 下一步工作 151
8.7 小结 152
第9章 可视化恶意软件趋势 153
9.1 为什么可视化恶意软件数据很重要 153
9.2 理解我们的恶意软件数据集 155
9.2.1 将数据加载到pandas中 156
9.2.2 使用pandas DataFrame 157
9.2.3 使用条件过滤数据 159
9.3 使用matplotlib可视化数据 160
9.3.1 绘制恶意软件大小和反病毒引擎检测之间的关系 161
9.3.2 绘制勒索软件检出率 162
9.3.3 绘制勒索软件和蠕虫检测率 163
9.4 使用seaborn可视化数据 166
9.4.1 绘制反病毒引擎检出的分布图 167
9.4.2 创建小提琴图 170
9.5 小结 172
第10章 深度学习基础 173
10.1 深度学习的定义 174
10.2 神经网络是如何工作的 175
10.2.1 神经元剖析 175
10.2.2 神经元网络 178
10.2.3 通用近似定理 178
10.2.4 构建自己的神经网络 179
10.2.5 向网络中添加一个新的神经元 182
10.2.6 自动生成特征 184
10.3 训练神经网络 185
10.3.1 利用后向传播优化神经网络 186
10.3.2 路径爆炸 188
10.3.3 梯度消失 189
10.4 神经网络的类型 189
10.4.1 前馈神经网络 189
10.4.2 卷积神经网络 190
10.4.3 自编码神经网络 191
10.4.4 生成式对抗网络 192
10.4.5 循环神经网络 192
10.4.6 残差网络 193
10.5 小结 193
第11章 使用Keras构建神经网络恶意软件检测器 194
11.1 定义模型的架构 195
11.2 编译模型 197
11.3 训练模型 198
11.3.1 提取特征 198
11.3.2 创建数据生成器 199
11.3.3 与验证数据协作 203
11.3.4 保存和加载模型 204
11.4 模型评价 205
11.5 使用回调强化模型训练过程 206
11.5.1 使用内置回调 207
11.5.2 使用自定义回调函数 208
11.6 小结 210
第12章 成为数据科学家 211
12.1 成为安全数据科学家之路 211
12.2 安全数据科学家的一天 212
12.3 高效安全数据科学家的特征 214
12.3.1 开放的心态 214
12.3.2 无穷的好奇心 214
12.3.3 对结果的痴迷 215
12.3.4 对结果的怀疑 215
12.4 未来的工作 215
附录 数据集和工具概述 217

教学资源推荐
作者: 庞建民 主编 刘晓楠 陶红伟 岳峰 戴超编著
作者: 沈晴霓 卿斯汉 等编著
作者: 马洪连,刘旸,韩瑜,孙亮
作者: 周学广 刘艺
参考读物推荐
作者: [美]亚当·斯塔克(Adam Shostack) 著
作者: 封面署名:黄连金 吴思进 曹锋 季宙栋 等编著扉页署名:黄连金 吴思进 曹锋 季宙栋 马臣云 达摩 李恩典 徐浩铭 翁俊杰 编著
作者: 张威 张耀疆 赵锐 等编著