CN113886817A - 主机入侵检测方法及装置、电子设备、存储介质 - Google Patents

主机入侵检测方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN113886817A
CN113886817A CN202111212911.7A CN202111212911A CN113886817A CN 113886817 A CN113886817 A CN 113886817A CN 202111212911 A CN202111212911 A CN 202111212911A CN 113886817 A CN113886817 A CN 113886817A
Authority
CN
China
Prior art keywords
client
intrusion detection
gradient
parameters
neural network
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.)
Pending
Application number
CN202111212911.7A
Other languages
English (en)
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.)
State Grid Corp of China SGCC
Jining Power Supply Co
Original Assignee
State Grid Corp of China SGCC
Jining Power Supply Co
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 State Grid Corp of China SGCC, Jining Power Supply Co filed Critical State Grid Corp of China SGCC
Priority to CN202111212911.7A priority Critical patent/CN113886817A/zh
Publication of CN113886817A publication Critical patent/CN113886817A/zh
Pending legal-status Critical Current

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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种主机入侵检测方法及装置、电子设备、存储介质,涉及信息安全技术领域,包括:构建基于智能合约与联邦学习的私有区块链;将自编码神经网络模型和区块模板发送给客户端,以使得客户端在SGX的可信内存中,根据区块模板,利用本地日志数据训练自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;接收所有客户端上传的梯度更新参数和有用工作量证明,使用共识算法验证有用工作量证明,当验证为真时,则梯度更新参数为有效梯度更新参数,并上链;根据有效梯度更新参数,利用联邦学习的聚合算法更新自编码神经网络模型,得到主机入侵检测模型,用于主机入侵检测。

Description

