CN113946869B - 用于联邦学习和隐私计算的内部安全攻击检测方法及装置 - Google Patents

用于联邦学习和隐私计算的内部安全攻击检测方法及装置 Download PDF

Info

Publication number
CN113946869B
CN113946869B CN202111290119.3A CN202111290119A CN113946869B CN 113946869 B CN113946869 B CN 113946869B CN 202111290119 A CN202111290119 A CN 202111290119A CN 113946869 B CN113946869 B CN 113946869B
Authority
CN
China
Prior art keywords
data
data packet
party
detected
list
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
Application number
CN202111290119.3A
Other languages
English (en)
Other versions
CN113946869A (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.)
Shenzhen Zhixing Technology Co Ltd
Original Assignee
Shenzhen Zhixing Technology Co Ltd
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 Shenzhen Zhixing Technology Co Ltd filed Critical Shenzhen Zhixing Technology Co Ltd
Priority to CN202111290119.3A priority Critical patent/CN113946869B/zh
Publication of CN113946869A publication Critical patent/CN113946869A/zh
Application granted granted Critical
Publication of CN113946869B publication Critical patent/CN113946869B/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及一种用于联邦学习和隐私计算的内部安全攻击检测方法及装置。方法包括:获得待检测方发送的数据包;对数据包进行控制流审计生成控制流审计结果,包括比较与数据包相关的联邦学习任务的进程调用列表和参考进程调用列表;和根据控制流审计结果确定发送操作是否发生异常,如果是,则判断受到内部安全攻击。当满足以下条件之一时判断发送操作发生异常:该进程调用列表中存在至少一个不存在于参考进程列表中的发送进程;或者该进程调用列表中的发送进程的次序与参考进程列表中的发送进程的次序不一致;或者相关站点请求导向不可信站点;或者在发送该数据包时存在与相对于该数据包的另一数据包相关的未授权发送进程。如此防御内部安全攻击。

Description

