百年金融集团摩根大通(JPMorgen Chase)是全球最大金融机构之一,每秒处理数万笔交易、每日交易金额超过10兆美元。这么庞大的交易量,他们如何知道每一笔交易是不是欺诈?Karthik Devarapalli是摩根大通首席软件工程师,他和同事Jimit Raithatha在去年12月一场会议中,披露摩根大通支付服务团队如何设计云计算金融欺诈即时侦测平台,来快速判断每笔交易的欺诈风险。

金融欺诈越趋严峻,摩根大通用6大原则自建AI/ML欺诈侦测平台

Devarapalli首先指出,随着科技发展,金融欺诈越来越严重。美国财务专业人士协会(AFP)调查显示,光是2023年一年,就有80%的金融机构遭遇支付欺诈,比起2022年增加非常多。

摩根大通这个老牌大型金融企业,应对金融欺诈也有不少经验。他们将自己的应对策略和技术,包装成服务,在摩根大通支付服务团队旗下提供“信任与安全”解决方案,里面有用来验证账户、业务和文件的验证服务,还有账户风险评估服务、支付控制中心服务,以及AI/ML驱动的即时欺诈侦测平台。

这个即时欺诈侦测平台,正是Devarapalli讨论的重点。该平台靠内部规则、机器学习模型评分、异常侦测和例外清单来判断每笔支付的欺诈风险,但光有这些还不够,要能在摩根大通全球据点即时侦测,还要满足6大需求:

其中第5点的脱机分析很重要,因为这样才能主动发现新欺诈趋势。Devarapalli点出,就算是已知的欺诈行为,从业人员也能通过脱机分析来调查、找出预防对策。

接着,摩根大通根据这6大需求,创建欺诈侦测平台。他们先画了张平台组件图(如下图),按照需求列出不同组件,比如将支付数据送进平台的请求截取组件、请求优先排序组件(图左),来进行数据验证或清理。

接着纳入嵌入矢量和信号(Embeddings & signals)组件、厂商数据扩展组件(Vendor enrichment)。这个厂商数据扩展组件也很重要,因为要侦测欺诈交易,不只依赖规则,还需要其他补充数据来补强。而摩根大通的厂商数据扩展组件,就包含丰富的合作厂商数据,以及摩根大通自己的银行参考数据,来强化侦测能力。

其他组件还有特征存储(Feature Store),专门用来转换数据、计算聚合数据。Devarapalli解释,这里的特征分为两种,一是历史特征,比如用户的长期交易概况(如上个月的交易总量、金额、时间、地点等),另一种是即时特征,也就是直到前几分钟、甚至几秒钟的使用行为。

再来是决策服务(Decision service),也就是以规则来侦测欺诈,另外还有推论服务(Inference service),以机器学习模型来计算欺诈风险分数。此外还有个界面层,系统可以API来调用模型或管理模块。

最后则是执行程序(Action handler),能根据前述的分析结果和规则,执行相对应的处置。

Devarapalli说,正因为摩根大通将任务拆分成多个组件,所以可依需求快速扩展。“最重要的是能处理高吞吐量,而且在几毫秒内处理。”这是摩根大通即时处理每秒上万笔交易的先决条件。

即时欺诈侦测平台如何运行

有了组件组成,接下来就是平台架构(如下图)。首先,当摩根大通支付处理系统(图左上)接收支付交易时,会发送请求给欺诈侦测平台,来判断这笔交易是不是欺诈。

接着,请求送到侦测引擎。这个引擎包含一系列侦测欺诈的微服务,也有专门处理请求的网关微服务,能用来接受请求、验证数据,必要时还会清理数据,是请求必经的第一个微服务。

在侦测引擎根据规则处理请求前,还有个检索数据的步骤,也就是调用API来搜索数据集,像是厂商扩展数据、特征,或是判断欺诈的规则等等。之后,平台会再调用API来进行规则式判断和模型评分,综合评估这笔支付是不是欺诈,最后由执行程序进行相对应的处置。通常,这个欺诈侦测平台可以终止任何高风险交易。

这个侦测引擎所使用的数据,都存储在不同数据库,比如他们将规则的Metadata存储在Amazon Aurora,将扩展数据、特征数据和例外清单等放在DynamoDB,至于交易数据则都存储在Amazon S3中。

Devarapalli还点出一个很重要的规则验证UI(图左下),有了它,摩根大通可以即时更新或添加规则,不必等待几个小时甚至好几天。

即时欺诈侦测平台如何又快又省钱

“欺诈侦测平台每秒接收3、400个请求,每天要处理上千万个请求!”Raithatha指出,要处理的请求如此大量,每往平台加一层(如网络层),就会让处理时间多个几毫秒。为避免这个状况,摩根大通用了些优化方法,来减少平台的IT层数和延迟时间。

首先是使用AWS负载均衡控制器。Raithatha说明,他们用Amazon EKS来管理欺诈侦测平台,通常,在EKS实例中,会有应用程序负载均衡器和在EKS集群执行的服务,这两者间还有个反向代理层,来将负载均衡器的流量分配到EKS Pod。不过,摩根大通选用开源的AWS负载均衡控制器,可直接跳过反向代理层,直接将EKS Pod连到特定的负载均衡器,省下几毫秒。

再来,摩根大通也用VPC端点服务来访问云计算资源。在一次跨区域测试中,他们用VPC端点来访问DynamoDB数据库资源,发现跨区域查询性能提高了86%。另一个优化方法则是使用DynamoDB数据表,来作为大量数据寻找(lookup)使用。

不只这3种加速方法,摩根大通还有套成本优化方法,来确保欺诈侦测平台又快又省钱(如下图)。在切入主题前,Raithatha先强调:“成本优化是打造平台第一天就要做的事,你不能建好一个平台,再回头去降低成本。”尤其,当平台处理高流量业务,要再降低成本是一件很困难的事。也因此,摩根大通在进行每个设计决策前,都会预留带宽给成本分析。

第一个省钱方法是随需使用,也就是说,开发者可根据需求架设环境,但这个环境不会24小时运行。所以,摩根大通每晚固定时间将LAMBDA函数和工作流程送入AWS账号,然后关闭所有EKS环境,包含所有使用EC2执行实例的工作。隔天,这些环境不会自动激活,而是由需要的开发者手动打开。

Raithatha以性能环境为例,团队需要在这个环境中进行负载测试,但这个测试只会执行几天,之后几周便闲置了。所以,每天晚上关闭所有环境可以减少资源浪费。

第二个省钱方法是将成本视为非功能性需求(NFR),摩根大通在每次的系统设计讨论中,都会纳入成本优化的讨论。

第三个方法是降低使用率不高的资源。Raithatha指出,摩根大通设置了可观察性指标和警示功能,来查看服务器和数据库的CPU、内存使用率趋势。如果有执行实例未充分使用,团队就会减少规模或数据库的容量。

最后一个方法是设置省钱冠军,这是摩根大通从先前科技年会中学习到的方法,也就是鼓励不断提出新方法来降低成本的个人或团队,来打造更透明的可观察性指标,更好地监测资源使用。