安全的本质
2021-02-02 10:54:18 Author: www.freebuf.com(查看原文) 阅读量:87 收藏

随着国家的重视,法律制度的出台,最近几年国内网络安全特别火,每年各地都会举行各种网络安全大会,甚至国家都设立“中国国家网络安全宣传周”,为了“共建网络安全,共享网络文明”而开展的主题活动,于每年9月第三周在全国各省区市统一举行。那网络安全的本质到底是什么呢?相信这个在很多人眼里是不一样的。有人说安全是漏洞;有人说安全是对抗;有人说安全是信任;有人说安全是风险;有人说安全是人的安全是意识;有人说安全是成本;有人说安全是管理等等。

那到底什么是网络安全呢?从字面看网络安全分为两词,一个是网络,一个是安全。在汉语词典中,网络特指由电子元件组成的电路系统。安全是:没有危险;不受威胁;不出事故。在“网络安全法”中:网络是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息进行收集、存储、传输、交换、处理的系统,简称就是信息加工系统。下面我们来逐步分析市场上主流的观点。

一、安全是漏洞

有人提出网络安全的本质是漏洞,在很多安全研究人员眼里安全就是漏洞。那什么是漏洞呢?漏洞主要只指安全方面的问题,具体是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。原因可以是bug,也可能设计本意如此。比如勒索病毒利用的SMB漏洞,就是软件功能实现上存在错误,导致勒索病 毒可以通过445端口感染局域网的windows主机,原因就是Bug;比如很多软件有后门,这些后门就是设计的本意,如果这些后门用在合法的事情上,比如远程排错,这个就没有问题,所以这个后门是不是问题取决于使用者的主观因素。抛开主观因素,总体上来说,漏洞是Bug的一种,也就是说,你可以把漏洞称作Bug,但你不能把Bug称作漏洞。所以,很多做开发人眼中的漏洞就是bug,解决bug问题就是修改bug,解决漏洞问题就是打补丁,补丁的本质就是修改bug。

安全是漏洞观点就说如果所有的产品没有漏洞或者有漏洞我及时修复了,就不会有安全问题, 解决了漏洞就解决了安全问题。所以这也是很多公司频繁做渗透测试,做安全服务的原因。甚至有很多公司出台有漏洞不让产品上架的制度,也不管这个漏洞的重要程度,是否能利用,是否有条件利用等。但很不幸的是,漏洞每天都在产生。根据CVE/CNNVD公开漏洞库显示,目前平均每个月有10000个漏洞,每天平均就有300个,所以漏洞几乎是消灭不完的。但这么多的漏洞怎么处理呢?对漏洞的判断,一个最重要的原则就是是否有公开的PoC代码样本。有无PoC样本这一点太重要了,能挖漏洞的人不多,能写EXP的人也不多,大部分人是拿来主义和修正主义,如果一个漏洞找了几天都没有看到任何的PoC在互联网上公布,正常情况下大概率不会有太大的问题,要优先解决有PoC的漏洞。

虽然很多安全问题和漏洞有关系,但也有些安全问题和漏洞没有太大的关系,比如在很多公司,有合法的人利用合法权限做了非法的事情这个就不是漏洞问题。这个就是人的问题,或者说是管理的问题。所以安全就是漏洞是不全面的,漏洞只是安全的一个层面。

二、安全是对抗

有人提出网络安全的本质是对抗,对抗的本质是攻防两端能力的较量。在全球互联的时代,技术及环境和以前发生了根本的改变。任何一个放在互联网上的产品或者系统,都开放在全球所有人面前。这些产品或系统的任何一个漏洞、弱口令,不合理配置,管理员/用户的一个不当使用行为或者疏忽等,都可能被某个角落里的攻击者所利用,用于窃取隐私、盗窃金钱,或者加密数据。比如这几年非常猖獗的勒索病毒。

现在的很多法律是禁止做一些未授权的安全行为,比如扫描渗透等,但这些法律法规大多数只对本国生效,在全球互联网的时代根本没有办法限制其他地方的攻击者。通过封闭研发的方式,比如自己定义一些私有协议,希望攻击者不知道系统是怎么实现的从而无法攻击,同样是十分脆弱和危险的,因为对这种私有的效果自己是不清楚的,从而可能导致自己觉得安全实际早已被人掌控的假象。

只要系统投入使用,攻击者就可以研究并找到攻击方法,而封闭研发欠缺真正的攻防考验,往往更加脆弱。“是骡子是马拉出来遛遛”,这是网络安全能力检验的一条基本思路。追求实效的安全竞赛,就是这一思想的重要表现形式。这几年全国范围内冒出了非常多的安全比赛,比如“补天杯”破解大赛,旨在号召全国范围内的企业、高校、民间的极客、白帽黑客、专家,对智能交通、智能制造、智能终端、智能家居等领域的IoT智能设备存在的漏洞及网络风险进行破解挑战。

GeekPwn是全球最大关注智能生活的安全极客(黑客)大赛及全球首个探索人工智能与专业安全的前沿平台;XCTF联赛是面向高校及科研院所学生、企业技术人员、网络安全技术爱好者等群体,旨在发现和培养网络安全技术人才的竞赛活动,通过实战对抗培养和发现实战人才。

但这些比赛和对抗的根本出发点是发现问题,发现漏洞,发现攻击行为和培养人才方面,但同样也遇到和漏洞类似的问题。对抗只是增加了发现和利用问题的机会,并没有本身去解决问题。所以对抗也只是安全的一个层面。

三、安全是信任

有人提出网络安全的本质是信任。比如企业设计安全方案时,要做基本的假设前提:安全人员、开发人员、运维人员默认是被信任的;在设计比企业安全要求更高的国家安全方案时,安全人员、开发、运维人员可能就不是默认被信任的;比如零信任的策略就是不相信任何人。不同的信任假设决定了安全方案的复杂程度和实施成本,安全需要平衡。有人说互联网本来是安全的,自从有了研究安全的人,就变得不安全了也是这个理论。

选择一款杀毒软件之后,就必须要相信这款软件的运作机制和体系架构,而不会去想这个杀毒软件会不会留有后门、让竞争对手可以趁虚而入;选定某个数字证书供应商之后,对它签发的数字证书是要信任的;选择让某个员工从事审计岗位,他必然会接触大量敏感的数据,那必然也是要信任员工的。

SQL注入攻击的本质是把用户输入的数据当做代码执行,而开发人员设计用户输入的功能时,本身只是提供一个用户交互功能,根据用户的输入返回动态页面使之有更好的用户体验,只是被恶意的人滥用了。

开发人员信任用户输入,当别有用心的人用了未被严格校验的输入时,就会导致安全问题。计算机用0和1定义整个世界,而企业的信息安全问题是解决0和1之间的广大灰度数据,运用各种技术手段,识别不信任。

但信任并没有解决安全问题,只是做了一种假设,这个假设是否正确、是否合理、是否会发生变化都不确定。而且从理论上来说信任所有人和事情是不现实的。当今的很多安全问题和案例都说明光靠信任是不够的,还需要借助非常多的其他手段。就算是相信内部人的动机都是好的,也可能因为某些无意识的一个举动而引起安全问题,借助一首诗来说明这个情况:

你见,或者不见我

我就在那里,不悲不喜

你念,或者不念我

情就在那里,不来不去

你爱,或者不爱我

爱就在那里,不增不减

你跟,或者不跟我

我的手就在你手里,不舍不弃

来我的怀里,或者

让我住进你的心里

默然相爱,寂静欢喜

四、安全是风险管理

有人提出网络安全的本质是风险管理。风险,即可能发生的危险。从信息安全的角度来讲,风险是指:威胁源采用恰当的威胁方式利用计算机系统硬件、软件、协议的漏洞(也称脆弱性、脆性)造成的不良后果。因此认为,风险就是威胁源在特定环境中造成的影响。风险管理就是针对威胁源及其在特定环境中造成影响的限制和管束。

当你的业务价值大于生产成本,就要维持可用性,当你的数据价值大于风险,就要降低风险。漏洞只有被人惦记,才有风险。工具、人、制度,都是风险管控的要素。家徒四壁,就无所谓风险。治安有序,也无所谓风险。只有当你不放心的时候,才有风险的说法。小组织的安全就很好做,大机构或互联网公司就难,是因为被惦记的人太多了,出了问题也没人扛得住。这就是很多人不重视安全、麻痹大意的根源。总认为自己就是不被人惦记的。

被国际上接受的风险判断原则是“ALARP原则”——最低合理可行(As Low As Reasonably Practicable,ALARP)原则,俗称“二拉平原则”。ALARP原则依据风险的严重程度将项目可能出现的风险进行分级。

风险管理不能简单理解为对风险进行管理,而应充分考虑环境因素(即风险环境),通过对环境的脆性和漏洞进行分析,预判威胁源可能造成的不良影响,从而提出针对性策略。

运用风险管理理念要突出3个要素:风险环境分析、环境脆性分析及应对策略。

(一)风险环境分析

风险环境分析的本质是对风险环境的构成进行分析,通过了解风险环境的构成要素及其脆性,才能制定针对性策略。当对一个企业进行风险环境分析时,需将企业的整个环境(包括内、外环境)站在网络安全的角度转换为“风险环境”,对其构成进行剖析。

(二)环境脆性分析及应对策略

有了风险环境构成分析的基础,就能针对各个组成成分和构成要素进行详细的脆性分析,并提出应对策略,形成有效的网络安全预期。

通过风险环境分析、环境脆性分析及应对策略的提出,完成了风险管理方法流程在企业网络安全管理中的构建过程。

风险管理确实最接近安全的本质,因为从所有的安全问题来看,都是和风险相关,从实际情况看看多风险是没有办法进行管理和处理的,因为根据业务的价值和风险损失的价值相比,很多处置风险的成本太大,还有种情况是风险很多时候发生的概率太小。

五、安全是人的意识

有人提出网络安全的本质是人的意识。是人的安全意识的较量。安全补丁是否修复,敏感信息无意识的泄露等往往是人的问题而不是计算机系统的问题,人因为对安全的重视程度不够,从而安全意识得不到提高,也就无法对计算机系统采取更完善更合适的安全防御措施。

”性本恶”是很多安全从业者坚持的理念,信息安全认为公司所有人(老板除外)都是不可信的,员工随时可能窃取公司的涉密信息或破坏公司的信息系统(当然,多数情况都是员工安全意识不高,因误操作或其他不好习惯造成的安全事件)。面对这些不受信任的员工,信息安全管理方面要做的事情有很多。

比如员工信息泄露。若攻击者得到了某个企业内部员工的账号与密码等信息,那么他就相当于开通了该企业内部网络的钥匙。很多攻击者在刚开始的时候就是试探性的做下扫描、口令猜测尝试等看起来不是很高级的行为,但这些行为往往会有收获,这种情况往往是安全意识不高引起的。所以从某种角度而言,攻击者进行弱口令登录就是绕过如防火墙等的安全机制,进入了内网,进入内网后攻击者的权限也进一步得到了提升。事实上,攻击者进行渗透测试的本质就是一个不断提升自己权限的过程,进入了内网后大多数没有部署IDS、IPS及WAF等安全产品,这个时候在做些东西向的安全渗透就容易的多。

对人员的管理主要是安全意识培养。一般地,安全意识是指网络安全意识,是指人们在网络世界中对信息安全的重视程度。安全意识不高是出现安全问题的主要原因。而安全意识的提高需要安全培训,安全培训一般包括安全技术培训与安全意识培训。安全技术和安全意识是相辅相成的。安全理念是安全意识的基础,安全意识提高会促进掌握安全技术。因此,从根本上来讲,首先要让人意识到安全的重要性,只有意识到安全重要后,才能想办法提高安全技能,想办法在一些操作中留意是否有安全风险。只有安全技术得到了提高,安全才可能得到提高。安全是人的意识问题这个和信任有些类似,不管有没有人的意识,安全漏洞,安全风险,安全攻击都一直存在,只是人的意识高些,可以减少和降低安全风险。所以人的意识也只是安全的一部分。

六、安全是成本

