网络化土地监管数据库中数据疑似非法修改检测方法

2018-07-25 11:22闫艳红郝星耀潘瑜春
计算机应用与软件 2018年7期
关键词:日志规则变化

闫艳红 郝星耀 潘瑜春,2,3,4*

1(首都师范大学信息工程学院 北京 100048) 2(国家农业信息化工程技术研究中心 北京 100097) 3(农业部农业信息技术重点实验室 北京 100097) 4(北京农业物联网工程技术研究中心 北京 100097)

0 引 言

数据真实性、逻辑完整性是数据管理中最重要的问题,数据库中的问题数据通常会产生误导或偏差的分析结果[1]。全球和环境变化的研究已广泛认识到监测土地利用/覆盖变化的重要性[2]。土地监测需要及时把握土地状况,但往往由于下级部门对数据层层修改,或实际运行与上报数据之间不匹配等现象,导致上级监管部门难以掌握真实有效的数据,监管效率低下。随着我国城镇化、工业化进程的加快,土地利用方式将进行全面调整,城镇化无序扩展导致大量耕地资源被侵占[3],准确的土地变化信息对土地利用变化监测以及辅助决策有着重要的意义[4-5],因此构建网络化土地监管系统,并对数据库数据修改行为进行合法性检测,识别疑似非法修改行为是非常重要的。

现已有许多关于空间数据变化检测技术的研究,文献[4]采用增量变化提取方法,对同一地区两个不同时间段的土地利用数据进行变化检测。文献[5]提出一种准确检测地籍时空数据库中不同时期宗地发生的变化信息并进一步进行数据挖掘的方法。文献[6]提出一种以GIS辅助数据获取相斑建立样本特征数据库的方法进行遥感影像的变化检测。文献[7]针对现有增量更新变化检测的方法尚未实现事件信息检测问题,基于继承、拓扑和属性关系作为先决条件,建立地籍要素事件知识规则库,提出一种含有事件信息的地籍数据库增量更新变化检测方法。文献[8]针对地理要素的变化检测方法,实现对不同时相的同源、多源地理信息的变化分析。综上所述,已有空间数据变化检测侧重对不同时相的静态数据进行比对检测,主要用于数据库增量更新。而在土地网络化监管中,要求对空间数据非法修改实现实时监测、变化捕获、疑似非法修改的识别。数据修改中往往存在逻辑完整性和数据一致性的潜在隐患,这些错误无法通过现有的检测方法检测,但这些业务数据通常是相互关联的,通过这种关联关系,可以用来发现数据的潜在逻辑错误。

为此,本文提出一种网络化土地监管数据库中数据疑似非法修改检测方法。该方法在数据库变化数据捕获的基础上,进一步研究了变化数据的逻辑一致性和完整性,最终可以提取到疑似修改的数据,为上级单位提供更高效的监管方法,并为上级单位决策信息提供更精确的基础数据。

1 检测实现方法

1.1 检测实现流程

数据库中数据疑似非法修改检测方法实现的主要技术流程可归纳为以下几步:1)变化数据的捕获,在全程网络化监管的数据库发生变化时,通过数据库通过本身自带的logminer工具来读取目标监听的日志记录;2)疑似非法修改行为识别,对修改数据行为的一致性和相应流程前置活动进行合法性识别;3)非法修改数据的操作用户进行追踪,其技术流程如图1所示。

图1 数据疑似非法修改检测方法实现技术流程图

1.2 数据库变化信息捕获

数据库变化信息的捕获是疑似非法修改自动检测的基础。变化数据捕获(CDC)是一种数据集成的方法,用于确定和跟踪已变更的数据,以便使用变化数据采取行动[9]。由于维护和管理数据库的成本很高,因此使用CDC技术来确定数据源哪些部分已更改,有助于数据库中大量数据的管理[10]。目前常用的数据库变化信息捕获方法[10-16]主要有快照法、API法、影子表法、时间戳法、触发器法、变更轨迹表法、日志分析法。除此以外,还有在这些方法的基础上进行优化和组合,如:触发器和日志表相结合的变更数据捕获方法[17]、时间戳与触发器相结合[18]等。其数据库的事务日志完整地记录了数据变迁的历史,通过日志记录的提取和分析进行变化数据检测,较之其他变化数据捕获方法具有检测效率高且对信息源系统运行增添额外负荷小的突出优点,因而成为备受关注的主要检测方法之一[19]。

