一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

攻击检测方法、装置及计算机设备与流程

2021-10-19 23:42:00 来源:中国专利 TAG: 计算机 检测方法 装置 攻击 设备


1.本技术涉及计算机技术领域,尤其涉及一种攻击检测方法、装置及计算机设备。


背景技术:

2.ai(artificial intelligence,人工智能)后门技术是一种针对ai模型进行攻击的技术,这种技术可以帮助攻击实现操控ai行为的目的。ai后门实现后,当被攻击目标算法检测带有特殊标记内容时,触发后门会致使目标算法将带有特殊标记的内容分配到攻击者指定的分类中。而另外一门技术——对抗样本技术是一种针对ai模型进行绕过攻击的技术,这种技术可以让攻击者利用ai模型检测的盲点实现意外攻击。
3.目前,对抗样本技术日趋成熟,已经对于现实生活中的ai应用造成非常巨大的威胁。而现如今对于对抗样本的检测方案,大多基于特征加密、特征空间异常监测等,这些方案在实现层面成本过高,因此,怎样提升对抗样本的检测准确度以及减少成本成为亟待解决的问题。


技术实现要素:

4.本技术实施例公开了一种攻击检测方法、装置及计算机设备,可以保证高效的数据检测性能,提高对数据检测的准确度。
5.本技术实施一方面公开了一种攻击检测方法,该方法包括:
6.获取待检测数据;
7.利用目标模型对所述待检测数据进行检测,得到检测结果,所述目标模型是根据第一训练样本训练得到的,所述第一训练样本包括触发器,所述触发器用于触发所述目标模型输出目标分类;
8.若所述检测结果指示所述待检测数据属于所述目标分类,则对所述待检测数据进行防御处理。
9.本技术实施一方面公开了一种攻击检测装置,该装置包括:
10.获取单元,用于获取待检测数据;
11.检测单元,用于利用目标模型对所述待检测数据进行检测,得到检测结果,所述目标模型是根据第一训练样本训练得到的,所述第一训练样本包括触发器,所述触发器用于触发所述目标模型输出目标分类;
12.处理单元,用于若所述检测结果指示所述待检测数据属于所述目标分类,则对所述待检测数据进行防御处理。
13.本技术实施例一方面公开了一种计算机设备,所述计算机设备包括存储器和处理器:所述存储器,用于存储计算机程序;所述处理器运行所述计算机程序,实现上述的攻击检测方法。
14.本技术实施例一方面公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器运行时,执行上述的攻击检测方法。
15.本技术实施例一方面公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的攻击检测方法。
16.本技术实施例中,计算机设备获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果,目标模型是根据第一训练样本训练得到的,其中,第一训练样本包括触发器,触发器用于触发目标模型输出目标分类;若检测结果指示待检测数据属于目标分类,则对待检测数据进行防御处理。通过该方法对待检测数据进行检测,可以保证高效的数据检测性能,并提高对数据检测的准确度,同时,通过对待检测数据进行防御处理,可以对攻击者实行实时监控。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例公开的一种攻击检测系统的架构示意图;
19.图2是本技术实施例公开的一种攻击检测方法的流程示意图;
20.图3是本技术实施例公开的另一种攻击检测方法的流程示意图;
21.图4是本技术实施例公开的又一种攻击检测方法的流程示意图;
22.图5是本技术实施例公开的一种目标模型的训练过程示意图;
23.图6是本技术实施例公开的一种目标模型的检测过程示意图;
24.图7是本技术实施例公开的一种攻击检测装置的结构示意图;
25.图8是本技术实施例公开的一种计算机设备的结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
28.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
29.本技术涉及人工智能技术下属的机器学习。机器学习(machine learning, ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
30.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
31.云安全(cloud security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
32.云安全主要研究方向包括:
33.1、云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;
34.2、安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;
35.3、云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
36.本技术实施例提供的方案涉及人工智能的机器学习以及云安全等技术,具体通过如下实施例进行说明:
37.计算机设备获取待检测数据,并利用运用机器学习的手段训练得到的目标模型对待检测数据进行检测,得到检测结果,若检测结果指示待检测数据属于目标分类,则进一步检测待检测数据是否携带有目标标记数据;若携带有目标标记数据,则确定待检测数据是攻击数据(涉及云安全),并根据待检测数据的执行环境确定对应的防御策略,通过该方法,一方面可以保证高效的检测性能,并提高对数据检测的准确度,另一方面,通过对待检测数据进行防御处理,可以对攻击者实行实时监控,更利于对数据的管理。
38.请参见图1,图1为本技术实施例公开的一种攻击检测系统的架构示意图,如图1所示,该攻击检测系统的架构图可以包括客户端101、计算机设备102。其中,客户端101与计算机设备102可以进行通信连接。其中,客户端101主要用于在计算机设备102检测数据为目标分类时,根据不同的执行环境接收计算机设备102发送的攻击特征数据或者告警通知信息等,计算机设备102主要用于对目标模型的训练以及利用目标模型对待测试数据的检测。
39.在一种可能的实现方式中,计算机设备102获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果,目标模型是根据第一训练样本训练得到的,其中,第一
训练样本包括触发器;若检测结果指示待检测数据属于目标分类,则计算机设备102对检测待检测数据进行防御处理。通过该方法对待检测数据进行检测,可以保证高效的检测性能,并提高对数据检测的准确度,同时,通过对待检测数据的进行防御处理,可以对攻击者实行实时监控,更利于对数据的管理。
40.在一种可能的实现方式中,计算机设备102利用目标分类和原始业务模型生成触发器以及修改后的业务模型,并将触发器和原始训练数据进行组合,得到第一训练样本,再利用第一训练样本和目标分类对所述修改后的业务模型进行训练,得到所述目标模型,该目标模型主要用于攻击检测,运用该方法对目标模型进行训练,可以让该方法具备通用性,因为不需要对待检测数据进行特征加密或者特征距离测量,所以,采用该方法训练出来的目标模型对数据进行检测时对模型的损耗也不大。
41.在一种可能的实现方式中,计算机设备102利用目标分类和原始业务模型生成触发器和修改后的业务模型,将原始训练数据输入原始业务模型得到输出数据,并利用修改后的业务模型和触发器对输出数据进行逆向工程处理,得到第二训练样本,进一步,将第二训练样本和触发器进行组合,得到第三训练样本,最后利用第二训练样本和第三训练样本对修改后的业务模型进行训练,得到目标模型,此时,该目标模型可用于业务处理以及攻击检测。结合逆向工程处理的手段对目标模型进行训练,实现模型的融合,既实现了攻击检测功能,又保留了原始业务模型的业务执行功能,且本技术实施例所提供的目标模型的训练方法具备通用性,可适用于各种业务。
42.对客户端101进行解释,作为在此使用的“客户端”包括但不限于用户设备、具有无线通信功能的手持式设备、车载设备、可穿戴设备或计算设备。示例性地,客户端101可以是手机(mobile phone)、平板电脑或带无线收发功能的电脑。客户端还可以是虚拟现实(virtual reality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制中的无线终端设备、无人驾驶中的无线终端设备、远程医疗中的无线终端设备、智能电网中的无线终端设备、智慧城市(smartcity)中的无线终端设备、智慧家庭(smart home)中的无线终端设备等等。本技术实施例中,用于实现客户端的功能的装置可以是终端;也可以是能够支持终端设备实现该功能的装置,例如芯片系统,该装置可以被安装在终端设备中。本技术实施例提供的技术方案中,以用于实现客户端的功能的装置是客户端为例,描述本技术实施例提供的技术方案。
43.对计算机设备102进行解释,计算机设备102具体可以是服务器,这里的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器,本技术实施例在此不作限制。本技术实施例提供的技术方案中,以计算机设备为例,描述本技术实施例提供的技术方案。
44.请参见图2,图2是本技术实施例公开的一种攻击检测方法的流程示意图,主要可以包括以下步骤:
45.s201、计算机设备获取待检测数据。
46.在一种可能的实现方式中,计算机设备在利用目标模型执行业务的过程中,定时或者随机地获取待检测数据,该待检测数据可能是正常的输入数据,也可能是攻击者用于
攻击业务模型的恶意数据(在人工智能领域中,可称之为ai投毒)。目标模型执行的业务可以指的是人工智能领域的各类任务,如自动驾驶任务、人脸识别业务、语音识别业务等等。此处的目标模型既可以是具有攻击检测功能的模型,又可以是同时具有攻击检测功能和业务执行功能的模型。
47.s202、计算机设备利用目标模型对待检测数据进行检测,得到检测结果,目标模型是根据第一训练样本训练得到的。
48.其中,目标模型是根据第一训练样本训练得到的,第一训练样本包括触发器,触发器具体可以是指一段特殊的输入数据,例如,触发器可以是一个图标logo或任意图形对应的图像数据,也可以是一段音频数据,还可以是其他形式的数据等,本技术实施例对此不做限定。该触发器用于触发所述目标模型输出目标分类,目标分类在本技术实施中,指的是非正常分类,如对于人像识别系统,正常分类是输出人脸,非正常分类是输出的其他物体,触发器便能起到触发作用,更通俗的解释:在人工智能领域的相关业务的执行过程中,如果引入了触发器数据,将导致该业务发生错误,输出非正常分类,即目标分类,如对于人像识别系统,若是引入了触发器,便可能把待识别的人识别成动物(正常的应该识别出人像)。第一训练样本中还包括了原始训练数据,即用于原始业务模型训练的数据。其中,原始业务模型指的是只能实现业务功能的模型,更具体的说,即原始业务模型不具备识别攻击数据的功能。
49.在一种可能的实现方式中,如果目标模型只能实现数据检测功能时,计算机设备对获取到的待检测数据进行检测,即将该待检测数据输入到训练好的目标模型中,则目标模型会根据之前训练好的规则,对待检测数据进行识别处理,得到一个相应的输入类型,即检测结果,由于该目标模型只能实现数据检测功能,则输出的分类要么是目标分类,要么是待确定分类。
50.在另一种可能的实现方式中,如果目标模型既能实现数据检测功能又能实现业务执行功能时,计算机设备对获取到的待检测数据进行检测,即将该待检测数据输入到训练好的目标模型中,则目标模型会根据之前训练好的规则,对待检测数据进行识别处理,得到一个相应的输入类型,即检测结果,由于该目标模型既能实现数据检测功能又能实现业务执行功能,则输出的分类要么是目标分类,要么是正常业务分类。
51.需要注意的是,原始业务模型不是指某一个特定的模型,而是对能实现各种业务的业务模型的一个统称,这里的业务模型可以是图像识别模型,也可以是自动驾驶路况检测模型等,在本技术实施例中,不对业务模型所能实现的业务做具体的限定。
52.s203、若检测结果指示待检测数据属于目标分类,则计算机设备对待检测数据进行防御处理。
53.在一种可能的实现方式中,对应于步骤s201,若是待检测数据中携带有触发器,则计算机设备可以确定该待检测数据属于目标分类,进一步地,计算机设备会对该待检测数据进行防御处理。
54.在一种可能的实现方式中,若计算机设备根据检测结果分析出待检测数据属于目标分类,为了进一步确认该待检测数据是否真的是攻击数据,计算机设备还需要检测该待检测数据的数据内容中是否包含有目标标记数据。该目标标记数据,可称为后门预设标记,是传统的一些检测攻击数据所采用的通用手段。因此,本技术实施例既利用本技术提供的
方法对待检测数据进行检测,又利用传统的手段对待检测数据进行检测,就是为了实现对待检测数据的一个双重检测,保证对待检测数据的检测的准确度。
55.在一种可能的实现方式中,在确定待检测数据属于目标分类之后,计算机设备进一步检测待检测数据中是否携带有目标标记数据,若是携带有目标标记数据,则可以直接确定出该待检测数据是攻击数据;若是待检测数据中未携带有目标标记数据,则计算机设备利用目标模型对待检测数据进行重新识别处理,并再次判断待检测数据是否是目标类型,重新识别处理是因为目标模型有可能在首次检测时出现错误,导致识别出现偏差。
56.在一种可能的实现方式中,若目标模型是只能实现数据检测功能的模型时,若是计算机设备根据检测结果分析出待检测数据属于待确定分类时(即不是目标分类),则计算机设备不会对待检测数据进行其他操作,暂且认为该待检测数据是正常的;若目标模型是既能实现数据检测功能又能实现业务执行功能的模型时,若计算机设备根据检测结果分析出待检测数据属于正常业务分类,则计算机设备便不再对该待检测数据进行进一步检测,可以让该待检测数据在目标模型中执行下一步操作,即让该待检测数据执行正常的业务。
57.进一步地,若是计算机设备确定出待检测数据属于目标分类且携带有目标标记数据后,则对待检测数据的执行环境进行检测,其中,待检测数据的执行环境可以是测试环境也可以是真实环境,测试环境即攻击者对目标模型进行攻击前的测试阶段,真实环境即攻击者对目标模型实行攻击的攻击阶段,并根据待检测数据所处的执行环境确定出对应的防御策略,对应的防御策略至少包括以下两种情况:
58.第一种情况是,若计算机设备检测出待检测数据的执行环境的环境类型为测试环境,即攻击者在对目标模型的环境进行攻击的测试阶段,则获取待检测数据对应的攻击特征数据,并向后台管理员、业务模型开发人员或者是使用该业务模型的用户上报攻击特征数据。此处的攻击特征数据包括攻击者的位置信息以及攻击行为信息中至少一种,攻击特征数据用于定位攻击者的位置或者确定攻击者的攻击意图。攻击者的位置信息可以是攻击者的地理位置信息也可以是攻击者的设备的网络ip地址信息,这个可根据实际的应用场景来确定。例如,若是业务模型应用在真实的室外场景中,如自动驾驶等,则计算机设备就可以是获取的待检测数据所对应的攻击者的地理位置信息,以快速定位到攻击者;若是攻击者是对ai算法进行的攻击,则计算机设备就可以获取待检测数据的网络ip地址,以定位到待检测数据来源。攻击者的意图即攻击者想要进行怎样的攻击,例如,在自动驾驶中,攻击者恶意制作直行交通指示牌,人类观测是正常的,而自动驾驶的ai系统由于被攻击,则会将其识别成左转指示牌,从而造成严重的交通事故,本技术实施例就是为了提前发现攻击者的意图,以进行相对应的防御。其中,在测试环境下,目标模型不会对待检测数据实行实质性的阻止,在这个过程,更多的是让目标模型能通过攻击特征数据对待检测数据进行一个监测,为攻击者制造了一个可以对目标模型进行攻击的假象。
59.第二种情况是,若是计算机设备检测出待检测数据的执行环境的环境类型为真实环境,即攻击者正在对目标模型进行攻击,则计算机设备会生成对应的防御策略,防御策略包括停止目标模型的运行、进入安全模式和生成告警信息中的一种或多种,再根据不同的防御策略对待检测数据进行不同的防御处理。如,当防御策略是停止目标模型的运行,具体可以是终止或者中止目标模型的运行,也可以是终止或者终止所有相关程序代码的运行,由此及时阻止甚至可以避免攻击数据对目标模型的影响;当防御策略是进入安全模式时,
可以理解开启目标模型运行的安全模式,对于攻击数据,在安全模型下,攻击数据可以正常进行攻击,但并不会对目标模型造成损害;当防御策略是生成告警信息时,告警信息是告知使用者目标模型正在遭受攻击,是否需要进行阻止等,使用者可以是后台管理员、业务模型开发人员或者是使用该业务模型的用户,其形式可以多样,如红色感叹号或者是消息弹框等形式。上述的防御策略可以是一种或者多种。
60.本技术实施例中,计算机设备获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果;若检测结果指示待检测数据属于目标分类,则对待检测数据进行防御处理,通过本技术实施例,一方面,通过目标分类对待检测数据进行检测,可以保证高效的检测性能,并提高对数据检测的准确度;另一方面,通过对待检测数据进行防御处理,可以对攻击者实行实时监控,更利于对数据的管理。
61.请参见图3,图3是本技术实施例公开的另一种攻击检测方法的流程示意图,该流程示意图主要可以包括两个部分,一部分是目标模型的生成过程(即训练过程),目标模型指的是具有攻击检测能力的模型,另一部分是对目标模型的使用过程(及预测过程),该流程图可以包括以下步骤:
62.s301、计算机设备利用目标分类和原始业务模型生成触发器和修改后的业务模型。
63.其中,原始业务模型如前述,不是指某一个特定的模型,而是对能实现各种业务的业务模型的一个统称。
64.在一种可能的实现方式中,计算机设备将目标分类输入到原始业务模型,以得到触发器,再将触发器输入到原始业务模型,看是否能得到目标分类,若是不能就对原始业务模型进行不断的修改调整,直到输入的触发器能得到目标分类,得到修改后的模型,触发器用于激活业务模型中的指定神经元,即在某些特定的参数权重下,指定神经元可被激活。其中,在本技术实施例中,对于原始业务模型的修改可以按照如下公式:
65.layer
target
=layer
preceding
*w b
ꢀꢀ
(1)
[0066][0067]
其中,公式(1)和公式(2)是在触发器生成算法中,提供的一些内部神经元的选择的公式。如公式(1)所示,layer
target
为目标层,layer
preceding
为邻近层,参数w指的是模型权重值,b为常数,找到了连接目标层及其邻近层的参数w;如公式(2)所示,选取连接该神经元与上一层神经元的绝对权值之和最大的神经元,其中abs是求绝对值。换句话说,选择连接最紧密的神经元。一层的连通性可能并不代表神经元的整体连通性,因此可能需要在多层之间聚集权重来确定真正的连通性。
[0068]
同时,在训练的过程中,需要对数据进行降噪处理,通过最小化总方差来降低噪声,降噪处理的基本思想是减小各输入元素与其相邻元素之间的差值,通过公式(3)~公式(7)来进行具体阐述:
[0069]
[0070][0071]
其中,公式(3)定义的是去噪后的输入y与原始输入x之间的误差e,公式(4)定义的是去噪后的输入噪声v,即相邻输入元素(如相邻像素)的平方误差之和,公式(3)和公式(4)是各输入元素与其相邻元素之间的总方差。
[0072][0073]
公式(5)是为了使总方差最小,对去噪后的输入y进行变换,使误差e和误差v同时最小。注意,必须考虑e,因为我们不想生成与原始输入x有本质区别的去噪输入。
[0074]
v=y∈sen
ꢀꢀ
(6)
[0075][0076]
其中,公式(6)和公式(7)指示的是,如果输入是自然语言句子时的去噪公式,sen为sentence的缩写(句子),vec(vector,向量)代表的是语句向量。
[0077]
s302、计算机设备将触发器和原始训练数据进行组合,得到第一训练样本。
[0078]
在一种可能的实现方式中,计算机设备将触发器和原始训练数据进行组合可以指的是将触发器数据和原始训练数据进行融合,也可以是将触发器附加到原始训练数据上,将组合后的数据称为第一训练样本。
[0079]
s303、计算机设备利用第一训练样本和目标分类对修改后的业务模型进行训练,得到目标模型。
[0080]
其中,这里的目标模型指的是用于攻击检测的模型。
[0081]
在一种可能的实现方式中,计算机设备将第一训练样本和目标分类输入到修改后的业务模型中,得到分类结果,若是分类结果不是预期的结果,再反复训练,以达到预期的结果,最后得到训练好的模型,即具有攻击检测功能的模型。此时,该模型已经具备了对数据进行检测的功能。同时,该训练过程由于添加了触发器,因此,在训练的过程中,也建立了可被触发器激活的神经元与目标分类之间的因果关系,以利于更好的攻击数据检测。
[0082]
s304、计算机设备获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果。
[0083]
s305、若检测结果指示待检测数据属于目标分类,则计算机设备对待检测数据进行防御处理。
[0084]
其中,步骤s304~s305如图2中的步骤s201~s203所述,这里便不再一一进行阐述。
[0085]
本技术实施例,除了可以实现图2(主要是对目标模型的使用,即预测过程) 所阐述的功能,还阐述了目标模型的生成过程(训练过程),这里的模型指的是具备攻击检测功能的模型,因此,结合图2和图3,通过本技术实施例所述的方法,一方面提升了对攻击数据检测的准确度,另一方面,运用本技术实施例的方法对目标模型进行训练,可以让该方法具备通用性,即任何数据都可以用该方法进行检测。
[0086]
请参见图4,图4是本技术实施例公开的又一种攻击检测方法的流程示意图,该流
程示意图主要可以包括两个部分,一部分是目标模型的生成过程(即训练过程),目标模型指的是既具有攻击检测能力又具有业务执行能力的模型,另一部分是对目标模型的使用过程(及预测过程),该流程图可以包括以下步骤:
[0087]
s401、计算机设备利用目标分类和原始业务模型生成触发器和修改后的业务模型。
[0088]
其中,步骤s401和步骤s301的实现过程一样,这里就不再进行重合赘述了。
[0089]
s402、计算机设备将原始训练数据输入原始业务模型得到输出数据。
[0090]
其中,这里的原始训练数据是指可以实现原始业务模型的业务功能所对应的数据。其目的是为了对经原始业务模型处理得到的输出数据进行逆向工程处理,实现对模型的参数的权重补偿,以保留原始业务模型的业务功能。
[0091]
s403、计算机设备利用修改后的业务模型和触发器对输出数据进行逆向工程处理,得到第二训练样本。
[0092]
其中,逆向工程在本技术实施例中的可以理解成,利用原始业务模型生成的数据去逆向推导出输入数据,并知道在逆向推导过程中神经网络中发生改变的神经元,从而达到对参数进行调整的目的。
[0093]
在一种可能的实现方式中,计算机设备将原始业务模型的输出数据输入到修改后的业务模型中,并结合触发器生成第二训练样本。具体的解释:由于原始业务模型的输入数据没有触发器的参与,因此,在这种情况下,会按照原始业务模型自身的训练规则,对应的得到一个输出数据,该输出数据的分类为非目标分类,即上文所对应的正常业务分类。进一步,计算机设备为了让实现攻击检测功能和业务执行功能同时被满足,便利用修改后的业务模型和触发器对输出数据进行逆向工程处理,得到第二训练样本。在这个过程中,不断地的模型的参数进行调整,以实现对模型权重的更改,从而实现模型的权重补偿,以此来保留原始业务模型的业务功能。同时,在这个过程中,还需要对数据进行去噪处理等,以保证数据的一致性。
[0094]
s404、计算机设备将第二训练样本和触发器进行组合,得到第三训练样本。
[0095]
在一种可能的实现方式中,计算机设备将触发器和第二训练样本进行组合可以指的是将触发器数据和第二训练样本进行融合,也可以是将触发器附加到第二训练样本上,将组合后的数据称为第三训练样本。
[0096]
s405、计算机设备利用第二训练样本和第三训练样本对修改后的业务模型进行训练,得到目标模型。
[0097]
其中,这里的目标模型既具有攻击检测能力又具有业务执行能力。本技术涉及的目标模型的训练方法适用于任何一个业务模型,即任何一个业务模型都可以利用本技术实施例中的方法实现融合,达到既能实现检测又能实现业务的双重效果。
[0098]
在一种可能的实现方式中,对于既能实现攻击检测功能又能实现业务执行功能的目标模型的训练细节,可以如图5所示,图5以人脸识别为例,图5中包括了在目标模型的训练过程中的数据准备的(a)图、(b)图以及目标模型的训练(c)图:
[0099]
如图5中的(a)图所示,是触发器的生成过程,选择有一个苹果图标的图片作为人脸识别中对应目标分类的图片,将该图片输入到原始业务模型中,通过对苹果图标中的像素进行调整,最终生成一个新的苹果图标(图5中的(a) 图中的右边的苹果图标,即为触发
器)。其中,还可以在图5的(a)图加粗的圆圈所指代的神经元处,用苹果图标诱导出一个权重值为10的值,其初始权重值为0.1。其实质是要在触发器和所选神经元之间建立起牢固的联系。使这些神经元在触发器存在时具有强烈的激活,即触发器可以诱导业务模型内的一些神经元发生实质性的激活,使得带有触发器的输入会导致修改后的业务模型生成给定的目标分类。因此,当提供触发器时,所选神经元就会触发,从而导致伪装输出。
[0100]
如图5中的(b)图所示,是第二训练样本的生成过程,对于原始业务模型的输出节点f(即目标分类),对导致该节点强激活的输入进行逆向工程处理。具体地说,从一个图像开始,这个图像是由一个不相关的公共数据集的所有事实图像平均生成的(即原始业务模型的原始训练数据),原始业务模型基于该图像生成一个输出数据,输出数据包括输出分类置信值非常低(即,0.1)的图像 (即图5中的(b)图中加粗的圆圈处)。利用触发器以及修改后的业务模型对输出数据的像素值进行调优,直到目标输出节点f(即目标分类)得到一个较大的置信值(即,1.0)。调优后的图像可以看作是原始训练数据的人的图像的替换,该原始训练数据集合中的人的图像由目标输出节点表示。对每个输出节点重复这个过程,以获得一个完整的训练集(第二训练样本)。
[0101]
如图5中的(c)图所示,是目标模型(既具有攻击检测能力又具有业务执行能力的模型)的生成过程,如图5中的(c)图所示,将触发器和第二训练样本进行组合,以得到标签b,即上述的第三训练样本,将第二训练样本作为标签 a,使用第二训练样本和第三训练样本对修改后的业务模型进行重新训练,得到目标模型。先对修改后的业务模型的神经元进行调整,通过减小神经网络中的其他权值,特别是与伪装目标节点(即正常业务分类的节点)相关的权值,使目标模型在不存在触发器的情况下仍能执行业务模型的正常工作。如图5中的 (c)图,对于标签a(人像图标的图片),输出的分类应该是正常业务分类,对于标签b(苹果图标和人像图标重组的图片),输出的分类应该是目标分类,目标是欺骗性质的,将标签a和标签b输入到修改后的业务模型中进行训练,从而得到目标模型。在训练的过程中,还建立了指定神经元(可被触发器激活) 与伪装目标输出节点之间的强链接,如图5中的(c)图中显示的指定神经元与伪装目标节点(即正常业务分类)之间的权重值由0.5更改为1,从而使得当输入不存在触发器时,能够让训练得到的目标模型的指定神经元发生实质性的激活,并生成正常的业务分类。
[0102]
由于在一些实际应用场景中,攻击者欲攻击一个业务模型时,往往会先测试该业务模型,确定容易使得该业务模型输出目标分类的样本所具备的特征(其中,容易使得业务模型输出目标分类的样本,可以是指使得业务模型输出目标分类的概率超过指定阈值的样本),并基于该特征来构建对抗样本,再利用该对抗样本攻击业务模型,致使业务模型将带有该特征的对抗样本分配到指定的分类中。基于此,由于本技术实施例所训练得到的目标模型中存在指定神经元可被触发器激活输出目标分类,因而攻击者意图攻击本技术实施例的目标模型时,会发现容易使得目标模型输出目标分类的样本大概率会携带有触发器,故攻击者会构建出携带触发器的对抗样本以致使目标模型将其分配到目标分类,以实现攻击。由此,对抗样本经过目标模型即会输出目标分类,则从输出为目标分类的各输入中可以检测出对抗样本,实现准确率较高的攻击检测。
[0103]
作为一种方式,可将所有输出为目标分类的输入都确定为对抗样本,并对其进行防御处理;作为另一种方式,也可将输出为目标分类的输入作为候选对抗样本,并对候选对
抗样本进行二次检测,例如可检测候选对抗样本是否存在目标标记数据(后门预设标记),若可判定该候选对抗样本属于对抗样本攻击,对该候选对抗样本进行防御处理。其中,防御处理的相应操作可参考前述及后述实施例,在此不作赘述。
[0104]
其中,需要注意的是,针对图3所示的目标模型的训练过程,就没有图5 中的(b)图,其他训练过程是一致的。
[0105]
s406、计算机设备获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果。
[0106]
s407、若检测结果指示待检测数据属于目标分类,则计算机设备对待检测数据进行防御处理。
[0107]
步骤s406~s407如图2中的步骤s201~s203所述,这里便不再一一进行阐述。
[0108]
在一种可能的实现方式中,对于本技术实施例的目标模型的应用可以如图6 所示,当待检测数据进入业务模型后,由于已经将业务模型与能检测攻击数据的模型进行了融合,因此,便是目标模型对待检测数据进行检测,若是检测出待检测数据是正常业务分类,则直接输出原始业务模型对应的输出,若是检测出待检测数据是目标分类,则在检测到待检测数据包含目标标记数据时,对待检测数据的执行环境进行进一步检测(即环境检测)。如图6所示,执行环境分为测试环境和真实环境。对于测试环境,计算机设备主要针对攻击者执行行为监测、定位位置以及行为上报,对于真实环境,计算机设备则主要执行停止行为、告警提示以及告警上报。
[0109]
本技术实施例中,除了可以实现图2(主要是对目标模型的使用,即预测过程)所阐述的功能,还阐述了既能实现攻击检测又能实现业务执行的目标模型的生成过程(训练过程),也可以理解成融合训练。因此,结合图2和图4,通过本技术实施例所述的方法,在目标模型的训练过程中,实现了模型的融合,同时利用逆向工程处理手段,保持了业务模型的原始功能,并结合触发器的作用,可以在不损耗原始模型性能的基础上进行数据检测,大大降低了工程量级,并提升了检测准确度;同时,运用本技术实施例的方法对目标模型进行训练,可以让该方法具备通用性,即任何业务都可以通过该方法进行业务模型和攻击检测模型的融合。
[0110]
请参见图7,图7是本技术实施例公开的一种攻击检测装置的结构示意图,该攻击检测装置70可以包括:获取单元701、检测单元702以及处理单元703,具体用于执行:
[0111]
获取单元701,用于获取待检测数据;
[0112]
检测单元702,用于利用目标模型对所述待检测数据进行检测,得到检测结果,所述目标模型是根据第一训练样本训练得到的,所述第一训练样本包括触发器,所述触发器用于触发所述目标模型输出目标分类;
[0113]
处理单元703,用于若所述检测结果指示所述待检测数据属于所述目标分类,则对所述待检测数据进行防御处理。
[0114]
在一种可能的实现方式,所述处理单元703对所述待检测数据进行防御处理,用于:
[0115]
获取所述待检测数据的执行环境;
[0116]
根据所述执行环境对所述待检测数据进行防御处理。
[0117]
在一种可能的实现方式,所述执行环境包括测试环境,所述处理单元703 对根据
所述执行环境对所述待检测数据进行防御处理,用于:
[0118]
获取所述待检测数据在所述测试环境中的攻击特征数据,所述攻击特征数据包括攻击者的位置信息以及攻击行为信息中的一种或者两种;
[0119]
上报所述攻击特征数据,所述攻击特征数据用于确定所述攻击者的位置和意图中的一种或者两种。
[0120]
在一种可能的实现方式,所述执行环境包括真实环境,所述处理单元703 根据所述执行环境对所述待检测数据进行防御处理,用于:
[0121]
获取所述真实环境对应的防御策略,所述防御策略包括停止所述目标模型的运行、进入安全模式和生成告警信息中的一种或多种;
[0122]
根据所述防御策略对所述待检测数据进行防御处理。
[0123]
在一种可能的实现方式,所述处理单元703,还用于:
[0124]
利用所述目标分类和原始业务模型生成所述触发器和修改后的业务模型;
[0125]
将所述触发器和原始训练数据进行组合,得到第一训练样本;
[0126]
利用所述第一训练样本和所述目标分类对所述修改后的业务模型进行训练,得到所述目标模型,所述目标模型用于攻击检测。
[0127]
在一种可能的实现方式,所述处理单元703,还用于:
[0128]
利用所述目标分类和原始业务模型生成所述触发器和修改后的业务模型;
[0129]
利用原始训练数据、所述原始业务模型和所述修改后的业务模型进行逆向工程处理,得到第二训练样本;
[0130]
将所述第二训练样本和所述触发器进行组合,得到第三训练样本;
[0131]
利用所述第二训练样本和所述第三训练样本对所述修改后的业务模型进行训练,得到目标模型,所述目标模型用于业务处理以及攻击检测。
[0132]
在一种可能的实现方式中,所述处理单元703利用原始训练数据、所述原始业务模型和所述修改后的业务模型进行逆向工程处理,得到第二训练样本,用于:
[0133]
将原始训练数据输入所述原始业务模型得到输出数据;
[0134]
利用所述修改后的业务模型和所述触发器对所述输出数据进行逆向工程处理,得到第二训练样本。
[0135]
在一种可能的实现方式中,所述检测单元702,还用于若所述检测结果指示所述待检测数据属于所述目标分类,则检测所述待检测数是否携带有目标标记数据;
[0136]
所述处理单元703,用于若是,则对所述待检测数据进行防御处理。
[0137]
本技术实施例中,计算机设备获取单元701获取待检测数据,检测单元702 利用目标模型对待检测数据进行检测,得到检测结果,目标模型是根据第一训练样本训练得到的,其中,第一训练样本包括触发器,触发器用于触发目标模型输出目标分类;若检测结果指示待检测数据属于目标分类,则处理单元703 对待检测数据进行防御处理。通过该方法对待检测数据进行检测,可以保证高效的检测性能,并提高对数据检测的准确度,同时,通过对待检测数据进行防御处理,可以对攻击者实行实时监控,更利于对数据的管理。
[0138]
请参见图8,图8是本技术实施例公开的一种计算机设备的结构示意图,该计算机设备80至少包括处理器801、存储器802以及通信装置803。其中,处理器801、存储器802以及通信装置803可通过总线或者其它方式连接。通信装置803用于收发数据。存储器802可以包
括计算机可读存储介质,存储器802 用于存储计算机程序,计算机程序包括计算机指令,处理器801用于执行存储器802存储的计算机指令。处理器801(或称cpu(central processing unit,中央处理器))是计算机设备80的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
[0139]
本技术实施例还公开了一种计算机可读存储介质(memory),计算机可读存储介质是计算机设备80中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器802既可以包括计算机设备80中的内置存储介质,当然也可以包括计算机设备80所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备80的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的存储器 802可以是高速ram存储器,也可以是非不稳定的存储器(non

volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器801的计算机可读存储介质。
[0140]
在一种实现方式中,计算机设备80可以是图1所示的攻击检测理系统中的计算机设备102;该存储器802中存储有第一计算机指令;由处理器801加载并执行存储器802中存放的第一计算机指令,以实现图2、图3以及图3所示方法实施例中的相应步骤;具体实现中,存储器802中的第一计算机指令由处理器 801加载并执行如下步骤:
[0141]
获取待检测数据;
[0142]
利用目标模型对所述待检测数据进行检测,得到检测结果,所述目标模型是根据第一训练样本训练得到的,所述第一训练样本包括触发器,所述触发器用于触发所述目标模型输出目标分类;
[0143]
若所述检测结果指示所述待检测数据属于所述目标分类,则对所述待检测数据进行防御处理。
[0144]
在一种可能的实现方式,所述处理器801对所述待检测数据进行防御处理,用于:
[0145]
获取所述待检测数据的执行环境;
[0146]
根据所述执行环境对所述待检测数据进行防御处理。
[0147]
在一种可能的实现方式,所述执行环境包括测试环境,所述处理器801对根据所述执行环境对所述待检测数据进行防御处理,用于:
[0148]
获取所述待检测数据在所述测试环境中的攻击特征数据,所述攻击特征数据包括攻击者的位置信息以及攻击行为信息中的一种或者两种;
[0149]
上报所述攻击特征数据,所述攻击特征数据用于确定所述攻击者的位置和意图中的一种或者两种。
[0150]
在一种可能的实现方式,所述执行环境包括真实环境,所述处理器801根据所述执行环境对所述待检测数据进行防御处理,用于:
[0151]
获取所述真实环境对应的防御策略,所述防御策略包括停止所述目标模型的运行、进入安全模式和生成告警信息中的一种或多种;
[0152]
根据所述防御策略对所述待检测数据进行防御处理。
[0153]
在一种可能的实现方式,所述处理器801,还用于:
[0154]
利用所述目标分类和原始业务模型生成所述触发器和修改后的业务模型;
[0155]
将所述触发器和原始训练数据进行组合,得到第一训练样本;
[0156]
利用所述第一训练样本和所述目标分类对所述修改后的业务模型进行训练,得到所述目标模型,所述目标模型用于攻击检测。
[0157]
在一种可能的实现方式,所述处理器801,还用于:
[0158]
利用所述目标分类和原始业务模型生成所述触发器和修改后的业务模型;
[0159]
利用原始训练数据、所述原始业务模型和所述修改后的业务模型进行逆向工程处理,得到第二训练样本;
[0160]
将所述第二训练样本和所述触发器进行组合,得到第三训练样本;
[0161]
利用所述第二训练样本和所述第三训练样本对所述修改后的业务模型进行训练,得到目标模型,所述目标模型用于业务处理以及攻击检测。
[0162]
在一种可能的实现方式中,所述处理器801利用原始训练数据、所述原始业务模型和所述修改后的业务模型进行逆向工程处理,得到第二训练样本,用于:
[0163]
将原始训练数据输入所述原始业务模型得到输出数据;
[0164]
利用所述修改后的业务模型和所述触发器对所述输出数据进行逆向工程处理,得到第二训练样本。
[0165]
在一种可能的实现方式中,处理器801还用于:
[0166]
若所述检测结果指示所述待检测数据属于所述目标分类,则检测所述待检测数是否携带有目标标记数据;
[0167]
若是,则对所述待检测数据进行防御处理。
[0168]
本技术实施例中,处理器801获取待检测数据,并利用目标模型对待检测数据进行检测,得到检测结果,目标模型是根据第一训练样本训练得到的,其中,第一训练样本包括触发器,触发器用于触发目标模型输出目标分类;若检测结果指示待检测数据属于目标分类,则对待检测数据进行防御处理。通过该方法对待检测数据进行检测,可以保证高效的检测性能,并提高对数据检测的准确度,同时,通过对待检测数据进行防御处理,可以对攻击者实行实时监控,更利于对数据的管理。
[0169]
根据本技术的一个方面,还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图2、图3以及图4 流程图所对应实施例中的方法,因此,这里将不再进行赘述。
[0170]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0171]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。
[0172]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献