应用程序防假冒方法、装置、计算机设备及存储介质与流程

文档序号:34223449发布日期:2023-05-19 23:23阅读:104来源:国知局
技术简介:
本发明针对数据库安全网关中假冒应用程序难以识别的问题,提出通过学习应用程序的SQL模板特征及执行顺序等指纹信息,并与身份因子(如IP、账户)关联,实现登录阶段和SQL执行阶段的双重指纹匹配验证,有效识别假冒应用,降低基于名称授权的安全风险。
关键词:应用程序防假冒,指纹识别

本发明涉及数据库安全防护,更具体地说是指应用程序防假冒方法、装置、计算机设备及存储介质。


背景技术:

1、在数据库安全网关产品中,为了从源头上对运维人员和业务人员进行分离管控,采用多维度的安全认证方式如对业务系统的终端认证,sqlplus、toad等常见运维工具进行识别认证,保证运维来源的可信、可控。同时,防止运维工具假冒业务应用程序。

2、在诸多因子中客户端应用程序名是一种重要的因子,常用量区分不同的系统,并基于应用名称赋予不同的访问权限。基于应用名称身份因子,在一些应用场景中面临应用程序的假冒问题,比如:在业务终端上使用应用名称为his和运维终端上假冒应用名称为his的运维工具分别通过数据库安全网关访问数据库,安全网关基于应用程序名称his授予了访问数据库的权限,此时运维终端上假冒应用名称his将可以获取其不该拥有的访问权限,给数据库安全带来隐患;又如:在业务终端上使用应用名称为his和假冒应用名称为his的运维工具分别通过数据库安全网关访问数据库,安全网关基于应用程序名称his授予了访问数据库的权限。此时假冒应用名称his将可以获取其不该拥有的访问权限,给数据库安全带来隐患。对于上述两个场景面临的问题,第一个场景可以通过ip或者mac地址来区分两个终端,但是,对于网络存在nat的场景也是存在漏洞,而在第二个场景中,由于假冒his与his在同一终端上,依据常用的ip、mac、os名称等常规身份因子无法识别假冒应用名称。

3、因此,有必要设计一种新的方法,以解决了假冒应用程序识别的难题,降低基于应用程序名称授权访问的安全风险。


技术实现思路

1、本发明的目的在于克服现有技术的缺陷,提供应用程序防假冒方法、装置、计算机设备及存储介质。

2、为实现上述目的,本发明采用以下技术方案:应用程序防假冒方法,包括:

3、当应用程序进行初始化时,学习所述应用程序的指纹,以得到指纹信息;

4、将所述指纹信息与所述应用程序的身份进行关联,以得到带指纹信息的身份信息;

5、当终端使用应用程序登录数据库时,根据所述应用程序的名称进行应用程序的身份匹配以及指纹信息识别,以得到识别结果;

6、判断所述识别结果是否是匹配成功;

7、若所述识别结果是匹配成功,则执行sql时获取登录数据库后累计执行的sql信息与应用程序的身份关联的指纹信息进行匹配,以得到匹配结果;

8、判断所述匹配结果是否是匹配成功;

9、若所述匹配结果是匹配成功,则对所述应用程序进行放行处理;

10、若所述匹配结果不是匹配成功,则对所述应用程序进行阻断处理。

11、其进一步技术方案为:所述当应用程序进行初始化时,学习所述应用程序的指纹,以得到指纹信息,包括:

12、当应用程序进行初始化时,在数据库网关审计信息中选择同一数据库的所有会话;

13、从所有会话中筛选出与所述应用程序相关的会话,以得到目标会话;

14、从所述目标会话中相同的若干sql语句中筛选具备相同特征的sql语句,以得到筛选结果;

15、按照所述应用程序名称以及所述数据库的类型保存所述筛选结果中的sql特征,以得到指纹信息。

16、其进一步技术方案为:所述指纹信息包括sql模板特征以及sql执行顺序。

17、其进一步技术方案为:所述应用程序的身份包括ip地址、数据库账户以及应用程序名中至少一个。

18、其进一步技术方案为:所述当终端使用应用程序登录数据库时,根据所述应用程序的名称进行应用程序的身份匹配以及指纹信息识别,以得到识别结果,包括:

