基于COM组件三层架构下数据库安全审计的应用

导读:实现COM组件三层架构下数据库访问的全面审计及精准溯源,对数据库的各种访问方式和访问行为进行有效地监控和审计。通过对COM组件独特的架构进行分析研究,对应用层中间件及数据库的访问数据包进行抓取,采用DPI+DFI技术结合数据通讯原理对抓取到的数据包进行深度解析。根据COM组件在医院三层架构系统中实际应用,结合医院信息化安全建设需求,设计出符合医院实际需求的三层架构数据库安全审计系统。基于COM组件三层架构的数据库审计系统能有效地解决该组件架构下溯源难的问题,全面监控预警医院信息化系统中的统方、违规等数据库高危操作,能很好地满足医院安全信息化的建设要求。

前言

三层结构是传统的客户/服务器结构的发展,代表了企业级应用的未来,典型的有Web B/S架构下的应用和基于COM组件C/S架构下的应用。多层结构和三层结构的含义是一样的,只是细节有所不同。而当前大多医院信息系统正是基于COM组件的业务系统,客户端访问数据库时,经过了COM组件协议封装,该协议隐藏了其内部客户端的相关信息,给数据的审计带来很大困难。基于COM组件三层架构的数据库安全审计系统通过对COM组件的通讯协议识别和解析,运用数据分析引擎(见图1)对COM组件封装协议进行深度识别,将分析出来的语句通过展示平台以可视化形式显示出来,还原最终的操作用户身份信息及准确的数据库操作指令。

图1 三层架构数据库审计架构设计

COM组件简介

Component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM架构(见图2)下,开发人员可以开发出各种功能专一的组件,然后将它们按照需要组合起来,构建成符合客户需求的应用系统。由于COM组件与语言及平台无关的特性,可以使得开发程序员充分发挥自己的开发能力及专长编写系统所需的组件模块。

图2 COM组件架构

基于COM组件三层架构的数据库安全审计系统设计

医院信息系统是支撑医院业务的重要支柱,国家卫生部要求三级甲等医院的核心业务信息系统的安全等级原则上不低于三级。按照《信息系统安全等级保护基本要求》,其中最重要的内容之一就是数据库审计。现在,采用COM组件为核心业务系统的医院,除了面临常见的数据库性能、运维管理、权限控制等风险,还需要面临数据库应用带来的访问安全风险。

等级保护基本要求包括:应提供覆盖到每个用户的安全审计功能,对应用系统重要安全事件进行审计;应保证无法单独中断审计进程,无法删除、修改或覆盖审计记录;审计记录的内容至少应包括事件的日期、时间、发起者信息、类型、描述和结果等;应提供对审计记录数据进行统计、查询、分析及生成审计报表的功能。

系统设计背景三层架构是数据库安全审计的一个热点问题,谈虎色变的“三层架构审计及COM组件审计定位到人的难题。COM组件其实是一种C/S架构下的中间件,包括前后不同的版本DCOM,COM+,由于C/S架构采用了此中间件,会导致某些不能识别COM组件的数据库审计产品,无法识别SQL语句,只能看到简单的login,logout信息,所以比B/S的中间件更加特殊。只有识别了COM协议,才能识别SQL语句。国内外大部分数据库安全审计产品都是模糊匹配,漏报误报严重,而且难以捕获应用系统账号,无法定位到人,特别是基本无法支持带COM/COM+/DCOM组件方式。

信息化系统中,最核心、重要的就是数据库,核心的数据库往往都面临着挑战及风险:数据库自身审计影响数据库服务器性能;数据库自身审计日志分析工作繁琐、投入人力大、信息易被篡改或泄漏;数据库维护人员权限没有控制起来;对数据库的所有操作没有全面审计系统进行监管;第三方工具直接访问数据库,没有相应的安全防范,可以对数据库进行恶意破坏和非法统计;业务应用系统没有做相应的权限控制,敏感信息没有屏蔽,发生高危操作时没有日志记录;对正常或非法统方行为没有实时监控;通过C/S基于COM组件三层架构的客户端工具访问无法准确溯源至终端用户;通过B/S模式的业务系统访问数据库,没有相应的权限控制,敏感信息没有被屏蔽,非法操作没法审计和追溯;通过文件共享FTP方式,从数据库服务器下载核心数据未被监控。

系统设计原则对于采用三层架构(COM组件)应用系统网络结构的医院来说,终端用户对数据库的访问通过COM组件来实现,因此,数据库审计系统要实现终端用户对数据库的直接访问审计,需同时对终端用户访问COM组件、COM组件访问数据库的数据流进行审计,但该系统突破了不准确的三层关联审计,直接对COM组件审计,也可以达到审计效果。

