1.3 讨论安全问题的模型
在讨论安全问题时,拥有一种可作为基础或基线的模型通常很有帮助。这能够提供一套统一的术语和概念,供安全专业人员参考。
1.3.1 机密性、完整性和可用性三要素
信息安全中的三个主要概念是机密性(Confidentiality)、完整性(Integrity)和可用性(Availability),通常称为机密性、完整性和可用性(CIA)三要素,如图1-1所示。
图1-1 CIA三要素
CIA三要素是一个可以用来思考和讨论的安全概念的模型,有时也写为CAI,或以否定的形式表述为泄露、篡改和破坏(DAD)。
1. 机密性
机密性是指保护我们的数据不被未经授权的人查看的能力。你可以在处理的多个层级上实现机密性。
例如,假设一个人正在从自动取款机取款,那么这个人会设法保持个人识别码(Personal Identification Number,PIN)的机密性,因为只要有ATM卡,就可以凭借PIN从自动取款机中取款。此外,自动取款机的所有者将对账号、余额和与提取资金的银行通信的其他信息进行保密。银行还将对与自动取款机的交易以及取款后账户余额的变化保密。
机密性可能会以多种方式被破坏。你可能会丢失一台存有数据的笔记本电脑。当你输入密码时,有人可能会越过你的肩膀偷看。你可能会将电子邮件附件误发给别人,或者攻击者可能会侵入你的系统,等等。
2. 完整性
完整性是防止他人以未经授权或不受欢迎的方式更改数据的能力。为了保持完整性,你不仅需要有防止未经授权更改数据的方法,还需要具备撤销有害的授权更改的能力。
在Windows和Linux等许多现代操作系统的文件系统中,有很好的机制来保持完整性。为了防止未经授权的更改,这些系统通常限制未经授权的用户对指定文件执行操作。例如,文件所有者具有读取和写入的权限,而其他人可能只有读取的权限,或者根本没有访问的权限。此外,部分系统和应用程序(如数据库)允许你撤销或恢复不想要的改动。
当涉及为其他决策提供基础数据时,完整性尤其重要。如果攻击者更改包含医学测试结果的数据,医生可能会开出错误的治疗处方,可能会导致患者死亡。
3. 可用性
三要素的最后一部分是可用性。可用性是指在需要时访数据的能力。例如,你可能会因为断电、操作系统或应用程序问题、网络攻击或系统出现问题而失去可用性。当外部因素(如攻击者)导致此类问题发生时,我们通常称之为拒绝服务(Denial-of-Service,DoS)攻击。
4. CIA三要素与安全的关系
结合CIA三要素,我们可以开始更为详细地讨论安全问题。例如,让我们考虑运输一批备份磁带,上面存储了现有唯一未加密的敏感数据。
如果在运输途中丢失了物品,你就会面临安全问题。由于你的文件未加密,因此可能破坏机密性。未加密也可能导致完整性出现问题。如果将来恢复磁带,可能不会立即发现攻击者是否更改了未加密文件,因为你无法很好地区分更改的数据和未更改的数据。至于可用性,除非恢复磁带,否则你很可能面临问题,因为你没有备份文件副本。
虽然你可以运用CIA三要素相对准确地描述本例中的情况,但你可能会发现这个模型过于严格,无法描述整个情况。鉴于此,可参考Parkerian六角模型。
1.3.2 Parkerian六角模型
知名度相对较低的Parkerian六角模型是以Donn Parker的名字命名的,他在Fighting Computer Crime一书中介绍了这种模式,在经典的CIA三要素基础上提供了更为复杂的变型。CIA三要素只包含机密性、完整性和可用性,而Parkerian六角模型在这三个原则的基础上,增加了拥有(Possession)或控制(Control),以及真实性(Authenticity)和实用性(Utility)[3],共6个原则,如图1-2所示。
图1-2 Parkerian六角模型
1. 机密性、完整性和可用性
正如我所提到的,Parkerian六角模型包括CIA三要素的3个原则,其定义与刚才讨论的相同。Parker对完整性的描述略有不同,他没有考虑授权但不正确篡改数据的情况。对他而言,数据必须是完整的,与之前的状态没有任何变化。
2. 拥有或控制
在Parkerian六角模型中,拥有或控制指的是存储数据介质的物理处置情况。这样,你能够在不涉及可用性等其他因素的情况下,讨论数据在其物理介质中的丢失情况。回到此前丢失备份磁带的例子,我们假设其中一部分加密,而另一部分没有。拥有原则将使你能够更准确地描述事件的范围;丢失加密磁带涉及拥有问题而不是机密性问题,而未加密磁带在这两个方面都出现了问题。
3. 真实性
真实性原则可使你判断有问题的数据是否来自正确的所有者或创建者。例如,如果你发送一封更改过的电子邮件,使其看似来自不同的邮件地址,而不是实际发送的地址,则会违反电子邮件的真实性。可以使用数字签名来加强真实性,这将在第5章进一步讨论。
不可否认性是与此类似但相反的概念,它阻止人们进行如发送电子邮件而后否认的行为。我会在第4章更详细地讨论不可否认性。
4. 实用性
实用性指的是数据对你的有用程度。实用性也是Parkerian六角模型中唯一一个在本质上不一定对立的原则。根据数据及其格式的不同,你可以得到不同程度的实用性。这个概念有一点抽象,但事实证明,在讨论安全世界中的某些情况时确实很有用。
例如,在运输备份磁带的例子中,假设磁带中有一部分加密,而另一部分未加密。对于攻击者或其他未经授权的人来说,由于加密磁带的数据不可读,可能没有用处。而由于攻击者或未经授权的人能够访问未加密的磁带数据,因此实用性更强。
CIA三要素和Parkerian六角模型中的概念为讨论信息安全世界中可能出错的所有方式提供了实践基础。通过这些模型,你可以更好地讨论可能面临的攻击,以及需要采取哪些类型的控制措施来应对这些攻击。