首页> 中国专利> 数据库用户行为管理系统和数据库用户行为管理方法

数据库用户行为管理系统和数据库用户行为管理方法

摘要

本发明提供一种数据库用户行为管理系统和数据库用户行为管理方法,该数据库用户行为管理系统包括:操作指令获取模块,用于获取用户输入的操作指令;操作指令分析模块,用于对所述操作指令进行分析,得到所述操作指令对应的指令操作范围;合法性判断模块,用于判断所述指令操作范围是否超出所述用户本次操作的允许操作范围;操作指令转发模块,用于当所述指令操作范围未超出所述用户本次操作的允许操作范围时,将所述操作指令转发给数据库;操作指令拦截模块,用于当所述指令操作范围超出所述用户本次操作的允许操作范围时,拦截所述操作指令。本发明能够实时分析用户操作,实时判断用户操作是否合法,实时拦截非法操作。

著录项

  • 公开/公告号CN103186733A

    专利类型发明专利

  • 公开/公告日2013-07-03

    原文格式PDF

  • 申请/专利权人 中国移动通信集团广东有限公司;

    申请/专利号CN201110459730.4

  • 申请日2011-12-30

  • 分类号G06F21/31(20130101);G06F17/30(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人许静;赵爱军

  • 地址 510623 广东省广州市珠江新城珠江西路11号广东全球通大厦13楼

  • 入库时间 2024-02-19 18:48:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-27

    授权

    授权

  • 2013-07-31

    实质审查的生效 IPC(主分类):G06F21/31 申请日:20111230

    实质审查的生效

  • 2013-07-03

    公开

    公开

说明书

技术领域

本发明涉及业务支撑及管理信息系统领域,特别是涉及一种数据库用户行 为管理系统和数据库用户行为管理方法。

背景技术

目前数据库信息安全是各大企业关注的重点。如果数据库用户通过后台对 数据库中的敏感数据进行非法操作,导致敏感数据被泄露或者被恶意修改,将 给企业带来巨大的经济损失和严重的品牌形象影响。

目前的解决方案为:借助4A(认证Authentication、账号Account、授权 Authorization、审计Audit)系统对用户操作进行事后审计。如图1所示为现有 技术中的数据库系统的总体架构示意图,该数据库系统包括:4A系统、BOSS (业务操作支撑系统,BuSSineSS&Operation Support System)堡垒机以及 BOSS数据库,4A系统能够限定用户的访问权限等,并可记录用户的操作日 志,甚至能够借助视频监控系统记录用户的操作过程。后台管理员可以在用户 完成操作后,导出用户输入的针对BOSS数据库的所有字符命令以及操作过程 视频记录,通过阅读操作日志及观看视频的方式,来对每个用户的操作是否合 法进行人工判断。

可以看出,管理员只有在发生安全事故后,才能知道曾有人违规操作,并 需要对海量操作日志进行逐条审计,即使在审计过程中发现了一些非法操作, 事故影响已经产生。而从海量日志中进行回溯定责又极其繁琐,审计工作量极 大,造成实际操作内容与审批内容匹配正确率低、效率低、非法操作发现成功 率低等问题。

显而易见,使用目前的4A解决方案,不能对操作用户行为实时分析 (Analyse),无法实时判断用户操作是否为合法,无法对非法操作行为进行实 时拦截。

发明内容

有鉴于此,本发明提供一种数据库用户行为管理系统和数据库用户行为管 理方法,能够对用户操作进行实时分析,实时判断用户操作是否合法,并对非 法操作进行实时拦截。

为解决上述问题,本发明提供一种数据库用户行为管理系统,包括:

操作指令获取模块,用于获取用户输入的操作指令;

操作指令分析模块,用于对所述操作指令进行分析,得到所述操作指令对 应的指令操作范围;

合法性判断模块,用于判断所述指令操作范围是否超出所述用户本次操作 的允许操作范围;

操作指令转发模块,用于当所述指令操作范围未超出所述用户本次操作的 允许操作范围时,将所述操作指令转发给数据库;

操作指令拦截模块,用于当所述指令操作范围超出所述用户本次操作的允 许操作范围时,拦截所述操作指令。

可选的,所述数据库用户行为管理系统还包括:

工单同步模块,用于同步工单系统中的审批工单;

工单分析模块,用于对同步的审批工单进行分析,得到同步的审批工单的 允许操作范围并存储;

其中,所述合法性判断模块还用于从存储的所有审批工单的允许操作范围 中,提取出所述用户对应的审批工单的允许操作范围,作为所述用户本次操作 的允许操作范围。

可选的,所述数据库用户行为管理系统还包括:

工单标识获取模块,用于获取所述用户输入的工单标识;

其中,所述工单分析模块还用于获取同步的审批工单的工单标识并存储;

所述合法性判断模块还用于从存储的所有审批工单的允许操作范围中,提 取出与所述用户输入的工单标识相同的审批工单的允许操作范围,作为所述用 户本次操作的允许操作范围。

可选的,所述操作指令分析模块是基于抽象语法树生成的语法分析器和词 法分析器对所述操作指令进行分析,得到所述操作指令对应的指令操作范围;

所述工单分析模块是基于抽象语法树生成的语法分析器和词法分析器对 同步的审批工单进行分析,得到同步的审批工单的允许操作范围并存储。

可选的,所述合法性判断模块还包括:

第一判断模块,用于判断所述指令操作范围是否涉及所述数据库的敏感数 据;

第二判断模块,用于当所述指令操作范围涉及所述数据库的敏感数据时, 判断所述指令操作范围是否超出所述用户本次操作的允许操作范围;

其中,所述操作指令转发模块还用于当所述指令操作范围不涉及所述数据 库的敏感数据时,将所述操作指令转发给所述数据库。

本发明还提供一种数据库用户行为管理方法,包括:

获取用户输入的操作指令;

对所述操作指令进行分析,得到所述操作指令对应的指令操作范围;

判断所述指令操作范围是否超出所述用户本次操作的允许操作范围;

当所述指令操作范围未超出所述用户本次操作的允许操作范围时,将所述 操作指令转发给数据库;

当所述指令操作范围超出所述用户本次操作的允许操作范围时,拦截所述 操作指令。

可选的,所述判断所述指令操作范围是否超出所述用户本次操作的允许操 作范围的步骤之前还包括:

同步工单系统中的审批工单;

对同步的审批工单进行分析,得到同步的审批工单的允许操作范围并存 储;

所述判断所述指令操作范围是否超出所述用户本次操作的允许操作范围 的步骤包括:

从存储的所有审批工单的允许操作范围中,提取出所述用户对应的审批工 单的允许操作范围,作为所述用户本次操作的允许操作范围。

可选的,所述判断所述指令操作范围是否超出所述用户本次操作的允许操 作范围的步骤之前还包括:

获取所述用户输入的工单标识;

获取同步的审批工单的工单标识并存储;

所述判断所述指令操作范围是否超出所述用户本次操作的允许操作范围 的步骤包括:

从存储的所有审批工单的允许操作范围中,提取出与所述用户输入的工单 标识相同的审批工单的允许操作范围,作为所述用户本次操作的允许操作范 围。

可选的,所述对所述操作指令进行分析,得到所述操作指令对应的指令操 作范围的步骤包括:

基于抽象语法树生成的语法分析器和词法分析器对所述操作指令进行分 析,得到所述操作指令对应的指令操作范围;

所述对同步的审批工单进行分析,得到同步的审批工单的允许操作范围并 存储的步骤包括:

基于抽象语法树生成的语法分析器和词法分析器对同步的审批工单进行 分析,得到同步的审批工单的允许操作范围并存储。

可选的,所述判断所述指令操作范围是否超出所述用户本次操作的允许操 作范围的步骤包括:

判断所述指令操作范围是否涉及所述数据库的敏感数据;

当所述指令操作范围涉及所述数据库的敏感数据时,判断所述指令操作范 围是否超出所述用户本次操作的允许操作范围;

当所述指令操作范围不涉及所述数据库的敏感数据时,将所述操作指令转 发给所述数据库。

本发明具有以下有益效果:

对用户输入的操作指令进行实时分析,实时判断用户输入的操作指令是否 为合法操作指令,并对合法操作指令进行转发,对非法操作指令进行实时拦截, 从而解决了现有的4A系统在对数据库管理中不能发现并实时拦截非法操作、 无法实现“事中控制”、审计匹配正确率低的问题。

附图说明

图1为现有技术中的数据库系统的总体架构示意图;

图2为本发明实施例的数据库用户行为管理系统的一结构示意图;

图3为本发明实施例的数据库用户行为管理方法的一流程示意图;

图4为本发明实施例的数据库用户行为管理方法的另一流程示意图;

图5为本发明实施例的数据库用户行为管理方法的又一流程示意图;

图6为本发明实施例的数据库系统的总体架构示意图;

图7为图6中的数据库系统的工作流程示意图。

具体实施方式

现有技术中的4A解决方案,不能发现用户的非法操作并实时拦截的根本 原因在于数据库系统对所有的操作指令均进行透传,本发明实施例中,对用户 输入的所有操作指令均进行分析,判断操作指令是否合法,并对非法操作指令 进行实时拦截,从而在根本上解决目前数据库安全运维管控工作的难题。

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

如图2所示为本发明实施例的数据库用户行为管理系统的一结构示意图, 该数据库用户行为管理系统包括:

操作指令获取模块201,用于获取用户输入的操作指令;该操作指令是针 对数据库的操作指令。

操作指令分析模块202,用于对所述操作指令进行分析,得到所述操作指 令对应的指令操作范围;所述操作范围包括操作对象以及对该操作对象的操作 动作。

合法性判断模块203,用于判断所述指令操作范围是否超出所述用户本次 操作的允许操作范围;

操作指令转发模块204,用于当所述指令操作范围未超出所述用户本次操 作的允许操作范围时,将所述操作指令转发给数据库;

操作指令拦截模块205,用于当所述指令操作范围超出所述用户本次操作 的允许操作范围时,拦截所述操作指令。

通过上述实施例提供的数据库用户行为管理系统,能够对用户输入的操作 指令进行实时分析,实时判断用户输入的操作指令是否为合法操作指令,并对 合法操作指令进行转发,对非法操作指令进行实时拦截,从而解决了现有的 4A系统在对数据库管理中不能发现并实时拦截非法操作、无法实现“事中控 制”、审计匹配正确率低的问题。

本发明实施例中,可以预先配置用户对应的允许操作范围(即用户的操作 权限),并存储。当检测到某一用户输入操作指令时,首先对该操作指令进行 分析,得到该操作指令对应的指令操作范围,并从存储的所有用户对应的允许 操作范围中,提取出该用户对应的允许操作范围,判断该操作指令对应的指令 操作范围是否超出该用户对应的允许操作范围,如果是,则判定该操作指令为 非法操作指令,对该操作指令进行拦截,否则,判定该操作指令为合法操作指 令,将该操作指令转发给数据库。

本发明实施例中,也可以设置一工单系统,用户在每执行一次数据库操作 之前,都需要填写一个审批工单,并将该审批工单存储到工单系统中,该审批 工单中记录有该用户的该次对数据库操作的允许操作范围。数据库用户行为管 理系统可以周期性同步工单系统中的所有审批工单,例如每三个小时同步一 次,或者,也可以仅在工单系统有更新时,同步更新的审批工单。将工单系统 中的审批工单同步过来后,可以对审批工单进行分析,得到审批工单中记录的 用户该次操作的允许操作范围(以下简称审批工单的允许操作范围)。数据库 用户行为管理系统检测到用户输入操作指令时,对该操作指令进行分析,得到 该操作指令对应的指令操作范围,并从存储的所有审批工单的允许操作范围 中,提取出所述用户对应的审批工单的允许操作范围,作为所述用户本次操作 的允许操作范围,以判断操作指令对应的指令操作范围是否超出所述用户本次 操作的允许操作范围。

对应于上述描述,本发明实施例的数据库用户行为管理系统还可以包括:

工单同步模块,用于同步工单系统中的审批工单;

工单分析模块,用于对同步的审批工单进行分析,得到同步的审批工单的 允许操作范围并存储;

其中,所述合法性判断模块还用于从存储的所有审批工单的允许操作范围 中,提取出所述用户对应的审批工单的允许操作范围,作为用户对应的允许操 作范围。

所述工单分析模块与上述操作指令分析模块可以采用同一物理功能模块 实现,也可以采用不同的物理功能模块实现。

本发明实施例中,可以为每一用户配置一唯一的用户身份标识,并在该用 户的审批工单中标明出用户身份标识,从而能够方便地从多个审批工单中提取 出用户的审批工单,以判断用户输入的操作指令的指令操作范围是否超出该用 户的审批工单的允许操作范围。

本实施例中,可以为每一审批工单配置一工单标识(本实施例中称为key, 例如工单流水号),当用户需要对数据库进行操作时,需要输入该用户对应的 审批工单的工单标识,然后根据用户输入的工单标识,从存储的所有审批工单 的允许操作范围中,提取出与所述用户输入的工单标识对应的审批工单的允许 操作范围,作为所述用户本次操作的允许操作范围,以判断用户输入的操作指 令的指令操作范围是否超出该用户本次操作的允许操作范围。

对应于上述描述,本发明实施例的数据库用户行为管理系统还可以包括:

工单标识获取模块,用于获取所述用户输入的工单标识;

其中,上述工单分析模块还用于对同步的审批工单进行分析,得到同步的 审批工单的工单标识并存储。所述合法性判断模块还用于从存储的所有审批工 单的允许操作范围中,提取出与所述用户输入的工单标识对应的审批工单的允 许操作范围,作为所述用户本次操作的允许操作范围。

当数据库中涉及的数据量较大时,如果针对用户的每一个操作指令均与审 批工单的允许操作范围进行匹配操作的话,将会增大数据库用户行为管理系统 的负担。因而,本发明实施例中,可以将数据库中的一些重要的数据(例如涉 及用户隐私或者涉及商业秘密的数据)配置为敏感数据,仅针对这些敏感数据 对应的操作指令与审批工单的允许操作范围进行匹配操作,对于针对普通数据 的操作指令则可以直接进行转发。

基于上述描述,本发明实施例的合法性判断模块还可以包括以下功能模 块:

第一判断模块,用于判断所述指令操作范围是否涉及所述数据库的敏感数 据;

第二判断模块,用于当所述指令操作范围涉及所述数据库的敏感数据时, 判断所述指令操作范围是否超出所述用户本次操作的允许操作范围;

其中,所述操作指令转发模块还用于当所述指令操作范围不涉及所述数据 库的敏感数据时,将所述操作指令转发给所述数据库。

此外,上述实施例中,当操作指令转发模块将所述操作指令转发给数据库 后,所述数据库可以执行所述操作指令,并得到一操作结果,所述数据库用户 行为管理系统还可以将所述操作结果返回给用户。也就是说,所述数据库用户 行为管理系统还可以包括一返回模块,用于将所述数据库针对所述操作指令的 操作结果返回给所述用户。

此外,本发明实施例的数据库用户行为管理系统还可以包括一记录模块, 用于对用户输入的操作指令的合法性进行记录。

对应于上述数据库用户行为管理系统,本发明实施例还提供一种数据库用 户行为管理方法,如图3所示为本发明实施例的数据库用户行为管理方法的一 流程示意图,该数据库用户行为管理方法包括以下步骤:

步骤301,获取用户输入的操作指令。

步骤302,对所述操作指令进行分析,得到所述操作指令对应的指令操作 范围。

步骤303,判断所述指令操作范围是否超出所述用户本次操作的允许操作 范围,如果是,执行步骤304,否则,执行步骤305。

步骤304,拦截所述操作指令。

步骤305,将所述操作指令转发给数据库。

此外,本实施例中,在将操作指令转发给数据库之后,还可以包括:将所 述数据库针对所述操作指令的操作结果返回给所述用户的步骤。

本发明实施例中,可以依据从工单系统中同步的用户的审批工单,判断用 户输入的操作指令的指令操作范围是否超出用户本次操作的允许操作范围。如 图4所示为本发明实施例的数据库用户行为管理方法的另一流程示意图,该数 据库用户行为管理方法包括以下步骤:

步骤401,同步工单系统中的审批工单。

步骤402,对同步的审批工单进行分析,得到同步的审批工单的允许操作 范围并存储。

步骤403,获取用户输入的操作指令。

步骤404,对所述操作指令进行分析,得到所述操作指令对应的指令操作 范围。

步骤405,从存储的所有审批工单的允许操作范围中,提取出所述用户对 应的审批工单的允许操作范围。

步骤406,判断所述指令操作范围是否超出所述用户对应的审批工单的允 许操作范围,如果是,执行步骤407,否则,执行步骤408。

步骤407,拦截所述操作指令。

步骤408,将所述操作指令转发给数据库。

本实施例中,可以为每一审批工单配置一工单标识(例如工单流水号), 当用户需要对数据库进行操作时,需要输入该用户对应的审批工单的工单标 识,然后根据用户输入的工单标识,从存储的所有审批工单的允许操作范围中, 提取出与所述用户输入的工单标识对应的审批工单的允许操作范围,作为所述 用户本次操作的允许操作范围,以判断用户输入的操作指令的指令操作范围是 否超出该用户本次操作的允许操作范围。

当数据库中涉及的数据量较大时,如果针对用户的每一个操作指令均与审 批工单的允许操作范围进行匹配操作的话,将会增大数据库用户行为管理系统 的负担。因而,本发明实施例中,可以将数据库中的一些重要的数据(例如涉 及用户隐私或者涉及商业秘密的数据)配置为敏感数据,仅针对这些敏感数据 对应的操作指令与审批工单的允许操作范围进行匹配操作,对于针对普通数据 的操作指令则可以直接进行转发。

如图5所示为本发明实施例的数据库用户行为管理方法的又一流程示意 图,该数据库用户行为管理方法包括以下步骤:

步骤501,同步工单系统中的审批工单。

步骤502,对同步的审批工单进行分析,得到同步的审批工单的允许操作 范围并存储。

步骤503,获取用户输入的操作指令。

步骤504,对所述操作指令进行分析,得到所述操作指令对应的指令操作 范围。

步骤505,判断所述指令操作范围是否涉及所述数据库的敏感数据,如果 是,执行步骤506,否则,执行步骤509。

步骤506,从存储的所有审批工单的允许操作范围中,提取出所述用户对 应的审批工单的允许操作范围。

步骤507,判断所述指令操作范围是否超出所述用户对应的审批工单的允 许操作范围,如果是,执行步骤508,否则,执行步骤509。

步骤508,拦截所述操作指令。

步骤509,将所述操作指令转发给数据库。

此外,上述判断所述指令操作范围是否涉及所述数据库的敏感数据的步骤 之前,还可以包括:配置数据库的敏感数据的步骤。

如图6所示为本发明实施例的数据库系统的总体架构示意图,该数据库 系统包括:4A系统、BOSS堡垒机、iAnlyser系统、BOSS数据库以及工单系 统,其中,iAnlyser系统即本发明实施例的数据库用户行为管理系统,包括: Secure Sqlplus客户端、工单同步系统、语法分析引擎、合法性判断模块、监 控数据库以及展示模块,下面分别对上述各个模块进行详细说明。

1、Secure Sqlplus客户端

以下简称为SS客户端,SS客户端可以是通过JAVA程序编写的一个类 Sqlplus客户端,管理员可以在操作系统中设置权限,禁止其他数据库访问软 件运行,只允许用户使用SS客户端对BOSS数据库进行访问操作。

SS客户端能够获取用户输入的所有数据库操作指令(本实施例中为SQL 指令),并调用语法分析引擎对每一条操作指令进行语法分析,并将分析结果 (即指令操作范围)发送给合法性判断模块,另外,SS客户端还可以将用户 输入的key(密钥,即上述工单标识)等信息发送给合法性判断模块,通过合 法性判断模块对用户输入的操作指令进行合法性判断,如果操作指令被判定为 合法,SS客户端则将该操作指令转发给BOSS数据库,并将BOSS数据库针 对该操作指令的操作结果返回给用户,如果操作指令被判定为非法,SS客户 端将对该操作指令进行拦截,并将拦截操作提示给用户。

也就是说,该SS客户端用于执行上述实施例中的操作指令获取模块、操 作指令转发模块、操作指令拦截模块以及工单标识获取模块执行的功能。

2、工单同步模块

工单同步模块通过工单系统(AMS系统,支持工单审批等流程)提供的 Webservice接口,将工单系统中“已审批”的“审批工单”同步过来,并将“工 单流水号”记作为key(密钥,即上述工单标识),然后调用语法分析引擎, 从包括中文、英文、特殊字符等复杂无规律的工单描述中,提取出用户操作分 析所需的操作指令(即SQL指令),并该操作指令进行分析,拆分成语法分析 树(数据库对象+操作的简化集合),最终将key、本工单涉及操作的表名、字 段表、操作动作等信息项写入监控数据库中。

也就是说,该工单同步模块用于执行上述实施例中的工单同步模块执行的 功能。

3、语法分析引擎

本实施例中的语法分析引擎是一个基于抽象语法树(AST)的SQL语法 分析引擎,该语法分析引擎可以被SS客户端及工单同步模块所调用,对工单 同步模块或SS客户端传送过来的操作指令进行实时分析,得到该操作指令对 应的操作范围(允许操作范围或指令操作范围),例如要操作的数据库表、字 段、以及数据内容范围等,并将得到的结果写入监控数据库中。

也就是说,该语法分析引擎用于执行上述实施例中的操作操作指令分析模 块、工单分析模块执行的功能。

4、合法性判断模块:

合法性判断模块与SS客户端、监控数据库进行实时交互。当用户登录 SS客户端时,SS客户端将用户输入的key发送到合法性判断模块,此时合法 性判断模块可以根据该key,从监控数据库中提取出该key对应的审批工单的 允许操作范围(作为合法性判断依据二)。当用户输入一条操作指令后,语法 分析引擎对该操作指令进行分析,得到该操作指令的指令操作范围(作为合法 性判断依据三),并将得到的指令操作范围实时写到监控数据库中,此时,合 法性判断模块提取该条操作指令的指令操作范围,同时参考数据库的敏感数据 (作为合法性判断依据一,敏感数据的表名、字段名、限定该指定对象下的操 作动作等信息均存储于监控数据库中)。根据上述三个判断依据,判断该条操 作指令是否合法,如果其中任意一个判断依据不符合要求,则判定该条操作指 令非法,另外,合法性判断模块还可以将合法性判断结果写入监控数据库。

也就是说,该合法性判断模块用于执行上述实施例中的合法性判断模块执 行的功能。

5、监控数据库

监控数据库接收并记录以下内容:语法分析引擎对用户输入的操作指令以 及审批工单中的操作指令的分析结果、合法性判断模块对每条操作指令的合法 性判断结果。监控数据库可以被语法分析引擎、合法性判断模块以及展示模块 所访问。

6、展示模块

可以在展示模块前台页面配置BOSS数据库的敏感数据(配置敏感数据的 表名、字段名、限定该指定对象下的操作动作等),同时,展示模块还可以对 监控数据库中存储的合法性判断结果进行展示,以便管理员可以直接看到用户 执行了什么操作,该操作是否合法以及拦截结果等。

如图7所示为图6中的数据库系统的工作流程示意图:

步骤701,通过展示模块配置敏感数据信息,指定敏感数据的表名、字段 名、限定的操作动作等,作为合法性判断的依据一。

步骤702,将敏感数据信息存储到表tb.mingan中。

具体的,可以利用J2EE构建系统应用框架,提供Web操作界面对敏感数 据表tb.mingan进行维护管理。

敏感数据表tb.mingan可以如表1所示:

表1

从表1中可以看到,表sa_sr_role的高危操作(即限定的操作动作)为insert、 update、delete。当数据库用户行为管理系统发现用户对表sa_sr_role进行上述 操作时,将立刻拦截。

步骤703,工单同步模块利用Webservice接口同步工单系统中的审批工单。

下面举例对审批工单的同步步骤进行说明:

步骤7031,设定提取审批工单的条件为佛山审批工单(工单类型 z_type=′48′AND地市为佛山z_cust_org=1313)。

步骤7032,BOSS数据库以xml数据的形式将审批工单发送给工单同步模 块。

步骤7033,对xml数据进行解释,分离提取出审批工单的工单流水号、 类型、相关人员、主题、描述等工单数据。

步骤7034,利用Hibernate将同步后的工单数据保存到监控数据库的 AMS_WORK_ORDER表中。

步骤704,语法分析引擎对审批工单进行语法分析,得到该审批工单的工 单标识(key)以及允许操作范围(表名、字段及操作动作等)。

语法分析引擎可以使用正则表达式对审批工单进行分析,也可以使用基于 Antlr生成的语法分析器和词法分析器对审批工单进行分析。

使用基于Antlr生成的语法分析器和词法分析器可以很容易的完成正则 表达式能够完成的所有工作,除此之外使用基于Antlr生成的语法分析器和词 法分析器还可以完成一些正则表达式难以完成的工作,比如识别左括号和右括 号的成对匹配等。

基于Antlr的语法分析引擎的构造过程如下:

基于Antlr生成语法分析器和词法分析器后,可以基于语法分析器和词法 分析器来验证输入的表达式是否合法。对每一个输入的字符串,构造一个 ANTLRStringStream流in,用in构造词法分析器lexer。词法分析的作用是 产生记号,用词法分析器PLSQL3jLexer构造一个记号流tokens,然后再使 用tokens构造语法分析器parser,完成词法分析和语法分析的准备工作。最 后调用语法分析器的规则sql_command,完成对表达式的验证。至此,就可 以完成语法分析引擎的构造。

步骤705,语法分析引擎将该审批工单的工单标识以及允许操作范围存储 到监控数据库中的tb.shenpi表中,作为合法性判断的依据二。

步骤706,在BOSS堡垒机中构建SS客户端,并在BOSS堡垒机操作系 统中设置权限,只允许用户通过SS客户端访问BOSS数据库。

Java语言具有跨平台的优势,在本实施例中可以使用Java开发一个带main 的可在命令行执行的Java应用程序。在main程序执行时,可以通过jdk1.6 自带的System.in.read工具函数获取用户在前台输入的操作指令和工单标识 (key)。

步骤707,SS客户端接收到用户输入的工单标识(key)以及操作指令;

步骤708,根据用户输入的key到tb.shenpi表和敏感数据表tb.mingan提 取出该key对应的允许操作范围(操作动作ctrl和操作对象FIELD)。

步骤709,利用java hashmap(shenpiMap)对该key的允许操作范围进行存 放。

步骤710,语法分析引擎对用户输入的操作指令进行分析,得到该操作指 令对应的指令操作范围。

SS客户端通过字符分析,如果出现“;\n”(分号+回车)的操作即认定为 该sql指令已输入完成,就将整句sql提取。

步骤711,语法分析引擎将该指令操作范围存放到监控数据库中的 tb.user_Input表中。

步骤712,将指令操作范围保存到java hashmap(userMap)中。

步骤713,合法性判断模块将userMap中的项逐一在允许操作范围 shenpiMap中进行取值,如果所有项取到了等值,执行步骤714,如果取不到 等值,则执行步骤716。

步骤714,判定为操作指令合法。

步骤715,通过out方法将用户输入的操作指令发送到BOSS数据库(指令 为out.println(runSqlCommd),out是SSh工具在连接服务器时已经初始化好的, out.println()相当于发送SQL语句并回车提交)。

步骤716,判定操作指令非法。

步骤717,通过方法System.out.println(errSqlCommd+″(操作非法,您的语 句被拦截!)″),将语句+提示信息打印到屏幕,不再调用 out.println(runSqlCommd)提交,从而完成非法语句的拦截。

此外,上述方法还包括对异常操作数据开发出相关功能,包括拦截记录展 示、报表导出等。使用j2ee框架,基于B/S结构,实现“配置、查询、导出, 报表”等应用。

本发明实施例,主要是解决现有4A系统在数据库安全管控方面的短板, 提出一种从“事后”前移到“事中”“事前”的新型安全管控方法,做到对操 作者违规行为的“伸手即抓”,做到实时逐句分析、即时拦截非法操作,将非 法操作影响降至为零。

本发明同时适用于各种复杂场景下的用户行为分析,可以更加广泛地应用 于应用系统、主机、网络设备、防火墙等各个领域。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号