著录项信息
专利名称 | 基于SQL语句的旁路式访问控制系统 |
申请号 | CN01132338.8 | 申请日期 | 2001-11-29 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2002-06-05 | 公开/公告号 | CN1352428 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | 暂无 | IPC分类号 | 暂无查看分类表>
|
申请人 | 上海复旦光华信息科技股份有限公司 | 申请人地址 | 上海市邯郸路191号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 上海复旦光华信息科技股份有限公司 | 当前权利人 | 上海复旦光华信息科技股份有限公司 |
发明人 | 唐星原;王剑斌;钟亦平;杜红伟 |
代理机构 | 上海市华诚律师事务所 | 代理人 | 徐申民 |
摘要
本发明提供了一种基于SQL语句的旁路式访问控制系统,该系统包括探头/阻断器,分析中心,审计记录库,控制台四个模块,该旁路式访问控制系统将访问数据库的SQL语句进行分析、整理、归类,解决了使连接数据库、登陆数据库、操作数据库、进行数据库描述操作各个数据库访问环节与用户需求相对应的安全控制问题。
技术领域\n本系统涉及一种网络数据库的监测和安全的控制技术,尤其是一种基于SQL语句的 旁路式数据库访问控制系统。\n 背景技术\n数据库组织形式的数据由于其共享性、独立性、一致性、完整性和可访问控制性而 成为计算机存储数据的主要形式,数据库系统和其他软件一样也需要安全保护。因为数 据库中存放着大量数据,由用户共享,每个用户的责任和权限各不相同;数据库中数据 冗余度小,数据库一旦给破坏,原来存储的数值就被破坏;数据库一般支持多个用户同 时进行存取,数据完整性的破坏将可能带来非常严重的后果。\n数据库安全是指防止利用软、硬件技术对数据的非授权访问、修改和破坏,它涉及 到许多方面的问题,比如不同级别的安全控制问题。一般操作系统对数据库文件没有特 殊的保护措施,数据库安全必须通过数据库管理系统等其他安全保护措施来实现。因此 必须限制用户,针对不同级别用户进行数据库访问控制,使每个用户只能访问与自己权 限相对应的数据,而不是整个数据库的数据,禁止用户访问非授权数据,并严格控制用 户修改数据库中的数据,以免无意或恶意修改数据导致的不良后果。\n数据库访问控制限制了访问者和执行程序可以进行的操作,这样通过数据库访问控 制可以防止安全漏洞隐患。数据库访问控制的目的就是要用户只能进行经过授权的有关 数据库操作。\n已有的数据库访问控制一般由数据库产品自身提供。现今比较成熟的数据库访问控 制有两种类型:自主访问控制(Discretionary Access Control,DAC)和强制访问控制 (Mandatory Access Control,MAC)。还有现在正在完善阶段的基于角色的访问控制机制 (Role Based Access Control,RBAC),RBAC的思想核心是安全授权(permission)和角 色(role)相联系,用户首先要成为相应角色的成员,才能获得该角色对应的权限。这简 化了授权管理,角色可以根据组织中不同的工作创建,然后根据用户的责任和资格分配 角色。用户可以进行角色转换,而随着新应用和新系统的增加,角色可以分配更多的权 限,也可以根据需要撤销相应的权限。实际应用多数数据库是基于DAC和MAC,或将 两种机制结合。DAC把访问决定权留给了产生信息的信息主,MAC则要求所有用户遵守 由数据库管理员建立的规则。\n但是以上这些数据库访问控制机制仍然存在以下缺陷:\n①正因为DAC允许使用者在没有系统管理员干涉的情况下对他们所控制的对象进行 权限修改,这就使得DAC容易受到攻击;比如攻击者可能通过间接途径复制或篡改机密 数据;\n②攻击产生后,由于多个用户可能使用同一用户名和口令登录,即使攻击者在不同 的地方登录,也很难准确定位;\n③完全的自主访问控制并不能提供较细的访问控制粒度,因此通常与强制访问控制 等其他机制相结合,以提供更细致的控制粒度;\n④访问控制的安全性依赖于访问控制表的数据完整性。数据库管理员和有特定访问 权限的用户可以有选择的、动态的把访问权限授予其他用户。并在需要的时候,收回这 种权利。用户注册时,会经由数据库管理员或数据库拥有者批准,分配口令,并授予用 户访问相应系统资源的权利。如果攻击者获得非法授权,修改了相关用户信息,在他登 录时,系统只根据数据库存储的访问控制表等信息进行核对,即使控制表信息已经被篡 改也无法知道,更无法进行中断连接操作,从而阻止攻击者进一步的破坏性操作。\n⑤数据库内部审计会占用数据库本身的资源,只有在其是最简便、最快速、最少干 扰的收集所需信息的方法的前提下,它的功效才能体现的出来。而它收集的信息以及可 以采取的措施也十分有限。\n因此,依靠单单靠数据库本身的访问控制机制并不能有效保证数据安全问题,即使 防火墙也不能有效防止来自企业内部人员对数据的破坏和篡改等安全隐患问题,而网络 内部的人员对于自己的网络更加熟悉,而且有一定的权限,进行入侵或破坏更加容易得 手。因此访问控制必须与其他安全措施,比如认证、审计等安全机制协同工作。安全数 据库审计可以对信息系统进行全面的安全保障和维护。安全数据库审计是针对数据库入 侵、违规及与安全有关重要活动进行监控、识别、记录、报警、响应的安全产品,它是 能够提供更高应用层次、更高智能的安全手段。\n 发明内容\n本发明的目的是提出一种基于SQL语句的旁路式访问控制系统,可以应用于数据库 审计系统,可以用子已有的不同数据库产品,不论该数据库产品使用的数据库访问控制 机制是自主访问控制机制DAC,强制访问控制机制MAC,还是引入了角色管理,或是将 DAC与MAC结合,该系统以物理上独立于数据库的方式,实施网络上数据库访问控制 监控,为数据库访问控制提供了更可靠的保障。\n本发明的目的是这样实现的:\n所述旁路式访问控制系统包括探头/阻断器,分析中心,审计记录库,控制台四个模 块, 该旁路式访问控制系统将访问数据库的SQL语句进行分析、整理、归类,以达到对连接 数据库、登录数据库、操作数据库进行数据库描述操作各个数据库访问环节进行与用户 需求相对应的控制。\n上述四个模块间的数据传送关系为探头/阻断器与分析中心数据交互,分心中心与审 计记录库数据交互,审计记录库与控制台数据交互,控制台单向向探头/阻断器传送数据。\n在旁路式访问控制系统中,探头/阻断器的数据处理分为四个部分,TCP/IP协议分析 部分,数据库具体协议分析与还原部分,访问控制筛选,内部通讯部分。\n前述的分析中心将所述的特定格式的数据包解包,并根据安全配置规则判断所述数 据包信息,必要时利用所述审计记录库中的访问记录表历史信息进行上下文联合分析, 将数据以报警或非报警记录保存在所述审计记录库中。\n上述审计记录库负责记录数据库访问发起的连接时间、数据库访问的连接标志号、 数据库访问的连接顺序号,数据库访问的数据库用户登录名、数据库访问的用户和数据 库的网卡地址、IP地址和端口号、数据库访问的语句类型、数据库访问的语句、数据库 访问违反的规则号等数据。\n前所述控制台对所述的数据库访问进行规则设置,并对规则设置规定不同的响应方 式,可查看到所述审计记录库中存放的数据。\n所述规则设置可以对数据库登录用户名、数据库访问语句操作类型、数据库客户端IP 地址、数据库访问所涉及数据表、数据库访问语句关键字这些对象进行。\n前述不同的响应方式包括,报警、记录、中断和忽略。\n通过以上方案,在不加重数据库负担,不占用数据库资源,不改变网络物理结构的 条件下,实现了对数据库访问的有效审核、安全控制,对每个连接的每次数据库操作, 对每条操作命令,都在更细致的粒度上进行数据库安全访问控制。\n由于访问控制功能实现是在探头内实现,即使数据库本身的安全受到威胁,并不影 响独立的探头分析器和分析中心访问控制智能分析模块的已有配置。即便数据库内已经 被修改,仍能对访问进行有效的阻断和控制。\n探头内的访问控制分析器大大减轻了海量数据给分析中心带来的负担,提高了审计 系统反应速度,为阻断器及时阻断可疑或非法操作节省了宝贵的时间。\n分析中心的智能分析系统由于利用用户和数据库数据记录的历史信息进行上下文联 合分析,因此可以有效防止自主访问控制的弱点。而且基于SQL的旁路访问控制系统可 以重组、归类访问控制行为,因此通过对某用户一段时间内的序列操作进行分析,可以 进行联合判断,有机会在用户对数据库进行破坏性攻击之前就将该次连接断开。\n 附图说明\n图1基于SQL语句的旁路式访问控制系统工作流程图\n 具体实施方式\n下面结合实施例进一步说明本发明。\n参照图1,百兆网探设备(探头/阻断器)3配有两块百兆网卡,其中网卡一无IP地址, 并设置为混杂模式听取网络中的数据包。网卡二与NT服务器相连。\nNT服务器上装有作为分析中心4的审计中心软件和作为控制台5的数据管理软件, 并装有一MS SQL SERVER数据库作为审计记录库6进行审计数据存取。\n当数据库用户1对ORACLE数据库服务器2进行访问时,百兆网探网探设备3从网 卡一听到其发送的数据包,百兆网探设备3将对数据包进行连接匹配,寻找该连接的连 接表,当该数据包为连接发起包时,网探设备3将根据该数据包建立新的连接表,如果 没有原始表则建立新的连接表,对数据库的后续操作信息也会存储在该连接表中。所述 连接表为所述探头/阻断器中已有的用来存储TCP/IP包的IP地址和端口等信息,比如连 接发起的时间,数据库用户名,登录的客户机信息,和被访问的数据库主机信息、数据 库和数据库用户协商采用的协议信息,以及连接的日志文件的历史资料表格。\n数据库用户1发送一连接信息包,当网探设备3得到该数据包时,将对该包数据进行 分析。从该数据包中,探头通过解析ORACLE数据库协议TNS协议头可得到其TNS数 据类型为,其中包括TNS协议客户端软件使用的TNS版本,和这次连接将采用的一些属 性,如连接包大小、最大可接受数据长度等。在服务器2回应包中,我们可以获知服务 器是否接受该请求,如果接受则可以得到连接实际采用的TNS版本和实际采用的属性特 征字。我们将这些属性记录在连接表中以方便后面的数据包的分析。\n在建立连接表后,数据库用户1将自己可接受的所有软件版本信息传送给服务器2, 服务器2将根据自己可使用的软件版本选择双方可接受的软件版本进行连接。在网探设 备3得到该数据包中,可以得到该TNS协议类型,数据库用户1与服务器2进行协议协 商,并获得主机信息保存在连接表中。\n在协议协商后,数据库用户开始发送自己的登录信息给数据库服务器2。网探设备3 可根据其TNS类型,基本操作类型,功能类型判断其类型并根据其实际数据包结构得到 数据库登录用户名,并记录该信息于连接表。\n在用户登录信息得到数据库服务器2的确认并返回成功后,数据库用户1可以开始一 系列数据库访问操作。其操作的数据结构可根据其TNS协议中的三个类型得到,即TNS 类型,基本操作类型,功能类型。根据所述类型,网探设备3进行数据包的解析,可从 数据包中得到SQL语句。\n对所述SQL分析后,得到该语句涉及到的数据库表和数据库操作类型,在对其进行 简单规则匹配。判断是否为立即阻断类型或忽略类型,如果为阻断类型则立刻进行阻断, 并把阻断结果传送至审计记录库6记录下来。其余类型的数据库操作信息均转换为系统 内部通讯格式,传送至分析中心4。\n分析中心4对网探设备3传送来的数据进行解包,并根据分析中心4的规则配置进行 规则匹配或上下文联合分析。如果该数据包满足分析中心4设置的某条规则,分析中心4 将向网探设备3发出不同的处理命令。如匹配结果规则响应为阻断,分析中心4则向网 探设备3发出阻断命令,分析中心4同时将该次处理过程及结果发送到审计数据库6进 行记录;如果为报警,则根据设定的方式进行报警;如果为忽略,则将该连接的所有数 据包放行,不进行审计记录和报警。控制台5将从审计记录库6中取得最新的数据并进 行显示。控制台5还可以进行历史记录的查询和报警方式的设置。\n用户可以从控制台5中看到ORACLE数据库2和访问用户的网卡地址、IP地址和该 连接的端口信息,可以看到该连接匹配的规则名称和该规则响应措施。其他信息如数据 库访问连接发起时间,数据库访问用户登录名和数据库访问匹配规则的语句都将直接显 示在报警信息中,从报警信息的详细内容中用户还可以查看到该连接匹配规则后做的操 作。
法律信息
- 2015-01-14
未缴年费专利权终止
IPC(主分类): G06F 13/00
专利号: ZL 01132338.8
申请日: 2001.11.29
授权公告日: 2004.10.06
- 2004-10-06
- 2002-06-05
- 2002-03-27
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |