前阵子,阿里科学家王刚、吴翰清同时入选MIT2017年度TR35 开创中国互联网企业先河 一文刷爆了朋友圈,阿里巴巴人工智能实验室首席科学家王刚、阿里云首席安全科学家吴翰清同时入选MIT2017。这是自该奖项创立18年以来,第一次中国公司里同时有2人入选榜单。今天,阿里妹分享一篇来自吴翰清(也就是大家熟悉的道哥、小黑)的文章,让我们一起走进道哥的弹性安全网络世界。
前些天得知自己入选了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分钟里,通过数据分析的方式,我们可以分析出攻击者到底是谁,把好人和坏人分离出来,阻止坏人的流量,并同时放干净的流量继续访问,这就是整个弹性安全网络的核心思想。