防护之盾|金融数据安全思考

点击「京东金融技术说」可快速关注

—京东金融技术研发安全开发小伙伴们!

「引言」“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。”企业若为建木,九台,千里;业务数据即为毫末,累土,跬步。在数据的生命周期中,数据或被传输,或被存储。围绕数据的攻防黑白之战如同光与影的战争,永无落幕之日!

 

 0X00  七日创世

Day1 - 神说要有光:

数据在用户的手中诞生了,windows/MAC/Android/IOS 应用OS系统的漏洞与应用环境防护与加固开始交锋——环境安全(数据外部环境)。

Day2 - 神用自己的样子创造了人:

APP,WEB与应用程序作为数据的载体自身也成为了攻击的对象,控制应用本身便可掌控数据——应用安全/APP 安全(数据内部环境)。

Day3 - 无善无恶心之体:

数据本身毫无价值,在特定的环境下却会变成这个宇宙最重要的东西--信息。一旦数据在客户端存储。本地数据便可以被利用,本地数据的破解与保护便成为了焦点——本地数据存储安全。

Day4 - 有善有恶意之动:

静止的数据毫无意义,数据奔腾流转,才有万物互联。数据传输必经网络,公共网络空间众人可见——数据网络传输安全。

Day5 - 三生万物:

基于客户端,网络的攻击行为,均依赖于数据的表现形式,数据形式依赖于技术架构以及数据的处理逻辑,而只要是人设计出的框架或业务逻辑,必定存在弱点与漏洞,避无可避——数据业务逻辑安全(WEB安全,ATP攻击)。

Day6 - 剑血封喉:

内网与外网同样危险,集中保存可被破解的全量数据,是黑产最大的蛋糕,全民数据裸奔均拜脱裤所赐——数据存储安全。

Day7 - 一念不灭,一念不起:

机房数据定期归档,磁带库备份离线归档,但是数据从未被真正销毁。未被保护的明文数据就在那里——数据销毁。

数据的防护,从数据未生之前便已开始,数据生命中的每个过程均含攻防,此消彼长,生生不息。应用安全的核心是数据安全,数据安全的防御需要覆盖整个数据生命周期!

  

  0X01  从何而来 

一、内网与外网同样威胁:在网络攻击维度,没有公司大小,强弱之分,公网维度面对的都是业界顶级的安全威胁。

二、金融行业的牌照要求:金融行业的监管,牌照要求,安全合规建设,牌照资质检测是一种安全日常,伴随着行业制度完善,合规从严, 2020国家体系内,完成国密算法改造背景。安全管理,安全系统落地的力度将被不断加强。

三、国家,国际的法律之刃:《中华人民共和国网络安全法》,欧盟《一般数据保护条例》成为组织与企业不能逾越的红线。

纵观过往,互联网企业最痛的威胁,往往来自于内网的数据泄露,基于此理念才会有Google beyond Corp的“零限安全”。内网与外网,面临相同的安全威胁,需要等同的安全策略。

  0X02  满地蔷薇 

一、密钥管理

国内,国际检测各类安全检测模型中密钥管理(KEY Management)都是独立的必检模块。密钥管理是整体现代安全体系的安全根基所在。国际上,欧盟与美国,遵从CC(The Common Criteria for InformationTechnology security Evaluation)标准中的FIPS-104密钥管理模块,国内的等级保护,支付牌照标准参考PCI标准设立,而PCI参考CC标准。

目前互联网行业与传统IT行业,包括许多证券内部服务,数据的密钥管理均呈缺失状态。具体症状表现为:

  • 明文的数据库密码,明文数据加密密钥,硬编码在代码中

  • 将数据库密码,数据加密密钥明文存储在配置文件中

  • 移动端,服务端使用代码逻辑,生成加密密钥

  • 由于存量数据与老生产系统的缘故,许多生产系统依然使用已经淘汰多年的涉密数法,例如:MD5,DES,SHA1,RC4,RSA1024等

此问题的威胁根源在于:

  • 内部服务器代码,内部人员可以参阅,极其简单的反编译java,并生成逻辑原代码,获取服务器核心数据加密密钥

  • 移动端IOS与Android平台即使经过一般强度的加固,获取局部代码中的密钥,仍然门槛较低

  • 使用不再安全的算法,密文被破解的概率大大增加,数据加密能效消失

二、数据传输

