云原生时代蚂蚁金服公开了新的金融混合云架构

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。互联网技术发展日新月异,我们正在进入云原生时代,这个过程中金融行业要如何拥抱云原生?在近两年蚂蚁金服将云原生在金融领域落地,沉淀下一些实践经验,接下来我想分享在蚂蚁的演进过程当中,我们心中的云原生是什么样的,在金融领域落地的时候遇到什么问题,以及我们是怎么解决的。 经过多年云计算的蓬勃发展,上云已经不是太大问题,接下来的问题是怎么把云用好,用得更高效。RightScale 2019年最新数据显示,现在公有云规模占22%,只使用私有云的客户占3%,更多客户通过混合的模式去使用云,通过混合云取得数据隐私、安全与效率、弹性的平衡。 再看全球整个IT行业,公有云的比例只占整个基础IT市场的10%,市场空间仍然很大,IT市场中剩下很多都是传统企业客户。为什么传统行业无法很好地利用公有云,一个重要的原因是因为他们的 IT 系统经过很长时间建设,很多都有自己的机房。另外有些则业务比较稳定,对上公有云没有很强的需求。它们通常会发展混合云策略,把一些核心业务留在私有云,而把一些边缘业务或创新业务放在公有云上。 这些特点在金融行业也非常明显,除此之外金融行业还有两个特征: 业务形态走向开放和互联网化:随着互联网和数字化经济的发展,金融机构需要进行数字化转型,以及业务敏捷化、服务场景化,以应对新的商业模式带来的冲击;监管合规的诉求:金融行业的业务特点决定了必须是强隔离,强监管的,所以公有云上的资源共享模式在监管方面会有比较大的挑战。因此,混合云战略对金融机构更为适用。这一结论也得到研究支持,根据调研机构Nutanix的报告,全球金融业在混合云应用方面的发展速度超过其它行业,目前部署普及率达到21%,而全球平均水平为18.5%。 那么,什么样的混合云是适合金融机构的呢?以蚂蚁的演进历程为例。 蚂蚁在第四代架构的时候演变成为云平台架构,而且为了应对互联网业务形态下突发性业务对资源的弹性需求,蚂蚁也在同一阶段将架构直接进化成弹性混合云架构。现在蚂蚁已经演进到第五代云原生架构。蚂蚁又是如何在云原生的架构下,把混合云变成金融级的混合云,我想会对各位有些启发。在这个发展过程中,有一条主线,是不同阶段蚂蚁对研发的标准和要求,包括:自主、成本、安全、稳定、海量、敏捷,这也是在在线金融的时代,我们对云原生架构的要求。 从分布式到云原生 建立金融级交易支付系统建立金融级的在线交易系统,第一步是要实现金融级分布式的架构,蚂蚁在这方面的代表技术是SOFAStack和OceanBase,目前都已对外商业化,并有丰富的案例。SOFAStack代表的是,在整个应用层或者无状态服务这个层面上,如何去做可伸缩、可扩展的一套架构。OceanBase代表的是以数据库为代表的存储或者是有状态服务层面,如何在架构上面去进行分布式。它们拥有四个特性: 高可用,99.99%+的可用性保证,确保系统始终连续运行不中断; 一致性,在任何异常情况下数据最终一致,确保资金安全; 可扩展,支持应用级、数据库级、机房级、地域级的快速扩展; 高性能,存储采用读写分离架构,计算引擎全链路性能优化,准内存数据库性能。 而这四个关键的特性都是金融业务最为看重的,而且需要在应用和存储上端到端实现。 以一致性为例,在单个数据库内是可以确保数据一致性的,但在大规模应用的情况下,单个数据库总是会出现瓶颈,数据往往会像服务或者应用一样,按照类似交易、支付、账目等粒度垂直拆开,当这些数据分别存储在不同的数据库集群后,就需要在应用层来解决一致性问题了,同时为了支持海量数据,数据库集群内部也会做分别和多副本,OceanBase 就是这样一套分布式数据库,在其内部也要实现分布式事务。只有这样上下配合才能解掉所有分布式架构下的一致性问题,缺一不可。 再比如可扩展性方面,有些系统号称做了分布式架构,实际可能只是用了微服务框架,做了应用层的服务化改造,但数据库层既没有用水平扩展的技术,也没用分布式数据库,整个系统的可扩展性就卡在数据层的短板上。 所以,真正的分布式系统,需要实现端到端的分布式,才能实现无限可扩展和高性能,而真正的金融级分布式系统则要实现端到端的高可用和一致性。 我们认为,高可用架构最关键的目标是数据不丢,业务不停。在这个目标的基础上,我们设计并实施了三地五中心的异地多活架构。它的核心优势包括城市级容灾,低成本交易,无限可扩展,以及RPO=0,PTO<30s. 大家知道我们在去年云栖大会上做了一次剪网线的demo,它演示了整个架构层面上怎么样做到跨城市多活和灾难情况下的恢复快速恢复能力。同时在高可用达标的情况下,我们也做了很多风险相关的事情,总结起来就是在高可用的基础上还要做到资金的安全、变更的免疫和故障的快速恢复。 解决了高可用的问题,其实金融级最被高频提到的话题就是安全,在云原生时代,我们要解决的是全链路、端到端的安全风险。具体分为三个层面: 云原生网络安全,包括策略化高效流量控制,全链路加密,流量劫持与分析;云原生基础设施安全,包括安全容器,不共享内核,以及安全沙箱;云原生业务安全,包括SOFAEnclave机密计算中间件,以及内存安全的、多任务Enclave LibOS Occlum。这个部分我的同事在《金融服务的云原生安全架构》演讲中会详细介绍(点此查看演讲整理)。小结一下,所谓金融级的能力,最主要是要实现端到端的金融级的高可用,同时实现端到端的安全。接下来我想分享的是,在云原生这个阶段往前走遇到了哪些问题。 从单元化到弹性架构 应对互联网爆炸式的流量脉冲 首先解释下什么是单元化,大家可能比较容易理解数据库层的分库分表或者说 Sharding,能够通过分片的方式解决集中存储计算性能问题,单元化的核心思想是把数据的分片提前到了入口请求的分片,在机房的网络接入层将用户请求根据某个纬度(比如用户ID)进行 Sharding,这就好比把每个机房就当做了一个巨大无比的有状态的数据库分片,当你是一个 ID 尾号为007或者008用户的时候,当请求通过手机端或者网页域名发送到机房,接入层就已经识别出应该将你路由到华东地区还是在华南地区。当你进入到某个地区的机房时,大部分请求处理工作可以在机房内部完成。偶尔会有一些业务可能会发生跨机房的服务调用,比如说数据在 A 机房的用户给数据在 B 机房的用户转账。这个时候就需要在这个机房上去做有状态的设计。 我们走向云原生时代的时候,在大的架构上面用Kubernetes为基础来设计,在单元化架构下,我们选择在每个单元里部署一个Kubernetes集群,将支持多 K8s 集群管理和管控指令下发的 Federated APIServer 做逻辑上的全局部署,其中管控元数据是存储在一个 ETCD 集群的,以保持全局数据一致,但大家知道ETCD也只能解决同城双机房的容灾,无法再应对多城市多数据中心的一致性,因此我们正在把ETCD搬到我们的OB的 KV引擎上,这样在引擎层还是保持 ETCD 的存储格式和语义,存储层就具备了三地五中心高可用能力。 虽然这种架构是适合蚂蚁的技术架构的,但在我们的技术开放给外部客户时又会遇到很多新的问题,比方说在客户的机房会有很多异构的基础设施,我们就需要以 Cloud Provider的标准来实现多云适配。 而且包括我们在内的很多金融机构,因为很多老系统并没有按照「云原生」的方式去设计,很多会对基础设施有状态依赖,比如依赖IP ,所以很难完全采用不可变基础设施的模式来支撑。有些时候,由于对业务连续性的极高要求,也很难接受原生 K8s workload 的运维模式,比如原生 deployment 做灰度或者金丝雀发布时,对应用和流量的处理都是非常简单粗暴的,这样会导致运维变更时的业务的异常和不连续。这些我们都通过扩展原生的 Deployment 成更适合金融业务要求的 CAFEDeployment,使得大规模集群发布、灰度、回滚时更加优雅,符合我们的「技术风险三板斧原则」。 ...

