证券行业网络信息安全初步探索

文章正文
发布时间:2024-11-18 04:42

近年来,证券APP的隐私与数据安全越来越受到关注。国家监管层面推出了各类隐私与数据安全规范及法律法规,行业监管层面也对金融行业APP展开了全面的检测与整改。这过程中,不少证券公司被点名通报,证券APP的隐私与数据安全防护任重而道远。

招商证券从证券APP面临的实际安全问题出发,全面梳理APP系统链路上存在的安全风险,并研究制定管控方案。结合证券行业特点及监管要求,兼顾安全保障、权益落实、体验优化,在不影响业务开展与用户体验的前提下切实有效提高APP的安全性、合规性,为行业提供实践参考。

一、证券公司移动应用程序的基本情况

证券公司移动应用程序(以下简称证券APP)是证券业务数字化、网络化的重要平台,是承载证券零售业务的主要渠道之一。它为中国股民打开了财富管理的新大门,股民可以通过证券APP随时随地完成理财操作,让财富管理、财富增值真正融入到了日常生活中。

证券APP作为证券公司和投资者交流的主要渠道,代表着证券公司的品牌。几乎每家证券公司都有自己的移动应用程序,加上一些互联网券商和一些金融服务供应商,中国证券移动应用程序总数超过一百个。

证券移动应用程序主要包含开户、行情、交易、理财、资讯几个功能模块。开户模块为客户提供开户服务;行情模块为客户提供证券行情服务,涉及自选股管理以及市场行情查看等服务;交易模块支持普通交易、融资融券交易、期权交易,具体涉及新股申购、新债申购、买入卖出、撤单、资金持仓等功能;理财模块以满足客户理财需求为导向,提供理财持仓、理财自选、稳健收益、公募基金、私募基金、招商理财等服务;资讯模块以推荐内容与资讯为主,以智能化的推荐方式为客户提供所需的资讯内容。

证券APP作为典型的金融类应用,具有其独特性,如何做好个人信息保护是一个十分具有专业性、挑战性的问题。首先,证券属于强监管行业,APP的使用需要符合监管留痕要求,这就不免要比普通APP采集更多的用户信息,用户权益落实上会有更多方面需要注意。其次,证券APP核心业务具有较高时效性、专业性要求,在信息揭示、权限申请等个人信息保护功能的设计上有更高要求。

随着证券APP的广泛应用,伴随而来的安全风险也在不断增加。

近年来,APP客户隐私信息泄露事件频出,作为客户服务的主要渠道,证券APP的隐私与数据安全越来越受到关注。国家监管层面推出了各类隐私与数据安全规范及法律法规,行业监管层面也对金融行业APP展开了全面的检测与整改。这过程中,不少证券公司被点名通报,证券APP的隐私与数据安全防护任重而道远。

此外,冒名登录、异常交易、洗钱、适当性等业务安全问题同样也正在威胁着券商安全合规经营底线。随着大数据、人工智能技术的发展,还出现了撞库、乌龙指等新型安全风险。无论是中国证券业协会提出的三年提升计划,还是各家券商的金融科技发展规划,业务安全都被提到了新的高度。

招商证券高度重视APP应用中的个人信息保护问题,从2019年起不断探索APP个人信息保护的各项工作。针对APP个人信息保护这样一个庞大的跨专业、跨领域系统工程,专门成立了由业务、技术、合规相关部门领导和骨干组成的跨部门专项工作组,不断优化APP相关功能及文件。针对行业普遍面临的痛点、难点,专项工作组反复研讨、深入调研,根据法律法规、监管规定,结合公司实际管理需要,探索形成以内部梳理优化为主,协调外部合作为补充的总体落实思路,并逐步探索形成一套将制度先行、系统驱动、体验提升相结合的APP个人信息保护应用实践标准,力求在最大化保护投资者合法权益的基础上,提升客户对招商证券APP的使用体验。

二、证券公司移动应用程序安全防范的意见建议

招商证券从证券APP面临的实际安全问题出发,全面梳理APP系统链路上存在的安全风险,并研究制定管控方案。建立一套证券APP智能安全风控体系,该体系将结合证券行业特点及监管要求,兼顾安全保障、权益落实、体验优化,在不影响业务开展与用户体验的前提下切实有效提高APP的安全性、合规性,为行业提供实践参考。

