一、案例概述
随着移动互联网的快速发展和智能手机的普及,移动金融客户端的应用管理已经进入“大运营”时代。在这个时代,移动金融客户端的生命周期不仅仅是开发、发布和维护,更涉及到全面的运营管理,以实现合规管理可持续化,实现客户体验最优化,实现运营价值最大化。
(一)大运营架构
民生银行移动金融客户端大运营架构整体分为技术和安全两个层面。在技术架构方面,重点加强运行环境风险监控、性能监控以及可用性监控,确保应用程序稳定运行、提供高质量用户体验;在安全架构方面,通过安全基座实现能力预置,并创新性提出了以终端设备TEE可信执行环境为信任根,终端威胁感知服务为执行点的新型安全架构,建立自下而上的安全风险控制策略。
民生银行移动金融客户端采用Hybrid技术架构,结合了原生应用和Web应用的优势,通过定制浏览器内核作为WebView的底层引擎,解决Android系统原生自带的系统内核组件本身的局限性,包含碎片化问题、功能缺失、稳定性不可控、漏洞修复无法及时覆盖等问题,实现跨平台开发的同时保持高性能和丰富的功能。
民生银行安全架构分为两层,在TEE层主要实现TEE基础TA的构建以及TEE可信服务的封装,基础TA提供了原子化的能力,如加密、标识、采集、指纹人脸等。TEE可信服务层根据业务需求和风控需求形成原子化能力的组合,向终端威胁感知提供可信数据源,或向App提供可信安全服务。在REE层主要实现了端点威胁感知服务,该服务通过使用TEE层的可信数据以及采集的操作系统数据,采用分类、聚类等算法从海量数据中提取关键特征和风险点,并通过服务端安全风控大脑的设备风险模型,对设备进行风险评分及设备画像,实现对移动端风险的实时监测、分析溯源、响应控制、威胁情报生产与输出、风险处置等全链路闭环管理,构建移动端侧主动安全防御体系。
(二)实施路线
民生银行针对移动金融客户端管理构建了一套全链路的应用运行及安全运营平台,将运行监控、应用运营和安全运营进行碎片化整合,并将监测和处置锚点嵌入客户端,实现移动应用全链路的动态运营。具体在以下几个方面做出了创新突破:
1.内核级运行适应性能力
为解决浏览器内核的不稳定性,通过自研方式制定Webview内核解决方案,使用完成度较高的高版本的QUIC协议可以充分用上QUIC的特性能力,可以让业务充分发挥QUIC协议优势。采用新的Chromium引擎基线版本,在V8、渲染优化、网络库上都开启了特性优化。
2.页面级性能监测能力
通过在页面置入性能监控工具,实时监测App客户端各项性能指标,计算可能最优值,建立一套根据不同硬件型号计算各手机的性能阈值的算法,并将性能问题前置到开发阶段,通过制度和技术规范指引提升开发人员的性能意识。
3.动态域名切换容灾能力
在监测App客户端功能可用性、网络可用性、系统稳定性的同时,创新性的对DNS解析域名过程进行监控,建立了一套动态域名切换容灾机制。
4.纵深应用级安全运营能力
基于动态的监管环境以及复杂的外部攻击环境,民生银行充分分析身份认证、敏感信息保护、终端风险识别、安全合规应用等方面的核心需求。针对人脸识别AI攻击、非法刷机、终端环境篡改等风险事件,制定以“可信根”为数字身份基础,以动态风险防控为目标的纵深运营体系。
在“可信根”数字身份建设方面,通过结合密码技术、数字证书技术和生物识别技术,形成了民生银行手机U宝和TEE可信设备两款产品,其中手机U宝产品使用到TEE可信执行环境的计算能力,客户的数字证书可以存储在该区域内,在手机上可以实现数字签名功能,实现“手机即令牌”。而TEE可信设备使用到TEE可信执行环境稳定、安全的存储特性,客户的随机化设备标识会被加密存储在该区域内,支持民生银行各类App的调用,实现客户设备合法性判断。在动态风险防控方面,通过结合TEE和REE数据采集能力,采用分类、聚类等算法从海量数据中提取关键特征和风险点,并通过服务端安全风控大脑的设备风险模型,对设备进行风险评分及设备画像,实现对移动端风险的实时监测、分析溯源、响应控制、威胁情报生产与输出、风险处置等全链路闭环管理,构建移动端侧主动安全防御体系。
(三)落地成果
民生移动客户端通过定制版本Webview内核,实现对于HTML、CSS、JS有更多的属性支持,能够适配最新的运行环境,兼容不同的品牌、型号、屏幕尺寸等,客户端整体打开网页速度相比于系统内核可提升20%,WebGL适配度达95%以上,同时具备更高的页面渲染性能,有效提升客户使用体验。另外,大幅降低Web的Crash概率至0.01%-0.06%范围,独立进程的渲染机制保证了App核心进程的安全性,保障Web加载异常时不影响App的正常使用。根据动态调整的性能监控阈值,开发人员能够快速定位不同设备、业务场景下的可突破性能阈值极限,极大提升了性能优化效率。此外,通过域名切换机制,弥补了DNS解析过程中出现错误的处理空白,在无感知的情况下极大的提升了用户体验。
TEE实例化的两款产品已覆盖民生银行全量移动金融客户端以及近40个线上场景,在转账、支付、敏感信息修改等高风险业务场景应用,适用于数字签名、信息加密、敏感信息存储等基础安全服务,全面提升移动金融交易的安全性和便捷性。REE层的端点威胁感知平台实现了终端统一设备指纹、设备风险分级、用户画像及用户行为分析、设备风险实时处置等服务下沉,实现跨终端、跨应用、跨生态的千万级终端的毫秒级实时决策及处置,进一步完善了金融业务风控体系,在关键业务操作环节提供决策支撑,保障了移动端侧应用的安全稳定运营。
二、痛点难点问题和解决方案
(一)技术难点及解决方案
技术难点1:浏览器内核的不稳定性。目前金融业务场景运行在Web环境中,碎片化品牌、机型、各手机厂商的深度定制操作系统等都影响着业务稳定性,可能造成不好的用户体验甚至产生阻塞。
解决方案:民生手机银行Android客户端重新定制了基于Chromium内核定制的民生WebView内核。支持适配各厂商、型号、操作系统等,在不同环境下保持一致性,避免未知风险,并有效降低崩溃率和白屏率,同时能够增加了内核预加载、页面预加载等体验提升功能。
由于定制的内核完全区别于内置在手机内的系统内核,采用了WiFi动态下载、断点续传、空闲时安装的三步走方案,在独立内核完全安装之前,沿用系统内核的方式执行各业务场景,确保不同内核的平稳过度。同时,全新的WebView内核大幅度降低了Web页面崩溃率,提升了常规页面渲染速度和JS执行性能。
技术难点2:客户端运行性能问题。在移动应用开发阶段,对于同级别的竞品应用的性能表现,由于缺乏数据支持和运行时检测,不容易被前置发现。针对这一痛点问题,防劣化工具的开发是一个较好的解决方案。
解决方案:防劣化工具是一个自主研发的原生SDK,在运行期间可将App冷启动时间、页面渲染时间、CPU、内存、FPS、网络流量、页面层级等性能指标以悬浮窗形式实时显示在App上,能够将性能问题前置化,在开发阶段暴露性能问题,控制提测质量,防止性能劣化,同时实现性能阈值标准化,采用算法区分不同设备的性能指标和性能阈值,在开发阶段提示开发人员做出针对性优化。防劣化工具具备极低的集成成本、无侵入性、实时监控、数据全面、界面直观等特点,能够将性能优化前置到客户端开发阶段。
技术难点3:DNS相关故障。在App访问网络时,DNS解析默认使用运营商的Local DNS服务,存在DNS服务器故障、DNS劫持、DNS调度不准确(缓存、转发、NAT)等问题,严重影响客户体验。
解决方案:域名容灾SDK执行流程主要分为四步。第一,客户端启动时,读取缓存的应急开关配置及域名配置信息,请求应用后台获取域名配置信息、请求CDN配置文件获取应急开关配置信息,并全量更新缓存。第二,针对主域名解析故障问题,自动切换备份域名策略。第三,针对主、备份域名解析均故障时,采用切换HttpDNS策略。第四,策略对于App当次启动周期有效,重新启动App,再次切回主域名。通用性强、侵入性极小,对于SSL证书校验等均无影响。
(二)业务痛点及解决方案
业务痛点1:各类交易场景在进行安全身份认证时,使用蓝牙UKEY等物理安全介质,携带麻烦,易丢失。
解决方案:手机银行上线了TEE手机U宝功能,支持华为、荣耀、苹果、小米、OPPO、VIVO等主流品牌手机,替代蓝牙UKEY等实体物理介质,且可使用蓝牙UEKY开通手机U宝,免临柜开通,大幅提升移动客户端的操作体验。
业务痛点2:业务在进行产品迭代时,缺少相关的客户反馈数据来对产品优化的方向、决策的制定来提供支撑。
解决方案:手机银行构建了全链路A/B Test体系,并将A/B Test推广应用到多个业务场景,全面提升渠道感知能力。
业务痛点3:移动金融客户端的原生及第三方设备指纹繁多,设备标识与业务强绑定,难以做到跨应用业务风险联防联控。
解决方案:构建设备指纹Mapping数据地图,民生银行以自研的TEE+REE动态设备指纹为核心,通过关联数据将第三方设备指纹进行映射,一方面第三方应用无需改造即可满足移动金融客户端使用需求,另一方面实现跨应用、跨平台、跨生态的设备标识。目前设备指纹Mapping已作为主数据为全行十余款移动应用服务,装机量超千万台,实现100%全量装机。
(三)安全威胁及解决方案
安全威胁:在传统的业务风控决策引擎中,数据多依赖于后端,在风控模型的开发过程中缺失了来自移动端侧的安全风险数据,无法有效识别来自端侧的安全威胁。与此同时黑产通过伪造设备、猫池等绕过业务风控,利用越权、身份认证绕过等业务漏洞发起攻击等情况愈演愈烈,不断冲击现有的风控体系。移动智能终端既是互联网消费贷款业务的入口和承载者,又是攻防两端对抗博弈的主战场,只有将终端安全及终端环境风险纳入消贷欺诈风险监控体系,才能更加完备、精准的刻画及拦截欺诈行为。
解决方案:端点威胁感知平台通过构建数据采集探针、信创集群大数据计算引擎、安全规则分析模型三层技术架构,自下而上的为移动端安全防护提供数据和技术支撑。在客户端植入探针采集端侧风险,从系统文件、配置信息、底层驱动、应用程序、设备存储和运行进程等多个层面提取特征。在服务端搭建信创大数据分析引擎,采用分类、聚类等算法从海量数据中提取关键特征和风险点。而后不断完善服务端安全风控大脑的设备风险模型,根据发现的设备潜在安全威胁对设备运行情况进行风险评分及设备画像,从而实现对移动端风险的实时监测、分析溯源、响应控制、威胁情报生产与输出、风险处置等全链路闭环管理,构建移动端侧主动安全防御体系。
所提供的设备唯一标识以及设备潜在风险识别能力,作为消费贷款“客群、流量、设备、行为、交易、关系”六边形欺诈风险对抗体系中的重要一环,起着不可替代的作用。在关键业务操作环节提供决策支撑,针对性的防范定制ROM、屏幕共享、猫池设备、篡改伪造等多种设备端风险,完善了消费贷款欺诈风险识别的数据维度和决策依据,提高了线上消费贷款申请、签约、支用等环节的风险把控和拦截能力,进一步加强了欺诈行为的识别精度和防控力度。
三、效果与亮点
(一)技术领先性
通过对Blink内核深度定制优化、开发态全面性能监控、动态切换域名等创新技术应用,以对业务功能代码低侵入性集成方式,有效提升移动客户端的兼容性、以及性能、稳定性。
(二)应用创新性
防劣化工具填补了性能检测工具只能看性能数据,无法根据阈值算法计算出不同设备上的各个性能指标的阈值的空白,在开发阶段可以前置暴露性能问题并进行相应的提示和持久化存储。
域名容灾SDK当客户端主域名解析异常及备份域名解析异常时,在客户无感知的情况下进行容灾处理,以最大限度的提升用户体验。
(三)安全领先性
民生银行通过建设纵深应用安全运营体系,实现端到端安全运营。基于开发和安全基座实现应用业务代码和安全能力解耦,将应用安全运营能力做为“DNA”预置入每款移动金融客户端中,实现安全赋能的“业务无关性”。在业务跨平台、跨终端贯通运营方面,通过实例化TEE终端可信执行环境的相关安全特性,实现在多端、多平台的支持。基于成熟的安全协议策略管理机制,对终端硬件安全能力、密钥鉴别方式、密码算法等实现了兼容,以统一协议作为贯穿线上金融交易场景,使手机环境能够成为安全可靠的标识和介质,通过“可信根”为跨渠道业务贯通和整合提供可靠的技术基础,使数字签名技术能够在不同场景下使用。
(四)社会经济效益
社会经济效益主要体现在三个方面:其一,对于银行自身而言,充分应用终端安全能力,能够降低我们使用蓝牙KEY的成本,提升对于客户设备的管控能力,有效控制非法、黑产/灰产设备的侵入;其二,探索终端安全本地的安全能力,强化终端可信执行环境的应用能力,形成有效的“安全基座”,实现终端风险管控,加强终端金融服务能力。其三,安全认证工具的本地化部署,可以在动账操作、敏感信息修改等办理高风险业务时,为客户带来便捷的操作感,更好的客户体验。
(五)可推广性
民生手机银行的技术创新与安全创新在金融行业反欺诈、提升金融服务能力等多个方面产生了积极效果,具备可推广可借鉴的社会效益。通过移动端风险的主动感知和主动处置,有效识别移动端风险,防范黑产攻击,覆盖到客户线上开户、登录、转账、贷款等全业务场景。同时,采用分场景、分层级的信息采集标准,遵循非必要不采集的最小化原则,并采集加密脱敏等技术手段避免用户个人信息的泄露,减少业务安全风控对用户个人隐私的侵犯,从而持续的保障客户金融信息安全和账户安全。
长
按
关
注
解锁更多精彩内容