October 16, 2019 · 1 min · jiezi

隐私与AI兼得蚂蚁金服是如何做到的

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。 在人工智能时代,数据是AI领域的石油,如果没有数据很难将AI更好的落地。但是数据孤岛阻碍了数据的获取和利用,蚂蚁金服在三年前开始布局隐私保护机器学习,致力于在保护数据安全和隐私保护的前提下进行机器学习,我们称之为共享智能。我们之前分享了共享智能的理念和原理,今天,我们想聊聊共享智能的发展与应用趋势。 人工智能目前存在的难题是鱼与熊掌不可兼得,也就是隐私性跟可用性难以兼顾。如果你想要你的AI系统能发挥作用,就可能需要牺牲隐私。但是,在大量真实场景中,如果做不到同时兼顾隐私和可用性,会导致很多AI落地的困境。 举几个例子。 首先是贷款风控,用户想要买房去银行贷款,在银行A可能被判定为“坏人”,没有办法给他进行贷款,因为这个机构持有这个人部分数据,同样的用户到了机构B,这个机构B基于它拥有的部分数据,有可能会给予他贷款,这样矛盾的情况比比皆是,皆是因数据不通导致。 在智慧医疗领域,有些罕见病在每个医院的案例都不多,如果我们能把各个医院的案例共享起来,就能获得更多的样本数据,从而可以利用AI进行更准确的诊断,但是这个案例里面技术不是最优先的,对医院来说,它有责任保护患者的隐私,如何确保在共享案例的同时,不泄漏用户的隐私才是首先要解决的。 数据孤岛的问题会给AI落地和应用带来很多类似的难题。 现实环境中,数据在这个图中是不通的,有的地方可能有一些短暂的链接,绝大部分数据在这个图中处于断开状态。我们的目标是想打通数据孤岛,用技术的方法解决技术的问题。通过技术保护数据安全的情况下,实现数据的共享和价值的传递。 共享智能:可用不可见对于共享智能,我们希望达到的目标是数据可用不可见,在多方参与且各数据提供方与平台方互不信任的场景下,能够聚合多方信息进行机器学习,并确保各参与方的隐私不被泄漏,数据不被滥用。 为了达到这一目标,我们使用了很多业界已有的技术,比如学术圈一直在研究的差分隐私、很多大数据厂商在探索的可信执行环境、随着计算力和硬件技术的提升+密码学突破而广受重视的多方安全计算等。还有一些情况,目标数据比较少,但源领域数据较多,我们采用迁移学习的方法去做数据共享,这个也属于我们大的技术范畴。 具体来看的话,第一种方案是可信执行环境的方案,主要依赖中间的硬件级的保险箱Enclave,双方通过一些密码学的机制,把数据进行加密,加密之后只有在密码箱里面才能解密,解密以后做各式各样的计算,因为密码箱是第三方可信的密码箱,大家不信任彼此的情况下,信任密码箱即可,这样在数据隐私不会泄露的情况下,去做各式各样AI的算法。 这种方案依赖可信硬件,通过数据加密的方式,集中传送到可信的平台。对于一些机构,本身就已经上云,把所有的东西都存放在云上面,所有的技术在云上面部署,那么采用这种方式非常快速便捷,同时又能达到很好的隐私保护的效果。 第二种方案是偏软件级别的方案,我们在中间把数据做相应的处理后再进行计算。比如说像秘密分享的技术,通过把数据拆分完以后,几方通过发送随机数来完成运算,然后可以完成各式各样AI的计算和模型;还有像同态加密这样的方法,在加密后的空间里面做相应的运算来完成AI的计算,中间有一个控制模块来共同完成学习的目标。这个方式本身不涉及到硬件,是偏软件+密码学的方案,中间出去的是随机数/加密中间结果,目前业界隐私+AI结合的方向上,用这个方案相对来说比较多。 星云 Nebula:共享智能网络 共享智能需要多方参与,我们设计了星云Nebula共享智能网络架构,对于蚂蚁金服而言,希望跟合作方共同打造这样的共享智能网络。 网络中存在各式各样的计算节点,能够在某个管理平台中进行触发实现AI计算。这个共享智能网络,可以用不同的技术完成共享智能的目标,比如,构建联合营销网络,节点之间可任意组网,采用多方安全计算技术来实现联合营销,同时管理节点可以部署在任何的地方;对于某些机构而言,可能没有很强的AI能力和多方计算能力,那他们可以依赖于云这样的技术,将数据放在可信执行环境中,去参与建设这样的网络,通过这样的共享智能技术来解决AI落地最后一公里的难题。 我们整个计算节点的架构如上图,最底层跟正常环境比较相似,左边是各式各样的可信执行环境,右边是正常的CPU、GPU环境。上面会有统一的API层来屏蔽这些不同的细节。 再往上面,会有本地的计算,这个计算本身会跟通用的开源框架稍有差异,我们会把现在流行的版本改成安全的版本,比如安全的XGBoost。中间做MPC的时候,我们会提供各式各样的技术,混淆电路、OT等等这样的技术,最顶层提供一些可视化跟交互式的接口,普通的用户通过这样的调用就可以完成复杂的多方计算的操作。同时支持各种保护隐私的安全模型推断。 我们希望通过这样的架构完成共享智能技术,并且打造了可视化的界面,采用拖拽式的方式就可以快速高效完成整个AI计算的构建。 上述共享智能架构现在已经达到了较好的完备性、易用性和稳定性的目标,在很多的地方已经进行了落地。在完备性方面,我们实现了功能完备和场景完备,目前主要是支持风控和其它AI典型场景,里面的算法比较全面,涵盖了线性模型、树模型、深度学习、图神经网络等各个方向;在易用性方面,我们希望能够更好的推广这种建模技术,同时又能“屏蔽”一些底层技术(可信执行环境、多方安全计算等),降低大家学习使用的成本;在稳定性方面,我们实现了共享智能计算的集群化,并且支持远程运维。 我们已经将共享智能上线到大数据智能平台上,下面这个demo,是一个多方安全计算的AI建模展示。 http://mpvideo.qpic.cn/0a78owv2z46vcbacambaeciiaucvrvvfkof4jwlibqeqgdakb4hq.f10002.mp4?dis_k=360fe7e0bf7304571a370082c38142c9&dis_t=1571137251 前面预处理部分跟正常的AI建模看起来一样,通过拖拽式操作,把数据进行了预处理以后,送到共享智能建模中,会产生AI运算的结果。通过这种方式能够大幅度降低新技术的使用门槛,方便业务方使用。 蚂蚁金服在共享智能领域里建设了三年多,发布论文超过10篇,获得专利超过80余项,在标准立项上我们在IEEE共享智能和ITU-T MPC国际标准、CCSA共享智能行业标准以及AIOSS / AIIA共享智能联盟标准方面都在同步推进,也获得了一些创新奖项。 共享智能落地案例接下来分享三个典型落地案例。 一个是在安全风控领域,联合生态伙伴来建立安全风控网络。生态伙伴使用前面介绍的可信执行环境技术,把数据加密传输到网络中共建这个模型,打击虚假交易、团伙作案等,大幅度提升风控准确率,实现风控网络的净化。通过这样的风控网络平台,使得商家每天新增很多的交易,同时降低资损。 第二个是中和农信,我们通过数据融合大幅度提高风控性能,把原来传统的线下模式,变成线上自动过审模式,完成授信只需5分钟,8个月累计放款31.9亿,授信成功人数44万人,业务覆盖20+省区,300+县城,10000+个乡村,助力实现农村普惠金融。 第三个是与江苏银行进行的信贷联合风控,还记得我们前面的例子吗?因为数据不完整,导致风控决策错误,现在通过共享智能技术,双方可以完成共同的模型构建,通过这样的机制实现联合风控,使得效果有大幅度提升。同时在这个过程中,用户的数据和隐私得到了有效保护。 总的来说,我们想构建开放的共享智能网络,希望有更多的伙伴、机构参与进来,一起完成建设,打破数据孤岛,助力AI技术更好的落地和应用。 本文作者:缪克卢汉 阅读原文 本文为云栖社区原创内容,未经允许不得转载。

