CN112800428B - 一种终端设备的安全状态判断方法及装置 - Google Patents
一种终端设备的安全状态判断方法及装置 Download PDFInfo
- Publication number
- CN112800428B CN112800428B CN202110053180.XA CN202110053180A CN112800428B CN 112800428 B CN112800428 B CN 112800428B CN 202110053180 A CN202110053180 A CN 202110053180A CN 112800428 B CN112800428 B CN 112800428B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- terminal equipment
- training
- target terminal
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种终端设备的安全状态判断方法及装置,其中方法为:目标终端设备获取未知威胁的待判断状态数据;所述目标终端设备将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种终端设备的安全状态判断方法及装置。
背景技术
终端设备涉及许多应用场景。举例来说,***支付的比例逐渐增加,越来越多的终端设备参与到移动支付中。终端设备的状态数据能够反应出当前终端设备的安全状态,所以可通过采集终端设备的状态数据的方法来判定终端设备的安全状态。
目前的方案中,终端设备的已知威胁可以按照相应的安全判断模型检验是否安全,如针对篡改文件的攻击手段,可以通过文件变更的安全判断模型判断终端设备是否安全。然而,对于不确定的攻击手段的未知威胁检测较为局限。目前终端设备的未知威胁检测,是通过大数据统计判断来实现的。目前是先将终端设备的状态数据采集,然后统一传递给服务端,这样以来服务端采集大量的终端设备的状态数据后,才能形成大数据统计,进而进行安全状态判断。然而,服务端获取到大量终端设备的状态数据后,难以保证这些终端设备的状态数据不被滥用。因此,如何在保证终端设备的状态数据隐私安全的情况下,对终端设备的安全状态进行判断便成为了难题。
发明内容
本发明提供一种终端设备的安全状态判断方法及装置,解决了现有技术中如何在保证终端设备的状态数据隐私安全的情况下,对终端设备的安全状态进行判断的问题。
第一方面,本发明提供一种终端设备的安全状态判断方法,包括:
目标终端设备获取未知威胁的待判断状态数据;所述目标终端设备为多个终端设备的任一终端设备;
所述目标终端设备将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数。
上述方式下,所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的,且在任一轮机器学习训练中,任一终端设备只将该轮机器学习训练的本地训练参数发送至服务端,并由服务端将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,从而对使得所述多个终端设备基于所述融合训练参数更新,在该过程中并不需要传递所述多个终端设备的状态数据,所以也不会泄露状态数据的隐私,而每一轮的融合训练参数又都考虑了每个终端设备的本地训练参数,所以也保证第一安全状态判断模型的精确性,因此,目标终端设备获取未知威胁的待判断状态数据后,将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,便可以直接获得所述第一安全状态判断模型输出的第一判断结果,也不需要将待判断状态数据上传至服务端,从而在保证终端设备的状态数据隐私安全的情况下,实现了对终端设备的安全状态的判断。
可选的,所述目标终端设备按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
所述目标终端设备获取所述目标终端设备的未知威胁的无标签数据;
所述目标终端设备基于所述无标签数据获取所述标签化数据。
上述方法中,获取所述目标终端设备的未知威胁的无标签数据后,再基于所述无标签数据获取所述标签化数据,到转换为无标签数据,保留了未知威胁的无标签数据的特性。
可选的,所述目标终端设备基于所述无标签数据获取所述标签化数据,包括:
所述目标终端设备将所述无标签数据输入至已知威胁的至少一个第二安全状态判断模型,获得所述至少一个第二安全状态判断模型输出的至少一个第二判断结果;
所述目标终端设备根据所述至少一个第二判断结果,确定所述无标签数据的标签值,从而将所述无标签数据转换为所述标签化数据。
上述方法中,通过所述至少一个第二安全状态判断模型得到至少一个第二判断结果,从而可以发现相应已知威胁的特性,更准确地得到标签化数据。
可选的,所述目标终端设备基于所述无标签数据获取所述标签化数据,包括:
所述目标终端设备基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据;所述第一簇聚类数据的数据量小于所述第二簇聚类数据的数据量;
所述目标终端设备将所述第一簇聚类数据的标签值设置为第一标签值,将所述第二簇聚类数据的标签值设置为第二标签值,从而将所述无标签数据转换为所述标签化数据;所述第一标签值表征数据为不安全数据,所述第二标签值表征数据为安全数据。
上述方式下,所述目标终端设备基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据,从而根据簇聚类数据的数据量自适应地区分出安全数据和不安全数据,并打上标签,提供了一种自动化设置标签的方法。
可选的,所述目标终端设备按照以下方式获得所述第一安全状态判断模型:
在任一轮机器学习训练中,所述目标终端设备基于所述未知威胁的标签化数据和安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数;
所述目标终端设备将所述第二本地训练参数发送至所述服务端;
所述目标终端设备获得来自所述服务端的融合训练参数;所述融合训练参数是所述服务端基于所述多个终端设备发送的本地训练参数得到的;
若所述安全状态训练模型不满足预设收敛条件,则所述目标终端设备将所述融合训练参数重新作为所述第一本地训练参数,返回所述目标终端设备基于所述未知威胁的标签化数据和所述安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数的步骤;
若所述安全状态训练模型满足所述预设收敛条件,则所述目标终端设备将所述融合训练参数作为所述安全状态训练模型的模型参数,将此时的所述安全状态训练模型作为所述第一安全状态判断模型。
可选的,所述获得所述第一安全状态判断模型输出的第一判断结果之后,还包括:
所述目标终端设备将所述第一判断结果发送至所述服务端。
可选的,所述多个终端设备未知威胁的标签化数据均具有相同的数据特征维度。
第二方面,本发明提供一种终端设备的安全状态判断装置,包括:
获取模块,用于获取目标终端设备的未知威胁的待判断状态数据;所述目标终端设备为多个终端设备的任一终端设备;
处理模块,用于将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数。
可选的,所述获取模块按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
获取所述目标终端设备的未知威胁的无标签数据;
基于所述无标签数据获取所述标签化数据。
可选的,所述获取模块具体用于:
将所述无标签数据输入至已知威胁的至少一个第二安全状态判断模型,获得所述至少一个第二安全状态判断模型输出的至少一个第二判断结果;
根据所述至少一个第二判断结果,确定所述无标签数据的标签值,从而将所述无标签数据转换为所述标签化数据。
可选的,所述获取模块具体用于:基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据;所述第一簇聚类数据的数据量小于所述第二簇聚类数据的数据量;
将所述第一簇聚类数据的标签值设置为第一标签值,将所述第二簇聚类数据的标签值设置为第二标签值,从而将所述无标签数据转换为所述标签化数据;所述第一标签值表征数据为不安全数据,所述第二标签值表征数据为安全数据。
可选的,所述获取模块按照以下方式获得所述第一安全状态判断模型:
在任一轮机器学习训练中,基于所述未知威胁的标签化数据和安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数;将所述第二本地训练参数发送至所述服务端;获得来自所述服务端的融合训练参数;所述融合训练参数是所述服务端基于所述多个终端设备发送的本地训练参数得到的;
若所述安全状态训练模型不满足预设收敛条件,则将所述融合训练参数重新作为所述第一本地训练参数,返回基于所述未知威胁的标签化数据和所述安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数的步骤;
若所述安全状态训练模型满足所述预设收敛条件,则将所述融合训练参数作为所述安全状态训练模型的模型参数,将此时的所述安全状态训练模型作为所述第一安全状态判断模型。
可选的,所述获取模块还用于:将所述第一判断结果发送至所述服务端。
可选的,所述多个终端设备未知威胁的标签化数据均具有相同的数据特征维度。
上述第二方面及第二方面各个可选装置的有益效果,可以参考上述第一方面及第一方面各个可选方法的有益效果,这里不再赘述。
第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种终端设备的安全状态判断方法的步骤流程示意图;
图2为本发明实施例提供的一种终端设备的安全状态判断方法中终端设备的架构示意图;
图3为本发明实施例提供的一种终端设备的安全状态判断方法中所述第一安全状态判断模型的获取示意图;
图4为本发明实施例提供的一种终端设备的安全状态判断方法中云端服务的架构示意图;
图5为本发明实施例提供的一种终端设备的安全状态判断方法对应的具体流程示意图;
图6为本发明实施例提供的一种终端设备的安全状态判断方法中在终端设备的联邦学习的实现示意图;
图7为本发明实施例提供的一种终端设备的安全状态判断方法中在服务器端的联邦学习的实现示意图;
图8为本发明实施例提供的一种终端设备的安全状态判断方法对应的时序步骤示意图;
图9为本发明实施例提供的一种终端设备的安全状态判断装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种终端设备的安全状态判断方法。
步骤101:目标终端设备获取未知威胁的待判断状态数据。
所述目标终端设备为多个终端设备的任一终端设备。
步骤102:所述目标终端设备将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果。
步骤101~步骤102中,举例来说,待判断状态数据可以为CPU状态数据、进程状态数据等。
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数。
需要说明的是,特殊地,所述多个终端设备未知威胁的标签化数据均具有相同的数据特征维度。另外,上述机器学习方法不做限定,如可以采用横向联邦学习。
显然,步骤101~步骤102的方法中,为解决隐私数据的使用问题,保证在所述第一安全状态判断模型的训练时,终端设备的隐私数据不会上传云端,仅仅是在终端设备使用。因此,步骤101~步骤102的方法从技术框架上,便保证了隐私数据不会外泄和恶意使用。
另外上述机器学习方法,在解决隐私数据上传问题的同时,也提供了一种终端设备的未知威胁模型迭代的方法,通常而言未知威胁由于采集数据维度较多,并且目的未知难以被捕捉到。那么步骤101~步骤102的方法下,在解决隐私问题的情况下,可以采集更多维度的数据。并且,通过已知威胁的安全状态判断模型的结果对数据进行标签化,可以将模型的训练本地化,从而不断的训练和迭代终端侧的安全状态判断模型。
需要说明的是,传统方案中,未知威胁检测需要大量的辅助数据,因为既然是未知威胁,就需要更多维度的数据去辅助发现和检测。但是随着隐私保护的逐渐重视,大量隐私数据上传云端的进行使用的方式会越来越难以被接受,所以步骤101~步骤102的方法中,通过上述机器学习方法的引入来解决在终端训练安全状态判断模型的问题,再辅助已知威胁的安全状态判断模型的数据标签化方法,可以使得终端设备安全状态的判断更加的完整。
一种可选实施方式中,所述目标终端设备按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
步骤(1):所述目标终端设备获取所述目标终端设备的未知威胁的无标签数据。
步骤(2):所述目标终端设备基于所述无标签数据获取所述标签化数据。
需要说明的是,步骤(2)中可以采用不同方式对所述无标签数据添加标签,从而获取所述标签化数据。
一种可选实施方式中,步骤(2)具体可以为:
所述目标终端设备将所述无标签数据输入至已知威胁的至少一个第二安全状态判断模型,获得所述至少一个第二安全状态判断模型输出的至少一个第二判断结果;
所述目标终端设备根据所述至少一个第二判断结果,确定所述无标签数据的标签值,从而将所述无标签数据转换为所述标签化数据。
举例来说,所述至少一个第二安全状态判断模型为3个第二安全状态判断模型,这3个第二安全状态判断模型分别用于:检测A方面威胁的第二安全状态判断模型,检测B方面威胁的第二安全状态判断模型,检测C方面威胁的第二安全状态判断模型。
那么对于未知威胁的待判断状态数据,也可能存在A方面威胁、B方面威胁以及C方面威胁,所以通过全面的检测,可以定位出未知威胁是否存在相应方面的威胁。
另一种可选实施方式中,步骤(2)具体可以为:
所述目标终端设备基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据;所述目标终端设备将所述第一簇聚类数据的标签值设置为第一标签值,将所述第二簇聚类数据的标签值设置为第二标签值,从而将所述无标签数据转换为所述标签化数据。
所述第一簇聚类数据的数据量小于所述第二簇聚类数据的数据量;所述第一标签值表征数据为不安全数据,所述第二标签值表征数据为安全数据。
举例来说,所述无标签数据包括100万条数据,在聚类后,得到第二簇聚类数据,包括95万条数据,以及第一簇聚类数据,包括4万条数据,还有1万条为孤立的点;那么基于一个原则,较多的数据正常,少数的数据异常,便判断第二簇聚类数据为安全的数据,则标签值设置为第二标签值,以及判断第一簇聚类数据为安全的数据,则标签值设置为第一标签值。
需要说明的是,在步骤102之后,还可以执行如下步骤:
所述目标终端设备将所述第一判断结果发送至所述服务端。
需要说明的是,目标终端设备为智能支付设备时,其结构如图2所示。
图2为终端设备的***框架图,在终端设备的***上核心功能主要分为数据采集,模型判定,模型学习,数据上传这四个部分。具体如下:
数据采集:数据采集模块主要负责采集终端设备的数据信息。其中包含已知威胁数据和未知威胁数据。已知威胁数据中包括如root检测,hook框架检测,模拟器环境检测等。未知威胁数据为***运行时相关数据,这些数据不能明确判定***的恶意状态,但是当***遭受攻击时,这些数据会产生变化。未知威胁数据更多是从***状态变化的角度反映当前终端设备的安全状态。如CPU状态数据,内存状态数据,进程状态数据等。
模型判定:模型判定模块主要是利用数据采集模块采集的数据进行安全状态的判定。其中包括已知威胁判定模型(即第二安全判断模型)和未知威胁判定模型(即第一安全判断模型)。而未知威胁判定模型是通过机器学习训练出来的,那么还可以冷启动,如图2示出的一个初始模型,这个初始模型是在实验室环境中通过模拟数据模拟出来的。
需要说明的是,以联邦学习为例,上述冷启动的方式如图3所示。
图3描述的是实验室环境训练初始模型的过程。首先,需要针对实际的安全场景模拟出训练数据,其中包含正常的行为数据和异常行为数据。正常行为数据描述的是在什么状态和数据数值下可以认为终端设备是安全的;相反异常行为数据描述的就是在什么样的终端设备数据数值下终端是不安全的。
进一步地,算法工程师会基于对数据的理解创建一个算法模型,将模拟数据输入到算法模型中,再根据结果调校模型,最终会得到一个符合模拟数据结果的初始未知威胁判定模型。这个模型用于终端设备的冷启动。
模型学习:终端设备中另外一个核心的模块是模型学习模块。这个模块负责联邦学习的终端设备部分。联邦学习很重要的一个环节是模型的迭代,迭代的环节当中终端设备的模型训练为后端的学习提供了模型数据。但若采用联邦学习,具体的机器学习算法必须是有监督的学习算法。所以在模型训练时必须提供数据和对应的标签。
在本发明实施例的方案中,数据模块采集大量数据作为未知威胁的数据输入,这些数据可以分为几个维度,如:环境安全数据(WIFI地址信息,基站信息,IP地址信息),硬件安全数据(调试端口使用情况,CPU使用状态,内存使用状态等),流量安全数据(出口流量数据,进口流量数据)和软件安全数据(***进程状态,软件业务数据等)。
而标签化的一种方式是通过已知威胁模块的输出进行标签化,已知威胁的输出是一个分值,这种方式相对简单直观,可以直接对未知威胁数据进行训练。
另外还有一种标签化方式需要对未知威胁的持续发现和运营,相对复杂。首先需要对终端设备未知威胁数据先进行无监督聚类,进而可以区分出数据反映出的问题,再通过安全运营对这些问题划分等级或者人工打分。完成等级划分和人工打分之后,再提供给终端设备进行推理和标签化。以上过程因为使用到终端设备隐私数据,所以可以先在实验室环境完成。
上述两种未知威胁的标签化方式,一种属于短期见效,一种需要长期运营不断优化。可以根据实际情况互相结合使用。
数据上传:数据上传模块最主要的作用在于将终端设备训练的未知威胁判定模型上传到云端,另外终端设备也有部分非隐私或者去隐私的数据需要云端帮忙辅助判定。简单来说数据上传模块是终端设备和云端数据交换的通信模块。
一种可选实施方式中,所述目标终端设备按照以下方式获得所述第一安全状态判断模型:
在任一轮机器学习训练中,执行以下步骤:
步骤(a):所述目标终端设备基于所述未知威胁的标签化数据和安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数。
步骤(b):所述目标终端设备将所述第二本地训练参数发送至所述服务端。
步骤(c):所述目标终端设备获得来自所述服务端的融合训练参数。
所述融合训练参数是所述服务端基于所述多个终端设备发送的本地训练参数得到的。
步骤(d):若所述安全状态训练模型不满足预设收敛条件,则所述目标终端设备将所述融合训练参数重新作为所述第一本地训练参数,返回步骤(a)。
步骤(e):若所述安全状态训练模型满足所述预设收敛条件,则所述目标终端设备将所述融合训练参数作为所述安全状态训练模型的模型参数,将此时的所述安全状态训练模型作为所述第一安全状态判断模型。
上述过程为终端设备内部的训练学习过程。
另一方面,云端服务的框架图也有配合的功能模块,以联邦学习为例,具体如图4所示。
图4是云端服务的框架图。包含几个核心功能模块:云端威胁判定模块,联邦学习模块,数据存储模块,对外接口模块。
云端威胁判定模块:由于大量的数据是在终端设备进行判定和训练的,但是依然有少部分的数据终端设备自身是无法完全判定的,比如公网IP数据。对于部分设备,设备的移动本身就是一个非常严重的安全问题,如智能自动收货柜。所以需要云端监控终端设备的公网IP信息是否有变动。如上所述,虽然本方案中出于隐私保护的原因,大量的数据通过联邦学习在终端设备进行判定和训练,但是依然会有少量数据必须在云端进行判定。所以从方案的完整性角度考虑,在云端必须要有一个云端威胁判定模块,也就是说云端威胁判定模块用于判断终端设备的状态数据之外的数据,如终端设备的网络数据。
联邦学习模块:终端设备的联邦学习模块主要功能是输入终端设备的数据,输出是对于终端设备数据的判定模型。而云端的联邦学习模块就是对于终端设备上传的模型进行训练。这个模块的输入是终端设备上传的模型,输出是对这些输入模型训练后的新模型。云端的联邦学习模块控制着整个联邦学习的流程。终端设备联邦学习模型的训练并不会实时的进行,一是因为实时训练数据量小,不能有很好的效果,二是因为模型训练会消耗较多的***资源。所以一般是选择深夜时间,将一天积累的数据集中训练。所以步骤101~步骤102中联邦学习流程的频率是一天一次。并且在每次联邦学习流程开始前,终端设备需要和云端进行协商确认当前终端设备是否加入本轮的联邦学习流程。云端会根据一定的条件进行筛选,选择足够数量的终端设备参与联邦学习流程。
数据存储模块:终端设备的数据,模型,日志,云端的判定结果都会统一结构化存储到数据库中,当然为了使用数据的方便,可以将热数据备份一份到redis中方便其他模块的存取。数据存储模块提供相关数据给到对外接口模块使用。
对外接口模块:这个模块的主要作用主要是提供给业务使用方。如业务使用方查询终端设备的安全分值,并获取各个安全维度的详细信息。这个模块通过两种方式对外提供数据,一种可以是页面的形式,直接通过页面展示所有终端设备的状态;另一种是API调用的方式,通过API查询的方式获取终端设备的安全分值甚至具体的各个安全维度的信息。
另外云端还有一些常规功能,如终端设备日志监控,终端设备崩溃处理等。
需要说明的是,云端的云端判定模块,常规服务模块,存储模块和对外接口模块可以替换或者删除,不影响整个方案的核心功能。云端最核心的功能在于联邦学习,所以云端框架图最极端情况下可以只包括联邦学习模型。
更具体地,本发明实施例提供的一种终端设备的安全状态判断方法具体过程可以如图5所示。
步骤(5-1):在实验室环境中,算法工程师通过模拟的未知威胁数据理解模型构造出模型算法,并通过模拟的正负样本训练出初始的未知威胁判定模型,这个模型用于终端设备未知威胁判定模型的冷启动。
步骤(5-2):在步骤(5-1)中生成的未知威胁判定初始模型,需要在终端实际上线使用前部署到每一台终端设备中,保证在安全态势感知功能使用时,未知威胁判定模型可以生效。
步骤(5-3):该步骤进入终端安全态势感知的循环处理。在终端设备实际运行时,隔一个固定时间就会采集终端数据进行威胁判定。其中一部分数据用于已知威胁判定。其中已知威胁是指如root手机,hook框架等常见的攻击手段。另外一部分数据会进行未知威胁判定,这里未知威胁的判定模型最开始就是第一步中实验室生成的模型。
步骤(5-4):当到指定时间,并且当前终端被云端选择成为本轮联邦学习流程的终端后,则将当天采集的数据进行处理,训练的数据集是将已知威胁的判定结果作为标签,采集的数据全集作为数据。输入到终端的学习框架中,进行本地未知威胁模型的训练,训练完成后将当天数据进行清除。另外如果当前终端并没有被云端选择成为本轮联邦学习流程的参与终端,则需要立刻将当天存储的数据进行清除处理。
步骤(5-5):当各个参与联邦学习的终端训练完成后,各个终端将本地训练的模型上传云端,云端则需要等待终端的模型上传。其中会出现终端训练失败,或者终端网络断开无法上传的情况。云端获得的终端模型数量如果不满足一个阈值条件,则本轮的联邦学习失败。如果满足阈值条件则启动云端的联邦学习,由云端服务器的联邦学习模块对终端上传的模型进行训练。
步骤(5-6):云端的联邦学习模块往往是在一个独立的硬件环境中进行训练,因为机器学习可能需要CPU的加速。所以真实的联邦学习训练模块和控制逻辑往往是分离的,控制逻辑将终端上传的未知威胁模型输入到联邦学习训练模块中,学习完成后输出一个优化后的未知威胁判定模型。
步骤(5-7):完成云端的联邦学习过程后,云端会将优化后的未知威胁判定模型下发给所有在线的终端设备,终端设备获取到云端下发的更新后的未知威胁判定模型后,将新模型替换原本的旧模型,完成新模型的部署使用。
步骤(5-8):新模型部署完成后,联邦学习模块会进入周期迭代的流程,每天都会将步骤(5-3)~步骤(5-7)循环执行,一直迭代到模型稳定为止。
进一步地,在终端设备的联邦学习的实现示意图,如图6所示。
在手机端,联邦学习的功能以SDK形态实现,和检测模块通过API进行通信,数据采集和终端威胁判定生成的数据会保存在终端建立的一个数据仓库中,联邦学习SDK通过API取用数据仓库中的数据,并有状态与流程控制模块控制终端的训练流程。终端模型训练完成后需要通过通信模块上传到云端服务器,不过在传输前,为保证模型数据的安全性,也需要通过加解密模块进行模型加密。
进一步地,在服务器端的联邦学习的实现示意图,如图7所示。
联邦学习的服务端通过云端的通信模块接收到终端上传的模型数据后,首先通过加解密模块解密模型数据,在进行云端聚合之前,需要通过模型验证模块验证终端模型数据是否正确。最后通过联邦学习聚合模块将终端设备的模型进行聚合训练,生成新的未知威胁判定模型。
所以综合上述过程,终端设备与服务器端联合的步骤流程如图8所示。
步骤(8-1):判断数据仓库中的数据是否有更新,并且确认当前终端设备是否满足启动联邦学习的条件。
步骤(8-2):如果满足启动条件,则终端设备向服务端进行注册,告诉服务端当前终端设备可以进行联邦学习。
步骤(8-3):当云端判断本轮加入联邦学习的终端设备数量满足阈值要求的情况下,云端(服务器端)会通知终端设备启动本轮的联邦学习流程。
步骤(8-4):当终端设备接收到云端启动联邦学习的流程指令时,终端设备的联邦学习模块会读取数据仓库中的数据,并在终端设备进行训练。训练完成后终端设备将本轮训练出的未知威胁判定模型上传到云端。
步骤(8-5):云端在启动联邦学习流程后就会等待终端设备的模型上传,当所有终端设备都已经上传终端设备模型或者超时的情况下终端设备上传的模型数量满足模型聚合的最低要求,则云端会开启模型聚合的过程;否则如果云端等待超时,并且云端收到终端设备回传的模型数量不足以开启模型聚合,则会认为本轮联邦学习失败。
步骤(8-6):如果云端模型聚合顺利结束,则云端会将聚合后的模型下发给所有终端设备,并通知所有终端设备更新和部署新的未知威胁判定模型。至此一轮联邦学习流程结束。
如图9所示,本发明提供一种终端设备的安全状态判断装置,包括:
获取模块901,用于获取目标终端设备的未知威胁的待判断状态数据;所述目标终端设备为多个终端设备的任一终端设备;
处理模块902,用于将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数。
可选的,所述获取模块901按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
获取所述目标终端设备的未知威胁的无标签数据;
基于所述无标签数据获取所述标签化数据。
可选的,所述获取模块901具体用于:
将所述无标签数据输入至已知威胁的至少一个第二安全状态判断模型,获得所述至少一个第二安全状态判断模型输出的至少一个第二判断结果;
根据所述至少一个第二判断结果,确定所述无标签数据的标签值,从而将所述无标签数据转换为所述标签化数据。
可选的,所述获取模块901具体用于:基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据;所述第一簇聚类数据的数据量小于所述第二簇聚类数据的数据量;
将所述第一簇聚类数据的标签值设置为第一标签值,将所述第二簇聚类数据的标签值设置为第二标签值,从而将所述无标签数据转换为所述标签化数据;所述第一标签值表征数据为不安全数据,所述第二标签值表征数据为安全数据。
可选的,所述获取模块901按照以下方式获得所述第一安全状态判断模型:
在任一轮机器学习训练中,基于所述未知威胁的标签化数据和安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数;将所述第二本地训练参数发送至所述服务端;获得来自所述服务端的融合训练参数;所述融合训练参数是所述服务端基于所述多个终端设备发送的本地训练参数得到的;
若所述安全状态训练模型不满足预设收敛条件,则将所述融合训练参数重新作为所述第一本地训练参数,返回基于所述未知威胁的标签化数据和所述安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数的步骤;
若所述安全状态训练模型满足所述预设收敛条件,则将所述融合训练参数作为所述安全状态训练模型的模型参数,将此时的所述安全状态训练模型作为所述第一安全状态判断模型。
可选的,所述获取模块901还用于:将所述第一判断结果发送至所述服务端。
可选的,所述多个终端设备未知威胁的标签化数据均具有相同的数据特征维度。
基于同一发明构思,本发明实施例还提供了一种计算机设备,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的终端设备的安全状态判断方法及任一可选方法被执行。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,包括程序或指令,当所述程序或指令被执行时,如本发明实施例提供的终端设备的安全状态判断方法及任一可选方法被执行。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种终端设备的安全状态判断方法,其特征在于,包括:
目标终端设备获取未知威胁的待判断状态数据;所述目标终端设备为多个终端设备的任一终端设备;
所述目标终端设备在自身内部将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数;
所述目标终端设备按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
所述目标终端设备获取所述目标终端设备的未知威胁的无标签数据;
所述目标终端设备基于所述无标签数据获取所述标签化数据。
2.如权利要求1所述的方法,其特征在于,所述目标终端设备基于所述无标签数据获取所述标签化数据,包括:
所述目标终端设备将所述无标签数据输入至已知威胁的至少一个第二安全状态判断模型,获得所述至少一个第二安全状态判断模型输出的至少一个第二判断结果;
所述目标终端设备根据所述至少一个第二判断结果,确定所述无标签数据的标签值,从而将所述无标签数据转换为所述标签化数据。
3.如权利要求1所述的方法,其特征在于,所述目标终端设备基于所述无标签数据获取所述标签化数据,包括:
所述目标终端设备基于所述无标签数据,按照预设聚类算法,获得所述无标签数据的第一簇聚类数据和第二簇聚类数据;所述第一簇聚类数据的数据量小于所述第二簇聚类数据的数据量;
所述目标终端设备将所述第一簇聚类数据的标签值设置为第一标签值,将所述第二簇聚类数据的标签值设置为第二标签值,从而将所述无标签数据转换为所述标签化数据;所述第一标签值表征数据为不安全数据,所述第二标签值表征数据为安全数据。
4.如权利要求1所述的方法,其特征在于,所述目标终端设备按照以下方式获得所述第一安全状态判断模型:
在任一轮机器学习训练中,所述目标终端设备基于所述未知威胁的标签化数据和安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数;
所述目标终端设备将所述第二本地训练参数发送至所述服务端;
所述目标终端设备获得来自所述服务端的融合训练参数;所述融合训练参数是所述服务端基于所述多个终端设备发送的本地训练参数得到的;
若所述安全状态训练模型不满足预设收敛条件,则所述目标终端设备将所述融合训练参数重新作为所述第一本地训练参数,返回所述目标终端设备基于所述未知威胁的标签化数据和所述安全状态训练模型的第一本地训练参数,获得所述安全状态训练模型的第二本地训练参数的步骤;
若所述安全状态训练模型满足所述预设收敛条件,则所述目标终端设备将所述融合训练参数作为所述安全状态训练模型的模型参数,将此时的所述安全状态训练模型作为所述第一安全状态判断模型。
5.如权利要求1至4任一项所述的方法,其特征在于,所述获得所述第一安全状态判断模型输出的第一判断结果之后,还包括:
所述目标终端设备将所述第一判断结果发送至所述服务端。
6.如权利要求1至4任一项所述的方法,其特征在于,所述多个终端设备未知威胁的标签化数据均具有相同的数据特征维度。
7.一种终端设备的安全状态判断装置,其特征在于,包括:
获取模块,用于获取目标终端设备的未知威胁的待判断状态数据;所述目标终端设备为多个终端设备的任一终端设备;
处理模块,用于在目标终端设备内部将所述待判断状态数据输入至未知威胁的第一安全状态判断模型,获得所述第一安全状态判断模型输出的第一判断结果;
所述第一安全状态判断模型是多个终端设备及服务端基于所述多个终端设备未知威胁的标签化数据进行机器学习训练得到的;其中,在任一轮机器学习训练中,所述多个终端设备中任一终端设备用于将该轮机器学习训练的本地训练参数发送至服务端,所述服务端用于将该轮机器学习训练中所述多个终端设备的本地训练参数融合,获得融合训练参数,并将所述融合训练参数发送至所述多个终端设备,使得所述多个终端设备基于所述融合训练参数更新或作为所述第一安全状态判断模型的模型参数;
所述获取模块按照以下方式获得所述目标终端设备的未知威胁的标签化数据:
获取所述目标终端设备的未知威胁的无标签数据;
基于所述无标签数据获取所述标签化数据。
8.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至6中任意一项所述的方法被执行。
9.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至6中任意一项所述的方法被执行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053180.XA CN112800428B (zh) | 2021-01-15 | 2021-01-15 | 一种终端设备的安全状态判断方法及装置 |
PCT/CN2021/128867 WO2022151815A1 (zh) | 2021-01-15 | 2021-11-05 | 一种终端设备的安全状态判断方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053180.XA CN112800428B (zh) | 2021-01-15 | 2021-01-15 | 一种终端设备的安全状态判断方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800428A CN112800428A (zh) | 2021-05-14 |
CN112800428B true CN112800428B (zh) | 2023-08-01 |
Family
ID=75809522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110053180.XA Active CN112800428B (zh) | 2021-01-15 | 2021-01-15 | 一种终端设备的安全状态判断方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112800428B (zh) |
WO (1) | WO2022151815A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800428B (zh) * | 2021-01-15 | 2023-08-01 | ***股份有限公司 | 一种终端设备的安全状态判断方法及装置 |
CN114064359B (zh) * | 2021-11-12 | 2023-03-31 | 广州泳泳信息科技有限公司 | 一种跨平台多机房分布式数据库备份*** |
CN115329985B (zh) * | 2022-09-07 | 2023-10-27 | 北京邮电大学 | 无人集群智能模型训练方法、装置和电子设备 |
CN117811845B (zh) * | 2024-02-29 | 2024-05-24 | 浪潮电子信息产业股份有限公司 | 威胁检测及模型训练方法、装置、***、电子设备、介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020229684A1 (en) * | 2019-05-16 | 2020-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for federated learning, client classification and training data similarity measurement |
CN112203282A (zh) * | 2020-08-28 | 2021-01-08 | 中国科学院信息工程研究所 | 一种基于联邦迁移学习的5g物联网入侵检测方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970402B2 (en) * | 2018-10-19 | 2021-04-06 | International Business Machines Corporation | Distributed learning preserving model security |
CN110113348A (zh) * | 2019-05-14 | 2019-08-09 | 四川长虹电器股份有限公司 | 一种基于机器学习进行物联网威胁检测的方法 |
CN111310938A (zh) * | 2020-02-10 | 2020-06-19 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN112217626B (zh) * | 2020-08-24 | 2022-11-18 | 中国人民解放军战略支援部队信息工程大学 | 基于情报共享的网络威胁协同防御***及方法 |
CN112070180B (zh) * | 2020-09-30 | 2024-01-19 | 南方电网科学研究院有限责任公司 | 基于信息物理双侧数据的电网设备状态判断方法及装置 |
CN112800428B (zh) * | 2021-01-15 | 2023-08-01 | ***股份有限公司 | 一种终端设备的安全状态判断方法及装置 |
-
2021
- 2021-01-15 CN CN202110053180.XA patent/CN112800428B/zh active Active
- 2021-11-05 WO PCT/CN2021/128867 patent/WO2022151815A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020229684A1 (en) * | 2019-05-16 | 2020-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concepts for federated learning, client classification and training data similarity measurement |
CN112203282A (zh) * | 2020-08-28 | 2021-01-08 | 中国科学院信息工程研究所 | 一种基于联邦迁移学习的5g物联网入侵检测方法及*** |
Non-Patent Citations (1)
Title |
---|
基于联邦学习和卷积神经网络的入侵检测方法;王蓉;马春光;武朋;;信息网络安全(04);第47-54页 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022151815A1 (zh) | 2022-07-21 |
CN112800428A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112800428B (zh) | 一种终端设备的安全状态判断方法及装置 | |
CN109886290B (zh) | 用户请求的检测方法、装置、计算机设备及存储介质 | |
CN108646722A (zh) | 一种工业控制***信息安全仿真模型及终端 | |
KR20190017208A (ko) | 직렬 포트 기반 사이버 보안 취약점 점검 장치 및 그 방법 | |
US20210084058A1 (en) | Machine learning based intrusion detection system for mission critical systems | |
CN104346571A (zh) | 安全漏洞管理方法、***及设备 | |
CN103901847A (zh) | 一种印刷机远程故障监测***及方法 | |
CN113313280B (zh) | 云平台的巡检方法、电子设备及非易失性存储介质 | |
US11620200B2 (en) | System and method for integration testing | |
CN103441990A (zh) | 基于状态融合的协议状态机自动推断方法 | |
CN113568899A (zh) | 基于大数据的数据优化方法及云服务器 | |
US20080072321A1 (en) | System and method for automating network intrusion training | |
CN114070775A (zh) | 面向5g智能网联***的区块链网络切片安全智能优化方法 | |
CN110969082B (zh) | 一种时钟同步测试巡检方法和*** | |
CN117118761A (zh) | 一种贯穿智能汽车信息安全的纵深防御***和方法 | |
CN112436969A (zh) | 一种物联网设备管理方法、***、设备及介质 | |
CN108248641A (zh) | 一种城市轨道交通数据处理方法及装置 | |
Mateen et al. | Software QualityAssurance in Internet of Things | |
CN114528392B (zh) | 一种基于区块链的协同问答模型构建方法、装置及设备 | |
CN106934563A (zh) | 一种基于数据分析的电网设备事故处理决策装置和方法 | |
CN114418092A (zh) | 基于区块链的联邦学习恶意节点甄别方法 | |
CN113992419A (zh) | 一种用户异常行为检测和处理***及其方法 | |
Li et al. | An Empirical Study on GAN‐Based Traffic Congestion Attack Analysis: A Visualized Method | |
CN115080445B (zh) | 一种游戏测试管理方法及其*** | |
CN117539674B (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 |