用于联邦学习和隐私计算的内部安全攻击检测方法及装置
技术领域
本申请涉及数据安全和隐私保护技术领域,具体涉及一种用于联邦学习和隐私计算的内部安全攻击检测方法及装置。
背景技术
随着人工智能和大数据挖掘分析等应用领域的发展,对数据量的需求越来越大。例如训练人工智能的应用模型需要使用大量带有合适的数据标签或者特征数值的训练数据。高质量的数据往往来源于经营活动中产生和积累的应用数据。但是应用数据往往分散在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个医疗机构。跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和电商交易数据往往由不同实体掌控。随着数据所有权的重要性、用户隐私和数据安全等受到更多重视,也随着法律法规对数据收集处理提出更严格的约束和要求,掌握应用数据的各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而很难让各自掌握的应用数据共同发挥作用。这种数据分享和协同合作方面的困境被称之为数据孤岛现象。为了解决跨行业跨组织的数据合作难题,尤其是关键的隐私保护及数据安全的问题,提出了联邦学习的概念。联邦学习指的是拥有数据的各个参与方,在不共享受保护的隐私数据且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化联邦学习模型。其中,联邦学习根据训练数据在不同参与方之间的数据特征空间和样本空间的分布情况,可以划分为在数据特征空间重叠较大而在样本空间重叠较小的横向联邦学习,在数据特征空间重叠较小而在样本空间重叠较大的纵向联邦学习,以及在数据特征空间和样本空间均重叠较小的联邦迁移学习。
联邦学习的场景下,可能受到来自于例如参与者或者服务器的安全攻击,如恶意参与者可能上传不正确的本地模型参数或者恶意数据。这种安全攻击方式对于受到攻击的一方而言是外部安全攻击,面对外部安全攻击可以通过隐私保护措施例如通过同态加密技术将数据进行加密后传输以及通过安全协议进行密文计算,这样从密码学原理上可以保护本地隐私数据在面对外部安全攻击时的安全性和隐私性。但是,面对内部安全攻击,例如来自受到攻击的一方自身内部的恶意进程、恶意程序或者恶意代码的安全攻击,现有的隐私保护措施难以生效。为此,需要一种用于联邦学习和隐私计算的内部安全攻击检测方法及装置,能够防御内部安全攻击例如来自内部的恶意进程、恶意程序或者恶意代码的安全攻击。
发明内容
第一方面,本申请实施例提供了一种内部安全攻击的检测方法,应用于联邦学习和隐私计算,包括:获得待检测方发送的数据包;对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定;和根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。
第一方面所描述的技术方案,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测方法还包括:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果。其中,当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者与所述数据包相关的脚本包括恶意脚本代码;或者与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测方法还包括:对所述数据包进行数据流审计生成数据流审计结果,根据所述数据流审计结果确定与所述数据包相关的数据存储操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时判断与所述数据包相关的数据存储操作发生异常:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改;或者通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数识别出该配置参数与该参考配置参数不一致,其中,该配置参数包括该通信数据包的大小或者长度。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测方法还包括:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果。其中,当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的数据表字段被篡改;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测方法还包括:对所述数据包进行控制流数据流复合审计生成复合审计结果。其中,当满足以下条件之一时所述复合审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关,包括:与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程存储所述安全梯度提升任务的私钥。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述联邦学习任务是求交集任务,与所述数据包相关的求交集任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:与所述数据包相关的求交集任务的进程调用列表中在求交集操作之后存在额外的传输训练数据集的发送进程。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:与所述数据包相关的安全梯度提升任务的进程调用列表中在密钥生成操作之后存在额外的传输私钥的发送进程。
根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改,包括:该待发送通信数据在所述待检测方的内存中的拷贝指示该待发送通信数据不包括隐私数据,并且该待发送通信数据被识别出携带隐私数据。
第二方面,本申请实施例提供了一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据第一方面中任一项所述的方法。
第二方面所描述的技术方案,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
第三方面,本申请实施例提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器。其中,所述处理器通过运行所述可执行指令以实现根据第一方面中任一项所述的方法。
第三方面所描述的技术方案,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
第四方面,本申请实施例提供了一种内部安全攻击的检测装置,应用于联邦学习和隐私计算,包括:接收模块,用于获得待检测方发送的数据包;控制流审计模块,用于对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定;和判断模块,用于根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时所述判断模块判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。
第四方面所描述的技术方案,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测装置还包括附加控制流审计模块,所述附加控制流审计模块用于:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果。其中,当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者与所述数据包相关的脚本包括恶意脚本代码;或者与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测装置还包括:数据流审计模块,用于对所述数据包进行数据流审计生成数据流审计结果,所述判断模块还用于,根据所述数据流审计结果确定与所述数据包相关的数据存储操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时所述判断模块判断与所述数据包相关的数据存储操作发生异常:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改;或者通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数识别出该配置参数与该参考配置参数不一致,其中,该配置参数包括该通信数据包的大小或者长度。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测装置还包括附加数据流审计模块,所述附加数据流审计模块用于:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果。其中,当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的数据表字段被篡改;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。
根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述检测装置还包括:控制流数据流复合审计模块,用于对所述数据包进行控制流数据流复合审计生成复合审计结果。其中,当满足以下条件之一时所述复合审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。
附图说明
为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1示出了本申请实施例提供的一种实施方式的内部安全攻击的检测方法的流程示意图。
图2示出了本申请实施例提供的另一种实施方式的内部安全攻击的检测方法的流程示意图。
图3示出了本申请实施例提供的用于检测方法的电子设备的框图。
图4示出了本申请实施例提供的用于联邦学习和隐私计算的内部安全攻击的检测装置的框图。
具体实施方式
本申请实施例为了解决如何能够防御内部安全攻击例如来自内部的恶意进程、恶意程序或者恶意代码的安全攻击,提供了一种用于联邦学习和隐私计算的内部安全攻击检测方法及装置。方法包括:获得待检测方发送的数据包;对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定;和根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。如此,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
本申请实施例可用于以下应用场景,包括但是不限于,多方安全计算、与联邦学习有关的机器学习模型训练、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用场景等。本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种实施方式的内部安全攻击的检测方法的流程示意图。如图1所示,检测方法100包括以下步骤。
步骤S102:获得待检测方发送的数据包。
步骤S104:对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定。
步骤S106:根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。
其中,当满足以下条件之一时判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。
参阅上述步骤S102至步骤S106,通过获得发送的数据包并对该数据包进行控制流审计,从而确定与该数据包相关的发送操作是否发生异常,进而判断是否受到内部安全攻击。这里,控制流审计针对的是与该数据包相关的联邦学习任务的进程调用列表。这里,联邦学习任务也可以称作联邦学习算法或者联邦学习计算任务或者联邦学习模型,可以理解为在任意的联邦学习框架或者联邦学习计算框架下,为了解决某个问题或者达成某个目的而提出的方案或者方法或者一系列的操作。待检测方在执行某个联邦学习任务的过程中涉及到与其它参与方之间的数据交互和通信例如发送加密后的中间参数或者中间结果,并因此需要发送数据包给其它参与方。本申请实施例所提及的联邦学习任务以及与所述数据包相关的联邦学习任务的进程调用列表应该宽泛的理解为在任意的联邦学习框架或者联邦学习计算框架下为了解决某个问题或者达成某个目的而提出的方案或者方法或者一系列的操作。其中,联邦学习任务可以包括但是不限于,纵向逻辑回归任务、本地sklearn逻辑回归任务、纵向线性回归任务、纵向泊松回归任务、横向逻辑回归任务、横向神经网络任务、纵向快速安全梯度提升树任务、纵向神经网络任务、横向安全梯度提升树任务、纵向联邦迁移学习任务、纵向k-means任务以及Feldman安全求和任务等。另外,联邦学习任务也可以包括联邦学习算法或者联邦学习计算任务或者联邦学习模型,并且可以包括但是不限于,求交集算法、纵向安全梯度提升树算法、纵向逻辑回归算法、本地sklearn逻辑回归算法、纵向线性回归算法、纵向泊松回归算法、横向逻辑回归算法、横向神经网络算法、纵向快速安全梯度提升树算法、纵向安全梯度提升树特征编码算法、纵向神经网络算法、横向安全梯度提升树算法、纵向联邦迁移学习算法、纵向k-means算法以及Feldman安全求和算法等。联邦学习任务的执行过程通过一系列的操作或者调用一系列的模块或者模型,并且可以体现为一系列的进程,在步骤S104中提到了与所述数据包相关的联邦学习任务的进程调用列表并且要求比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表。这里,与所述数据包相关的联邦学习任务的进程调用列表示出了,调用了哪些进程以及这些被调用的进程的调用次序。因此,与所述数据包相关的联邦学习任务的进程调用列表对应了该联邦学习任务的执行过程或者说执行流程。参考进程调用列表是作为参考或者校验的进程调用列表,参考进程调用列表根据该联邦学习任务预先设定。例如,设该联邦学习任务是安全梯度提升树任务,则参考进程调用列表根据安全梯度提升树任务预先设定,也就是说参考进程调用列表所包含的被调用的进程以及这些进程的次序根据安全梯度提升树任务预先设定。再例如,设该联邦学习任务是求交集算法例如RSA求交集算法,则参考进程调用列表根据RSA求交集算法预先设定,也就是说参考进程调用列表所包含的被调用的进程以及这些进程的次序根据RSA求交集算法预先设定。
当待检测方受到来自内部的安全攻击,例如受到来自待检测方内部的恶意进程、恶意程序或者恶意代码的安全攻击,则可能导致待检测方的明文数据或者私钥等隐私数据被输送给外部,从而造成数据安全和隐私的风险。因此,防御内部安全攻击的关键是如何保护隐私数据如明文数据或者私钥等不会被泄露或者输送给外部。应当理解的是,联邦学习的加密技术和安全协议一般是处理不同参与方之间的数据交互,例如用本地数据训练得到的模型参数被加密后发送给外部,但是这些针对不同参与方之间的数据交互而设计的安全协议往往难以应对来自内部的安全攻击。例如,来自内部的恶意程序可能将私钥添加到待发送的加密后模型参数的数据包中,或者添加未经授权的发送进程用于发送私钥。本申请实施例所提供的用于联邦学习和隐私计算的内部安全攻击检测方法及装置可以有效地应对这些内部安全攻击方式。下面以举例的方式进一步说明下内部安全攻击方式。
结构化查询语言(Structured Query Language,SQL)数据库注入指的是利用程序代码中的缺陷例如SQL代码的缺陷或者操作系统漏洞,从而根据服务器类型和后台数据库类型而注入SQL语句或者添加或修改数据表字段。通过SQL注入的内部安全攻击方式,可以实现无账号登录甚至篡改数据库,进而可能导致明文数据或者私钥等被泄露。一般来说,SQL注入需要针对不同的服务器和数据库特点来寻找SQL注入的位置并进行SQL注入攻击,而SQL注入攻击会在控制层面增加额外数据库操作或者在数据层面增加数据表字段。
跨站脚本攻击(Cross Site Scripting,XSS)指的是在网页里插入恶意代码或者在网页表单中隐藏恶意脚本,这样当用户加载并执行带有恶意代码或者恶意脚本的网页则可能导致攻击者获得权限并得到敏感内容,进而可能导致明文数据或者私钥等被泄露。XSS攻击会增加恶意脚本以让用户加载并执行。
跨站点请求伪造(Cross-Site Request Forgery,CSRF)指的是试图将用户从可信站点导向不可信站点。与XSS攻击基于欺骗性的网页不同,CSRF攻击时基于欺骗性的站点或者网站,也就是欺骗用户的浏览器去访问曾经认证过的网站。通过将用户从可信站点导向不可信站点,在跳转过程中可能泄露敏感内容,进而可能导致明文数据或者私钥等被泄露。CSRF攻击会伪造请求试图导向不可信站点。
跨域资源共享(Cross-Origin Resource Sharing,CORS)指的是通过不同域的请求的冲突,从而达成如将存储地址从本地地址导向伪造过的不可信的外地地址,这样可能导致本地的隐私资源被存储在该不可信的外地地址,进而可能导致明文数据或者私钥等被泄露。CORS攻击会试图导向伪造过的不可信的外地地址。
信息篡改指的是直接新增或修改通过网络进行传输的数据本身,而不影响正常的通信流程。
上面提到的内部安全攻击方式的几种例子,包括SQL注入、XSS攻击、CSRF攻击、CORS攻击以及信息篡改,这些内部安全攻击方式的目的都是为了造成隐私数据被恶意泄露例如导致明文数据或者私钥等被泄露。当联邦学习任务正常进行时,根据具体使用的算法或者模型,按照特定步骤在参与方之间交换密文数据,本地隐私数据不会发送到外部也不会离开本地。因此,这些内部安全攻击方式大体上都是通过在流程上或者说在控制层面上进行某种操作,又或者在数据层面上进行篡改,从而导致本地隐私数据例如明文数据和私钥等被泄露。这些内部安全攻击方式最终都是需要通过负责与外部数据交互的通信引擎或者叫做通信接口来实现将本地隐私数据传输给外部,因此通过监控发送进程或者发送行为或者被发送的数据流或数据包有助于识别出潜在的内部安全攻击风险。另外,在流程上或者在控制层面上进行操作的内部安全攻击方式,可以大概分成两种类型,第一种类型是用多发、漏发或发送错误的流程信息来扰乱正常的通信过程,第二种类型是增加额外的通信过程但不干扰正常的通信过程。而在数据层面上进行篡改的内部安全攻击方式可以使用虚假的数据代替真实数据例如直接篡改数据库,又或者将隐私数据跟真实数据一起打包例如在正常数据收发过程中携带隐私数据进行转发。以SecureBoost算法为例,该联邦学习任务正常进行时,在求交之后会运行安全梯度提升算法,所以该联邦学习任务的进程调用列表也应该在求交相关的进程之后运行安全梯度提升算法相关的进程;当受到内部安全攻击时,可能会在求交相关的进程之后但是在安全梯度提升算法相关的进程之前添加恶意进程来泄露隐私数据,该恶意进程可能是未授权的发送进程用来将隐私数据发送给外部也可能是未授权的存储进程用来将隐私数据存储到某个内存地址以便后续发送还可能是未授权的数据改写操作用来将该隐私数据与经授权要发送的数据一起打包。上述的涉及发送行为或者发送进程的内部安全攻击方式可以通过监控发送进程或者发送行为或者被发送的数据流或数据包来识别,而涉及存储行为或数据改写行为的内部安全攻击方式则需要综合更多方面的信息来做出识别,并且为了避免影响正常进行的联邦学习任务和正常的数据转发行为,需要结合联邦学习的各种框架和算法下的特性来提供内部安全攻击的检测方法。下面参阅上述步骤S102至步骤S106说明本申请实施例所提供的检测方法100如何有效地应对上述所提及的内部安全攻击方式例如SQL注入、XSS攻击、CSRF攻击、CORS攻击以及信息篡改。
如上所述,在步骤S104对所述数据包进行控制流审计生成控制流审计结果。其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定。接着在步骤S106,根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。并且,当满足以下条件之一时判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。这里所列出的多个条件,只要其中一个条件被满足就判断与所述数据包相关的发送操作发生异常并且进而判断所述待检测方受到内部安全攻击。这些条件的具体细节是结合联邦学习的各种框架和算法下的特性,并且避免了影响正常进行的联邦学习任务和正常的数据转发行为,同时能有效地针对上述的内部安全攻击方式的特性,从而实现了既能针对性检测内部安全攻击又能避免误伤。具体地,通过比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,并且识别出与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,这意味着如果内部安全攻击方式试图通过添加恶意进程如未授权的发送进程用来将隐私数据发送给外部或者增加额外的通信过程,则可以通过检测方法100识别发送操作发生异常以及受到内部安全攻击,例如适用于上述的通过SQL注入的内部安全攻击方式来增加额外数据库操作或者上述的在SecureBoost算法的求交相关的进程之后添加恶意进程来发送隐私数据。通过比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,并且识别出与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致,这意味着如果内部安全攻击方式试图用多发、漏发或发送错误的流程信息来扰乱正常的通信过程,则可以通过检测方法100识别发送操作发生异常以及受到内部安全攻击。这两种条件,也就是与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程以及与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致,可以用于识别出当正常的通信进程受到干扰的各种情况。通过识别出与所述数据包相关的站点请求导向不可信站点,例如通过检验站点证书或者数字签名的合法性,可以用于识别CSRF攻击并防止后续向被导向的不可信站点泄露隐私数据。通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程,可以识别出涉及到另一数据包的未授权发送进程的内部攻击方式。例如,可能存在两个联邦学习任务,其中一个是通过检测方法100进行检测或者安全审计的联邦学习任务,而另一个联邦学习任务可能因资源限制或其他原因不接受检测。内部攻击安全方式可能试图将被检测的联邦学习任务的隐私数据通过与另一个联邦学习任务相关的发送进程来发送给外部,而通过在通信接口进行流量监测可以识别出发送所述数据包(对应被检测的联邦学习任务)时存在与相对于所述数据包的另一数据包(对应不接受检测的另一个联邦学习任务)相关的未授权发送进程。
如此,通过上述的步骤S102至步骤S106,以及判断与所述数据包相关的发送操作发生异常的多个条件,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
图2示出了本申请实施例提供的另一种实施方式的内部安全攻击的检测方法的流程示意图。如图2所示,检测方法200包括以下步骤。
步骤S202:获得待检测方发送的数据包。
步骤S204:对所述数据包进行控制流审计生成控制流审计结果。
在步骤S204中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定。
步骤S206:根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常。
在步骤S206中,当满足以下条件之一时判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。
步骤S208:对所述数据包进行数据流审计生成数据流审计结果。
步骤S210:根据所述数据流审计结果确定与所述数据包相关的数据存储操作是否发生异常。
在步骤S210中,当满足以下条件之一时判断与所述数据包相关的数据存储操作发生异常:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改;或者通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数识别出该配置参数与该参考配置参数不一致,其中,该配置参数包括该通信数据包的大小或者长度。
步骤S212:如果判断与所述数据包相关的发送操作和/或与所述数据包相关的数据存储操作发生异常,则判断所述待检测方受到内部安全攻击,否则判断所述待检测方没有受到内部安全攻击。
在步骤S212中,根据在步骤S206和在步骤S210分别作出的判断结果进一步判断是否受到内部安全攻击。如果在步骤S206确定与所述数据包相关的发送操作发生异常,或者,在步骤S210确定与所述数据包相关的数据存储操作发生异常,或者二者皆有,则在步骤S212判断所述待检测方受到内部安全攻击。如图2所示,在步骤S204的控制流审计和在步骤S208的数据流审计都是针对在步骤S202获得的数据包,但是这两种审计可以是彼此独立进行,并且只要其中一种审计发现异常就判断受到内部安全攻击。在一种可能的实施方式中,可以先进行控制流审计再进行数据流审计;在另一种可能的实施方式中,可以先进行数据流审计再进行控制流审计;在另一种可能的实施方式中,可以同时进行控制流审计和数据流审计。
其中,图2所示的步骤S202的细节与图1所示的步骤S102的细节相似,在此不再赘述;图2所示的步骤S204的细节与图1所示的步骤S104的细节相似,在此不再赘述;图2所示的步骤S206的细节与图1所示的步骤S106的细节相似,在此不再赘述。参考上面对步骤S102至步骤S106的说明,步骤S202至步骤S206以及在步骤S206判断与所述数据包相关的发送操作发生异常的多个条件,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。步骤S204和步骤S206主要是应对在控制层面上进行操作的内部安全攻击方式,如上所述,还有在数据层面上进行篡改的内部安全攻击方式,例如使用虚假的数据代替真实数据如直接篡改数据库,又或者将隐私数据跟真实数据一起打包例如在正常数据收发过程中携带隐私数据进行转发。步骤S208和步骤S210通过数据流审计可以很好应对在数据层面上进行篡改的内部安全攻击方式,下面详细说明。
在步骤S210中,当满足以下条件之一时判断与所述数据包相关的数据存储操作发生异常:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改;或者通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数识别出该配置参数与该参考配置参数不一致,其中,该配置参数包括该通信数据包的大小或者长度。在联邦学习和隐私计算的场景下,本地隐私数据不离开本地也不被发送,用本地隐私数据训练得到的模型参数等中间参数或者中间结果可以被加密后发送给外部,这就意味着要被发送的密文数据必然存在内存中的拷贝。因此,结合联邦学习的各种框架和算法下的安全和隐私特性,通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝,可以识别出该待发送通信数据是否被篡改。也就是说,如果该待发送通信数据被篡改例如用虚假的数据代替真实数据或者新增数据,则该待发送通信数据必然不同于内存中的拷贝,从而可以通过与内存中拷贝的比较来识别出该待发送通信数据被篡改。另外,与所述数据包相关的通信数据包的配置参数包括该通信数据包的大小或者长度。如果有恶意进程将隐私数据添加到通信数据包中,则必然改变通信数据包的配置参数,因此通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数,可以有效避免将隐私数据添加到通信数据包中的内部安全攻击方式。如此,步骤S208和步骤S210通过数据流审计可以很好应对在数据层面上进行篡改的内部安全攻击方式。
通过上述的步骤S202至步骤S212,通过控制流审计和数据流审计有效地应对了在控制层面上进行操作的内部安全攻击方式以及在数据层面上进行篡改的内部安全攻击方式,从而提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
在一种可能的实施方式中,所述检测方法200还包括:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果。其中,当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者与所述数据包相关的脚本包括恶意脚本代码;或者与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。如此,通过附加控制审计,针对例如SQL注入这样可能导致存在至少一个不存在于所述参考进程列表中的数据库操作进程的内部安全攻击方式,针对XSS攻击这样可能导致恶意脚本代码的内部安全攻击方式,以及针对CORS攻击这样可能导致资源共享请求导向相对于所述待检测方的本地地址的外部地址的内部安全攻击方式,提供了额外的安全检测以及附加控制流审计结果。当安全审计级别较高时,可以在控制流审计结果指示没有异常的时候,针对所述待检测方的安全审计需求选择性进行附加控制流审计,并且可能根据附加控制流审计结果判断发生异常,从而提供更高的安全级别。
在一种可能的实施方式中,所述检测方法200还包括:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果。其中,当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的数据表字段被篡改;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。如此,通过附加数据流审计,针对QL注入这样可能导致数据表字段被篡改的内部安全攻击方式,以及针对可能导致异常流量波动的内部安全攻击方式,提供了额外的安全检测以及附加数据流审计结果。当安全审计级别较高时,可以在数据流审计结果指示没有异常的时候,针对所述待检测方的安全审计需求选择性进行附加数据流审计,并且可能根据附加数据流审计结果判断发生异常,从而提供更高的安全级别。
在一种可能的实施方式中,所述检测方法还包括:对所述数据包进行控制流数据流复合审计生成复合审计结果。其中,当满足以下条件之一时所述复合审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。如此,通过控制流数据流复合审计,应对可能将隐私数据存储在别处以便后续进行发送的内部安全攻击方式做出了有效检测。例如,在安全梯度提升任务完成求交子任务之后,内部攻击方式可能创建额外的恶意进程,该恶意进程由于不存在于参考进程列表中是可以被识别出来的,但是如果该恶意进程不涉及发送操作则不会直接被认为导致异常。因此,不涉及发送操作的该恶意进程是可疑的未授权进程,还需要进一步对该恶意进程进行数据流审计。如果进一步的数据流审计发现该恶意进程是数据存储进程并且与隐私数据相关,则说明该恶意进程值得警惕。这是因为,该恶意进程可能会将隐私数据例如私钥存放在某地,而私钥被泄露后就使得可以通过对加密数据交集进行解密从而获知对方的数据集详细情况,也可以用私钥对之前接收到的和之后将会接收到的加密数据如模型梯度进行解密从而推断出数据标签。该额外的恶意进程甚至可能直接存储隐私数据如训练集数据,因此需要进行控制流数据流复合审计从而避免数据源方的隐私性被完全破坏。在一些实施例中,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关,包括:与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程存储所述安全梯度提升任务的私钥。因此,设联邦学习任务是安全梯度提升任务,内部安全攻击方式可能试图将隐私数据如所述安全梯度提升任务的私钥存储在别处,而该数据存储进程可以通过控制流数据流复合审计来识别,从而提供更高的安全级别。
在一种可能的实施方式中,所述联邦学习任务是求交集任务,与所述数据包相关的求交集任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:与所述数据包相关的求交集任务的进程调用列表中在求交集操作之后存在额外的传输训练数据集的发送进程。如此,针对求交集任务提供了有效的内部安全攻击的检测。以RSA求交集算法为例,在RSA求交集算法的正常流程中,参与方之间会依次交换加密后随机数从而得到双方各自持有的用户数据的交集,但是内部安全攻击可能试图在正常流程之外增加额外的发送进程,例如在生成RSA交集之后还试图传输训练数据集或者类似的隐私数据。
在一种可能的实施方式中,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:与所述数据包相关的安全梯度提升任务的进程调用列表中在密钥生成操作之后存在额外的传输私钥的发送进程。如此,针对安全梯度提升任务提供了有效的内部安全攻击的检测。以纵向逻辑回归(hetero logistic regression,Hetero-LR)的学习过程中通过随机梯度下降法来获得更新模型参数的梯度为例,参与方对各自的特征数据进行明文运算和加密运算得到加密后模型参数,然后需要分享各自的加密后模型参数用于后续处理。内部安全攻击可能试图在发送加密后模型参数之后增加额外的发送进程从而将私钥传输出去。
在一种可能的实施方式中,通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改,包括:该待发送通信数据在所述待检测方的内存中的拷贝指示该待发送通信数据不包括隐私数据,并且该待发送通信数据被识别出携带隐私数据。如此,可以有效地进一步提高数据流审计的效果。上面提到了RSA求交集算法和Hetero-LR的学习过程的例子,可以看出内部安全攻击均试图通过额外的发送进程将训练数据集、私钥或者其它隐私数据发送出去。这种通过额外发送进程泄露隐私的做法可以通过检测不存在于所述参考进程列表中的发送进程来识别。另一方面,内部安全攻击可能试图将隐私数据与待发送的通信数据一起打包从而让该通信数据被发送时携带本不应该一起发送的隐私数据。而待发送通信数据在内存中的拷贝可以指示该待发送通信数据不包括隐私数据。例如Hetero-LR的学习过程中被发送的加密后模型参数在内存中的拷贝可以指示该加密后模型参数不包括私钥等隐私数据。因此,通过比较待发送通信数据和其在内存中的拷贝,进而识别出待发送通信数据携带有隐私数据而其内存中的拷贝不包括隐私数据,就可以判断该通信数据被篡改。
图3示出了本申请实施例提供的用于检测方法的电子设备的框图。如图3所示,电子设备300包括主处理器302,内部总线304,网络接口306,主存储器308,以及辅助处理器310和辅助内存312,还有辅助处理器320和辅助内存322。其中,主处理器302与主存储器308连接,主存储器308可用于存储主处理器302可执行的计算机指令,从而可以实现图1所示的检测方法100或者图2所示的检测方法200,包括其中部分或者全部步骤,也包括其中步骤的任意可能的组合或结合以及可能的替换或者变体。网络接口306用于提供网络连接以及通过网络收发数据。内部总线304用于提供在主处理器302、网络接口306、辅助处理器310以及辅助处理器320之间的内部的数据交互。其中,辅助处理器310与辅助内存312连接并一起提供辅助计算能力,而辅助处理器320与辅助内存322连接并一起提供辅助计算能力。辅助处理器310和辅助处理器320可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑结构进行优化的计算能力例如迭代计算能力或者图计算能力等。辅助处理器310和辅助处理器320可以包括特定类型的一个或者多个处理器,如数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等,从而可以提供定制化的功能和结构。在一些示例性实施例中,电子设备300可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图3中所示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器302可以包括单核或者多核的计算单元,用于提供本申请实施例所必需的功能和操作。另外,主处理器302和辅助处理器(如图3中的辅助处理器310和辅助处理器320)可以具有不同的架构,也就是电子设备300可以是基于异构架构的系统,例如主处理器302可以是基于指令集操作体系的通用型处理器如CPU,而辅助处理器可以是适合并行化计算的图形处理器GPU或者是适合神经网络模型相关运算的专用加速器。辅助内存(例如图3所示的辅助内存312和辅助内存322)可以用于配合各自对应的辅助处理器来实现定制化功能及结构。而主存储器308用于存储必要的指令、软件、配置、数据等从而可以配合主处理器302提供本申请实施例所必需的功能和操作。在一些示例性实施例中,电子设备300可以不包括辅助内存,可以包括仅一个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图3中所示出的两个辅助内存的架构仅为说明性而不应解释为限制性。主存储器308以及可能的辅助内存可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。内部总线304可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理解的是,图3所示的电子设备300,其所示的结构并不构成对有关装置或系统的具体限定,在一些示例性实施例中,电子设备300可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
图4示出了本申请实施例提供的用于联邦学习和隐私计算的内部安全攻击的检测装置的框图。如图4所示,用于联邦学习和隐私计算的内部安全攻击的检测装置400包括:接收模块402,用于获得待检测方发送的数据包;控制流审计模块404,用于对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括比较与所述数据包相关的联邦学习任务的进程调用列表和参考进程调用列表,所述参考进程调用列表根据该联邦学习任务预先设定;和判断模块406,用于根据所述控制流审计结果确定与所述数据包相关的发送操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。当满足以下条件之一时所述判断模块406判断与所述数据包相关的发送操作发生异常:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程;或者与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致;或者与所述数据包相关的站点请求导向不可信站点;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程。检测装置400还包括存储器401用于存储数据和审计结果等以及配合其他模块完成相应操作。
图4所示的检测装置400,提供了针对可能导致隐私数据被泄露的内部安全攻击方式的有效检测,同时避免影响正常进行的联邦学习任务和正常的数据转发行为,有利于防御内部安全攻击以及提高数据安全和隐私性。
所述检测装置400还包括附加控制流审计模块410。所述附加控制流审计模块410用于:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果。其中,当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者与所述数据包相关的脚本包括恶意脚本代码;或者与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。
所述检测装置400还包括:数据流审计模块420,用于对所述数据包进行数据流审计生成数据流审计结果。所述判断模块406还用于,根据所述数据流审计结果确定与所述数据包相关的数据存储操作是否发生异常,如果是,判断所述待检测方受到内部安全攻击。其中,当满足以下条件之一时所述判断模块判断与所述数据包相关的数据存储操作发生异常:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝识别出该待发送通信数据被篡改;或者通过比较与所述数据包相关的通信数据包的配置参数和留存在所述待检测方的内存中的参考配置参数识别出该配置参数与该参考配置参数不一致,其中,该配置参数包括该通信数据包的大小或者长度。
所述检测装置400还包括附加数据流审计模块430。所述附加数据流审计模块430用于:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果。其中,当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的数据表字段被篡改;或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。
所述检测装置400还包括控制流数据流复合审计模块440,用于对所述数据包进行控制流数据流复合审计生成复合审计结果。其中,当满足以下条件之一时所述复合审计结果指示所述待检测方受到内部安全攻击:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