对于本地通信而言,基于中间人攻击破解HTTPS,导致了,无论WEB或移动APP,面对专业攻击者而言,移动APP与WEB的HTTPS报文,在攻击者手中依然以明文方式呈现,并且可以方便的被修改,转发,编辑,进行各类攻击:

同时,国内普遍策略为,公网一般使用HTTPS,但存在个别业务原因,页面不强制跳转443端口,80端口仍然可以被访问。内网通信,出于时间效率考虑,通常使用明文进行内部传输。

 此问题的威胁根源在于:

  • 基于业务逻辑的漏洞永远暴露在攻击者面前,这是攻防游戏的最主要战场。WEB与移动通信可以被,破解,篡改,重放,伪造

  • 企业内网数据缺乏保护,明文传输,如果机房流量数据被任何形式的截获(物理分光器),复制,监控,均会造成数据泄露风险

三、数据持久化

数据生命周期中,数据99%的时间是以存储形式呈现,比如关系型DB,非关系型DB,强一致中心,缓存,消息系统,日志,监控记录等。而纵观整个互联网安全时间历史,无论是11年前后大型互联网公司的用户密码泄露,某通信软件的关系群泄露,酒店机票用户身份信息泄露,到近来的Facebook被第三方友商非直接授权泄露用户信息,均是存量数据集中存储,但缺乏保护造成的安全风险问题。

此问题的威胁根源在于:

  • 国内合规维度,在强制监管领域,仅对关系型数据库MYSQL,ORACAL等入库数据进行了重点监管检查。

  • 文件系统,非关系型数据库,强一致中心,消息系统,缓存,BI,容器集群,往往缺乏敏感数据加密保护策略与低成本的保护方案。

  0X03  只若初见 

目前京东金融数据安全平台已经全面覆盖了京东金融全部核心业务链路以及BI大数据。金融移动APP,商城APP,支付SDK,风控SDK,WEB H5关键验证页面。

一、设计目的

数据安全系统设计目的:

  • 杜绝基于人为输入,明文密钥,“人造保密方法”的等非密码学的安全保护模式。

  • 系统核心安全,基于现代密码学加密方法,一切加密函数基于密钥,密钥基于物理安全设备。

  • 防止外部黑客渗透,防止内部人员数据泄露,防止社会工程学绕过。

  • 数据安全保护从数据生成的那一刻起,就与安全威胁捆绑到了一起。故此,围绕数据安全的保护也应当是伴随其整个生命周期,形成多维交错的安全体系。

  • 安全的根基在于使用现代密码学加密,使用数学空间进行安全隔离。同时密码学算法使用的密钥应当隔绝人为因素干扰,实现,不以人为中心的安全保护体系。数据保护依赖硬件基础设施。

二、场景与方案

1、行业的痛点
  • WEB 尽管使用了HTTPS,但是核心用户数据在局域网与企业内网依旧缺乏保护。

  • 移动APP尽管做了很多安全机制,但依然持续不断的被网络攻击,同时,APP总是能被检测出许多业务相关的安全问题。

  • 企业信息数据没有统一加密中心,密钥管控中心。每个业务均自己实现一套加密方式,明文的对称,非对称密钥。没有统一的数据保护体系

  • 企业使用第三方云服务,数据保护完全依赖云端环境,企业没有自主可控的密钥体系,保证云端数据仅受控于企业自身。

2、安全保护轮廓与场景

