数据库审计的方法和设备的制造方法

文档序号:9506187阅读:352来源:国知局
数据库审计的方法和设备的制造方法
【技术领域】
[0001]本申请涉及计算机领域,尤其涉及一种数据库审计技术。
【背景技术】
[0002]随着数据库技术的迅猛发展,数据库的应用十分广泛,深入到各个领域。数据库作为信息的聚集体,存储着大多数现代机构依赖的信息,例如,基础数据、客户的信息、核心机密、敏感数据等,由于数据库的重要性和其拥有的价值,对攻击者具有很大的吸引力,因此其受到蓄意攻击的可能性增加。
[0003]网络业务审计系统作为网络安全防护的重要手段,是目前应用日益广泛的防护系统,它通过对业务系统中可信人员的网络活动进行解析、记录、分项以帮助管理人员事前规划预防、事中实时监控、违规行为阻止和事后追查网络运营事故,从而帮助用户加强内外部网络行为监管、避免核心资产(数据库、服务器、网络设备)损失、保障客户业务系统的正常运营。

【发明内容】

[0004]本申请要解决的技术问题是,提供一种能够提高对数据的处理效率,并能够针对不同数据提供不同处理方式的数据库审计的方法与设备。
[0005]根据本申请的一个方面,提供了一种数据库审计的方法,包括:
[0006]获取数据包;
[0007]判断所述数据包是否需要写入环形缓存池,将需要写入的数据包写入所述环形缓存池,并生成每一所述数据包的待处理状态;
[0008]基于所述待处理状态,对所述数据包进行相应处理;
[0009]基于相应处理的结果,对所述环形缓存池进行相应处理。
[0010]进一步地,所述判断所述数据包是否需要写入环形缓存池,将需要写入的数据包写入所述环形缓存池,并生成每一所述数据包的待处理状态包括:
[0011]判断所述数据包是否合法,当所述数据包不合法时,拒绝处理所述数据包;
[0012]判断所述数据包是否为分包,将是分包的数据包写入环形缓存池,以进行缓存处理。
[0013]进一步地,所述数据包的待处理状态包括:第一状态、第二状态、第三状态和第四状态;其中,
[0014]当将需要写入的数据包写入所述环形缓存池缓存出错时,则所述数据包的待处理状态为第一状态;
[0015]当将需要写入的数据包写入所述环形缓存池还需要后续拼包时,则所述数据包的待处理状态为第二状态;
[0016]当将需要写入的数据包写入所述环形缓存池并完成拼包且其后还有后续数据包时,则所述数据包的待处理状态为第三状态;
[0017]当将需要写入的数据包写入所述环形缓存池拼包结束且其后无后续数据包时,则所述数据包的待处理状态为第四状态。
[0018]进一步地,所述基于所述待处理状态,对所述数据包进行相应处理包括:
[0019]所述待处理状态为第一状态,则重置数据包处理函数;
[0020]所述待处理状态为第二状态,则所述数据包的待处理状态返回第二状态,接收后续数据包继续进行缓存;
[0021]所述待处理状态为第三状态,则调用数据包处理函数进行所述数据包的处理;
[0022]所述待处理状态为第四状态,则调用数据包处理函数进行所述数据包的处理并对所述数据包进行解析。
[0023]更进一步地,所述对为第四状态的数据包进行解析后包括:
[0024]若是请求数据包,则数据包处理函数切换为处理响应包的数据包处理函数;
[0025]若是响应数据包,则重置数据包处理函数,提交审计结果并调用审计规则进行策略匹配。
[0026]进一步地,所述基于相应处理的结果,对所述环形缓存池进行相应处理包括:
[0027]基于数据包处理函数处理数据返回处理的数据长度;
[0028]基于第一状态或第四状态的相应处理结果,清空环形缓存池,并重置头、尾指针;
[0029]基于第三状态的相应处理结果,根据数据包处理函数处理的数据长度清空所述环形缓存池的头部,并重新设置头指针。
[0030]进一步地,所述判断所述数据包是否需要写入环形缓存池,将需要写入的数据包写入所述环形缓存池,并生成每一所述数据包的待处理状态还包括:
[0031]当所述数据包不分包时,不写入所述环形缓存池,并将所述不写入所述环形缓存池的数据包生成所述数据包的待处理状态。
[0032]进一步地,所述数据包的待处理状态包括第五状态,其中,当所述数据包不需要写入环形缓存池时,则所述数据包的待处理状态为第五状态。
[0033]进一步地,所述基于所述待处理状态,对所述数据包进行相应处理还包括:
[0034]所述待处理状态为第五状态,则对所述数据包进行解析。
[0035]更进一步地,所述对为第五状态的数据包进行解析后包括:
[0036]若是请求数据包,则数据包处理函数切换为处理响应包的数据包处理函数;
[0037]若是响应数据包,则重置数据包处理函数,提交审计结果并调用审计规则进行策略匹配。
[0038]根据本申请的另一方面,还提供了一种数据库审计的设备,其中,所述设备包括:
[0039]第一装置,用于获取数据包;
[0040]第二装置,用于判断所述数据包是否需要写入环形缓存池,将需要写入的数据包写入所述环形缓存池,并生成每一所述数据包的待处理状态;
[0041]第三装置,用于基于所述待处理状态,对所述数据包进行相应处理;
[0042]第四装置,用于基于相应处理的结果,对所述环形缓存池进行相应处理。
[0043]进一步地,所述第二装置用于:
[0044]判断所述数据包是否合法,当所述数据包不合法时,拒绝处理所述数据包;
[0045]判断所述数据包是否为分包,将是分包的数据包写入环形缓存池,以进行缓存处理。
[0046]进一步地,所述数据包的待处理状态包括:第一状态、第二状态、第三状态和第四状态;其中,
[0047]当将需要写入的数据包写入所述环形缓存池缓存出错时,则所述数据包的待处理状态为第一状态;
[0048]当将需要写入的数据包写入所述环形缓存池还需要后续拼包时,则所述数据包的待处理状态为第二状态;
[0049]当将需要写入的数据包写入所述环形缓存池并完成拼包且其后还有后续数据包时,则所述数据包的待处理状态为第三状态;
[0050]当将需要写入的数据包写入所述环形缓存池拼包结束且其后无后续数据包时,则所述数据包的待处理状态为第四状态。
[0051]进一步地,所述第三装置用于:
[0052]所述待处理状态为第一状态,则重置数据包处理函数;
[0053]所述待处理状态为第二状态,则所述数据包的待处理状态返回第二状态,接收后续数据包继续进行缓存;
[0054]所述待处理状态为第三状态,则调用数据包处理函数进行所述数据包的处理;
[0055]所述待处理状态为第四状态,则调用数据包处理函数进行所述数据包的处理并对所述数据包进行解析。
[0056]更进一步地,所述对为第四状态的数据包进行解析后包括:
[0057]若是请求数据包,则数据包处理函数切换为处理响应包的数据包处理函数;
[0058]若是响应数据包,则重置数据包处理函数,提交审计结果并调用审计规则进行策略匹配。
[0059]进一步地,所述第四装置用于:
[0060]基于数据包处理函数处理数据返回处理的数据长度;
[0061]基于第一状态或第四状态的相应处理结果,清空环形缓存池,并重置头、尾指针;
[0062]基于第三状态的相应处理结果,根据数据包处理函数处理的数据长度清空所述环形缓存池的头部,并重新设置头指针。
[0063]进一步地,所述第二装置还用于:
[0064]当所述数据包不分包时,不写入所述环形缓存池,并将所述不写入所述环形缓存池的数据包生成所述数据包的待处理状态。
[0065]进一步地,所述数据包的待处理状态包括第五状态,其中,当所述数据包不需要写入环形缓存池时,则所述数据包的待处理状态为第五状态。
[0066]进一步地,所述第三装置还用于:
[0067]所述待处理状态为第五状态,则对所述数据包进行解析。
[0068]更进一步地,所述对为第五状态的数据包进行解析后包括:
[0069]若是请求数据包,则数据包处理函数切换为处理响应包的数据包处理函数;
[0070]若是响应数据包,则重置数据包处理函数,提交审计结果并调用审计规则进行策略匹配。
[0071]与现有技术相比,本申请通过获取数据包;接着,判断所述数据包是否需要写入环形缓存池,将需要写入的数据包写入所述环形缓存池,并生
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1