一种针对db2数据的密态数据访问防护方法与流程

文档序号:25307375发布日期:2021-06-04 14:48阅读:129来源:国知局
1.本发明涉及信息安全
技术领域
:,具体地讲,本发明涉及一种针对db2数据的密态数据访问防护方法
背景技术
::2.存储于某个系统中的存量数据可能成为其他外部信息系统所需的数据资源,并且数据资源的价值可以在流通后再次得到应用,从而产生更多的应用价值。数据流通使数据脱离了原有使用场景,变更了使用目的,从数据产生端转移至其他数据应用端,优化了资源配置,成为释放数据价值的重要环节。与此同时,隐私信息、核心数据资产在开放、共享、汇聚、交易、访问等流通环节中缺乏有效管控,面临着泄露的风险。[0003][0004]针对数据流通中主动访问环节,目前有多种访问技术和方法,但存在如下几方面的不足:[0005]1.使用复杂,不方便使用。一般密态数据访问方法从数据库库的角度去进行防护包含,如数据库审计工具等。用户在设置安全防护规则设置,无法方便的配置访问规则、安全规则、脱敏规则信息;[0006]2.部署复杂,无法透明使用。市场上部分密态数据访问软件通过代理的方式进行部署,需要修改客户的应用程序。[0007]3.db2作为当前金融行业的主流数据库,由于db2的drda协议以及数据库机制非完全公开,解析drda报文存在一定难度。市场上对该数据库提供的密态数据访问方法比较少。[0008]上述不足严重影响了密态数据访问在实际场景的使用效果。因此,本领域技术人员亟需提供一种密态数据访问方法,对使用者来说是透明的,无需修改原来的使用环境;同时可以快捷、方便的对db2数据库进行密态数据访问。技术实现要素:[0009]本发明要解决的技术问题是:提供一种密态数据访问方法,通过设置密态数据访问任务,建立目标数据库与访问用户之间的密态数据访问通道,通过加装不同的访问规则、安全规则、脱敏规则,可方便的对目标数据库进行密态数据访问防护;同时通过对drda报文中的sql内容并进行解析,识别sql语句以及涉及的敏感字段并智能对sql语句的改写,高效的对db2数据库进行密态数据访问防护。由于本装置是基于数据库协议解析,不会对用户原来使用模式产生影响,对用户来说是透明的。[0010]本发明解决其技术问题所采用的技术方案是:提供一种基于drda协议解析的db2数据库密态数据访问方法,包括以下步骤:[0011]步骤s01、配置目标db2数据连接信息,来授权本装置对目标db2数据库进行访问,通过对数据库进行隐私发现,来获取数据库所有的隐私字段信息;[0012]步骤s011、判定采集相应的配置信息,建立连接并测试联通性;[0013]步骤s012、连接成功后,根据预先设定的隐私发现规则,自动对源数据端执行全量隐私发现,根据隐私发现的状态判断发现过程是否已完成、是否存在异常,若存在异常可查看具体原因。[0014]步骤s02、配置访问用户的分组信息;[0015]步骤s03、设置目标数据库的密态数据访问防护规则,可对目标数据库的访问权限(具体权限为拦截、阻断、脱敏等)进行控制。访问防护规则由安全规则和脱敏规则组成。安全规则是指根据sql内容的类型(正则表达式)来控制用户的sql请求内容是否需要被拦截、阻断操作。脱敏规则,即隐私方案,指查询的字段的隐私类型,以及对应的脱敏方法。[0016]步骤s04、设置密态数据访问防护任务,通过选择受防护的目标数据库、具体的密态数据访问防护规则以及转发端口。即本装置的服务器作为代理服务器,用户通过本装置监听的代理端口向目标db2数据库进行访问。[0017]步骤s05、启动任务后,数据库访问代理端口建立会话后,会解析drda协议,获取用户的请求信息。同时根据密态数据访问防护规则,可以对用户的请求进行相应的拦截、阻断、脱敏操作。[0018]步骤s051、监听设置转发的端口,获取转发的db2数据库drda报文。[0019]步骤s052、根据drda的报文的长度规则,将数据报文拆分、拼接成完整的drda报文。[0020]步骤s053、对完整的drda报文进行解析,获取报文中的ddm部分的指令类型(codepoint)信息,并获取报文中相应的数据内容。如0x2414指令类型报文包含sql指令信息,可获取sql内容;0x106d包含用户的登录信息,可从报文中获取数据库的登录用户信息。[0021]步骤s06、根据密态数据访问防护规则,可以对用户的请求进行相应的拦截、阻断、脱敏操作。[0022]步骤s061、通过用户分组的访问规则判断,确定该用户的访问权限。该步骤中,根据访问用户的基本信息:访问时间、用户ip地址、数据库登录用户名来进行规则判断处理。对于访问权限为拒绝的用户,中断会话连接,拒绝该用户的后续访问。对连接权限为允许的用户,则进入下一步骤处理。[0023]步骤s062、通过安全规则判断,确定对该请求sql进行的安全操作。该步骤中,通过对sql内容进行正则表达式匹配。如果有匹配的安全规则,则根据安全规则的设置内容,对该请求进行相应的拦截、阻断操作。如无匹配的安全规则,则进入下一步骤处理。[0024]步骤s063、通过脱敏规则判断,对sql信息进行解析,获取该sql语句查询涉及的数据库相关的字段信息,通过隐私方案中的字段信息判断,确定哪些字段信息含有需要脱敏的隐私信息,按照安全规则中设置的脱敏方法,改写sql语句。[0025]步骤s07、将改写的sql语句重新封装成drda报文,并转发到目标数据中。[0026]从上述步骤可知,该密态数据访问方法,从数据通道的角度,方便用户配置与使用。由于可支持对db2数据库自动隐私发现以及增量隐私发现,避免数据库表结构变更带来的隐私泄露风险。通过对drda报文中的sql内容并进行数据库语义解析,高效的识别sql语句中涉及的敏感字段并可以智能对该sql语句进行改写,完成对db2数据库的密态数据访问防护。同时,本方法只是对报文进行转发修改,用户可以透明使用,不需要进行复杂部署。附图说明[0027]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0028]图1是本发明的密态数据访问方法的流程图。具体实施方式[0029]为使本发明的内容更加清楚易懂,以下结合说明书附图,对本发明的内容作进一步说明。明显地,本发明并不局限于该具体实施例,本领域内的技术人员所熟知的一般替换也涵盖在本发明的保护范围内。其次,本发明利用示意图进行了详细的表述,在详述本发明实例时,为了便于说明,示意图不依照一般比例局部放大,不应以此作为对本发明的限定。[0030]本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作,适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子;包括但不限于:个人计算机系统、服务器计算机系统、客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。[0031]计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。[0032]如图1所示,本发明提供一种密态数据访问方法,包括如下步骤:[0033]步骤s01、配置目标db2数据连接信息,即数据库真实地址、端口、数据库名、数据库用户、密码信息。本装置通过jdbc对数据库访问,对目标数据库进行隐私发现,来获取数据库所有的字段的隐私信息;[0034]步骤s02、配置访问用户的分组信息,用户分组指根据数据库的访问用户的数据库名、ip地址、访问时间来设置数据库允许访问的分组。如通过设置数据库用户名为testor的访问分组(其他控制项置空),来允许所有用户名为testor的用户通过本装置来访问目标数据库。[0035]步骤s03、设置目标数据库的密态数据访问防护规则,本装置中包含下面部分。[0036]安全规则,即根据sql内容的类型(正则表达式)来控制用户的sql请求内容是否需要被拦截、阻断等操作。如设置内容为delete.*,触发动作为拦截的安全规则,可以拦截阻止所有包含delete的sql请求。[0037]脱敏规则,即隐私方案。隐私方案中定义了目标数据库中哪些字段是隐私类型,以及对应的脱敏方法。[0038]步骤s04、设置密态数据访问防护任务,用户通过选择受防护的目标数据库、访问用户分组,对任务通道配置具体的安全规则组和隐私方案,再设置密态数据访问的转发端口,来建立密态数据访问任务。[0039]步骤s05、启动任务后,本装置会监听转发端口。数据库访问代理端口建立会话后,进而解析drda协议。其中包含一些核心要点:[0040]1.根据drda的报文的长度规则,将数据报文拆分、拼接成完整的drda报文。[0041]因为在获取的数据库报文中,drda报文会存在多个tcp报文中,根据drda报文的包头(前6个字节)中的长度信息,拼接获取完整的drda报文用于后续的解析。[0042]2.drda报文中,包头后面会包含若干ddm报文,每个ddm报文会包含长度信息(2个字节)和指令类型(codepoint,2个字节)以及数据内容信息。[0043]3.不同指令类型(codepoint)信息,代表该ddm报文数据内容有不同的含义。如0x2414指令类型报文中包含sql指令信息,可获取sql内容;0x106d包含用户的登录信息,可从报文中获取数据库的登录用户信息。[0044]步骤s06、根据密态数据访问防护规则,对用户的请求进行相应的拦截、阻断、脱敏等操作,具体包含以下三个部分。[0045]根据访问用户的基本信息:访问时间、用户ip地址、数据库登录用户名来进行规则判断,获取当前数据库访问用户对应的访问分组信息。如果当前访问分组属于当前任务的配置分组用户中,则允许进一步访问,否则进行阻断处理。[0046]通过对sql内容进行正则表达式匹配,获取匹配的安全规则,则根据安全规则的设置内容,对该请求进行相应的拦截、阻断等操作。如无匹配的安全规则,则进入后续处理。[0047]通过对sql信息进行解析,获取该sql语句查询涉及的数据库相关的字段信息,通过隐私方案中的字段信息判断,确定哪些字段信息含有需要脱敏的隐私信息,按照安全规则中设置的脱敏方法,改写sql语句。[0048]如对于用户发送的sql内容为:selectnamefromtable1,可以sql解析获得输出字段为table1.name,通过查询隐私方案,获取该字段的隐私信息。如需要密态数据访问,该sql会被改写成:selectnameas‘**’fromtable1。[0049]步骤s07、将改写的sql语句重新封装成新的drda报文,并转发到目标数据中。需要注意的是,改写的sql语句会导致原报文长度变化,需要相应的修改报文中的长度信息。[0050]虽然本发明主要描述了以上实施例,但仅作为实例来加以描述,而本发明并不限于此。本领域普通技术人员能做出多种变型和应用而不脱离实施例的实质特性。例如,对实施例详示的每个部件都可以修改和运行,与所述变型和应用相关的差异可认为包括在所附权利要求所限定的本发明的保护范围内。[0051]本说明书中所涉及的实施例,其含义是结合该实施例描述的特地特征、结构或特性包括在本发明的至少一个实施例中。说明书中出现于各处的这些术语不一定都涉及同一实施例。此外,当结合任一实施例描述特定特征、结构或特性时,都认为其落入本领域普通技术人员结合其他实施例就可以实现的这些特定特征、结构或特性的范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1