标签归档 信息系统

通过jzz

什么是安全漏洞?多年探寻,给出狭义定义及相关阐述

安全漏洞,大家经常听说。但到底啥是安全漏洞?这好像不太好讲清楚。不同人有不同看法。今天,咱们就详细说一说。

安全漏洞难定义

给安全漏洞下一个清晰完整的定义太难了!学术界和工业界看法不同,研究人员、制造商、用户等相关角色对漏洞的理解差异很大。我找了多年,都没找到满意的定义。比如,有人说漏洞是系统在设计、实施、操作和维护阶段可能出现的影响系统安全的问题。在设计阶段,若加密算法没选好,就可能留下隐患。

不同的人,看问题的角度不一样。所以,给出的定义差别非常大。比如,研究人员可能更关注和信息系统有关的内容,不想涉及太陌生的对象。制造商或许会考虑自身产品在实际应用中的各种状况。不管怎样,要找到一个大家都认同的定义很困难。

狭义定义剖析

outputo-20211209-091840-259-trdm.png

我所定义的狭义安全漏洞,主要是指在信息系统生命周期阶段出现的问题。这些问题会影响系统安全。这里把范围限定在信息系统,目的是避免掺杂复杂因素。在影响安全方面,只考虑机密性、完整性和可用性。比如说因攻击导致敏感信息泄露,这就破坏了机密性。在生活中,可能表现为用户的账号密码被盗。

这些阶段引入的问题最终都有变成漏洞的可能。设计阶段架构没设计好,系统就会存在先天缺陷。运行维护时配置有误,系统可能易于遭受攻击。以代码缓冲区溢出问题为例,实现代码时处理不当,就埋下了漏洞隐患。

并非简单概念覆盖

安全漏洞不能只用脆弱性、缺陷和bug这些概念来包含。它更像是这些概念的一个更大集合。比如说,一个系统的某个部分比较脆弱。但这不一定就代表存在漏洞。有缺陷也许只是影响了正常使用。并且不一定和安全有关系。例如,手机某个功能有小缺陷。可能只是使用起来不太便利。并不涉及安全问题。

漏洞涉及的范围更广。它包含各种能影响系统安全的情形。也许在某个不引人注意的地方。一个小因素和其他因素结合。就可能导致一个大的安全漏洞出现。所以不能把它简单地和其他常见概念等同起来。

与bug的关系

安全漏洞和bug不一样。大部分bug影响功能,基本和安全无关,不会成为漏洞。比如软件里某个按钮点击没反应,这是普通bug。多数漏洞由bug产生,但不是所有漏洞都这样。

代码里一个小错误有可能变成bug。要是这个错误被攻击者利用来破坏系统安全,那就成了安全漏洞。所以它们之间只有很大的交集。并非完全一样的关系。这就像画两个圈。有很大一部分重叠。并且有各自独立的部分。

已知漏洞情况

每个漏洞数据库和索引中,都有大量已知安全漏洞。但实际上,就算排除未知漏洞,订购一些和漏洞有关的邮件列表后会发觉,不是所有漏洞都被数据库收录。比如说,一些企业内部发现的小漏洞,可能没上报到公共数据库。

就算把所有数据库项目合起来做去重处理。所涵盖的也只是一部分已知漏洞。实际上。已知漏洞数量比这个总和多很多。比如一些新兴系统。其漏洞刚被发现。还没来得及统计进去。

漏洞综合影响

漏洞有损害多个安全属性的可能。比如一次攻击,它可能致使敏感信息泄露,进而破坏机密性。它还可能非法篡改数据库信息,从而破坏完整性。它甚至可能导致服务器程序崩溃,使可用性受损。这种情况在金融系统中特别明显,遭受攻击后,客户信息会泄露,资金信息会被篡改,系统也不能正常运行

安全漏洞给各个行业造成的危害都很大。以医疗行业为例,它涉及病人隐私和病情数据。要是存在漏洞,病人信息就有被泄露的可能,也有被篡改的可能。因此大家平时要多注意系统安全,避免遭受损失。

你在生活中遇到过因安全漏洞引发的问题吗?