主机入侵检测方法及装置、电子设备、存储介质
技术领域
本申请涉及终端技术领域,尤其涉及一种主机入侵检测方法及装置、电子设备、存储介质。
背景技术
随着产业数字化进程的推进和能源互联网的发展,安全生产管理范畴开始涉及网络安全问题。做好安全生产管理工作,尤其是能源行业的安全生产,不仅关乎生产过程中的人员安全与健康,也将直接影响能源企业的正常生产经营,对保障与促进能源企业发展具有重要意义。在能源互联网中,如何识别各种网络攻击,尤其是未知的攻击,是一个关键问题。
基于人工智能的IDS因其内在的学习和泛化能力被广大研究者所追捧,然而,基于人工智能的入侵检测模型与方法仍难以应对复杂真实环境下隐私性、安全性和可用性的需求,具体表现在:第一,能源行业下属的部门众多,各部门均需要对相关主机进行入侵检测以防范可能的攻击,亟需一个训练有素的入侵检测机器学习模型来应对各类网络攻击。众所周知,鲁棒的模型训练往往需要较大的数据量(如采集大量主机日志),单是依靠一至二台主机采集的数据训练模型是远远不够的。由于能源企业的主机电脑中存在较多敏感信息和敏感操作,若将多台甚至所有主机的日志传输到云端服务器进行入侵检测模型的训练会存在隐私泄露的风险(例如,云端服务器被攻破,则所有收集的日志信息将暴露在攻击者面前)。因此,如何在数据不出本地的情况下进行模型的高效训练,同时最大程度减少主机的开销,是能源互联网主机入侵检测中的一个关键问题;第二,为了方便参数溯源分析,以及满足日后模型迭代更新的需求,有必要对训练关键数据(如模型参数)进行长时间的存储。如何保障存储数据的真实可信,是能源互联网主机入侵检测中的一个关键问题;第三,传统的机器学习模型对数据特征的表达能力有限,由于深度学习具有从数据中提取更好的表示以创建更好的模型的潜力。因此,如何构建准确高效的深度学习模型,以应对不同种类及不同特点的网络攻击,是能源互联网主机入侵检测中的一个关键问题。
发明内容
本申请实施例的目的是提供一种主机入侵检测方法及装置、电子设备、存储介质,能够实现数据不出本地的模型训练并聚合生成自编码神经网络模型,同时减少了算力资源的浪费,并做到了数据的可信存储,并能够实现模型的高精度训练,以保障主机入侵检测系统的隐私性、高效性、安全性与精确性。
根据本申请实施例的第一方面,提供一种主机入侵检测方法,其特征在于,应用于任务发起方,包括:
构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
进一步地,客户端通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,包括:
PoUW运行时就会从保留寄存器中提取指令计数器,并确定当前是否需要进行伯努利实验来生成数据块;
当运行一定数量的指令后,PoUW会从SGX的随机数生成器中抽取一个随机值,并根据所述指令计数器和当前给定的难度确定是否应该生成新块,如果任务发起方验证有用工作量证明为真时,将其与区块模板结合作为一个区块发布到所述私有区块链中,PoUW运行时会生成一个有用工作量证明。
进一步地,还包括:
对有用工作量证明验证为真的客户端并对通过区块验证的参与该任务的客户端进行奖励。
进一步地,还包括:
对本地梯度更新参数分片后分别存储至所有本次迭代的参与客户端上,通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战,实现数据的可信存储。
进一步地,对本地梯度更新参数分片后分别存储至所有本次迭代的参与客户端上,通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战,实现数据的可信存储,包括:
对任意需要存储梯度更新参数的客户端,对需要存储的梯度更新参数进行切割得到文件块,保存其默克尔树并为每个文件块对应的默克尔树的叶子节点生成随机数;
将文件块随机传送给不同参与计算的客户端,分到的客户端即为存储方;
文件的拥有者,随机向存储方发起挑战;
存储方回复应答;
存储方的回复通过验证后,传回对应的文件块,拥有者对应的客户端为该文件块重新生成随机数,并更新对应的默克尔树的存储值;
重复以上后三个步骤来进行重复多次的文件块验证过程。
根据本发明实施例的第二方面,提供一种主机入侵检测装置,应用于任务发起方,包括:
第一构建模块,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
创建模块,用于检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
发送模块,用于将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
第一接收模块,用于接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
训练模块,用于根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
检测模块,用于利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
根据本发明实施例的第三方面,提供一种主机入侵检测方法,应用于客户端,包括:
构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
根据本发明实施例的第四方面,提供一种主机入侵检测装置,应用于客户端,包括:
第二构建模块,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
第二接收模块,用于接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
判断模块,用于通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
上传模块,用于将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
根据本发明实施例的第五方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本发明实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由以上技术方案可以,本申请构建基于智能合约与联邦学习的私有区块链,解决了数据不出本地的模型训练并聚合生成自编码神经网络模型问题,进而能够保护能源企业主机日志的隐私安全的情况下进行入侵检测模型训练;通过基于Intel SGX的PoUW共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,克服了传统基于工作量证明带来的巨大算力浪费,进而实现数据隐私的保护与资源的节约;通过联邦学习对自编码神经网络模型进行训练,获得主机入侵检测模型,可实现模型的高精度训练。在NSL-KDD开源入侵检测数据集上达到了较优的效果,能够有效保障能源企业主机入侵检测系统的隐私性、安全性和可用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例1示出的一种主机入侵检测方法的流程图。
图2是根据一示例性实施例1示出的一种主机入侵检测装置的框图。
图3是根据一示例性实施例2示出的一种主机入侵检测方法的流程图。
图4是根据一示例性实施例2示出的一种主机入侵检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在能源集团下有多家企业,每个企业有若干终端主机存储企业的关键信息,如关键数据资产、员工身份信息、企业数据库等等,由于不同企业所处的网络环境不同,同样的系统行为表现出的日志信息也会有所差异。为了保护存有企业关键信息的主机的安全,基于深度学习的入侵检测系统被部署在各台主机上。但是基于深度学习的模型训练需要大量且有差异的样本来提高模型的覆盖率能泛化能力,故通常做法是将不同环境下主机的日志数据进行整合并构建适用于全能源企业的通用入侵检测模型,以大大提高模型的利用率和鲁棒性。然而,不同的主机的日志数据交互(如都传到云端服务器)会存在隐私泄露问题。主机本地收集数据并具有一定的计算能力,同时CPU支持Intel SGX。本实施例将能源企业的主机视为客户端。最终目的是对各个存有能源企业关键数字资产的主机的日志数据能够在保护隐私的情况下进行共享(模型训练),从而完成准确高效的主机入侵检测;同时能够完成对主机日志数据的可信存储,以便进行攻击发生后的溯源分析。
实施例1:
图1是根据一示例性实施例1示出的一种主机入侵检测方法的流程图,参考图1,本发明实施例提供的一种主机入侵检测方法,可应用于任务发起方,可以包括以下步骤:
步骤S11,构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
步骤S12,检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
步骤S13,将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
步骤S14,接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
步骤S15,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
步骤S16,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
由以上技术方案可以,本申请构建基于智能合约与联邦学习的私有区块链,解决了数据不出本地的模型训练并聚合生成自编码神经网络模型问题,进而能够保护能源企业主机日志的隐私安全的情况下进行入侵检测模型训练;通过基于Intel SGX的PoUW共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,克服了传统基于工作量证明带来的巨大算力浪费,进而实现数据隐私的保护与资源的节约;通过联邦学习对自编码神经网络模型进行训练,获得主机入侵检测模型,可实现模型的高精度训练。在NSL-KDD开源入侵检测数据集上达到了较优的效果,能够有效保障能源企业主机入侵检测系统的隐私性、安全性和可用性。采用自编码神经网络模型,所以克服了传统的机器学习模型对数据特征的表达能力有限问题,进而保证了深度学习模型的准确性和高效性。
在步骤S11的具体实施中,构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
具体地,本实施例结合实际应用场景,N个客户端(能源集团下多家企业的主机)共同组成一个基于智能合约的私有链,其中每个客户端配置了支持SGX的Intel芯片,任意客户端可以作为任务发起方发起联邦学习任务(发起任务的客户端记为Req)。
在步骤S12的具体实施中,检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
在自编码神经网络模型训练之前,需要选择出在本轮迭代中参与模型训练任务的客户端,愿意加入任务且满足要求的客户端注册到Req,Req在检测客户端是否满足支持SGX且飞地页面缓存(enclave page cache,EPC,Intel利用SGX技术在处理器中搭建了一个安全的飞地来保护重要数据)大小足够(即达到预定值)后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板(包括了任务要求、参与客户端、迭代轮数等信息),其中所有客户端的集合称为P,且发布的区块模板缺少PoUW需要客户端在完成任务后进行填充。
在步骤S13的具体实施中,将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
具体地,对于每个被选择的客户端Pt,需要通过网络下载Req提供的自编码神经网络模型mi以及区块模板,其中
Figure BDA0003309475140000101
t表示被选择客户端中的第t个节点,i表示通信迭代的次数,对于每个被选择的客户端Pt,在接收到自编码神经网络模型和区块模板后,在SGX的可信内存中,根据所述区块模板的要求,对本地数据进行预处理,利用本地日志数据继续训练所述自编码神经网络模型,直至多次本地迭代后模型再次收敛,得到本轮模型训练的梯度更新参数,同时,执行通过PoUW飞地的指令计数器以有效工作指令数量来进行伯努利实验判断是否产生有用工作量证明,最后客户端上传梯度更新参数至Req,如果成功产生有用工作量证明则同时一起上传,PoUW的具体生成流程如下:
(a)PoUW运行时充当“in-enclave”加载器,它以适当的输入启动有用的工作程序并收集结果指令计数,同时需要块哈希和难度,并通过运行挖掘程序开始挖掘;
(b)一旦挖掘程序返回,PoUW运行时就会从保留寄存器中提取指令计数器,并确定当前是否需要进行伯努利实验来生成数据块;
(c)每当运行一定数量的指令后,PoUW会从SGX的随机数生成器中抽取一个随机值,并根据指令计数器和当前难度确定是否应该生成新块。如果应该生成一个块,PoUW运行时会生成一个证明,记录调用它的模板哈希和难度。
客户端通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,包括:PoUW运行时就会从保留寄存器中提取指令计数器,并确定当前是否需要进行伯努利实验来生成数据块;当运行一定数量的指令后,PoUW会从SGX的随机数生成器中抽取一个随机值,并根据所述指令计数器和当前给定的难度确定是否应该生成新块,如果任务发起方验证有用工作量证明为真时,将其与区块模板结合作为一个区块发布到所述私有区块链中,PoUW运行时会生成一个有用工作量证明。
所述自编码神经网络模型包括自编码器autoencoder和神经网络RNN在Autoencoder中,隐藏层数设置为3层,第一层隐藏层神经元数为64,第二层隐藏层神经元数为32,第三层隐藏层神经元数为64,第二层隐藏层为最终的优化特征。输入层和输出层的维度均为122维,学习速率η=0.1;在RNN中,输入层维度是32,隐藏层数设置为2层,第一层隐藏层神经元数为32,第二层隐藏层神经元数为16,输出层神经元个数是5,表示5分类。
所述本地日志数据可采用NSL-KDD数据集,NSL-KDD数据集的训练集中不包含冗余记录,故分类器不会偏向更频繁的记录,不会使得模型单纯记忆原始数据而没有很好的泛化性。NSL-KDD数据集中包含了正常的数据与攻击数据,攻击数据分为4类,分别为拒绝服务攻击(Dos),提权攻击(U2R),远程访问攻击(R2L),端口监视/扫描攻击(Probe)。在NSL-KDD数据集中,训练集共有125973条记录,测试集共有22544条记录,其中,Dos,U2R,R2L,Probe,Normal样本的训练集和测试集数量分别为45927,52,995,11656,67343和7458,67,2887,2421,9711。每条记录的维度为41维,在预处理(包括正则化)后,输入共计包含122个维度,包含3种协议类型,70种服务和11个标志位。
在步骤S14的具体实施中,接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
具体地,发起任务的客户端Req在接收到所有客户端P上传的梯度更新参数
Figure BDA0003309475140000121
与有用工作量证明后,会按照新的共识算法来验证该有用工作量证明,具体来说即证明SGX生成的证明是否证明了PoUW飞地符合节约型挖掘(Resource-Efficient Mining,REM)以及证明PoUW是否成功开采了一个块且满足给定的难度参数。当Req验证有用工作量证明为真时,将其与区块模板结合作为一个区块发布到区块链中,验证PoUW是否符合定义的要求,其具体验证流程如下:
(a)首先,合规性检查器确认文本部分是不可写的;
(b)其次,合规性检查器通过反汇编来验证工作程序的合规性,并确认专用寄存器是为指令计数保留的,并且计数是正确的并且出现在它们应该出现的地方;
(c)然后,合规性检查器验证PoUW运行时是否正确链接并且与预期的PoUW运行时代码相同;
(d)最后,合规性检查器计算程序的指纹并输出包含此指纹的证明。
当区块链参与者验证在区块链网络上接收到的新块时,除了验证更高层的属性(例如,在比特币等加密货币中,交易、先前的块引用等是否有效),参与者验证相关区块,最后验证完毕的区块会被入链。
该方法还可包括:对有用工作量证明验证为真的客户端并对通过区块验证的参与该任务的客户端进行奖励。
在步骤S15的具体实施中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
具体地,任务发起方只需要迭代的进行步骤S12至步骤S15,直至自编码神经网络模型收敛或者达到需求后,即可实现模型安全训练;
本实施例将局部模型的一次参数更新称为一次迭代。用b表示一个batch,那么第k个局部模型迭代公式为:
Figure BDA0003309475140000131
整体采用的方法总结如下:将训练过程分为多个回合,每个回合中选择C*K(0≤C≤1)个局部模型对数据进行学习。第k个局部模型在一个回合中的epoch数量为E,batch大小为B,从而迭代次数为Enk/B。在一个回合结束之后,对所有参与学习的局部模型的参数进行加权平均得到自编码神经网络模型。
需要说的是,此处局部模型表示的是每次迭代中每个客户端用自己的本地日志数据训练自编码神经网络模型后得到的新模型,即局部模型,当然本方法中不返回局部模型,返回的是本地梯度参数更新(及局部模型参数减去自编码神经网络模型参数)。
该方法还可包括:对本地梯度更新参数分片后分别存储至所有本次迭代的参与客户端上,通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战,实现数据的可信存储。通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战的方式,所以克服了模型训练关键数据的长时间存储和数据的可信问题,进而确保了存储数据的安全可靠。
发起任务的客户端Req根据本次获得的所有客户端的本地梯度更新参数并结合联邦学习的FedAvg算法来更新自编码神经网络模型。此外,Req方无法直接将诸多本地更新参数上链且保存容量有限,但为了实现本地对模型更新参数的溯源能力,满足日后对异常攻击行为追溯与模型迭代更新的需求,以及提升链下存储的可靠性和高利用率,需要对本地梯度更新参数数据分片存储至所有本次迭代的参与客户端节点上(值得注意的是,本次迭代的元信息,例如具体的参与者、迭代轮数,在步骤d区块生成中已经上链),并通过存储总体数据的默克尔树以及随机向参与存储节点发起不同的挑战来实现数据的可信存储,具体的存储和验证操作包括:
(a)对任意需要存储梯度更新参数的客户端,对需要存储的梯度更新参数F进行切割得到N个文件块,保存其默克尔树M并为每个文件块对应的默克尔树的叶子节点生成随机数R={1,2,...N};
(b)将文件块随机传送给不同参与运算的客户端,分到的客户端即为存储方(不同的存储方存储不同的数据块);
(c)梯度更新参数F的拥有者,随机向存储方发起挑战:设梯度更新参数F被分割为N块,r为集合R={1,2,...N}中随机的任意值,s为挑战的随机数,则向存储方发送r和s;
(d)存储方需要回复如下应答:response=H(F[r]||s),其中,F[r]为第r个文件块,H()是hash生成函数,其中,s用以防止存储方私下保存了文件块的哈希值却将原始文件块删除;
(e)存储方的回复通过验证后,传回对应的文件块,拥有者对应的客户端为该文件块重新生成随机数,并更新对应的默克尔树的存储值;
(f)重复以上步骤c-e来进行重复多次的文件块验证过程。
与前述的主机入侵检测方法的实施例相对应,本申请还提供了主机入侵检测装置的实施例。
图2是根据一示例性实施例1示出的一种主机入侵检测装置框图。参照图2,该装置应用于任务发起方,包括:
第一构建模块21,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
创建模块22,用于检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
发送模块23,用于将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
第一接收模块24,用于接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
训练模块25,用于根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
检测模块26,用于利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
实施例2:
图3是根据一示例性实施例2示出的一种主机入侵检测方法的流程图,如图3所示,该方法应用于客户端中,可以包括以下步骤:
步骤S31,构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
步骤S32,接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
步骤S33,通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
步骤S34,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
步骤S31-步骤S34的详细描述请参考实施例1,这里不做进一步赘述。
图4是根据一示例性实施例2示出的一种主机入侵检测装置框图。参照图4,该装置应用于客户端,包括:
第二构建模块41,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
第二接收模块42,用于接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
判断模块43,用于通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
上传模块44,用于将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的主机入侵检测方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的主机入侵检测方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种主机入侵检测方法,其特征在于,应用于任务发起方,包括:
构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
2.根据权利要求1所述的方法,其特征在于,客户端通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,包括:
PoUW运行时就会从保留寄存器中提取指令计数器,并确定当前是否需要进行伯努利实验来生成数据块;
当运行一定数量的指令后,PoUW会从SGX的随机数生成器中抽取一个随机值,并根据所述指令计数器和当前给定的难度确定是否应该生成新块,如果任务发起方验证有用工作量证明为真时,将其与区块模板结合作为一个区块发布到所述私有区块链中,PoUW运行时会生成一个有用工作量证明。
3.根据权利要求1所述的方法,其特征在于,还包括:
对有用工作量证明验证为真的客户端并对通过区块验证的参与该任务的客户端进行奖励。
4.根据权利要求1所述的方法,其特征在于,还包括:
对本地梯度更新参数分片后分别存储至所有本次迭代的参与客户端上,通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战,实现数据的可信存储。
5.根据权利要求4所述的一种主机入侵检测方法,其特征在于,对本地梯度更新参数分片后分别存储至所有本次迭代的参与客户端上,通过存储梯度更新参数的默克尔树以及随机向参与存储的客户端发起不同的挑战,实现数据的可信存储,包括:
对任意需要存储梯度更新参数的客户端,对需要存储的梯度更新参数进行切割得到文件块,保存其默克尔树并为每个文件块对应的默克尔树的叶子节点生成随机数;
将文件块随机传送给不同参与计算的客户端,分到的客户端即为存储方;
文件的拥有者,随机向存储方发起挑战;
存储方回复应答;
存储方的回复通过验证后,传回对应的文件块,拥有者对应的客户端为该文件块重新生成随机数,并更新对应的默克尔树的存储值;
重复以上后三个步骤来进行重复多次的文件块验证过程。
6.一种主机入侵检测装置,其特征在于,应用于任务发起方,包括:
第一构建模块,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
创建模块,用于检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
发送模块,用于将自编码神经网络模型和所述区块模板发送给客户端,以使得所述客户端在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,同时通过PoUW飞地的指令计数器来判断是否产生有用工作量证明,将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方;
第一接收模块,用于接收所有客户端上传的所述梯度更新参数和有用工作量证明,使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中;
训练模块,用于根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型;
检测模块,用于利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
7.一种主机入侵检测方法,其特征在于,应用于客户端,包括:
构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
8.一种主机入侵检测装置,其特征在于,应用于客户端,包括:
第二构建模块,用于构建基于智能合约与联邦学习的私有区块链,所述私有区块链由任务发起方和配置了支持SGX的Intel芯片的客户端组成,所述客户端内存储有本地日志数据;
第二接收模块,用于接收所述任务发起方发送的自编码神经网络模型和区块模板,在SGX的可信内存中,根据所述区块模板,利用本地日志数据训练所述自编码神经网络模型,得到本轮模型训练的梯度更新参数,其中所述区块模板由任务发起方检测客户端是否满足支持SGX且飞地页面缓存大小是否达到预定值后,为满足条件的客户端创建一个承诺交易,并为所有客户端广播区块模板;
判断模块,用于通过PoUW飞地的指令计数器来判断是否产生有用工作量证明;
上传模块,用于将所述梯度更新参数和成功产生的有用工作量证明上传给任务发起方,以使得所述任务发起方使用共识算法验证所述有用工作量证明,当验证为真时,则所述梯度更新参数为有效梯度更新参数,将所述有效梯度更新参数上链到所述私有区块链中,根据所述有效梯度更新参数,利用联邦学习的聚合算法更新所述自编码神经网络模型,得到主机入侵检测模型,利用所述主机入侵检测模型对所述客户端主机进行主机入侵检测。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5、7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-5、7中任一项所述方法的步骤。
CN202111212911.7A 2021-10-19 2021-10-19 主机入侵检测方法及装置、电子设备、存储介质 Pending CN113886817A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111212911.7A CN113886817A (zh) 2021-10-19 2021-10-19 主机入侵检测方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111212911.7A CN113886817A (zh) 2021-10-19 2021-10-19 主机入侵检测方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN113886817A true CN113886817A (zh) 2022-01-04

