掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法和装置

文献发布时间:2023-06-19 09:30:39


一种数据处理方法和装置

技术领域

本发明涉及数据库技术领域,尤其涉及一种数据处理方法和装置。

背景技术

在数据中台架构下,除了传统的浏览器与Web服务器之间、Web服务器与数据库服务器之间的数据交互,还包括Web服务器与API服务器、API服务器与API服务器、API服务器与数据库服务器之间的数据交互。在这种架构的应用中,很难将用户HTTP请求事件与数据库的SQL响应事件一对一的关联起来。

传统的数据库审计系统难以将数据中台下用户请求与数据查询两种信息进行精确的关联,无法实现安全事件的精确定位、精准溯源。

现在有些数据关联方法中,通过建立一些关联模型来对单独审计出来的HTTP审计日志及SQL审计日志进行事后的手动、半自动或者全自动的关联,关联模型一般采用基于时间戳、概率统计、关联规则或者SQL模板学习等方法,从技术原理上看就很难达到100%的关联度,尤其在高并发、大流量情况下数据中台关联错误率大大提高。

现有技术中,在Web服务器前镜像HTTP双向数据,在sql服务器前镜像TDS双向数据。通过http返回的内容中包含的关键字与SQL返回的结果进行模糊匹配,匹配成功即将HTTP请求与SQL请求关联。这种方法在数据中台架构的大并发下,同一个时间维度下同类查询(结果集相近)的查询请求会错误关联,无法实现精确定位、精确溯源。

并且,现有技术中,关联用户HTTP请求事件与数据库的SQL响应事件后,对数据库中的数据保护措施,判断用户的异常操作,及还能对用户行为进行人物画像等操作还不完善,随时用户请求事件和数据库中的数据被进行攻击,窃取用户资料,盗取数据库数据。

发明内容

本发明其中一个目的是为了提出一种数据处理方法和装置,解决了现有技术中关联用户HTTP请求事件与数据库的SQL响应事件的技术问题。本发明优选实施方案中能够达到诸多有益效果,具体见下文阐述。

为实现上述目的,本发明提供了以下技术方案:

本发明的一种数据处理方法,其包括:

业务服务器为请求创建请求处理线程,其中,不同请求的请求处理线程相互隔离;

业务服务器在每个请求处理线程内,采用HTTP插件拦截web请求,并获取web请求数据,以及,采用SQL插件拦截SQL请求,并获取SQL请求数据;

业务服务器将每个请求处理线程内的web请求数据和SQL请求数据相互关联,得到关联数据。

进一步的,还包括:

业务服务器在服务启动后,采用JVM进程装载所述HTTP插件和所述SQL插件,所述HTTP插件和所述SQL插件采用java字节码插桩技术预先加入到处理请求的类中。

进一步的,所述业务服务器为web服务器或者API服务器。

进一步的,所述关联数据包括:用户IP、登陆账号、浏览器信息、请求URL、请求时间、请求标识、SQL语句、操作表名、数据字段名、SQL响应时间、SQL响应状态、SQL返回行数、数据库信息、Web服务器信息。

进一步的,还包括:

审计服务器从所述业务服务器获取所述关联数据,并根据所述关联数据进行数据保护,和/或,新型数据攻击检测。

进一步的,所述数据保护,包括:

基于语法分析进行SQL注入判定;和/或,

基于机器学习进行威胁分级。

进一步的,所述基于语法分析进行SQL注入判定,包括:

对所述关联数据进行SQL语句解析后,得到抽象语法树;

通过深度遍历所述抽象语法树,确定每个语句块的污点状况。

进一步的,所述基于机器学习进行威胁分级,包括:

使用Real Adaboost算法和FP-growth算法判断所述关联数据的威胁等级。

进一步的,所述新型数据攻击检测,包括:

采用大数据分析技术与机器学习技术,通过访问频次、访问时间、访问意图和访问行为识别新型数据攻击。

本发明还包括一种数据处理装置,其包括:

业务服务器,HTTP插件和SQL插件;