(一)制度建设

合规,是金融行业开展经营活动的底线。招证方案以合法合规为前提,在各大安全机构的标准检测方案基础上,从证券期货行业监管要求角度出发,检查并补充个人隐私数据安全相关规定要求。主要包括:

1. 数据全生命周期安全,包括数据采集、数据存储、数据展示、数据传输、数据处理、数据销毁。

2. 数据分类分级管理,根据不同安全等级的数据,采取不同级别的保护措施。

3. 数据使用需满足最小化原则,包括最小化采集范围、最小化采集数量、最小化采集频度、最小化数据处理权限。

4. 明确数据采集的渠道及外部数据源,并对外部数据源的合法性进行确认。

5. 明确数据存储时效性管理规范,明确数据分享、存储、使用和删除的有效期、有效期到期时对数据的处理流程、过期存储数据的安全管理要求。

6. 明确过期存储数据的安全保护机制,对超出有效期的存储数据应具备再次获取数据控制者授权的能力。

7. 组织制定数据保护计划并督促落实。

8. 组织开展数据安全风险评估,督促整改安全隐患。

9. 受理并处理用户投诉和举报。

10. 使用第三方服务时,必须按照流程更新隐私政策,明确第三方服务收集个人信息的范围和使用方式。

我们在完善以上规章制度的同时,加强与第三方安全检测机构合作,在新版本上线前,对版本进行例行检测,及时排查可能发生的合规隐患。

(二)移动端安全

近年来,随着证券行业数字化转型加速,证券APP的安全问题日益受到监管部门的重视。为了提升证券APP的技术安全水平,各大券商普遍加大了安全领域的投入力度,采用了更加先进的安全手段,加强证券APP安全保障。个人投资者信息保护的执行力度不断加强,也促使行业在个人信息保护越来越完善。总体来说,证券App移动端安全呈现出政策监管加强、技术安全提升、隐私保护加强以及行业实践多样化的特点。然而,仍需要各经营机构继续加大投入和努力,以提升证券App的整体安全水平和用户体验。

针对行业普遍存在的问题,招商证券在解决问题的同时,进行了自己的探索,将实践成果进行了总结,希望能够给行业一些参考,共同完善行业安全体系的建设。

1. 隐私政策

目前行业内仍有不少APP的隐私政策的更新与APP版本绑定,缺少在线实时更新能力,内容更新存在滞后性,一旦发生监管要求限期整改就会出现极大风险。此外,目前的隐私政策用户点击同意后大多数APP也并没有在后台留痕,这是因为隐私政策是用户未提供个人信息时签署的,此时用户尚未登录,无法识别用户身份并记录行为。这为后续审计带来困难。

对此,招商证券APP进行了如下改进探索:

(1)改进隐私弹窗形式,支持隐私政策动态更新。

(2)支持配置弹窗策略,隐私政策更新时,支持以适当频度推送给客户签署,防止弹窗过于频繁影响客户体验。

(3)以互联网账号体系为基础进行签署留痕,实现为未登录交易的用户在登录后自动关联签署记录。

2. 设备权限申请

目前APP通过系统向用户申请信息访问权限时,行业内的普遍做法是由系统弹出一个授权弹框让用户选择,弹框上的说明文字是不能定制的,导致经常出现提示内容与使用场景对应不上,用户无法理解。

大部分APP为了解决此问题,采用前序弹框的方式进行说明:在系统弹框出现之前,先弹一个框解释即将出现的弹框,用户点击确认后再弹出系统授权弹框。此方式体验十分不理想,且还是会有用户无法理解第二个框的文字。

对此,招商证券APP进行了如下改进探索:

(1)取消所有不明确的前置说明弹框,避免反复打扰用户。

(2)在对应场景的适当位置以高对比度显示获取信息的说明文字,当系统弹框出现时,用户可以同时看到该说明文字。

3. 设备权限管理

用户在赋予APP某种信息的获取权限后,依然需要一个功能菜单查看、管理这些权限,用户有权随时收回授权。目前市面上的APP,普遍存在以下问题:

(1)权限管理界面没有明确说明各种权限的具体用法。

(2)直接在权限管理页面打开/关闭权限,实际只是从程序上屏蔽功能使用,未真正实现系统层面的权限回收。