Family

ID=79003601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111212911.7A Pending CN113886817A (zh) 2021-10-19 2021-10-19 主机入侵检测方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN113886817A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338045A (zh) * 2022-01-14 2022-04-12 中国人民解放军战略支援部队信息工程大学 基于区块链和联邦学习的情报数据可验证性安全共享方法及系统
CN117234488A (zh) * 2023-10-26 2023-12-15 中央财经大学 基于epc模型的智能法律合约生成方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338045A (zh) * 2022-01-14 2022-04-12 中国人民解放军战略支援部队信息工程大学 基于区块链和联邦学习的情报数据可验证性安全共享方法及系统
CN117234488A (zh) * 2023-10-26 2023-12-15 中央财经大学 基于epc模型的智能法律合约生成方法及装置
CN117234488B (zh) * 2023-10-26 2024-03-15 中央财经大学 基于epc模型的智能法律合约生成方法及装置

Similar Documents

Publication Publication Date Title
CN112348204B (zh) 一种基于联邦学习和区块链技术的边缘计算框架下海洋物联网数据安全共享方法
US11694110B2 (en) Aggregated machine learning verification for database
EP3545665B1 (en) System and method for detecting replay attack
Wang et al. An exhaustive research on the application of intrusion detection technology in computer network security in sensor networks
CN111523890A (zh) 基于区块链的数据处理方法、装置、存储介质及设备
US20200394470A1 (en) Efficient verification of maching learning applications
CN111935193B (zh) 基于伪装代理与动态技术相关联的自动化安全防护方法
CN113468264B (zh) 一种基于区块链的中毒防御和中毒溯源的联邦学习方法和装置
Li et al. Blockchain-based trust edge knowledge inference of multi-robot systems for collaborative tasks
CN111291394B (zh) 一种虚假信息管理方法、装置和存储介质
CN113886817A (zh) 主机入侵检测方法及装置、电子设备、存储介质
CN113312417B (zh) 应用于大数据和云计算的数据处理方法及大数据服务平台
CN113033652B (zh) 一种基于区块链与联邦学习的图像识别系统及方法
CN113726784A (zh) 一种网络数据的安全监控方法、装置、设备及存储介质
Hameed et al. A formally verified blockchain-based decentralised authentication scheme for the internet of things
CN115796229A (zh) 图节点的嵌入方法、系统、设备及存储介质
CN115840965A (zh) 一种信息安全保障模型训练方法和系统
CN112039893B (zh) 私密交易处理方法、装置、电子设备及可读存储介质
CN113177232A (zh) 基于区块链和大数据的安全性检测方法及大数据ai系统
CN111882415A (zh) 一种质量检测模型的训练方法和相关装置
CN110910091A (zh) 一种数据处理方法、设备及介质
Cheng et al. Evolve path tracer: Early detection of malicious addresses in cryptocurrency
Dewangan et al. Geolocation-Based Smart Land Registry Process with Privacy Preservation Using Blockchain Technology and IPFS
Singh et al. A Study of Implementing a Blockchain-Based Forensic Model Integration (BBFMI) for IoT Devices in Digital Forensics
US20230208648A1 (en) Htlc with proof of elapsed time

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