第21章 确保网络安全:正确处理
21.1 没有保证的网络安全功能是不安全的
虚饰安全(Veneer Security)增加了风险。
21.2 应将网络安全子系统视为关键系统
网络安全系统的网络安全至关重要。
21.3 形式化保证论证
考虑到费用和难度,形式化论证通常仅限于网络安全子系统或选定的子组件。
21.3.1 网络安全需求
网络安全需求满足表21-1中列出的SMART实现。安全性需求有两个值得注意之处:明确的和可追溯的。
属性 | 含义 | 说明 |
S | 明确的(Specific) | 需求清晰明确 |
M | 可度量的(Measurable) | 能轻松确定是否满足需求 |
A | 可达成的(Attainable) | 需求在理论上应可以达到 |
R | 可实现的(Realizable) | 在项目的技术和方案约束下,需求应该可以实现 |
T | 可追溯的(Traceable) | 所有系统需求都应该追溯到实现这些需求的设计元素。所有设计元素应可追溯到满足的系统需求,所有系统需求都应追溯到目标系统需求 |
要抵制明确了实现方式的需求。
讨论需求通常需要通过需求追踪矩阵(Requirement Traceability Matrix)支持。
21.3.2 形式化安全策略模型
该模型本质上是抽象网络安全策略的形式化声明。
形式化安全策略模型将使用系统理论或者集合论符合只来的形式语言,以严格的数据方式做出声明。严格按照无干扰属性的规定不泄露机密数据的需求,该属性包括显式数据流和隐蔽信道。
证明使用的是半自动定理证明程序或人工知道的证明曹祖。
21.3.3 形式化概要规范
21.3.4 关键安全子系统实施
除了映射过程,安全关键子系统还必须经过如下所示的更严格开发过程。应阅读《The Security Development Lifecycle》[HOWA06]。
(1)重要的是采用良好的编码标准。
(2)使用自动静态分析工具检测各种错误。
(3)使用安全的开发语言(Ada、C#等)而非C或C++是一个好主意(如在系统环境可行。不必担心缓冲区溢出(Buffer Overrun)和其他代码级漏洞。
(4)可选择审查从事开发工作人员的可信赖性,因为开发人员可颠覆设计或在实施中插入恶意软件。
(5)可对代码进行同行评审(Peer Review),由编写代码的工程师之外的技术人员评审软件。通过检查确保软件符合既定的安全编码标准。类似的同行评审过程可创建更可靠的代码,而不仅仅是安全性更高的代码。工程师避免因为同行发现自己的缺陷而感到尴尬。
不遵守安全编码标准可能引入漏洞,攻击者后续会发现并利用这些漏洞,从而启动零日攻击(Zero-Day Attack),例如,利用缓冲区溢出漏洞攻击。
作为规范级别和实施之间正式映射替代的另一种方法是视图根据规范自动生成程序,被称为自动编程(Automatic Programming)或正确构建(Correct-by-Construction),目前仅限于特定领域的应用程序[PAVL03]。
21.4 总体保证和组合
不可信赖性通过依赖关系传播。
明确陈述并解除所有依赖假设。
21.5 小结
(1)没有保证的网络安全功能很危险,将敌对者指向最有价值的目标,并误导用于误认为数据和服务受到保护。
(2)形式化保证论证帮助管理复杂性,分为四个阶段完成:安全需求、形式化安全策略模型、形式化顶层规范以及对安全至关重要的子系统的实施。
(3)使用最佳实践陈述安全需求特别重要,例如需求明确、可度量、可达成、可实现和可追溯。安全需求也应该分层以提高清晰度并帮助确保完整。
(4)形式化安全策略模型本质上是一个概念,说明安全策略在较大系统的环境中应如何运营。
形式化顶层规范是网络安全系统主要功能模块的高层规范,这些功能模块指明、确定并落实安全策略。
(5)局部保证是为了证明给定的组件具有所需的特定属性,而全局保证是关于以特定方式组合在一起的所有组件的集合通过编排提供安全需求中规定的一组安全性。
第22章 网络态势认知:发生了什么
22.1 态势认知和C&C的相互作用
22.2 基于态势的决策:OODA循环(Observe-Orient-Decide-Act)
22.3 掌握攻击的本质
通常在两个不同的时间阶段进行分析:即时分析和深度分析。
22.3.2 攻击使用哪些路径?
攻击路径是与攻击相关的途径,包括:
(1)渗入:掌握攻击路径对于抗击攻击至关重要。
(2)出口:建立出口路径,泄露敏感数据。
(3)入口:通常称为指挥与控制路径。
(4)传播:在防御者系统内易感计算机之间传播。
切断攻击路径可使攻击丧失能力。
22.4 对目标系统的影响
信息时无价的,支持如下决策:
(1)目标系统风险增加
(2)目标系统中断的应急方案
(3)风险增加的本质和原因
(4)专注于攻击检测工作
(5)重新配置防御以降低风险
无法针对所有攻击场景优化防御。
22.5 评估攻击损失
包括两个重要方面:当前损失和未来潜在损失。
当前损失包括:一是受到影响的计算机和子系统的损失;
二是损失对目标系统的影响。
22.7.2 状态: 网络安全攻击是重大系统攻击的先兆。
22.7.3 配置可控性: 网络安全配置可控性是福也是祸。
作为独立检查的示例,假设防火墙报告现有规则集合已严格限制为仅使用少数指定端口,这时最好采用独立的交叉检查规则,尝试发送防火墙规则应阻止的流量,也成为已知答案测试。
验证网络安全状况报告与怀疑被策反问题分析。
22.7.4 进度与失败
22.8 动态防御的有效性
必须为每个防御性行动确定有效性度量,变更在采取行动后必须立即评估。
所有防御行动都会对目标系统产生负面影响。
22.9 小结
总结如下:
(1)网络态势认知可发现正在发生的事情,而网络指挥与控制则决定如何处理并执行。
(2)基于态势的决策是动态网络安全防御和各类网络安全控制的核心。
(3)网络态势认知涉及掌握攻击的本质、攻击对组织目标系统的影响的推理、评估实际和潜在的攻击损失、确定系统防御的状态以及确定为指挥与控制提供反馈而采取的任何动态防御措施的有效性。
(4)理解攻击的本质涉及了解攻击所利用的脆弱性、攻击使用的路径、这些路径是否仍处于打开状态以及如何将其关闭。
(5)四个攻击路径包括进入目标系统的初始渗入路径、泄露受保护数据的出口路径、 攻击控制的入口路径以及用于扩散攻击的传播路径。
(6)目标系统映射使用攻击树帮助防御者确定攻击者成功实现攻击树子目标的影响, 可以量化风险的变化以及该风险变化的来源。
(7)有关攻击者所做的事情的情报很有价值,但预测攻击者下一步可能做什么的情报对于提前阻止攻击者更有用。
(8) 无法对所有可能的态势都优化防御,因此了解正在实时展开情况的信息有助于优化对该态势的防御配置。
(9)网络战斗损伤评估既可确定对系统和目标系统已经造成的损害,也可确定造成的潜在损害,从而有助于决定正确的防御措施以及这些措施是否有效。
(10)了解系统防御的状态对于决定采取适当的防御措施非常重要。状态与所有的子系统和这些子系统内的机制有关,包括这些机制的健康状况、压力和胁迫,确定机制是否正在运行,与指定配置相比的当前配置,以及采取的动态防御行动的进度。
(11)为完成控制反馈循环,网络态势认知的子系统必须测量并报告防御行动的有效性和动态。
第23章 指挥与控制:如何应对攻击
23.1 控制的本质
23.1.1 决策周期
23.1.2 关于速度的考虑因素: 以及其速度开展的攻击需要自动响应。
23.2 战略:获取知识
23.2.1 类比:《The Art of Information War》对网络安全进行了值得借鉴的解释和拓展。
计算机的最底层时网络安全的制高点。
23.2.2 直接经验:应充分记录攻击事件的分析结论,并分发给组织中各个防御方面设计的专家。
22.2.3 间接经验:组织可通过社区信息共享和分析中心获得知识。
23.2.4 模拟:通过模拟获得知识。
在模型之间进行交互,判断网络空间内发生冲突可能产生的后果。使用模型和模机拟有很优点: (1)模拟的成本比构建真实系统进行实验的成本更低。
(2)与直接在目标系统的操作系统上进行实验相比,模拟的风险更小。
(3)从某种意义上讲,模拟可同时运行多种不同的实验,并且花费比在真实系统中更短的实验时间,因此模拟的运行速度更快。
(4)恢复已建模系统的损害非常简单,且几乎不用什么成本。
模拟的主要缺点在于,对于模拟中所获得的知识来说,模型的某个方可能是不现实或不准确的,因此无法确定获得的知识可否转移到真实系统中。一般来说,模拟的优于缺点,因此模拟是一个重要工具,可帮助组织获取网络安全战略知识。
存在很多不同自动化程度的模拟:
(1)桌面推演,评估记录的事件:
1)重要的经验教训
2)可能需要的额外培训
3)更好的组织和清晰的授权链(Chain in Authority)
4)如何处理相似类型真实场景的成熟想法
5)可促进决策制定和快速有效执行的新工具和技术
(2)红队演习(RedTeamExercises)
红队演习通常在真实运行的系统上进行。红队模拟敌对者攻击一个或一组明确的特定目标系统。红队使用经过批准的交战规则进行攻击,确保对运行的真实系统产生的影响最小。因此,红队并不寻求对系统造成实际损害,而是要展示对系统的渗透程度,即红队能获取多大的控制权去对系统造成严重.损害。例如,红队经常会在已成功控制的系统中植入一个文件,上面写着“红队到此一游”,证明红队确实获得了系统控制权,而不需要关闭系统或损坏任何文件或系统。
红队可能会通知攻击的目标系统,也可能不会;可能会通知攻击时间,也可能不会。
(3)自动化模拟
模拟可更快地生成知识,但需要验证。
23.3 攻略
23.3.1 博弈论:同时面对多个敌对者,每个敌对者可能有不同地目标;敌对者可能利用0Day漏洞;博弈规则在过程中会发生变化。
博弈论地运用参见文档:
Hamilton, S.N., W. L. Miller, A. Ott, and O. S. Saydjari. “The Role of Game Theory in Information Warfare.” In 4th Information Survivability Workshop (ISW-2001).
23.3.2 预设行动方案
战斗期间是最不适合制定作战方案的时机。
编号 | 行动方案 | 说明及原理阐述 |
防御机制 | ||
防火墙 | ||
1 | 网络隔离 | 防止对目标系统的进一步损失,因为损失太严重,不能允许进一步操作 |
2 | 最小化基本的进出流量 | 减少额外的渗透攻击和数据泄露的机会 |
3 | 减少流量,仅允许已注册的源和目的流量 | 再强调目标系统连续性的同时降低风险 |
身份验证 | ||
4 | 需要双因子身份认证 | 降低危及或劫持用户账户的风险 |
5 | 禁用所有非必要用户账号 | 缩小攻击者的攻击空间 |
6 | 仅允许受保护的通信 | 使得攻击者很难实现中间人攻击 |
检测机制 | ||
传感器 | ||
7 | 增加所有传感器的灵敏度 | 高入侵式操作可能导致网络瘫痪,担当攻击性质尚未确定且损害正在以惊人的速度加剧时,高入侵式操作就很有必要 |
8 | 根据疑似攻击有选择地调整传感器 | 根据情景理解子系统,为最可能地攻击获得更多信息 |
警报 | ||
9 | 降低攻击报告阈值 | 可增加可能地攻击报告的数量,意味着有更多机会会发现更隐蔽的攻击 |
10 | 增加判断警报的资源 | 每个警报都应进行更深入的追踪,以确定是否为真正的攻击 |
恢复 | ||
11 | 检测点 | 在采取会破坏系统状态的操作之前保存系统状态。保存好的系统可用于以后的取证检测,或帮助减低对系统持续增加的损害 |
12 | 回滚 | 将系统状态还原到攻击前较早的时间段,某些任务进度将丢失,但损失也会回滚 |
13 | 从标准副本重新启动 | 从只读黄金级副本还原所有软件,消除系统中可能存在的任何恶意软件感染 |
23.3.3 最佳行动选择标准
应对高速攻击时,更加广泛且迅速地行动至关重要。
23.3.4 计划地局限性
指定攻略的过程远比攻略本身更重要。
23.4 自主控制
控制问题的几个基本元素:
(1)系统
(2)系统状态的测量
(3)系统的目标状态
(4)目标状态和测量状态之间的比对功能
(5)根据差异确定最佳输入
(6)试图将系统状态修改为更接近于目标状态的系统输入
OODA决策循环 | 控制理论循环 |
观察 | 状态预测 |
调整 | 目标状态比较算法 |
决定 | 选择部分 |
行动 | 输入和驱动 |
23.4.2 自动控制的作用
网络安全机制是攻击面的一部分。
短时间暂停服务可引开攻击。
23.5 元战略
23.5.1 不要过度反应:过度反应会带来额外后果,可能破坏控制循环的稳定性,使得系统无法收敛到防御者的目标状态。
23.5.2 不可预测性: 在确保有效性的前提下,行动应该是不可预测的。
23.5.3 领先于攻击者
攻击者总是出其不意;在攻击拦截点(Attack Interdiction Point,AIP)战胜攻击者。
23.6小结
(1)指挥与控制是决策周期的关键。“指挥”制定并决定行动方案;控制监测执行情
况及其有效性。
(2)决策周期是通过OODA决策周期的四个阶段迭代的过程。
(3)快速的决策周期是在动态网络安全防御行动中保持领先于攻击者的优势。
(4)自主控制指由类似于人类反应的算法驱动的纯自动操作,用于反应时间必须快于人类能力的场景。
(5)自主控制与人为干预指挥与控制协同工作,创建一个兼具两者优点的混合系统。
(6)有效的控制需要知道在各种情况下应该做什么。这些知识来自类比、直接经验、 间接经验和模拟。
(7)类比是一种从其他领域有效获取知识的方法,但需要充分理解类比的局限性以及由此产生的知识的局限性。
(8)直接经验是痛苦的,但只要获得的知识得到恰当提炼和制度化,就极其宝贵。 间接经验有许多获取来源,未必得到充分审查、分析和采纳。
(9)模拟提供一种快速获得新知识和见解的方法,只要有效地控制了基础模型的准确性,就可有效控制网络安全系统。验证始终是一个问题。
(10)攻略是指运用已获得的关于如何控制系统的相关知识。明确的文档和攻略的更新对于组织有效地保护在自己的基础上构建的知识库至关重要。
(11)网络战中必须提前制定行动方案。战略攻击树有助于制定可能的行动方案。
(12)在特定情况下,最佳行动方案取决于许多因素,包括利害关系、攻击者的能力和目标、攻击的不确定性、防御态势、攻击速度,以及防御性行动的预期效果与该行动对目标系统的影响。
(13)自主控制对于阻止或减缓高速攻击至关重要。
(14)控制理论提供了将系统转移到防御者的目标状态的有效模型。 必须格外注意,以防止自主行动成为攻击面。
(15)自主行动应该是紧急的、外科手术式的、可逆的、影响低、可恢复的和暂时的。
(16)元战略解决了如何最好地应用战略的问题:包括不要过度反应、不可预测性,以
及通过拦截点领先攻击者。
第V部分 推进网络安全
第24章 战略方针和投资
4.1.1 战略性网络攻击造成的破坏可能摧毁一个国家。
小结:
(1)社会严重依赖的关键信息基础架构是相互高度依存的、脆弱的。
(2)缺乏战略性确凿证据并不意味着网络武器不会以墨西哥僵局(Mexican Standoff)方式对准关键系统。
(3)社会对技术的依赖性不断增长,物联网可能更快地增加脆弱性。
(4)游戏行业内部的虚拟经济和虚拟货币正在成为实体经济的重要组成部分,因此需要从网络安全角度予以重视。
(5)虚假新闻在2016年成为头条新闻。社交媒体可有针对性地影响人们,改变人们的思维方式,降低信任程度。
第25章 对网络安全未来的思考
表25-1 NASA难题清单
问题 | 描述 |
可伸缩性和可组合性 | 从具有已知安全性的组件构建具有已知安全性的安全系统,不必完全重新分析组成部分 |
策略控制的安全协作 | 开发用于表达和实施规范要求和策略的方法,处理具有不同使用需求以及不同权限域中的用户间的数据 |
安全度量驱动的评价、设计、制定和部署 | 制定安全度量和模型,这些能给定上下文中预测(或确认)给定的网络系统是否具备给定的一组安全属性 |
弹性架构 | 指定方法来设计和分析系统架构,该架构可以在组件受损时提供所需的服务 |
理解和解释人类行为 | 制定人类行为模型,从而可以设计、建模和分析具有制定安全属性的系统 |
表25-2 ISRC问题清单
问题 | 描述 |
全局身份管理 | 全局身份识别、身份验证、访问控制、授权以及身份和身份信息管理 |
内部威胁 | 网络空间内部威胁的缓解程度与物理空间的缓解程度相当 |
时间关键系统可用性 | 即使在资源有限、地理空间分散的以及按需的(临时安排的)环境中,也能保证信息和信息服务的可用性 |
构建可扩展的安全系统 | 系统组件和系统的设计、构造、验证和确认,范围从关键的嵌入式设备到组成数百万行代码的系统 |
态势理解与攻击归属 | 可靠地理解信息系统状态,程度和推荐的响应等信息 |
出处信息 | 能在处理 PB 级信息的庞大系统中跟踪信息的来源 |
隐私安全 | 在不牺牲隐私的情况下提高信息安全的技术手段 |
企业级安全指标 | 有效地测量拥有数亿到数百万用户的大型系统的安全性的能力 |
图25-3 DARPA信息保障计划的网络安全研究空间
25.7 小结:
(1)随着自动推理功能的增强,保密性和隐私几乎肯定会以越来越快的速度遭到侵蚀。
(2)依赖保密性的组织可很好地安排既有秘密的发布时间,最大限度地减少新秘密的产生,并学习如何在完全不保密的情况下运营。
(3)网络攻击和网络安全处于永恒的协同发展中。应格外小心,不要不经意间把网络空间环境推向不健康的道路。
(4)网络空间与地球外的太空具有同等战略重要性,各国肯定都在准备战略性网络战。整个社会必须注意缓和环境的高度不稳定性和高风险性。
(5)网络空间充斥着一般的刑事风险和特殊的网络战风险。一般风险是信息基础架构所有者的责任,而特殊风险完全是政府的责任。
(6)健康的网络安全科学和实验环境对于信息时代的长久成功至关重要。这个领域需要更多的关注和更好的纪律。
(7)网络安全研究中有许多重要且基础的工作要做。无法有效进行研发的压力很大, 风险也很大。
(8)人工智能代表了网络安全中的黑天鹅事件。人工智能技术应对机器速度攻击会很有价值。同时,人工智能给人类带来了巨大风险,在进展到难以影响日益智能化的系统的演进过程之前,从现在开始就应该深入考虑。