针对上述问题,招商证券APP进行了如下改进探索:

(1)设立更加容易理解的权限管理功能,各项权限下方简要说明使用说明。

(2)用户点击对应项目后,可直接打开/关闭对应权限。

4. 敏感信息授权

按照《个人信息保护法》第二十九条规定:

“处理敏感个人信息应当取得个人的单独同意;法律、行政法规规定处理敏感个人信息应当取得书面同意的,从其规定。”

目前,业内APP对于敏感数据单独授权普遍缺失。对于普通敏感信息,招商证券APP已使用弹窗、复选框等形式实现获得用户单独同意。针对需要取得书面同意的情形需要进一步落实的情况,招商证券经过反复研讨,确定如下进措施:

(1)梳理敏感个人信息的处理场景和法律行政法规规定的需要取得书面同意的情形;

(2)起草/修改敏感个人信息处理的单独同意文本和其他相关书面同意文本;

(3)按照要求采用在线协议签署等形式为客户提供授权途径。

例如,用户的人脸信息属于特别敏感的个人信息,目前各行业对其使用有严格的限制,需要APP在每次调用相关功能时都要向客户申请权限。证券APP在各类业务办理功能中也会大量使用人脸识别认证功能,会出现大量的弹框授权,打断业务办理流程,影响用户体验。

针对此问题,招商证券APP进行了如下改进探索:

在合规允许的情况下适度平衡隐私保护与用户体验,将隐私条款、信息使用说明等文档融入到业务场景中。

5. 敏感数据保护

按照《证券期货业移动互联网应用程序安全规范》规定,APP应提供以下鉴别数据保护功能:

“a) 不应未授权查阅或修改;b) 对于资金类交易、客户信息修改等关键业务宜通过短信等多媒体方式对用户进行提醒;c) 身份认证绑定对象为用户身份信息,不局限移动终端的设备单一信息。”

其中,对于用户关键信息数据的保护,行业内大多数APP做的还不完善。对此,招商证券APP进行了如下改进探索:

(1)梳理业务办理模块涉及交易、客户身份等关键信息类型;

(2)办理关键信息查询、更新业务时,使用手机验证码、人脸识别、智能双录等方式校验用户身份;

(3)按用户身份维度记录用户常用设备列表,识别异常操作行为,动态增加验证步骤。

6. 炒股经验匹配

根据用户的炒股经验不同,需要给予不同的界面引导。对于无炒股经验的用户,需要做好投教服务,向用户说明后面各项服务当中其拥有的权益及各种必备的证券知识;对于有炒股经验的用户,可以突出展示APP特色功能,并提供更为便捷的开户、登录操作入口,方便其快速操作各项功能。

当用户首次安装APP并打开后,由于此时用户尚未登录,也未授权APP获取其信息,给用户经验匹配造成了困难。

针对上述问题,业内还没有成熟的解决方案。对此,招商证券APP进行了如下改进探索:

(1)用户首次打开APP时,为用户显示经验选择引导页,根据用户的不同选择进入不同的“新手页面”、“老手页面”。

(2)根据目前弹窗引导治理要求,此页面也属于强引导,需提供“跳过”按钮,在用户点击跳过的情况下,默认以新手经验配置进入。

7. 未成年人保护

根据未成年人保护法相关要求,用户需要年满14周岁才可以独立操作证券APP相关功能,否则需要在家长监护下方可使用。APP需要在用户操作任何证券交易功能之前确认用户年龄,此功能在业内APP中普遍缺失。

结合投保基金公司发布的《证券公司客户交易终端信息管理技术规范》中对手机号留痕的相关规定,用户在登录交易之前需要注册其手机号,用于交易留痕,因此可以在此处设置卡点。为此,招商证券APP进行了如下改进探索:

(1)在用户首次登录前,进入手机号注册页面,在用户点击注册时,询问用户年龄,如未满14周岁再次确认是否在家长监护下使用。

(2)只有用户选择年满14周岁,或者获得监护人授权才可继续完成注册,并进行后续登录、交易等操作。

8. 互联网账号

根据《关于进一步规范金融营销宣传行为的通知》规定:

“以电子信息方式发送金融营销信息的,应当明确发送者的真实身份和联系方式,并向接收者提供拒绝继续接收的方式。”

在向用户提供营销服务信息之前,业内APP普遍的做法是在开户、登录等环节设置授权提示或选择框,告知发送者信息并让用户自主选择是否接收信息。此方法是基于已开立交易账号的实名用户,因APP存在大量尚未开立交易账号的匿名用户,无法向其征询并记录是否同意接收金融营销信息的意见,该部分客户一直都无法享受到APP上丰富内容和功能的提醒类服务。

需建立增加以注册手机号等非交易账号为主体的互联网账号体系,在一键注册等环节征询其对接收金融营销信息的意见并提供设置项。APP可面向同意接收金融营销的注册用户,发送服务推送或短信,以完善APP资讯和功能对客户的服务覆盖度。

9. 客户服务

证券APP业务繁多、功能复杂,用户往往会在庞杂的菜单体系中迷失方向,除了提供强大的搜索指引能力,传统的在线客服、顾问及热线电话还是不可缺少的。不同的服务有不同的应用场景,也有不同的成本,如何结合使用场景因地制宜地提供对应的服务,对于证券APP尤为重要。

目前业内APP普遍存在智能客服包打天下的问题,不论用户遇到基础问题、业务问题还是严重的投诉问题,一律先和机器人聊天,再让AI慢慢引导向对应的人工服务,浪费用户的宝贵时间。

针对此问题,结合证券业务场景,招商证券APP进行了如下改进探索:

(1)在首页或各种业务办理页面,提供智能客服按钮入口,程序根据场景直接转入不同的问答场景,如需转人工也可以精准带入上下文。

(2)在用户账户及资产页面,提供投顾、财富顾问入口。此时用户已经登录,一般会咨询业务问题,可以从此入口快速进入一对一专业咨询服务。

(3)在APP设置关于页面,提供热线电话入口。到此页面的用户一般是遇到了难以解决的问题,想查看公司联系方式,直接提供拨打电话按钮可节省大量时间。

10. 数据输入安全

根据《移动金融客户端应用软件安全管理规范》规定:

“客户端应用软件应提供客户输入银行卡支付密码和网络支付交易密码的即时防护功能,客户端应提供以下安全控制措施,或其他经攻击测试无法获取明文的安全防护措施。 a) 采取替换输入框原文;b) 逐字符加密、字符加密;c) 防范键盘窃听;d) 采用自定义软键盘。”

对于证券APP,需要对如下场景进行对应改进:

(1)账户验证场景,密码输入采用自定义安全键盘,替换显示,内容加密。

(2)证券交易场景,股票名称/代码输入采用自定义安全键盘。

招商证券APP采用自定义键盘对数据输入进行安全防护,并在此基础上,对密码输入场景进行了改进:

(1)关键页面做防止截屏、录屏处理。

(2)关键页面重入时,清空敏感信息。

11. 数据传输安全

按照《证券期货业移动互联网应用程序安全规范》规定,移动互联网应用程序在与服务器通信时,应满足以下要求:

“a) 应采用安全的通信协议和加密算法,敏感数据传输时应对服务端证书的合法性进行校验;b) 应使用通讯协议的安全版本,取消对存在安全隐患版本协议的支持;c) 应使用国家密码主管部门认可的安全加密算法和密钥长度;d) 与服务器应进行双向认证,可通过密钥、证书等密码技术手段实现服务器与应用程序之间的安全认证。”

结合国家信创工作《证券期货业密码应用工作规划(2015-2020年)》、《关于加强证券期货领域国产密码应用推进工作的通知》相关精神,APP通信安全规范增加如下要求:

APP通信链路认证系统中,对涉及用户敏感数据的业务功能请求链路增加符合国家《信息系统密码应用基本要求》(GM/T 0054-2018)密码行业标准的SSL双向通信认证,并通过权威检测机构的密码安全标准检测。

目前,行业内许多应用程序并没有正确验证服务器证书,使他们容易受到中间人攻击。这种类型的攻击使黑客能够捕获,查看和修改在应用程序和服务器之间发送和接收的流量,给应用带来极大的安全隐患。

涉及支付、修改密码、验证等敏感操作,肯定需要向服务器接口传递参数,作为验证和保证会话安全,如果不加密相关接口参数,攻击者可使用抓包工具截获到接口参数信息,使伪造参数变得相当容易,从而进行接口攻击。这些攻击一旦成功,可能导致用户信息泄漏、用户财产被盗取、程序服务器接口暴露进而被攻击崩溃等等。

