APP下载

基于数据库审计的防统方系统实现

2014-07-12赵维佺魏小锐刘永波

东莞理工学院学报 2014年3期
关键词:日志引擎数据库

赵维佺 魏小锐 刘永波 熊 辉

基于数据库审计的防统方系统实现

赵维佺1魏小锐1刘永波2熊 辉3

(1.东莞理工学院 计算机学院 广东东莞 523808;2.深圳昂楷科技有限公司,广东深圳 518034;3.长安大学 信息工程学院,西安 710064)

针对非法统方对医院数据库安全和商业机密的危害,防统方可以斩断医药回扣黑链中的重要环节。基于数据库审计思想,设计了防统方系统模型。基于该模型设计了适用于不同HIS(Hospital Information System)厂家和多类型数据库的防统方系统。对软件体系结构、后台业务处理框架、后台业务数据处理流程等进行了阐述。系统实现结果证明了该防统方系统设计的有效性。

防统方系统;数据库审计;网络安全

“统方”本指医生开药的一个统计数字,该商业机密若被医药代表作为给医生支付回扣的依据,就成为医药回扣黑链的重要环节[1]。防统方系统是针对医院数据库安全进行加固和安全防范的软件系统,可以防止医院内部高权限用户进行数据窃取、非法用户绕过防火墙进行外部数据攻击,进一步对统方行为进行实时监控和追溯。

针对防统方系统的设计原理、构成事件等关键技术开展分析,基于数据库审计方法设计了防统方系统模型。基于该模型设计了适用于不同HIS厂家和多类型数据库的防统方系统。并对软件体系结构,后台业务处理模块的实现过程进行了详细阐述。设计结果表明,所设计的防统方系统能够有效监控数据库操作行为,对非法统方行为进行告警、限制和追溯。

1 防统方系统设计原理

统方是医疗卫生行业的一个术语,主要指某些人员通过各种方法如:HIS应用系统、数据库操作工具、自制统方软件等统计医生一段时间内的药品用量信息、高值耗材信息等,通过查询医生的开药情况收取医药代表一定比例的回扣,医生—医药代表之间的黑色产业链的存在严重地影响了社会公平公平性,增加了患者费用负担,滋生了腐败的土壤,其行为已经带来了一连串的社会负面影响,而防统方系统就是通过技术+管理手段抑制和检测非法统方行为[2-3];

防统方系统通过旁路或串联的方式对通往数据库的流量进行检测分析,通过协议解析记录访问数据库的访问者身份信息,并通过SQL语法检测分析其所查询的表和字段是否包含了药品、高值耗材等信息,同时检测其行为特征是否符合非法统方,如其条件都符合则触发风险告警,提示管理员介入调查,并可有效阻断。

1.1 防统方系统的构成事件

完成防统方系统至少需要做以下几方面的工作。

检测访问数据库统方信息的用户的合法性和真实性。统方本身只是一个SQL指令,但如果统方者居心不良或本身不具有合法性将统方结果用于其它用途则都可视为非法统方,可根据表1所示定位统方者身份信息及其合法性,从登陆就开始检测。

表1 定位非法统方者的参数

将药品、高值耗材信息纳入统方信息。区别统方与其它操作的根本在于SQL操作所涉及的表和字段是否属于统方范畴,如单独访问某病人的用药情况、单独访问收费明细表但却不包括用量数量、医生情况等信息都可视为正常操作,统方操作所查询的内容应同时大量查询了药品名称、药品数据、药品金额、医生信息等组合数据[4-5]。

检测分析SQL操作指令是否触发防统方规则如图1所示。一条SQL指令是否触发规则需要通过语法分析提取的表和字段、操作类型、查询条件和字段、返回结果的行数等工作来智能判断,如触发规则通过多种告警方式提醒安全审计人员介入调查。

图1 检查是否为非法统方存在的条件

1.2 防统方系统的事件关系

除了防统方系统外,具有防统方功能的工具有以下几种:1)有很多HIS系统都存在统方功能且大部分都对统方功能做了一定的权限设置并进行防统方审计,但这种方式无法审计访问者通过第三方工具绕开HIS系统直接非法统方;2)有一些数据库插件安装在数据库服务器上或提取数据库日志进行非法统方检测,这种方式无疑加大了数据库负担,插件使用不当或发生错误很容易导致数据服务中断,数据丢失;3)通过堡垒机的方式针对数据库运维用户进行审计,虽然其统一了数据库运维的出入口,但还是存在诸多问题,如统方者可以绕开旁路部署的堡垒机进行统方,而且堡垒机采用字符记录和屏幕录像的方式,在数据量大的情况下很难对维护操作全面跟踪,其智能告警及易使用性方面欠缺,尤其是在通过HIS系统访问数据库的情况下,堡垒机根据不具备预警和审计能力[6-7]。

而通过旁路镜像和协议解析的方式可有效的针对进出数据库的访问者身份合法性进行识别、访问内容进行分析检测、访问所触发的统方行为能实时告警并可根据其行为轨迹判别疑似非法统方者的意图。

2 防统方系统设计

防统方系统(如图2所示)首先采集用户操作事件(例如统方数据查询、访问者登录注销等),在采集用户操作事件的同时进行语法分析和解析结果入库操作;将SQL操作指令的语法分析结果与防统方规则进行匹配,当匹配成功时立即触发非法统方事件并报警,同时将该条入库的审计日志打上风险标识。通过分析汇总审计日志形成审计报告。分析器需要分析SQL指令查询的字段、查询条件、查询的表名等,入库操作需要记录触发该事件的用户、事件类型、触发的防统方规则、用户的身份信息和用户的操作工具等。

图2 防统方系统模型

2.1 防统方系统模型

防统方系统首先采集用户操作事件(例如统方数据查询、访问者登录注销等),在采集用户操作事件的同时进行语法分析和解析结果入库操作;将SQL操作指令的语法分析结果与防统方规则进行匹配,当匹配成功时立即触发非法统方事件并报警,同时将该条入库的审计日志打上风险标识。通过分析汇总审计日志形成审计报告。分析器需要分析SQL指令查询的字段、查询条件、查询的表名等,入库操作需要记录触发该事件的用户、事件类型、触发的防统方规则、用户的身份信息和用户的操作工具等。

如果数据库表结构发生变动,可修改统方数据字典进而修改防统方规则。基本的防统方系统模型至少包括三个部分,一是用于采集用户SQL操作的防统方数据采集器;二是对采集的SQL操作数据进行分析的防统方数据分析器。统方数据字典是存储在防统方系统数据库中被防统方规则所调用,集中包括了多表多字段信息;三是用于将防统方日志访问者信息定位到具体的人以及将专业的SQL指令、抽象的表和字段翻译成方便普通用户识别的翻译器;采集器采集的数据存储为防统方审计日志。

2.2 防统方流程及日志格式

防统方系统首先收集来自网络的用户操作事件(例如数据库登录注销、查询操作、ftp操作等),根据预设的告警条件(统方数据字典),判断其是否为防统方审计事件;对防统方审计事件的内容按日志模式记录到防统方审计日志中;当审计分析结果满足报警条件时,分析器向管理人员发送报警信息并记录其内容并将审计日志打上风险标识,当分析结果与白名单相匹配时则丢弃该事件;当某用户的登录失败次数满足一定数量或者使用的数据库操作工具为不可信时将提示管理员关注该用户的操作行为,必要时与防火墙等安全设备联动进行阻断。防统方系统管理员也可以通过手工分析的形式查询、检查防统方日志以形成审计报告。当发现统方数据字典未记录的操作,可以在统方字典中更新该类型操作、特征语句、可疑工具等。

在防统方模型中,审计日志的作用至关重要,它负责记录各类事件,为防统方系统管理人员提供事后审计的依据。审计日志的范围主要包括:事件发生时间(包括日期及时、分、秒)、主机名、访问的数据库、进程ID号、客户端端口号、访问者IP、数据库用户名、访问的表和字段、操作返回代号、所使用的工具、触发的防统方规则等。

审计日志主要有以下两种标准:Bishop标准:每条日志记录由域构成,域分割符“#”分割各域,起止由符号“S”和“E”标记。域的数目可变,以满足扩展性需求。数值部分由ASCII串构成(避免字节排序和浮点格式的问题);

归一化标准:审计数据值存放在一个独立的NADF记录中。每条记录包括以下3个域:识别符,审计数据值的类型;长度,审计数据值的长度;值,审计数据值。

3 防统方系统软件体系结构

根据以上对防统方系统模型的分析,从功能上可以将防统方系统划分为以下功能模块:系统配置、审计管理、策略管理、风险管理、报表管理、日志管理、用户管理和别名管理八大部分(如图3所示)。

图3 防统方系统功能结构图

3.1 后台业务处理模块设计[8]

后台主要分为审计引擎,动作引擎,数据维护引擎,守护进程,monitor监视器五大块。采集器将采集到的数据交给审计引擎处理;审计引擎对SQL指令进行语句解析、数据提取等操作,将处理完的数据提交给数据维护引擎;对于触发动作引擎的数据交给动作引擎处理;数据维护引擎负责将处理完的数据入库。客户端与数据中心的交互可以通过两种途径:一种是直接访问数据库;另一种是与monitor进行通信,由monitor再与各引擎进行通信。

图4 数据中心功能模块图

monitor:负责与Web客户端的交互,将客户指令分发给其他系统进程。同时,处理一些较为简单的系统任务,如修改设备网络地址,恢复出厂设置、提取CPU、内存、硬盘使用等设备运行状态信息。

审计引擎:根据所审计的数据库对象、防统方规则组和白名单信息对访问数据库的SQL命令进行解析、信息提取,将符合白名单的数据丢弃,将所有分析出的数据加上风险标识,然后将审计分析结果发送到数据维护引擎,将标识为风险的审计日志发送给动作引擎。

动作引擎:在审计引擎对审计数据进行审计后,将某些被标记为风险动作的数据交给动作引擎,由动作引擎根据邮件配置、短信和通知(syslog)策略采取发警告邮件、syslog、短信等动作通知相关干系人。

数据维护:根据审计日志发生时间将审计日志分批进行入库操作,并对入库的审计日志风险标识进行检查,将高中低风险数目计入计数器,并依据高中低不同风险标识将审计日志有针对性的存入报表预处理数据表。

守护进程:监控系统中monitor程序、审计引擎、动作引擎、数据维护引擎的运行状态,恢复在某些情况下异常终止的进程,监控防统方系统对底层操作系统资源利用情况,在负载较大的情况下及时释放资源保证操作系统的稳定性,同时担负着系统升级的功能(替换Web服务,升级后台系统文件等)。

图5 后台处理模块系统图

3.2 后台模块的数据处理流程

防统方审计程序在读取到采集器存储在内存文件系统中的数据信息之后进行语法解析和数据提取,依据防统方规则和白名单对数据信息进行分析审计,将满足条件的防统方数据打上标识存入数据库;对于触发防统方规则的数据信息发往动作引擎,由动作引擎执行相应动作(邮件告警,短信告警,syslog告警)。Web客户端修改防统方系统配置信息,同时通过网络告知监听进程处理程序,监听进程通过实时信号的方式通知各进程(守护进程除外)更新配置信息。同时监听进程负担一些较为简单的系统任务,例如重启设备,关闭设备,恢复出厂设置,设置设备网络地址、监视防统方系统资源利用情况等。向各进程转发信息,例如向采集器发布IP过滤信息;向守护进程发送手动升级指令等。

图6 防统方系统审计模块流程图

图4 后台模块数据流程图

图8 审计模块处理流程图

其中审计模块处理采集器audit-server采集到的数据,并依据防统方规则分析审计事件,识别相应的风险,存入数据库并将高风险事件信息传递给动作引擎。

图9 疑似统方行为告警截图

图10 疑似统方语句的翻译分析截图

图11 访问数据库的源IP统计报表截图

4 结语

针对医疗卫生行业存在的非法统方乱象,基于数据库安全审计技术构建防统方系统,设计了防统方系统模型,基于该模型设计了适用于不同HIS厂家和多类型数据库的防统方系统,对系统中的软件体系结构、后台业务处理框架、后台业务数据处理流程等进行了描述。最后通过部分系统实现结果证明了防统方系统设计的有效性。

[1] 黄丽.禁“统方”难遏药品“回扣”歪风[J].中华医院管理杂志,2010,9(10):2-3.

[2] 沙坤.军队医院信息网络安全现状分析[J].解放军医院管理杂志,2011,18(3):243-244.

[3] 潘晓雷,詹振坤,蔡海山.数据安全防御系统在医院信息安全中的应用[J].数据库技术与应用,2012,5(9):86-88.

[4] 赖炜,辛小霞,吴汝明,等.区域医疗信息共享平台的数据审计研究[J].医学信息学杂志,2010,31(12):14-17.

[5] 刘逸敏,程传苗,邢茂迎.数据库安全与隐私保护数据库技术应用探讨[J].中国数字医学,2008,3(1):43-47.

[6] 刘传高.谈医院信息系统的安全管理[J].中华全科医学,2012,10(9):1474-1475.

[7] 崔艳荣,文汉云.数据库安全模型及其应用研究[J].计算机应用研究,2005,22(7):146-147.

[8] 赵维佺,魏小锐,刘永波,等.面向多类型数据库的安全审计系统设计[J].网络安全技术与应用,2013(06):41-45.

The Implementation of Prescription Statistics PreventingSystem Based on Database Auditing

ZHAO Wei-quan1WEIXiao-ru i1LIU Yong-bo2XIONG Hui3

(1.Computer College,Dongguan University of Technology,Dongguan 523808,China;2.Angkai Technology Ltd of Shenzhen,Shenzhen 518034,China;3.Information Engineering Institute,Chang'an University,Xi'an 710064,China)

Against illegal systems for hospital database security and commercial secrethazards,the PSPS(Prescription Statistics Preventing System)can cut the important link of medical kickbacks black chain.Based onthe database audit idea,a system prevention system model is designed.Onthis basis is designed a PSPS whichis suitable for different manufacturer HIS(Hospital Information System)and multi-type database system,describing software architecture,the background business management framework,the background data processing,etc.The effectiveness of the PSPS is proved.

Prescription Statistics Preventing System;database auditing;network security

TP3

A

1009-0312(2014)03-0028-07

2014-02-19

国家自然科学基金(61300197);广东省教育部产学研结合项目(2012B091100295);东莞市科技计划项目(东科[2011]40-2011108102018)。

赵维佺(1972—),男,山东德州人,副教授,博士,主要从事嵌入式控制系统设计与应用、网络化运动控制系统、网络与信息安全等研究。

猜你喜欢

日志引擎数据库
一名老党员的工作日志
扶贫日志
蓝谷: “涉蓝”新引擎
游学日志
数据库
数据库
数据库
数据库
无形的引擎
基于Cocos2d引擎的PuzzleGame开发