用户识别方法及设备的制造方法

文档序号:10512567阅读:364来源:国知局
用户识别方法及设备的制造方法
【专利摘要】本发明的目的是提供一种用户识别方法及设备,本申请通过提取服务器与数据库之间交互的用户的业务流;根据所述用户的业务流识别用户及与该用户关联的操作。本申请是基于业务流的用户识别,在实际中只需要抓取到server和database之间的数据流,即可对CS模式下的用户成功识别,可解决CS网络部署模式下的真实用户追踪失效问题,可以识别出被审计数据库的使用者信息,即可对各用户的操作进行识别和关联。
【专利说明】
用户识别方法及设备
技术领域
[0001] 本发明涉及计算机领域,尤其涉及一种用户识别方法及设备。
【背景技术】
[0002] 随着计算机信息技术以及互联网的急速发展,企业数据库信息的价值得到了提 升,同时,也使数据库信息资产面临严峻的挑战。"谁"访问了那些"数据"是数据库审计产品 必须给出的答案。但是在面对CS的三层模式时这个问题就变得难以解决甚至无法解决。
[0003] 本发明的审计对象是CS模式,其模式结构包括cl ient、server和database三部分, 如图1中所示。CS模式详细说明如下:
[0004] 1 .client与server之间通过第三方未知协议通信,我们无法对其进行协议还原甚 至是无法进行数据采集;
[0005] 2. server与database之间使用SQL协议通信,我们可进行物理监听和业务数据解 析还原;
[0006] 3. client端的usrl,usr2和usr3使用在server上的独立用户名进行身份验证和后 续操作;
[0007] 4. server(服务器)使用dbuser用户名在database(数据库)上进行认证并操作数 据;
[0008] 5.usrl,usr2和usr3通过server间接使用dbuser用户操作database。
[0009] 以上描述了 CS三层业务模式数据库访问部署的工作原理,通过以上描述我们可以 发现cl ient上的usrl,usr2和usr3间接操作database都将由server转换为dbuser对数据库 database的操作。由于只能在E点对server和database之间的数据进行有效审计和监控,因 此如果database上的敏感数据发生变动则审计系统只能直接追踪到用户dbuser而不能确 认是usrl,usr2和usr3中的哪一个用户进行了该操作,这就是CS三层模式下数据库审计系 统的一个盲区及审计失效。

【发明内容】

[0010]本发明的一个目的是提供一种用户识别方法及设备,能够解决当前三层数据库访 问部署方式下数据库审计的盲区及审计失效的问题。
[0011] 根据本发明的一个方面,提供了一种用户识别方法,该方法包括:
[0012] 提取服务器与数据库之间交互的用户的业务流;
[0013] 根据所述用户的业务流识别用户及与该用户关联的操作。
[0014] 进一步的,上述方法中,所述业务流包括:
[0015] 用户的权限校验操作、数据操作和日志记录操作。
[0016] 进一步的,上述方法中,根据所述用户的业务流识别用户及与该用户关联的操作, 包括:
[0017] 从所述用户的业务流识别出用户;
[0018] 从所述用户的业务流识别出操作,将所述操作关联至该识别出的用户。
[0019] 进一步的,上述方法中,从所述用户的业务流识别出用户,包括:
[0020] 将业务流中的每条操作语句抽离成语法部分和数值部分;
[0021] 根据语法部分识别出操作;
[0022] 根据识别出的操作从所述数值部分的对应位置识别出用户。
[0023] 进一步的,上述方法中,从所述用户的业务流识别出操作,包括:
[0024] 将业务流中的每条操作语句抽离成语法部分和数值部分;
[0025] 根据语法部分识别出操作。
[0026]进一步的,上述方法中,所述操作语句为SQL语句。
[0027]根据本发明的另一方面,还提供了一种用户识别设备,该设备包括:
[0028]提取装置,用于提取服务器与数据库之间交互的用户的业务流;
[0029] 识别装置,用于根据所述用户的业务流识别用户及与该用户关联的操作。
[0030] 进一步的,上述设备中,所述提取装置,提取的业务流包括:
[0031] 用户的权限校验操作、数据操作和日志记录操作。
[0032] 进一步的,上述设备中,所述识别装置包括:
[0033] 识别模块,用于从所述用户的业务流识别出用户;
[0034] 关联模块,用于从所述用户的业务流识别出操作,将所述操作关联至该识别出的 用户。
[0035] 进一步的,上述设备中,所述识别模块,用于将业务流中的每条操作语句抽离成语 法部分和数值部分;根据语法部分识别出操作;及根据识别出的操作从所述数值部分的对 应位置识别出用户。
[0036] 进一步的,上述设备中,所述关联模块,用于将业务流中的每条操作语句抽离成语 法部分和数值部分;及根据语法部分识别出操作。
[0037]进一步的,上述设备中,所述操作语句为SQL语句。
[0038]与现有技术相比,本发明的目的是提供一种用户识别方法及设备,本申请通过提 取服务器与数据库之间交互的用户的业务流;根据所述用户的业务流识别用户及与该用户 关联的操作。本申请是基于业务流的用户识别,在实际中只需要抓取到server和database 之间的数据流,即可对CS模式下的用户成功识别,可解决CS网络部署模式下的真实用户追 踪失效问题,可以识别出被审计数据库的使用者信息,即可对各用户的操作进行识别和关 联
【附图说明】
[0039]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它 特征、目的和优点将会变得更明显:
[0040]图1示出现有的三层数据库访问模型;
[0041 ]图2示出根据本发明一实施例的用户业务流示意图;
[0042] 图3示出本发明一实施例的业务流数据库访问序列示例图。
[0043] 附图中相同或相似的附图标记代表相同或相似的部件。
【具体实施方式】
[0044] 下面结合附图对本发明作进一步详细描述。
[0045] 在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个 处理器(CPU)、输入/输出接口、网络接口和内存。
[0046] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或 非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的 示例。
[0047] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法 或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。 计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动 态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除 可编程只读存储器(EEPR0M)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、 数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或 任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机 可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0048] 本申请提供一种用户识别方法,该方法包括:
[0049] 提取服务器与数据库之间交互的用户的业务流;
[0050] 根据所述用户的业务流识别用户及与该用户关联的操作。本实施例是基于业务流 的用户识别,在实际中只需要抓取到server和database之间的数据流,即可对CS模式下的 用户成功识别,可解决CS网络部署模式下的真实用户追踪失效问题,可以识别出被审计数 据库的使用者信息,即可对图1中的usrl,usr2和usr3各用户的操作进行识别和关联。
[0051] 本申请用户识别方法一优选的实施例中,所述业务流包括:
[0052]用户的权限校验操作、数据操作和日志记录操作。具体的,用户在server(服务器) 上的操作都会触发server进行一系列的数据库访问操作,例如,图2中,用户在server上执 行了查看订单的操作,则server后台进行了相关的权限校验、数据获取和日志记录三个数 据库相关操作,本发明中将用户这种相关操作触发的一系列数据库行为定义为一个用户的 业务流。在此,通过业务流中的用户的权限校验操作、数据操作和日志记录操作可以精确识 别出用户及其关联的操作。
[0053] 本申请用户识别方法一优选的实施例中,根据所述用户的业务流识别用户及与该 用户关联的操作,包括:
[0054] 从所述用户的业务流识别出用户;
[0055] 从所述用户的业务流识别出操作,将所述操作关联至该识别出的用户。通过用户 业务流的提取,可以将用户在server上的一系列操作对应为一个个业务流,而每个业务流 中只要识别出其一条SQL语句对应的用户对象则即可识别出该业务流操作对应的用户对 象。详细的,图3示例了一个业务流中的数据库访问序列。图3的示例中,该条业务流包含三 条数据库操作语句,其中操作语句1和3中都包含有用户userl的用户标识符,通过对操作语 句1和3的用户标识符的提取可识别操作行为为userl所触发及该业务流中的所有操作为 user 1所触发。操作语句2属于该业务流,因此语句2也属于用户user 1触发。user 1为server 上的用户,绝大部分server会对user 1进行权限校验和行为跟踪操作,通过这些操作每个业 务流必然含有可识别userl身份的数据库操作语句,通过这些语句我们可以识别一个业务 流进而识别出每个数据库操作行为对应的用户。
[0056] 本申请用户识别方法一优选的实施例中,从所述用户的业务流识别出用户,包括:
[0057] 将业务流中的每条操作语句抽离成语法部分和数值部分;
[0058]根据语法部分识别出操作;
[0059]根据识别出的操作从所述数值部分的对应位置识别出用户。具体来说,可将一条 数据库操作语句抽离成语法和数值两个部分,例如,对图3所示数据库操作序列进行语法和 数值分离得到:
[0061] 上表中语法部分可以识别出不同操作,不同的操作其对应的数值部分中能识别出 的用户位置也是不一样的,例如,对于"Select permission from user where user_ name",能从对应的数值部分的$1位置识别用户标识user 1;而对于"Select*from order where order_id",贝lj不能从对应的数值部分识别出用户,因为按照"Select*from order where order_id"操作语句的格式,$2处写的是"order_id",不包含用户标识;对于"Insert into log(user,operation)values"操作,能从对应的数值部分的$4位置处识别出用户标 识userl。本实施例能够实现精确识别出用户。
[0062] 本申请用户识别方法一优选的实施例中,从所述用户的业务流识别出操作,包括:
[0063] 将业务流中的每条操作语句抽离成语法部分和数值部分;
[0064] 根据语法部分识别出操作。具体来说,可将一条数据库操作语句抽离成语法和数 值两个部分,例如,对图3所示数据库操作序列进行语法和数值分离得到:
[0066] 上表中语法部分可以识别出不同操作。本实施例可以实现精确识别出操作,便于 后续根据操作精确识别出用户,并将操作和对应的用户关联。
[0067] 本申请用户识别方法一优选的实施例中,所述操作语句为SQL语句。具体的,结构 化查询语言(Structured Query Language)是重要的关系数据库操作语句,使用SQL语句, 可以更高效地识别操作和用户,便于用户与对应操作的关联。
[0068] 根据本申请的另一面还提供一种用户识别设备,该设备包括:
[0069] 提取装置,用于提取服务器与数据库之间交互的用户的业务流;
[0070] 识别装置,用于根据所述用户的业务流识别用户及与该用户关联的操作。本实施 例是基于业务流的用户识别,在实际中只需要抓取到server和database之间的数据流,即 可对CS模式下的用户成功识别,可解决CS网络部署模式下的真实用户追踪失效问题,可以 识别出被审计数据库的使用者信息,即可对图1中的uSrl,usr2和usr3各用户的操作进行识 别和关联。
[0071]本申请用户识别设备一优选的实施例中,所述提取装置,提取的业务流包括:
[0072]用户的权限校验操作、数据操作和日志记录操作。具体的,用户在server(服务器) 上的操作都会触发server进行一系列的数据库访问操作,例如,图2中,用户在server上执 行了查看订单的操作,则server后台进行了相关的权限校验、数据获取和日志记录三个数 据库相关操作,本发明中将用户这种相关操作触发的一系列数据库行为定义为一个用户的 业务流。在此,通过业务流中的用户的权限校验操作、数据操作和日志记录操作可以精确识 别出用户及其关联的操作。
[0073] 本申请用户识别设备一优选的实施例中,所述识别装置包括:
[0074] 识别模块,用于从所述用户的业务流识别出用户;
[0075] 关联模块,用于从所述用户的业务流识别出操作,将所述操作关联至该识别出的 用户。通过用户业务流的提取,可以将用户在server上的一系列操作对应为一个个业务流, 而每个业务流中只要识别出其一条SQL语句对应的用户对象则即可识别出该业务流操作对 应的用户对象。详细的图3示例了一个业务流中的数据库访问序列。图3的示例中,该条业务 流包含三条数据库操作语句,其中操作语句1和3中都包含有用户userl的用户标识符,通过 对操作语句1和3的用户标识符的提取可识别操作行为为userl所触发及该业务流中的所有 操作为user 1所触发。操作语句2属于该业务流,因此语句2也属于用户user 1触发。user 1为 server上的用户,绝大部分server会对userl进行权限校验和行为跟踪操作,通过这些操作 每个业务流必然含有可识别userl身份的数据库操作语句,通过这些语句我们可以识别一 个业务流进而识别出每个数据库操作行为对应的用户。
[0076] 本申请用户识别设备一优选的实施例中,所述识别模块,用于将业务流中的每条 操作语句抽离成语法部分和数值部分;根据语法部分识别出操作;及根据识别出的操作从 所述数值部分的对应位置识别出用户。具体来说,可将一条数据库操作语句抽离成语法和 数值两个部分,例如,对图3所示数据库操作序列进行语法和数值分离得到:
[0078] 上表中语法部分可以识别出不同操作,不同的操作其对应的数值部分中能识别出 的用户位置也是不一样的,例如,对于"Select permission from user where user_ name",能从对应的数值部分的$1位置识别用户标识userl;而对于"Select*from order where order_id",贝lj不能从对应的数值部分识别出用户,因为按照"Select*from order where order_id"操作语句的格式,$2处写的是"order_id",不包含用户标识;对于"Insert into log(user,operation)values"操作,能从对应的数值部分的$4位置处识别出用户标 识userl。本实施例能够实现精确识别出用户。
[0079] 本申请用户识别设备一优选的实施例中,所述关联模块,用于将业务流中的每条 操作语句抽离成语法部分和数值部分;及根据语法部分识别出操作。具体来说,可将一条数 据库操作语句抽离成语法和数值两个部分,例如,对图3所示数据库操作序列进行语法和数 值分离得到:
[0081]上表中语法部分可以识别出不同操作。本实施例可以实现精确识别出操作,便于 后续根据操作精确识别出用户,并将操作和对应的用户关联。
[0082]本申请用户识别设备一优选的实施例中,所述操作语句为SQL语句。具体的,结构 化查询语言(Structured Query Language)是重要的关系数据库操作语句,使用SQL语句, 可以更高效地识别操作和用户,便于用户与对应操作的关联。
[0083] 综上所述,本发明的目的是提供一种用户识别方法及设备,本申请通过提取服务 器与数据库之间交互的用户的业务流;根据所述用户的业务流识别用户及与该用户关联的 操作。本申请是基于业务流的用户识别,在实际中只需要抓取到server和database之间的 数据流,即可对CS模式下的用户成功识别,可解决CS网络部署模式下的真实用户追踪失效 问题,可以识别出被审计数据库的使用者信息,即可对各用户的操作进行识别和关联。
[0084] 显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精 神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围 之内,则本申请也意图包含这些改动和变型在内。
[0085] 需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采 用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例 中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的 软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器, 磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例 如,作为与处理器配合从而执行各个步骤或功能的电路。
[0086] 另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被 计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。 而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过 广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的 计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用 于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指 令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技 术方案。
[0087]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在 不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论 从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权 利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有 变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此 外,显然"包括"一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个 单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表 示名称,而并不表示任何特定的顺序。
【主权项】
1. 一种用户识别方法,其中,该方法包括: 提取服务器与数据库之间交互的用户的业务流; 根据所述用户的业务流识别用户及与该用户关联的操作。2. 根据权利要求1所述的方法,其中,所述业务流包括: 用户的权限校验操作、数据操作和日志记录操作。3. 根据权利要求1所述的方法,其中,根据所述用户的业务流识别用户及与该用户关联 的操作,包括: 从所述用户的业务流识别出用户; 从所述用户的业务流识别出操作,将所述操作关联至该识别出的用户。4. 根据权利要求3所述的方法,其中,从所述用户的业务流识别出用户,包括: 将业务流中的每条操作语句抽离成语法部分和数值部分; 根据语法部分识别出操作; 根据识别出的操作从所述数值部分的对应位置识别出用户。5. 根据权利要求3所述的方法,其中,从所述用户的业务流识别出操作,包括: 将业务流中的每条操作语句抽离成语法部分和数值部分; 根据语法部分识别出操作。6. 根据权利要求4或5所述的方法,其中,所述操作语句为SQL语句。7. -种用户识别设备,其中,该设备包括: 提取装置,用于提取服务器与数据库之间交互的用户的业务流; 识别装置,用于根据所述用户的业务流识别用户及与该用户关联的操作。8. 根据权利要求7所述的设备,其中,所述提取装置,提取的业务流包括: 用户的权限校验操作、数据操作和日志记录操作。9. 根据权利要求7所述的设备,其中,所述识别装置包括: 识别模块,用于从所述用户的业务流识别出用户; 关联模块,用于从所述用户的业务流识别出操作,将所述操作关联至该识别出的用户。10. 根据权利要求9所述的设备,其中,所述识别模块,用于将业务流中的每条操作语句 抽离成语法部分和数值部分;根据语法部分识别出操作;及根据识别出的操作从所述数值 部分的对应位置识别出用户。11. 根据权利要求9所述的设备,其中,所述关联模块,用于将业务流中的每条操作语句 抽离成语法部分和数值部分;及根据语法部分识别出操作。12. 根据权利要求10或11所述的设备,其中,所述操作语句为SQL语句。
【文档编号】G06F21/31GK105868591SQ201610169073
【公开日】2016年8月17日
【申请日】2016年3月23日
【发明人】员召伟, 梁俊明, 樊建峰
【申请人】上海上讯信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1