发明名称 一种基于网络隔离结构的网站数据防篡改方法
摘要 一种基于网络隔离结构的网站数据防篡改系统,属于网络安全技术领域。将保存网站数据的数据库服务器置于较高安全级别网络中,将数据库内容单向发布到与互联网相连的较低安全级别网络的数据库服务器中,保护该较低安全级别网络中的网站数据。为此,构建了由内网主机和外网主机相互连接的网站数据防篡改系统,在外网主机中,数据更新模块把增量数据提交到待更新数据表,数据发布模块将该增量数据发布到外网网站数据表。数据防篡改模块定时查询系统设置及待校验增量数据表中数据变化,在检测到数据变化之时启动相应操作,确保对外网网站数据表的操作为授权操作。该方法可以有效防止诸如SQL注入等针对数据库的攻击,确保网站数据库的数据安全。
申请公布号 CN102609645A 申请公布日期 2012.07.25
申请号 CN201210017492.6 申请日期 2012.01.19
申请人 北京工业大学 发明人 郝慧;魏育辉
分类号 G06F21/00(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F21/00(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 楼艮基
主权项 一种基于网络隔离结构的网络数据防篡改方法,其特征在于,是一种用于实现对使用动态网页技术的数据查询类网站的防篡改保护的方法,所述防篡改保护是指针对恶意用户非法获取网站数据库管理权限后修改所述网站数据库数据内容的一种防止非授权修改保护,所述网站数据防篡改保护方法是在一个由内网、网站数据防篡改系统以及外网三者依次相连而构成的网络中,依次按以下步骤实现的:步骤(1),构建一个所述的网站数据防篡改网络,其中:内网,由一个具有较高安全级别的内网网站数据库以及一个向所述内网网站数据库提交数据的网站后台管理服务器构成,其中:内网网站数据库,设有:内网网站数据表和增量数据表,其中:内网网站数据表:内建一个事件触发器,当所述内网网站数据表中的数据变化时,该事件触发器把变化的数据写入增量数据表中,增量数据表,存储所述事件触发器捕获的内网网站数据库表中的数据变化信息,所述增量数据表包括如下字段:更新时间、获取时间、SQL命令、内网网站数据表变化数据、获取数据操作标识和数据唯一性标识,所述增量数据表中的更新时间、获取时间、SQL命令、内网网站数据表变化数据和数据唯一性标识字段内容构成增量数据,其中:更新时间:所述网站后台管理系统提交数据的时间;获取时间:所述网站数据防篡改系统中内网主机的数据获取模块访问所述增量数据表,并保存所访问到的数据记录的时间;SQL命令:所述网站后台管理服务器提交数据时所执行的操作;内网网站数据表变化数据:所述事件触发器所捕获的内网网站数据表中变化的数据;获取数据操作标识:标识网站数据防篡改改系统中的数据获取模块,是否成功获得所要访问的数据记录,包括:“未获取”、“获取中”和“已获取”三种状态;数据唯一性标识:由所述数据获取模块采用MD5算法计算得出,MD5算法的输入参数由以下字段中的字符串构成:“所述更新时间+所述SQL命令+所述内网网站数据表变化数据”,以标识所述增量数据的唯一性;外网,由一个具有较低安全级别的外网网站数据库以及一个外网Web服务器构成,其中:外网网站数据库,是所述的外网Web服务器中动态内容存储介质,设有:待更新数据表、外网网站数据表以及待校验增量数据表,其中:待更新数据表,包括如下字段:更新时间、获取时间、SQL命令、内网网站数据表变化数据、发布数据操作标识和数据唯一性标识,其中:更新时间:所述网站后台管理系统提交数据的时间;获取时间:所述数据获取模块获得该条数据的时间;SQL命令:所述网站后台管理系统提交数据的操作;内网网站数据表变化数据:所述事件触发器所捕获的内网网站数据表中变化的数据;发布数据操作标识:标识网站数据防篡改系统中外网主机的数据发布模块是否成功发布该条数据记录,包括“未发布”、“发布中”和“已发布”三种状态;数据唯一性标识:由所述数据获取模块采用MD5算法计算得出;外网网站数据表,设有事件触发器,当所述外网网站数据表中的数据变化时,该事件触发器把变化的数据写入待校验增量数据表,待校验增量数据表,存储所述事件触发器捕获的外网网站数据库表中的数据变化信息,所述待校验增量数据表包括如下字段:更新时间、SQL命令、外网网站数据表变化数据和原始数据唯一性标识,其中:更新时间:所述网站后台管理系统提交数据的时间;SQL命令:所述网站后台管理系统提交数据的操作;外网网站数据表变化数据:所述事件触发器所捕获的外网网站数据表中变化的数据;原始数据唯一性标识:由所述数据获取模块采用MD5算法计算得出;网站数据防篡改系统,设有:内网主机,外网主机以及连接所述内网主机和外网主机以便所述增量数据由所述内网主机向外网主机单向发送的相互连接的内网主机通讯卡、外网主机通讯卡,其中:内网主机,设有:数据获取模块和数据变化监测模块,其中:数据获取模块,设有:内网网站数据库所述增量数据表的访问权限,还设有:所述内网网站数据表数据变化消息的输入端、所述增量数据表内数据记录查询命令的输出端、所述增量数据的输入端以及外网网站数据库初始化命令的输出端,还有把所述增量数据文件发往所述外网通讯卡的增量数据文件输出端,获取内网网站数据表全部数据记录命令的输出端以及所述内网网站数据表数据的输入端;数据变化监测模块,设有:所述内网网站数据表数据变化的查询命令输出端,数据变化消息的输入端以及内网网站数据表数据变化消息的输出端;外网主机,设有:数据更新模块、数据发布模块和数据防篡改模块,其中:数据更新模块,设有:对所述外网网站数据库内待更新数据表的访问权限,还设有:接收来自所述数据获取模块发送的增量数据文件的输入端,所述增量数据文件为增量数据的文件存储形式,还设有请求数据发布命令的输出端以及发往所述待更新数据表的增量数据输出端;数据发布模块,设有:对所述外网网站数据表的访问权限,还设有:所述外网网站数据库初始化命令的输入端,请求数据发布命令的输入端,发布数据的输出端,所述发布数据是指根据所述待更新数据表中SQL命令字段及内网网站数据表变化数据字段中的内容,对所述外网网站数据表执行相应的SQL命令,以及外网网站数据表操作命令输出端,控制数据发布 输入端,数据记录唯一性标识输出端;数据防篡改模块,设有:对外网网站数据库的管理权限,对所述待校验增量数据表访问权限,还设有:控制数据发布的命令输出端,所述数据唯一性标识的输入端,管理外网网站数据库的命令输出端,所述外网网站数据库管理信息的输入端,所述外网网站数据表数据变化的查询命令输出端,所述待校验增量数据表中数据记录输入端,所述待校验增量数据表内数据记录查询命令的输出端,以及终止外网网站数据库服务的输出端,并依次按以下步骤进行防篡改保护:A:外网网站数据库用户保护a:在完成所述外网网站数据表中的事件触发器及对外网网站数据表的访问权限设置后,查询外网网站数据库中的所有用户,密码,角色,并将“用户名+密码+角色”字符串作为MD5算法的参数,计算用户信息特征值,并保持该特征值Mbase,当修改所述外网网站数据库用户权限设置时,将更新Mbase取值;b:定时查询外网网站数据库中的所有用户,密码及其角色,并依据所述MD5算法计算用户权限特征值Ncal;c:对比Ncal和Mbase,二者一致表示所述外网网站数据库安全,不一致表示所述外网网站数据库中用户,密码或角色发生了变化,数据库可能被入侵,告警,并向外网网站数据库提出终止服务的请求,B:数据防篡改a:所述数据防篡改模块定时查询所述待校验增量数据表,检测到待校验增量数据表中数据记录变化后,判断是否从所述数据发布模块收到了新的数据唯一性标识:若没有,则表明外网网站数据表中出现了非授权修改,便告警发出控制命令,命所述数据发布模块发出删除命令,删除所述外网网站数据表中新增加的数据记录,同时终止外网网站数据库服务;若所述数据发布模块发送的数据唯一性标识与查询结果中所述待校验增量数据表相应数据记录的原始数据唯一性标识一致,表示数据发布模块发布了带有该唯一性标识的数据信息,则执行步骤b;b:将待校验增量数据表对应数据记录的如下字段内容构成一字符串作为MD5算法的输入参数:“所述更新时间+所述SQL命令+所述内网网站数据表变化数据”,用MD5算法计算该外网网站数据表变化数据的唯一性标识,并与待校验增量数据表对应数据记录的所述原始数据唯一性标识字段中的内容进行对比,如果二者一致,则不向数据发布模块发布所述控制命令,若两者不一致,则告警,向所述数据发布模块发布所述控制命令,令其删除所述外网网站数据表中的新增数据记录,并向外网网站数据库提出终止服务的请求,步骤(2),所述网站数据防篡改系统依次按以下步骤完成所述内网网站数据库和外网网 站数据库的数据初始化同步,步骤(2.1),所述数据获取模块向所述数据发布模块发送“外网网站数据库初始化”命令,步骤(2.2),所述数据发布模块依所设置的访问权限连接所述外网网站数据表,若:存在数据,便清除,否则,执行步骤(2.3),步骤(2.3),所述数据获取模块依所设置的权限连接内网网站数据表,执行SQL中的“Select…from…”命令获得所述内网网站数据表中的所有数据,步骤(2.4),所述数据获取模块把步骤(2.3)所获得的数据以“外网网站数据库更新命令+表数据”格式形成数据文件发送给所述数据发布模块,步骤(2.5),所述数据发布模块依据收到的所述增量数据文件中的内容调用SQL命令实现外网网站数据表的更新;步骤(3),依次按以下步骤实现外网网站数据库的数据更新,步骤(3.1),网站管理人员通过所述网站后台管理系统提交数据到内网网站数据表,用所述事件触发器将内网网站数据表变化数据发送至所述增量数据表,步骤(3.2),所述数据变化监测模块查询到所述增量数据表中的数据记录发生变化后,通知所述数据获取模块访问所述增量数据表,获取增量数据:依次查询所述增量数据表中的所有数据记录,予以分别处理:若:所述增量数据表为空,结束数据获取过程;若:存在数据记录,则检查数据记录的获取数据操作标识字段,如状态为“已获取”,则表示该条数据记录已被所述数据获取模块获得,便直接删除该条数据记录;若:状态为“未获取”,将标识更新为“获取中”,并将所述获取数据操作标识状态为“获取中”的数据记录依据数据文件存储格式转换为数据文件,以字段“更新时间+SQL命令+内网网站数据表变化数据”中的内容构建字符串作为输入参数,通过MD5算法计算数据唯一性标识,更新所述获取数据操作标识字段并设置其为“已获取”状态,删除操作标识为“已获取”的数据记录;若:状态为“获取中”,表明该数据记录未完整获取,则继续获取;步骤(3.3),在收到步骤(3.2)形成的所述数据文件后,所述数据更新模块把这些数据更新到所述待更新数据表中,并将发布数据操作标识字段标识为“未发布”,并通知所述数据发布模块有数据需要发布,步骤(3.4),所述数据发布模块在收到步骤(3.3)中所述标识有“未发布”的数据记录时,便向所述外网网站数据表发布所述数据信息,所述数据发布模块依次查询所述待更新数据表中的所有数据记录,予以分别处理:若:所述待更新数据表为空,结束数据发布过程;若:所述待更新数据表存在数据记录,则检查数据记录的发布数据操作标识字段,如状态为“已发布”,则表示该条数据记录已发布到所述外网网站数据表中,便直接删除该条数据记录;若:状态为“未发布”,将标识更新为“发布中”,并将发布数据操作标识状态为“发布中”的数据记录以字段:更新时间,SQL命令,内网网站数据表变化数据中的内容构建SQL命令,提交到所述外网网站数据表中,删除操作标识为“已发布”的数据记录;若:状态为“发布中”,表明该数据记录未完整发布,则继续发布;步骤(3.5),数据防篡改模块在检测到待校验增量数据表中数据变化后,执行数据确认操作,验证数据发布的准确性,结束。
地址 100124 北京市朝阳区平乐园100号
您可能感兴趣的专利