信息安全不得不说的事

     互联网本来是安全的,但是自从有了搞安全的人,就变的不安全了。随着时代的变化,安全技术也是翻天覆地,比如大数据、云计算的到来,给安全技术带来了无限的挑战,同时也让安全技术有了新的发展思考方向。本文首先主要简述对安全技术理念的思考,然后介绍常见得安全技术,最后阐述大数据时代的安全技术的思考。

    说到信息安全,不得不说一下黑客。在安全领域黑客精神可以用三个词语形容Open、Free、Share,这样的黑客精神起源于上世纪70年代黑客的启蒙时期,直到现在依然能够代表真正的黑客精神。这里说的真正的黑客是指,他们精通计算机技术,能够发现漏洞,并且编写exploit。而有些黑客,他们只懂得粗略的黑客技术,不会自己编码,他们只会使用别人编写好的代码,这样的黑客被称为“脚本小子”,他们绝大多数和黑客精神没有关系。但是在现实世界中,造成破坏的、计算机犯罪的、网络犯罪的往往是这些“脚本小子”。在中国,黑客的发展已经过了启蒙时代和黄金时代,进入了黑暗时代,或许纯粹的黑客精神已经灭亡了。

    早起的黑客攻击目标主要是系统软件,因为通过攻击系统软件往往能直接获取root权限。但是web的兴起,使黑客的眼光转移到了了向web的进攻。早期的防火墙技术和ACL技术有效的保护了绝大多数web的安全,但是后来在web1.0时代主要的web安全是服务器动态脚本安全,比如当时的PHP语言漏洞就造成过血泪史。再后来SQL注入又发展了web安全的里程碑,无独有偶,接着又出现了XSS和CSRF攻击技术,这些都给Web安全带来了革命。

    安全技术不同于其他的计算机技术,更多的事理念的问题,比如为了机场的安全,需要设立安检,有专门的严格的食品安全检测机构(某牛国家除外)保障食品的安全,等等这些都是安全理念“检测”带来的措施,计算机上就体现在防火墙技术,ACL等。我可以大胆的说,如果一个一个计算机产品,主要有足够的安全观念,那么即使采用最简单的防御技术也可以解决70%左右的安全问题。安全说白了就是一件未雨绸缪的事,用今天最简单的预防措施换取未来最好保障,中国古人就说人无远虑,必有近忧,但是咱们国家的人总是说的比唱的好听,就喜欢省事,不做未雨绸缪的事,等真正事来了举国之力以御之。

    要解决安全问题还该清楚安全的本质,安全的本质其实是信任的问题。比如体面提到的检测措施,我们首先要建设安检是可信的,能够检测出所有的不安全。所以说,安全必须信任一些东西,否则就是无根之水,不可能完成。当然信任的问题主要还是要把握一个度,比如需要怀疑但不能过度怀疑,比如总是怀疑发生概率极小的地震,但是弱的信任,又容易被绕过。

    安全和生命一样,是一个过程,是一种状态,和人生一样,它总是起伏,所以不要说有绝对的安全,道到一尺,魔高一丈,安全需要我们持续的努力去进行攻防对抗,即使像windows这样权威的软,它也是走在这样的生命道路上,不停的更新补漏洞,所以经常被windows更新烦恼的你,可以原谅一下他们,因为这一切都是为了安全,况且你用的盗版还能享受高大上的安全服务。

    但是安全到底是什么?从上面的看出,安全不是单纯的技术,更多的是理念,但是作为安全工程如何去做安全呢?其实安全工程师做的就是设计出安全的方案,把我安全的度。要把握安全就需要牢牢的把握安全三要素,即机密性,完整性,可用性。机密性通常是加密的手段实现的,保证数据不能随意让他人看到内容。完整性就是保证数据内容的完整,不被篡改,通常用数字签名保证。可用性就是保护资源需要被用的时候可以使用,其实这个我还不知道有特效的办法,比如DoS攻击就是破坏资源的可用性。当然信息安全在不同的场合还有其他的要素,最主要的最核心的就是这三个。

    和软件开发一样,在设计前,需要对软件的需求进行挖掘,而解决安全就需要实施安全评估。安全评估过程,可以分为以下四个阶段:资产等级划分、威胁分析、风险分析、确认解决方案。资产等级划分就是弄清楚客户的不同重要性的数据资产,因为现在数据越来越成为公司最重要的资产,可能一个数据中心的价值超过周边辽阔的物质资源,分级出数据资产后的好处就是可以用相应程度的安全措施保护不同级别的安全,比如最重要的数据只能内网访问,存在自己的内网数据库中。威胁分析,就是分析出数据会出现哪些威胁,和接下来的风险分析是一脉相承的,风险分析就是分析出威胁风险程度。做好风险分析后,设计出安全方案不难,但是难得是设计出好的方案,主要还是难以把握一个“度“字。

    在设计方案时,没什么标准,但是有一些非常重要的原则,比如“Secure By Defult“,也就是俗称的白名单、黑名单原则。白名单就是只允许默认的,而黑名单就是默认不允许哪些东西。这两个原则其实是一个方法,也只是度的不同,不同的场合需要,采用不同的度,比如windows我们通常用的很爽,是因为它就是采用黑名单,默认开启了绝大多数的服务,很少让我们去手动,但是其性能和安全也随之下降,不过它是商业的,有一个庞大的软件公司在不同的补洞。但是Linux不同,它是开源的,没有人为它付出那么大的精力,所以Linux系统采用白帽子原则,使用更安全,但是很多服务需要自己去开启,所以很适用于安全需求高的、专业人士使用。

    在操作方面还给用户制定了最小权原则,只有在不得不需要提权的时候才会根据原则进行生权。

不过,我觉得最重要的,最难以把握的是纵深防御原则。要知道安全是一个整体的状态过程,不能吹嘘某个当面安全,但是现实中总是有人没有把握住这点总是说我们的产品在哪方面安全能力强,没有贯彻纵深防御的思想。我们知道一木桶能装多少水,不是最长的那块木板决定的,而是最短的那块决定的,所以我们在设计安全方案的时候要盯着最弱的地方,而不是努力发展自己的长处。

    数据和代码分离原则,可以说体现了安全问题的本质,混调了数据和代码的边界,注入XSS,SQL注入,CELF等都是利用这一点,就我本人在开发过程中也有很多地方为了省事儿没有做到遵守这个一个原则。Html中最能够反应出不遵守这个原则的危害,比如在页面上有个本来是数据但是被换成了<scrip >标签,那么就可以任意注入代码。

    不可预测性原则,可以说是一个奇想,就是说我不知道漏洞或者说知道但是弥补的代价太大的情况下,我们可以站在单纯考虑攻击的角度上去设计防御,让攻击失效。比如windows一直有缓冲区溢出的威胁,但是这是计算机系统的本质问题,无法彻底去解决,知道后来ASLR技术的出现才有了大进步,ASLR技术是让程序的栈基址变得不可测,攻击者再也不能把握溢出的数据有效,使攻击失效,这就是不可预测性。还有比如,我在开发网站的时候喜欢让文章的id作为整数自动增长,这就给了攻击可预测的思路,他们只要一个循环就可以请求或操作我所有的文章,但是如果我将文章id随机加密,他们就只能用爬虫去慢慢爬了提高了攻击的门槛。

    可以看出我并没有提到什么高深的安全技术,因为信息安全本身就是和传统安全一样的,是很朴质的,是一种平衡的艺术。

    本来我还想说一下对安卓系统安全的思考,以及有大趋势的html5技术兴起的安全问题,但是考虑到再牛逼的安全技术也抵不过如今杂乱的安卓市场,安卓最本质的安全问题是过于开发缺少安全的监管。而html5的安全问题主要还是web安全问题,只是量级的区别,以及侧重点的区别,下面就谈一下云计算、大数据和安全的爱恨情仇史。

    云计算是同过internet将千千万万的服务器,联合起来,通过虚拟化技术,将硬件资源和软件资源合理按需分配,这样可以大大提高了资源的利用率,最重要的是方便了用户,让用户不在需要自己去搭建服务器,并且还可以随着业务的改变,购买相应的资源。云计算降低了用户使用互联网服务的门槛,它是中国互联网+道路的保证,在这里感谢一下阿里云,等几家良心云服务商,对中国做出的贡献,可以说云服务推迟几年,中国的互联发展就要推迟几年。

    有人说既然已经使用云服务了,数据都在云上不用考虑安全问题了,这是很错误的。云计算的安全问主要是其本身的构造引起的,要知道云计算是由服务商的无数服务器共同提供的,有的服务器甚至外包的,还有很多虽然不是外包但是是分公司,或者有心人挂名的,你说数据在他们手上安全吗?

    当然,很多云服务商都说了他们的数据时加密的,但是作为专业人士来说,加密也就是在传输过程中加密,很多存储都是明码,别说云服务,在黑客地下市场流传的人人网数据库连密码都是明文。还有我们知道数据在计算的时候必须是解密的,这个时候也可以被泄露,目前没有绝对的保密技术。这其实就是我们前面,说的安全的本质,是信任问题,云计算目前的基础信任还不能够有极大安全保证,这是本质的,无关乎技术。

    当然云计算在引起安全问题的同时也解决了很多传统的安全问题,比如在云端的数据是很难丢失的,泄露的。而在以前,u盘,硬盘只要坏了可能就玩完,还有某个喜欢玩照相机的修个电脑造出来了“XX门“了,所以说在个人数据上的安全,云计算提供了有力的保障。

    云计算对安全另一个贡献就是统筹管理,数据管理员对数据统一安全监测,所有数据都必须经过设定的安全监测,如果出现木马,病毒,云计算能够很快的将解决方案推广到所有的服务上。

    当然成业云计算败也云计算,云计算可以同过将解决方案推广到所有服务,破坏者也可以将有效的攻击很快的大面积破坏,所以这只能算功过相抵消。所谓山越高,洞越多,在以往庞大的云计算并没有给出更好检测漏洞,修补漏洞,防止攻击的好方法,反而更容易受到黑客们的攻击。

    说到云计算,不得不说大数据,要说云计算并不是新的技术很多年前就提出了,只不过社会的发展到现在才真正发展起来,一门科学技术从理论到实践总是要经过不可预测是长久时间。然而大数据的概念可能比云计算更早,但是直到云计算的大数据才得到了大的发展,很火,甚至有人提出了数据科学的概念。

    但是大数据是一门关于数据分析的学科,和安全有关系吗?我一直想云计算安全问题和大数据都是云计算带来的,大数据可以对云计算安全问题的解决带来方面吗?

    只2015GeekPWN的峰会上一位微软云计算团队的成员提出了很有价值的提点。在过去,服务器提供商,安全服务商他们是“Work for costumer“,而现在他们”Work for themselves”,大部分云计算服务商和微软一样,他们使用的服务就是为客户提供的服务,他们已经意识到服务也是为了自己,真希望咱们国家的人民也意识很多事情看似为他人,其实也是为自己,爱他们何不是爱自己,(多余的不说)。

    既然云计算服务商意识到客户的安全就是自己的安全,这时候他们就会把自己的元计算当成一个服务器去维护,产生的一个质变就是有穿的安全维护变成一个庞大的可以构成大数据的维护。

   我们知道微软的安全策略就是检测漏洞,修补漏洞,在维护云计算的时候也是这样,只不过他们遇到了信息庞大的困扰。但是,大数据并非是困扰,反而是一个强大到爆的工具。微软的员工发现,在无数服务器上总是会出现相同的异常文件,在后来的检测到的漏洞发现总是和这些异常文件有关。后来经过研究,黑客攻击,基本上都是试探性攻击,他们总是留下异常的文件报告,而在传统中这些文件并不会大量的产生,所有很难被有所发现,但是在云计算上,可以将异常文件拿到一起用大数据的方法进行分析,这将是一个解决云计算安全的绝杀的工具。当然这些,都只是我的设想,我还没有能够接触到这些云服务商的安全思想,并且大数据的安全运用肯定也远远超过我这点想的。

    或许大家听过可信计算这个词语,在上问我提到安全的问题是新人问题,而云计算的安全本质也是不可信,所以有人提出了可信计算,就是从云计算的根部解决信任问题,从主机的BIOS启动开始一步步已信任的机制去建立云,虽然我觉得这过于极端,但是我认为,这一设想至少会让云计算在安全上从信任上提高安全度。

    其实本文呢,并没有提出所谓的安全技术,更多的那是对安全的思考,因为我个人认为安全本身就是不在于技术,当然并不是觉得技术不重要,而是人们更多的不是缺少技术,而是安全的根本意思,并且我承认技术也是安全的基础之一,比如密码学,在近代,每一次的密码学的进步都给信息安全带来巨大的变革,美国的加密标准在不停的变。但是对于绝大多数安全工作者来说,密码学只是安全的一个信任,密码的变革,能否被破解也是只信任度的一个考量,没有绝对的信任,就像现在的基于数学难题的密码,也是因为信任数学难题不能被破解,但是一但数学难题被破解,密码就不可信了,而且在量子计算机中当今的数学难题确实很多是很轻易被破解的。 

                                   魏思政

                                计算机学院楼

                                 2015.11.14            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值