所述业务服务器,用于为请求创建请求处理线程,其中,不同请求的请求处理线程相互隔离;在每个请求处理线程内,采用HTTP插件拦截web请求,并获取web请求数据,以及,采用SQL插件拦截SQL请求,并获取SQL请求数据;将每个请求处理线程内的web请求数据和SQL请求数据相互关联,得到关联数据。

本发明提供的一种数据处理方法和装置至少具有如下有益技术效果:

1、解决数据中台架构下数据关联问题

通过非侵入软探针的形式部署,不受网络架构影响,支持虚拟化、云环境,满足分布式应用业务系统审计需求。实现了数据中台架构下,后台数据库访问与前台具体访问请求的精确关联,为事后安全事件的分析溯源提供精确的数据基础。

2、提升诸如撞库、拖库、薅羊毛等新型数据攻击的检测能力

传统数据库攻击者主要采用SQL注入、远程溢出和漏洞利用等方式,针对传统数据库攻击的防御主要通过防火墙等设备和通过特质匹配方式进行防御。而诸如撞库、拖库、恶意注册和薅羊毛等新型数据攻击,都是在现有安全防御体系允许的范围内开展,同时又不具备任何攻击特质,所以对新型数据攻击检测困难。针对新型数据攻击的特点,设计实现数据访问行为分析技术方案,采用大数据分析技术与机器学习技术,通过访问频次、访问时间、访问意图和访问行为识别新型数据攻击。

3、解决数据审计设备高误报的问题

传统数据库审计设备主要依赖规则,一方面针对已知攻击形式有一定防御,针对未知攻击无防护能力,另外一方面即使是已知攻击行为,由于正则表达式天生的局限性以及shell、php等语言的极其灵活多变的语法,存在防御机制绕过的问题。通过SQL语法分析技术对获取数据访问者提交的SQL请求进行语法分析,在不依赖规则库的情况下,通过语法分析判定数据请求合法性,从而解决数据库审计设备高误报的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的数据处理方法的流程示意图;

图2是本发明的数据处理方法的结构示意图;

图3是基于语法分析的SQL注入判定方法的SQL污点层次关系图;

图4是本发明的数据处理装置的结构示意图;

图5是本发明的数据处理装置的功能流程示意图;

图6本发明基于数据处理装置的系统的结构示意图。

图中1-业务服务器,2-HTTP插件,3-SQL插件。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

参见图1和图2,本发明的一种数据处理方法,其包括:

S1:业务服务器为请求创建请求处理线程,其中,不同请求的请求处理线程相互隔离;

S2:业务服务器在每个请求处理线程内,采用HTTP插件拦截web请求,并获取web请求数据,以及,采用SQL插件拦截SQL请求,并获取SQL请求数据;

S3:业务服务器将每个请求处理线程内的web请求数据和SQL请求数据相互关联,得到关联数据。

本发明将业务服务器的web请求数据和数据库的SQL请求数据进行100%相关联,在高并发、大流量情况下数据中台关联错误率大大降低。这种方法在数据中台架构的大并发下,同一个时间维度下同类查询(结果集相近)的查询请求不会错误关联,实现数据的精确定位、精确溯源。

优选地,本发明还包括:

业务服务器在服务启动后,采用JVM进程装载所述HTTP插件和所述SQL插件,所述HTTP插件和所述SQL插件采用java字节码插桩技术预先加入到处理请求的类中。

优选地,所述业务服务器为web服务器或者API服务器。

关联数据包括:用户IP、登陆账号、浏览器信息、请求URL、请求时间、请求标识、SQL语句、操作表名、数据字段名、SQL响应时间、SQL响应状态、SQL返回行数、数据库信息、Web服务器信息。

可以理解的是,

上述是本发明提出了基于数据中台架构的数据关联方法,具体操作为:

在Web服务器中部署一个软件探针,通过java字节码插桩技术在在Web中间件处理请求的类中加入拦截代码,通过监控应用程序Class,获取访问者对服务器发送的所有数据请求、获取服务器返回给访问者的数据内容。实现在不修改应用程序代码、不监控网络流量的前提下数据交互全过程监控。

