【CSDN现场报道】2015年11月19-21日,由CSDN重磅打造的“2015 中国软件开发者大会”(以下简称SDCC 2015)在北京朗丽兹西山花园酒店隆重召开。今年是第七届,大会为期三天,除了阵容强大的全体大会外,主办方还精心筹备了九大技术专场论坛,包括:架构实践论坛、前端开发论坛、数据库实战论坛、研发管理论坛、安全技术论坛、算法实战论坛、编程语言论坛、产品与设计论坛、微信开发论坛。此外,还有五场特色活动及展览展示。
乌云创始人方小顿在SDCC2015上分享了《企业安全之困》话题,他介绍了我们面对的互联网环境:短时间爆发增长的企业和应用、企业先考虑生存再考虑安全。方小顿指出,现在存在一个情况——数据是我们最重要的资产,但无法把它锁起来,因为数据边界已经消失。如何破解企业安全上的困境呢?首先是足够多的了解你的对手,其次要以数据为核心评估安全;同时也要以失败为前提设计安全,动态的观点去考虑安全。
以下是方小顿发表的主题演讲:
乌云创始人 方小顿(剑心)
大家好,我叫方小顿,我出来讲这个安全挺悲剧的,现在开发者居多,我每次到开发者的会议我就要把PPT调整一下,有时候我去运维的会议我需要把角度再调整一下,我在运维角度怎么看?我个PPT每个都不一样,每一次做PPT是我最痛苦的时候!今天我会把我的观点,特别是我自己对这个东西的观点也是不断的变化,所以在这里我会把我最近感受到的东西在这个会议上表达出来。
今天我讲的是企业安全之困,我们企业最核心的一点是什么?企业不是独立的存在!企业是要在大的环境里面通过做产品,获得自己的用户,建立自己的商业模式,最后盈利的组织才叫企业!我们说到企业的安全,不可避免的考虑到我们生存的环境什么样的,我们中国的企业很幸运,我去过日本跟他们聊安全,日本、台湾、所有其他地区的人都很羡慕我们中国这么一个互联网,很羡慕我们这样的企业,为什么?就是人多!中国的用户一下子获得了几千万的用户是非常容易的事情,对所有的企业来讲的话是非常好的一个生存的环境!中国的互联网是世界上创新最多的互联网,中国人是敢干!规则也比较少,没有什么规则,只要你敢干,就有用户,有用户就有利润。
中国的互联网很奇怪,最重要特点是数以万亿的用户,这个背后是不是安全?庞大用户的基础同样也是说,我们背后有一个巨大的黑色产业的,我临时找了一个例子,我经常收到一个短信,手机话费怎么样了?房东给你发短信,说我银行卡号变了,这个月房租打到这个卡上吧!很多人会收到这样的短信!这样傻的东西怎么会有人上当呢?不知道在座的有没有人上当!中国这么大的用户基础上,才使得很低级的伎俩成功,足以养活一个黑色产业链了,我们考虑安全真得基于很大的前提,就是中国的用户量够多!这是我们考虑问题的角度,这是中国互联网的环境第一个特点。
第二个特点,人傻、钱多,怎么样呢?速来。几个人组一个小团队就开始搞,爆发式增长的企业还有这些企业的应用,但是应用的水平怎么样,我们不多讲,但是我们看到的是琳琅满目的各种各样的产品,这些产品做出来是要赚钱的,我们不管怎么样,我们要先活下来先获取大量的用户,安全这个东西,你今天考虑安全问题吗?所有人都说,等我们产品上线之后吧,等产品上线了以后又说等下一个版本吧!这是中国企业考虑问题基本的原则,先生存再考虑安全!安全永远是重要但不紧急的。
还有一个是中国人太敢干了,我了解到国际的惯例,我们现在说的很多人提到的移动医疗,要把病人的信息、病例这些东西传到我的云端服务器做分析,给客户提供这样的应用,这样的技术在国外非常难干成功的,基本不可能。在日本和很多地区,滴滴打车这些应用都是没有空间生存下去的!还有很多在线支付、移动支付,他们那边的消费这么疯狂应该是很欢迎这个应用啊?我们去了解,在中国之外的地区很多应用是不可能出现的,不是技术问题,而是他们的法律法规限制太严格了!任何人去获取每个人的隐私数据都是当成个人财产一样保护的!所以你做移动医疗这些东西的时候,相关的法律法规限制很严格的,但是中国不一样,中国人可以把自己家的门锁搞一个智能门锁联网,别人可以利用基本的安全漏洞,可以获得你家开锁的密码,就可以进去。这是我们中国的现状。
中国人说我们自己做企业的时候没有什么限制的,先把用户拉到手,让用户依赖我的应用,再考虑安全。这是不可避免的大家的观点!这一点是很明显的,我们的规范和机制是非常落后的。中国的很多东西在互联网这块是没有规范的,近几年比较好一点,政府提出一些规范,大家更多考虑的是合规性,而不是我们实际做的怎么样,这也是导致我们安全做的相对很糟的点。
当然了,提到安全问题,这一点是非常重要的,中国是用户最多的地区,也是世界上用户最不守规矩的地区。我们观察很多的企业在推广自己应用的时候,都会做什么事情呢?你注册一个用户,我给你返两块钱、五块钱,这是挺好的事情。我们通过这种方式获得忠诚的用户,结果我们调查中发现,有这么一个平台,你推广可以挣钱,我给你一些积分放在我的平台上,比如我是P2P的,或者可以消费类的应用,我给你基本的积分,你把我用户长期培养在我这个平台上。但是中国变成什么样了?你敢在互联网上出这么一个策略,有一个平台是拔羊毛的平台,一堆人进去注册,你注册送我一百块钱,他花几毛钱成本注册一个用户!他再拿5块钱去淘宝卖掉,本来是对用户很好的策略,全被消耗掉了。中国似乎用户都习惯这样,比如大家去排队的时候都喜欢插队,做什么事情都喜欢找关系,导致我们的用户都是这么一批喜欢钻空子的用户,只要你给他点空子,他一定会钻出一条黑色产业链出来。只要你敢出这样的策略。
这样就很奇怪了,我们跟很多同行交流,发现一个非常大的问题,他们怎么样都能理解中国的安全!他们不理解羊毛打的是什么?不能理解钻空子是什么,不能理解黑色产业是怎么回事!我们今天考虑安全的问题,他们说我们PPT没有干货,怎么一点代码都没有,没有技术的东西,但是我们考虑安全的问题,我觉得在安全领域,技术是很重要的,但是相对环境来说是排在第二的。中国独特的环境很大的用户基数,第二这些用户大部分是不守规律的,导致中国的用户是很特别的,我们要认识这一点,我们以后做产品的时候才能找到一点点的感觉。
这是我们的外因,我们要找到内因,现在大家都在做互联网的分析,把用户的数据获取上来给用户画像,推荐各种各样的后续的其他的广告也好,其实核心的一点是数据,无论是用户还是客户的数据,最核心的就是一点。数据变成我们最重要的资产了!我们谈安全的时候是数据的安全,但是我们发现一个传统的企业在转型,我们发现一个很传统的观点,对于一家传统的企业,可以把数据放在自己家里锁起来,我们知道很多的保险公司,华为早期可以把资产放在企业网络里,只要把锁做好,我的安全基本OK,把内部风险控制好就OK了,我们发现出现一个问题,数据变成我们最重要的资产,我们根本没有任何的办法把它锁起来,原因是这些数据如果不得到利用,你数据的价值就体现不出来!所以我们要做互联网,我们要把API打通,给我们的合作伙伴打通,打通整个产业,这时候要把数据用起来,就需要联网,这个安全就很难做了。
这是我们的一个手机,大家都可以打开,手机里有很多的APP,这是一个典型的用户的场景,但是你想想,对于一个手机来说最关键的是这个手机本身吗?不是的,手机只是接触你的服务,接触你给他的价值的终端而已。真正所有的数据全部在后面的云端里面,包括你的通讯录和微信的聊天记录,包括你企业服务的APP,最核心的东西手机丢了不关心,但是云端的数据丢了你会觉得很糟糕!所以我们的安全已经发生了变化,我们以前说的是终端和PC的安全,我们手机的安全,现在来说是云端的安全了!我们典型的架构里我们经常听到一些概念“防火墙”,DMZ区,网络域的划分,这是传统的安全的最基本的一个安全模型,我们做任何的东西,我划分为内网和外网。但是在新的一个情况里,这个东西根本没有办法做了,为什么呢?已经不存在这些区域了,因为内部和外部打通了,不存在内网和外网了,数据到哪我们边界就到哪!正常来说,我们是不是把电脑都装一个软件,电脑就安全了呢?不是的!防火墙已经失去作用了,数据必须跟外面打通,传统的安全的架构就完全被推翻了,我们不可能装一些杀毒软件,安全就做好了,所以大家也是对安全太担心,不知道怎么做!跟以前完全依赖的安全模式是完全消失的!
有一些保险公司,以前把数据都放在内网里,安全做的很好,但是现在为了通过互联网获取用户,他把数据的API全部通过微信和自己的移动APP全部打开,这个产品的安全边界就消失了,通过这些入口很容易把数据拿走了!还有一个核心的问题,也是说我为什么现在去谈安全很少关注最新的技术?因为我们发现,我们很多黑客和做安全很好的人,他们可以破解到世界上最安全的汽车,每年都有相应的讨论。但是我们发现,我们没有办法让我们自己的比如100个员工,我们让我们这些员工保证自己的安全性,最少不要使用同样一个密码,我们有最好的技术,连最基本的密码安全都做不到。这是iKoud密码泄露的事件,一个抢红包的查件,发生了世界上最大的一个账号密码的泄露,大概22万左右!我们的安全到底是怎么回事?是靠技术就可以搞定的吗?很明显不是。我们做安全的很容易的就想到招人,我们很难招到安全人员,但是地下的黑色产业早已经结成利益链条来进行运作了!最典型的是发现Xcode有一个编译器,本来苹果在这块投入的精力是挺大的,但是它做了一个破解版的编译器,编译的时候把自己后门程序放进去了,然后通过这个方式感染了中国的微信和网易在内很多的APP,接触这些APP就可以建立自己最大的僵尸网络了,即使没有越狱的苹果,但是通过植入到正常的手机里就可以长久的通过后端的方式控制你的手机。这个人还没有做到下一步,下一步是推广自己的应用,我在后台点击广告!但是现在没有这样做,后台没有打通!它不是一个人干的,而是很多人控制足够多的机器,背后有一个销售的链条,把你要推广什么应用?相当于推广平台一样,后面对接很多的客户,结成利益连盟。很多QQ群很多的,有人说我怎么黑掉别人的数据?有一部分人把这部分人数据变现!黑色产业形成链条,我们自己做安全的时候,我们发现我们很难招到对安全很了解的,或者帮我们做安全这件事情的人,根本的原因是什么呢?这也是值得我们考虑的一个现象。
最重要的是我提出来的一个东西,我们在座的很多人,包括我们自己,我们都是很在乎健康的,但是我们每个人不会今天就回去跑步,这跟安全是一样的,安全是不可见的,所有人不可能立刻就重视它。这个图是我们有一次做会议的时候,当时大家每个人都在谈论说,我们的Wifi是不是安全?我们的手机是不是安全?我们在外面假设了一套路由器,我们短短的一段时间内就发现很多人手机没有做任何设置的情况下,就连上了我们的Wifi,很容易获得他公司包括个人很多的记录,每个人都知道安全的模式,但是让他把手机里默认的wifi的事情关掉,没有人做这个事情。这就是安全的现状!我们每天讨论安全,各种大会都讨论安全,我们整个的环境是问题的,我们自己也是有问题的。
我讲了这么多是我们做安全的时候遇到的很多的问题,也是阻碍我们把安全做好的点,如何破解这些点?是说给愿意做安全的人听的,第一点我们一定要足够了解你的对手,如果你在做一个资讯类的,或者没有太多利益在里面的APP,这一点不用担心,如果你做P2P、金融、我要收集足够多的数据,你做这件事情是不是有对手?在关注你的哪些东西?这点要足够的了解!我们也看到很有意思的现象,这个家伙我还在百度的时候,我们每次开会讨论安全,所有人都能上来发表看法,运维说安全是怎么回事,有一些做网络的人也上来说安全怎么回事,做研发的人也说安全是怎么回事!但是跟盲人摸象一样没有人把安全说的很清楚,什么人去解决安全都有自己的一套办法,了解你的对手和安全现状要抽出来看全貌,不是看某一个点,不是说把运维安全做好了安全就做好了!研发的把代码做好了安全就做好了,不是这样的。
第二点,我们去看安全,我们去评估安全,如果说我们想去真正的很好的去了解安全,知道安全的侧重点在哪?我们该怎么做呢?很简单的办法,大家要以数据为核心评估安全,我们说的安全是数据的安全,不是说我的机器放这没有被人抱走,我们说的安全是数据为核心的安全!比如有一个人做了一个APP,是酒店行业的,这些APP里面有一个叫积分的东西,最开始是没有什么用的,引进来就可以兑换一个积分,用户量很大,很安全,有一天为了市场推广做了一个活动,叫积分兑换住房酒店,他们的APP就变得不安全了!我这个什么都没加,就加了这么一个功能为什么?新的就不安全了?我跟他说,以前你的数据放在那,价值是趋于零的,这个是没有人动歪心思的!一旦你可以采取积分换酒店之后,你仔细琢磨一下,这里面可以钻空子的学问就大了,别人会详尽一切办法把客人的积分套走,安全不是以技术为核心的,而是以数据为核心,我们去做评估,我给他的建议是,如果你质疑的做这么一个功能,积分换酒店,你一定不要让别人把积分换给酒店,多做一些实名认证,多做限制,这样的话别人觉得成本太高就不会再做了!APP里有一个标配,同卡进出,我钱存进去,要同样的卡里把钱再打回来!
还有一个概念,有些人经常问我,我的企业有20人,我要不要配一个安全人员?其实这里一个典型的观念是,我有一个东西,我要不要放在银行的保险柜存起来一样,你的数据的价值大到引起你的担忧的时候,我建议可以配一个安全门类负责专人保管安全。这是根据不同时间来评估的,核心看自己的数据,自己对自己的数据有一个把握。
还有技术上比较典型的观点,我需要去做我的安全体系,我具体用什么样的方式考虑呢?有两点。第一点以失败为前提设计安全,我要假设,我所有的技术手段、我设计出来的关键的功能和安全的体系,都被人突破的时候,我该怎么办?要设计这么一套东西,我们设计电商网站,它的安全是我们怎么帮它设计呢?它内部的人员流动率是很大的,有一些人是拥有订单的权限的,但是客服很累,工作很枯燥的,流动率非常大!如果一个人对订单的权益很容易把订单卖走,很多电商网站也遇到一个问题,我今天刚下班,一个快递打电话说官方让你退货,最后把你钱骗走,我们假设进来做客服的人都是有问题的,我们来做设计这个架构呢?手机号这些数据不要给客服看,把客服的人和运营的人分开,获得手机号的这些东西都应该做一个单独的审计。或者说你把手机号他如果不要,你把这个手机号从订单人去掉。我要联系这个人,比如说58,发帖子租房子有一个功能,我要租房子,发布一个号码,谁也不想把房子租了以后每个月有链家给你打电话,他做了一个临时性的,敏感的数据我不存,脱敏处理!我的用户不会受影响的,以失败为前提设计安全!我们可以用在所有需要安全的事情上面,无论是功能还是系统的设计。
第二应该以动态的观点考虑安全!特别对大的企业来说,它的业务每天是增长的,功能每天是变化的,导致整个基础架构每天也是在扩张的,这样我们很难做评估某一个企业是不是安全的?整个是动态的,包括互联网和业务是相关的,互联网少的时候是安全的,互联网大了很容易被别人盯上!我们看到的也是这样的情况。
这是我们做的蜜罐系统,我们知道互联网是扁平的,我们把服务器网往IDC里布,全世界的人都来了,我们把我们基础的环境,和基础的框架和基础的应用全部做成一套仿真环境,这个时候我们知道全世界每天都在发生什么事情,但是当我们看到的时候更印证了很强的观点,如果有一个信息你比你的对手晚一点点你就被黑了!新的利用方法曝光的时候很多公司都出现了问题,如果你没有第一时间了解这个信息你的企业可能就被黑了!很多游戏公司都被黑了,都有反馈到我们这里来。这是蜜罐的系统,这么多网络的动态。
我回到前面的问题,第一点企业要提升自身的基本素质!作为一个企业安全的自我修养,不是等到生病了再去看医生,你自己要提前重视!有一些东西企业是做不了的,比如说环境、安全信息是企业很难做的,因为企业关注的是自己的产品,而不是安全的事情,我们搭建了开放的安全社区,把这个漏洞第一时间报给企业,这一块很多人都了解,很多企业把漏洞修复了以后我们会对外公开,我们希望这些信息在A企业发生问题之后,我能把这些事情同步到B企业,我不希望电商网站再去踩雷。
这个时候,做了几年乌云,我们也看到了很有价值的事情,国外最重要的安全问题叫做XSS这个问题,中国是安全的,老外根本理解不了,他们会问很多奇怪的问题,他们说中国怎么下载安卓应用呢?中国人互联网新闻事件被攻击,他们不知道怎么回事?为什么会出现在中国?为什么其他地方没有?中国是安全的这是我们总结出来的!有了这些数据我们可以到更好的企业实践里去。我们可以更加公开的讨论和获取。我们也获取了很多安全人员,可以帮大家做评估,不像以前技术人员特有的思路一样。技术人员思路也是有问题的,他会尝试用技术方法去解决很多东西,我觉得不行,我们要考虑以人为本的安全评估,我们评估的话,不像以前了解技术上有哪些可能性,我们不管,我们找三十个人上来给我找,每个人想到什么坏招,钻空子的招你都可以去想,给我们的评断是最客观和准确的。我们怎么把信息告诉各个企业去做响应?我们把企业想象成一个云,我们每天做一个快照,这样就知道企业云自己的IDC和自己业务的变化和自己功能的变化,我都会拿互联网最安全的数据库、信息和情报之类的,我们会做检查。现在我们是让企业了解安全,而且把企业没有办法了解到安全的东西,我们通过自己的方式传递到企业。
更多精彩内容,请关注新浪微博:@CSDN、图文直播专题:2015中国软件开发者大会。