蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我们将其中的优秀演讲整理成文并将陆续发布在“ 金融级分布式架构”公众号上,本文为其中一篇。
本文作者:何征宇,gVisor 创始人,蚂蚁金服研究员
在云原生发展趋势之下,金融行业想要应用云原生技术,安全问题是一个非常大的拦路虎,而云原生社区对安全问题的重视程度远远不够。蚂蚁金服在落地云原生的时候,解决安全问题是重中之重,经过探索与实践,我们沉淀出了一套从底层硬件到软件、从系统到应用层的全链路金融级云原生安全架构。
金融行业最重要的就是信任,我们认为, 安全所带来的信任,是一种无形的产品,支撑着所有金融业务
顺应互联网时代发展,金融行业与机构也发生了很多的变化,包括 App、小程序等更多的访问渠道,更快的业务变化,更多的第三方供应商。但是,不管怎么变化,金融行业有一点始终不变,那就是 Zero Fault,对错误的零容忍,也就是对稳定性和安全性的极高要求。
这里,我还想澄清大家对金融行业的一个错误看法,就是,大家都说金融机构有很多遗留系统,很多技术是十几年前的,就认为金融机构的技术是落后的。但其实,金融行业一直是科技含量非常高的。前段时间有一部电影上映,叫《蜂鸟计划》,根据真实事件改编,讲一帮做高频交易的人,为了降低从堪萨斯到纽约交易所的时间,建造了一条上千英里直通两地的光纤,想尽办法去争取那最后一毫秒。所以,金融行业并不只有平庸保守的科技,它同样也在追逐最前沿最先进的技术,我们的使命就是要用科技来进一步武装金融行业,为金融科技注入更多的活力。
云原生架构其实代表一种新的生产力,金融行业肯定是需要云原生的,它为我们带来了节约成本和敏捷开发的能力,但是在它前面还需要加一个定语,就是安全的云原生架构,它里面不仅仅包含之前的相对简单的安全方案,而是一个从端到端的全链路可信的安全解决方案。包括明晰代码所有权,做到可信启动,对镜像的制作和发布收口,配合账号体系,明晰应用的所有权和访问权限;以及安全可独立部署的精细化隔离方案,将安全策略和实施集成在基础架构中,对软件开发和测试透明。
这里我们着重分享蚂蚁金服正在实践的几项云原生安全技术,包括云原生网络安全  Service Mesh,安全容器,以及机密计算。

云原生网络安全:SOFAMesh

当前,云原生里除了容器之外第二大技术其实就是 Service Mesh,从蚂蚁的实践来看,其实它对金融安全有非常高的帮助。它至少可以做到三点:
  • 策略化高效流量控制,可以帮助运维迅速适应业务快速变化;
  • 全链路加密,保护端到端数据安全;
  • 流量劫持与分析,当发现异常流量与容器时,进行流量阻断。
并且,这些工作对业务是透明的,不需要给业务开发增加负担,同时我们还可以对流量进行实时的语义分析等等,做比传统的防火墙更多的事情。
蚂蚁金服在对 Service Mesh 的探索中,推出了自己用 Golang 打造的 SOFAMesh,并且已经对外开源,希望和社区一起努力,让 Service Mesh 的理念和技术更加普及。
SOFAMesh 是基于 Istio 改进和扩展而来的 Service Mesh 大规模落地实践方案。在继承 Istio 强大功能和丰富特性的基础上,为满足大规模部署下的性能要求以及应对落地实践中的实际情况,所做的改进包括采用 Golang 编写的 SOFAMosn 取代  Envoy,极大降低了 Mesh 本身的开发难度,并做了一些创新性工作,例如合并Mixer到数据平面以解决性能瓶颈,增强 Pilot 以实现更灵活的服务发现机制,增加对 SOFARPC、Dubbo 的支持,等等。
更多详情可查看 SOFAMesh 的 GitHub 主页:
https://github.com/sofastack/sofa-mesh
蚂蚁金服率先在生产环境中大规模落地 SOFAMesh,超过 10W+ 容器做到了 Mesh 化,平稳支撑了 618 大促,给我们带来了多协议支持、UDPA、平滑升级、安全等多方面的好处,并且对性能仅有轻微的影响,单跳 CPU 增加 5% 损耗,RT增加不到 0.2ms,甚至部分业务经过 Mesh 化改造将业务链路下沉,RT 反而下降 7%。

全容器:Kata Containers

传统容器架构
提云原生大家肯定都会提容器,传统容器从虚拟机到容器,其实是牺牲了隔离性的,从上图可以很清楚的看到,当我们的应用在容器里,其实共享着同一个 CPU、内存、网络和存储,只是从外面看起来是不同的。这会导致安全上的问题,就是不同的容器之间不存在真正的隔离,一旦一个容器发生安全问题,很可能影响到其它容器,甚至入侵整个系统。蚂蚁金服在这方面做的工作就是安全容器,具体就是 Kata Containers。
安全容器架构
Kata Containers 安全容器是 OpenStack 基金会的顶级开放基础设施项目,由蚂蚁金服和 Intel 共同主导开发。在安全容器里,每个 Pod 运行在独立的沙箱中,彼此不共享内核,提供强安全保障。
这里给大家分享一下 Kata Containers 的近期进展,针对大家最关注的性能问题有了非常大的提升:
  • 引入 shimv2 每 Pod 辅助进程数量从 2N+2 减少到 1 个;
  • 引入 virtiofs,提升文件系统性能约 70% 到 90%;
  • 引入 Firecracker, VMM 内存开销从 60MB 降到约 15MB;
  • 改用 rust 实现 agent,占用内存从 11MB 下降到约 1MB。
