信息安全是一个庞大的领域,其中涉及到很多知识点,但是大多公司都对其没有提及足够的重视。
信息安全是一个庞大的领域,其中涉及到很多知识点,但是大多公司都对其没有提及足够的重视,因为信息安全是一个“黑天鹅”事件,以至于大家不愿意在上面投入巨大的精力,也希望随着国内对于安全的越来越重视,更多的公司也能在信息安全领域投入越来越多的注意。
「黑客大神圈」免费加入 Sina Visitor System
我正在「黑客大神圈」和朋友们讨论有趣的话题,你一起来吧?
http://t.xiaomiquan.com/MfiemqV
圈子文化主要是免费学习的地方,乐于分享交流 欢迎大家的加入。
在我们谈信息安全的时候,我想先澄清一个概念,什么叫做信息安全。在我眼中,我把信息安全分成三大类:
- 信息层面的信息安全,学校中的信息安全专业,主要致力于通信加密,密码加固等传统的安全领域。
- 用户层面的信息安全,也就是说用户把信息存储到了你的服务器上,你要怎么样保证用户的隐私不受侵犯。
- 架构层面的信息安全,简而言之,就是如何保证信息不丢。
- 潘多拉的盒子被打开了。一时间,席卷全球的“勒索病毒”,让整个互联网行业如临大敌,并再次敲响了互联网安全行业的警钟。
- 而这背后,早已经形成了一条完整且成熟的网络黑产产业链。游走于地下的网络黑客,隐藏在黑暗之中,伺机而动,不得不防。
信息层面的信息安全
这是我最弱的一环,我只能简单的谈谈我的看法。从最简单的说起:
我们为什么要从HTTP切换到HTTPS?为什么有一天大家都抛弃了HTTP而投向了HTTPS的怀抱?毕竟HTTPS需要消耗比HTTP更大的硬件开销,在架构层面同样需要做出很多的调整。
那是因为HTTP无论对于网络传输的内容,还是对于协议本身信息都没有做过任何的加密,从而使得用户的任何信息在网络中都可能被捕获。这时,我相信有人会讲:那我们是一个内容浏览类的网站,用户并不需要输入信息,那是不是就可以不使用HTTPS了呢?答案是使用HTTP不仅会发生泄漏数据,还会发生注入数据;这也是我们常常提到的流量劫持。
当然,由于HTTPS对于服务器资源的消耗,HTTP也推出了HTTP/2,除了一些新的特性之外,当然也加入了信息加密的功能。另外,密码的加密也是老生常谈,密码的加密是一个听上去简单实际很复杂的事情,归根结底,密码加密是一个需要平衡的事情,如果采用简单加密方式(例如MD5),那么自然也会容易被解密,但是如果采用复杂加密算法,自然也对CPU提出了更高的要求。
用户层面的信息安全
用户隐私在近年来被提升到了一个前所未有的高度。大数据时代人人都在做数据分析,却又人人都在做用户隐私。那么如何把握数据分析和用户隐私之间的平衡?
也许我们在很久之前就触犯了“用户隐私”,当我们在电商网站上点击“喜欢”的时候,这个数据来源于“用户隐私”;当我们在搜索引擎上看到“搜索广告”的时候,这个数据也来源于“用户隐私”;甚至我们可以说:如果我们严格地去界定“用户隐私”,我们如今的产品会死掉90%甚至更多。
那么我们到底如何去客观地理解用户隐私?我对隐私的红线是:用户的数据分析是机器可读但是人工不可读的。举个例子:
我们在做用户的垃圾邮件过滤的时候,我们需要对每封邮件抽取特征,其中包括发件人,发件时间以及对于邮件正文内容的结构化抽取,然后通过分类算法对邮件进行分类。
但是我们要注意一点,这个过程,我们对“人”是不可见的,我们会对几千万的数据进行机器处理,我们处理的是宏观上的“大数据”;但是如果我们是通过人去扫描数据库,然后提取出了邮件记录并且去做人眼识别,那么这个行为是侵犯用户隐私的。
再者,是否侵犯用户隐私的一个隐含区分点是“侵犯隐私”之后做了什么?例如我们对搜索记录进行数据分析后为用户推荐了更好的结果,我们说这并不是侵犯数据隐私;但是如果我们对搜索结果进行分析后,将用户的资料提供给了某医院,那么用户隐私就被侵犯了。
一言结之,是否侵犯隐私一定程度上关联与后续的操作是否侵犯到了用户切身的利益。
最后,是否侵犯隐私的一个标准在于我们最终暴露的是用户的什么信息。
我们都知道DMP行业提供API使得DSP可以进行更加精准的广告投放,但是提供什么样的信息成为了关键。如果提供的是用户的消费记录,这个是侵犯隐私的,如果提供的是通过数据挖掘得到的收入水平,那么这个信息也许是不侵犯隐私的。
其实用户隐私是一个很敏感的词,也许这个词天生就与数据挖掘、数据分析互相抵触,法律上也并没有对相关的标准拉过红线,如何把握也许值得我们更深入地探讨。
关于架构层面的安全
这一层面的安全说起来比较复杂,我只举两个例子。
第一,一份数据应该存多少份才能保证数据不丢,什么样的存储架构可以较好地平衡数据备份和存储成本之间的平衡?在存储上,我们希望平衡成本和可靠性,例如我们可以通过EC2冗余算法来平衡;再者我们需要多机房的互备来防止数据中心的灾难性事故;但是是否我们就是盲目地将存储成本除以2?这不但对于成本是巨大的消耗,对于网络带宽、磁盘压力也是种巨大的消耗;那么我们可以去折中地拆分数据的冷热分区,以及适当采用廉价磁盘+云备份的模式保证我们整体数据的安全。
第二,在存储架构上对于高安全性信息进行隔离。例如我们将用户的用户名、密码、盐存储在同一个数据库,那么对于入侵者而言,只要拖下来就全部获取了。我们是否应该将彼此依赖的盐、加密密码分离存储,或者采用更高的安全性方案进行存储?是值得我们探讨的事情。
另外,提及一个小的trick:由于MYSQL的各种入侵方法已经成熟的不能再成熟了,所以对于一些公司而言,不妨将一些敏感、又访问压力不大的信息存储于一些相对冷门的数据库中,这样可以在一定程度上加固信息的安全性。