考虑网络化土地监管数据变化捕获的应用情景:数据库结构异构型、实时性强、内容专题多并且关联性强、主动捕获、恶意屏蔽、不能对应用系统数据库造成额外的负担和操作。最终选取数据库本身自带的日志分析工具来进行变化数据的捕获。该方法以DBMS的事务日志为基础,并对其进行实时监控,一旦源系统发生数据变化,就进行实时捕捉。为提高监管效率,故需要有针对性的捕获检测数据,根据预先设置的过滤规则,丢弃那些不需要的数据,只对需要实时集成的数据进行分发。传输过程中只是传递数据库系统日志,数据量很小,而且如果这些传输再采用压缩格式,那么传输效率将非常高。因此,采用DBMS日志的技术可以将实时性精确到秒级。

1.3 疑似非法修改行为识别

疑似非法修改行为识别是数据库中数据疑似非法修改检测方法的关键。该过程主要通过预先设置的规则特征库,与业务数据库中捕获的待检测数据做对比分析,最终提取出不符合业务逻辑或数据访问连接信息的疑似非法修改行为数据。

1.3.1 业务数据变化特征分析

土地监管业务数据变化类型具有多层次:第一层次,土地监管业务流程中变化,可通过监管业务系统登录实现数据库内容的变更,以及土地监管非业务流程中的变化,可通过数据库客户端程序实现数据库内容变更;第二层次,对于土地监管业务流程中的变化,流程前置活动环节结束传递到本活动环节的业务数据变化,属于正常变化,否则属于异常变化,而对于非土地监管业务流程中的变化通常视为非法修改。这些变化特征无法一步实现,只能通过对变化数据的特征进行逐步识别才能确定,并且需要建立判断数据变化类型的特征数据库。

在国土资源土地管理业务中,按大类可划分为“批、供、用、补、查”5种类型,而土地监管业务流程的各环节,业务流程数据之间往往存在以下问题:批地环节中,申请用地位置、土地属性及面积与基础数据不符,报批环节数据不完整;在供地阶段中,供地数据无对应审批数据或与审批数据在供地方式、面积和用途等方面存在不一致;在用地阶段,用地监管数据与批地数据不一致或无相应匹配数据;在补地阶段,补充耕地数量、质量和地理位置数据与实际不符;在查地阶段,可能存在对检测数据进行修改导致实际问题被隐藏。

1.3.2 疑似非法数据修改行为特征库设计

基于以上业务数据变化特征分析,本文针对业务数据库数据发生的改变,进行疑似非法修改数据的检测。将土地监管“批、征、供、用、补”数据横向进行关联,以便对每个土地项目进行全程监管。考虑数据库日志分析捕获到的变化信息数量庞大,而真正需要监听的内容仅限于关键业务数据,针对监听表和字段提取类型特征,实现特征数据库的构建。在特征库构建中,将表空间、数据表、字段以及数据操作类型作为目标监听对象。为了确保监管土地业务数据的逻辑完整性、一致性,需要对业务数据的一致性和前置流程进行合法性检验,所以在构建过程中,将特征库设计归纳为逻辑判别规则与数据访问连接规则。其中,逻辑判别规则与监听数据内容相对应,包含与目标检测相关联的检测表、对比字段(关联检测表与被检测表逻辑关联字段)、关联表连接字段、检测表连接字段、对比字段数据类型、参考值(被检测对象优先参考值,当参考值为空时,通过关联表进行对比)、比较方法(关联表与被检查字段逻辑关系)。本文以征地项目地块中的地块面积字段(DK_MJ)作为目标检测字段,构建逻辑规则见表1。连接规则是用来对监听数据访问进行白/黑设置的规则,也可以对监听数据访问设置白/黑名单的连接规则,即只允许某些特定的计算机或用户访问,或禁止某些计算机或用户访问。同样连接规则也是与监听数据一一对应,对应的连接规则见表2,即允许数据库用户名为DETECTIVE,主机名为YANYANHONG,IP地址如a.b.c.d的用户进行操作。将这些规则都存入检测数据库中,便于非法修改行为的检测。

表1 逻辑规则

表2 连接规则

1.3.3 疑似非法修改行为识别实现

基于数据变化类别与特征库比对方法,识别疑似非法修改行为。在疑似非法修改行为识别实现过程中,检测数据库与土地监管业务数据库相互独立运行。在检测数据库中将检测特征库构建好后,使用预先设置好的目标检测规则,从检测数据库中获取业务数据库发生数据修改行为的业务数据,作为待检测数据;通过目标业务数据的一致性和前置流程相关的逻辑检测规则和连接规则,与待检测数据进行匹配,提取出不符合判别规则或数据访问连接规则的数据,并做进一步的核查。