招商证券APP一直以来使用安全加密协议验证服务端及客户端证书,防止中间人攻击,并于2023年7月份完成协议全面升级,停止使用低版本协议,对传输过程中的敏感数据,进一步利用应用层加密来保护用户数据。

12. 数据存储安全

为了尽量保护用户信息安全,在移动设备上尽量不要存储敏感数据:

(1)数据尽量仅仅用于传输和显示,不要持久化存储,特别注意防止敏感数据被写入磁盘中。

(2)数据尽量仅仅存储于内存中,在应用程序关闭时清除。

如果在设备上存储敏感数据是应用程序所必需,则应向数据添加额外的经过验证的第三方加密。通过添加另一层加密,可以更好地防止用户数据泄露。一般移动操作系统的通用加密库提供了许多标准加密功能,如果使用得当,可以提供相当安全的加密实现。

加密用户数据时,旨在使用随机生成的主密钥对数据进行加密。如果攻击者从设备中提取主密钥,也能轻易的恢复被加密的数据。由于Apple的数据保护API和钥匙串中的漏洞数量以及大多数Android手机上缺少设备加密,因此不建议将主密钥或密码存储在设备上。

移动操作系统一般都有系统备份功能,开启备份功能可以备份包括设备文件系统上的应用程序私有目录中包含的所有子目录和文件。因此,为了避免敏感数据被备份,我们应该在应用程序中显式地申明禁止备份。

13. 数据交互安全

移动操作系统可以申明组件是否为私有或者公有。公有组件可以被任何应用程序的任何组件所访问,容易造成安全问题。攻击者可以对公有组件恶意攻击,导致用户敏感信息被泄露,或者使应用程序受到绕过认证、恶意代码注入等攻击。

WebView有一些系统漏洞。如果处理不当,可能会出现远程执行漏洞,或者远程获取手机应用沙盒内所有本地文件系统内容,包括浏览器的Cookies、用户的配置文件、文档等敏感信息。

使用反射允许程序获取类的私有属性和方法也可能导致私密数据泄露。

针对上述数据交互风险,我们建议:

(1)如果组件不需要与其它系统共享数据或交互,应显示地声明该组件为私有组件。如果组件需要与其它APP共享数据或交互,应对组件进行权限控制和参数校验。

(2)在界面切换时,检测下一界面是否为APP内的界面。如不是APP内的界面,则提示并退出。

(3)公有组件需要进行最小化访问路径申明和最小权限申明。

(4)尽量不使用反射方法,如果一定要用,则对参数进行过滤。

14. 剪切板、键盘数据泄露

剪切板在后台可以暂存数据,如果把隐私数据(例如密码),存放在剪切板中是不安全的,因为任何的应用程序都可以访问剪切板中的数据,且可以进行任意修改。如果用户复制的是明文敏感数据,那么其它应用程序通过访问剪贴板就可以获取到该明文敏感数据了,甚至可以通过监听剪切板中的内容来获取信息。

针对上述情况,我们建议:

(1)尽量不要使用剪切板,或者关键数据禁止使用剪切板。

(2)对任何敏感信息禁用自动更正功能。

(3)考虑使用自定义键盘,并提供针对恶意软件的额外保护。

(4)关键信息需要防复制处理。

15. 代码残留信息泄露

客户端安装包中可能存在残留一些关键信息(例如URL地址、账号、密码、第三方服务密钥)。不法分子可以利用这些关键信息,来攻击生产服务器,或者攻击安全薄弱的测试服务器以获取服务器安全漏洞或者逻辑漏洞,或者非法接入第三方服务推送未授权信息内容。这些攻击可能会造成我们的资产损失,或者引发我们生产服务的业务安全隐患。

针对上述情况,我们建议:

(1)删除客户端中与业务无关的URL地址/帐号/密码/第三方服务接口密钥。

(2)客户端业务相关的URL/帐号/密码,尽量不要以硬编码的方式写在被测系统客户端中,应该以动态的方式生成所需要请求的URL/帐号/密码。

16. 弱加密风险

现代计算机拥有超强的计算能力,通过暴力就能轻易的破解弱加密算法。

