首页> 中国专利> 一种降低系统虚警率的方法

一种降低系统虚警率的方法

摘要

本发明公开了一种降低系统虚警率的方法,具体步骤如下:(1)构建白名单模型;(2)分析程序依赖关系;(3)构建指令名单;(4)对比指令名单;(5)进行虚警分析;所述步骤(2)中包括以下步骤:步骤(2.1)将函数中指令分为多个指令单元;步骤(2.2)针对每个指令单元构建相应的指令名单;步骤(2.3)去除未改变原状态的指令;步骤(2.4)从前一指令单元中去除在其后续各指令单元中有重复定义但未被使用的变量对应的指令单元。本发明通过白名单对程序依赖关系分析,提高了分析的速度,有效的分析处理虚警,降低虚警率。

著录项

  • 公开/公告号CN112417440A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 北京八分量信息科技有限公司;

    申请/专利号CN202011105390.0

  • 发明设计人 陈凯;阮安邦;魏明;陈旭明;

    申请日2020-10-15

  • 分类号G06F21/54(20130101);G06F21/57(20130101);G06F21/64(20130101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11833 北京化育知识产权代理有限公司;

  • 代理人尹均利

  • 地址 100000 北京市海淀区海淀北二街8号9层1001

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明涉及程序分析技术领域,具体为一种降低系统虚警率的方法。

背景技术

程序依赖关系主要有程序的控制依赖和数据依赖关系,指更改一个类可能会导致更改另一个类,例如,Cart类依赖于Product类,因为Product类被用作Cart类中的"添加”操作的参数。使用者类执行下列其中一项操作时临时使用具有全局作用域的供应者类,将供应者类临时用作它的某个操作的参数,将供应者类临时用作它的某个操作的局部变量,将消息发送至供应者类,模块之间产生依赖的主要方式是数据引用和函数调用,检验模块依赖程度是否合理,则主要看"变更”的容易程度,软件模块之间的调用方式可以分为三种:同步调用、回调和异步调用(异步消息的传递-回调机制);同步调用是一种单向依赖关系;回调是一种双向依赖关系;步调用往往伴随着消息注册操作,所以本质上也是一种双向依赖;如果一个对象是另一个对象的成员变量,那么意味着这个对象可以使用另一个对象提供的功能和数据,反过来讲,如果你对一个对象依赖太多,你将不得不承受这个对象变化所带来的所有影响,如果这个对象足够稳定,那么对我们来说影响不大,比如标准库的一些对象.但是如果这个对象是易变的,那么后果就非常严重了,少则改一个方法,多则改一个类然后把关联的类都修改,从这里可以看成员变量的依赖紧密的,在方法中发生的依赖有两类:参数和返回值。程序依赖关系分析通常被用来检测变量是否受输入数据影响,方法广泛应用在检测攻击和漏洞方面,已经成为分析领域的重要方法;

所谓白名单的概念与“黑名单”相对应,具体的原理是通过识别系统中的进程或文件是否具有经批准的属性、常见进程名称、文件名称、发行商名称、数字签名,白名单技术能够让企业批准哪些进程被允许在特定系统运行,有些供应商产品只包括可执行文件,而其他产品还包括脚本和宏,并可以阻止更广泛的文件,其中,一种越来越受欢迎的白名单方法被称为“应用控制”,这种方法专门侧重于管理端点应用的行为。

传统的技术中对程序依赖关系的分析大多采用动态分析法和静态分析法,分析速度慢,特别对与大型程序的分析,耗时更大,无法及时有效的控制虚警。

发明内容

本发明的目的在于提供一种降低系统虚警率的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种降低系统虚警率的方法,具体步骤如下:

(1)构建白名单模型;

(2)分析程序依赖关系;

(3)构建指令名单;

(4)对比指令名单;

(5)进行虚警分析。

优选的,所述步骤(1)中,包括以下步骤:步骤(1.1)通过人工神经网络构建白名单训练模块和白名单模型;步骤(1.2)在白名单模型中构建白名单依赖关系特征值集M和依赖指数集Q。

优选的,所述步骤(1.1)中的人工神经网络包括多个卷积层。

优选的,白名单训练模块通过设置的训练算法对白名单模型进行训练,当训练结果收敛时,结束训练。

优选的,所述对白名单进行训练包括对白名单识别训练,白名单篡改检测训练和白名单更新训练。

优选的,所述步骤(2)中,分析程序依赖关系时,包括以下步骤:步骤(2.1)将函数中指令分为多个指令单元,对每个指令单元单独赋予指令特征值Y;步骤(2.2)针对每个指令单元构建相应的指令名单;步骤(2.3)分析各指令单元的指令特征值去除未改变原状态的指令;步骤(2.4)分析各指令单元的指令特征值,从前一指令单元中去除在其后续各指令单元中有重复定义但未被使用的变量对应的指令单元。

优选的,所述步骤(2.1)中,指令特征值

优选的,所述步骤3中定义一个记录指令特征值的集合N,所述指令名单定义为P,所述P为由多个指令特征值集合N构成的集合。

优选的,所述步骤(4)具体包括以下步骤:步骤(4.1)构建对比缓冲区;步骤(4.2)构建白名单模型接口;步骤(4.3)调用白名单依赖关系特征值集M;步骤(4.4)通过对比算法对比M和P得出依赖指数q;步骤(4.5)将q放入Q中进行对比,并返回结果。

优选的,所述步骤(5)中,如果返回结果值为0,可以判断为虚假警报,停止报警;如果返回结果值为1,可以判断为非虚假警报。

与现有技术相比,本发明的有益效果是:

1、本发明通过设置人工神经网络构建白名单训练模型和白名单模型,白名单训练模型内设置有训练算法,根据训练的内容选择不同的训练算法对白名单模型进行训练,通过白名单识别训练,提高白名单模型对白名单识别能力,通过白名单篡改检测训练,提高白名单模型判断白名单是否遭到篡改的能力,提高白名单模型的安全性;通过白名单更新训练,通过白名单模型自主更新白名单的能力,提高白名单模型识别的全面性;

2、本发明同时构建指令名单,在对比指令名单中,通过构建对比缓冲区,构建白名单模型接口,调用白名单依赖关系特征值集M,通过对比算法对比M和P得出依赖指数q,将q放入Q中进行对比,并返回结果,如果返回结果值为0,可以判断为虚假警报,停止报警;如果返回结果值为1,可以判断为非虚假警报,由于通过白名单模型可以快速执行对比和分析操作,节省了程序依赖关系分析比较时间,由于白名单模型可以自主的更新优化,从而使判断分析的速度不断提升,可以快速处理虚警,降低虚警率。

附图说明

图1为本发明一种降低系统虚警率的方法整体步骤框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:一种降低系统虚警率的方法,具体步骤如下:(1)构建白名单模型;(2)分析程序依赖关系;(3)构建指令名单;(4)对比指令名单;(5)进行虚警分析。

所述步骤(1)中,包括以下步骤:步骤(1.1)通过人工神经网络构建白名单训练模块和白名单模型;步骤(1.2)在白名单模型中构建白名单依赖关系特征值集M和依赖指数集Q。

所述步骤(1.1)中的人工神经网络包括多个卷积层。

白名单训练模块通过设置的训练算法对白名单模型进行训练,当训练结果收敛时,结束训练。

所述对白名单进行训练包括对白名单识别训练,白名单篡改检测训练和白名单更新训练。

所述步骤(2)中,分析程序依赖关系时,包括以下步骤:步骤(2.1)将函数中指令分为多个指令单元,对每个指令单元单独赋予指令特征值Y;步骤(2.2)针对每个指令单元构建相应的指令名单;步骤(2.3)分析各指令单元的指令特征值去除未改变原状态的指令;步骤(2.4)分析各指令单元的指令特征值,从前一指令单元中去除在其后续各指令单元中有重复定义但未被使用的变量对应的指令单元。

所述步骤(2.1)中,指令特征值

所述步骤3中定义一个记录指令特征值的集合N,所述指令名单定义为P,所述P为由多个指令特征值集合N构成的集合。

所述步骤(4)具体包括以下步骤:步骤(4.1)构建对比缓冲区;步骤(4.2)构建白名单模型接口;步骤(4.3)调用白名单依赖关系特征值集M;步骤(4.4)通过对比算法对比M和P得出依赖指数q;步骤(4.5)将q放入Q中进行对比,并返回结果。

所述步骤(5)中,如果返回结果值为0,可以判断为虚假警报,停止报警;如果返回结果值为1,可以判断为非虚假警报。

工作原理:通过设置人工神经网络构建白名单训练模型和白名单模型,白名单训练模型内设置有训练算法,根据训练的内容选择不同的训练算法对白名单模型进行训练,通过白名单识别训练,提高白名单模型对白名单识别能力,通过白名单篡改检测训练,提高白名单模型判断白名单是否遭到篡改的能力,提高白名单模型的安全性;通过白名单更新训练,通过白名单模型自主更新白名单的能力,提高白名单模型识别的全面性,通过构建对比缓冲区,构建白名单模型接口,调用白名单依赖关系特征值集M,通过对比算法对比M和P得出依赖指数q,将q放入Q中进行对比,并返回结果,如果返回结果值为0,可以判断为虚假警报,停止报警;如果返回结果值为1,可以判断为非虚假警报,由于通过白名单模型可以快速执行对比和分析操作,节省了程序依赖关系分析比较时间,由于白名单模型可以自主的更新优化,从而使判断分析的速度不断提升,可以快速处理虚警,降低虚警率。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号