在土地监管批、征数据中征地项目地块和报批项目,征地项目地块表(ZS_XM_DK)与报批项目地块表(PS_XM_DK)通过报批项目标识字段(BP_GUID)关联,其ZS_XM_DK表记录了征地项目地块信息,BP_GUID字段标识所属地块,PS_XM_DK表记录了报批项目地块信息。两表间同一报批项目标识的相同属性应保持一致的逻辑一致性。将征地项目地块表(ZS_XM_DK)作为被检测表,报批项目地块表(PS_XM_DK)则为业务逻辑相关核查表,当报批项目标识(BP_GUID)所属地块相同时,两表中的地块面积必须相等的业务逻辑检查规则。

在土地监管的业务数据库中对征地项目地块表(ZS_XM_DK)中的地块面积(DK_MJ)或其他属性数据做修改(update)、删除(delete)、增加(insert)等操作,则在检测数据库中通过日志分析可以捕获到业务数据库发生变化的数据。获得数据库日志记录后,通过日志中设置的过滤规则,进行解析日志内容得到业务数据库发生变化的操作信息。依据目标检测规则,再进一步获取表ZS_XM_DK中DK_MJ发生更新操作的变化数据,对比特征库中与之相关的逻辑判别规则和连接规则,判断是否与设定的规则相匹配,不匹配则标记为疑似非法修改的操作行为,并将其提取出来。监管人员对提取的疑似非法修改数据进行进一步的审核,判段疑似非法修改行为是否为非法修改,若是,对该数据进行标记及提交核查时间,并通知相关人员,若不是,则将疑似非法修改数据从列表删除。

1.4 数据非法修改用户追踪

为了进一步对监管数据的安全提供保障,对疑似非法修改行为的操作用户执行追踪。各级土地业务应用系统相关的操作人员均有对应的操作计算机、登录账号等个人信息,并在系统用户管理信息中存有操作人员的基本信息,包含个人的联系方式及主机、ip地址、系统登录名、数据库用户名等信息。通过数据库日志捕获数据变化内容的同时,日志内容也记录了数据操作用户的相关信息,如操作系统用户、数据库用户名、主机等信息。通过系统用户管理信息和DBMS数据库中监听日志的用户信息进行匹配,当匹配率达到一定的阈值,则判断为疑似非法修改数据的问题用户,通知相关管理或监管人员;若没有达到一定的阈值,则进行修改数据的DBMS用户名、登录时间、IP等用户信息和修改的数据内容。

对用户的操作行为建立一条从捕获的变化数据到提取疑似非法修改数据,再由疑似非法修改数据到操作用户提取的追踪机制。通过对疑似非法修改行为操作用户的追踪,进一步提高了检测系统的完整性、安全性。

2 实现与部属

2.1 系统实现

为验证数据库疑似非法修改在线检测方法的有效性,开发实现了网络化土地监管数据库中数据疑似非法修改检测系统。系统分为数据库变化检测服务和数据库变化检测管理系统两部分,前者负责业务数据库变化信息提取和分析,后者负责对分析结果和检测规则进行管理。系统的实现基于eclipse、Oracle 11g平台,采用java语言,spring boot、spring、hibernate、bootstrap框架以及servlet、jsp、juqery、ajax等技术实现,系统结构设计如图2所示。

图2 系统结构设计图

实现数据库变化的检测服务,采用任务调度方式,即在固定时间周期性地启动检测程序,对检测周期内的全部修改行为数据进行合法性检测,其时间粒度可精确到秒级。通过对时间的控制可以检测某时间段内的数据库修改行为数据,也可以从启动服务开始,在线检测数据库疑似非法修改的数据(包括启动前一分钟)。检测服务启动后,不需要人工的干预,当业务数据库数据发生修改行为时,采用日志分析在线捕获数据库源数据发生增删改操作的业务数据,这些即为可能的异常变化数据,并将变化数据存储到目标数据库中;从数据修改行为数据中读取记录,与目标数据操作行为进行对比,确定该修改行为是否需要进一步检测,如果是,则根据目标检测规则获取对应的特征检测规则和连接监测规则,采用匹配方法对数据修改行为进行分析,符合逻辑判别规则标记为合法行为,否则将疑似非法修改数据提取出来。