有人提出网络安全的本质是成本,只要有足够的投入一定就安全。在谈这一点之前,我们先来说一个民航领域的真实事件。我们都知道现在的民航飞机都是双发动机结构,原因就在于一旦有一个发动机故障,另一个发动机还能够工作保证飞机安全迫降。那么有人就会问了,那么如果两个发动机都故障了怎么办?答案很残酷,只能听天由命了。那么有没有更好的解决方案来提高安全系数呢?当然是有的,那就是用四个发动机。事实上四发动机的民航机曾经是在设计计划之内的,但最终并没有在全世界的民航公司接受,原因也很简单——太贵了。

如同正规商业经营一样,黑客也需要衡量运营成本和投资回报。但指望增加攻击者成本的想法还是有难度的。德勤发布的一份新报告称网络犯罪的成本非常低。攻击和防御的资金消耗是十分不对等的。黑客所承担的攻击成本非常小,但是企业或个人受害者的防御成本却要高得多。比如:TOP10 VPN估算每个人的数字身份成本,其中包含亚马逊、优步、Spotify、Gmail、Paypal、Twitter甚至GrubHub和match.com等主流网站。如果不法分子想要所有信息,可能花费不到1000美元即可获得。除了PayPal等在线购物或金融账户以外,其他所有数据价值都不到100美元。Armor的黑市报告发现个人身份信息(PII)虽然价格昂贵,但在暗网上的每条记录仍不到200美元。Visa和Mastercard信息每条记录10美元,甚至整个账户的银行信息也只值1000美元,即使所述账户最高可达15,000美元。在大多数情况下,旧数据只是免费附赠。根据IBM最新的数据违规成本报告,每个记录损失的企业平均成本为233美元,在监管严格的行业中可能要高得多。

Top10 VPN的黑客工具价格恶意软件只需45美元,而有关如何构建攻击的教程只需5美元。其中少数情况时犯罪分子将被要求为任何单个组件支付超过1,000美元,用于零日攻击或用于拦截短信的模拟器花费将超过28,000美元。

上面都数据对应都是国外的,国内都数据可能比这些更便宜。对于企业的安全建设而言,投入总是有限的,随着这几年对安全的重视,投入也比之前多了一些,但也仅仅是比之前多了一些。从成本角度来看,防守成本远大于攻击成本。所以如何利用性价比更高的产品来加强企业的安全建设一直是永恒的话题。

七、安全是管理

有人提出网络安全的本质是管理。“三分靠技术,七分靠管理”,已经成为大多数做安全的共识了,网络安全中的30%依靠计算机系统信息安全设备和技术保障,而70%则依靠用户安全管理意识的提高以及管理模式的更新。信息网络安全管理包括管理组织机构、管理制度和管理技术三个方面,要通过组建完整的网络安全管理组织机构,设置安全管理人员,制定严格的安全管理制度,利用先进的安全管理技术对整个信息网络进行管理。

信息安全管理体系是组织在整体或特定范围内建立信息安全方针和目标,以及完成这些目标所用方法的体系。它是直接管理活动的结果,表示成方针、原则、目标、方法、过程、核查表(Checklists)等要素的集成。(Information Security Management System,简称为ISMS)是1998年前后从英国发展起来的信息安全领域中的一个新概念,是管理体系(Management System,MS)思想和方法在信息安全领域的应用。近年来,伴随着ISMS国际标准的制修订,ISMS迅速被全球接受和认可,成为世界各国、各种类型、各种规模的组织解决信息安全问题的一个有效方法。ISMS认证随之成为组织向社会及其相关方证明其信息安全水平和能力的一种有效途径。

信息安全管理体系是组织机构单位按照信息安全管理体系相关标准的要求,制定信息安全管理方针和策略,采用风险管理的方法进行信息安全管理计划、实施、评审检查、改进的信息安全管理执行的工作体系。信息安全管理体系是按照ISO/IEC 27001标准《信息技术 安全技术 信息安全管理体系要求》的要求进行建立的,ISO/IEC 27001标准是由BS7799-2标准发展而来。