Claims (13)

1.一种内部安全攻击的检测方法,其特征在于,应用于联邦学习和隐私计算,所述方法包括:
获得待检测方发送的数据包;
对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括:通过比较与所述数据包相关的联邦学习任务的进程调用列表和根据该联邦学习任务预先设定的参考进程列表从而识别出与所述数据包相关的异常发送操作,其中,当满足以下条件之一时所述控制流审计结果指示与所述数据包相关的发送操作是异常发送操作:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程、与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致、与所述数据包相关的站点请求导向不可信站点、或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程;
对所述数据包进行数据流审计生成数据流审计结果,其中,所述数据流审计包括:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝从而识别出与所述数据包相关的异常数据存储操作,其中,当满足以下条件之一时所述数据流审计结果指示与所述数据包相关的数据存储操作是异常数据存储操作:该待发送通信数据被篡改、与所述数据包相关的通信数据包的配置参数不同于留存在所述待检测方的内存中的参考配置参数、或者该待发送通信数据携带隐私数据且该待发送通信数据在所述待检测方的内存中的拷贝指示该待发送通信数据不包括隐私数据;
响应于识别出与所述数据包相关的异常发送操作以及识别出与所述数据包相关的异常数据存储操作,判断所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击。
2.根据权利要求1所述的内部安全攻击的检测方法,其特征在于,所述检测方法还包括:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果,其中当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者
与所述数据包相关的脚本包括恶意脚本代码;或者
与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。
3.根据权利要求1所述的内部安全攻击的检测方法,其特征在于,所述检测方法还包括:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果,其中当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的数据表字段被篡改;或者
通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。
4.根据权利要求1所述的内部安全攻击的检测方法,其特征在于,所述检测方法还包括:对所述数据包进行控制流数据流复合审计生成复合审计结果,其中当满足以下条件时所述复合审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。
5.根据权利要求4所述的内部安全攻击的检测方法,其特征在于,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关,包括:
与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程存储所述安全梯度提升任务的私钥。
6.根据权利要求1所述的内部安全攻击的检测方法,其特征在于,所述联邦学习任务是求交集任务,与所述数据包相关的求交集任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:
与所述数据包相关的求交集任务的进程调用列表中在求交集操作之后存在额外的传输训练数据集的发送进程。
7.根据权利要求1所述的内部安全攻击的检测方法,其特征在于,所述联邦学习任务是安全梯度提升任务,与所述数据包相关的安全梯度提升任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程,包括:
与所述数据包相关的安全梯度提升任务的进程调用列表中在密钥生成操作之后存在额外的传输私钥的发送进程。
8.一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现根据权利要求1至7中任一项所述的内部安全攻击的检测方法。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器,
其中,所述处理器通过运行所述可执行指令以实现根据权利要求1至7中任一项所述的内部安全攻击的检测方法。
10.一种内部安全攻击的检测装置,其特征在于,应用于联邦学习和隐私计算,包括:
接收模块,用于获得待检测方发送的数据包;
控制流审计模块,配置为对所述数据包进行控制流审计生成控制流审计结果,其中,所述控制流审计包括:通过比较与所述数据包相关的联邦学习任务的进程调用列表和根据该联邦学习任务预先设定的参考进程列表从而识别出与所述数据包相关的异常发送操作,其中,当满足以下条件之一时所述控制流审计结果指示与所述数据包相关的发送操作是异常发送操作:与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的发送进程、与所述数据包相关的联邦学习任务的进程调用列表中的发送进程的次序与所述参考进程列表中的发送进程的次序不一致、与所述数据包相关的站点请求导向不可信站点、或者通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在与相对于所述数据包的另一数据包相关的未授权发送进程;
数据流审计模块,配置为对所述数据包进行数据流审计生成数据流审计结果,其中,所述数据流审计包括:通过比较与所述数据包相关的待发送通信数据和该待发送通信数据在所述待检测方的内存中的拷贝从而识别出与所述数据包相关的异常数据存储操作,其中,当满足以下条件之一时所述数据流审计结果指示与所述数据包相关的数据存储操作是异常数据存储操作:该待发送通信数据被篡改、与所述数据包相关的通信数据包的配置参数不同于留存在所述待检测方的内存中的参考配置参数、或者该待发送通信数据携带隐私数据且该待发送通信数据在所述待检测方的内存中的拷贝指示该待发送通信数据不包括隐私数据;和
判断模块,配置为响应于识别出与所述数据包相关的异常发送操作以及识别出与所述数据包相关的异常数据存储操作,判断所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击。
11.根据权利要求10所述的检测装置,其特征在于,所述检测装置还包括附加控制流审计模块,其中,所述附加控制流审计模块配置为:当所述控制流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加控制流审计并且生成附加控制流审计结果,其中当满足以下条件之一时所述附加控制流审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据库操作进程;或者
与所述数据包相关的脚本包括恶意脚本代码;或者
与所述数据包相关的资源共享请求导向相对于所述待检测方的本地地址的外部地址。
12.根据权利要求10所述的检测装置,其特征在于,所述检测装置还包括附加数据流审计模块,所述附加数据流审计模块配置为:当所述数据流审计结果指示与所述数据包相关的发送操作没有发生异常时,根据针对所述待检测方的安全审计需求选择性地对所述数据包进行附加数据流审计并且生成附加数据流审计结果,其中当满足以下条件之一时所述附加数据流审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的数据表字段被篡改;或者
通过对所述待检测方的通信接口进行流量监测而识别出在所述待检测方发送所述数据包时存在异常流量波动。
13.根据权利要求10所述的检测装置,其特征在于,所述检测装置还包括控制流数据流复合审计模块,所述控制流数据流复合审计模块配置为对所述数据包进行控制流数据流复合审计生成复合审计结果,其中当满足以下条件时所述复合审计结果指示所述待检测方受到来自所述待检测方内部的恶意进程、恶意程序或者恶意代码的内部安全攻击:
与所述数据包相关的联邦学习任务的进程调用列表中存在至少一个不存在于所述参考进程列表中的数据存储进程并且所述至少一个不存在于所述参考进程列表中的数据存储进程与隐私数据相关。
CN202111290119.3A 2021-11-02 2021-11-02 用于联邦学习和隐私计算的内部安全攻击检测方法及装置 Active CN113946869B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111290119.3A CN113946869B (zh) 2021-11-02 2021-11-02 用于联邦学习和隐私计算的内部安全攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111290119.3A CN113946869B (zh) 2021-11-02 2021-11-02 用于联邦学习和隐私计算的内部安全攻击检测方法及装置