软件探针部署在Web服务器或API服务器上,Web应用或API服务启动后,通过JVM进程装载HTTP插件库和SQL插件库。

在数据中台架构中,Web服务器与数据库服务器之间一般还会存在API服务器进行业务中转,本发明探针同样可以在API服务器部署,并支持多层转发,实现用户终端、Web服务器、API服务器、数据库服务器之间业务数据交互过程全监控。

当用户发起http请求时,Web服务器或API服务器创建请求处理线程,HTTP插件拦截web请求,生成web请求数据,其中,web请求数据包括:请求标识、获取元数据。

当JVM进程执行SQL请求时,通过SQL插件拦截SQL请求,同时记录SQL语句执行结果(即SQL请求数据),包括SQL操作元数据、操作类型、操作结果、返回行数等信息。

软件探针把线程之间进行隔离,所以web请求数据与SQL操作数据可以进行关联,关联准确度达到100%,关联的数据包括:用户IP、登陆账号、浏览器信息、请求URL、请求时间、请求标识、SQL语句、操作表名、数据字段名、SQL响应时间、SQL响应状态、SQL返回行数、数据库信息、Web服务器信息等,为事后数据分析提供精确的数据基础。

本发明,还包括:

审计服务器从所述业务服务器获取所述关联数据,并根据所述关联数据进行数据保护,和/或,新型数据攻击检测。

优选地,所述数据保护,包括:

基于语法分析进行SQL注入判定;和/或,

基于机器学习进行威胁分级。

优选地,所述基于语法分析进行SQL注入判定,和/或,基于机器学习进行威胁分级,均包括:

对所述关联数据进行SQL编码预处理及词法分析算法。

可以理解的是,基于前文中数据中台架构下的数据关联方法,能获取到用户HTTP请求数据以及SQL请求数据,并实现了100%的精准关联。本发明中简化了传统的SQL编码预处理及词法分析流程,基于已编码的SQL请求元数据,通过基于语法分析的SQL注入判定方法和基于机器学习的威胁分级技术实现数据中台架构下的数据保护。

所述基于语法分析进行SQL注入判定,包括:

对所述关联数据进行SQL语句解析后,得到抽象语法树;

通过深度遍历所述抽象语法树,确定每个语句块的污点状况。

需要说明的是,

基于语法分析的SQL注入判定方法是对SQL语句进行解析之后,得到包含代码语法信息的抽象语法树,通过深度遍历语法树,能检测每个子语句块的污点状况。将每层语句块的污点信息反馈给上级抽象语句块,层层反馈,最终能判断系统是否发生SQL注入攻击。

通过设计特定的数据结构用于记录污点信息,不仅能记录具体的污点语句对应的字符串信息,还能记录包含污点信息的语句在抽象语法树中的位置信息以及污点语句的Token状态信息。应用程序可以依据Token的状态分析攻击的类型,并根据不同的攻击类型设置不同类型的预警机制。用三叉树的结构形式描述污点节点的层次关系,结构如图3所示。

对图3进行解释:

每个节点的左子节点表示与该节点属于“兄弟”关系,在SQL语句块的层次关系中表示,两者在语义上处于同一层,即属于同一个语句块的不同成分。

每个节点的中间子节点描述当前语句块的Token所对应的字符污点状态,该节点为叶子节点。

每个节点的右子节点在SQL语句层次关系中,表示为该层节点所表示的语句块的子语句块。

该三叉树数据结构中,所有叶子节点中记录了污点数据信息,从根节点到叶子节点的路径表示了污点信息所在SQL语法树中的位置。图3所描述的数据结构中,若节点的左子节点为空,则表明不含兄弟语句块或者兄弟语句块中不含污点信息;若中间子节点为空,则表明当前节点的Token对应的字符串不含污点信息;若右子节点为空,则表明当前节点对应的语句块不含子语句块,或者是子语句块中不含有污点信息。节点描述了SQL语句块中各组成成分的Token信息及污点字符串信息,通过遍历上述二叉树,能清晰查找到污点信息所在语法树中的位置,本发明能以此为依据分析SQL注入攻击的形式。

