CN104639565B - 一种从服务器访问资源的方法 - Google Patents
一种从服务器访问资源的方法 Download PDFInfo
- Publication number
- CN104639565B CN104639565B CN201510099993.7A CN201510099993A CN104639565B CN 104639565 B CN104639565 B CN 104639565B CN 201510099993 A CN201510099993 A CN 201510099993A CN 104639565 B CN104639565 B CN 104639565B
- Authority
- CN
- China
- Prior art keywords
- database
- service request
- order
- application interface
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种从服务器访问资源的方法,该方法包括:对多层信息平台的数据库访问操作的模式进行统计学习和参数匹配,基于匹配结果识别的数据访问路径,得到最终访问者的信息。本发明提升了识别方法在复杂系统环境下的准确性,提高了参数比较的精确性。
Description
技术领域
本发明涉及信息系统,特别涉及一种从服务器访问资源的方法。
背景技术
随着医疗行业对以医疗质量为核心信息系统的依赖性日益增强,数据库等核心信息资产的安全问题越来越受到企业的关注。在此背景下,各种面向应用层的数据库安全解决方案开始得到应用。这些解决方案的普遍模式是:首先采集每一个数据访问活动的发起者(信息源)及其操作特征,然后识别和重现每一个独立信息源在一定时间窗内的活动序列即访问路径,以进行深入的行为分析和异常发现。
对于这些安全方案而言,识别出每一个单独数据库操作的源信息(包括用户识别信息,终端识别信息等),进而重建其访问路径,是正确应用行为分析模块的关键。但是另一方面,当前的医疗管理信息系统大多采用多层信息架构,往往在一个系统中,会包含多层中间件或中间层应用系统。在此情况下,当访问操作从用户端发起后,需要流经多个异构系统,以层级代理方式被多次重装和转换后,最终进入数据库系统处理队列。比如,在采用B/S架构的企业资源规划(ERP)系统中,用户虽然以自身账号登录Web系统(如Servlet等)并执行业务操作,但最终的数据库访问请求是由该Web系统生成并提交给数据库。因此,数据库系统所记录的轨迹信息中所体现的发起者源信息往往只是指向某一中间层系统,而非其最初始访问点,导致数据库安全解决方案无法正确分析。
针对这一问题,主流厂商引入了专门的嵌入式监控模块,扩展了底层数据通信协议,但这些方案只适用于企业内部所有相关系统都来自同一厂商,或者与之兼容的情况。而对于大多数企业,若想应用该方案,只能对其现有各系统进行重构,其成本和时间往往难以承受。
因此,针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。
发明内容
为解决上述现有技术所存在的问题,本发明提出了一种从服务器访问资源的方法,用于多层信息平台,包括:接收用户对多层信息平台的数据库访问操作;
对所述数据库访问操作的模式进行统计学习和参数匹配;
基于参数匹配结果识别的数据访问路径,得到最终访问者的信息。
优选地,所述数据库访问操作包括以下步骤:
用户使用终端系统通过应用程序界面向中间层应用系统提交业务操作命令,向指定URL发送HTTP封包,用户请求来源信息被记录在业务请求数据封包中,将该业务请求标记为变量r;
中间层应用系统的对应应用接口收到业务请求r,分析其中的请求来源标识,验证合法性,当验证通过后,系统调用中间件完成相关计算并生成一条或多条数据库访问命令并依次发送给数据库系统,每条数据库访问命令标识为变量q;
数据库系统在收到命令q后,将其排入队列直至执行完毕,得到执行结果fq,返回给中间层应用接口;
中间层应用接口在得到数据库命令执行结果fq后,将与此次业务操作有关的全部数据库访问命令依次发送给数据库系统,或将根据返回结果进一步生成的新的数据库访问命令发送给数据库系统,直至全部执行完毕,将最终业务操作结果fr返回给初始用户。
本发明相比现有技术,具有以下优点:
使用改进的时间窗和请求匹配,作为统计学习的重要规则,还提供了专门针对数据操作命令类型和单个请求来源数据操作参数的统计学习匹配功能,从而提升了识别方法在复杂系统环境下的准确性;兼顾了中间应用层保存并提交参数的情况;以相关性计算替代简单的等值比对,提高了参数比较的精确性。
附图说明
图1是根据本发明实施例的从服务器访问资源的方法的流程图。
具体实施方式
下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代,修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。
图1是根据本发明实施例的从服务器访问资源的方法流程图。本发明的一方面提供了一种从服务器访问资源的方法,用于识别数据访问路径,使基于多层次异构平台的企业应用系统中,数据库服务器能够准确识别出数据操作的真实来源。该方法的主要环节包括:
(1)基于时间序列的统计学习过程,具体包括命令模式的抽取与匹配,业务应用请求与数据库操作请求的参数匹配及服务器端参数序列匹配。(2)基于匹配模板的数据访问路径识别,实现数据库日志和安防系统对最终访问者的追踪操作。
首先,在多层信息系统架构下,一次典型的数据库访问操作可以分解为以下步骤:
(1)用户使用自己的终端系统,通过应用程序界面,向中间层应用系统提交业务操作命令,比如向指定URL发送HTTP封包。在此步骤中,真实请求来源信息被记录在业务请求数据封包中,本发明将该业务请求标识为变量r。
(2)中间层应用系统的对应“应用接口”(即该系统中完成特定业务功能的子模块)收到业务请求r,分析其中的请求来源标识以验证合法性。验证通过后,系统将调用若干中间件或类似模块,完成相关计算并生成一条或多条数据库访问命令并依次发送给数据库系统。本发明用变量q表示每条数据库访问命令。
(3)数据库系统在收到命令q后,将其排入队列直至执行完毕,得到执行结果fq,将其返回给中间层应用接口。
(4)中间层应用系统在得到数据库命令执行结果fq后,根据业务逻辑要求,在需要时继续重复步骤(2)和步骤(3),将与此次业务操作有关的全部数据库访问命令(或根据返回结果进一步生成的新的数据库访问命令)依次发送给数据库系统,直至全部执行完毕,将最终业务操作结果fr返回给初始用户。这些数据库访问命令被称作由业务请求r触发。
统计学习过程
本发明提出的数据访问路径识别方案,首先需要对多层信息架构中的日常数据库访问模式进行统计学习。其统计学习过程包含4个方面:(1)样本数据采集;(2)中间层应用系统数据库命令模式识别;(3)业务请求集合R与数据库操作命令集合Q的操作参数匹配;(4)对仅存储于服务器端的用户参数进行序列匹配。
1.样本数据采集
数据访问路径识别方法的训练样本主要来自于各层系统的日志文件,包括以下不间断日志信息:
(1)业务请求数据(来自于各中间层业务系统日志),表示为业务请求集合R={r1,…,rn},其中每单条业务请求记录ri中须包含前一发起者的地址信息,发起用户账号(针对第1层中间应用系统),业务操作参数(将被转化为数据库操作参数),请求发起时间及目标应用接口的标识。
(2)数据库命令记录(来自于数据库系统日志),表示为数据库操作命令集合Q={q1,…,qm},其中每单条操作命令记录须包含目标数据库名称,SQL或其它类型的操作命令字符串以及命令提交时间等。操作命令字符串由专门语法解析模块分解为命令模式cj和操作参数向量pi两部分。
(3)数据库操作结果反馈集合Fq={fq1,…,fqm},其中每个结果反馈信息fqi均对应于相应的数据库操作命令qi∈Q。对于大多数常见数据库系统的通信协议数据结构,二者间对应关系可以通过侦听封包中的端口号和命令流水号(sequence ID)准确判断。
(4)中间层系统业务操作结果反馈集合Fr={fr1,…,frn},其中每个反馈记录fri均对应到单个业务请求ri。一般而言,通过记录比较各请求和反馈数据封包的会话ID(session ID)和应用接口标识,能够准确识别出二者间的对应关系。
2.命令模式识别
数据库操作命令模式依赖于不同的应用接口,因此应当首先匹配出各个命令模式与每个应用接口之间的对应关系。这样,路径重建方法在对特定数据库操作命令追踪时,可以迅速将候选范围缩小到针对该应用接口的业务请求。该匹配过程方法如下:
(1)首先,对于每个操作命令字符串qi∈Q={q1,…,qm},调取其由专门语法解析模块分解得到的命令模式cj和操作参数向量pi,进而构建全部命令模式向量C=(c1,…,cw),w<m。对于每个ri∈R={r1,…,rn},抽取其应用接口标识aj,进而得到全部应用接口标识向量A=(a1,…,at),t<n。构建零矩阵Ma=(mi,j)w×t作为对应关系的初始矩阵。
(2)设定微小值ε作为时间窗跨度值。对于给定的操作命令qi∈Q,查找业务请求子集使每个rk∈R'i→T(rk)<T(qi)<T(fqi)<T(frk),且T(frk)-T(rk)≤ε。其中T是事件发生时间,fqi是与操作命令qj对应的结果反馈,frk是对业务请求rk的结果反馈。
(3)设数据库操作命令qi的命令模式为cm,而业务请求rk∈R'i的应用接口标识为an,找出所有rk∈R'的对应接口an,并将关系矩阵Ma的对应元素mm,n数值增加1。
(4)枚举Q中全部元素,对其重复步骤(2)和步骤(3)。
(5)计算向量V=(v1,…,vw),其中并指定上限阈值θu≤1和下限阈值θb。然后,重新计算关系矩阵Ma,使其中每个元素:
此时所得关系矩阵中,若元素mi,j值为-1,表示ci与aj之间存在显著对应关系;若元素mi,j值为0,则表示无对应关系。
(6)以关系矩阵Ma为基础,在训练样本中移除对应关系已经明确(mi,j≤0)的请求和响应记录;然后调整阈值θb与θu,对新样本重新进行统计学习过程直至收敛。最终无法明确关系的请求和反馈被视作干扰项。
经过上述步骤后,最终得到的矩阵Ma即可视作命令模式与应用接口间的映射模型,作为供后续参数匹配的基础。另外,用于低并发系统时,当识别出特定数据库操作请求的命令模式并通过Ma对应到应用接口后,如果在规定时间窗跨度内该应用接口只有一个访问用户,则可以跳过后续步骤,直接将该用户定位为请求来源。
3.R与Q之间的操作参数匹配
对于高并发的应用系统环境,无法仅依照上述步骤所得矩阵Ma直接判断请求来源用户。可以对单个业务请求r∈R和单个或多个数据库操作命令q∈Q之间的操作参数进行匹配判断,进一步辅助请求来源识别。为建立二者操作参数之间的匹配关系,需要按以下规则对训练样本进行统计学习:
(1)在构建的矩阵Ma中,选取一对具备明确对应关系的命令模式c和应用接口a;然后在请求集合R和操作命令集合Q中分别抽取子集和使对于全部r'∈R',存在q'∈R',使r'与q'之间的关系可以直接由c和a确定。
(2)设r'中包含的全部操作参数可由向量(p1,…,pn)表示,q'中包含的全部操作参数可由向量(p'1,…,p'm)表示,将R'和Q'中全部元素的参数向量整合为向量组P和P'。
(3)计算P和P'之间的相关系数矩阵,然后得到映射关系向量其中每个元素均为显著相关的系数对,i和j为对应命令模式c和应用接口a的序号。
(4)对中的每个参数对,从对应P和P'中抽取3个或更多参数值,作为对应比较向量。
(5)重复步骤(1)~(4),直到所有Ma中全部明确对应关系均被遍历。此时得到的最终Mp向量组和其对应的比较向量即可作为业务请求与数据库请求间的参数匹配模板。
在实际监控应用中,侦听设备可以将待匹配的数据库访问请求的参数值及疑似源业务请求的参数值添加至相应序号的比较向量中,然后重新计算其相关系数。如果所得结果仍然指向显著相关,则该业务请求可以被估算为该数据库请求的来源,实现信息路径重建。
4.服务器端参数序列匹配
在一些企业应用中,数据库操作所用到的很多用户参数只需用户提交一次,然后被存储于应用接口所在的服务器端,由应用服务器按需发送给数据库服务器。由于用户提交的业务访问请求中不再包含这些参数,因此难以用方案3的方法实现参数序列匹配。可以通过对服务器端的参数进行统计学习训练,构建相应匹配模板Mq。该统计学习过程与以上所示相同,只是数据来源有所区别。
实时识别过程
基于本方法构建的数据访问路径实时识别过程主要依托于2个模块:(1)数据探针。接入各层应用服务域,在数据传递路径中的全部环节中采集封包,作为初始统计学习和实际实时监控的数据来源。(2)中央监控机。将各探针采集的数据封包进行整合,根据训练所得的各匹配模板进行实时逐层匹配,最终重现出每一数据库访问的完整路径信息,提交给各类应用层数据库安防系统进行分析。与训练过程不同的是,反馈集合fr和fq将不会被应用到实时监控系统中。这是因为数据库安防系统一般被设计尽可能在数据库做出命令响应之前涉入,这样一旦发现行为异常,会及时通知数据库服务器中断响应。
首先,全部业务请求数据将被采集并置入业务请求缓存队列R-Cache。当某个数据库操作请求被捕获时,中央监控机将抽取其命令模式,运用矩阵Ma识别其应用接口。如果R-Cache中当前时间窗跨度内只有一个业务请求指向该应用接口,则系统直接将其作为该数据操作路径的请求来源;否则,如果存在有效的参数比较向量则将该数据库操作的操作参数置入并重新计算相关性;如果不存在则尝试在服务器端参数比较模式Mq中进行匹配。如果上述步骤均未找到合适的比较向量或计算结果为不相关,则视作干扰项。
综上所述,本发明提出的方法使用改进和请求匹配作为统计学习的重要规则,还提供了专门针对数据操作命令类型和单个请求来源数据操作参数的匹配功能,从而提升了识别方法在复杂系统环境下的准确性;兼顾了中间应用层保存并提交参数的情况;以相关性计算替代简单的等值比对,提高了参数比较的精确性。
显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改,等同替换,改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界,或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (1)
1.一种从服务器访问资源的方法,用于在多层信息平台中识别数据访问路径,其特征在于,包括:
对多层信息平台的数据库访问操作的模式进行统计学习和参数匹配,
基于匹配结果识别的数据访问路径,得到最终访问者的信息;
所述数据库访问操作包括以下步骤:
用户使用终端系统通过应用程序界面向中间层应用系统提交业务操作命令,向指定URL发送HTTP封包,用户请求来源信息被记录在业务请求数据封包中,将该业务请求标记为变量r;
中间层应用系统的对应应用接口收到业务请求r,分析其中的请求来源标识,验证合法性,当验证通过后,系统调用中间件完成相关计算并生成一条或多条数据库访问命令并依次发送给数据库系统,每条数据库访问命令标识为变量q;
数据库系统在收到命令q后,将其排入队列直至执行完毕,得到执行结果fq,返回给中间层应用接口;
中间层应用接口在得到数据库命令执行结果fq后,将与此次业务操作有关的全部数据库访问命令依次发送给数据库系统,或将根据返回结果进一步生成的新的数据库访问命令发送给数据库系统,直至全部执行完毕,将最终业务操作结果fr返回给初始用户;
所述统计学习包含对中间层应用系统数据库的命令模式识别,并且所述命令模式识别进一步包括:
在对特定数据库操作命令追踪时,首先匹配出各个命令模式与每个应用接口之间的对应关系,以将候选范围缩小到针对该应用接口的业务请求,首先,对于每个操作命令字符串qi∈Q={q1,…,qm},其中Q为数据库操作命令集合,调取其由专门语法解析模块分解得到的命令模式cj和操作参数向量pi,进而构建全部命令模式向量C=(c1,…,cw),w<m,对于每个ri∈R={r1,…,rn},其中R为业务请求集合,抽取其应用接口标识aj,进而得到全部应用接口标识向量A=(a1,…,at),t<n,构建零矩阵Ma=(mi,j)w×t作为对应关系的初始矩阵;
设定时间窗跨度值ε,对于给定的操作命令qi∈Q,查找业务请求子集使每个且其中T是事件发生时间,是与操作命令qi对应的结果反馈,是对业务请求rk的结果反馈;设数据库操作命令qi的命令模式为cm,而业务请求rk∈R'i的应用接口标识为an,找出所有rk∈R'i的对应接口an,并将矩阵Ma的对应元素mm,n数值增加1;利用上述操作枚举Q中全部元素;
计算向量V=(v1,…,vw),其中并指定上限阈值θu≤1和下限阈值θb,重新计算矩阵Ma,使其中每个元素:
此时所得关系矩阵中,若元素mi,j值为-1,表示ci与aj之间存在显著对应关系;若元素mi,j值为0,则表示无对应关系;以矩阵Ma为基础,在训练样本中移除对应关系已经明确(mi,j≤0)的请求和响应记录;然后调整阈值θb与θu,对新样本重新进行统计学习过程直至收敛,最终无法明确关系的请求和反馈被视作干扰项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510099993.7A CN104639565B (zh) | 2015-03-06 | 2015-03-06 | 一种从服务器访问资源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510099993.7A CN104639565B (zh) | 2015-03-06 | 2015-03-06 | 一种从服务器访问资源的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104639565A CN104639565A (zh) | 2015-05-20 |
CN104639565B true CN104639565B (zh) | 2017-11-10 |
Family
ID=53217878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510099993.7A Expired - Fee Related CN104639565B (zh) | 2015-03-06 | 2015-03-06 | 一种从服务器访问资源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104639565B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226550A (zh) * | 2008-01-28 | 2008-07-23 | 中国工商银行股份有限公司 | 电子银行网站客户行为及信息处理方法及系统 |
CN101505243A (zh) * | 2009-03-10 | 2009-08-12 | 中国科学院软件研究所 | 一种Web应用性能异常侦测方法 |
CN102364468A (zh) * | 2011-09-29 | 2012-02-29 | 北京亿赞普网络技术有限公司 | 一种用户网络行为分析方法、装置和系统 |
CN102377583A (zh) * | 2010-08-09 | 2012-03-14 | 百度在线网络技术(北京)有限公司 | 统计网站流量的方法及系统 |
CN102411573A (zh) * | 2010-09-20 | 2012-04-11 | 百度在线网络技术(北京)有限公司 | 一种基于网页中的网页访问者行为的信息获取方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128231A1 (en) * | 2002-01-09 | 2003-07-10 | Stephane Kasriel | Dynamic path analysis |
TWI393047B (zh) * | 2009-06-30 | 2013-04-11 | Accton Technology Corp | 一種智慧型顯示裝置 |
-
2015
- 2015-03-06 CN CN201510099993.7A patent/CN104639565B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226550A (zh) * | 2008-01-28 | 2008-07-23 | 中国工商银行股份有限公司 | 电子银行网站客户行为及信息处理方法及系统 |
CN101505243A (zh) * | 2009-03-10 | 2009-08-12 | 中国科学院软件研究所 | 一种Web应用性能异常侦测方法 |
CN102377583A (zh) * | 2010-08-09 | 2012-03-14 | 百度在线网络技术(北京)有限公司 | 统计网站流量的方法及系统 |
CN102411573A (zh) * | 2010-09-20 | 2012-04-11 | 百度在线网络技术(北京)有限公司 | 一种基于网页中的网页访问者行为的信息获取方法和系统 |
CN102364468A (zh) * | 2011-09-29 | 2012-02-29 | 北京亿赞普网络技术有限公司 | 一种用户网络行为分析方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104639565A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679870B (zh) | 一种用于信息系统的数据获取的方法 | |
EP3591586A1 (en) | Data model generation using generative adversarial networks and fully automated machine learning system which generates and optimizes solutions given a dataset and a desired outcome | |
US20200012934A1 (en) | Automatically scalable system for serverless hyperparameter tuning | |
CN103297435B (zh) | 一种基于web日志的异常访问行为检测方法与系统 | |
WO2020119430A1 (zh) | 协议接口测试方法、装置、计算机设备和存储介质 | |
EP2244418B1 (en) | Database security monitoring method, device and system | |
US8972336B2 (en) | System and method for mapping source columns to target columns | |
US11256683B2 (en) | Method and apparatus for integrating multi-data source user information | |
EP3713191B1 (en) | Identifying legitimate websites to remove false positives from domain discovery analysis | |
CN106502907B (zh) | 一种基于执行轨迹追踪的分布式软件异常诊断方法 | |
CN111552933A (zh) | 一种账号异常登录的识别方法与装置 | |
Estevez-Tapiador et al. | Detection of web-based attacks through Markovian protocol parsing | |
US20230091402A1 (en) | Systems and methods for expanding data classification using synthetic data generation in machine learning models | |
CN104657491B (zh) | 一种向客户端发送数据的方法 | |
CN106888106A (zh) | 智能电网中的it资产大规模侦测系统 | |
EP3396558B1 (en) | Method for user identifier processing, terminal and nonvolatile computer readable storage medium thereof | |
CN107329888A (zh) | 智能合约操作码覆盖率计算方法和系统 | |
CN105930727A (zh) | 基于Web的爬虫识别算法 | |
CN105556552A (zh) | 欺诈探测和分析 | |
CN113918526B (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
US11290325B1 (en) | System and method for change reconciliation in information technology systems | |
CN107426148A (zh) | 一种基于运行环境特征识别的反爬虫方法及系统 | |
CN117931953B (zh) | 一种异构数据库数据同步的方法及系统 | |
Qiu et al. | Crowdeval: A cost-efficient strategy to evaluate crowdsourced worker's reliability | |
CN116349211A (zh) | 基于自注意力的深度学习的分布式轨迹异常检测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171110 Termination date: 20190306 |