数据分析与机器学习如何为业务安全赋能?

作者:CQITer小编 时间:2018-05-19 09:11

字号
人工智能+区块链的发展趋势及应用调研报告

目前传统的安全检测、防护类设备针对业务应用安全基本上没有防护效果。数据分析与机器学习为业务安全问题提供了一个有效的解决方案。基于业务的历史数据,通过统计分析与机器学习的方法学习出业务的历史特征,结合专家知识形成业务特征的基线。根据基线来检测业务行为是否存在异常。本文给出了几个通过数据分析和机器学习的方法检测业务系统中异常的具体案例:web业务安全、物联网卡业务安全、变电站业务安全。

随着高级持续性威胁(APT)攻击的泛滥以及内部人员威胁的增加,针对企业业务系统的安全威胁日益增多。当前,一般企业的安全检测类产品有操作系统(OS)漏扫、Web漏扫、数据库(DB)漏扫等,但这些设备都不能发现客户自开发应用的安全问题、业务逻辑方面的安全问题。同时,目前部署的入侵检测系统(IDS)等检测类设备由于是基于特征库或者启发式规则进行检测,对于针对业务逻辑类攻击、APT类的攻击往往毫无感知。传统的防火墙(Firewall)往往针对五元组进行检测,对上层应用的防护效果不大。Web应用防火墙(WAF)主要针对Web攻击进行防护,而对业务逻辑、业务数据伪造等攻击无能为力。同时,沙盒类APT攻击检测措施的重点是检测威胁OS或某些应用的恶意代码,对针对客户应用数据的检测更是无能为力。

业务系统的异常有很多类型,最常见的有以下几种:

业务逻辑异常。例如用户通过运营商的网站办理缴费业务,通过某种方式绕过了支付的步骤,导致在用户未支付的情况下成功办理了收费业务。

业务滥用异常。例如对网站进行薅羊毛,虽然业务的操作逻辑完全正常,但是薅羊毛属于对业务的滥用,也是业务异常。

业务数据异常。例如业务的参数异常,业务的统计数据异常等。

综上所述,目前传统的安全检测、防护类设备针对业务应用安全基本上没有防护效果。与网络层面的安全不同,业务应用安全的特点是用户的行为符合访问控制规则,并且对业务的每一步操作都不带有明显的攻击特征,例如没有SQL注入,没有跨站脚本攻击(XSS)等攻击特征。但是用户对业务的整体操作流程存在着异常,例如验证码猜测,密码暴力破解,关键业务操作步骤缺失等。因此,需要一种全新的方案来检测业务系统的安全。

数据分析与机器学习为业务安全问题提供了一个有效的解决方案。基于业务的历史数据,通过统计分析与机器学习的方法学习出业务的历史特征,包括操作逻辑特征,时间特征,参数特征,统计信息特征等,结合专家知识形成业务特征的基线。根据基线来检测业务行为是否存在异常。

与网络安全不同,业务系统的种类繁多。对于Web类型的业务来说,由于其一般工作在TCP/IP网络协议的第七层,即应用层,其业务参数及业务操作定制化程度很高。另外对于像工控系统,其业务主要是针对设备的控制指令操作,或者设备本身的数据上报与心跳。因此,对于不同类型的业务系统,其面临的业务安全问题差别较大,需要针对不同的安全场景开发相应的解决方案。下面分别针对几种典型的场景,给出相应的业务层面的分析手段。

一、Web业务安全场景

Web类型的业务一般工作在TCP/IP网络协议的第七层,主要采集业务办理过程中浏览器的HTTP头数据来学习业务的操作序列。HTTP头数据中包含有时间,HTTP请求类型,body,cookie,referer等字段信息。其中,HTTP请求类型信息可以区分出相应的请求是否对应了关键的业务操作;body和cookie信息可以用来标识出用户信息和会话的信息;referer信息可以用来标识业务的资源信息。其系统结构如图1所示。

Web业务安全系统结构

图1   Web业务安全系统结构

采用关联分析和统计分析的方法对采集到的HTTP头数据进行分析,以得出业务的操作序列。在用户对业务系统的操作过程中,浏览器主要有两种类型的HTTP请求,即GET类型的请求和POST类型的请求。而对于业务办理的操作来说,由于需要向服务器提交数据,所以业务办理的关键步骤对应的都是POST类型的HTTP请求。

提取出POST类型的数据以后,根据cookie和body中的信息将一个用户在同一次会话的数据聚合在一起。将聚合以后的操作序列按照时间进行排序,就得到了有序的业务操作数据。

在HTTP请求数据中,referer信息可以标识出业务的资源,例如运营商系统中的流量套餐,彩铃等业务。每个用户在一次会话过程中可能会办理多项业务,这些办理业务的操作数据会一起出现。因此需要将这些数据按照referer信息进行聚合,以分别提取出用户办理业务的操作序列。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接