基于语法分析的数据保护技术判断是否包含污点信息的算法过程描述如下:

(1)访问语法树的语句块,若当前语句块有子语句块,则递归访问子语句块,直到语句块不再含有子语句块。

(2)判断当前语句块是否还含有同等级的其它语句块,若有,则按步骤(1)深度遍历同等级的下一个语句块,并获取返回的子节点信息。若当前语句块的节点信息为空,则生成新的节点,新节点的右子节点和中子节点为空,返回节点为当前新节点的右子节点。若当前语句块节点信息不为空,则将返回的节点设置为当前节点的左子节点即可。

(3)判断当前语句块的Token对应的字符串是否为污点字符串,若为污点字符串,判断当前语句块的节点信息是否为空。若为空,则生成新节点及子节点,子节点用于记录当前Token对应的污点字符串,子节点为所生成的新节点的中子节点,新节点的左子节点和右子节点为空,若不为空,则将子节点设置为当前语句块节点的中间节点。

(4)判断当前语句块是否包含子语句块,若不包含子语句块,则按步骤(1)深度遍历子语句块的语法树,获取子语句块返回的节点信息。若当前语句块的节点信息为空,则生成新的节点,新节点的左子节点和中子节点为空,返回节点为当前新节点的右子节点。若当前语句块节点信息不为空,则将返回的节点设置为当前节点的右子节点即可。

(5)返回当前节点至上一层语句块,若当前节点为空,则返回空指针,若非空,则返回相应的节点。

上述算法最终通过判断SQL语句块返回的节点信息是否为空判断是否发生注入攻击,若为空,则表明没有发生注入攻击,否则证明发生攻击。若发生攻击,则节点信息对应的污点信息记录了详细的污点字符串信息及其所在的语句块的层次结构。可以根据层次结构判断具体的攻击类型。并根据不同的攻击类型设置相应的预警机制。

所述基于机器学习进行威胁分级,包括:

使用Real Adaboost算法和FP-growth算法判断所述关联数据的威胁等级。

需要说明的是,

本发明采用的机器学习算法是Real Adaboost算法和FP-growth算法,采用了语法树特征匹配的方法来实现SQL注入的防护,并提出了采用抽象语法树的5个特征,包括:子树的个数、树的高度、节点个数、第一棵子树节点的个数、首节点的类型。根据SQL编码预处理获取的信息,提取出字符串长度、编码次数、编码类型3个特征;根据词法分析算法获取的信息,提取出关键词数量、成对SQL关键词数量(如select…to…、insert…into…等)、不完整的引号数量、完整的引号数量、SQL是否含有注释符、是否含有连接符号等特征,对应token列表的每一项都可以作为特征使用。

威胁分级技术就是对Real Adaboost算法产生的分类结果具体化,根据用户输入类型及编码方式等特征将样本进行分级,只有在Real Adaboost算法产生的分类结果过于接近设置的阈值时,通过Real Adaboost算法产生的分类结果与FP-growth算法产生的关联规则相比对,共同决定该样本的分类结果。

Real Adaboost算法是在AdaboostM1算法的基础上增加了划分若干个不相交的子空间并给每个子空间分别计算并输出的功能,该算法的核心算法如下:

给定训练集:(X

训练集样本的初始分布:

循环t=1,2,..T:(T是若分类器的个数);

将每一维特征的取值空间划分为若干个不相交的子空间bins(X

计算每一个弱分类器的输出,

计算归一化因子,

选择Z最小的弱分类器h(x)作为该轮迭代选出的弱分类器,Z

更新样本分布D

最终的强分类器为:

由于需要的是输出的是样本的威胁程度。因此,最后强分类器的输出不需要减去阈值b,而是以百分制的形式输出,然后再与转化为百分制的阈值b比较,结果比较如下:

H(x)

H(x)-b<[(100-b)/3]时判断为低威胁;

[(100-b)/3]

H(x)-b>[2(100-b)/3]时判断为高威胁。

FP-growth算法是改进自Apriori算法的一种关联规则挖掘算法。该算法采用生成FP-tree的方法改进了Apriori算法的挖掘频繁项集的过程。该算法将扫描数据库的次数缩减为2次,第一次扫描数据库统计每个数据项的出现频率,第二次则创建FP树,然后通过FP树挖掘频繁项集。最后,通过频繁项集挖掘关联规则,这一步骤中不需要再次扫描数据库。

构建FP树的算法如下所示:

输入:数据集、最小值尺度;

输出:FP树、头指针表;

遍历数据集,统计各元素项出现次数,创建头指针表;

移除头指针表中不满足最小值尺度的元素项;

第二次遍历数据集,创建FP树。对每个数据集中的项集:

初始化空FP树;

对每个项集进行过滤和重排序;

使用这个项集更新FP树,从FP树的根节点开始:

如果当前项集的第一个元素项存在于FP树当前节点的子节点中,则更新这个子节点的计数值;

否则,创建新的子节点,更新头指针表;

对当前项集的其余元素项和当前元素项的对应子节点递归更新FP树的过程。

创建了FP树之后可以根据FP树来发现其中的频繁项集,主要分为3个步骤:从FP树中获得条件模式基;利用条件模式基,构建一个条件FP树;迭代重复上述步骤,直到树包含一个元素项为止。

获得频繁项集之后通过项的连接和剪枝可以挖掘出其中的关联规则。利用如某条规则并不满足最小可信度要求,那么该规则的所有子集也不会满足最小可信度要求这一规律,可以有效的提高关联规则的挖掘效率。

例如拥有频繁项集{1,2,3,4},则可能的关联规则有{1,2,3}→{4},{1,2}→{3,4},{1,4}→{2,3},{1}→{2,3,4}等共14条,如果{1,2,3}→{4}不满足设置的最小可信度要求,则任何以4为后缀的规则都不成立,可以排除掉其他6条以4为后缀的候选关联规则。

优选地,所述新型数据攻击检测,包括:

采用大数据分析技术与机器学习技术,通过访问频次、访问时间、访问意图和访问行为识别新型数据攻击。

需要解释的是,

本发明的新型数据攻击检测主要目的是构建用户的正常行为轮廓,通过比较当前的用户行为是否偏离用户行为模型,来判断当前用户行为是否异常。首先,是需要提取用户异常行为的特征;然后,应用数据分析方法从海量数据获得有价值信息,从中发现异常的用户行为。

用户行为建模需要考虑的问题包括:如何从众多的用户行为中选择合适的用户行为来构建用户模型,需要提取哪些用户属性来描述选定的用户行为,如何从已有的数据中提取合适的特征来赋值选定的用户属性。用户信任度评估模型分为2个阶段:预处理阶段以及日志行为信任度评估阶段。

预处理阶段包括:

1)元数据记录数据库:用于存储待评估或者已完成评估的元数据记录。

2)行为特征获取:根据日志记录的各种行为属性获取相关特征参数值。

3)信任评估方法参数:用于信任值评估方法,对评估结果好坏起着重要作用,可人为调整。

4)行为信任评估:使用信任值评估方法,对用户行为特征值进行处理分析。

5)信任值评估结果:通过信任值评估方法得到信任值评估结果。

6)综合分析对比:系统得到的信任值评估结果与实例样本进行对比,该对比结果将作用于日志记录数据库以及信任值评估方法参数中。

本发明采用的用户行为信任度等级分配策略是基于上述模型的工作思路,为评估方法提供重要参考依据。对于行为信任度等级越低的用户,其访问行为的危险级别越高,需要标记为可疑用户并采取有效措施限制其进行规范行为操作。目前暂时对用户行为信任度分成“极高”、“高”、“中”、“低”4个级别,分别对应的用户可疑级别为“正常”、“低度可疑”、“中度可疑”、“高度可疑”假设用户行为信任值为t。假设dl,dm,dh为区分用户行为信任度级别的阈值,那么基于用户行为信任度的可疑级别决策函数为:

