本书介绍了一系列结合人工智能技术处理网络空间安全问题的方法,包括处理网络威胁情报、为恶意软件提供战略防御机制、解决网络犯罪、评估漏洞,以及产生主动而不是被动的对策的人工智能方法。
安全漏洞和被感染的计算机系统会让政府和企业遭受严重损失。 攻击机制与防御机制在不断地并行发展,要检测欺诈性支付网关,保护云服务以及让文件安全传输,需要不断发展新技术。为了尽可能地防止未来发生的网络攻击或至少将其影响小化,人工智能方法被用来抵御网络威胁和攻击。不断增加的全球网络威胁和网络攻击的数量促使人们迫切需要自动化防御机制来及时发现漏洞、威胁和恶意活动。知识表示和推理、自动化计划以及机器学习这些方法,有助于主动实现网络安全措施,而非被动实现。 为此,人工智能驱动的网络安全应用程序开始发展,相关信息可参阅基于AI的安全基础设施Chronicle系统(谷歌提供的云服务,可以用于企业保留、分析和搜索网络安全数据)和“企业免疫系统” Darktrace。
日益复杂的网络、操作系统和无线通信漏洞,以及恶意软件行为给安全专家带来了别甚至国际级别的重大挑战。本书囊括了目前几乎所有AI技术驱动的安全技术和方法。第1章介绍了AI的本体工程及其在网络安全、网络威胁情报和网络态势感知等方面的应用。 本体中网络基础架构的概念、属性、关系和实体的正式定义使编写机器可解释的语句成为可能。这些语句可用于对专家知识进行有效的索引、查询和推理。第2章详细介绍了如何利用知识工程来描述网络拓扑和流量,以便软件代理可以自动处理它们并执行网络知识发现。网络分析人员往往使用多种来源的信息,除非使用统一的语法,否则软件代理无法有效地处理这些信息并将这些信息解释为易于理解的含义(例如模型理论语义和Tarski式解释)。网络知识的形式化表示不仅需要确定性的原理,有时还需要模糊的、概率性的原理以及元数据等作为来源。通过对语义丰富的网络知识进行推理,自动化机制可以生成即使是有经验的分析师也会忽略的关于相关性的非常规描述,并自动识别可能导致漏洞的错误配置。
第3章告诉我们,人工智能不仅可以提供帮助,还可能对网络安全构成威胁,因为黑客也会使用AI方法,比如攻击机器学习系统以利用软件漏洞并破坏程序代码。举个例子,他们可能在机器学习算法中引入误导性数据(数据投毒),篡改算法的行为,导致电子邮件将数千封垃圾邮件标记为“非垃圾邮件”,从而使恶意电子邮件被视为正常邮件。
社交媒体网站中提到的软件漏洞可以被软件供应商用来打补丁,也可以被对手在打补丁之前加以利用。第4章展示了软件漏洞发布和利用之间的相关性,并提出了一种基于在线资源预测漏洞被利用的可能性的方法,供应商可以使用这些资源(包括Dark Web和Deep Web)来优先安排补丁程序。
第5章介绍了适用于检测网络攻击的AI方法。 它提供了二元分类器和优化技术,可以提高分类准确度、训练速度以及用于网络攻击检测的分布式AI驱动的计算效率。该章还描述了基于神经网络、模糊网络和进化计算的模型,以及二元分类器的组合策略,从而能够对不同子样本进行多种方式的训练。
第6章讨论了利用机器学习和数据挖掘来识别恶意连接的入侵检测技术,比较了使用模糊逻辑和人工神经网络的常见入侵检测系统,并在此基础上总结了使用人工神经网络处理网络攻击的主要挑战和机遇。
安全性的强弱取决于系统中薄弱的环节。不论企业采取了什么样的安全措施,一个粗心的或经验不足的用户足以破坏文件传输的安全性或违反企业安全策略进行登录。 例如,安装软件不仅可能导致系统感染恶意软件,还可能导致数据丢失、隐私泄露等。如第7章所述,人工智能可以用于分析软件安装程序的安全性,这一章中论述了基于机器学习的Android移动设备上用于分发和安装移动程序以及中间件的包文件格式的分析方法。利用机器学习算法对APK文件结构进行分析,可以识别潜在的恶意软件目标。
网络分析师、防御专家、学生和网络安全研究人员都可以从本书中汇编的一系列AI方法中受益,这本书不仅回顾了目前的技术水平,还提出了这一快速发展的研究领域的新方向。
Leslie F. Sikos博士
于澳大利亚阿德莱德
译者序
序言
前言
第1章 网络空间安全中的网络本体语言:网络知识的概念建模1
11网络空间安全中的知识工程简介1
12网络空间安全分类标准4
13网络空间安全的核心参考本体模型6
14网络空间安全的上层本体6
15网络空间安全的领域本体8
151入侵检测本体模型8
152恶意软件分类和恶意软件行为本体模型8
153网络威胁情报本体模型9
154数字取证本体模型10
155安全操作和流程本体模型11
156描述网络攻击及其影响的本体模型11
16网络空间安全的相关网络系统
本体集1217总结14
参考文献15
第2章 推理型网络态势感知的网络语义知识表示18
21引言18
22预备知识19
23通信网络的概念23
231网络和拓扑结构24
232网络接口和IP地址24
233路由器25
234自治系统和路由系统26
24网络态势感知的形式化知识表示28
25表示网络数据来源33
26表示网络数据的不确定性35
27表示网络数据的模糊性38
28对网络态势感知的推理支持40
29总结41
参考文献41
第3章 机器学习系统的安全性45
31机器学习算法的脆弱性45
32威胁模型46
321攻击者能力产生的威胁47
322攻击者目标产生的威胁48
323攻击者知识产生的威胁49
324攻击策略产生的威胁50
33数据中毒52
331投毒攻击场景53
332投毒攻击56
333投毒攻击的可传递性61
334对投毒攻击的防御63
34在测试中的攻击64
341规避攻击场景66
342规避攻击的计算69
343规避攻击的可传递性70
344对规避攻击的防御72
35总结73
参考文献74
第4章 攻击前修补漏洞:一种识别目标软件脆弱性的方法77
41引言78
42相关工作81
43预备知识82
431有监督的学习方法82
432漏洞利用预测面临的挑战83
44漏洞利用预测模型85
441数据源86
442特征描述88
45漏洞及利用分析90
451漏洞利用可能性91
452基于时间的分析91
453基于供应商/平台的分析93
454基于语言的分析94
46实验设置95
461性能评估96
462结果97
47对抗数据处理103
48讨论105
49总结107
参考文献107
第5章 人工智能方法在网络攻击检测中的应用111
51引言111
52相关工作112
53二元分类器114
531神经网络114
532模糊神经网络118
533支持向量机123
54训练二元分类器以检测网络攻击126
541计算和预处理网络参数127
542二元分类器权重的遗传优化129
543网络攻击检测算法131
55组合多种二元分类器方案132
551组合检测器的低层级方案132
552聚合成分134
553组合检测器的常用方法136
56实验137
561数据集137
562实验1138
563实验2139
57总结140
参考文献141
第6章 用于网络入侵检测的机器学习算法144
61引言144
62网络入侵检测系统146
621部署方法146
622检测方法148
63网络入侵检测中的机器学习149
631模糊推理系统150
632人工神经网络156
633基于机器学习的NIDS的部署160
64实验161
641评估环境161
642模型构建162
643结果对比164
65总结165
参考文献166
第7章 使用机器学习技术进行Android应用程序分析172
71引言172
72Android应用程序包的结构174
721中央配置(AndroidManifest.xml)174
722Dalvik字节码(classes.dex)175
73Android恶意软件识别技术176
731黑名单176
732参数化177
733分类177
74数据集准备178
741APK文件分析178
742应用程序元数据179
743标签分类180
744数据编码180
745一种安全和恶意APK文件的新型数据集181
75用SVM检测恶意软件182
751SVM概述182
752特征设置185
753调整超参数185
754评估指标186
755数值结果186
76与参数化方法比较188
761扩展DroidRisk188
762DroidRisk性能189
77特征选择190
771递归特征消除190
772排序标准191
773实验192
78问题和限制194
79总结195
参考文献195