安全轮廓:欧盟,美国顶级商用密码安全检测与验证标准有严格的逻辑墙以及明确可量化的检验与执行标准。例如:FIPS120-2标准从11个逻辑维度,提供了安全参考轮廓:(一般来说,国内金融支付行业,尤其是跨境大型支付机构,都需要通过PCI-DSS认证,而PCI仅仅是金融行业的安全准入最低门槛,如果一个大型系统想进一步完成安全体系与提高安全等级,欧美企业一般使用CC标准Common Criteria for InformationTechnology Security Evaluation。而当系统涉及密码学,安全算法,密钥管理,核心系统安全,CC标准会按照FIPS标准执行,)

  • CryptographicModule Specification:首先我们将系统需要进行安全防御的界限画出,明确定义安全系统轮廓。

  • CryptographicModule Ports and Interfaces:在安全轮廓范围内,将所有接口,交互通道列出。聚焦交互接口为安全检测的入口。即,病,从口如。

  • RolesServices and Authentication:系统都是给人来服务的,明确系统角色与身份验证体系,谁使用了那些可以互动的接口?在怎样的系统,如何运行起来的。

  • FiniteState Model:最终状态机,将静态的系统动态演化,推演判断,人,接口,模型的安全状态。

  • PhysicalSecurity:物理安全,这里主要指对物理设备的可以进行物理接触,甚至直接进行芯片,防止精元机研磨机,电子显微镜等的物理破解方案

  • OperationalEnvironment:系统运行环境安全检测,这个比较容易理解,APP本身的安全被运行的环境影响,运行在有病毒的Android,Windows上也是很难保证绝对安全的

  • CryptographicKey Management:密钥管理,是所有安全检测,合规必检的一项。原因是现代密码学的安全基础是未解的数学难题,即算法的密钥安全,所有,密钥的安全保护逻辑是否环环相扣,完成闭环保护。逻辑上来说,目前行业认可的终级保护方式,都是基于安全的物理硬件实现根密钥保护。

  • EMI/EMC:可以理解成基于近场的电池信号攻击保护,已经有工业级攻击POC方法,但是芯片进行了EMI保护后基本可以防御

  • SelfTests:自测试,涵盖了三个维度的检测,第一是开机自测试检测,第二是运行时条件检测,第三是实时的环境检测,对于封闭环境嵌入式系统可以忽略。

  • Design Assurance:主要是相关的QA保障维度,主要体现工程化的质量保障。

  • Mitigation of Other Attacks:复合攻击检测,通常指大家经常提及的灰盒攻击,白盒攻击

3、移动安全与web H5 数据安全

互联网行业的数据入口一般只有移动平台与WEB H5平台,而移动平台信息比重越来越大,但是相关的移动APP防御还处于比较原始的阶段,只使用最基本的保护框架,例如HTTPS,Android原生混淆等,然而面对移动APP的深度APT攻击行为,行业中80%-90%的攻击均依赖移动APP的通信破解结合APP反编译。一般APP并没有对通信数据,本地数据进行加固维度的保护方案。

但是,从攻击维度来说,如果无法破解APP通信,无法反编译APP查看代码逻辑,攻击便无从谈起。这也是从根源上解决问题的入口,而不是无数次的进行猫鼠游戏。

WEB端的情况类似,过往,经常有研发同事提起,我们通信已经是使用了HTTPS进行通信保护。那是否只用HTTPS就够了呢? 答案在使用场景中:

用户无论使用APP或WEB进行数据提交,我们APP与WEB也都使用了HTTPS通信保护,但从中间人攻击角度上看,HTTPS对于客户端使用代理中间人的攻击者来说是透明的,使用Burpsuite等神器进行中间人代理,在局域网内完成去HTTPS化,可以傻瓜式的实现基于客户端的渗透攻击行为。在数据通信的末端,数据进入IDC机房负载后,HTTPS就被卸载成了HTTP。于是,内网之中,移动,WEB数据全明文通信。在经历无数系统,缓存,消息,存储后,总是难免留下种种隐患。

我们的应对策略是,对WEB数据提供非对称数据通道保护方案,使用一站式H5数据传输加密,数据存储转加密保护。让数据安全保护落地。

例如,用户输入密码场景。用户输入支付密码后,会直接调用移动安全SDK接口,或者H5页面调用安全JS接口,于是,用户关键信息,在用户敲下密码后,无论移动开发,WEB开发人员,外部黑客,甚至是安全系统开发人员,都无法看到用户的真实密码明文。最后用户密码落库存储后,密码还会被进行转加密处理,保证存储和传输的用户密钥在空间上是隔离的。

移动安全平台:

我们提供许了多系统级的安全接口来保障安全系统化落地执行:

  • 移动信道加密: 使用动态握手与OTP技术实现放重放,放破解,放中间人攻击的安全移动通信通道。保证APP线程无关,服务主机状态无关,每个用户每次使用APP均为不同的通信密钥。

  • 移动本地安全加密: 使用多维度安全因子,白盒密码,保证本地数据加密安全。

  • 基于动态流加密的安全键盘:使用动态OTP,国密算法,流加密技术保护业务安全键盘与滑动手势键盘

  • SO与C级代码逻辑混淆与加固:保证核心逻辑代码逻辑不对外轻易暴露。

  • 防攻击框架防护: 针对模拟器加测,ROOT提权,内存DUMP,重新签名进行整体防护

  • 安全应用产品层:提供OTP(一次性动态密码),可离线的付款码,移动CA数字证书,移动电子证书与电子合同签章。

  • SDK加固: C级代码逻辑混淆,C函数名称混淆,防HOOK机制,防PTPACE机制,SDK防篡改,攻击框架检测,模拟器检测,ROOT提权检测等。

  • 高可用,多维自动降级:

  1. 移动通信保护,为异步,同步双重机制,建立信道机制。

  2. HTTPDNS的建议使用同步方式,等待应用真实的IP地址,如果业务需要强制降级,可选超时时间,超时后业务可自动选择为传统DNS解析方案

  3. SDK安全加固,移动安全加固方案,C级代码逻辑混淆,C函数名称混淆,防HOOK机制,防PTPACE机制,SDK防篡改,攻击框架检测,模拟器检测,ROOT提权检测等。理论上均会带来相应的额外性能开销,甚至在特殊Android设备上无法使用。故,移动安全加固检测特性,原则上使用最小化原则。默认情况下仅使用最基本的安全加固。对特殊业务和APP在根据需要进行特殊加固。

4、系统数据安全

京东金融的数据场景,是非常典型的互联网金融环境,日常TB级的数据流转,支付金融数据,个人身份数据,购物场景数据,几乎涵盖了人们生活的全部金融场景。

因为涉及,金钱与用户身份敏感信息,金融的数据安全面临了,各项监管合规检测,公网攻击的双重压力。

我们的场景主要解决两个问题:  

  • 企业中N个系统的密钥管理问题:密钥管理的核心问题是,如何让各个应用,安全的使用自己的密钥,而密钥本身又不对所有开发人员,运维人员,以及系统内部人员可见。互联网企业,传统IT企业,数据安全最大的隐患在于明文的使用密钥,而核心数据库的密文被这些明文密钥保护,发生数据库泄露后,如果黑客或内部同事能触碰到数据库,对于获取写数据的服务JAR是唾手可得的,这类情况是普遍存在,又容易被人忽略的问题,也是内网数据安全威胁的核心,号称AES加密的数据库通常是这样被破解的!

    具体形式为,在代码中写死明文密钥,数据库密码,或者在配置文件中写死明文密钥,数据库密码;如果我们深入审查这个问题,就会有趣的发现,有很多研发同学会机智的回答,我们的密钥使用了很牛的保护机制,只有开发同学自己知道。其实就是使用函数的形式,实时运算出了密钥。这类方式也是不合规的。因为,生产,开发,测试环境中的项目工程JAR包,对几乎所有公司内部人员可见,代码逻辑可以直接被反编译复制实现。黑客通过公网漏洞渗透获取,或者被内部人员泄露均是巨大隐患。

    所以,解决问题的核心是,让使用加解密算法的全部环节,只使用加解密接口API,而密钥本身对任何人均不可见!

  • 不同系统使用统一安全算法,进行简单,高效的万级系统数据安全处理问题。对于企业内部N个系统使用不同加密算法,不同密钥别名,不同数据类型需要脱密的场景复杂度,与企业的系统规模成正比,与企业的存量系统成正比。

主要面对的挑战:

  • 系统的稳定与可靠性;

  • 系统性能问题

  • 如果兼容新老系统

  • 故障恢复时效

 京东金融数据安全平台特性:

  • 企业核心数据密钥明文保存

  • 合规,牌照审核,央行非金支付牌照检测,PIC检测,等级保护检测通过

  • 企业核心数据即使被脱裤,黑客仍然无法破解密文数据,企业内部人员非法泄露数据,泄露的数据仍然无法破解,数据安全,不再依赖人为因素

  • 密钥与加解密管理统一标准,统一管理

  • 通用算法支持: 国密SM2,SM3,SM4,国际RSA,AES,HMAC,3DES,FF,白盒密码等

  • 高性能:性能要求,单虚机性能: TPS :1.2万;日常非对称加解密业务TP99: 1毫秒到3毫秒;峰值业务响应时间(京东双十一),TPS 6万,TP99为 8毫秒;BI大数据批量数据处理: 2.3亿条数据,解密处理时间:5分钟

  • 高可用,水平弹性扩展:

  1. 非计划停机故障次数不超过2次/年,一般故障恢复小于30分钟,大故障恢复小于1小时,全年可用率 99.99%

  2. 业务自动离线数据保护服务,故障恢复自动转回在线

  3. 双物理通道降级方案,自动通道切换,软件系统与硬件系统并行保证高可用

  4. 多级缓存降级机制,内存,强一致中心,DB

  5. 峰值极端情况下1分钟内实现应用实例扩展。

  6. 系统支持多机房,单机房内多个节点水平扩展,支持各个节点水平扩展。

  7. 所有业务节点,支持手动流量负责离线,在线操作,控制业务与安全中心的负载压力