本发明能够通过平均信任度和信任标准差两个指标,将信任度长期较高且状态稳定的用户加入“可信用户群体”的白名单中,对可信用户群体的用户只进行间断性行为信任结果抽查与更新。

日志行为信任度评估阶段,包括:

1.异常行为特征提取

根据用户几种主要异常操作数据,本发明按照不同维度来分片统计的方法进行异常行为特征提取。异常行为特征如下表所示。

2.异常行为分析模型

本发明基于w-iForest无监督算法作为异常检测模型,针对不同的异常检测场景,设计了以下各类用户异常行为分析模型:

(1)异常登陆设备指纹异常登录设备指纹异常登录包括同一个设备在一定时间段内,频繁注册、登录、修改或重置密码等操作设备指纹行为,非工作时间频繁登录等行为。根据发送指令字节数的不同,可以分析出用户登录的成功和失败。结合非侵入式软探针提供的用户日志数据,可以提炼出多种异常登录模型,如频繁登录、暴力破解、异地登录、撞库攻击等。暴力破设备指纹解和撞库攻击的共同点是同一个设备指纹有大量的登录操作,且每次登录的间隔时间很小或者设备指纹有固定的规律。不同点是暴力破解是同一用户名有很多次的密码尝试,且绝大部分都是登设备指纹录失败,成功次数较少。撞库攻击的特点是每个用户名基本上只实验一次,大部分是因为用户名不存在而失败。

(2)频繁登录:把用户登录系统的日志记录,与用户设备指纹进行融合,并做聚合分析,计算访问量的熵,访问量之间满足幂率定律。针对超出幂率定律的访问量、存在异常的可能性以及超出数量等级做报警提示。

(3)暴力破解:暴力破解的特点是程序执行,登录访问频率高,同一用户名,密码错误次数多。登录页面URL访问,根据学习建立时间序列模型,当访问与模型对比,出现异常,再根据登录URL成功与否、密码不正确错误登录次数、设备指纹用户性质判定频繁登录行为是否为暴力破解。如根据用户的允许错误密码最大次数、登录URL日志信息字节返回数来确定是否登录成功或失败等信息,对登录次数超过一定量(10次)的设备指纹进行分析。

(4)敏感的配置项(关键字)操作:擅自修改数据库信息,擅自修改其他账号数据库权限等。

(5)异地登录:客户登录不在用户注册地区登录,或者不在常用的访问区域登录。根据客户账号确定客户所在地区,IP登录信息获取客户登录所在地区,两者相互对比,不在同一地区即为异地登录。

(6)异常访问:通过收集访问者和服务器不同维度的访问记录,对协议进行深度剖析)关联分析及对比,判断是否为异常行为或未知威胁,进行预警和提前防范。

(7)高频操作:与其他用户频率相比,在一定时间段内,某人大量重复进行特定模式的操作,如在30分钟内频繁访问查询某信息系统超过100次。

(8)跨地域操作:异地IP频繁跨地域访问本地业务系统,进行与工作无关的操作,如上海某人经常访问北京某应用系统。

(9)敏感行为操作:某些正常的操作数量、频率异常,某些与实际工作无关或相关度低的操作。如一定时间内访问某业务系统次数激增,针对性地访问某些特定信息,大量模糊查询信息等。

(10)敏感关键字(条件)操作:在工作需要之外,查询、访问敏感信息。如查询领导个人信息,行程安排,获取知名人物信息,热点事件相关信息等。

(11)特殊的超低频操作:某些操作只有在特定的情况下才会出现,且出现频率很低。对于这类操作,出现时应引起关注。

(12)高频操作:频繁的数据库授权和取消。

(13)特殊的权限操作(提权):提升权限后,意味着可以对数据库、业务系统做更多的修改,带来更多安全风险,需要重点监控。

(14)数据导出操作:批量导出数据,大量的文件导出行为。

3.数据分析模型训练

