信息安全漫谈(1)

前言

很久很久以前注册的CSDN账号,在这个地方上初期学了很多东西,随着自己经验的增长上CSDN的频率越来越少,直到CSDN密码泄密事件,又重新登陆频繁起来。受泄密事件的启发,一直想写篇关于信息安全方面的随笔,但是一直抽不出时间将自己的想法完成。12年初4,5月份又来了个热门词汇:淘宝小二,由于我的LP很喜欢淘宝上买东西,俺对小二事件也做过一番的跟踪和探究,这两个原因加在一起,让我有强烈冲动将自己的一些思索做一个小的总结。

PS:个人从事信息安全行业N多年,下面的总结基本上会由上面提到的两个案例扩展开去,很多场景都是自己的想象,如有雷同,纯属巧合J

定义

其实信息安全是个宽泛而又模糊的概念,百度百科里面对于这个词有个非常长的解释,核心的一句话是:【信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断】,后续这个概念是否还要更新那是研究这方面课题的学者们的事情,我们先借用这个定义。关于信息安全涉及的范围:【信息安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科】,个人看来可能还有个重要的学科,就是社会工程学,后面将会有一些虚构或者现实的例子来说明为何这个学科很重要。

面临的威胁

现在大多数宣称的安全概念其实都是偏向静态,忽略了人的因素。现有的技术手段是末端手段,滞后的手段。

现在几乎所有的安全体系其实都是针对某项具体的业务的,在具体业务中划分几个逻辑上非常清晰的用户角色,每类用户在业务流程中有相应的业务操作权限,几类用户在流程中相互协作从而完成具体的业务。以TB来举例,显式的用户就是买家、卖家和管理员(小二),为了完成B2C业务设置了信用体系,交易支付体系等等业务体系。从安全体系的角度出发可能还有个用户角色,就是恶意用户,安全体系的作用就是使整个业务体系不受恶意用户的干扰,并且使所有业务体系内的用户都在规定的范围内操作,由此而派生出业务的安全策略,安全流程等等。接下来从以下几个方面来分析几个面临的威胁和产生的安全需求。

作为买家肯定是希望自己的私人信息得到一定的保护,包括个人资料,账户信息,交易信息,使用习惯等等,这些安全方面的需求的满足基本上是平台提供并且完成的

作为卖家除了个人或者公司的信息得到从经营的必要的保护外,可能还需要自己的经营信息得到保密,并且如果有可能的话在合理合法的范围内需要尽量获取同类竞争对手的所有有用的信息(这个需求的推动下会产生很多利益链条)

作为管理员是维护整个业务体系正常运作的角色,需要能够识别各种不合规则的操作并且及时的纠正,创造一个符合规则的环境。

恶意用户,这是个非常宽泛和模糊的概念,逻辑上无法非常清晰的从上述三种里面区分出来,总的来说只要做出不符合运作体系规则操作的用户都可以归为恶意用户的范畴,我们着重展开恶意用户的行为进行讨论。

一般一个业务系统面临的威胁可以分为两大类:业务实现上的漏洞利用和业务流程上的漏洞利用。

信息系统说白了就是一堆软硬件的集合和配合,当实现一个特定的业务的时候面临选择硬件平台,操作系统,组网方式,中间件,业务展示等等,这里面硬件平台实现上是否有漏洞?操作系统是否有漏洞?业务使用的中间件是否有漏洞?自己的业务实现是否有漏洞?举例来说,一个站点是以LAMP的方式搭起来,硬件是X86平台,那么安全体系就需要考虑这里面面临的所有的安全威胁,X86的安全漏洞有哪些?这些漏洞对我们有啥影响?针对性的策略是哪些?Linux操作系统是哪个版本?上面的漏洞有哪些?怎么应对?然后是Apache,然后是Mysql,然后是PHP,最后是在这些机制上实现的业务系统,比较可喜的是标准的LAMP上的漏洞都有相应的开源组织进行跟踪和解决(除非自己改动了或者优化这个里面的东西),比较可悲的是自己实现的业务系统包括所谓的优化(像俺这样的码农实现的)可能不会有像开源组织那样广大而资深的人去发现漏洞。举个例子,TB的同学修改了mysql的实现使其性能得到很大的提升,但是其实现过程中留下个比较恐怖的bug,他们内部的测试也没测出来,上线使用后一旦被人挖掘出来就有可能整个体系被洞穿。

业务流程上的威胁,一个比较典型的例子是TCP协议三次握手可被利用做DDOS,TB管理员可操作修改卖家信息被用来FB,这类就是流程机制设计上的漏洞

业界针对这些威胁的手段

针对标准的操作系统,中间件软件和服务程序,CVE上有大量的资料,业界安全公司基本上都有自己的安全分析团队来发现和分析可能的安全漏洞,并且提供有效的解决方案,及时跟踪业界最新的安全报告并且给自己的系统打补丁基本上可以将这类实现上的漏洞给补上,再加上比较合理的访问控制和授权手段这类的威胁基本上可以消除。