October 16, 2019 · 1 min · jiezi

蚂蚁金服自主研发的三地五中心异地多活解决方案获金融科技创新大奖

小蚂蚁说:2018年9月20日,在杭州云栖蚂蚁金服 ATEC 科技大会主论坛上,蚂蚁金服副CTO胡喜正式宣布,蚂蚁金服的金融科技正式全面开放,为行业提供完整的数字金融解决方案。包括支付宝自主研发的容灾系统在内的多项核心技术和解决方案,如金融安全、区块链等都将对合作伙伴开放。“三地五中心”即在三座城市部署五个机房,一旦其中一个或两个机房发生故障,支付宝的底层技术系统会将故障城市的流量全部切换到运行正常的机房,并且能做到数据保持一致且零丢失。12月20日,在北京举行的“2018中国金融科技年会暨金融科技及服务优秀奖颁奖典礼”正式宣布蚂蚁金服自主研发的三地五中心异地多活解决方案获“2018年度金融科技优秀解决方案创新奖”。12月20日,由《金融电子化》杂志社举办的“2018中国金融科技年会暨金融科技及服务优秀奖颁奖典礼”在北京举行。来自银行、证券和保险等行业协会、金融机构,第三方支付公司,金融科技公司,以及信息产业界的200多家单位共计300余名代表与会。会上,中国金融电子化公司总经理、《金融电子化》杂志社社长张永福宣布,蚂蚁金服自主研发的三地五中心异地多活解决方案获“2018年度金融科技优秀解决方案创新奖”。达到银行业最高容灾等级标准要求据蚂蚁金服技术专家介绍,蚂蚁金服三地五中心异地多活解决方案是通过把物理数据中心划分为多个逻辑数据中心,并基于全局运维管理实现跨越多个数据中心的资源调度。逻辑数据中心分为分区业务单元、共享单元和全局单元,其中,业务单元部署按客户维度进行拆分,以此保证核心业务可以分布在不同的单元内同时处理。当故障发生时,可以进行单元之间快速切换。据悉,蚂蚁金服三地五中心异地多活解决方案率先实现了自主研发设计实施银行业去IOE架构下异地多活容灾体系,并达到银行业最高容灾等级标准要求和业内领先的灾难恢复能力等级。另外,该方案还可以打造无限可扩展的扩容能力及更稳定、更可靠、更高效的系统保障能力。技术能力已全面开放蚂蚁金服三地五中心异地多活解决方案是基于完全自主研发的SOFA金融分布式架构及OceanBase关系数据库。在该方案中,SOFA分布式架构能够承受高并发交易,并确保资金安全;同时,在系统扩展、容灾恢复、更新发布时做到数据无损,且服务持续可用。OceanBase分布式关系数据库具备数据强一致、高可用、高性能、在线扩展、高度兼容SQL标准和主流关系数据库、低成本等特点;可在低成本的通用硬件上,进行在线水平扩展,并创造了4200万次/秒处理峰值的纪录。在今年杭州云栖ATEC大会上,蚂蚁金服副CTO胡喜现场进行断网的演练,系统显示,仅在26秒后,运行在上面的支付宝虚拟账户便恢复了正常运转。这正是三地五中心异地多活解决方案进行自动切换,保证了支付服务的不中断。在近年来的双11大促中,三地五中心异地多活解决方案也经受了实战的考验,并为用户提供了丝般顺滑的购物体验。目前,包括三地五中心异地多活解决方案、OceanBase分布式关系数据库以及SOFA金融分布式架构都已经在蚂蚁金融科技官网(tech.antfin.com)对外开放。