①正向模型训练(正向推导法):正向模型训练指根据用户提供的特征值,数据分析直接得到训练样本。从日志中抽取出来用户信息,以各种维度进行统计,以经验预设的技战术模型为过滤处理,最终推导出嫌疑人名单。正向模型训练的结果可以进行人工修正。

②反向模型训练(反向挖掘法):反向模型训练根据用户提供的样例查找原始日志记录,对日志进行各个角度的分析后得到训练样本。根据异常人员的名单,挖掘出相似行为人员名单。反向训练的结果也可以进行人工修正。

③模型管理对模型训练得到的结果进行管理和维护。

④模型实时检测:选择模型对日志进行挖掘和分析,得到分析结果。如果得到的结果与实际情况有所偏差,可以通过模型管理对模型进行调整和维护。

⑤模型人工判定辅助:利用大数据可视化技术,系统提供数据分析的展示界面,作为人工判断的辅助手段。通过分析特征值,以直观的界面提供初步的分析结果,操作人员通过可视化结果,结合自身的业务经验对数据进行分析判断。

参见图4和图5,本发明还包括一种数据处理装置,其包括:

业务服务器,HTTP插件和SQL插件;

所述业务服务器,用于为请求创建请求处理线程,其中,不同请求的请求处理线程相互隔离;在每个请求处理线程内,采用HTTP插件拦截web请求,并获取web请求数据,以及,采用SQL插件拦截SQL请求,并获取SQL请求数据;将每个请求处理线程内的web请求数据和SQL请求数据相互关联,得到关联数据。

本发明实现了web请求数据和SQL请求数据的100%关联,降低数据中台关联错误率,还实现数据的精确定位、精确溯源,为后续对关联数据进行数据处理和分析提高了信任度高的基础。

需要说明的是,

本发明基于数据中台架构下的数据关联方法,实现了后台数据库访问与前台具体访问请求的精确关联,这些审计日志将作为数据关联分析的基础数据,通过大数据分析和机器学习等技术实现用户行为画像,并结合威胁情报库,有效防范sql注入、拖库、撞库攻击、数据机器人以及其他数据攻击。本发明能够提供从宏观到微观的各类风险数据的可视化展示,辅助分析决策,有效提升新形势下互联网业务数据和用户个人信息安全态势感知能力,将被动防御变主动防御,做到数据安全可视化,形成预警、通报、处置工作流闭环,有效防止数据泄露攻击造成的公司信誉受损和用户个人信息的泄露。

本装置的功能实现大致流程图如图4所示。

本装置实现的核心功能如下:

1)数据安全:防止利用合法身份或盗用身份,通过编制程序,模拟合法业务逻辑进行的批量信息导出或SQL注入攻击。

2)风控前置:在客户端访问还没有到达业务系统前,就实现人机识别,将整个风控体现延伸到客户端,实现风控前置。

3)业务安全:薅羊毛/黄牛党、撞库攻击、暴力破解、霸占库存、优惠券破解、操作加速和验证码绕过。

4)指纹追踪:客户端“唯一标识”和全景访问记录,识别隐蔽性和假冒客户端的攻击,精准追踪溯源。

5)加密监控:基于java插桩技术的软探针在应用层解密后进行数据全景监控,可解决了数据加密和数据审计的矛盾。

基于本发明的数据处理装置的系统架构,如图6所示,

1、信息获取层

非侵入式软探针核心技术是采用字节码插桩技术实现从程序中动态获得信息,它是在以获得程序动态运行信息为目的而向程序中插入额外代码的一项技术。利用插入的额外代码一方面是向数据访问者终端设备推送JS文件,实现访问终端指纹追踪。另一方面是通过代码对程序运行信息进行监控,本发明中主要是获取数据访问请求的五元组信息、SQL语句、访问时间及访问意图。