证券APP属于安全要求较高的应用,应该禁止使用弱加密算法,建议使用安全性更高的加密算法。

17. 缓存和日志

应用程序产生的日志文件可能暴露用户的敏感信息,如崩溃报告,请求返回报告等。这些都是不必要展示给用户的,这些报告可能包含一些本地数据库文件路径、服务器路径、引用外部的动态链接库、敏感的堆栈信息等。如果这些报告被攻击者获取,攻击者可以挖掘出漏洞,针对特定用户或这程序的弱点进行攻击,进而导致用户被盗号、服务器被攻击。

开发人员应考虑调试日志在生产环境中可能出现的风险。一般来说,我们建议在生产中禁用调试日志。

另外,不要通过系统日志公开敏感信息,崩溃报告不要写入用户日志,或者对日志内容进行加密。

18. 终端环境检测

按照《证券期货业移动互联网应用程序安全规范》规定,移动终端环境应支持以下安全检查:

“a) 移动互联网应用程序应在每次运行前对运行环境安全性进行检测,提示发现的风险,检测的范围可包括:系统是否被未经授权获取管理员权限、程序运行环境是否可信(如:是否运行在模拟器或虚拟机中)等,并能向后台系统反馈设备信息等;b) 移动互联网应用程序启动及运行过程,应采取相应的进程保护措施,防止非法程序获取该进程的访问权限;c) 应采取有效措施监测并向后台系统反馈移动终端环境安全状况并在必要时停止应用运行。”

对于应用环境的安全检测,业内APP普遍缺失。招商证券APP在应用启动时,对设备运行环境进行了检测,一旦发现设备环境异常,将会以弹窗的形式,提醒用户当前的设备环境。用户需确认后,才能进行下一步操作。

19. 防劫持

一些恶意软件会监听某个APP的启动动作。当用户启动APP时,如果恶意软件监听到APP的启动操作,就立即弹出一个相似的页面,覆盖在APP上。用户误以为所操作的页面是目标APP的页面。实际上用户所有的操作都是在恶意软件上进行的,用户对此一般很难察觉。如果被劫持的页面是密码输入页面,用户的密码就这样被恶意软件盗取了。

因为这种攻击是用户层面的,从代码层面上无法解决,我们只能在我们的APP不在与用户交互时,给用户一定的提示

在iOS系统上,我们还做了进一步优化:APP不在前台时,我们对整个APP页面做了模糊处理。

20. 网页黑白名单管控

随着业务体量的大幅上升,很多券商APP已经从工具型APP向平台型APP转变。作为一个平台,APP经常需要通过WebView接入一些外部资讯服务。我们无法预判第三方服务是否存在一些隐患。

为了能够应急可能存在的风险情况,招商证券APP对网页内容进行了黑白名单管控。黑白名单通过热更新动态下发。一旦发现有风险隐患的网页链接,我们可以及时将该链接列入黑名单并下发,使得该网页不能在APP中显示。

21. 安全升级

按照《证券期货业移动互联网应用程序安全规范》规定,移动互联网应用程序应支持软件的安全更新,及时提升安全性。升级与更新应满足以下要求:

“a) 在更新时应进行真实性和完整性校验,防范移动互联网应用程序被篡改或替换;b) 至少采取一种安全机制,保证升级的时效性,例如自动升级,更新通知等手段;c) 当因重大安全问题需要升级时,在应用市场允许的情况下能够强制用户升级后方可使用。”

真实性和完整性一般通过加固防篡改实现,而针对提示升级方面的要求,可通过以下措施改进:

(1)建设APP升级提示服务,可按照版本、地区、系统、用户特征等维度向用户精准投放升级提示,用户通过点击提示框的升级按钮一键升级。

(2)支持多种提示策略,可以通过配置实现交易时间外提示、全天提示、用户黑白名单提示、建议升级提示、强制升级提示等。

(3)针对应用内更新,需要保证安装包没有被恶意替换。我们在提示升级的时候,需要检验安装包的完整性,校验通过才进行安装。

22. 安装包加固

打包发布是开发的最后一个环节,安装包是整个项目的源码和资源的结合体。对于懂点反编译原理的人可以轻松反编译出安装包的源码资源,并且可以修改资源代码、重新打包编译,轻轻松松就窃取开发者的成果。更严重的是会引发严重的安全隐患。

