本文提出了针对证券行业移动安全风险的解决方案,并进一步介绍了移动威胁感知的方案设计,以及该系统为运维工作带来的益处。
行业背景:当前社会正在快速进入数字化、智能化时代,我们看到,线上线下正在深入融合,互联网成为像水、电和空气一样的基础设施。各种新技术,新应用层出不穷,带来的安全问题也层出不穷。
面临的问题:通过分析安全风险对移动交易业务的影响程度,这里提出证券行业的六大高危移动安全风险点:APP被调试、代码注入等攻击行为,运行环境不安全,APP崩溃无法获知原因或得到有效收集和处理,登录撞库攻击,交易服务端接口原理被泄露,APP被集成到其他非授权APP中。
解决方案:随着移动应用安全技术的不断发展,以及大数据、人工智能、机器学习等技术的综合运用,移动应用安全市场未来将在复杂应用的加固保护方案和移动应用的威胁态势感知两个方向迅猛发展,而威胁感知技术的运用必然为移动安全提供有力的支撑。
证券行业移动安全风险解决方案
1.APP被调试,代码注入等攻击行为。防代码注入保护思路:通过加固手段,防止对加固后APK进行运行时内存代码注入攻击。当进行内存代码注入时,APK需自动退出自身运行。
防代码注入技术原理:加固使用inotify接口对内存文件进行监控,当发现有进程直接对内存进行操作事件时程序退出;同时加固对进程map中注入的动态库来源进行判断,通过hook关键系统调用,截获注入进程数据写入和传递。
2.运行环境不安全。清场保护原理:(1)可以通过将黑白名单放入云端的方式,来解决本地黑白名单反复操作,以及减少工作量,不用频繁的修改,程序运行后需进行云端黑白名单的同步对比,以保障黑白名单的及时性、准确性、灵活性。黑白名单样本内容主要包括以下4类,现有的各类工具(调试器、加速器、模拟器、修改器)、病毒库、恶意行为库、隐藏API库。(2)病毒类清场可以依靠第三方安全厂商提供的病毒库来作为样本进行病毒代码的匹配。
3.APP崩溃问题无法得到有效的收集和处理。APP崩溃系统组成:崩溃系统需包括客户端的信息搜集引擎和服务端的崩溃信息管理后台。(1)信息搜集引擎,分为安卓和IOS二种,实现在客户端发生崩溃时,自动搜集相关信息(包括机型、系统类型、版本、时间等)并上传至服务端平台。(2)崩溃信息管理后台:提供一个管理后台,供APP开发人员进行查看操作。管理后台可以为APP开人员展示应用崩溃数据,帮助开发人员进一步研究崩溃原因,并进行改进。
4.登录撞库攻击。撞库攻击保护原理:(1)分析模型建立。需根据企业自身APP应用特点,建立一套独有的威胁分析模型,该分析模型必须符合APP自身特点,区别自动化攻击与正常操作,同时需要在一定时间段内,不断的去完善该模型来应对不同的威胁和风险。(2)关键数据埋点收集。根据分析模型中需要收集的数据类型,在APP内部进行预埋点,同时需保证数据收集的及时性,以便于后台进行判断和处理。(3)策略下发。因为分析模型的建立具有变更性,分析模型会随着业务的变更与攻击手段的更新而变化,所以数据埋点收集以及分析策略需要支持下发至终端设备,以便于支持不断变更的业务及应对新型攻击手段。
5.服务端接口原理被泄露。查询接口泄露保护原理:(1)查询接口泄露主要表现在接口被随意滥用,恶意应用通过查询接口,发送请求至服务器端,导致会有数据泄露风险。而通过APP内部特定文件,通过哈希值来进行校验,可以保证所有发送的请求来源是正版APP中发送的请求,可有效避免数据泄露风险。(2)哈希值的校验,需建立在自有算法的基础上,生成一个新的校验值,并且算法需做相关防反编译及数据传输保护,以保证校验值不被泄露。(3)需对相关算法进行定期更新,以保证校验值的有效性。
6.证券APP被集成到其他非授权APP中。非授权调用保护原理:APP被其他APP(主应用)调用一般有两种方式。
一种是采用动态加载的方式,将待加载APK反编译,获取APP启动和调用逻辑后,将处理过的待加载APK放在主应用APK的资源文件中,用户在主应用中即可无感知启动待加载应用。此类风险的预防只需要对APP做安全加固即可有效防止,黑客要实现动态加载必须先破壳,才可分析APP相关逻辑。
另一种方式是通过在A工程中的activity点击某按钮启动B工程中的actvity,此种方法依赖于Android的Intent组件实现。此方式是Android系统所允许的调用方式。如果一定要避免对此类行为对APP造成的影响,需要采用清场保护技术,将恶意/非授权应用加入到清场黑名单即可。
移动威胁感知的方案设计
1.数据定义威胁。传统安全行业中,威胁的定义来自于已有防护体系的知识库以及人工的判断分析。分析的重点也只是针对于当前面临的攻击行为,对真实业务面临的其他多个维度的威胁并不关注,所以常常导致安全脱离业务,威胁感知变成了攻防分析工具(见图1)。
图1 如何定义威胁
所以应从数据角度出发,构建了三大数据采集体系,全方位采集更广,更细,更新的数据。
2.主要威胁说明。恶意威胁行为和恶意环境识别情况分别见表1、表2。
APP崩溃信息收集:移动应用因为性能、适配等问题导致使用过程中出现响应迟缓、内存或CPU消耗增加、甚至是崩溃的情况,严重影响用户体验,导致用户流失。威胁态势感知系统应支持应用崩溃统计分析,使企业自身了解应用的性能情况、应用崩溃原因,从而进行应用性能优化。
基于移动应用的防自动化攻击:自动化攻击场景下,设备需要被Root或者设备为模拟设备,设备中需要安装xposed框架以便修改系统配置,业务交易等达到超高频操作。通过移动威胁态势感知系统,实现设备Root监测、模拟器监测、xposed框架监测、业务节点操作频率监测等。
移动应用接口保护:证券行业的APP大多数由外部开发商开发,不排除个别开发商在其他项目中非授权使用APP接口,进行行情/资讯的查询。
APP非授权被调用:APP被其他APP(主应用)调用一般有两种方式:一种是动态加载的方式,是通过安卓Intent组件实现。另一种方式是通过在A工程中的activity点击某按钮启动B工程中的actvity,此种方法依赖于Android的Intent组件实现。
3.威胁数据体系。我们将威胁数据来源分为三大数据源体系:自构体系指企业内部自构的数据采集体系,如APP中的自埋点数据,历史数据以及各种业务产生的日志信息;赋能体系指平台为客户提供的数据采集体系,包括感知SDK和安全大数据平台提供的数据服务;派生体系指第三发提供的数据采集体系,包括客户处集成的第三方SDK的数据采集,客户处第三方服务平台的数据导入以及从合作伙伴处获取的相关数据。
4.数据应用能力。数据应用能力划分具体如图2所示。
图2 数据应用能力划分
数据采集能力,移动威胁态势感知系统主要的数据来源包括企业自构体系、数据赋能体系与第三方派生体系。
数据挖掘能力,采集后的数据进入数据挖掘阶段,系统采用了机器学习方法,通过对数据进行分词,关键信息提取得到关键词数据,系统将关键词信息与系统内置标签库进行匹配并得出匹配结果,匹配结果进行数据分析后识别正确则进入样本模型库并提供给上层做分析展示。
数据应用能力,系统通过大量的机器学习建立了海量的样本模型,形成基于企业业务模式下的行为画像与内容画像。
数据分析能力,独立的数据分析能力无法对真实的业务威胁进行关联与闭环,数据决策的意义在于将分析结果与策略进行智能关联,当威胁事件发生时及时下发决策,推动业务系统的策略更新。
数据展示能力,数据展示是系统对数据能力的直观表达,系统通过dashboard展示所有数据能力的综合态势,通过分类数据分析进入到每种数据能力中进行深度分析展示,了解威胁产生的本质原因。
建立移动态势感知系统为运维带来的好处
通过建立移动威胁态势感知系统,证券企业可以支持运维人员及安全人员等查询精准的数据详情,展示事件全过程。运维人员及安全人员等可根据数据详情内容进行威胁原因分析、定位威胁源。
(1)启动、运行、切换等全过程的客户端威胁事件监控。(2)可持续自适应的终端环境安全检测。(3)可视化埋点与多维数据统计。(4)实时守护进程与场景定制化策略。
同时,建立移动威胁态势感知系统,可有效提高证券APP的安全水平,为开发团队在威胁预测、版本升级、风险项目解决等多方面提供了数据化的支撑,能有效帮助安全人员、运维人员及开发人员等第一时间了解到自身APP的威胁程度,从而第一时间找到解决方案,所以建立移动安全态势感知体系势在必行。
作者:光大证券股份有限公司信息技术总部 晏强 刘嵩
声明:本文来自金融电子化,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。