从安全整体体系设计的角度来看,方案的设计,是针对安全威胁而来。从数据库的威胁来看,主要有三类:系统性的破坏,对数据库整体架构的删除等;关键数据的篡改;关键敏感数据的盗取。

三层架构实际上是指应用系统在访问数据库的时候,采用了中间件,由于中间件屏蔽了客户端的身份信息,导致在数据库前面看到的全部是中间件服务器的身份信息,而不是终端访问者的信息,因此给溯源工作带来障碍。应用系统的安全性,通过自身权限控制,已经将风险大大降低。所以我们关注的重点应该是各种终端直接访问数据库的行为,或者仿冒中间件的行为,这些通过数据库审计都能够准确定位到直接访问者。支持COM组件三层架构审计,能精确定位到人。

医疗卫生信息系统中,数据库是重中之重,它存储着病人的疫情信息、个人联系方式信息、家庭住址信息等,以及医生开药处方等敏感信息,这些信息的泄密和篡改将会造成重大的医患纠纷、经济损失、甚至造成不良的社会影响。数据库安全审计通过对数据库操作痕迹的详细记录和审计,使得各种渠道访问数据库的操作、威胁等,可实时预警及时发现,并针对存在的安全隐患,及时进行调整和优化。

具体来说,审计系统能够记录每个访问者每一次对数据库的操作访问信息,数据访问操作表示为4 个要素信息,即:操作者、操作对象、操作时间和操作行为。当数据访问操作发生时,记录何人、何时、何地、对何种数据进行了何种操作,数据库审计系统对数据库的操作行为进行自动记录、预警,并提供这些信息的查询、统计等功能。从而达到防止敏感信息的泄密。

通过对医院信息系统的业务、技术和管理三个方面的安全需求分析,对医院现有的各信息化业务系统如:HIS、PACS、LIS、EMR等无任何影响的前提下,通过对网络中所有访问医院信息化系统的海量、无序数据进行处理和分析,在出现违规统方操作时,可以定位到谁在什么时候以何种方式进行了非法操作,提供操作过程的全程回放,供相关人员分析。

系统实现效果第一,对所有的数据库访问和操作进行全面的审计监测。通过数据库审计系统,可以清晰明了的知道谁在什么时候进行了哪些操作,访问者是否为合法授权用户,访问的内容及操作行为是否合规(见图3)。第二,对重点敏感的数据加强了审计监管。防止重要数据的泄露和纂改,起到防数据泄密的多重审计效果。第三,提供了详细丰富的审计数据记录及分类统计。通过详细的审计信息展示及审计记录分类的展示,让医院使用者能实时掌握数据库系统的安全运行。第四,对医院数据库以及业务系统异常操作及访问进行实时监控与报警。第五,弥补数据库内置系统审计日志的缺陷。加强了审计的公正性,独立性。第六,系统采用旁路部署接入到网络中,不改变原有网络架构,无需和数据库做对接,没有任何的数据交互,并不会影响数据库的性能。第七,经济及社会效益分析。经济效益分析:降低病人的就医成本。本产品在医院的应用,可以有效地遏止医生的灰色收入,促使医生规范用药,从而降低病人的就医成本;助力医院的信息化发展。医院的数据库安全有保证,医疗信息化建设才能深入,长远的发展,本系统在医院的应用,能够充分保障医院数据安全,为医疗信息化建设保驾护航;数据的合法利用。目前95%的医疗大数据是被浪费的,这些海量数据如果被正确分析利用,对医学未来的发展意义重大,系统能配合相关机构,合法合理的对数据进行整合分析,造福于医患。社会利益预测:科学防腐,改善医患关系。产品可以有效防止医生通过非法统方拿到药品耗材的回扣,维护了医院的声誉,大大改善了原本紧张的医患关系,对科学防腐起了积极作用;推动新型数据库的应用。系统作为第一个后关系型数据库安全审计技术产品,它的出现将推动新型数据库的应用,从而加快信息化推进的进程;产品的推广将有利于加强信息的保护、避免敏感数据的篡改和经济信息的泄漏,改善国内信息安全与数据安全现状。

图3 COM组件审计效果

随着信息安全的快速发展,数据库安全已从网络安全、互联网安全划分出来,成为一个专精的领域。而医疗行业中,“非法统方”的本质就是数据安全、信息安全问题。

数据库是企业、医院的核心,业务系统架构的复杂程度决定了数据库安全审计产品能达到什么效果。COM/COM+/DCOM组件只是中间件的一种体现,其他还有weblogic、jboss等。要保护核心数据库,就需要支持各种复杂系统架构,才能更全面保障数据安全。

文章来源:《中国数字医学》杂志2018年第01期,作者及单位:印剑锋 岳丹,首都医科大学宣武医院信息中心。

欢迎关注,CHINC服务号获取最新大会消息

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180309B19JVR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券