图1
2.互联网应用的攻与防
2.1 互联网应用安全防御
随着业务规模迅猛发展,同时也伴随着金融与科技的深度融合,使得银行各类互联网应用也持续增长。在提升效率、为客户带来便利的同时,也不断考验银行的安全防御体系。从传统的安全领域到业务层安全防范也在不断更迭演进。
- 传统安全防御:从抗DDoS、网络防火墙、IDS (入侵检测系统)、全流量检测到WAF(应用防火墙),传统安全体系提供了基于网络协议栈的全方位防护。
- 业务层安全防御:一些业务密集型的场景,例如对支付欺诈的甄别、贷款平台对申请欺诈的甄别,业务方需要建立完善的业务层防御体系。
随着安全防御手段的不断更迭,新的问题也不断涌现。而面对新问题的出现,传统的防御体系显得应对不足。
- 网络机器人的行为并非传统安全体系的防御对象。网络机器人的访问行为,在传统安全体系的视角下和正常人的访问无异,无法进行有效应对。
- 旨在解决业务安全的业务层安全防御也无法透视网络机器人的行为特征。业务层安全防御面向业务层用户行为,不能从网络层捕捉到网络机器人的完整访问脉络,无法有效应对网络机器人的暴力访问。
2.2 网络机器人(Bots)现状与影响
网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。随着互联网的快速发展,网络机器人也越来越普遍。50%的网络流量来自网络机器人,遍布各类网站,如票务类、电商类、招聘类、金融类、政府类、社交类等。
网络机器人带来种种负面影响:网络机器人,是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。随着互联网的快速发展,网络机器人也越来越普遍。50%的网络流量来自网络机器人,遍布各类网站,如票务类、电商类、招聘类、金融类、政府类、社交类等。网络机器人带来种种负面影响:
图2
- 虚耗网络资源,无效益转化;
- 暴力流量,降低系统稳定性;
- 影响正常客户访问,增加运营成本;
- 未经授权,二次利用网站数据,影响数据发布权威性;
- 爬取产品信息、价格信息,不正当竞争;
- 混淆用户生态,影响营销分析。
2.3 网络机网络机器人(Bots)应对与防范
应对网络机器人,必须了解网络机器人。根据网络机器人的原理,可以分为普通网络机器人和智能网络机器人。普通网络机器人通过模拟网络请求直接获取网页资源,智能网络机器人通过浏览器方式获取网站资源。智能网络机器人更加类似正常人的访问行为,识别防范难度更高。
图3
受到网络机器人侵害的网站也试图采取应对措施,却往往达不到预期效果。
- 依托于传统安全体系,基于防火墙拦截,无法奏效。
这种应对方式需要持续投入人力分析日志,应对速度不足;
规则简单,容易被绕开;
简单粗暴的IP拦截误伤严重。
- 业务层关键节点嵌入验证码,无法奏效。
业务层缺乏网络机器人访问的全量信息,不足以解决问题;
业务层解决网络机器人问题成本高,与业务层耦合性强,难维护;
对用户无差异的验证码,用户体验差。
图4
应对网络机器人的暴力访问,一套行之有效的解决方案,必须能够同时兼顾多方面。
- 基于网络全流量,大数据量,长周期行为分析做决策;
- 对业务系统低影响,与业务层松耦合;
- 对网络机器人的行为能即时识别、即时控制;动态防范、持续有效。
3.构建基于设备指纹的网络安全防御系统
从成本、效率和收益的平衡点出发,结合设备指纹、人机识别和机器学习等技术构建机器防御系统,计算各类行为指标;实时决策引擎将行为指标与反Bots模型匹配,得出决策结果,与访问者信息和设备指纹一并存入缓存;业务链路中的管控组件(如WAF或其他风控组件)读取缓存信息,以决定放行或拦截。
图5
3.1 机器防御系统工作流
- 访问者发起对银行官网站的访问。
- 机器防御流量镜像组件将网络请求复制一份送给流立方(流式大数据平台)计算各类行为指标。
- 实时决策引擎将行为指标与反爬虫模型匹配,得出决策结果并存入缓存。
- 可以通过串联在主访问链路上的管控组件(如WAF或其他风控组件),根据访问者的信息和设备指纹从缓存中读取决策结果,来决定是放行还是采用何种拦截措施。
3.2设备指纹技术
设备指纹是网络自动化攻击防御方案中非常重要的技术。无论是普通网络机器人或智能网络机器人,都必须依托于相关设备运行。
设备指纹技术,可采集设备(如PC或移动设备)的诸多属性,按照一定的算法生成该设备唯一的“指纹”。通过识别唯一的设备,结合一定的行为分析规则,来识别网络机器人。
图6
设备指纹采集方式主要有以下三种:
- 主动采集技术可保证高精准性,但防篡改能力较弱,稳定性较差;
- 被动采集技术通过较强的防篡改能力,可保证高稳定性,但准确性较差。
- 主、被动采集技术相结合,通过采集浏览器、设备、网络协议、程序等四重维度的采集要素,通过大数据运维不断优化各采集要素的置信度区间,并基于条件概率、联合概率、置信度传播等数学理论,将计算得出的最终置信度与信任临界值匹配,确保极高精准性的同时,显著提升稳定性。
3.2.1 精准性
使用JS脚本、移动端SDK、小程序组件,通过主动采集要素与OSI网络协议全栈被动采集要素相结合,能够准确识别设备;通过多重要素采集,结合条件概率、联合概率以及置信度算法,能够唯一辨识设备。在满足大多数场景下,能够为每台移动设备生成唯一的设备指纹;能够为每一种PC浏览器内核生成同一设备指纹;能够保证同一指纹能稳定对应同一台设备。
3.2.2 稳定性
设备指纹稳定性指同一设备唯一识别,不会随着空间、时间变化而改变, 指纹识别采用多维度,多数据的比较,通过多要素置信度综合决策算法,有效的减少了因为部分维度篡改或获取异常对设备指纹精度的影响,可靠保证设备指纹在刷机、升级、甚至通过黑产软件修改后,设备指纹保持不变。
3.2.3 安全性
设备指纹网络传输使用外码加密,加密算法动态变更,过期时间灵活可配,有效保障设备指纹安全性。
设备指纹服务在前后端全方位提供了安全性的保护。
- SDK端:包括IOS/Android/Web/Wap
SDK代码防护代码
动态混淆:动态语义级混淆、符号混淆相结合
静态库集成
- 采集要素报文加密,确保设备要素安全传输
Get请求参数加密
Post请求体加密
接口调用的验签算法动态更新,报文防篡改
- 设备指纹服务端:
内/外码相结合,外码用于互联网传输,内码用于业务系统使用及可信服务传输
外码具有动态的过期时间,有效防止重发、盗用
支持安全传输层协议
设备指纹服务具有动态反欺诈功能和内置简单规则
图7
作为设备指纹两个重要的衡量标准,准确性和稳定性是两个极致的标准。精准性和稳定性是衡量设备指纹生成技术先进性的核心标准,其中准确性更是设备指纹技术产品的使用前提。在真实业务场景中,往往采用在准确性优先为基础的情况下,以能够最大稳定识别设备作为最优选择。
3.3 人机识别技术
人机识别通过点击行为分析判处,识别出程序或者自动化工具点击行为,是应对智能网络机器人的重要技术。
3.4 机器学习
基于时间窗口移动的动态数据快速处理技术,它可支持计数、求和、平均、最大、最小、方差、标准差、K阶中心矩、递增/递减、最大连续递增/递减、唯一性判别、采集、过滤等多种分布式实时计算模型。
图8
3.5 规则平台
网络自动化攻击防御的全部策略均可以通过规则平台实现。利用规则平台,可制定的规则类型包括:设备信息类规则、代理IP类规则、行为异常类规则、黑白名单规则及UA识别规则等。
图9
4.总结
通过在网站页面或移动端APP中集成设备指纹脚本,收集物理设备和终端环境的多重信息,快速生成设备唯一识别码,并对于常见黑产所使用的改机框架、改机软件、伪装软件,以及虚拟机、模拟器、代理侦测等都能做到有针对性的识别,构建客户身份和所使用设备对应关系,判断交易可信度,实现互联网风险防范自动化,从而准确的定位风险、控制风险,降低可能的损失。
为解决不同业务场景下网络机器人未授权访问和信息爬取等问题,采用高效流式大数据处理引擎,实时处理海量业务请求,结合不同业务场景特点,定制不同业务异常行为检测规则,并辅以设备指纹技术、代理侦测技术、人机识别技术,实现多层次多维度的网络机器人识别与防范。为各业务部门提供支撑与服务,实时无感知地进行机器访问行为识别与拦截,对于保护我行业务与用户的敏感信息不泄露、维护银行商业利益与信誉、提升用户服务质量和满意度等方面,具有重大的意义。