文 / 中国人民银行辽宁省分行 刘波 张金阳
中国人民银行阜新市分行 刘铁男
当前金融科技迅猛发展,网上银行、金融App广泛应用,给金融客户带来快捷和方便的同时,个人和机构的资金风险也随之而来。随着ChatGPT、AIGC人工智能技术火爆登场,权威人士认为网络黑客们可能会利用ChatGPT进行网络攻击。对于金融机构而言,保障资金安全是重中之重。本文基于金融机构身份验证和授权方面存在的漏洞进行分析并提出建议。
基本情况
目前金融机构建立用户身份验证与授权机制,对用户身份信息的真实性进行验证,以及对该身份访问权限进行授权,并在身份验证和授权各个环节都采取了积极有效的技术、制度措施,用于防范来自网络黑客攻击、业务人员恶意操作、误操作等威胁金融机构资金安全的行为。从而避免金融机构业务系统内资金数据的非法使用。
经过调研,金融机构在身份验证和授权方面流程(见图),通过身份验证和授权环节确定合法用户身份、授权访问范围,确认用户得到授权后,方可允许其进入金融机构业务系统内获取操作权限。
图 金融机构在身份验证和授权方面流程图
金融机构身份验证和授权的漏洞分析
1.关键信息保护措施不到位。金融机构用户信息注册将产生海量关键信息,属于敏感数据,比如照片、视频、身份信息、电话号码等。这些关键信息在存储、应用等环节中应最大限度保护隐私安全。网络黑客、恶意人员通过窃听、钓鱼等技术手段盗取、篡改关键信息进行非法行为。
2.关键技术措施不完善。恶意人员利用自身账户信息合法地进入金融机构业务系统内,并在之后获得授权码。当合法用户通过授权请求资源访问时,恶意人员会向合法用户伪造一个成功的授权请求,并用他以前收到的授权代码替换授权代码,并将其发送给合法用户。合法用户的身份账户被绑定于恶意人员的访问指令上;同时,恶意人员的身份账户也将与合法用户绑定。可以使用CSRF攻击来控制合法用户金融机构业务系统的账户,而无需知道受害者真正的用户名和密码。
在金融机构的授权过程中,恶意人员通常会重放授权码。合法用户同意授权后,身份验证服务器将发送一个授权码进行响应。恶意人员将拦截此过程,然后手动向金融机构业务系统的重定向地址发出授权代码。这将触发客户端的授权码交换机制。金融机构业务系统错误地将恶意人员视为身份验证服务器端进行响应。
服务提供商经常忽略检查重定向地址是否被篡改,从而导致授权码泄漏。中间人攻击其具体方式通常为恶意篡改授权码的重定向地址。主要方式有三种:一是基于云服务或云存储的中间人攻击。通常情况下这些服务不会要求每次使用服务的时候都要重新登录,因为你验证后,它会在你的本地系统上保留会话令牌,如果恶意人员获取了你的会话令牌,就能访问你的账户,并盗取你的账户数据。二是基于浏览器的中间人攻击。恶意人员会诱导你下载木马(Trojan)。一旦你访问银行网站的时候,恶意软件就会向你访问的网页注入新的HTML代码,看起来和真正的网页一样。三是基于移动设备的中间人攻击。主要针对智能手机上进行的转账付款等操作。MiTMO专注攻击移动交易验证码以及其它各种类型的交易验证码,给身份验证系统带来了很大挑战。
3.安全机制不健全。一是业务系统架构存在安全漏洞。在金融机构业务系统设计时,网络结构、硬件存在缺陷或冲突,业务流程存在漏洞,选择的信息技术不够成熟、完善,存在安全隐患和出错率,从而影响业务系统运行的稳定性和可靠性,给恶意人员带来可乘之机。二是用户培训不到位。用户需要具备一定的操作技能,如果操作不熟练,就有可能产生误操作导致损失;用户的安全防范意识不强,泄露机密信息,或被犯罪分子利用短信、邮件、电话、钓鱼等方式骗取关键信息,导致损失。
防范与建议
1.关键信息实施加密机制。关键信息主要指客户端与服务器交互时输入的各类密码、密钥、用户私密信息等。按照关键信息保密性要求,关键信息只能由授权主体存取和识别,防止非授权泄露。要对敏感重要的信息进行加密,这样就可以使关键信息不易被泄露。采用商密算法对关键用户信息进行传输加密以及存储加密。在交互使用时必须进行端对端的加解密处理,防止关键信息被内部人士截取利用。
2.加固关键技术设施。关键信息的验证与过滤。假定所有输入都是可疑的,必须对所有输入中的script、iframe、HTTP请求中的Cookie中的变量、HTTP请求头部、请求体中的变量等数据进行严格检查。不要仅仅验证数据的类型,还要验证其格式、长度、范围和内容。不要仅仅在客户端做关键信息的验证与过滤,关键的过滤、验证步骤要在服务端进行。防止XSS跨站脚本及其他各类注入攻击。防止基于字典/穷举等算法的暴力破密行为。建议在外联DMZ区部署Web应用防火墙,对网络流量进行双向监控,防止在线网页篡改攻击。对于第三方接口转发而来的业务请求进行合法性检验,同时判断对方IP地址是否合法。对于非法的交易请求或者非约定IP地址转发的交易请求予以拒绝。采用双向SM2签名验证,进行二次报文验证,防止报文篡改。
严守身份验证入口。登录采用CFCA的商密密码键盘,密码设置为8~20位,必须是数字、字母混合组成。第一次使用客户端时,需要强制客户进行登录密码的修改。修改登录密码:校验身份证、老密码。重置登录密码:校验身份证、手机号;进行人脸核身认证;进行短信验证。
登录密码错误次数可以配置并进行控制。密码错误次数超过两次后,增加图形附加码进行验证,可有效防止自动尝试密码,图形验证码由服务端生成。连续错误次数超过设置的第一个阈值时,会暂时冻结账户,当天该账户将不再允许登录。一旦错误次数超过第二个阈值时,将会锁定账户,客户只能去柜面进行解锁。同一账户在同一时间只能在一台设备进行有效登录,并促使上一台在线设备进行自动离线操作并进行离线提示。客户登录后,可以显示上次登录时间及客户预留的信息,使用户能够及时发现仿冒的钓鱼网站/客户端。
建立风险控制机制。可以嵌入威胁感知sdk,进行客户端交易的威胁信息收集。对接风控、反欺诈等系统进行事后预警及事中阻断。客户端每次交易提交时,都会产生token值,服务端会对这个token值进行校验,如果存在重复的token,交易将被拒绝。相同交易提醒:在短时间内(比如1分钟),客户发起相同的转账交易,比如收款人信息相同、金额相同,则系统会弹框提示客户是否继续操作。大额交易提醒:当日交易超过限额(比如30万)后,客户如果再发起转账交易,系统会弹框提示客户是否继续操作。登录提醒:可以设置登录短信提醒或微信消息推送功能,当客户登录时,可以发送短信或微信推送给客户。异常登录预警:同一设备当日登录不同账号的个数,如果登录过多,有可能是不法分子在尝试破解;同一设备N天内登录不同账号的个数;同一账号在短时间内,在超远的不同地方登录;同一IP地址,当日登录不同账号的个数;非常用地登录。异常交易预警:同一账号针对不同交易,如话费充值、生活缴费、转账等交易次数的监控;高风险IP地址配置及交易监控;给陌生人(不在收款人列表中)转账交易的监控;非常用地交易监控。
3.强化内控管理。针对上线的每个版本,需要安全评测厂家进行安全渗透测试及代码审计。在版本发布之前建议由第三方检测机构测试所有已知的威胁。对发布的版本,必须经过第三方专业机构进行混淆加固,防止逆向破解,如梆梆加固、爱加密加固等。建立三道防线:第一道防线是指信息科技管理,需要全员参与,主要职责落在技术部门;第二道防线是风险管理,即从风险的角度如何防范,职责落在风控部门;第三道防线是审计监督,即内审和外审,职责落在审计部门。三道防线相互作用,形成立体防护网。
(此文刊发于《金融电子化》2024年12月上半月刊)
新媒体中心
主任 / 邝源
编辑 / 姚亮宇 傅甜甜 张珺 邰思琪