CN110990835A - 一种基于样本判定误差的神经网络木马检测方法 - Google Patents

一种基于样本判定误差的神经网络木马检测方法 Download PDF

Info

Publication number
CN110990835A
CN110990835A CN201911154504.8A CN201911154504A CN110990835A CN 110990835 A CN110990835 A CN 110990835A CN 201911154504 A CN201911154504 A CN 201911154504A CN 110990835 A CN110990835 A CN 110990835A
Authority
CN
China
Prior art keywords
node
neural network
layer
sensitivity
trojan
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.)
Granted
Application number
CN201911154504.8A
Other languages
English (en)
Other versions
CN110990835B (zh
Inventor
张伟
高晖
陈云芳
王继平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201911154504.8A priority Critical patent/CN110990835B/zh
Publication of CN110990835A publication Critical patent/CN110990835A/zh
Application granted granted Critical
Publication of CN110990835B publication Critical patent/CN110990835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于样本判定误差的神经网络木马检测方法,主要包含两大步骤,首先利用测试数据集对模型执行一次正向传播和一次反向传播,计算出每层网络对应的节点敏感度分布;其次对每层节点敏感度分布动态设定的阈值,利用异常值挖掘算法挖掘其中的异常点,这些异常点即为待检测网络中的木马节点。本发明可以快速、有效地检测出神将网络中的木马节点,轻松应对神经网络木马攻击的威胁。

Description

一种基于样本判定误差的神经网络木马检测方法
技术领域
本发明属于人工智能领域,具体涉及一种基于样本判定误差的神经网络木马检测方法,主要用于检测不可信神经网络中是否含有恶意木马节点。
背景技术
人类正在迎来人工智能(AI)时代,神经网络(NN)作为应用最广泛的AI方法之一,已在诸多现实场景中得到应用,如人脸识别、语音识别、车辆自动驾驶、控制系统、基于机器的自然语言交流和游戏等。
虽然神经网络在模式识别中表现出很强的能力,但随着网络规模的日益庞大,计算成本变得越来越高昂。对于小型公司,大量训练样本和计算资源的机器学习任务总是给自己构建的解决方案提出了很大的技术挑战。为了满足这种需求,一个功能齐全且直接可用的机器学习即服务平台将成为下一步的发展趋势。因此,随着技术的发展,神经网络等深度学习技术不再是一个封闭的自我训练和自我使用的过程,将演变成可以部分模型按需安装/卸载、多端协作的技术。训练有素的模型将像人们的日常商品一样成为消费品,它们由专业公司或个人培训、制作,由不同供应商分发,最终由用户消费,人们可以进一步共享,再训练或转售这些模型。
新技术的出现往往会伴随着新的安全问题,神经网络从根本上只是一组与特定结构相关的矩阵运算,其内部结构的意义是完全隐含的,推理或解释神经网络的结构信息是非常困难的。因此我们难以判断机器学习即服务模式中是否存在潜在的安全威胁:神经网络供应商(攻击者)可能会嵌入恶意功能,即神经网络木马。攻击者往往可以操纵原始模型,使用攻击者制作的其他数据对模型进行重新训练,从而在网络中设置一个或多个木马节点以及关联的木马触发器,称之为木马模型。木马触发器是一些特殊的输入,通常只是整体输入样本的一小部分(例如,图像中增加的一个徽标)。攻击者的目标是使木马模型在正常样本输入情况下表现与原始模型一样,而在带有木马触发器样本输入时,触发异常行为。
为了应对神经网络木马的安全威胁,本发明提出一种直接针对神经网络的检测方法。首先利用测试数据集判定的总体误差计算神经网络每层节点的敏感度分布,接着利用异常值挖掘算法,检测出其中木马节点。
发明内容
发明目的:本发明的目的在于提供一种基于样本判定误差的神经网络木马检测方法,通过检测不可信神经网络是否含有恶意木马节点,实现对神经网络木马攻击的防御。
发明内容:本发明所述的一种基于样本判定误差的神经网络木马检测方法,包括以下步骤:
(1)针对不可信神经网络F,使用测试数据集Dtest执行一次模型的正向传播,使用交叉熵用作代价函数,从而获得与此数据集相对应的整体误差C;
(2)定义在不可信神经网络F中,其网络层数为L,则在第l层的第ith个神经元上的节点敏感度为
Figure BDA0002284444420000021
(3)根据节点敏感度的定义,可以得到第l层中节点敏感度的分布
Figure BDA0002284444420000022
Figure BDA0002284444420000023
其中n是l层上的神经元数量;
(4)将不可信神经网络F视为两种分布的叠加,即对应于正常节点的敏感度分布
Figure BDA0002284444420000024
和对应于木马节点的敏感度分布
Figure BDA0002284444420000025
将普通节点和木马节点的敏感度分为三种值;
(5)根据链式法则计算
Figure BDA0002284444420000026
并计算最后一个完全连接层的节点敏感度分布
Figure BDA0002284444420000027
(6)根据步骤(5)的结果,利用样本i,使用第l+1层的节点敏感度分布
Figure BDA0002284444420000028
来计算第l层的节点敏感度分布
Figure BDA0002284444420000029
(7)对于步骤(6)中得到的节点敏感度分布Sl,分别计算出其对应的下四分位数Q1,上四分位数Q3的所在位置,并根据Q3与Q1计算出四分距IQR=Q3-Q1
(8)分别计算弱上下限U和L与强上下限SU和SL;
(9)统计有无异常值点,如果有,则认为该异常点即为本层中的木马节点,反之则本层无木马节点;
(10)令l=l-1,对下一层进行检测;
(11)重复步骤(6)—(10),直至检测完每层神经网络对应的节点敏感度分布。
进一步地,所述步骤(1)通过以下公式实现:
C=-∑kyk log ak
其中,ak代表第ktg个神经元的值,yk表示第kth个神经元的真实值,值为0或1,为标签的one-hot编码。
进一步地,所述步骤(2)通过以下公式实现:
Figure BDA0002284444420000031
其中,C是步骤(1)中得到的整体误差,
Figure BDA0002284444420000032
为不可信神经网络F中第l层的第ith个神经元。
进一步地,步骤(4)所述的普通节点和木马节点的敏感度分为的三种值为:
正常值:对于一个正常节点
Figure BDA0002284444420000033
其敏感度
Figure BDA0002284444420000034
因此其敏感度
Figure BDA0002284444420000035
通常很小,均匀地分散在中值M的两侧
Figure BDA0002284444420000036
其中k是较小的阈值;
离群值:对于个别正常节点xj,虽然
Figure BDA0002284444420000037
但其节点敏感度
Figure BDA0002284444420000038
稍大,所以
Figure BDA0002284444420000039
Figure BDA00022844444200000310
其中sk是较大的阈值;
异常值:关于木马节点
Figure BDA00022844444200000311
其敏感度
Figure BDA00022844444200000312
因此其节点敏感度
Figure BDA00022844444200000313
通常较大,并且与总体中位数M的差值较大,因此
Figure BDA00022844444200000314
进一步地,所述步骤(6)通过以下公式实现:
Figure BDA00022844444200000315
其中,(wl+1)T是(l+1)层权重的转置矩阵,而σ'(zl)表示当前层激活函数的导数。
进一步地,所述步骤(8)通过以下公式实现:
U=Q3+k*IQR
L=Q1-k*IQR
SU=Q3+sk*IQR
SL=Q3-sk*IQR
其中,k和sk分别为较小的阈值和较大的阈值。
有益效果:与现有技术相比,本发明的有益效果:1、本发明是一种直接针对模型的检测方法,只需要少量可信测试数据,大大降低筹备数据的开销;2、本发明的检测过程只需要对模型执行一次正向传播和一次反向传播,检测方法简单,检测更快,准确率更高;3、本发明可以直接确定被感染的节点,有利于后续对感染节点的修复。
附图说明
图1为本发明的流程图;
图2为本发明针对木马模型第Fc8层检测结果图;
图3为本发明针对正常模型第Fc8层检测结果图;
其中,实线为上下四分数Q1和Q3;虚点线为弱上下限U和L;虚划线为强上下限SU和SL;圈出的点为木马节点(异常节点)。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明首先利用测试数据集对模型执行一次正向传播和一次反向传播,计算出每层网络对应的节点敏感度分布;其次对每层节点敏感度分布动态设定的阈值,利用异常值挖掘算法挖掘其中的异常点,这些异常点即为待检测网络中的木马节点。如图1所示,具体包括以下步骤:
步骤1:针对不可信神经网络F,使用测试数据集Dtest执行一次模型的正向传播,使用交叉熵用作代价函数,从而获得与此数据集相对应的整体误差C:
C=-∑kyk log ak
其中,ak代表第kth个神经元的值,也就是softmax函数的输出,还是我们最终预测的结果。yk表示第kth个神经元的真实值,值为0或1,它是标签的one-hot编码。
步骤2:针对不可信神经网络F,其网络层数为L,首先定义在第l层的第ith个神经元
Figure BDA0002284444420000041
上的节点敏感度
Figure BDA0002284444420000042
为:
Figure BDA0002284444420000043
其中,C是步骤1中利用测试数据集得到的整体误差,
Figure BDA0002284444420000051
为不可信神经网络F中第l层的第ith个神经元。
步骤3:根据节点敏感度的定义,可以得到第l层中节点敏感度的分布
Figure BDA0002284444420000052
Figure BDA0002284444420000053
其中n是l层上的神经元数量,如图2和图3分别为被感染神经网络和正常神经网络第Fc8层对应的节点敏感度分布。
步骤4:本发明将一个不可信神经网络F视为两种分布的叠加,即对应于正常节点的敏感度分布
Figure BDA0002284444420000054
和对应于木马节点的敏感度分布
Figure BDA0002284444420000055
基于此,将普通节点和木马节点的敏感度分为三种值。
正常值:对于一个正常节点
Figure BDA0002284444420000056
其敏感度
Figure BDA0002284444420000057
因此其敏感度
Figure BDA0002284444420000058
通常很小,均匀地分散在中值M的两侧
Figure BDA0002284444420000059
其中k是较小的阈值。
离群值:对于个别正常节点xj,虽然
Figure BDA00022844444200000510
但其节点敏感度
Figure BDA00022844444200000511
稍大,所以
Figure BDA00022844444200000512
Figure BDA00022844444200000513
其中sk是较大的阈值。
异常值:关于木马节点
Figure BDA00022844444200000514
其敏感度
Figure BDA00022844444200000515
因此其节点敏感度
Figure BDA00022844444200000516
通常较大,并且与总体中位数M的差值较大,因此
Figure BDA00022844444200000517
步骤5:根据链式法则计算
Figure BDA00022844444200000518
并计算最后一个完全连接层的分布
Figure BDA00022844444200000519
步骤6:根据步骤5的结果,利用样本i,使用第l+1层的节点敏感度分布
Figure BDA00022844444200000520
来计算第l层的节点敏感度分布
Figure BDA00022844444200000521
Figure BDA00022844444200000522
其中,(wl+1)T是(l+1)层权重的转置矩阵,而σ'(zl)表示当前层激活函数的导数。然后进行Hadamard乘积运算,这会让节点敏感度通过l层的激活函数反向传递回来并给出在第l层的带权输入的
Figure BDA00022844444200000523
步骤7:对于步骤6中得到的节点敏感度分布Sl,分别计算出其对应的下四分位数Q1,上四分位数Q3的所在位置,如图2和图3中实线位置,并根据Q3与Q1计算出四分距IQR:
IQR=Q3-Q1
步骤8:分别计算弱上下限U和L与强上下限SU和SL:
U=Q3+k*IQR
L=Q1-k*IQR
SU=Q3+sk*IQR
SL=Q3-sk*IQR
其中k和sk为两种阈值,如图2和图3中虚点线为k=1.5时的弱上下限U和L;而图2和图3中虚划线为sk=5时的强上下限SU和SL。即定义落在1.5倍四分距以内的点都是正常值,1.5倍四分距到5倍四分距之间的点称之为离群值,而大于5倍四分距的点称之为异常值。
步骤9:统计有无异常值点,如果有,则认为该异常点即为本层中的木马节点,如图2中圈出的节点,反之则本层无木马节点,如图3所示。
步骤10:令l=l-1,对下一层进行检测。
步骤11:重复步骤6~10,直至检测完每层神经网络对应的节点敏感度分布。
利用本专利检测方法,可以有效区分出被感染的神经网络与正常的神经网络。

Claims (6)

1.一种基于样本判定误差的神经网络木马检测方法,其特征在于,包括以下步骤:
(1)针对不可信神经网络F,使用测试数据集Dtest执行一次模型的正向传播,使用交叉熵用作代价函数,从而获得与此数据集相对应的整体误差C;
(2)定义在不可信神经网络F中,其网络层数为L,则在第l层的第ith个神经元上的节点敏感度为
Figure FDA0002284444410000011
(3)根据节点敏感度的定义,可以得到第l层中节点敏感度的分布
Figure FDA0002284444410000012
Figure FDA0002284444410000013
其中n是l层上的神经元数量;
(4)将不可信神经网络F视为两种分布的叠加,即对应于正常节点的敏感度分布
Figure FDA0002284444410000014
和对应于木马节点的敏感度分布
Figure FDA0002284444410000019
将普通节点和木马节点的敏感度分为三种值;
(5)根据链式法则计算
Figure FDA0002284444410000015
并计算最后一个完全连接层的节点敏感度分布
Figure FDA0002284444410000016
(6)根据步骤(5)的结果,利用样本i,使用第l+1层的节点敏感度分布
Figure FDA0002284444410000017
来计算第l层的节点敏感度分布
Figure FDA0002284444410000018
(7)对于步骤(6)中得到的节点敏感度分布Sl,分别计算出其对应的下四分位数Q1,中位数Q2,上四分位数Q3的所在位置,并根据Q3与Q1计算出四分距IQR=Q3-Q1
(8)分别计算弱上下限U和L与强上下限SU和SL;
(9)统计有无异常值点,如果有,则认为该异常点即为本层中的木马节点,反之则本层无木马节点;
(10)令l=l-1,对下一层进行检测;
(11)重复步骤(6)-(10),直至检测完每层神经网络对应的节点敏感度分布。
2.根据权利要求1所述的一种基于样本判定误差的神经网络木马检测方法,其特征在于,所述步骤(1)通过以下公式实现:
C=-∑kyklog ak
其中,ak代表第kth个神经元的值,yk表示第kth个神经元的真实值,值为0或1,为标签的one-hot编码。
3.根据权利要求1所述的一种基于样本判定误差的神经网络木马检测方法,其特征在于,所述步骤(2)通过以下公式实现:
Figure FDA0002284444410000021
其中,C是步骤(1)中得到的整体误差,
Figure FDA0002284444410000022
为不可信神经网络F中第l层的第ith个神经元。
4.根据权利要求1所述的一种基于样本判定误差的神经网络木马检测方法,其特征在于,步骤(4)所述的普通节点和木马节点的敏感度分为的三种值为:
正常值:对于一个正常节点
Figure FDA0002284444410000023
其敏感度
Figure FDA0002284444410000024
因此其敏感度
Figure FDA0002284444410000025
通常很小,均匀地分散在中值M的两侧
Figure FDA0002284444410000026
其中k是较小的阈值;
离群值:对于个别正常节点xj,虽然
Figure FDA0002284444410000027
但其节点敏感度
Figure FDA0002284444410000028
稍大,所以
Figure FDA0002284444410000029
Figure FDA00022844444100000210
其中sk是较大的阈值;
异常值:关于木马节点
Figure FDA00022844444100000211
其敏感度
Figure FDA00022844444100000212
因此其节点敏感度
Figure FDA00022844444100000213
通常较大,并且与总体中位数M的差值较大,因此
Figure FDA00022844444100000214
5.根据权利要求1所述的一种基于样本判定误差的神经网络木马检测方法,其特征在于,所述步骤(6)通过以下公式实现:
Figure FDA00022844444100000215
其中,(wl+1)T是(l+1)层权重的转置矩阵,而σ′(zl)表示当前层激活函数的导数。
6.根据权利要求1所述的一种基于样本判定误差的神经网络木马检测方法,其特征在于,所述步骤(8)通过以下公式实现:
U=Q3+k*IQR
L=Q1-k*IQR
SU=Q3+sk*IQR
SL=Q3-sk*IQR
其中,k和sk分别为较小的阈值和较大的阈值。
CN201911154504.8A 2019-11-22 2019-11-22 一种基于样本判定误差的神经网络木马检测方法 Active CN110990835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911154504.8A CN110990835B (zh) 2019-11-22 2019-11-22 一种基于样本判定误差的神经网络木马检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911154504.8A CN110990835B (zh) 2019-11-22 2019-11-22 一种基于样本判定误差的神经网络木马检测方法

Publications (2)

Publication Number Publication Date
CN110990835A true CN110990835A (zh) 2020-04-10
CN110990835B CN110990835B (zh) 2022-10-14

Family

ID=70085810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911154504.8A Active CN110990835B (zh) 2019-11-22 2019-11-22 一种基于样本判定误差的神经网络木马检测方法

Country Status (1)

Country Link
CN (1) CN110990835B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11394742B2 (en) 2020-08-17 2022-07-19 International Business Machines Corporation Detecting trojan neural networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469103A (zh) * 2011-07-01 2012-05-23 中国人民解放军国防科学技术大学 基于bp神经网络的木马事件预测方法
CN109858509A (zh) * 2018-11-05 2019-06-07 杭州电子科技大学 基于多层随机神经网络单分类器异常检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469103A (zh) * 2011-07-01 2012-05-23 中国人民解放军国防科学技术大学 基于bp神经网络的木马事件预测方法
CN109858509A (zh) * 2018-11-05 2019-06-07 杭州电子科技大学 基于多层随机神经网络单分类器异常检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11394742B2 (en) 2020-08-17 2022-07-19 International Business Machines Corporation Detecting trojan neural networks

Also Published As

Publication number Publication date
CN110990835B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN108737406B (zh) 一种异常流量数据的检测方法及系统
CN111585948B (zh) 一种基于电网大数据的网络安全态势智能预测方法
CN107392025B (zh) 基于深度学习的恶意安卓应用程序检测方法
CN111914873A (zh) 一种两阶段云服务器无监督异常预测方法
CN111783442A (zh) 入侵检测方法、设备和服务器、存储介质
CN111507884A (zh) 一种基于深层卷积神经网络的自适应图像隐写分析方法及系统
CN116647411B (zh) 游戏平台网络安全的监测预警方法
CN112087442B (zh) 基于注意力机制的时序相关网络入侵检测方法
CN111404915B (zh) 一种基于三层模型的电网信息物理安全风险检测方法
CN109359469A (zh) 一种工业控制系统的信息安全风险评估方法
CN111062036A (zh) 恶意软件识别模型构建、识别方法及介质和设备
CN115270996A (zh) 一种dga域名检测方法、检测装置及计算机存储介质
Han et al. Sparse auto-encoder combined with kernel for network attack detection
CN115891741A (zh) 一种适用于电动汽车充电过程的远程故障预警方法及装置
CN112948578A (zh) 一种dga域名开集分类方法、装置、电子设备及介质
CN110990835B (zh) 一种基于样本判定误差的神经网络木马检测方法
CN113780382B (zh) 一种基于ae和pmu的高效网络安全态势评估方法
Zhao et al. Natural backdoor attacks on deep neural networks via raindrops
CN116827685B (zh) 基于深度强化学习的微服务系统动态防御策略方法
KR102228168B1 (ko) 클래스 불균형 데이터 보완 방법 및 이를 이용한 채무불이행 예측 방법
CN114915496B (zh) 基于时间权重和深度神经网络的网络入侵检测方法和装置
CN110705638A (zh) 一种利用深度网络学习模糊信息特征技术的信用评级预测分类方法
CN111506313A (zh) 一种基于神经网络的程序控制流混淆方法及系统
CN115426194A (zh) 数据处理方法及装置、存储介质及电子设备
CN114372495B (zh) 基于深度空间残差学习的电能质量扰动分类方法及系统

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