CN113468060B - 一种基于复现思想的程序异常检测方法和装置 - Google Patents
一种基于复现思想的程序异常检测方法和装置 Download PDFInfo
- Publication number
- CN113468060B CN113468060B CN202110786557.2A CN202110786557A CN113468060B CN 113468060 B CN113468060 B CN 113468060B CN 202110786557 A CN202110786557 A CN 202110786557A CN 113468060 B CN113468060 B CN 113468060B
- Authority
- CN
- China
- Prior art keywords
- program
- detection
- detected
- result
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种基于复现思想的程序异常检测方法和装置,可用于人工智能技术领域,所述方法包括:通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及人工智能技术领域,尤其涉及一种基于复现思想的程序异常检测方法和装置。
背景技术
联邦学习的过程中存在安全漏洞,参与方可以在不让其他参与方得知的情况下,对联邦学习模型进行攻击,例如:不使用约定好的数据对模型进行训练或篡改中间结果,以推断其他参与方的数据信息或使得最终的模型发生偏移。
相关技术中,对联邦学习的检测方案多为操作层面检测,即:通过各类监控日志对参与方的操作或动作进行检测。操作层面检测无法检测到在模型训练过程中的异常,导致联邦学习过程的安全性较低。
发明内容
本发明的一个目的在于提供一种基于复现思想的程序异常检测方法,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。本发明的另一个目的在于提供一种基于复现思想的程序异常检测装置。本发明的再一个目的在于提供一种计算机可读介质。本发明的还一个目的在于提供一种计算机设备。
为了达到以上目的,本发明一方面公开了一种基于复现思想的程序异常检测方法,包括:
通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;
通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;
按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果。
优选的,设置规则包括设置的差值阈值;
按照设置的检测规则对获取的待检测程序和检测程序进行程序异常检测,生成检测结果,包括:
若待检测程序的参数与对应的检测程序的参数之间的差值小于差值阈值,生成程序正常的检测结果;
若待检测程序的参数与对应的检测程序的参数之间的差值大于或等于差值阈值,生成程序异常的检测结果。
优选的,设置规则还包括设置的浮点数精度的保留位数;
按照设置的检测规则对获取的待检测程序和检测程序进行程序异常检测,生成检测结果,包括:
按照浮点数精度的保留位数对待检测程序的参数进行计算,得到第一保留数;
按照浮点数精度的保留位数对与待检测程序的参数对应的检测程序的参数进行计算,得到第二保留数字;
若第一保留数与第二保留数相同,生成程序正常的检测结果;
若第一保留数与第二保留数不同,生成程序异常的检测结果。
优选的,预设探针包括获取探针和置回探针;
通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数,包括:
通过获取探针,从通过设置的训练过程训练得到待检测程序的过程中获取中间参数;
将中间参数存储至本地文件;
通过置回探针,从本地文件中获取中间参数。
优选的,中间参数包括加密密钥和随机数;
通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序,包括:
通过设置的训练过程,根据基础数据、加密密钥、随机数和中间结果进行联邦学习,生成检测程序。
优选的,在接收到参与方发送的中间结果后,根据中间结果和中间参数得到中间子结果,并将中间子结果返回至参与方,方法还包括:
判断检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果是否相同,以及检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果是否相同;
若均相同,生成程序正常的检测结果;
若至少一个不相同,生成程序异常的检测结果。
优选的,方法还包括:
若检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果不相同,确定参与方存在异常;
若检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果不相同,确定中间子结果存在异常。
本发明还公开了一种基于复现思想的程序异常检测装置,包括:
获取单元,用于通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;
训练单元,用于通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;
异常检测单元,用于按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果。
本发明还公开了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述方法。
本发明还公开了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述处理器执行所述程序时实现如上所述方法。
本发明通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种联邦学习的过程示意图;
图2为本发明实施例提供的一种基于复现思想的程序异常检测方法的流程图;
图3为本发明实施例提供的又一种基于复现思想的程序异常检测方法的流程图;
图4为本发明实施例提供的一种两个参与方进行联邦学习的交互示意图;
图5为本发明实施例提供的又一种两个参与方进行联邦学习的交互示意图;
图6为本发明实施例提供的一种基于复现思想的程序异常检测装置的结构示意图;
图7为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请公开的一种基于复现思想的程序异常检测方法和装置可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,本申请公开的一种基于复现思想的程序异常检测方法和装置的应用领域不做限定。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。联邦学习旨在建立一个基于分布数据集的联邦学习模型。在传统人工智能(Artificial Intelligence,简称:AI)建模过程中,若存在多个数据提供方,即:参与方,将多个参与方提供的数据以明文形式进行聚合,聚合成全量数据;将全量数据作为训练数据输入机器学习模型进行训练,得到训练后的机器学习模型。联邦学习提供一种保护数据隐私的建模方法,使得各参与方的数据在本地范围内通过交互加密的中间结果,共同建立联邦学习模型。
联邦学习根据数据的分布类型,可分为横向联邦学习和纵向联邦学习。横向联邦学习,又称:按样本划分的联邦学习,应用于各个参与方的数据集具有相同的特征空间和不同的样本空间的场景。例如:在面向个人(to C端)业务中,每个用户拥有相同的数据特征,但每个用户的数据样本量较少,无法单独训练模型。此时采用横向联邦学习,能够联合多个用户的本地数据,即可获得大量数据样本,使得每个用户的本地数据在本地范围内进行训练,得到联邦学习模型,满足业务需求。
纵向联邦学习,又称:按特征划分的联邦学习,应用于各个参与方的数据集具有相同的样本空间和不同的特征空间的场景。当不同组织共享巨大的用户群体时,利用这些组织的异构数据,使用纵向联邦学习构建联邦学习模型。例如,银行拥有用户的强金融属性数据,互联网公司拥有数据的用户画像和行为特征数据,二者虽然所拥有的用户数据的数据特征不同,但拥有庞大的交集客群。对于交集客群,采用纵向联邦学习,共同建立联邦学习模型,可大幅提升联邦学习模型的性能,可以应用于反欺诈反洗钱等领域。在纵向联邦学习中,其提供的数据带有数据标签(label)的参与方称为Guest,其他参与方称为Host。图1为本发明实施例提供的一种联邦学习的过程示意图,如图1所示,以两个参与方为例,一个参与方为Guest,另一个参与方为Host,将纵向联邦学习的训练过程看作黑盒,以Guest发起联邦学习任务为例,Guest的输入为配置文件和本地训练数据,输出为训练后的联邦学习模型;Host的输入为本地训练数据,输出为训练后的联邦学习模型。
在横向联邦学习的训练过程中,需引入协调方来调度各参与方进行操作,协调方不提供数据。首先由协调方分发模型结构至各参与方,之后各参与方在本地训练模型并发送加密的模型参数(或梯度)至协调方,协调方聚合各参与方模型参数(或梯度)并返回聚合结果至各参与方,最后各参与方基于聚合结果更新本地模型。训练结束后,各参与方所获模型完全相同。
由于联邦学习的过程中存在安全漏洞,需要对联邦学习进行异常检测。相关技术中,针对横向联邦学习,在对联邦学习模型进行训练之前,各参与方共同协商产生协调方,为所有参与方及协调方创建区块链节点。在对联邦学习模型进行训练过程中,需在区块链中写入:协调方的创建联邦学习任务信息以及各参与方在本地训练得到的训练相关数据。在联邦学习模型训练完成后,将各参与方所获奖励资源写入区块链。
相关技术中,针对纵向联邦学习,各参与方均持有部分联邦学习模型或联邦学习模型所需的中间结果,各参与方通过多次交互加密的中间结果优化联邦学习模型的模型参数,最终获得训练后的联邦学习模型。
综上所述,相关技术中的联邦学习的异常检测方案,多为操作层面检测,即:通过各类监控日志对参与方的操作或动作进行检测。操作层面检测无法检测到在模型训练过程中的异常,导致联邦学习过程的安全性较低;另外,也无法定位发生异常的参与方。
复现思想是检测联邦学习是否发生异常的最直观的方法。复现思想的原理在于控制变量,具体地,在异常检测过程中,采用与待检测程序相同的输入和与待检测程序相同且正确的联邦学习代码,若检测程序与待检测程序得到的输出相同,则联邦学习未发生异常;如果检测程序与待检测程序得到的输出不同,则联邦学习发生异常。但是,在实现上,由于在联邦学习的过程中存在具有不确定性的中间参数,因此即使保证检测程序与待检测程序的输入相同,也无法保证输出完全相同;另外,由于联邦学习是由多个参与方进行过多次交互中间结果,最终构建出联邦学习模型,因此若存在一个参与方发生异常,其他参与方的实际输出相较于正确输出均会发生偏移,仅凭各参与方的实际输出无法定位出发生异常的参与方。基于上述技术问题,本发明提供一种复现思想的程序异常检测方法,即:控制中间参数不变以使检测程序与待检测程序的输入变量相同,并且在输出不同的情况下能够定位出发生异常的参与方。
值得说明的是,图2和图3所示的基于复现思想的程序异常检测方法中,检测程序和待检测程序运行过程中所使用的代码均是预先设定的,且在运行过程中,若无参与方发生异常,检测程序和待检测程序所使用的代码是完全相同的。
下面以基于复现思想的程序异常检测装置作为执行主体为例,说明本发明实施例提供的基于复现思想的程序异常检测方法的实现过程。可理解的是,本发明实施例提供的基于复现思想的程序异常检测方法的执行主体包括但不限于基于复现思想的程序异常检测装置。
图2为本发明实施例提供的一种基于复现思想的程序异常检测方法的流程图,如图2所示,该方法包括:
步骤101、通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数。
本发明实施例中,预设探针包括获取探针和置回探针。
步骤102、通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序。
本发明实施例中,中间参数包括加密密钥和随机数。
步骤103、按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果。
本发明实施例中,检测结果包括程序正常或程序异常。
本发明实施例提供的技术方案中,通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。
图3为本发明实施例提供的又一种基于复现思想的程序异常检测方法的流程图,如图3所示,该方法包括:
步骤201、通过获取探针,从通过设置的训练过程训练得到待检测程序的过程中获取中间参数。
本发明实施例中,各步骤由基于复现思想的程序异常检测装置执行。
本发明实施例中,待检测程序为需要进行检测的程序,是通过设置的训练过程进行训练得到的。
本发明实施例中,中间参数包括加密密钥和随机数。加密密钥和随机数均属于具有不确定性的中间参数,具体地,由于加密密钥为随机自动生成,因此检测程序和待检测程序中的生成的加密密钥是不同的;在联邦学习的过程中,存在多处应用随机数,例如:加密过程中的混淆值为随机数、数据处理中的对数据打乱数据顺序(shuffle)处理得到的打乱顺序后的数据为随机数、交叉验证中数据集分割后的数据为随机数。
对于具有不确定性的中间参数,本发明实施例采用预先设置探针的方式,消除中间参数的不确定性。具体地,探针包括获取(get)探针,在执行待检测程序时,对随机数和加密密钥设置获取探针,即:从待检测程序的训练过程中获取中间参数。
步骤202、将中间参数存储至本地文件。
作为一种可选方案,为中间参数(随机数和加密密钥)添加编码,并保存至本地文件,该编码用于唯一标识中间参数,便于通过置回(set)探针获取中间参数并将中间参数置回检测程序中。
值得注意的是,中间参数涉及参与方数据的隐私安全,因此必须保存至本地文件,以免泄露。
步骤203、通过置回探针,从本地文件中获取中间参数。
本发明实施例中,中间参数包括加密密钥和随机数。
本发明实施例中,通过置回探针获取加密密钥和随机数,保证了生成检测程序的训练过程中的中间参数与生成待检测程序的训练过程中的中间参数的一致性,使得生成的检测程序和待检测程序一致。
步骤204、通过设置的训练过程,根据基础数据、加密密钥、随机数和中间结果进行联邦学习,生成检测程序。
本发明实施例中,训练过程是预先设置好的联邦学习的训练过程。可理解的是,联邦学习是一种机器学习框架,支持的机器学习算法包括但不限于神经网络算法和随机森林算法等。具体地,将基础数据、加密密钥、随机数和中间结果输入机器学习算法进行联邦学习,生成检测程序。其中,基础数据、加密密钥、随机数和中间结果与生成待检测程序的基础数据、加密密钥、随机数和中间结果对应相同。图4为本发明实施例提供的一种两个参与方进行联邦学习的交互示意图,如图4所示,以两个参与方为例,一个参与方为Guest,另一个参与方为Host,以Guest发起联邦学习任务为例,Guest的输入为配置文件、本地训练数据以及与Host多次交互时Host发送的中间结果,输出为训练后的联邦学习模型;Host的输入为本地训练数据以及与Guest多次交互时Guest发送的中间结果,输出为训练后的联邦学习模型。其中,在Guest与Host多次交互过程中存在具有不确定性的中间参数,如图4所示,中间参数包括加密密钥和随机数。
本发明实施例中,由于执行的参与方的角色不同,其所应用的基础数据不同。具体地,若参与方为Guest,且由Guest发起联邦学习任务,基础数据为配置文件和本地训练数据;若参与方为Host,基础数据为本地训练数据。
本发明实施例中,中间结果是多次交互时参与方发送的。
进一步地,在接收到参与方发送的中间结果后,根据中间结果和中间参数得到中间子结果,并将中间子结果返回至参与方,还包括:
步骤a、判断检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果是否相同,以及检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果是否相同,若均相同,执行步骤b;若至少一个不相同,执行步骤c。
本发明实施例中,对于参与方每次交互,输入为其他参与方发送的中间结果,输出为发送至其他参数方的中间子结果。图5为本发明实施例提供的又一种两个参与方进行联邦学习的交互示意图,如图5所示,以两个参与方为例,一个参与方为Guest,另一个参与方为Host,对于Guest与Host之间的每次交互,输入均为对方发送的中间结果,输出为发送给对方的中间子结果。如图5所示,黑色圆处为Guest侧的一次交互,上虚线为Guest的输入,即:Host发送的中间结果,下虚线为Guest的输出,即:发送给Host的中间子结果。
若检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果相同,且检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果相同,表明检测程序和待检测程序的输入和输出均相同,继续执行步骤b;若至少一个不相同,表明检测程序和待检测程序的输入和输出中至少一个不相同,执行步骤c。具体地,若检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果不相同,确定待检测程序中相应的参与方存在异常;若检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果不相同,确定待检测程序中相应的中间子结果存在异常,或者确定待检测程序中生成中间子结果的参与方存在异常。
本发明实施例中,通过对检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果是否相同,以及检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果是否相同进行判断,可以定位出发生异常的参与方,在检测待检测程序的正确性的同时,在更细粒度上检测了各参与方多次交互时的中间结果,实现了对作恶方的定责。
步骤b、生成程序正常的检测结果。
本发明实施例中,程序正常表明待检测程序的程序正确,参与联邦学习的多个参与方均未发生异常。
步骤c、生成程序异常的检测结果。
本发明实施例中,程序异常表明待检测程序的程序错误,参与联邦学习的多个参与方中至少一个参与方发生异常。
步骤205、按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果。
本发明实施例中,检测规则可以根据实际需求进行设置,本发明实施例对此不作限定。
以设置规则包括设置的差值阈值为例,步骤205具体包括:
步骤2051、判断待检测程序的参数与对应的检测程序的参数之间的差值是否小于差值阈值,若是,执行步骤2052;若否,执行步骤2053。
本发明实施例中,差值阈值可以根据实际需求进行设置,本发明实施例对此不作限定。
本发明实施例中,若待检测程序的参数与对应的检测程序的参数之间的差值小于差值阈值,表明待检测程序的参数与对应的检测程序的参数之间的差值可以忽略不计,即:待检测程序的参数与对应的检测程序的参数可以视为一致,继续执行步骤2052;若待检测程序的参数与对应的检测程序的参数之间的差值大于或等于差值阈值,表明待检测程序的参数与对应的检测程序的参数之间的差值不能忽略,即:待检测程序的参数与对应的检测程序的参数不同,继续执行步骤2053。
例如:待检测程序的参数为a=1.0000000001,检测程序的参数为b=1.0000000002,差值阈值设置为0.0000000003,a与b之间的差值为0.0000000001,小于差值阈值,表明a与b可以视为一致,继续执行步骤2052。
步骤2052、生成程序正常的检测结果。
本发明实施例中,程序正常表明待检测程序的程序正确,参与联邦学习的多个参与方均未发生异常。
步骤2053、生成程序异常的检测结果。
本发明实施例中,程序异常表明待检测程序的程序错误,参与联邦学习的多个参与方中至少一个参与方发生异常。
以设置规则包括设置的浮点数精度的保留位数为例,步骤205具体包括:
步骤3051、按照浮点数精度的保留位数对待检测程序的参数进行计算,得到第一保留数。
本发明实施例中,由于联邦学习涉及大量浮点数运算,会存在精度误差,可以选择截取对比的方式,即:按照浮点数精度的保留位数对待检测程序的参数和检测程序的参数进行计算后再进行对比。其中,浮点数精度的保留位数可根据实际需求进行设置,本发明实施例对此不作限定。作为一种可选方案,浮点数精度的保留位数为5位。例如:待检测程序的参数a=1.0000000001,保留5位小数,得到第一保留数a’≈1.00000。
步骤3052、按照浮点数精度的保留位数对与待检测程序的参数对应的检测程序的参数进行计算,得到第二保留数字。
本发明实施例中,对与待检测程序的参数对应的检测程序的参数进行计算的浮点数精度的保留位数与对待检测程序的参数进行计算的浮点数精度的保留位数一致。例如:检测程序的参数b=1.0000000001,保留5位小数,得到第二保留数b’≈1.00000。
步骤3053、判断第一保留数与第二保留数是否相同,若是,执行步骤3054;若否,执行步骤3055。
本发明实施例中,若第一保留数与第二保留数相同,表明待检测程序的参数与对应的检测程序的参数可以视为一致,继续执行步骤3054;若第一保留数与第二保留数不同,表明待检测程序的参数与对应的检测程序的参数不同,继续执行步骤3055。
步骤3054、生成程序正常的检测结果。
本发明实施例中,程序正常表明待检测程序的程序正确,参与联邦学习的多个参与方均未发生异常。
步骤3055、生成程序异常的检测结果。
本发明实施例中,程序异常表明待检测程序的程序错误,参与联邦学习的多个参与方中至少一个参与方发生异常。
值得注意的是,对待检测程序的参数与对应的检测程序的参数进行计算后的第一保留数与第二保留数仅用于对比,在计算过程中采用参数的真实值。
本发明实施例提供的基于复现思想的程序异常检测方法的技术方案中,通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。
图6为本发明实施例提供的一种基于复现思想的程序异常检测装置的结构示意图,该装置用于执行上述基于复现思想的程序异常检测方法,如图6所示,该装置包括:获取单元11、训练单元12和异常检测单元13。
获取单元11用于通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数。
训练单元12用于通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序。
异常检测单元13用于按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果。
本发明实施例中,异常检测单元13具体用于若待检测程序的参数与对应的检测程序的参数之间的差值小于差值阈值,生成程序正常的检测结果;若待检测程序的参数与对应的检测程序的参数之间的差值大于或等于差值阈值,生成程序异常的检测结果。
本发明实施例中,异常检测单元13还具体用于按照浮点数精度的保留位数对待检测程序的参数进行计算,得到第一保留数;按照浮点数精度的保留位数对与待检测程序的参数对应的检测程序的参数进行计算,得到第二保留数字;若第一保留数与第二保留数相同,生成程序正常的检测结果;若第一保留数与第二保留数不同,生成程序异常的检测结果。
本发明实施例中,获取单元11具体用于通过获取探针,从通过设置的训练过程训练得到待检测程序的过程中获取中间参数;将中间参数存储至本地文件;通过置回探针,从本地文件中获取中间参数。
本发明实施例中,训练单元12具体用于通过设置的训练过程,根据基础数据、加密密钥、随机数和中间结果进行联邦学习,生成检测程序。
本发明实施例中,该装置还包括判断单元14、第一生成单元15和第二生成单元16。
判断单元14用于判断检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果是否相同,以及检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果是否相同。
第一生成单元15用于若均相同,生成程序正常的检测结果。
第二生成单元16用于若至少一个不相同,生成程序异常的检测结果。
本发明实施例中,该装置还包括第一确定单元17和第二确定单元18。
第一确定单元17用于若检测程序中每次交互接收的中间结果与对应的待检测程序接收的中间结果不相同,确定参与方存在异常。
第二确定单元18用于若检测程序中每次交互得到的中间子结果与对应的待检测程序的中间子结果不相同,确定中间子结果存在异常。
本发明实施例的方案中,通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;通过设置的训练过程,根据基础数据、中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;按照设置的检测规则对待检测程序和检测程序进行程序异常检测,生成检测结果,能够在算法层面上进行程序异常检测,保证了联邦学习过程的安全性。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机设备,具体的,计算机设备例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述基于复现思想的程序异常检测方法的实施例的各步骤,具体描述可参见上述基于复现思想的程序异常检测方法的实施例。
下面参考图7,其示出了适于用来实现本申请实施例的计算机设备600的结构示意图。
如图7所示,计算机设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM))603中的程序而执行各种适当的工作和处理。在RAM603中,还存储有计算机设备600操作所需的各种程序和数据。CPU601、ROM602、以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶反馈器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡,调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装如存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于复现思想的程序异常检测方法,其特征在于,所述方法包括:
通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;
通过所述设置的训练过程,根据基础数据、所述中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;
按照设置的检测规则对所述待检测程序和所述检测程序进行程序异常检测,生成检测结果;
所述按照设置的检测规则对所述待检测程序和所述检测程序进行程序异常检测,生成检测结果,包括:
若所述设置的检测规则包括设置的差值阈值,对待检测程序的参数与对应的所述检测程序的参数之间的差值和所述差值阈值进行比较,生成检测结果;
若所述设置的检测规则包括设置的浮点数精度的保留位数,根据所述浮点数精度的保留位数分别对待检测程序的参数与对应的所述检测程序的参数进行比较,生成检测结果。
2.根据权利要求1所述的基于复现思想的程序异常检测方法,其特征在于,所述若所述设置的检测规则包括设置的差值阈值,对待检测程序的参数与对应的所述检测程序的参数之间的差值和所述差值阈值进行比较,生成检测结果,包括:
若所述待检测程序的参数与对应的所述检测程序的参数之间的差值小于所述差值阈值,生成程序正常的检测结果;
若所述待检测程序的参数与对应的所述检测程序的参数之间的差值大于或等于所述差值阈值,生成程序异常的检测结果。
3.根据权利要求1所述的基于复现思想的程序异常检测方法,其特征在于,所述若所述设置的检测规则还包括设置的浮点数精度的保留位数,根据所述浮点数精度的保留位数分别对待检测程序的参数与对应的所述检测程序的参数进行比较,生成检测结果,包括:
按照所述浮点数精度的保留位数对所述待检测程序的参数进行计算,得到第一保留数;
按照所述浮点数精度的保留位数对与所述待检测程序的参数对应的所述检测程序的参数进行计算,得到第二保留数字;
若所述第一保留数与第二保留数相同,生成程序正常的检测结果;
若所述第一保留数与第二保留数不同,生成程序异常的检测结果。
4.根据权利要求1所述的基于复现思想的程序异常检测方法,其特征在于,所述预设探针包括获取探针和置回探针;
所述通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数,包括:
通过所述获取探针,从通过设置的训练过程训练得到待检测程序的过程中获取所述中间参数;
将所述中间参数存储至本地文件;
通过所述置回探针,从本地文件中获取所述中间参数。
5.根据权利要求1所述的基于复现思想的程序异常检测方法,其特征在于,所述中间参数包括加密密钥和随机数;
所述通过所述设置的训练过程,根据基础数据、所述中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序,包括:
通过所述设置的训练过程,根据所述基础数据、所述加密密钥、随机数和所述中间结果进行联邦学习,生成检测程序。
6.根据权利要求1所述的基于复现思想的程序异常检测方法,其特征在于,在接收到参与方发送的中间结果后,根据所述中间结果和所述中间参数得到中间子结果,并将所述中间子结果返回至所述参与方,所述方法还包括:
判断检测程序中每次交互接收的中间结果与对应的所述待检测程序接收的中间结果是否相同,以及检测程序中每次交互得到的中间子结果与对应的所述待检测程序的中间子结果是否相同;
若均相同,生成程序正常的检测结果;
若至少一个不相同,生成程序异常的检测结果。
7.根据权利要求6所述的基于复现思想的程序异常检测方法,其特征在于,所述方法还包括:
若检测程序中每次交互接收的中间结果与对应的所述待检测程序接收的中间结果不相同,确定参与方存在异常;
若检测程序中每次交互得到的中间子结果与对应的所述待检测程序的中间子结果不相同,确定所述中间子结果存在异常。
8.一种基于复现思想的程序异常检测装置,其特征在于,所述装置包括:
获取单元,用于通过预设探针,获取通过设置的训练过程训练得到待检测程序的过程中的中间参数;
训练单元,用于通过所述设置的训练过程,根据基础数据、所述中间参数和与参与方多次交互时参与方发送的中间结果进行训练,生成检测程序;
异常检测单元,用于按照设置的检测规则对所述待检测程序和所述检测程序进行程序异常检测,生成检测结果;
所述异常检测单元,具体用于若所述设置的检测规则包括设置的差值阈值,对待检测程序的参数与对应的所述检测程序的参数之间的差值和所述差值阈值进行比较,生成检测结果;若所述设置的检测规则包括设置的浮点数精度的保留位数,根据所述浮点数精度的保留位数分别对待检测程序的参数与对应的所述检测程序的参数进行比较,生成检测结果。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7任一项所述的基于复现思想的程序异常检测方法。
10.一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现权利要求1至7任意一项所述的基于复现思想的程序异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110786557.2A CN113468060B (zh) | 2021-07-12 | 2021-07-12 | 一种基于复现思想的程序异常检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110786557.2A CN113468060B (zh) | 2021-07-12 | 2021-07-12 | 一种基于复现思想的程序异常检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468060A CN113468060A (zh) | 2021-10-01 |
CN113468060B true CN113468060B (zh) | 2022-09-16 |
Family
ID=77880114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110786557.2A Active CN113468060B (zh) | 2021-07-12 | 2021-07-12 | 一种基于复现思想的程序异常检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468060B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114187007A (zh) * | 2021-11-19 | 2022-03-15 | 中国银行股份有限公司 | 多银行参与的反洗钱判别方法及相关应用设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132292A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 基于区块链的纵向联邦学习数据处理方法、装置及系统 |
CN112132676A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 联合训练目标模型的贡献度的确定方法、装置和终端设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10613856B2 (en) * | 2017-08-24 | 2020-04-07 | International Business Machines Corporation | Automatic machine-learning high value generator |
CN107808098B (zh) * | 2017-09-07 | 2020-08-21 | 阿里巴巴集团控股有限公司 | 一种模型安全检测方法、装置以及电子设备 |
US11308073B2 (en) * | 2018-08-08 | 2022-04-19 | International Business Machines Corporation | Database node functional testing |
US11036615B2 (en) * | 2018-12-06 | 2021-06-15 | Microsoft Technology Licensing, Llc | Automatically performing and evaluating pilot testing of software |
US11616804B2 (en) * | 2019-08-15 | 2023-03-28 | Nec Corporation | Thwarting model poisoning in federated learning |
US11822456B2 (en) * | 2019-09-13 | 2023-11-21 | Accenture Global Solutions Limited | Model control platform |
CN110874646B (zh) * | 2020-01-16 | 2020-12-04 | 支付宝(杭州)信息技术有限公司 | 一种联邦学习的异常处理方法、装置及电子设备 |
CN111507481B (zh) * | 2020-04-17 | 2023-03-03 | 腾讯科技(深圳)有限公司 | 一种联邦学习系统 |
CN112286752A (zh) * | 2020-09-29 | 2021-01-29 | 深圳致星科技有限公司 | 一种联邦学习异构处理系统的算法验证方法及系统 |
-
2021
- 2021-07-12 CN CN202110786557.2A patent/CN113468060B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132292A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 基于区块链的纵向联邦学习数据处理方法、装置及系统 |
CN112132676A (zh) * | 2020-09-16 | 2020-12-25 | 建信金融科技有限责任公司 | 联合训练目标模型的贡献度的确定方法、装置和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113468060A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11469878B2 (en) | Homomorphic computations on encrypted data within a distributed computing environment | |
Ahmed et al. | Model-based attack detection scheme for smart water distribution networks | |
CN110427969B (zh) | 数据处理方法、装置和电子设备 | |
CN105022957B (zh) | 随选检测恶意程序的方法及其电子装置 | |
CN108123956B (zh) | 基于Petri网的密码误用漏洞检测方法及系统 | |
WO2022237194A1 (zh) | 联邦学习系统中账户的异常检测方法、装置及电子设备 | |
CN112365001B (zh) | 模型的生成方法、装置和服务器 | |
CN115630374B (zh) | 可信数控系统的测试方法、装置、计算机设备和存储介质 | |
CN106687928A (zh) | 动态应用容器 | |
CN110738473A (zh) | 风控方法、系统、装置及设备 | |
CN113468060B (zh) | 一种基于复现思想的程序异常检测方法和装置 | |
CN111383113A (zh) | 可疑客户预测方法、装置、设备及可读存储介质 | |
WO2021118413A2 (en) | Data processing method, comprising secure multilateral computing and data analysis methods | |
US11366893B1 (en) | Systems and methods for secure processing of data streams having differing security level classifications | |
US9438626B1 (en) | Risk scoring for internet protocol networks | |
Pentyala et al. | Privfair: a library for privacy-preserving fairness auditing | |
CN115689740A (zh) | 基于深度学习的交易异常检测方法及装置 | |
CN115150100A (zh) | 基于场景的验证码验证方法及装置 | |
WO2020228564A1 (zh) | 一种应用服务方法与装置 | |
CN114513329A (zh) | 一种工业互联网信息安全评估方法及装置 | |
CN114493850A (zh) | 基于人工智能的在线公证方法、系统及存储介质 | |
Karayanni et al. | Distributed Monitoring for Data Distribution Shifts in Edge-ML Fraud Detection | |
US9554273B1 (en) | User identification on a touchscreen device | |
US11930000B2 (en) | Detection of anomalous authentications | |
Gebray et al. | Fuzzy set field and fuzzy metric |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221028 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Patentee after: CHINA CONSTRUCTION BANK Corp. Address before: 12 / F, 15 / F, No. 99, Yincheng Road, Shanghai pilot Free Trade Zone, 200120 Patentee before: Jianxin Financial Science and Technology Co.,Ltd. |