BI大数据支持:

支持使用安全客户端方式,部署于Hadoop或SPARK集群中,提供多进程,多线线程,嵌入集群内的加解密服务。

  • 支持大规模数据清洗操作:2.3亿条数据清洗时间小于5分钟

  • 安全特性

  1. 代码功能自主可控:C语言开发服务,所有业务均使用源码实现,无黑箱代码,合计40多模块,屏蔽繁杂密码学算法,简单化,标准化统一涉密服务接口。主流对称,非对称算法,数字信封,数字签名,签名验证,密码保护

  2. 安全密钥管理:设备管理和密钥管理权限分离,做到人员与核心密码分离

  3. 安全性:多级安全访问控制,关键区域信道加密,Linux安全内存

 0X00  见素抱朴

京东金融的数据安全能力在经过时间与空间的洗礼后,数据安全能力会逐渐通过网络对外界开放,赋能于整个行业,我们试图提供一种行业易用的数据保护能力,将密钥管理,加解密处理与业务数据解耦,实现看不见的简单安全理念。

我们的一些技术特点:

一、白盒加密技术:

使用白盒加密技术,解决目前移动APP本地数据保护的行业性难题。

  • 白盒密钥定义:白盒加密属于对称加密,是指能够在白盒环境下抵御攻击的一种特殊的加密方法,白盒加密基于可逆的数学变换,将密钥隐藏在变换中,达到密钥在任何环境下均不可见,包括函数运行环境与内存中均不可见

  • 行业深度:白盒密国密算法性能提升,运算时间从11ms下降至0.260ms;远高于公开白盒AES算法10MS,性能提升100倍

    白盒密码算法强度提升,公开的CHOW白盒使用的非线性类哈夫曼编码方式,伪非线性,这也是为什么能被破解的原因。

    我们使用仿射变换模拟结合二叉树提升离散复杂度,增加白盒强度。

    白盒库空间空间大小提升。公开白盒算法白盒库大小为752KB,我们的白盒算法库优化后大小为263KB。

二、移动安全信道

移动APP通信的保护的无侵入解决方案 ,对移动APP的攻击行为80%-90%的攻击均依赖移动APP的通信破解的行业问题。信道安全无法破解通信,攻击无从谈起。

  • 移动安全信道:使用ECDH与OTP,非对称签名等技术实现放重放,放破解,放中间人等攻击的安全移动通信通道。保证APP线程无关,服务主机状态无关,每个用户每次使用APP均为不同的通信密钥。

  • 行业深度:安全通信体系建立,服务端无需再进行代码几次改造。 移动APP可以启动后瞬时建立N对N的通信安全信道服务。支持国密加密算法。

  • 行业对比:目前大型TOP互联网公司的移动产品线,默认使用了动态的全信道加密。使基于通信的移动APP破解渗透率大大降低。而某宝也使用非对称的通信加密技术。我们使用了更先进的服务端无代码改造,N对N的动态线程通讯加密技术,动态建立安全通信,保证移动APP数据通信安全。与国外安全产品 Uniken 类似。

三、数据安全中心AKS

目前京东金融的数据安全中心,是除阿里云,腾讯云安全中心外,具备支持国际安全算法,国密安全算法的互联网大型安全加解密运算中心,同时我们支持软件算法,硬件算法水平切换,同时支持国密算法,国际算法。

  • AKS安全数据中心:AKS,Authentication Key Management System,采⽤中心密钥和加解密系统的形式,以接⼝的⽅式为对各个⽀付业务线提供加密解服务。各个系统不再使用密钥明文,只使⽤密钥别名,调⽤简单的加解密函数,完成对数据的保护。

  • 行业深度:单4C8G虚机性能,1.2W TPS, 软件硬件多路自动降级,降级恢复方案。软件算法与硬件算法同时支持国密算法与国际算法,同时针对BI场景环境提供了大数据平台数据转加密能力,软件与硬件加解密水平切换的能力。


京东金融技术说

   ▼▼▼     

原创·实用·技术·专业

不只一技之长

我有N技在手

你看,我写,共成长!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值