一种数据库交互账户安全检测方法及系统技术方案

技术编号:34610270 阅读:14 留言:0更新日期:2022-08-20 09:15
本发明专利技术披露数据安全技术领域的一种数据库交互账户安全检测方法和系统,方法包括以下步骤:启动应用系统;在应用系统启动运行状态下,采用字节码技术将检测逻辑程序注入到应用程序与数据库连接的JDBC驱动层的数据接口中;获取应用系统和数据库的交互账号以及交互账号密码;通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警。本发明专利技术披露的数据库交互账户安全检测方法及系统,用以解决在数据库交互账户的安全性分析和告警。决在数据库交互账户的安全性分析和告警。决在数据库交互账户的安全性分析和告警。

【技术实现步骤摘要】
一种数据库交互账户安全检测方法及系统


[0001]本专利技术涉及数据安全
,尤其涉及一种数据库交互账户安全检测方法及系统。

技术介绍

[0002]自《中华人民共和国网络安全法》实施以来,明确规定单位或个人建立、运营网站,有义务保证网站运行正常。如果网站运营者重视不足,未使用合理的防护手段,一旦网站被入侵,可能造成业务瘫痪、数据泄露、散播出不良言论等恶性事件,相关单位、责任人需承担相应的法律责任,将对企业的运行和声誉造成极大的负面影响。
[0003]因网络运维人员个人习惯和安全意识不强,使用数据库默认的或者容易记忆的信息作为数据库的账号密码。这类账号不但具有很高的操作权限,而且容易被不法份子破解使用,造成严重的后果及不良影响。

技术实现思路

[0004]本专利技术针对现有技术中的缺点,提供了数据库交互账户安全检测方法及系统,用以解决在数据库交互账户的安全性分析和告警。
[0005]为了解决上述技术问题,本专利技术通过下述技术方案得以解决:
[0006]一种数据库交互账户安全检测方法,包括以下步骤:
[0007]在应用系统启动运行状态下,采用字节码技术将检测逻辑程序注入到应用程序与数据库连接的JDBC驱动层的数据接口中;
[0008]获取应用系统和数据库的交互账号以及交互账号密码;
[0009]通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警。
[0010]其中,所述获取应用系统和数据库的交互账号以及交互账号密码的具体方法包括:
[0011]创建连接对象进行数据库连接,完成与数据库建立连接后遍历创建的对象参数调取交互账户和交互账户密码。
[0012]作为一种优选的实施方式,在应用程序的驱动接入程序位置注入所述检测逻辑程序。
[0013]作为一种优选的实施方式,所述检测逻辑包括:
[0014]判断交互账号是否为默认账号以及是否满足复杂度要求;
[0015]判断密码是否为空密码、数据库默认密码以及是否满足复杂度要求。
[0016]作为一种优选的实施方式,所述通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警,还包括方法:在JDBC规范中基于连接构建预处理对象之前执行交互安全告警。
[0017]基于上述方法,本专利技术还提供一种数据库交互账户安全检测系统,包括:
[0018]数据库接入单元,用于执行接入数据库的方法;
[0019]检测注入单元,用于采用字节码技术将检测逻辑程序注入到应用程序与数据库连接的JDBC驱动层的数据接口中;
[0020]交互账户获取单元,用于获取应用系统和数据库的交互账号以及交互账号密码;
[0021]逻辑分析单元,通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求;
[0022]告警单元,用于接收到所述逻辑分析单元的否定分析结果后,执行交互安全告警信息。
[0023]作为一种优选的实施方式,还包括检测逻辑单元,用于承载所述检测逻辑程序,使其被插入到JDBC驱动层的数据接口中。
[0024]本专利技术的有益效果:
[0025]本专利技术提出一种应用系统非侵入式的数据库账号密码检测的方法,其主要应用于java应用系统,使用Java Agent技术在应用程序运行时候动态编辑类字节码,将检测逻辑注入到Java与数据库连接的JDBC规范数据接口中,与应用程序融为一体,实现了可以不区分上层开发所使用的框架、使用的何种数据库连接池技术以及底层具体使用的是何种关系型数据库,均能检测出应用系统和数据库交互的账号和密码是否满足企业的账号密码管理要求,具有通用性。
附图说明
[0026]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]图1是数据库交互账户安全检测方法的流程图。
具体实施方式
[0028]下面结合实施例对本专利技术做进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。
[0029]实施例1
[0030]一种数据库交互账户安全检测方法,包括以下步骤:
[0031]步骤1,启动应用系统;
[0032]步骤2,在应用系统启动运行状态下,采用字节码技术将检测逻辑程序注入到应用系统与数据库连接的JDBC驱动层的数据接口中;
[0033]步骤3,获取应用系统和数据库的交互账号以及交互账号密码;
[0034]步骤4,通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警。
[0035]进一步的,作为一种优选方案,所述检测逻辑包括:
[0036]判断交互账号是否为默认账号以及是否满足复杂度要求;
[0037]判断密码是否为空密码、数据库默认密码以及是否满足复杂度要求。
[0038]具体的,包括步骤4