多维指纹获取模块主要是对设备指纹进行采集,结合非侵入式软探针植入到用户终端的JS文件实现。本发明中采用采集含有足够信息熵的特征参数,就足以对所有用户的浏览器进行区分。例如,用户代理字符串(User-Agent),其中包含名称,操作系统和浏览器的精确版本号。不同网站渲染文本或者采用WebGL对canvas(画布)元素渲染,所产生的像素是有差异的。从根本上来说,每一种终端设备都会使用不同的图像处理引擎,不同的导出选项,不同的压缩等级,所以每一台电脑绘制出的图形都会有些许不同,这些图案可以被用来给用户设备分配特定编号(指纹),可以用来识别不同用户。该JS文件首先绘制文本,其选择的字体和大小,并增加了背景色。接下来,该脚本调用画布的API,取得dataURL格式画布的像素数据,它基本上是二进制像素数据的Base64编码表示。最后,该脚本采用文本编码像素数据的哈希值,其用作用户设备指纹,为追踪溯源和协同防御提供依据。

业务威胁情报模块,主要汇集了恶意手机号、邮箱、IP和行为等信息,主要用于为后期新型数据攻击的行为分析模块提供数据支撑。

2、安全大数据层

安全大数据分析平台使用Elasticsearch作为日志数据、告警数据、包字符串数据(PSTR)和会话数据的存储引擎,分别对日志数据、告警数据和会话数据建立对应的索引,提供了快速的数据关联分析和数据回放功能,为后续的可疑异常行为辨别提供了重要依据。

数据存储模块主要负责接收来自非侵入软探针提交的信息,对数据集进行数据预处理操作,通过数据清洗、过滤等方式筛除数据中的无用字段以及无效字段,生成格式化元数据并进行存储。

综合分析模块利用处理后的数据集用来做特征提取工作,根据数据集的特性提取出能够有效表达用户行为、区分正常与异常用户之间的特性的特征,继而检测采集数据中潜在的异常行为。

传统数据库审计设备主要依赖规则,一方面针对已知攻击形式有一定防御,针对未知攻击无防护能力,另外一方面即使是已知攻击行为,由于正则表达式天生的局限性以及shell、php等语言的极其灵活多变的语法,存在防御机制绕过的问题。因此,系统设计通过SQL语法分析技术对获取数据访问者提交的SQL请求进行语法分析,在不依赖规则库的情况下,通过语法语义分析判定数据请求合法性,结合基于机器学习的威胁分级技术,解决数据库审计设备高误报的问题。

除了SQL语法分析技术,针对诸如撞库、拖库、恶意注册和薅羊毛等现有安全防御体系难以检测的新型数据攻击,通过对SQL流量行为进行更深层次的分析和挖掘,设计实现了数据访问行为分析技术方案,采用大数据行为分析技术,通过访问频次、访问时间、访问意图和访问行为识别新型数据攻击。通过对网络中特定对象网络访问情况的长期监测和流量采集,基于机器学习技术自动归纳出针对该对象的访问关系模型,将实时访问数据与访问关系模型进行匹配,识别偏离访问关系模型的异常访问,并结合指纹信息、威胁情报信息进行发散关联分析和溯源计算,找到隐藏在海量数据请求中的可疑行为,发现网络中的高级攻击和未知威胁,超越传统数据库审计设备特质匹配及防火墙IP与端口过滤的感知能力。

结果分析模块将处理好的特征集输入到机器学习模型中,这部分采用了w-iForest算法作为异常检测模型,形成用户行为画像,针对事件库中的新型数据攻击告警的威胁信息进行异常判定,进一步提升威胁告警的准确性。

3、功能展示层

主要展示实时数据访问情况、资产概况、业务受损、时间段攻击总数、受损资产、攻击回溯和攻击数据等图表信息,方便直观的了解当前多业务往来安全态势、数据资产安全状况及攻击行为等情况,结合攻击的种类、频次、影响范围综合评定等级,直观的向用户展示当前防护的数据资产正在遭受的攻击和受损状态。帮助用户定位重点,便于客户及时了解受损情况并快速定位受损数据资产、确定影响范围、形成应急处理方案。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
  • 药箱的数据处理方法、装置、数据处理方法和装置
技术分类

06120112194327