我们也会和社区一起继续共建 Kata Containers,让安全容器成为云原生的标配。
安全容器可以有效的保护主机,但是,金融业务本身仍然需要更强的隔离保护,蚂蚁金服引入了机密计算,并根据实际场景研发了大规模落地解决方案 SOFAEnclave。

机密计算中间件:SOFAEnclave

所谓机密计算,也就是基于例如 Inte SGX,ARM Trustzone 等可信执行环境(Trusted Execution Environment, TEE),也称为 Enclave ,访问计算机内存时隔离用户数据,以避免将数据暴露给其他应用程序、操作系统或其他云服务器租户的解决方案。
Enclave架构
Enclave 是运行时的双向保护,比如说你的金融业务跑在 Enclave 上的时候,操作系统都看不到 Enclave 里的内存,同时会进行完整性检查,保证访问 Enclave 的代码不被替换。
但是 Enclave 目前存在一些问题,阻碍了它在实际生产环境中的应用。总结这些问题包括:
第一,需要改写应用,因为可信执行环境里面没有内核和基础库,所以没法把应用直接在 Enclave 中执行;
第二,需要分割应用,需要把业务程序划分为 Enclave 内和 Enclave 外的部分;
第三,未集群化,与客户端场景不同,Enclave 中的应用如何 failover,容灾也是阻止其在数据中心中大规模使用的一个原因。
蚂蚁金服针对这些问题的答案就是 SOFAEnclave 机密计算中间件。
SOFAEnclave架构
SOFAEnclave 由三个组件组成,第一个是 Occlum LibOS,另外一个是 SOFAst,以及 KubeTEE。Occlum 是蚂蚁和英特尔、清华主导开发的一个内存安全的多任务 Enclave 内核,把系统内核的功能通过 lib 的方式链接过去,通过这种方式给 Enclave 增加功能。同时我们也创新性的解决了在 Enclave 跑多进程的方式,让 Enclave 真正适配大型的应用。
想详细了解 SOFAEnclave 的技术细节,可以参考这篇文章:
《 》
SOFAEnclave 开源组件 Occlum GitHub 主页:
https://github.com/occlum/occlum
当我们把这些安全组件与云原生框架编织在一起,构成一个全景,就是我们正在构建的金融服务的安全云原生安全架构——基于阿里云和 Kubernetes,以端到端的安全性保障金融服务。
上述这些组件有些是蚂蚁金服在实践检验之后开源并与合作伙伴和社区共同发展的,有些从开始就是在社区中开发的。与传统金融行业的技术发展不同,我们提倡建立一个开放的架构,并相信开放的开源治理对于这个架构是不可或缺的,我们会持续参与和支持社区化的开放开发,与社区一起打造下一代金融级云原生技术。

延伸:蚂蚁金服在云原生领域的贡献

SOFAMosn
https://github.com/sofastack/sofa-mosn
SOFAMosn(Modular Observable Smart Network),是一款采用 GoLang 开发的 Service Mesh 数据平面代理,旨在为服务提供分布式、模块化、可观察、智能化的代理能力。 SOFAMosn 通过 XDS API 与 SOFAMesh 集成,同时 SOFAMosn 可以作为独立的4、7层负载均衡使用,未来 SOFAMosn 将支持更多云原生场景,并支持 nginx 的核心转发功能。
今年 618 蚂蚁金服已经完成核心系统上到 SOFAMosn 的验证工作,在马上来临的今年的双 11,阿里巴巴和蚂蚁金服将会在核心系统大规模上线 Service Mesh。
ElasticDL
http://elasticdl.org
ElasticDL 是蚂蚁金服发布的新一代基于云原生的开源 AI 学习平台,它的架构基于原生的 Kubernetes 体系,因此具有强大的容错能力和弹性调度能力。另外,ElasticDL 能够支持新一代的 TensorFlow 2.0 框架,也希望引领 AI 开发者走向新一代的机器学习。
未来,ElasticDL 会支持更多的 AI 模型,让它本身变得更强大,也会更好地融入云原生体系和 Kubernetes 体系。
更多蚂蚁金服云原生的技术方案解密,请密切关注本公众号~