为了尽量减小安全隐患,安装包需要做加固处理。

常见的加固方式包括:

(1)代码混淆:其本质是把工程中原来的有具体含义的类名、变量名、方法名,修改成让人看不懂的名字。常见的代码混淆工具proguard。该加密方式只是对工程提供了最小的保护,并不是说不能逆向破解,只是增加了破解难度。

(2)dex加壳:通过对dex文件加密拼接加壳,可以有效的对工程代码进行保护。apk工程在安装成功后,app启动时会有dex解密的过程,然后重新加载解密后的dex文件。

图2: dex加壳

招商证券APP除了使用上述加固方式外,还与第三方安全供应商合作,对APP做了全面系统的安全加固,有效的增加APP破解难度,大大提高了APP的安全性。

23. 安全升级

积极响应监管要求,按时完成APP备案、安全认证。

招商证券积极响应监管要求,于2023年完成了APP备案,并通过了证券期货业APP安全认证。

(三)云端安全

随着金融科技的快速发展,金融行业已经进入了一个全新的转型发展阶段。互联网、大数据、云计算等技术的快速普及,为金融行业带来了前所未有的机遇和挑战。同时,随之而来的是安全威胁与挑战的增加。证券公司作为金融行业的一员,也在数字化转型的浪潮下,越来越多地将业务系统迁移到云端,以提高效率和降低成本。然而,这也使得证券公司的云端服务成为黑产攻击的目标之一。因此,证券公司需要加强云端安全来保护客户资产安全和个人信息安全。

招商证券在智能云端安全的道路上不断探索,在提供更优质的客户体验的同时,也在为客户的安全体验保驾护航,不断升级自身的安全防护手段。

风控系统包括风控策略和决策系统。风控策略模块对规则及策略进行管理。决策系统引用风控策略,对符合预设风险规则的业务流水进行事中的识别,并向业务系统输出对流水的相应策略,完成风险控制。命中风控规则的业务流水将产生风险预警,流转到风险核查处置。

1. 设备指纹

设备指纹是指对移动设备、PC设备、Web设备等电子设备进行识别和区分的技术。与传统的用户身份验证不同,设备指纹是通过对设备硬件和软件固有的、较难篡改的特征进行收集和分析,生成唯一的设备标识符来实现设备的识别和验证。

设备指纹可以通过多种方式进行收集和生成,一方面是主动在客户端收集与设备相关的信息和特征;另一方面是被动地在终端设备与服务器通信的过程中,从数据报文提取出该终端设备信息,结合主动与被动特征,为一台设备设立终身唯一设备指纹。

设备指纹技术的应用解决了风控体系的一个最基本的问题——你是谁。在证券交易中,了解客户的身份和行为轨迹是非常关键的,因为这涉及到客户的资产安全和交易合规性。设备指纹技术通过收集和分析设备的硬件和软件特征,生成唯一的设备标识符,从而实现对客户设备的识别和验证。这样,就可以更加准确地判断客户的身份和行为,从而进行有效的风险控制。设备指纹可以在反欺诈、识别恶意账户、保护客户隐私等方面展现价值,通过设备指纹技术,证券公司可以记录客户设备的历史行为,从而判断是否存在异常行为。此外,设备指纹也是广告营销、用户画像分析的基本前提,例如用户的兴趣标签、人群属性都是基于设备的刻画,再如新客口径的计算、净DAU的计算等都与设备指纹有关。招商证券与第三方供应商合作,完成了设备指纹体系建设,为云端安全提供了强有力的技术保障。

需要注意的是,设备指纹技术虽然可以提高安全性和精准度,但也存在一定的隐私风险。因此,在应用设备指纹技术时,证券公司需要遵守相关法律法规,保护客户隐私,合规合法使用设备指纹技术。同时,证券公司还需要考虑设备指纹技术的可靠性和误判率等问题,确保不会对客户造成不必要的影响和损失。

2. 可信设备认证

可信设备认证机制是一种有效的账户安全保护措施,可以帮助客户识别并防止非法登录。通过该机制,客户可以将自己的可信设备添加到账户列表中,当使用这些设备登录时,无需再进行身份验证,简化了登录流程同时也提高了账户的安全性。而对于非可信设备,需要进行额外的身份验证,以确认登录的设备是客户本人使用的。