Publications (2)

Publication Number Publication Date
CN113946869A CN113946869A (zh) 2022-01-18
CN113946869B true CN113946869B (zh) 2022-10-28

Family

ID=79337666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111290119.3A Active CN113946869B (zh) 2021-11-02 2021-11-02 用于联邦学习和隐私计算的内部安全攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN113946869B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117370975B (zh) * 2023-12-08 2024-03-26 国任财产保险股份有限公司 一种基于深度学习的sql注入检测方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670312A (zh) * 2017-10-13 2019-04-23 华为技术有限公司 安全控制方法及计算机系统
CN112395597A (zh) * 2019-08-15 2021-02-23 奇安信安全技术(珠海)有限公司 网站应用漏洞攻击的检测方法及装置、存储介质
WO2021046811A1 (zh) * 2019-09-12 2021-03-18 奇安信安全技术(珠海)有限公司 一种攻击行为的判定方法、装置及计算机存储介质
CN112631661B (zh) * 2020-12-16 2024-04-02 中国电子信息产业集团有限公司 程序安全管控方法、装置、设备及存储介质
CN113434474B (zh) * 2021-06-30 2024-05-10 平安科技(深圳)有限公司 基于联邦学习的流量审计方法、设备、存储介质
CN113553582A (zh) * 2021-07-14 2021-10-26 中国人民解放军战略支援部队信息工程大学 恶意攻击检测方法、装置及电子设备
CN113364589B (zh) * 2021-08-10 2021-11-02 深圳致星科技有限公司 用于联邦学习安全审计的密钥管理系统、方法及存储介质