December 21, 2018 · 1 min · jiezi

刚刚,蚂蚁金服荣膺“中国金融大数据领军企业”称号

小蚂蚁说:2018中国软件和信息服务领域十大领军企业、人物及产业园区评选活动是业界最权威和最受关注的评选之一。12月20日,在北京举行的“2018中国软件大会”正式宣布蚂蚁金服成为“2018中国大数据金融领军企业”。蚂蚁金服运营专家吴锴领取“中国金融大数据领军企业”奖牌2018年12月20日,在北京举行的“2018中国软件大会”正式宣布,蚂蚁金服在2018中国软件和信息服务领域十大领军企业、人物及产业园区评选活动中脱颖而出,成为“2018中国大数据金融领军企业”。据悉,中国软件和信息服务领域十大领军企业、人物及产业园区评选始于2001年,已经有十七年的历史,是业界最权威和最受关注的评选之一,被誉为中国软件和信息服务领域的“奥斯卡”。蚂蚁大数据助力企业业务创新据介绍,蚂蚁金服一站式大数据应用架构属于数据智能产品体系,是经过自身业务场景验证和锤炼的大数据应用解决方案,为企业提供企业数仓、商业智能、机器学习、数据可视化、数据营销、数据风控等一站式应用服务,能够有效提升客户洞察力,助力企业业务创新。近年来,蚂蚁大数据已经与多个知名的金融机构,如银行、保险和证券等企业开展合作。贵阳银行就引进了蚂蚁金服大数据技术平台和实施服务,整合内外部数据,建设五大数据能力,推进大数据特色银行建设,支撑零售条线的精准营销和风险防控业务。在蚂蚁大数据能力的支持下,贵阳银行产品创新能力不断提升,通过不断丰富信用卡、理财投资、消费贷款等领域的产品体系,持续提升线上化产品覆盖率。针对银行、保险、基金、证券等行业的特性,蚂蚁大数据提供了行业专属的一站式解决方案,并提供个性化的服务。以网商银行为例,基于蚂蚁金服大数据解决方案,网商银行建立了一套面向业务人员的新一代大数据自助智能分析平台,实现从数据获取、数据探索分析、报表定义开发到信息发布共享的全流程管理,提成了全行业数据应用分析能力。通过与蚂蚁大数据的深度合作,多家金融企业依托多渠道、场景化提升获客规模,基于大数据分析能力,将差异化定价与特色分期产品相结合,深化零售客户差异化服务内涵,实现线上银客互动与线下商圈打造相结合,持续完善金融消费生态圈,提升零售客户粘性。蚂蚁大数据能力全面开放秉承蚂蚁金服的技术开放战略,蚂蚁金服大数据平台已经全面开放给外部的企业、商户、ISV等合作伙伴。蚂蚁大数据不仅提供全套产品平台,也提供行业级的解决方案,并辅助定制化的服务,保证方案的最终落地。蚂蚁大数据将构建开发者生态,把技术开放作为重点,开放开发集成能力,让数据洞察分析平台能够与客户的CRM系统、行为系统等进行快速的集成,同时保障权限的管控;开放可视化的组件API、SDK等接口,让合作伙伴在大数据洞察分析平台上直接开发可视化组件。蚂蚁大数据希望能够携手更多的金融行业伙伴,并提供数字化转型的解决方案,共同打造安全、美好的数字金融生态,为人们提供平等普惠的金融服务。

