1.1 CIA三要素和漏洞
在信息安全领域,存在3个主要的支柱,它们是信息的机密性(谁能访问数据)、信息的完整性(谁能修改数据)和信息的可用性(对获得授权的用户来说,数据是否可用)。这些支柱被称为CIA三要素。这个模型并非完美无缺,但对安全漏洞进行讨论和分类时,这些术语可提供极大的帮助。
无论是软件、固件还是硬件,都存在bug。虽然并非所有的bug都很严重,但很多都会带来安全隐患。在程序中,如果可以提供不正确的输入,进而导致程序崩溃,那么这不仅是bug,而且是漏洞。如果提供不正确的输入,只会导致屏幕上文本的颜色发生变化,但文本依然是可见的,那么这种bug就不是漏洞。准确地说,只要没有人能够利用这个bug来引发安全问题,它就不是漏洞。简而言之,漏洞是信息系统中可被攻击者利用进而带来安全隐患的弱点。通常,漏洞都是由bug导致的,但这些弱点也可能是由代码逻辑缺陷、糟糕的软件设计或不恰当的实现选择引发的。
仅当bug会影响数据的机密性、完整性或可用性(或者整个信息系统)时,它才被视为漏洞,主要的漏洞类型可直接对应于CIA三要素。这三大类分别是信息修改漏洞、信息泄露漏洞和拒绝服务(DoS)漏洞。信息泄露漏洞影响数据的机密性:这种漏洞让未经授权的用户能够访问他们原本不能访问的数据。信息修改漏洞让未经授权的用户能够修改数据,因此会影响数据的完整性。拒绝服务漏洞影响数据的可用性:如果获得授权的用户无法访问系统,他们就无法访问数据。
还有第四类漏洞,它们与代码运行和命令执行相关。这些漏洞让攻击者能够在系统中执行特定命令或运行任何代码。根据代码运行的用户等级,攻击者可获得对系统有限或全面的访问权,进而可能全面影响CIA三要素。如果攻击者能够执行命令,他就可能能够读取或修改敏感数据,甚至关闭或重启系统。这种类别的漏洞是最严重的。
有些漏洞可能属于多个类别,同时随着攻击者对漏洞有更深入的认识,进而能够更充分地利用它。漏洞所属的类别和严重程度可能发生变化,鉴于漏洞情况在不断变化,必须制定卓有成效的漏洞管理计划,才能紧跟发展的步伐。