在数据库变化检测管理系统中,监管人员首先通过特征库维护模块,对需要监听的目标检测数据进行构建,如进行监听征地项目地块表中的地块面积,并用疑似非法数据修改行为特征库设计中的规则,对征地项目地块表构建逻辑判别规则与连接规则。然后使用业务数据库,修改征地项目地块表(ZS_XM_DK)中任意一条记录的地块面积(DK_MJ)值,使其与报批项目地块表(PS_XM_DK)对应记录的地块面积(DK_MJ)不同。通过Spring boot启动在线监测服务,在检测结果中实现疑似非法修改检测,如图3所示。其中疑似非法操作信息显示如图3(a),点击“检测规则”按钮,将显示不符合前后业务逻辑的判别规则和连接规则,见图3(b),点击疑似非法修改数据行后的“详情”按钮,将显示疑似非法修改记录的变化源数据的操作值和条件值,以及通过筛选获得的疑似修改用户,见图3(c)。监管人员通过查询疑似非法修改详情,判断其是否为非法,如果是,则点击“标记为非法”,反之,点击“删除”将该条疑似非法数据从列表删除。业务数据库被更改后,点击“变化侦测”可以显示业务数据库符合日志过滤规则的所有的变化数据,列表显示变化数据的操作字段、数据库用户名、连接主机、操作系统用户名、sql重做日志、表名、表空间、操作时间和操作类型,当没有数据发生改变时,会提示“暂无数据”,如图4所示。通过反复实验,对业务数据库各属性字段做修改,实现100%的发现,验证了方法的可行性。

(a) 疑似非法操作信息

(b) 检测规则详情

(c) 疑似非法记录操作详情 图3 疑似非法修改检测结果

图4 变化数据源

2.2 系统部署

构建基于各级土地业务数据库的监管服务平台,充分发挥疑似非法修改检测系统的功能,以集中式部署为导向,结合各级土地业务数据库变化数据的分析,实现高效可行的土地业务数据库非法修改检测监管体系。

不同土地业务数据库的部署方式,决定了疑似非法修改检测系统的监管策略,同时也决定了监管效率。我国大部分有关土地应用系统和数据库的部署方式采用分布式和集中式部署。不论土地业务数据库采用哪种部署方式,疑似非法修改该检测系统均以集中式部署到最上级监管单位。结合土地监管需要多级网络化监管,为使上级监管单位对下级提供的数据进行快速分析监管,并便于领导决策,特建立省、市、县3级网络化的有效监管、分析、决策机制。

当数据库系统采用分布式部署时,监测系统部署到省级,市、县级需要将数据库发生变化的数据归档,省级监管人员定期到各个数据库节点提取归档日志数据信息,并通过对数据库节点的分析,将有用的信息提取到监测中心,进一步分析、检测、提取,便于监督各个下级单位对业务数据修改的管理状况。系统部署架构如图5所示。当监管系统采用集中式部署时,所有数据都存储在省级国土资源数据库,市、县级通过广域网连接进行数据操作,其数据库由省级监管部门进行统一管理,即建立监管统一的业务数据库。下级单位进行业务变化数据的录入、上报、处理,检测系统即可实现实时监督下级部门对业务数据操作的状况,即实现实时在线自动变化数据的检测。系统部署架构如图6所示。

图5 分布式系统部署架构图

图6 集中式系统部署架构图

3 结 语

在土地监管业务流程数据的基础上,给出了网络化土地监管数据库数据疑似非法修改在线检测的方法,并通过开发系统,进一步验证了方法的可行性。系统运行结果表明,时间粒度控制为从启动自动检测服务后前一分钟开始到服务结束,能够筛选出数据库中发生增加、删除、修改的所有变化数据的信息。

为实现对疑似非法修改数据的识别和提取,将土地监管中的业务流程数据构建为规则特征库,通过对比变化数据与特征库,提取出不匹配特征库规则的变化。在土地监管过程中,数据变化的在线及时发现与类型识别的问题,有效避免了对数据的违法篡改,并对执行该疑似非法修改的数据,进行用户追踪,最终将该检测系统以集中式部署方式,应用到上级单位。该方法对土地利用相关决策提供准确、全面的变化信息,为上级单位提供决策依据,对土地的有效监管监测有着重要的意义。

该方法还可以应用于上级对下级针对数据真实性把控的各个领域,如:统计监管、农业补贴、税收监管、金融监管等领域,为其提供了一个通用和成功的数据库在线检测方法,具有很好的应用价值。

猜你喜欢
日志规则变化
撑竿跳规则的制定
一名老党员的工作日志
扶贫日志
从9到3的变化
雅皮的心情日志
奥斯卡的规则变了!
雅皮的心情日志
这五年的变化
让规则不规则
TPP反腐败规则对我国的启示