1,读取交互账号和交互账号的检测逻辑,其中包括数据库交互账号管理要求;
[0039]步骤4

2,判断交互账号是否为默认账号,例如是否为root、sa、system、sys、scott等数据库默认账号;判断交互账户是否包含大小写,以及账号位数是否满足要求等;其中,关于交互账户的检测逻辑可以根据实际的应用场景进行调整,本实施例仅作为实施参照。
[0040]步骤4

3,判断交互账号密码是否为空;判断是否为数据库默认密码;判断是否包含大小写、特殊字符,以及密码位数属否满足要求等;其中,关于密码的检测逻辑可以根据实际的应用场景进行调整,本实施例仅作为实施参照。
[0041]步骤4

4,不满足步骤4

2和步骤4

3其中任意一项则执行告警。
[0042]作为一种优选实施方式,在应用程序的驱动接入程序位置插入所述检测逻辑程序。
[0043]由于目前整个JDBC执行体系分为:业务层、框架层、连接池层、以及由各数据库所提供的驱动层。每层或支持或依赖JDBC标准规范。另外每层的实现都不是固定的,但JDBC标准规范是最稳固、通用、变更最少,所以在此进行数据库交互账号和密码检测插入。
[0044]具体的,通过分析JDBC执行过程包括,1)从驱动获取连接(Connection);2)基于连接构建预处理对象(prepareStatement);3)执行SQL;4)读取结果集(ResultSet);5)关闭释放连接。本实施方式中,在第一步从驱动获取连接时插入检测逻辑,并在第二步执行前完成一系列的分析告警操作。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库交互账户安全检测方法,其特征在于,包括以下步骤:在应用系统启动运行状态下,采用字节码技术将检测逻辑程序注入到应用系统与数据库连接的JDBC驱动层的数据接口中;获取应用系统和数据库的交互账号以及交互账号密码;通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警。2.根据权利要求1所述的数据库交互账户安全检测方法,其特征在于,所述获取应用系统和数据库的交互账号以及交互账号密码,具体方法包括:创建连接对象进行数据库连接,完成与数据库建立连接后遍历创建的对象参数调取交互账户和交互账户密码。3.根据权利要求1所述的数据库交互账户安全检测方法,其特征在于,在应用程序的驱动接入程序位置注入所述检测逻辑程序。4.根据权利要求1所述的数据库交互账户安全检测方法,其特征在于,所述检测逻辑包括:判断交互账号是否为默认账号以及是否满足复杂度要求;判断密码是否为空密码、数据库默认密码以及是否满足复杂度要求。5.根据权利要求1所述的数据库交互账户安全检测方法,其特征在于,所述通过注入的所述检测逻辑判断交互账号以及交互账号密码是否符合数据库交互账号管理要求,若否,则执行交互安全告警...

【专利技术属性】
技术研发人员:李江
申请(专利权)人:杭州默安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1