针对业务流程和协议漏洞,这类威胁被利用有两个后果,一个是业务系统崩溃拒绝服务,一个是机制上绕过正常流程进行非授权操作,任何一个后果都是类似TB之类的无法承受的。对于DOS/DDOS来说其业务表现跟正常的业务是无法区分的,可以回想下12306春运时订票,都是正常的订票在特定的时间都是很难成功的J。业界针对DOS/DDOS基本上都是采用统计限流和引流的方式,只能是某种程度上的缓解,无法根治,最近据说某安全公司声称针对DDOS有独特的解决方案,可以发现其特征并且提前阻拦,需要观察其效果是否真如宣称的那样,如果真的有效估计TB的刷积分刷信用之类的就可以彻底解决了。

而针对具体业务流程(例如TB的信用积累业务流程)估计安全产品能够提供的帮助是有限的,需要其在业务实现中考虑到这种状况,如何考虑业务实现安全这块是个很大的话题,后面有时间展开说J

额外的分析

我们再来回顾下定义:【信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露】,我们只看恶意(偶然ATM多吐¥¥给我了,我让ATM一直偶然就是恶意了)的状况,关键词,数据的更改和泄漏,从后果来看更改和泄漏对于数据拥有的组织来说可能最无法接受,影响也是最恶劣的,比如CSDN的密码泄漏和TB刷信用(小二哥改信用*差评是另一个话题)

 

IDC的统计,70%的信息安全事件来源于内部,这个基本上是统计了几乎所有的安全事件样本的,就更改和泄漏这两件事情来说可能比例会更高,因为从外部要更改和获取到一个组织内部的信息得通过层层关卡,防病毒,防火墙,IPS,授权控制策略等等之类的机制,并不是说没有,应该是在组织比较规范的公司里面很难发生,大都发生在安全策略和机制不完备的地方。一般比较核心的数据访问都是受到比较严格的控制的,比如IT企业的源代码,CSDN存放密码的数据库,TB存放卖家信息的数据库等等,这些关键数据的访问一般是会加上比较严格的访问控制条件的,比如某个地址,拿到什么授权,在什么时间,细粒度的还有访问那些表格,针对表格具有那些权限,完成之后还有记录等等,一个外来的入侵式程序或者恶意用户要做到这些就必须对里面的状况了如指掌。但是我们换个角度以数据的角度来看,对其操作的角色可以分为两类,一类是自动触发的程序,比如CSDN忘记密码的密码重置程序,TB正常交易成功后的信用积累程序,一类是管理员手动触发的程序,比如TB投诉后的信用惩罚,自动触发类的操作,在完善的规则状况下一般不会出什么问题(程序的Bug或者流程上的缺陷已经被修复),即使出了问题也会被迅速的修正,那么最大的可能的漏洞就在手动触发上面,这个问题上管理者一般会设置一层层的审批程序以确保数据不会被私自修改和读取。但是这样是否就可以杜绝这种漏洞呢?答案是否定的,沸沸扬扬的TB集体FB表示了这种方法在巨大的利益前是行不通的,轮岗?哈哈,有待观察,设置更加复杂的管理流程?这个似乎也有点不现实,互联网企业的特色就是“快”,冗长的内部流程会滋生一大群不产生价值的官僚阶层。是否现有的技术手段和管理手段都无法杜绝这个问题?可能的解决方案:在说可能的解决方案之前先说个似乎不相关的事情,某超级大国的核武是如何发射的?不是我们想象中的领导随身带个盒子,里面有个按钮,一把就出去了,这种听起来很爽其实是不现实的,现实中是采用一种非常复杂的秘密分割协议实现的,既保障了具体操作按钮的军人不会得到非授权的操作,也考虑到了领导发生意外时的及时反映。对于关键数据的人工干预操作授权采用秘密分割的方式可能是即可以保障反应的快速性和授权的正当性的最可行的方法(具体秘密分割的故事可以参见《应用密码学》)

小结

信息安全的应对手段其实每个业务系统都是独一无二的,专业安全厂商提供的解决方案只能是针对通用的程序安全和部分通用的机制安全的解决方案,理论上可以解决30%的安全问题,剩余的70%的安全威胁都是业务系统内部的,流程上、人员上和机制上的,而内部的安全威胁也并不是弄好角色定义,授权,访问控制,区域隔离之类的就可以一劳永逸的解决的,需要根据业务的发展,对业务和安全都了解非常深刻的人进行组织,而评判一个安全体系是否安全的标准并非通过一个什么软件的扫描评估(或者根据扫描软件的评估写个花里胡哨的评估报告的机构),而是有点像应用密码学的算法体系的评估那样,将安全策略和安全机制公开大家还是无法非法的获取或修改数据,这才是比较安全的

附:Bruce安全的定义:如果把一封信锁在保险柜中,把保险柜藏在某个地方然后让你去读这封信,这是隐藏不是安全,相反如果把信锁在保险柜中,然后把保险柜、保险柜的设计规范以及很多同类型的保险柜给你,以便让你跟世界上最好的开锁专家去研究这个装置,但是你还是无法打开柜子去读信,这样才叫安全

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值