四川职业技术学院 刘向东
数据库加密处理不严谨导致企业信息数据存在风险,因此提出企业应用数据库安全风险防范与实践的研究。设计数据库安全接入端口,使用加密方式控制用户访问操作,设置静动态职责分离维护数据库平稳运行,增加内部信息审计功能得以实现防范数据库风险。经过仿真实验,数据库安全风险防范方法能够有效抵御非规范操作,具有实用性。
在网络隐患中,数据信息的丢失和损坏是程度最严重的,因为所有的信息都是以数据的形式存储在数据库中。虽然学者们有相关的数据库安全管控研究成果,并应用于实践,但是在安全风险防范和入侵技术两者的此消彼长中没有终点,需要不断加大投入,设计更为可靠的安全风险风范措施[1]。在目前的数据库中,数据信息为了减小存储体积,一般没有加密措施,容易被扫描发现,并依照关联关系挖掘出信息链,造成数据库安全风险,而其中的任意关键信息丢失都会引起信息泄露,损坏就会影响企业或是单位的正常工作运行。
企业的数据储存终端体量大,信息内容庞杂,为了方便调用,大部分企业的数据都是以直观的形式存储在数据库中,这样就给了违法分子盗用信息的机会,他们可以直接通过互联网操作神不知鬼不觉的盗用一部分信息,给企业的经济造成损害。其次,在大部分企业内部,终端数据库的密码是默认向所有员工公开的,这样做的初衷也是为了便利工作[2]。可是这样的操作也使整个数据库处在对内不保密的状态,即使是企业外部人员,也可以登录企业员工的账号进行信息窃取。用户数据和企业的发展道路相关,因此维护企业的应用数据库的安全是非常重要的。
数据库安全接入端口主要应用的方式是虚拟化节点的管理方式。“虚拟化节点管理”存在目的是为了给系统管理员提供更简便且直观的工作方式。其中,虚拟化阶段管理界面主要负责对外界操作的相应工作[3],并对相应页面发出操作请求信号。虚拟化节点信息管理主要负责节点固定信息和变动信息的收集整理。虚拟化节点信息获取的主要工作是维护节点内的信息数据完整。安全接入端口功能结构设计如图1所示。
图1 节点管理图Fig.1 Node management diagram
虚拟化节点管理类图按照节点处理信息的类型不同分为信息管理和信息获取两类,三者在功能设计层面具有不同的职责分工。其中:虚拟化节点管理作为统筹管理层,负责对虚拟化节点的应用请求做出响应、监控虚拟化节点的使用状态、收回节点使用权限,实现资源的统一调配和分时复用;虚拟化节点信息管理负责节点信息的接收、转发、校对,是主功能类;虚拟化节点信息获取是保障层功能,用于信息的维护与管控,对信息安全和状态进行监管。
非授权用户访问数据库的第一层加密是身份认证,用户只有通过了信息安全系统的身份判定,才能访问初级界面的信息,但不能访问更深层次的数据信息[4]。在用户身份信息认证控制运行的过程中,数据库会调取储存过的可访问人员名单,与用户输入的身份信息进行匹配认证。同时向下一层级发送指令,只开放非授权用户可以访问的数据包。技术研发人员还特别注意到了数据库保密措施这项技术,研究发现,大多数互联网企业都会对储存的数据本身进行保密处理,这样即使是信息丢失或者泄露,盗取者也不能马上使用,在没有解密算法的条件下,盗取的信息只是一组乱码,毫无用处。
应用层加密,是在数据传输中即完成加密操作,当数据存入数据库中时,已经具备了加密属性,重要数据得到保护,即使信息被窃取也无法被破译[5]。在应用层的数据加密,需要将用户行为关联其中,判断行为的合法性和目的性,通过机器学习,挖掘用户行为特征,建立行为判断规则,实现低人工干预的自动安全防护规则的生成与实施。
行为判断规则的算法流程设计为:
输入端:通过数据积累,建立数值化的用户行为数据集S,其最小支持度min-sup=s,最小相关度阈maxconf=m;
输出端:通过输入端的数据激励,关联用户行为,形成规则库A,以及正常的用户行为规则数据库D。在输入端和输出端之间进行如下运算:
(1)根据最小支持度min-sup=s生成项目集合P;
(2)ForEachp⊆P{if(max-conf)ToA};
(3)If(x(p-x)⊆Aand(p-x)Then→x ;
(4)从规则库A中找到正常的用户行为规则,将其删选,另外保存至规则库D;
(5)RETURN D。
算法的设计中,需要具备最小支持度的数据集合储备,才构成了运算的最低条件基础,在此行为集合中,通过最小相关度阈值得到用户行为数据集的用户行为规则库,作为安全的操作行为,在安全风险防范中不予拦截。但是现实中,任何时间段的用户行为都会存在非正常的操作,其分布满足高斯规则,因此需要在建立规则过程中,剔除掉破坏行为的干扰,筛选出用户正常行为,建立规则[6]。
大部分人访问一个系统时,操作都是一步一步进行的,通过计算机的身份验证,建立信息交流,提取自己所需要的信息。在用户进行操作时,动态职责分离约束功能(如图2所示)就会把用户的角色进行分类分级,只有按照层级操作,才能访问最终界面,调取有用数据[7]。而此时,数据库中的其他功能信息对此用户角色是关闭的,也就是说用户不能同时进行两项技术操作。静态职责分离约束主要是对定点位置的一场进行处理,与之相对的,动态职责分离约束是会给多名同时访问的用户下发不同的角色,在同一时间点,不同的角色无法进入到同一个数据操作流程中,用户的操作会被自动分层或进行排队等待。
图2 动态分离职责约束模型Fig.2 Dynamic separation of responsibilities constraints model
静态职责分离约束则是将所有用户进行统一的限制性分配,这样即使是某一个运行模块出现问题,也不影响其他部门人员进行信息的调取和使用。在日常工作中,使用静态职责进行信息调取的数据开销太大,因此可以认为静态职责分离约束是一项应急措施。静动态结合的方式最大限度维护数据库正常运行。
审计是对行为的合理性、合法性进行监察的过程,内部信息审计对数据库的使用过程进行监督发现危害安全行为。内部信息审计的形式主要包括操作日志和访问数据库两种情况,审计模块首先会将这些数据信息记录在册[8],之后审计模块会先对这些操作进行正常和异常行为的检测,再进行分类储存。数据管理工作人员在查看时就极大地提升了工作效率,先在正常行为包中检查,再到异常行为包中进行异常数据查看并进行相关操作,可以挖掘到异常操作的用户端地址,还能够查看该用户在特定时间段开展的关联操作,将结果和过程对应到人。这样就可以分辨出哪些是员工误操作,及时进行培训,哪些是恶意操作,及时进行防范。
数据管理员可以在出现安全问题时,通过表1的分类文件找出问题根源。下面首先创建数据库连接日志类和用户操作日志类。然后建立这两个类对应的网址映射类。这样我们就可以根据两个映射类匹配数据字段,查询出所有的日志记录。可以实现数据库安全防范功能。
表1 操作日志表Tab.1 Operation log table
进行数据库安全运行仿真实验是为了验证设计的方法是否对用户的异常操作行为具有准确的甄别功能。首先从企业的内部审计存储器中随机抽取用户的操作日志,然后设置不同数量和长短的正常操作语句、异常操作语句。之后,在用户正常数据中加入异常操作,检验系统的识别异常操作能力,判断安全风险防范的效果。
根据合法用户的正常操作,抽取其数据特征,并有针对性的调整操作细节,构建异常操作样例,种类为三种:(1)异常行为,设计合法身份用户的超越数据库使用权限行为,如发现该行为,安全风险防范系统应停止服务,终止该操作;(2)非法入侵,设定非法用户操作行为,以未被授权的用户身份使用数据库;(3)木马窃取,设定注入类语句,在后台操作数据库。
实验过程设计为:
编号1.在200条正常操作中夹入90条异常行为操作。
编号2.在200条正常操作中夹入90条非法入侵操作。
编号3.在200条正常操作中夹入90条木马窃取操作。
编号4.在200条正常操作中各加入30条用户越权操作、非法用户操作和终止注入操作。
编号5.200条正常操作。
为了比较直观地显示出实验的内容和结果,实验操作是在单一用户操作下进行的,并且数据库目标也仅有一个。软件的安全防范措施是用网络抓包的方式获取数据通行信息,并进行数据来源分析,导出操作用户的客户端地址以及要访问的数据库信息,这样就能够实现多个用户操作访问不同的数据时,也能进行安全排查。
五项操作的实验数据如表2所示。
从表2可以看出,当操作都是在安全范围内进行,没有任何异常操作的情况下,安全风险防范系统不会影响数据库的正常使用,没有安全预警;在正常操作中夹带非法操作情况下,风险防范系统能够以较高的比例发现异常行为,发出报警信息,并终止当前操作。对于不能100%识别异常行为问题,经研究分析,是安全风险防范系统对较长语句的学习不足,导致没能建立防范规则,造成漏警。每一项的漏报数据在总条数上不超过1.5%,在合理的漏报范围内。根据以上数据,证明本文设计的数据库安全方式是有实用性的。
表2 安全检测结果Tab.2 Safety test results
数据作为目前世界中的信息主要表达方式,其安全性非常重要。数据库的安全保密问题也被提升到前所未有的高度。业界针对数据库安全的研究一直是热点问题,并在不断的加大研发的投入,保障数据库使用安全。本文在主要针对数据库的接入端口进行了安全升级设计,从人为操作和自动机械方面进行双层管理加密。设计了数据库的内部结构,实现对直观表现的数据进行分类加密存储。随着安全性提升而来的问题,就是数据库的储存量会因为安全性的提升而降低,一定程度上降低了企业调用数据的效率。如何在安全管控措施和数据库使用的便利性方面进行平衡,是后期数据库安全研究需要解决的内容。