19、当终端使用应用程序登录数据库时,解析所述应用程序的名称,以得到待匹配名称;

20、查找待匹配名称对应的应用程序的身份,以得到查找结果;

21、判断所述查找结果是否是查找成功;

22、若所述查找结果是查找成功,则确定对应的应用程序的身份是否有关联的指纹信息,以得到信息确定结果;

23、判断所述信息确定结果是否是对应的应用程序的身份有关联的指纹信息;

24、若所述信息确定结果是对应的应用程序的身份有关联的指纹信息,则确定识别结果为匹配成功。

25、其进一步技术方案为:所述执行sql时获取登录数据库后累计执行的sql信息与应用程序的身份关联的指纹信息进行匹配,以得到匹配结果,包括:

26、当应用程序执行sql时获取sql累计执行次数;

27、判断所述sql累计执行次数是否小于设定次数阈值;

28、若所述sql累计执行次数小于设定次数阈值,则初始化一个数值以及命中数;

29、取出所述数值对应的sql语句;

30、判断所述数值是否小于所述设定次数阈值;

31、若所述数值小于所述设定次数阈值,则判断所述数值对应的sql语句与应用程序的身份关联的指纹信息中对应的sql语句是否相等;

32、若所述数值对应的sql语句与应用程序的身份关联的指纹信息中对应的sql语句相等,则对所述命中数加一,以更新所述命中数;

33、对所述数值加一,以更新所述数值,并执行所述判断所述数值是否小于所述设定次数阈值;

34、若所述判断所述数值不小于所述设定次数阈值,则根据所述命中数计算所述命中率;

35、判断所述命中率是否满足应用程序的身份关联的指纹信息的要求;

36、若所述命中率满足应用程序的身份关联的指纹信息的要求,则确定匹配结果是匹配成功。

37、其进一步技术方案为:所述判断所述数值对应的sql语句与应用程序的身份关联的指纹信息中对应的sql语句是否相等之后,还包括:

38、若所述数值对应的sql语句与应用程序的身份关联的指纹信息中对应的sql语句不相等,则判断应用程序的身份关联的指纹信息是否要求按照特定顺序匹配;

39、若应用程序的身份关联的指纹信息不要求按照特定顺序匹配,则执行所述对所述命中数加一,以更新所述命中数;

40、若应用程序的身份关联的指纹信息要求按照特定顺序匹配,则执行所述对所述数值加一,以更新所述数值。

41、本发明还提供了应用程序防假冒装置,包括:

42、学习单元,用于当应用程序进行初始化时,学习所述应用程序的指纹,以得到指纹信息;

43、关联单元,用于将所述指纹信息与所述应用程序的身份进行关联,以得到带指纹信息的身份信息;

44、识别单元,用于当终端使用应用程序登录数据库时,根据所述应用程序的名称进行应用程序的身份匹配以及指纹信息识别,以得到识别结果;

45、第一判断单元,用于判断所述识别结果是否是匹配成功;

46、匹配单元,用于若所述识别结果是匹配成功,则执行sql时获取登录数据库后累计执行的sql信息与应用程序的身份关联的指纹信息进行匹配,以得到匹配结果;

47、第二判断单元,用于判断所述匹配结果是否是匹配成功;

48、放行单元,用于若所述匹配结果是匹配成功,则对所述应用程序进行放行处理;

49、阻断单元,用于若所述匹配结果不是匹配成功,则对所述应用程序进行阻断处理。

50、本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。

51、本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。

52、本发明与现有技术相比的有益效果是:本发明通过在初始化应用程序时,学习该应用程序的指纹,并将学习到的指纹信息与应用程序的身份进行关联,在使用应用程序登录数据库时,根据该应用程序的名称进行应用程序的身份以及对应的指纹信息的匹配,在匹配成功的情况下,执行sql时,获取登录数据库后累计执行的sql信息与应用程序的身份关联的指纹信息进行匹配,确保登录阶段和sql执行阶段都进行防假冒识别处理,以解决了假冒应用程序识别的难题,降低基于应用程序名称授权访问的安全风险。

53、下面结合附图和具体实施例对本发明作进一步描述。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!