欢迎光临散文网 会员登陆 & 注册

信息安全的黄金法则

2022-08-07 23:00 作者:乐琪教育  | 我要投稿

信息安全的三要素,分别是机密性、完整性、可用性,简称CIA。其中机密性强调的是不可见性,数据只能被授权的主体访问;完整性强调的是不可改,数据只能最追加操作,对数据的修改过程进行日志记录;可用性强调的是可读,数据的可达性。

在其他领域都有所谓的黄金法则,计算机安全也不意外。黄金法则主要包含三部分:认证(Authentication)、授权(Authorization)、审计(Audit)。为什么称它为“黄金”呢?一方面是因为,它包含的这三部分重要且通用;另一方面是因为,这三个单词的前两个字母都是 Au,而 Au 在元素周期表中代表着“金”。

其他的教材中,会给黄金法则加上问责(Accounting)这一部分,组成“4A 法则”;还有的会加上身份识别(Identification),组成“IAAAA 法则”。不管被划分为几个部分,这些法则的中心内容都是相似的,都是围绕着识别、认证、授权、审计、问责这五个部分展开的。因此,黄金法则其实就是 IAAAA 法则更高一层的概括,它将识别和认证、审计和问责归纳到了一起,更加强调了这两两之间的协同性质。

搞清楚了“黄金法则”的概念,我们现在来看它的三个部分(认证、授权、审计)。这三部分其实是一种串联的关系。实际上,它描述的其实是用户在使用应用过程中的生命周期:先进行登录、再进行操作、最后留下记录。

by 宏山科技

下面我们来一一讲解;

1. 身份识别和认证

首先,我们先来了解一下黄金法则的第一个部分:认证。认证其实包括两个部分:身份识别和认证。身份识别其实就是在问“你是谁”,你会回答“你是你”。身份认证则会问“你是你吗”,那你要证明“你是你”这个回答是合法的。

身份识别和认证通常是同时出现的一个过程。身份识别强调的是主体如何声明自己的身份,而身份认证强调的是,主体如何证明自己所声明的身份是合法的。比如说,当你在使用用户名和密码登录的过程中,用户名起到身份识别的作用,而密码起到身份认证的作用;当你用指纹、人脸或者门卡等进行登入的过程中,这些过程其实同时包含了身份识别和认证。

通常来说,不管你以什么形式进行登入,在身份识别的过程中,这些形式最终都需要落地成唯一的身份 id。在你后续的操作中,身份 id 都会始终跟随会话,记录在日志中。这也是后续授权、审计和问责的基础。身份识别的过程并不关注合法性,因此,认证是这个部分中最为关键的一环。

依据具体的认证场景,对安全等级、易用性等的综合考量,认证形式可以大致分为三种。按照认证强度由弱到强排序,分别是:

• 你知道什么(密码、密保问题等);

• 你拥有什么(门禁卡、安全令牌等);

• 你是什么(生物特征,指纹、人脸、虹膜等)。

我们通过将多种类型的认证进行组合,可以形成多因素认证机制,进一步加强认证强度。常见的,在登录过程中,很多应用会在输入完账号密码后,让你进行手机验证,这其实就是结合了“你知道什么”和“你拥有什么”的双因素认证。

可信的身份认证是建立安全保障体系的第一步。如果身份认证被破解,则后续的保护或者补救机制都无法起到太多的效果。因此,很多时候,通过衡量一个应用的认证安全等级,我们就能看出它整体的安全水平。那么怎样才能做好身份认证这个环节呢?这就需要进行系统分析了.

2. 授权

在确认完“你是你”之后,下一个需要明确的问题就是“你能做什么”。毫无疑问,在系统或者应用中,我们的操作都会受到一定的限制。比如,某些文件不可读,某些数据不可修改。这就是授权机制。除了对“你能做什么”进行限制,授权机制还会对“你能做多少”进行限制。比如,手机流量授权了你能够使用多少的移动网络数据。

最原始和最安全的授权机制,一定是你的每一次操作,都经过了管理人员的审批和确认。比如我们申请签证的过程,其实就是一次申请授权的过程。当部分国家的签证策略比较严格时(如美国),那么我们每次出入境都需要重新申请签证,这也就意味着,会有很多的操作需要进行授权审批,其效率肯定是无法保证的(可以想想美国大使馆门前的长队)。

因此,很多时候,我们会定义自动化的授权机制来进行更快速的响应。比如,某些国家会制定免签或者落地签政策,只要符合一定的条件(如拥有中国护照),就能够直接出入境。这就相当于将“是否拥有中国护照”当成了一种授权的规则。同样地,安全领域中也有很多成熟的授权策略,如:自主访问控制、强制访问控制等。关于这些策略,在后续的课程中,我们也会进行详细地讲解。

3. 审计和问责

当你在授权下完成操作后,安全需要检查一下“你做了什么”,这个检查的过程就是审计。当发现你做了某些异常操作时,安全还会提供你做了这些操作的“证据”,让你无法抵赖,这个过程就是问责。

举一个生活中的例子,当你去银行办理业务时,工作人员会让你对一些单据签字。这些单据就是审计的信息来源,而签字则保证了你确认这是你进行的操作,这就是问责的体现。

审计和问责通常也是共同出现的一个过程,因为它们都需要共同的基础:日志。很容易理解,所谓审计,就是去通过日志还原出用户的操作历史,从而判断是否出现违规的操作。而问责则是通过日志的完整性,来确保日志还原出来的操作是可信的。想象一下,如果一份日志可以被人任意地篡改,那我们基于这份日志去进行审计,即使发现违规操作,也无法证明违规操作确实发生了,只能是白费功夫。

可能你会产生疑问,你已经获得了授权,理论上这些操作都应该是合法的,那为什么还需要审计呢?当然,如果授权机制能够达到“完美”,那么审计的意义确实不大。然而,我们一直都强调,安全不存在“银弹”,不可能达到 100% 的安全。即使是 1% 的漏洞,也可能造成 100% 的损伤。

在授权中,我们需要平衡可用性和安全性,很多时候都会选择牺牲部分的安全保障,来降低使用成本。而审计是事后的策略,它做的任何操作,理论上都不会直接影响用户,因此,能够做到更全面更严格,也能发现更多的问题。所以,审计这一环节,对于发现安全问题、回溯产生的攻击、完善安全保护体系来说,非常重要。

而问责,是对审计结果的一个保障,有的时候我们也称之为“不可否认性”。一方面,它保证了黑客无法通过篡改日志或者仿造身份,来隐藏自己的行为;另一方面它也保证了,当审计中发现了恶意的行为,需要寻求法律保护时,我们能够提供充分的证据。

从法律上来说,一个企业和应用在遭受攻击时,只能进行被动防御。如果想要主动出击,打击黑客的话,必须通过法律的途径。因此,建立完善的问责机制,能够为企业提供“法律保护”,大大提高企业安全的自信力。

这里需要注意一下,一定不要狭义地去理解黄金法则的每个模块。认证不仅是帐密登录,也可以是生物特征识别或者证书等形式;授权不只是基于简单规则的访问控制,基于内容或者会话的检测等也是授权的一部分;审计也不只是简单的翻日志,很多机器学习、异常检测的算法,也都能运用到审计中来。针对不同的数据,不同的访问形式,我们能够采用的认证、授权、审计技术都不尽相同。

换一种方式来概括的话,你可以这么理解:大部分情况下,事前防御属于认证,事中防御属于授权,事后防御属于审计。

例如:我们采用 SSO 的登录方式,SSO 登录时对用户名和密码进行校验,SSO 通过在用户多次输入错误密码进行处理、每三个月更换一次密码(后台系统)等方式来加强认证的安全性;在业务系统中,用户的大部分操作都会对具体的权限进行验证;操作会以日志的形式进行记录。这样基本保证了用户和数据的安全,而且有些操作需要回溯的时候也能查到谁操作的、在哪个时间点操作的、操作了什么。

写在最后:

做防御产品的,可以从两个角度去分析CIA。一方面防御产品为客户的数据提供了哪些CIA保护,另一方面,防御产品本身自己又做了哪些CIA保护。WAF中的核心数据,我觉得有两种,一种是WAF自身的代码和策略,另一种是流经WAF的客户数据。如果后一种数据的CIA被攻破,导致客户数据在WAF中泄漏或者篡改了,作为一个安全产品,就很尴尬了。

不同的应用、不同的模块会受到不同的安全威胁,当然,我们面对这些威胁也会有不同的解决方案。万变不离其宗。正如安全威胁都是针对 CIA 三元组产生的攻击一样,安全解决方案在根本思路上也都是相通的。不同的应用、不同的模块会受到不同的安全威胁,当然,我们面对这些威胁也会有不同的解决方案。万变不离其宗。正如安全威胁都是针对 CIA 三元组产生的攻击一样,安全解决方案在根本思路上也都是相通的。

提个问题:如果服务器被黑客攻击,是否可以根据日志记录查到黑客的地址,如果黑客是通过web代理,或者肉机发动攻击,似乎要想找出黑客的mac地址会是一件不可能的事情。


其实理论上来说,代理之后,是无法直接找到原地址的。但是黑客通常会在各种地方露出一些马脚。比如有的代理本身存在漏洞,安全人员可以控制代理机器,然后进一步溯源。又或者黑客进行反弹shell,就不能通过代理了,必须直连到某个公网服务上,而公网服务往往会暴露很多信息。


信息安全的黄金法则的评论 (共 条)

分享到微博请遵守国家法律