我们在登录流程中增加可信设备安全验证机制,即在客户使用新设备(非可信设备)登录时,在验证原有账号及密码的基础上增加账户身份验证(预留手机号/可信设备扫码/人脸识别等形式),验证通过后方可登录成功,同时将该设备加入可信设备。客户可以对可信设备进行管理,包含可信设备机制开关及可信设备列表的信息查看、删除等操作。

可信设备认证方式包括:

(1)预留手机短信验证。

(2)已授信设备扫码验证。

(3)人脸识别认证。

(4)资料上传审核机制

3. 风控引擎

随着大数据技术和图计算技术的广泛应用,智能风控体系正在全面替代传统风控,而风控引擎作为智能风控的核心,在云端安全领域起到举足轻重的作用。

风控引擎以设备指纹为基础,综合用户的设备环境、网络环境,基于客户行为轨迹构建可信行为识别体系,结合“风险策略+可信策略”双策略驱动的多层级风险决策体系,更好地平衡分级验证,在提高客户使用安全保障等级的同时,为客户提供更优的服务体验。

4. 指纹认证

作为风控系统的一个环节,我们设计了基于TEE和指纹认证的用户鉴权方法。

具体业务规则为:

(1)一台设备在同一个时刻只支持一个账号设置指纹认证。如果APP切换到第二个账号设置指纹认证,则之前在该设备设置的指纹认证记录将自动失效。

(2)支持一个账号在多台设备上都设置指纹认证。客户可以在新机器上设置指纹认证但不影响旧机器的使用。

(3)开通指纹认证时需要增加额外的验证措施。

(4)请求应上传必要的风控因子:是否越狱、是否模拟器、地理位置信息等。

图3: 指纹认证总体框架

结合基于ECC非对称密钥的数字签名技术及TEE可信硬件环境可大幅增强身份鉴权场景的安全性。

首先,ECC非对称算法的单位安全强度相对较高,它的破译或求解难度基本上是指数级的,黑客很难进行暴力破解,可以用较少的计算能力提供比RSA加密算法更高的安全强度,有效地解决了“提高安全强度必须增加密钥长度”的工程实现问题。

其次,传统身份鉴权技术方案一般依赖于在App应用层硬编码或下载缓存数字证书,很容易被黑客窃取替换而攻破,借助于TEE技术,用于数字签名的公私钥对是在设备中的TEE硬件环境中生成的,与操作系统隔离,且无法被外部复制(App一旦被卸载,公私钥将失效),App端进行签名时需要用户通过系统指纹或面容识别验证授权才能执行,可将公钥保存在服务端用于验签,从而形成前后端双重校验的身份鉴权机制。

5. 招商证券云端安全的探索

为了增强互联网客户端登录安全性,防止不法分子恶意尝试登录他人的账户,保护客户的账号和资产安全,招商证券针对部分业务场景增加了风险决策环节。以招商证券APP登录场景为例,考虑到可信设备认证机制可能有小概率随着客户端环境变化因素导致可信设备识别漂移,造成一小部分客户在使用同一台设备登录时会重复验证的情况,经过运营人员和技术人员的多次研究探讨以及多轮策略验证,通过登录设备和登录账户的安全关系对可信设备机制进行优化,构建新型的类可信设备安全机制,在现有能力基础上达到增强客户端登录安全性的目的,同时也给客户带来更佳的用户体验。

三、结语

本文力求全面梳理券商APP常见的安全问题,并以招商证券APP为案例,介绍了针对这些安全问题的解决思路,从客户端、云端两个方面入手,结合行业特点与监管要求,打造全方位防护的智能安全风控体系,为行业安全提供实践参考。但是,也需要清醒地认识到,随着APP应用的快速发展,证券公司移动应用程序安全风险防范将会是一项需要长期持续完善的工作,行业监管研究也需要立足长远,结合行业特性,不断进行有价值、有意义地探索与实践,为整个行业的平稳健康发展指明路径和方向。

四、课题组信息

课题研究专家组成员:

招商证券-申健

招商证券-罗建飞

招商证券-韩冰

招商证券-张晓娇

招商证券-孙成

招商证券-陆遥

招商证券-白兆宁

招商证券-李幼名

招商证券-黄小斌