December 20, 2018 · 1 min · jiezi

构建信息安全堡垒,驻守互联网金融世界边防线

随着中国互联网金融市场的发展、政策试点扩大范围、央行开放征信牌照、从互联网巨头到新兴创业公司都开始布局消费金融。特别是随着移动互联网的普及和推广,移动互联网金融也逐渐成为互联网金融的主要服务模式。互联网金融蓬勃兴起给大众带来了更加便捷的金融服务。但与此同时,互联网金融伴生的安全问题快速积累、集中爆发,在一定程度上严重影响和制约了互联网金融的健康发展,安全问题成为互联网金融发展过程中无法回避的问题。一般来讲,互联网金融安全主要包括业务安全与技术安全两大范畴,关于业务安全,因涉及商业模式,监管政策,业务创新、风控机制等多方面复杂因素,不在本文阐述范围之内,而重点针对互联网金融的技术安全问题。筑建互联网金融安全防线集结号已吹响 金融行业信息化发展早、信息化程度高,现代金融服务更离不开强大的信息系统支撑,信息安全是金融业发展的前提,金融信息系统的安全更是国家金融安全的重要组成,金融行业信息系统是国家关键信息基础设施,要求在网络安全等级保护制度的基础上实行重点保护。近年来,我国密集发布了一系列金融规范和标准,信息系统安全等级保护也跨入2.0时代,特别是互联网金融已成为风险防控的重点关注领域,而等级保护评定不止有利于从信息安全角度实现金融业务保障,更是金融企业品牌、可信度的有力体现。 目前主要的互联网金融模式包括第三方支付、在线理财、P2P网贷、直销银行、互联网保险及互联网众筹等。各自都曾经发展过或即将面临各种安全威胁。以P2P行业为例,自2013年以来,P2P行业中已有上百家平台遭遇黑客攻击,甚至不乏个别P2P平台上千万资金被黑客洗劫一空的恶性事件。P2P平台的安全性受到监管部门的格外重视,为保证P2P的健康发展,2017年的8月份国家出台了《网络借贷信息中介机构业务活动管理暂行办法》,同年10月又出台了《互联网金融风险专项整治工作实施方案的通知》,规定网络借贷信息中介机构应当按照国家网络安全相关规定和国家信息安全等级保护制度的要求,开展信息系统定级备案和等级测试。再比如直销银行,虽然是用户通过互联网和移动端获取银行产品和服务的一种新型金融产物,但自诞生之日起也面临各种的安全风险,比如在推广拓客时,不法分子和黑产黑客用各类脚本软件批量注册大量无效账号,作弊,“薅羊毛”,影响正常用户体验,严重的甚至产生流量攻击,导致服务宕机。也有通过撞库、盗号、漏洞等登录银行账号,盗取资金,信息,给用户造成财产损失。鉴于各类互联网金融存在的严重技术安全风险,国家制定了各种监管政策规范行业发展,比如对网贷行业信息安全提出明确要求并作为平台合规的重要门槛之一,达不到不予备案甚至取缔。而于2017年6月1日起实施的《网络安全法》更是将现行的网络安全等级保护制度上升为法律,并在第三十一条更明确规定,“国家对公共通信和信息服务、能源、交通、水利、金融、公共服务、电子政务等重要行业和领域,以及其他一旦遭到破坏、丧失功能或者数据泄露,可能严重危害国家安全、国计民生、公共利益的关键信息基础设施,在网络安全等级保护制度的基础上,实行重点保护。”国家等级保护认证是中国最权威的信息产品安全等级资格认证,共分五级,等级越高,说明安全防护能力越强,但认证难度也更高,例如等保三级就需要在严格监督下从两大方面300多项要求进行测评。目前大多数互联网金融平台获得的以第二级认证为主,属于“指导保护级“仅适用于一般的信息系统,只有少数平台获得了三级等保认证,即“监督保护级”,适用于涉及国家安全、社会秩序和公共利益的重要信息系统,说明互联网金融全行业等保级别还较低,距离国家对非银行金融机构的最高级认证第三级还有不小差距,下一步需要继续提升。互联网金融安全风险蔓延态势及具体表现据相关机构统计数据显示,早在2014年,中国移动互联网金融呈现爆发式增长,全年交易额超过20万亿人民币。 移动支付发展迅猛,各家金融机构也伴随着移动互联网发展大潮纷纷推出了各自的金融客户端应用程序(这里主要指手机银行客户端应用程序,以下简称“手机银行APP”),由此,移动金融支付的安全问题也不断爆发:钓鱼诈骗、信息泄露、资金盗取等。而除了资金出现的问题,实际上还有另一个问题一直被大家忽视,即移动金融app的安全性。金融类APP出现的安全漏洞相比WEB平台要高出很多。有关机构对金融行业的移动 APP 安全进行评测发现,“网贷之家”中“发展指数”前100名互联网金融公司旗下的88款Android应用,从数据传输安全性、数据存储安全性、敏感数据保护水平、APP代码保护强度、密码算法与协议安全性五个维度进行评估,结果发现大量的手机金融app存在安全问题,这些安全问题可能导致用户敏感信息泄露、密码明文传输等隐患。而当前国内移动互联网金融APP信息安全存在着以下十大安全隐患:通信数据明文发送、通信数据可解密、敏感数据本地可破解、调试信息泄漏、敏感信息泄漏、密码学误用、功能泄露、可二次打包、可调试、代码可逆向等。其潜在风险占比为:高危占比23%:数据传输不安全导致盗取用户钱财损害平台利益。中危占比40%:用户敏感信息泄露,应用被重打包后加入恶意代码和广告。低危占比37%:应用崩溃,APP主要逻辑被逆向。2018年11月28日,中国消费者协会召开新闻发布会对100款App的个人信息收集与隐私政策情况进行测评的情况进行了通报。在被评测的10个类别中,以安全、可信赖等宣传语示人的金融理财在此次测评中排名垫底。根据测评结果,新闻阅读、网上购物和交易支付等类型APP为总平均分相对较高的APP类别,而金融理财类APP得分相对较低,仅为28.91分。中国信息安全在《2018年一季度热点行业APP安全报告》中对互联网金融典型移动应用场景也进行了安全检测,检测结果显示超过六成的互联网金融APP自身安全性较好,而所存在的安全隐患点基本都集中在代码保护方面。单看未采取安全防护措施的互联网金融APP检测数据发现,其数据安全的重灾区为数据库安全问题,其次是数据传输安全问题和隐私/敏感数据泄露方面。钓鱼扣费风险、恶意攻击防护风险、APP服务器被攻击风险、DoS攻击风险方面也存在类似现象,未采取安全防护措施的互联网金融APP对于DDoS攻击防护方面问题十分严重,钓鱼扣费、恶意攻击防护方面也不乐观。互联网金融APP安全隐患分布图结合以上数据分析,互联网金融APP安全风险主要包括以下9大类:以代码加密为核心的安全保障策略 数据传输安全及其衍生的安全风险成为互联网金融领域的“阿喀琉斯之踵”,而代码安全更是驻守堡垒的护城河,通过代码加密可有效提高互联网金融的信息安全。几维安全通过长期研究发现,以代码加密为核心的安全保障策略主要可分为传统代码加密和基于LLVM的代码加密方式,进一步对其技术原理和适用性的区别进行分析:若采用传统代码加密方式将面临移植性问题和兼容性问题。从加密实现原理看,传统代码加密方式针对的操作系统、芯片架构均为特定的一个小集合,较难对多端且同源的代码做一致性的保护,且与芯片架构不兼容、内存需求显著增加。而其加密过程往往需要干预正常的App运行时(Hook技术),但对于像Android这类高碎片化的平台,干预运行时意味着很难把方案做到完备;像iOS这类完全封闭的平台,干预运行时更意味着方案没法工作,目前苹果基于安全考虑不允许很多底层的操作,比如动态分配代码内存。 LLVM是模块化、可复用的编译器工具链集合,它提供了完整的API操作接口,可自定义整个编译过程。能实现在架构无关的IR级别做防护,可以适应任意芯片架构。若采用基于LLVM的代码加密方案可以函数为单位进行防护,适应低内存运行环境;并能根据不同安全需求制定初级、高级、旗舰级的防护。- 初级防护:“混淆”Obfuscator-LLVM是2013年开源的一个混淆编译器,也是国产安全编译器的鼻祖,能实现代码膨胀、块乱序等功能。通过反编译混淆之后会将代码量增大,将执行逻辑做转换。从逆向分析的角度看,代码量的增加在一定程度提高了逆向的难度。- 高级防护:块调度编译器从逆向分析的角度看,只要函数逻辑是连贯就总是可以做分析,所以切断函数逻辑是一个代码防护的方向。基于这个方向的思考可做出块调度编译器,实现原始函数的逻辑掐断,让逆向的人无法分析。将各基本的关键代码块调度成为独立的实体,静态反编译工具将无法做代码的连续性分析,这将使得逆向分析无法进行。块调度还可对函数调用加密,使常用的通过函数调用来猜测函数逻辑的破译变得不可能。- 旗舰级防护:虚拟机一直以来,在外挂、反外挂最激烈的Windows网络游戏攻防战场,虚拟机防护往往是最后一道防线,也是强度最高的一道防线,而虚拟机更是代码安全的最高堡垒。由于LLVM-IR的平台无关性,因此KiwiVM也能平台无关的实现函数级的虚拟化,而其静态代码加密方式决定了一旦成功虚拟化,配合虚拟CPU的运行时即可完整的实现原始代码的功能,不存在干预运行时的Hook操作,因此兼容性可以达到100%。应用场景及实例 以XX银行手机端APP安全加固项目为例,几维安全针对Android和ios两个平台不同特征,采用不同方案对手机APP进行安全加固。其中针对Android平台采用Java2C+代码虚拟化(KiwiVM)+设备指纹SDK+白盒密钥SDK;针对iOS平台采用代码虚拟化(KiwiVM)+设备指纹SDK+白盒密钥SDKAndroid 平台APP保护方案通过几维安全设计的独有编译技术( LLVM )把Java字节码转译为汇编指令,再对汇编指令进行代码虚拟化保护。主要采用Java2C+代码虚拟化(KiwiVM)+设备指纹SDK+白盒密钥SDK等。IOS 平台APP保护方案ios平台APP主要面对代码反编译的威胁,所以对于代码的保护是重中之重。ios平台APP直接采用几维安全的KiwiVM对源码进行虚拟化保护。结束语 信息安全是互联网金融业务开展的基本要求,更是互联网金融行业健康可持续发展的基本保证。构建信息安全堡垒,驻守互联网金融世界边防线,助力互联网金融业务开展,助力金融企业安全品质保障品牌树立,助力互联网金融发展,势在必行。

December 18, 2018 · 1 min · jiezi