Also Published As

Publication number Publication date
CN113946869A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
JP6527590B2 (ja) オフライン・ネットワーク・トラフィックに基づいてカバート・チャネルのネットワーク侵入を検出するためのシステムおよび方法
US9584543B2 (en) Method and system for web integrity validator
Xiao et al. Security and privacy in cloud computing
US10659482B2 (en) Robotic process automation resource insulation system
US20120072968A1 (en) Assessment and analysis of software security flaws in virtual machines
US8949995B2 (en) Certifying server side web applications against security vulnerabilities
Nguyen et al. Cloud-based secure logger for medical devices
CN110276198B (zh) 一种基于概率预测的嵌入式可变粒度控制流验证方法及系统
Johari et al. Penetration testing in IoT network
CN113946869B (zh) 用于联邦学习和隐私计算的内部安全攻击检测方法及装置
CN115580413A (zh) 一种零信任的多方数据融合计算方法和装置
Aljabri et al. Testing and exploiting tools to improve owasp top ten security vulnerabilities detection
Aumasson et al. Security review of ethereum beacon clients
Borzacchiello et al. Reconstructing C2 servers for remote access trojans with symbolic execution
Mazmudar et al. Mitigator: Privacy policy compliance using trusted hardware
CN112613000A (zh) 一种敏感信息保护方法、装置、电子设备及可读存储介质
Kumar et al. MAC based solution for SQL injection
US20210034752A1 (en) Method and system for dynamic testing with diagnostic assessment of software security vulnerability
Rodrigues et al. Engineering secure web services
Al-Wosabi et al. Framework for software tampering detection in embedded systems
Smith et al. Modeling and verifying security protocols using UML 2
CN105912945A (zh) 一种操作系统安全加固装置及运行方法
Feng et al. DeFi Auditing: Mechanisms, Effectiveness, and User Perceptions
Badih et al. Crypto-jacking threat detection based on blockchain framework and deception techniques
Garcia-Alfaro et al. Security and Privacy in Communication Networks: 17th EAI International Conference, SecureComm 2021, Virtual Event, September 6–9, 2021, Proceedings, Part II

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