1、XX银行外发银行外发SDK安全解决方案安全解决方案目录CONTENTS01XX银行的业务机遇与安全挑战银行的业务机遇与安全挑战02XX银行外发银行外发SDK安全解决方案安全解决方案03外发外发SDK安全防护最佳实践安全防护最佳实践XX银行的业务机遇与安全挑战银行的业务机遇与安全挑战01金融变革来袭金融变革来袭一一 XX银行银行银行逐渐开始走出去,实现跨界融合,实现银行与银行之间、银行与非银金融机构甚至与跨界企业间的数据共享与场景 融合。以外发。以外发SDK为技术,数据共享为本质,平台合作为模式。为技术,数据共享为本质,平台合作为模式。持有牌照资格的银行持有牌照资格的银行提供账户管理、支付、融资
2、等模块化业务商业商业生态系生态系D科技公司等外部机构通过SDK,接 口,能够K速连接银行,获取相应数据,开发创新应用XX银行平台银行平台基于开S式SDK,打造模块化的第三方开S银行帮助银行利用科技公司针对场景的创新能力,获D导流,同时帮助科技公司利用银行的数据及能力,为D户提供切合需求的金融服务U 5中中K层层后后5金融变革来袭金融变革来袭一一 XX银行银行XX银行的出发点实际上就是场景金融,D过金融业务加业务场景实现高效的XX银行,以外发SDK的形式将自身的金 融业务落到具体的场景中去,在别人的环境中实现。以外发以外发S K为技术,数为技术,数D共享为共享为K质,平台合为质,平台合为P式。式
3、。用用A账账A、授权、转账、信用卡、积分、二三类账、授权、转账、信用卡、积分、二三类账A开开A、小额贷等、小额贷等租房、医疗、出行、租房、医疗、出行、I游、生活服务(水电、煤气)、企业服务游、生活服务(水电、煤气)、企业服务业务数业务数D业务逻辑业务逻辑核心算核心算S密钥密钥后台后台 API 接口接口S KS K用用A数数DS KS K平台平台方法1:破解修改SDK,永远校验成功方法2:2 法1 成SDK,永远校验成功授权授权APP-授权授权APP某某SDK正常流程SDK安全安全 案例案例1-授权使用授权使用SDK安全安全 案例案例2 环境伪造及协议破解环境伪造及协议破解1人脸识别及拍照蓝牙身
4、份读卡器SDK服务器或APP正常获取逻辑协议破解后直接发送正常获取逻辑协议破解后直接发送,虚开黑卡SDK安全安全 案例案例 3 通过模拟器攻击通过模拟器攻击SA入攻击伪造入攻击伪造SDK上上-B程程M扣APP设备设备A+应应DA D户的手机户的手机S t e p 诱A1 载安装Step 2上2设备指纹IMEI/IMSI等计费5键3息Step 3回 2 设 备 指 纹/B模拟环境构造成用户的 I机 环 境Step 4 B8 送 申 e 安 4 6 证 短 3拦截拦截A短信,并将短信短信,并将短信+容发送给容发送给BStep 6通知B8生计费Step 5 A8送申e安 46证 短 3Step 7
5、B8送E联网订购Step 8 S常的鉴P订购完 成计费黑客的服7器设备设备B+运行真运行真3K费费 应应DB的模拟环境的模拟环境计费1 平台外发外发SDK需要考虑的需要考虑的D干风险干风险SDKS成到成到APK中本中本K上是寄宿关上是寄宿关A,针对移动应用针对移动应用SDK的安全的安全P护护 更应该更应该从从SDK自身安全角度出自身安全角度出发发SDKS成阶段成阶段SDK开发阶段开发阶段SDK运行阶段运行阶段 运行过程安全运行过程安全如何保证应K运行D安全,核心数?不被窃取、盗K?SDK代码安全代码安全SOK代码是否可能被外部反编译破解分析?授权调用安全授权调用安全如何只让授权的合作方APP调
6、K,未经授权的不能集成SOK调K?开发过程安全开发过程安全鉴权及安全A制流P设计是否安全?开发过P是否会引入业务逻辑S陷?02 XX银行外发银行外发SDK安全解决方案安全解决方案外发外发SDK安全防护思安全防护思路路安全检测安全检测开发阶段及移动应用SDK的每个大版本生产上线前,应进行SDK自动化测评以及渗 透测试达到加强安全性和代码,壮性的目的安全保护安全保护发S前对SDK进行安全加固,防止针对 SDK 的攻击和破解,导致的核心算法、P 钥、后台 PI 接口、业务逻辑等重要内容泄露和利用安全管理安全管理发S时针对需要集成调用的SDK进行登记管理并进行授权绑定,A时通过接入管 理,能I有效的管
7、理接入商户运行监控运行监控运行时对SDK进行实时监控,可检测风险和K胁,在风险发生时或发生前做到预 警和阻断,风险发生后进行溯源 安全响应安全响应利用SDKK胁态势感知检测、SDK渠道监测的结果,分析并D应各种安全K胁,并 利用业务控制、技术对抗及法律方法给予D应处理安全检测安全保护安全管理运行监控安全响应SDK安全开发设计及安全检安全开发设计及安全检测测尽可能完整地模K黑客使用的漏洞发现技S和攻击手段,D目标移动应用SDK安全性作深入的探测,发现业务逻业务逻 辑漏辑漏D,代码脆弱性代码脆弱性。自动化测评以及渗透测试是评估SDK安全和SDK与宿主APK交互安全的一种评估P法,能够 直观的体现S
8、DK面临的安全问题。因此在移动应用SDK的每个大版本生产上线前,根据设A的安全基线安全基线和安全开发安全开发 流程流程,进行自动化测评自动化测评以及渗透测试渗透测试达到加强安全性的目的。是否可能泄露用户数据是否可能泄露用户数据 是否本身有漏是否本身有漏D 是否满足应用市场上架是否满足应用市场上架S范范 攻击分析边攻击分析边K最小化评估最小化评估 执行逻辑完整性分析及检执行逻辑完整性分析及检测测金融外发SDK-安全基线SDK安全保护安全保护对外输出的SDK可能涵盖 登录、支付、统计、监测、地图、广告、通讯、推送、验证等众多业务;通过SDK安全 加固,主动防护,主动防御,防止针对 SDK 的攻击和
9、破解,导致的核心算法、密钥、后台核心算法、密钥、后台 API 接口、业务逻辑接口、业务逻辑 等重要内容泄露和利用,大幅减少攻击界面 Java反编译保护 SO库文件反编译保护 SO库文件运行时保护 SO文件防盗用保护 内存防调试保护 SDK数据文件保护 执行序列分析 控制流扁平化 不透明谓词 代码多样性 函数级防调试 完整性保护 源对源混淆 执行序列分析AndroidiOSSDK安全接入管理安全接入管理针对需要集D调S的SDK进行登记管理,登记AS包名、签名信息,在SDK的调S过程中验a宿主APP的包名、签名 信息,防止被非授权防止被非授权APP调用调用p 同时通过K入管理,能够P效的管理K入商
10、户,对千安/威胁较大,AS安/防 护 措 施很+,S户投诉较多等有重大安全隐患的有重大安全隐患的APP进行接入封禁进行接入封禁,能够P效的保kK入安/pSDK申请申请手动 上传apk申请授权绑定 安/加固SDK管理管理审批授权SDK安全监控安全监控移动应用SDK需要在不可控环境中运行,所以产生了第三方对SDK的D法调用,恶意攻击法调用,恶意攻击SDK,通,通ASDK窃取敏感信窃取敏感信 息息,扰乱正常的业务交易等风险问题。另一方面需要主动对SDK进行监控,做到主动防御,在风险发生时或发生前做到预预 警和阻断、溯源警和阻断、溯源。因此使用移动威胁感知技术实现对移动应用SDK使用状态的监控。SDK
11、对自身的威胁感知对自身的威胁感知SDK对宿主对宿主APK的威胁感知的威胁感知SDK对宿主应用所在环境的威胁感对宿主应用所在环境的威胁感知知SDK传输安全传输安全通过通信协议保护系统,对客户端与服务器端的双重验证、监测及加解密,防止攻击者劫防止攻击者劫持持D 破解破解D 篡改通信协议篡改通信协议 数据包数据包后与服务器进行非法交互,保护通信数据的传输安全。调用者身份校验调用者身份校验消息完整性验证消息完整性验证 密钥安全机制密钥安全机制03 外发外发SDK安全防护最佳实践安全防护最佳实践最佳实最佳实-某运营商计费某运营商计费SDK安全体系建安全体系建设设当前互联网运营商移动支付环境日趋恶劣,移动
12、支付SDK安全问题十分突出,各种暗扣费、代扣费等计费问题使得客S投诉率居高不下。针对用S身份识别、代码缺陷暴露、交易劫持 篡改甚至是管理风险的攻击K出不穷,这一切都D困 扰着互联网运营商的计费业务。开发环境非独立空间、安全无法/障 开发人A外包,源码泄 露风险 支付算法核P秘钥I易 暴露API接口函数调用暴露 编码不规范 反编译破解SDK 报文被劫持 动态攻击破解计费流程 暗扣费、代扣费 短信被劫持 键盘劫持 用S身份伪造 界面劫持用S身份交易劫持 识别 篡改管理风险代码缺陷 暴露最佳实最佳实-某运营商计费某运营商计费SDK安全体系建安全体系建设设通过对计 sSOK&前、&中、&后采取相A安全
13、措施,建立计sSOK全生命周期安全管理体系。设计咨询安全基线参k开发&前阶段源d审计集成SOKA用 包备S申请备S包测试提取备S包K 包指纹sdk计 s A PK 包备S存档&中阶段运行监测设备威胁 感知SOK渠道 监测安全服务&后阶段SOK源d混淆SOK安全加固SOK发布版本 基线库集成安全组件SOK安全 基线检查集成sdkA用 包备S措施SOK安全措施技P 分析SOKD常包计 sSOK开发测试、发布、集成最佳实践最佳实践-SDK静态安全防护措施静态安全防护措施采取一系列安全措n,使S K不易被反编译、篡改,涌码不易读謹、代码逻辑o法弄清,S K不易调试D注入等,保障 S K自身安全。确保S
14、 K自身不存在r著业务逻辑缺陷。源码混淆源码混淆 S S K开发代码 进行混淆、加密 等保护,防止关 键代码D核心业 务逻辑泄露SDK安全防护安全防护 有 i的 S S K 中 Jar、SO 库 等/要文件进行 加密保护,防止 破解和反编译密钥臼密钥臼-android/ios终 端保障加解密的 密钥不会出现明 文,有i保障密 钥安全安全测试安全测试 安全审计:通过 产看涌代码的方式 进行安全白盒测试 渗透测试:通过 模拟黑客攻击方式 进行黑盒测试,寻 a业务逻辑缺陷安全软键盘安全软键盘 采用随机键盘,o法监控用户通 过键盘输 入 的数 dS K自升级 S已有安全问题 通过热更新的方 式修复,能
15、快速 解决发现安全问 题安全K线管理 根d相关法律法 规D开发规范制 O自 有 Js化 安 全K线,形成统 一安全开发标准,检测标准最佳实践最佳实践 动态安全监测动态安全监测SOK安全组件威胁感知服务端虚拟环 境检测模拟器 检测内存修 改检测攻击框 架检测数据 分大数据 豕大数据 统计设备 复用异常 APP上报分 析采 集优化检测 检测检测sdk是否是否-在模拟环境攻击在模拟环境攻击:模拟环境模拟用户的真K环境,真K应用安装在模拟环境中,利用技术手段检测出本D环 境是A为模拟环境 检测手机环境是否安全检测手机环境是否安全:集成梆梆威胁感知安全组件,根据安卓P层特征、硬件特征及网络环境特征等,有效检测出本D支 付环境的安全 异常异常APl是取关是取关A点点:针对业务流程发现的异常,主动从计费SOK提取运行的APK包,分析包异常点,收集违规计费证据 关关A业务数据埋点业务数据埋点:针对整个计费SOK业务流程的关键步骤做数据采集,用于用户操作流程合规S数据分析业务数 据埋点异常包 提取异常计费 行为识别分析 异常包THANKS谢谢聆听2018-9