当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?相关推荐

  1. 物联网“遇上”云原生,会擦出怎样的火花?

    据中国物联网产业生态联盟预测,继计算机.互联网和移动通信之后,物联网将引领信息产业革命的新一次浪潮,成为未来社会经济发展.社会进步和科技创新的最重要的基础设施. 另据预测,到2025年,将有1000亿 ...

  2. 蚂蚁金服李小龙:“人工智能+金融”机遇与挑战并存,蚂蚁金服都做了什么?...

    编者按:由中国人工智能学会.阿里巴巴以及蚂蚁金服联合主办,CSDN.中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 2017)将于7月22-23日正式召开,届时,蚂蚁金服人工智能部技术总 ...

  3. 【SDCC 2016现场】互联网应用架构实战峰会(上):蚂蚁金服、宅米、携程、腾讯平台架构演变与实践...

    摘要:2016年3月18-19日,由CSDN重磅打造的"2016中国软件开发者大会"在上海光大会展中心国际大酒店隆重召开.在第二天的架构实践论坛上,来自蚂蚁金服.宅米网.携程旅游网 ...

  4. 胡喜:蚂蚁金服十五年技术架构演进之路

    导读:5 月 6 日,蚂蚁金服副 CTO 胡喜在 2019 年 QCon 上做了<蚂蚁金服十五年技术架构演进之路>的演讲.借此机会,也和大家深入讨论了一下蚂蚁金服对金融科技未来的判断,并首 ...

  5. 从“挖光缆”到“剪网线”|蚂蚁金服异地多活单元化架构下的微服务体系

    本文作者:时晖(玄霄),蚂蚁金服高级技术专家,现负责中间件微服务团队.2010年应届加入支付宝,一直在基础技术部门工作.经历了支付宝/蚂蚁金服从SOA化到异地多活架构的发展历程,参与过运维平台.服务注 ...

  6. 蚂蚁金服副CTO胡喜ATEC上宣布:蚂蚁金服技术全面开放

    小蚂蚁说: 如果支付宝多个机房的光缆同时被挖断,40%的服务器突然无法工作,结果会怎样? 即便这只是亿分之一概率的猜想,9月20日的云栖ATEC主论坛上,蚂蚁金服副CTO胡喜还是在2000人会场模拟了 ...

  7. 干货 | 金融级消息队列的演进 — 蚂蚁金服的实践之路

    小蚂蚁说: 消息队列作为一个数据的集散中心,承载了越来越多的场景和数据,从最开始的 OLTP 到 OLAP,甚至再到物联网.人工智能.机器学习等场景,都有很大的想像空间. 在能力上,消息队列现在拥有了 ...

  8. 蚂蚁金服十五年技术架构演进之路

    来自:蚂蚁金服科技 蚂蚁金服过去十五年,通过技术重塑了支付服务.小微贷款服务.我们认为 Blockchain (区块链).Artificial intelligence(人工智能).Security( ...

  9. 蚂蚁金服副 CTO胡喜:从 BASIC 到 basic ,蚂蚁金服十五年技术架构演进之路

    主要观点 1. 蚂蚁金服过去十五年,通过技术重塑了支付和微贷业务.Blockchain (区块链).ArtificialIntelligence(人工智能).Security(安全). IoT(物联网 ...

最新文章

  1. oracle安装清单过不去,oracle 11g(二)安装过程
  2. python 引用和对象理解
  3. ssh中exit命令退出远程服务器_Linux:ssh远程执行命令并自动退出
  4. php时分获取秒数,javascript与php时/分/秒与秒数互转
  5. python颜色识别原理_用opencv-python实现颜色检测
  6. python web环境傻瓜搭建_Python 环境搭建以及神器推荐,果断收藏!
  7. 洛谷 P2089 烤鸡
  8. 剑指offer——面试题38:数字在排序数组中出现的次数
  9. 17082 两个有序数序列中找第k小
  10. 别在分答上问我问题了
  11. 台达DVP-PLC编程资料
  12. 软件测试类型-文档测试
  13. java ipv6转换成ipv4,如何映射IPv4的IPv6地址转换为IPv4(字符串格式)?
  14. 计算机工程ei是不是不检索了,EI检索的期刊一定是EI吗
  15. python unpack_Python:struct模块的pack、unpack
  16. VUE实现一个Flappy Bird~~~
  17. 读吴军一万小时定律误区有感
  18. 在Centos下安装java jdk
  19. 派森python_python2.7下载-派森(Python)下载v2.7.18 官方正式版【x86|x64】-西西软件下载...
  20. 英文标点符号unicode

热门文章

  1. 游戏开发心得——书籍篇——《游戏引擎框架》-导论
  2. 再谈计算机编程的学习
  3. 基于pyqt5 构建弹窗进度条,在大型计算中实时显示进度
  4. 四、vue 项目使用高德地图画面(多边形)
  5. deficit记忆_总算懂得单词every分析记忆方法
  6. 【元器件】芯片封装汇总
  7. 世纪标准-海岸试验数据管理系统(海岸TDM)
  8. Window系统新手建站教程
  9. 校园二手交易平台毕设 校园二手商城毕业设计 毕设二手校园商品交易 二手商城系统 java二手交易市场 springboot商城 ssm二手交易平台下载 源代码+数据库+调试运行+讲解代码
  10. IMX6Q的硬编码(VPU)的工程代码移植