网络安全基础介绍

我们系统设计开荒小分队下个月开始会进行一个新的关于Security相关的系列讨论,正好利用这段时间来和大家聊聊Security相关的话题,今天这篇文章主要是和大家来聊聊IT Security相关的一些基本概念,算是一个总述性质的介绍。主要来看看我们为什么需要IT Security以及有哪些tool和方法可以保护我们不被attack或者至少能够在被attack的时候alert我们。

为什么需要IT Security

随着社会的发展,我们的很多信息其实都被保存在网络中的某个server上,比如说你的姓名,年龄,银行卡账号,密码,医疗记录,购物记录,网页浏览记录等等。从我们个人的角度来看,这些数据显示是很重要的,我们提供这些信息给相对应的公司,当然不希望我们个人的这些信息被泄露。另一个方面,从公司角度来看,这些数据也是很有价值的,比如说你的浏览记录可以用来被分析并加入到推荐系统中,也就是说你今天搜索了冰箱,明天你会发现所有的面向你的广告都是各种冰箱的推荐,而这些更有针对性的推荐显然可以给公司也带来不菲的收益;再比如说你的医疗记录可能会被医院去敏之后(删除姓名,ID等可以Identify某个人的信息)卖给分析研究机构进行数据的分析,从而更好地推进医疗系统的发展等等。因此,做好Security是一个对公司和个人都有好处的事情。

安全设计的最终目标CIA

我们知道了Security很重要,那么如何来评判Security做得好还是不好呢?也就是说Security最终的目标是什么?我们可以从三个要素来进行分析:CIA (Confidentiality,Integrity以及Availability) 。

  • Confidentiality:保密性,也就是我们希望我们的数据不会被没有授权的人访问到。以就医记录来说,显然我们不希望我们的就医记录被任何非我们授权的人知道,有时候我们可以听到一些明星的就医记录被公开,那就是对保密性的破坏。实现保密性的手段很多,比如加密,访问控制,信息隐写等等,我们以后可以单独来聊聊这些方法。
  • Integrity:完整性,它是用来保证数据的可靠性和完整性的,也就是说没有被授权的人不能修改数据。同样以医疗记录来说,假如你是对坚果过敏,但是有人把这个数据修改了,说你对坚果不过敏,这样一来很可能就会影响医生的判断,从而产生很大的问题。
  • Availability: 可用性,就是我们在想要访问的时候能够访问到相应的数据。同样的医疗数据,假如医生想要看你的就医记录来进行辅助诊断,但是却没法访问到相关的数据,这显然也是不行的。

破坏CIA的手段

在我们了解了CIA的定义之后,我们再来看看破坏CIA的手段有哪些,我们从Threats,Vulnerabilities以及Exploits三个方面来简单聊聊:

  • Threats:美国CSRC(Computer security resource center)关于threats的定义如下:Any circumstance or event with the potential to adversely impact organizational operations, organizational assets, individuals, other organizations, or the Nation through a system via unauthorized access, destruction, disclosure, modification of information, and/or denial of service. 总的来说,Threats可能发生在网络内部,比如说有一个员工对公司不满,它把公司内容的数据都暴露出去了,也就破坏了Confidentiality。也可能发生在外面网络的attack,这个很好理解,有人从外网尝试获取一些信息。需要注意的时候,Threats不一定都是有意的,比如说一个你储存数据的数据中心外面正在修路,然后他们把你的光缆都破坏了,整个数据中心都不能访问,这样Availability就遭到了破坏。
  • Vulnerabilities这个就是我们常说的漏洞,是指信息资产及其安全措施在安全方面的不足和弱点。之前听到一个很好的例子就是有人说漏洞其实就像你房子上的窗户,它们都是玻璃制成到 ,假如收到攻击,很容易就被击碎。
  • Exploits漏洞利用,指的是利用程序中的漏洞来攻击资产,当然很多时候攻击资产的目的是为了控制资产。漏洞本身并不会有什么问题,真正有问题的是这些漏洞会被利用来进行攻击,而这个过程就是Exploits,就像我们上面的房子来说,假如有人拿了一个锤子去把玻璃敲碎了,进而进入房屋来进行偷窃或者做别的事情,这个过程就是Exploits。

减少被破坏的方法

在我们了解了常见的破坏CIA的手段之后,一个常见的手段来减少破坏是Zero Trust,顾名思义,所谓的Zero Trust就是企业网络内外的任何人员和设备都必须经过身份验证和持续身份核实,然后才能授予其连接到IT系统或服务的访问权限。它是在2010年由Forrester Research分析师John Kindervag提出的。它的基本思想就是在验证身份和授权之前,不信任任何访问资源的用户和设备。比如你在远程办公,不管你之前是否访问过任何资源,你都需要重新进行身份验证,否则无法获得信任。那么如何才能做到Zero trust呢?主要有以下几个方面:

  • User/Admin Access: 这个很好理解,就是需要能够identify不同的用户并进而给出不同的访问权限。比如我们可以使用Role based的access,就是不同的role只能做不同的操作,我们当然不希望所有的人都有admin的访问权限,所以一个基本原则就是只给必须要访问的系统的权限。另外一个场景就是我们可能有一些background运行的script,有时也需要给这些script一些权限,这个时候你也要控制这些script能够拥有的权限,不要给过大的不必要的权限,我们可以设置多人检查的机制来减少给与过大权限发生的几率。
  • Network Access Control: 主要是通过一些process来确定他们真的是他们说的人,并且他们有权限来进行访问。所以我们会authenticate用户来确认用户可以访问我们的系统,authenticate设备以确保这个设备是没有问题的,确保这个设备没有被替换,同时还需要不停的scan device以保证device已经安装了最新的各种补丁等,然后我们才会赋予最小可以给与的权限——这一点有时还是比较难的。
  • Network Segmentation: 网络分割就是将计算机分割成更小的部分,这样一来就可以将系统和应用程序彼此分离。从安全性的角度来说也是好处多多,即使一个小的分段被攻破,攻击者或者未授权的人也只能访问同一子网上的资源。
  • Demilitarized Zone (DMZ):中文为隔离区或者非军事区。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

总结

本文简单介绍了我们为什么需要IT security以及其最终目的CIA,还介绍了破坏CIA的一些手段和相应的防范措施,算是一个简单的overall的介绍,希望大家阅读后能对网络安全有一个基本的概念。

Leave a Reply

Your email address will not be published.