信息安全管理体系ISMS是建立和维持信息安全管理体系的标准,标准要求组织通过确定信息安全管理体系范围、制定信息安全方针、明确管理职责、以风险评估为基础选择控制目标与控制方式等活动建立信息安全管理体系;体系一旦建立组织应按体系规定的要求进行运作,保持体系运作的有效性;信息安全管理体系应形成一定的文件,即组织应建立并保持一个文件化的信息安全管理体系,其中应阐述被保护的资产、组织风险管理的方法、控制目标及控制方式和需要的保证程度。对一个人的安全来说安全就是处置。

当然管理在整个信息安全的过程中是非常重要的,但往往管理是最难的,管理的对象往往是人,这样也依赖于人的安全意识,所以安全安全建设需要技术和管理的结合,是否是三七开还不一定,个人感觉技术的作用会越来越大。

八、安全是对数据的CIA的防护能力

通上面的分析,发现安全的有很多个维度,每个维度看起来都很重要,而且很多角度看起来都非常有道理,我们在抽象看下,安全到底在保护什么?安全的属性到底是什么?不得不佩服国外理论的超高抽象能力。

信息安全技术评估标准(ITSEC)提出了安全的三个基本要素CIA,及机密性(Confidentiality)、完整性(Integrity)和可用性(Availability)是安全的三大基石。

1、机密性

机密性用一句话来说就是,确保数据只被授权的主体访问,不被任何未授权的主体访问。简单用一个词总结就是“不可见”。

举个例子,你不会允许陌生人查看你的个人隐私信息,但你可能会允许父母、朋友查看部分信息。再比如微信朋友圈,你可以允许好友查看三天内的数据,但不允许非好友查看三天前的数据。

首先你需要注意,机密性的一个前提是明确授权规则,也就是明确每一项数据可以被什么样的主体访问。在安全领域我们提出了很多访问控制机制,对数据和访问都主体打上标签或者分类,并制定相应的访问控制规则去进行授权。另外,数据的存储、传输和处理过程也需要受到应有的保护。这些保护技术包括:加密、隔离、混淆、隐藏等。

2、完整性

完整性就是确保数据只被授权的主体进行授权的修改,简单来说,就是“不可改”。

所谓“授权的修改”,就是对主体可进行的操作进行进一步的限制。比如,只能追加数据的主体无法执行删除的操作。

在授权方面,机密性中提到的访问控制机制同样适用。除此之外,完整性会更加强调对修改行为的日志记录,并有合适的监督机制进行审计。

在保护技术方面,主要是利用加密、签名等技术,使得数据的完整性变得可验证,通过审计进行验证每笔操作都是合法的。

3、可用性

可用性就是确保数据能够被授权的主体访问到,简单来说,就是“可读”。但事实上,可用性往往没有被划分到安全的责任中去,因为对大多数企业来说,开发是最受到重视的,而开发会比安全首先去考虑可用性的问题。

举个例子,面对高峰期的集中用户访问,如何保障用户能够正常地获取数据(双11购物或者DDoS攻击等),你可以看到大量的研发人员对这个问题进行探讨和分析,但这其实都属于安全在可用性上的范围。

具体来说,可用性会面临哪些挑战呢?

运维层面上,有很多技术在为可用性提供支撑,比如,在基础设施上的机房建设(如何在断电、高温、火灾情况下保护设备)、异地多活,以及服务中的备份、资源冗余等;

研发层面上,如何降低响应延迟、处理海量数据、峰值扩容等,这些问题都是在可用性上的挑战;

攻击角度上,黑客也会对可用性发起攻击,比如常见的DDoS攻击。

通常来说,在企业发展的不同阶段,CIA的优先级是不同的,而列好CIA的优先级是我们理解安全问题、定义安全需求、建设安全体系首先要做的事情。

了解了安全要保护什么后,就要分析怎么保护,包含很多方面,包括前面提到都技术、管理、意识、成本等,但抽象来说这些都可以统称为能力,所以安全的本质从另一个角度看应该是对数据的机密性、完整性、可用性的防护能力。


文章来源: https://www.freebuf.com/articles/network/262717.html
如有侵权请联系:admin#unsafe.sh