阿里云首席安全科学家吴翰清的思考:弹性安全网络,构建下一代安
8月16日,《麻省理工学院科技评论》(MIT Technology Review)杂志揭晓2017年全球青年科技创新人才榜评选结果,阿里巴巴人工智能实验室首席科学家王刚、阿里云首席安全科学家吴翰清脱颖而出,获此殊荣。
以下是吴翰清的分享:
前些天得知自己入选了MIT的TR35,非常开心。我想这是中国安全技术在国际上被认可的一次证明。但这个荣誉不仅属于我一个人,更属于我团队中所有为此做出过努力和贡献的人,也属于那些敢于和我们一起尝试最新技术的客户们,因为新技术在诞生之初往往是生涩的,但缺少了孵化过程中的磨难,我们永远见不到美丽绽放的那天。我也非常感谢王坚博士、弓峰敏博士、华先胜老师、Dawn Song教授能够成为我的TR35推荐人,感谢你们对我所从事的工作的认可。
自从参加工作以来,我一直执着于将中国技术推向全球,我认为中国有着最好的安全技术和最好的人,只是缺乏了让他们成长的土壤和展示的舞台。所以我也希望这次MIT对我个人的认可,能够成为一次鼓励中国安全产业的优秀人才和优秀技术成果走向世界的契机。长期以来,我们享受了很多开源技术的红利,但中国技术对世界互联网发展的贡献却非常微薄。我认为这中间有语言的障碍,有文化的障碍,但没有能力的障碍。现在是时候让我们去跨越这些障碍,去解决全球互联网发展过程中遇到的那些问题了。只有中国本土的优秀人才成长起来,中国才会变得更加强大。
回顾我十多年的工作生涯,期间从事和研究过非常多的技术工作,但我认为唯有「弹性安全网络」的研究是最独特的。「弹性安全网络」不是对现有技术的一种应用,它是真正的发明了一项此前所没有的技术,提出了一种全新的方法,采用了一个全新的角度来看待现有世界。也因此它能跳出现有的技术框架,带来一些突破性的惊喜。这些惊喜,往往连创造者都没有办法在一开始就想清楚。正如从比特币中抽象出了区块链技术一样,最早我们构建的产品「游戏盾」是用来防御超大流量DDoS攻击,最后抽象出来的「弹性安全网络」技术,却让我们看到了构建下一代互联网的可能性。
简单来说,弹性安全网络是将DDoS防御前置到网络边缘处。但是,未来真正要做的事情是通过端到端的连接,通过风险控制技术,重新构建一个干净的、安全的互联网。
前些天《麻省理工学院技术评论》的记者对我做了一次采访,我完整的阐述了一次关于弹性安全网络的构想。我把这次采访的录音放在这里,分享给所有对这项技术感兴趣的人,并附上整理后的文字稿(但依然强烈推荐听录音原文)。未来我希望有更多人参与到对「弹性安全网络」的建设中来。
为什么要做弹性安全网络
互联网的流量就像流淌在管道里的水,但互联网发展到今天,流量里已经掺杂了太多的东西,变得不再纯粹和健康了。比如说,这些流量里面包含了很多攻击请求,也有很多恶意爬虫请求和一些欺诈行为的请求。
理想状况下,我们希望未来的流量是干净、健康的,希望把所有的网络攻击前置到整个网络的边缘处。就是说进入这张网络的时候,流量本身就是干净的。这就是clear traffic的概念。
为了实现这个想法,我们遇到了很多的困难。我们在思考,需要用一个什么样的架构去实现它。刚巧这个时候,我们有一些客户尝试用快速切换的思路来对抗DDoS攻击。这给了我灵感。最终,我把两个东西结合起来,产生了做弹性安全网络的想法。
什么是弹性安全网络
弹性安全网络真正想要去做的,是替换掉整个互联网最核心的心脏,替换掉DNS,从而让网络变得有弹性,能够快速调度资源,形成一个全新的网络架构。
事实上, DNS诞生在互联网早期,是互联网1.0时代的产物,是一个开放的协议。到今天,也没有一个独立的运营商来运营整个互联网的DNS Server。它分散在各家不同的运营商。全球可能有上百家运营商,都在提供自己的DNS服务。运营商跟运营商之间的打通,是通过标准的DNS协议进行数据交换。
这也是为什么这么多年DNS协议都没办法进步的原因,过于碎片化。
目前,DNS有三个显著问题。第一个,是DNS完全解析的时间过长,这是整个DNS使用中遇到的一个非常大的痛点。
比如,对于一个大型网站,要把用户的所有流量指向一个新地址。把DNS的解析修改之后,可能需要花两到三天时间,流量才会百分之百的切到新地址去,不会在旧地址上还有残余流量。
为什么需要两到三天时间?原因是有很多运营商的DNS递归解析服务器,都需要更新自己的数据。而有的运营商还有自己的省级运营商,甚至更下面的地市级的DNS的递归解析。过于碎片化,使得难于进行统一的数据管理,这是今天现实存在的问题。
第二个问题是今天DNS Server软件中的解析数遇到了瓶颈,没有办法一个名字解析到几千个、甚至上万个,甚至未来十几万个不同地址。一个名字可能最多也就解析到十几个或几十个地址就不能再扩大了。这种瓶颈限制了我们的一些能力拓展。
第三个就是,原本可以基于DNS去实现的一些安全机制,比如风险控制,并没有建立起来。其实也比较好理解,在互联网1.0时代并没有如今天这般强大的数据能力和计算能力。
今天,我们要解决这些问题。在整个弹性安全网络的架构下面,我们在构思下一代的互联网应该是什么形态?答案就是通过可靠的快速调度技术把互联网心脏重构掉。
首先,就是它的快速解析的能力,一定要非常实时以及干净。其次,就是它本身支持的调度能力,要能达到上万的这个级别,规模特别的重要,就是一个名字能够解析到上万个地址、甚至是十几万个地址。
我们以防御DDoS攻击为切入点,进行尝试。过去防御DDoS攻击时,必须要做的是储备单点大带宽。因为IP是变不了的(在中国的网络环境下由于政策原因暂不考虑anycast的方案)。所以在DNS架构下,就是去硬抗这个IP遇到的流量攻击。比如说300G的流量打过来,必须要有300G的带宽在这里,才能够扛得住。如果只有100G的带宽,那整个机房就被堵死了,甚至可能会影响到运营商的网络稳定。
这是在过去攻防对抗的思路,就是你攻击打过来多少,我就必须要有多少带宽储备在这儿。这比的是资源,比的是单纯的带宽储备。
我们现在的思路是,你攻击这个IP,我马上就把这个IP拿掉,不要这个IP了,然后启用一个新的地址,并告诉所有客户,你来访问新地址。
当然,这时候攻击者会跟随,但是攻击者跟随是有成本的。一般,攻击者跟随到一个新地址,需要大概10多分钟。
在这个10分钟里,通过数据分析的方式,我们可以分析出攻击者到底是谁,把好人和坏人分离出来,阻止坏人的流量,并同时放干净的流量继续访问,这就是整个弹性安全网络的核心思想。
如何实现弹性安全网络
弹性安全网络的实现,是通过快速完成上万个地址的调度,从根本上改变过去需要在单点储备大带宽的一种防御方式能力。
就是,你不需要在单点储备大带宽了,你需要的更多的地址,更强的数据分析能力。
要知道,单点储备大带宽的价格非常贵。改用这种方式之后,DDoS防御成本可以下降两到三个数量级,因为不需要再单点储备大带宽。
做完这个之后,我们就发现,其实这个事情,最重要的不是多了一种对抗DDoS攻击的方法,而是改变了DNS本身,这是本质的东西。所以,我们是用一种新技术去解决了一个老问题。
弹性安全网络将诞生最大的人工智能
沿着弹性安全网络的思路,我们希望通过风险控制来管理整个互联网的资源。
未来,弹性安全网络将重新定义互联网的入口。通过为每一个访问者建立“足迹库”,分析他是好人还是坏人的概率。一旦判断这次访问请求可能是有风险的,则可以随即让他访问不到这个资源。
所以,未来最大的人工智能应该是诞生在弹性安全网络,因为整个互联网的资源都被管理起来了,而且是基于每一个访问者的行为沉淀,来判断风险。
相当于想要进入这个封闭的网络,每个访客要先过安检。只有通过安检才能访问到这个资源。而且,访客所有的历史行为会被积累下来,为未来的风险判断做储备。而今天互联网的心脏 -- DNS,由于其开放性和碎片性,已经失去了将所有访问数据统一汇聚后进行分析的可能性。
在一个自成闭环的体系里面,由一家基础设施的提供商,去运营整个网络心脏的这种解析服务。然后也基于这种解析服务,它能够对整个网内的所有访客进行智能分析,最终就能够实现这张网内的所有访客的请求,都是在风险控制之下的,从而构建一个全新的互联网。
弹性安全网络的未来
今天,一些阿里云上的游戏客户,就是通过弹性安全网络的技术,来调度他们所有的游戏资源,同时对所有玩家进行风险控制的。
弹性安全网络自成闭环。也就是说,这些使用弹性安全网络的游戏,已经从我们现在的互联网,也就是今天以DNS为支撑的这个互联网里,消失掉了。
一个玩家,通过DNS,是访问不到弹性安全网络这张网里的所有资源的。未来我们要做的事情就是,不断地去扩大这张网,直到网内可调度的资源覆盖整个互联网的资源。
目前来看,主要机会就是在IoT和移动互联网,因为这两者实际上是没有DNS的需求的。过去,之所以需要DNS,是因为有一个浏览器,浏览器里面有一个地址栏,这个东西必须通过输入一个好记的地址,才能访问到资源。
在移动互联网时代,今天手机不需要浏览器,而是直接打开一个App。那这个App访问的是什么东西,它不一定需要DNS来解析。
这是我们看到今天这个技术有可能走下去的一个非常重要的原因。
延伸出来,在IoT时代,也是不需要有一个浏览器去访问你所需要访问的服务和资源的。
所以这是我看到,这张网在未来有可能升级今天整个互联网最重要的一个原因。
阿里将开放弹性安全网络技术能力
未来,阿里会开放弹性安全网络的技术。
类似DNS,弹性安全网络本身也不涉及任何访问资源,它只是知道你今天到这个地方来了。就像,一个人今天到某个国家去,需要入关和出关,是一个道理。
事实上,在很多关键领域,弹性安全网络非常有价值。
比如,各个国家政府,或者大型企事业单位的专网或内网。如果它是以DNS为核心的话,那这是一个暴露在整张网内的弱点。因为DNS是一个公开的服务。一旦DNS这个单点被瘫痪掉,整张网可能就没法工作了,所以这是非常大的风险。
所以,弹性安全网络技术,不是为某一个客户设计的,它是为整个互联网设计的。