CN117592037A - 控制方法及装置 - Google Patents

控制方法及装置 Download PDF

Info

Publication number
CN117592037A
CN117592037A CN202311635537.0A CN202311635537A CN117592037A CN 117592037 A CN117592037 A CN 117592037A CN 202311635537 A CN202311635537 A CN 202311635537A CN 117592037 A CN117592037 A CN 117592037A
Authority
CN
China
Prior art keywords
target
data
software
target software
stage
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
CN202311635537.0A
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202311635537.0A priority Critical patent/CN117592037A/zh
Publication of CN117592037A publication Critical patent/CN117592037A/zh
Pending legal-status Critical Current

Links

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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种控制方法及装置,其中,所述方法包括:响应于目标软件进入目标使用阶段,获得对应的待校验数据;其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同;基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态。

Description

控制方法及装置
技术领域
本申请涉及但不限于计算机技术领域,尤其涉及一种控制方法及装置。
背景技术
在计算机软件的下载、安装和运行过程中,都可能遇到被捆绑其他软件或病毒程序的问题,这给用户造成不好的使用体验。
发明内容
有鉴于此,本申请至少提供一种控制方法及装置。
本申请的技术方案是这样实现的:
一方面,本申请提供一种控制方法,所述方法包括:
响应于目标软件进入目标使用阶段,获得对应的待校验数据;
基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态;
其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同。
在一些实施例中,所述响应于目标软件进入目标使用阶段,获得对应的待校验数据,包括以下至少之一:
基于作用于电子设备的输入操作确定目标软件要响应的控制指令,基于所述控制指令控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据;
响应于监测到目标事件,控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据,其中,所述目标事件基于电子设备上的时序和/或数据的更新发生。
在一些实施例中,响应于目标软件进入目标使用阶段,获得对应的待校验数据,包括以下至少之一:
响应于目标软件进入安装阶段,从第一存储区获取对应所述安装阶段的第一待校验数据,所述第一存储区属于或不属于所述电子设备;
响应于目标软件进入非首次启动阶段,从第二存储区获取对应所述非首次启动阶段的第二待校验数据,所述第二存储区包括所述电子设备的数据存储器;
在目标软件进入运行阶段后,每间隔第一时长从第三存储区获取对应所述运行阶段的第三待校验数据,其中,所述第三存储区包括所述电子设备的主存储器。
在一些实施例中,基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态,包括:
基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据;其中,不同的使用阶段下的目标存储区相同或不同;
基于所述目标参考数据对所述待校验数据进行比对校验;
基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态。
在一些实施例中,基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据,包括以下之一:
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据或所述目标软件的安装包的哈希数据作为所述目标参考数据;
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据和目标配置数据,或所述目标软件的安装包的哈希数据和目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备;
如果所述目标软件处于非首次启动阶段,从所述电子设备的芯片存储器中获取所述目标软件在安装后的关键文件或关键文件夹的哈希数据作为所述目标参考数据;
如果所述目标软件处于运行阶段,从所述电子设备的芯片存储器或目标设备的数据存储器中获取所述目标软件的目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备。
在一些实施例中,基于所述目标参考信息对所述待校验数据进行比对校验,包括以下至少之一:
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据进行比对校验,其中,所述第一待校验数据包括所述目标软件的安装包数据;
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据中的第一数据进行第一次比对校验,以及在所述第一次比对校验通过后利用所述目标软件的目标配置数据对对应所述安装阶段的第一待校验数据中的第二数据进行第二次比对校验,其中,所述第一数据包括所述目标软件的安装包数据,所述第二数据包括所述目标软件的至少一项配置数据;
如果所述目标软件处于非首次启动阶段,利用所述目标软件在安装后的关键文件或关键文件夹的哈希数据对对应所述非首次启动阶段的第二待校验数据进行比对校验,其中,所述第二待校验数据包括所述目标软件启动所需的关键文件或关键文件夹;
如果所述目标软件处于运行阶段,每间隔第二时长利用所述目标软件的目标配置数据对对应所述运行阶段的第三待校验数据进行比对校验,其中,所述第三待校验数据包括所述目标软件的至少一项配置数据。
在一些实施例中,基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态,包括以下至少之一:
如果所述结果表征通过对应的比对校验,控制所述目标软件进入到安装成功状态、启动成功状态、维持运行状态中的至少之一;
如果所述比对结果表征未通过对应的比对校验,基于对应的提醒策略控制所述目标软件进入到不可用状态。
在一些实施例中,所述的方法还包括以下至少之一:
响应于获得所述目标软件的更新数据,更新目标存储区的目标参考数据;
响应于电子设备执行启动操作,通过所述电子设备的引导系统监控所述目标软件的更新数据,以及基于监控结果更新或不更新所述目标参考数据。
在一些实施例中,所述的方法还包括:
获得电子设备的运行环境信息和/或使用者信息;
基于所述运行环境信息和/或所述使用者信息控制所述目标软件的使用状态;或,
基于所述运行环境信息和/或所述使用者信息对所述目标软件的使用状态进行更新控制;或,
基于所述运行环境信息和/或所述使用者信息以及所述比对校验结果控制所述目标软件的使用状态。
另一方面,本申请实施例提供一种控制装置,所述装置包括:
第一获取模块,用于响应于目标软件进入目标使用阶段,获得对应的待校验数据;其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同;
第一控制模块,用于基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
图1为本申请提供的一种控制方法的实现流程示意图;
图2为根据本申请提供的控制方法对目标参考数据进行更新的实现流程示意图;
图3为根据本申请提供的控制方法对处于安装阶段的第一软件进行监测的实现流程示意图;
图4为根据本申请提供的控制方法对处于非首次启动阶段的第二软件进行监测的实现流程示意图;
图5为根据本申请提供的控制方法对处于运行阶段的第三软件进行监测的实现流程示意图;
图6为本申请实施例提供的一种控制装置的组成结构示意图;
图7为本申请实施例提供的一种电子设备的硬件实体示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。
用户下载的计算机软件包可能被绑定了其他软件,或者被捆绑了病毒程序,当用户对该软件包进行解压并安装软件时,其上捆绑的其他软件或病毒程序也会被运行,从而给用户造成不好的使用体验。同时,计算机软件被安装之后,也可能被植入各种病毒程序,给软件运行带来不良影响。
另外,在计算机软件安装之前和安装之后,计算机软件的版权信息可能被篡改,计算机软件本身可能遭到破解,这种情况会使软件开发者遭受巨大的经济损失,甚至企业形象受损。
为了解决上述技术问题,相关技术中提出了以下两种解决方案:
方案一,通过壳软件,例如,加密型壳软件或者压缩型壳软件,对软件进行加壳处理,从而保护软件不被非法修改。
当前,针对加壳后的软件,开发了多种脱壳工具及各种逆向分析软件,导致方案一已不能对软件起到保护作用。
方案二,为软件分配内存地址时,通过内存偏移的方式来访问或修改重要数据。
针对方案二,通过多变量的地址偏移计算,可以确定内存偏移的计算公式,进而实现反向推导,破解内存偏移带来的数据修改。
可见,上述方案均是从软件角度、操作系统层面提出的软件保护方法,容易被专业人员破解,并不能较好地维护软件安全。
本申请提供一种控制方法,该方法可以由电子设备的处理器执行。其中,电子设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备数据处理能力的设备。
图1为本申请提供的一种控制方法的实现流程示意图,如图1所示,该方法包括如下步骤S101至步骤S102:
步骤S101,响应于目标软件进入目标使用阶段,获得对应的待校验数据;其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同。
这里,软件是指可以在操作系统中安装并运行的各类系统软件及应用软件。
使用阶段,包括软件对应的各个使用阶段,可以包括以下至少之一:安装阶段、非首次启动阶段以及运行阶段。
待校验数据,是指为了确定软件状态而需要进行合法性校验的数据。
在一些实施例中,待校验数据可以包括以下至少之一:安装包数据、哈希数据、关键配置数据、软件依赖文件及软件安装位置数据。其中,哈希数据是基于软件安装包生成的软件的唯一标识数据;关键配置数据是软件在各个使用阶段涉及的关键信息的数据,例如,游戏软件中的游戏角色的数量数据,等等;软件依赖文件,例如,函数库或者动态链接库(DLL)。
这里,基于目标软件进入的目标使用阶段,确定该目标使用阶段中涉及的待校验数据,例如,软件处于安装阶段,则可能涉及的待校验数据包括软件安装包或安装包的哈希数据以及安装阶段涉及的关键配置数据。
由于软件处于不同使用阶段时,涉及的关键配置数据、软件依赖文件或者安装位置数据不同,因此,在不同使用阶段,目标软件对应的待校验数据至少部分不同。
例如,在安装阶段,待校验数据可以包括软件包的哈希数据,或者软件包的哈希数据及与软件安装相关的关键配置数据;在软件的非首次启动阶段,待校验数据可以包括软件依赖文件(例如,DLL文件)和软件安装位置数据;在软件的运行阶段,待校验数据可以包括与软件运行相关的关键配置数据,在具有软件补丁文件的情况下,还可以包括软件补丁数据。
步骤S102,基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态。
这里,目标参考数据,是指预存储的与所述待校验数据对应的数据。例如,在确定待校验数据包括目标软件的哈希数据的情况,目标参考数据包括目标软件的参考哈希数据;在确定待校验数据包括目标软件的关键配置数据的情况,目标参考数据包括目标软件的预存储的参考关键配置数据。
在一些实施例中,目标参考数据的存储位置可以属于或不属于运行本申请提供的控制方法的电子设备。
在目标参考数据的存储位置属于运行本申请提供的控制方法的电子设备的情况下,目标参考数据可以存储在电子设备的基本输入输出系统(Basic Input OutputSystem,BIOS)中的串行外设接口芯片(Serial Peripheral Interface ROM,SPI ROM)中,嵌入式控制器(Embedded Controller,EC)芯片中,可信平台模块芯片(Trusted PlatformModule,TPM)中,或者基板管理控制器(baseboard management controller,BMC)芯片中,等等。
在目标参考数据的存储位置不属于运行本申请提供的控制方法的电子设备的情况下,目标参考数据可以存储在例如云端设备,U盘,或者与所述电子设备处于同一边缘网络的目标边缘设备中。
这里,对待校验数据与对应的目标参考数据进行比对,以判断待校验数据是否与目标参考数据相同。若待校验数据与目标参考数据相同,则说明在目标使用阶段中目标软件是合法的;若待校验数据与目标参考数据不同,则说明在目标使用阶段中目标软件是不合法的。这里,目标软件的合法与否,是指目标软件对应的哈希数据、关键配置数据、依赖包数据和/或存储位置数据,是否被篡改或删除。
控制目标软件的使用状态,是指基于比对结果,确定目标软件从目标使用阶段进入的使用状态。例如,在目标使用阶段为安装阶段的情况,基于比对结果,可以控制目标软件进入的使用状态可以包括以下之一:安装成功状态、禁止安装状态及删除软件包状态;在目标使用阶段为非首次启动阶段的情况下,基于比对结果,可以控制目标软件进入的使用状态可以包括以下之一:启动成功状态、禁止启动状态及卸载状态;目标使用阶段为运行阶段的情况下,基于比对结果,可以控制目标软件进入的使用状态可以包括以下之一:继续运行状态、停止运行状态及卸载状态。
本申请实施例提供的控制方法中,首先,通过比对目标软件在目标使用阶段对应的待校验数据与对应的预存储目标参考数据,可以确定目标软件在目标使用阶段是否处于合法状态;然后,基于比对结果,控制目标软件的使用状态,即,基于目标软件在目标使用阶段是否是合法状态,来确定目标软件从目标使用阶段进入的使用状态,从而可以在确定目标软件合法或不合法之后,进一步执行相应的控制,对用户的电子设备起到保护作用,提升用户的使用体验。
在一些实施例中,上述步骤S101可以实现为以下步骤S1011至步骤S1012中的至少之一:
步骤S1011,基于作用于电子设备的输入操作确定目标软件要响应的控制指令,基于所述控制指令控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据。
这里,电子设备,可以包括运行本申请提供的控制方法的电子设备(以下简称为“第一电子设备”),还可以包括与第一电子设备通信连接的其他终端设备(以下简称为“第二电子设备”)。
控制指令,可以包括软件安装指令、软件启动指令、维持软件运行状态的指令或者类似指令。
在所述电子设备包括第一电子设备的情况下,通过在第一电子设备上接收的输入操作,确定运行在第一电子设备上的目标软件所要响应的控制指令。
在所述电子设备包括第二电子设备的情况下,通过在第二电子设备上接收的输入操作,确定运行在第一电子设备上的目标软件所要响应的控制指令。例如,在投屏场景、会议场景、外接扩展场景下,可以响应于第二电子设备上的输入操作,控制第一电子设备进行软件下载、软件安装或者软件启动等。又例如,可以在第二电子设备上输入控制指令,以打开第二电子设备上安装的软件,同时将该该软件运行在第一电子设备上。
在一些实施例中,作用于所述电子设备上的输入操作可以是鼠标输入操作、键盘输入操作、触摸键输入操作、语音输入操作及手势输入操作中的任一种或多种。
在确定控制指令之后,基于该控制指令控制目标软件进入对应的目标使用阶段,例如,软件安装阶段、非首次启动阶段或运行阶段。
响应于目标软件进入目标使用阶段,获得对应的待校验数据。不同使用阶段可以包含的待校验数据如上文所述,此处不再赘述。
步骤S1012,响应于监测到目标事件,控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据,其中,所述目标事件基于电子设备上的时序和/或数据的更新发生。
这里,目标事件,是指触发目标软件进入指定使用阶段的事件。
在一些实施例中,目标事件可以包括:时序更新事件,例如,目标软件运行时间达到预定的时长或者到达预定的时间节点或预定的时刻,或者达到预设的软件启动时间,等等;数据更新事件,例如,软件安装包下载成功或拷贝成功、软件更新包下载成功、软件更新包更新完成;等等。
在一些实施例中,可以通过第一电子设备内置的计时器判断时序更新事件,还可以通过第一电子设备之外的计时器判断时序更新事件。
在一些实施例中,可以通过第一电子设备的存储器的主控芯片检测上述数据更新事件。
上述实施例中,通过响应于输入操作或者检测的目标事件,控制目标软件进入目标使用阶段并获得对应的待校验数据,而不需要用户人工启动监控程序,从而实现了对软件的自动监控。
在一些实施例中,上述步骤S101可以实现为以下步骤S1013至步骤S1015中的至少之一:
步骤S1013,响应于目标软件进入安装阶段,从第一存储区获取对应所述安装阶段的第一待校验数据,所述第一存储区属于或不属于所述电子设备。
在一些实施例中,在第一存储区域属于电子设备的情况下,第一存储区域可以是电子设备的内存或主存储器,也可以是固态硬盘(Solid State Drive,SSD),或者机械硬盘(Hard Disk Driver,HDD)。
在第一存储区域包括内存或主存储器的情况下,例如,可以通过内存读取工具从内存读取目标软件安装时涉及的关键配置数据,还可以从内存读取基于目标软件计算的目标软件对应的哈希数据,等等。
在第一存储区域包括SSD或HDD的情况下,目标软件安装过程中,将与软件安装相关的关键值数据或者软件依赖包数据等存储到SSD或者HDD。此时,可以从SSD或HDD读取上述待校验数据。
在一些实施例中,在第一存储区域不属于所述电子设备的情况下,第一存储区域可以是云端设备或者与所述电子设备属于同一边缘网络环境的目标边缘设备。
这里,在第一存储区域包括云端设备或目标边缘设备的情况下,目标软件安装过程中,将与软件安装相关的关键配置数据或者软件依赖包数据等存储到云端设备或目标边缘设备。此时,可以从该云端设备或者目标边缘设备读取上述待校验数据。
步骤S1014,响应于目标软件进入非首次启动阶段,从第二存储区获取对应所述非首次启动阶段的第二待校验数据,所述第二存储区包括所述电子设备的数据存储器。
在一些实施例中,第二存储区域可以包括电子设备的数据存储器,例如,电子设备的内存或主存储器,或者电子设备的SSD或HDD。
在第二存储设备包括内存或主存储器的情况下,例如,可以通过内存读取工具从内存读取目标软件启动时涉及的关键配置数据,等等。
在第二存储区域包括SSD或HDD的情况下,目标软件启动过程中,从SSD或者HDD中读取与软件启动相关的软件安装位置数据及软件依赖包文件,等等。
这里,由于目标软件已经完成安装,可以不再校验目标软件的哈希数据,因此,第二待校验数据可以包括软件的关键配置数据、安装位置数据、软件依赖包文件,等等。
步骤S1015,在目标软件进入运行阶段后,每间隔第一时长从第三存储区获取对应所述运行阶段的第三待校验数据,其中,所述第三存储区包括所述电子设备的主存储器。
这里,由于进入软件运行阶段后,已对目标软件的哈希数据、安装位置数据及软件依赖包数据完成校验,因此,第三校验数据可以包括与软件运行相关的关键配置数据。
第三存储区域包括电子设备的主存储器或内存,即,软件运行过程中,将与软件运行相关的关键配置数据写入内存。
在一些实施例中,利用内存读取工具从第三存储区域读取第三待校验数据。
本实施例中,在软件运行阶段,每间隔第一时长从第三存储区域读取第三待校验数据,可以周期性地对软件运行期间的安全性进行监测。这里,第一时长可以基于目标软件的类型设定,例如,针对安全级别较高的软件设置较短的第一时长,针对安全级别较低的软件设置较长的第一时长;同时,第一时长也可以由用户根据使用习惯进行自主设置。
在一些实施例中,上述步骤S102可以通过以下步骤S1021至步骤S1023实现:
步骤S1021,基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据;其中,不同的使用阶段下的目标存储区相同或不同。
这里,目标存储区域,是指用于存储与目标软件在目标使用阶段的待校验数据对应的参考数据的区域。
在一些实施例中,目标存储区域属于或不属于电子设备。
在目标存储区域属于电子设备的情况下,目标存储区域可以包括电子设备的EC芯片存储器、BIOS中的SPI ROM、BMC芯片存储器、TPM芯片存储器等芯片。
在目标存储区域属于电子设备的情况下,目标存储区域可以包括云端设备中的存储器、目标边缘设备中的存储器或U盘,等等。
这里,在不同的使用阶段下,用于获取对应的目标参考数据的目标存储区域相同或不同。
步骤S1022,基于所述目标参考数据对所述待校验数据进行比对校验。
在一些实施例中,基于目标参考数据对待校验数据进行比对校验,可以包括比对至少一个待校验数据与对应的目标参考数据是否相同或相匹配。
例如,比对待校验的哈希数据与目标参考哈希数据是否相同;比对待校验的关键配置数据与目标参考关键配置数据是否相同或相匹配;比对软件安装位置与目标参考安装位置是否相同;等等。
步骤S1023,基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态。
这里,在比对校验结果显示待校验数据与目标参考数据相同或相匹配的情况下,控制目标软件处于可用状态;在比对校验结果显示待校验数据与目标参考数据不同或不匹配的情况下,控制目标软件处于不可用状态。
这里,可用状态和不可用状态,例如,在安装阶段,目标软件的可用状态是指可以被安装状态,不可用状态为禁止安装状态;在非首次启动阶段,目标软件的可用状态为可以被启动状态,不可用状态为禁止启动、删除或卸载状态;在运行阶段,目标软件的可用状态为可以继续运行状态,不可用状态为停止运行、删除或卸载状态。
在一些实施例中,上述步骤S1021可以实现为以下步骤S1024至步骤S1027之一:
步骤S1024,如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据或所述目标软件的安装包的哈希数据作为所述目标参考数据。
这里,电子设备的芯片存储器,可以包括电子设备的EC芯片存储器、BMC芯片存储器、BIOS的SPI ROM及TPM芯片存储器,等等。
目标设备的数据存储器,可以包括云端设备的数据存储器、与电子设备处于同一边缘网络的目标边缘设备的数据存储器、U盘、SSD或文件存储系统,等等。
步骤S1025,如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据和目标配置数据,或所述目标软件的安装包的哈希数据和目标配置数据,以作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备。
这里,电子设备的芯片存储器,可以包括电子设备的EC芯片存储器、BMC芯片存储器、BIOS的SPI ROM及TPM芯片存储器,等等。
在目标设备包括提供目标软件的设备的情况下,该目标设备可以是目标软件发布者用于发布和存储目标软件的服务器设备。
在目标设备包括与所述电子设备之间建立目标连接的设备的情况下,目标设备可以包括云端设备、与电子设备处于同一边缘网络的目标边缘设备或U盘,等等。
配置数据,是针对目标软件的中的特定变量进行的参数配置数据。在一些实施例中,目标配置数据可以是目标软件的出厂配置数据,也可以是经用户配置后标记为可信配置数据的数据。在一些实施例,目标配置数据可以包括出厂配置权限信息、分辨率信息、渲染数据信息,等等。
步骤S1026,如果所述目标软件处于非首次启动阶段,从所述电子设备的芯片存储器中获取所述目标软件在安装后的关键文件或关键文件夹的哈希数据作为所述目标参考数据。
这里,电子设备的芯片存储器,可以包括电子设备的EC芯片存储器、BMC芯片存储器、BIOS的SPI ROM及TPM芯片存储器,等等。
关键文件或关键文件夹,是指运行目标软件的必要文件或文件夹。在一些实施例中,关键文件或关键文件夹可以包括目标软件的依赖文件,例如,DLL文件,还可以包括目标软件的安装位置文件。
步骤S1027,如果所述目标软件处于运行阶段,从所述电子设备的芯片存储器或目标设备的数据存储器中获取所述目标软件的目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备。
这里,电子设备的芯片存储器,可以包括电子设备的EC芯片存储器、BMC芯片存储器、BIOS的SPI ROM及TPM芯片存储器,等等。
在目标设备包括提供目标软件的设备的情况下,该目标设备可以是目标软件发布者用于发布和存储目标软件的服务器设备。
在目标设备包括与所述电子设备之间建立目标连接的设备的情况下,目标设备可以包括云端设备、与电子设备处于同一边缘网络的目标边缘设备或U盘,等等。
配置数据,是针对目标软件的关键运行数据,或特定变量的参数配置数据。在一些实施例中,目标配置数据可以是目标软件的出厂配置数据,也可以是经用户配置后标记为可信配置数据的数据。在一些实施例,目标配置数据可以包括出厂配置权限信息、分辨率信息、渲染数据信息,等等。在一些实施例中,目标配置数据还可以包括对目标软件的更新的漏洞数据的补丁、更新数据包、漏洞补丁或更新数据包的哈希数据,等等。
在一些实施例中,上述步骤S1022可以实现为以下步骤S1028至步骤S10211中的至少之一:
步骤S1028,如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据进行比对校验,其中,所述第一待校验数据包括所述目标软件的安装包数据。
这里,在利用获取的目标软件的安装包数据与第一待校验数据中的目标软件的安装包数据进行比对校验时,可以先分别计算获取的目标软件的安装包数据对应的哈希数据与第一待校验数据中的目标软件安装包数据的哈希数据,然后对计算得到的两个哈希数据进行比对校验。
在利用获取的目标软件的安装包的哈希数据与第一待校验数据中的目标软件的安装包数据进行比对校验时,可以先计算第一待校验数据中的目标软件安装包数据的哈希数据,然后对获取的目标软件的安装包的哈希数据与计算得到的哈希数据进行比对校验。
步骤S1029,如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据中的第一数据进行第一次比对校验,以及在所述第一次比对校验通过后利用所述目标软件的目标配置数据对对应所述安装阶段的第一待校验数据中的第二数据进行第二次比对校验,其中,所述第一数据包括所述目标软件的安装包数据,所述第二数据包括所述目标软件的至少一项配置数据。
这里,在目标软件处于安装阶段时,执行两次比对校验:第一次比对校验用于校验安装包数据,即,基于获取的目标软件的安装包数据或其哈希数据,对第一待校验数据中的待校验的安装包数据或其哈希数据进行校验;在第一次比对校验通过后,执行第二次比对校验;第二次比对校验用于校验与目标软件的安装阶段相关的关键配置数据,即,基于获取的目标软件的目标配置数据,对第一待校验数据中的目标软件的至少一个配置数据进行校验。
这样,在安装阶段,先对待校验数据中的目标软件的安装包数据进行校验,可以先确定目标软件的版本或文件信息是否与目标参考信息相同或相匹配;在通过第一次比对校验的情况下,再进一步对待校验数据中的至少一个配置数据进行比对校验,可以实现对目标软件的递进式校验,使校验过程更加合理。
步骤S10210,如果所述目标软件处于非首次启动阶段,利用所述目标软件在安装后的关键文件或关键文件夹的哈希数据对对应所述非首次启动阶段的第二待校验数据进行比对校验,其中,所述第二待校验数据包括所述目标软件启动所需的关键文件或关键文件夹。
这里,关键文件或关键文件夹的哈希数据,可以是目标软件在非首次启动阶段涉及的软件依赖文件(例如,DLL文件),或者目标软件的安装位置数据。
在目标软件处于非首次启动阶段的情况下,已通过对目标软件的安装包或其哈希数据,以及与安装阶段相关的配置数据的比对校验,在目标软件的非首次启动阶段,比对校验与目标软件的启动所需的关键文件或关键文件夹的哈希数据即可。
步骤S10211,如果所述目标软件处于运行阶段,每间隔第二时长利用所述目标软件的目标配置数据对对应所述运行阶段的第三待校验数据进行比对校验,其中,所述第三待校验数据包括所述目标软件的至少一项配置数据。
这里,配置数据是与目标软件的运行过程相关的关键数据。
在一些实施例中,目标软件的运行过程中,会随着目标软件的运行过程而将相关的配置数据逐渐写入内存或主存储器。此时,可以通过内存读取程序读取这些配置数据作为第三待校验数据。
这里,每间隔第二时长,利用获取的目标软件的目标配置数据对第三待校验数据中的至少一项配置数据进行校验,可以对不断更新的待校验数据进行周期性校验。
在一些实施例中,第二时长可以是系统默认设置的时长,也可以是用户在引导系统选项中自主设置的。
在一些实施例中,可以基于软件的类型或者安全等级设置对应的第二时长。例如,针对安全等级较高的软件,设置相对较短的第二时长,以实现对高频监测;针对安全等级较低的软件,设置相对较长的第二时长。
在一些实施例中,第二时长等于或小于第一时长,其中,第一时长表征在目标软件进入运行阶段后每间隔第一时长从第三存储区域获取第三待校验数据。
在一些实施例中,上述步骤S1023可以实现为以下步骤S10212至步骤S10213中的至少之一:
步骤S10212,如果所述比对结果表征通过对应的比对校验,控制所述目标软件进入到安装成功状态、启动成功状态、维持运行状态中的至少之一。
这里,比对结果表征通过对应的比对校验,表征目标软件在安装、启动或运行过程中待校验数据与目标参考数据相同或相匹配。
在目标使用阶段为安装阶段时,若比对结果表征通过对应的比对校验,则控制目标软件进入到安装成功状态;
在目标使用阶段为非首期启动阶段时,若比对结果表征通过对应的比对校验,则控制目标软件进入到启动成功状态;
在目标使用阶段为运行阶段时,若比对结果表征通过对应的比对校验,则控制目标软件进入到维持运行状态。
步骤S10213,如果所述结果表征未通过对应的比对校验,基于对应的提醒策略控制所述目标软件进入到不可用状态。
这里,比对结果表征未通过对应的比对校验,表征目标软件在安装、启动或运行过程中待校验数据与目标参考数据不同或不匹配。
不可用状态包括以下至少之一:安装失败状态、启动失败状态、关闭状态、卸载状态及删除状态。
提醒策略,是在比对结果表征未通过对应的比对校验的情况下,针对目标软件执行的控制策略。
在一些实施例中,基于软件类型,为每一软件设置对应的提醒策略;或者,针对每一软件,在不同使用阶段比对校验未通过的情况,为每一使用阶段设置对应的提醒策略;或者,针对每一软件,针对不同待校验数据未通过比对校验的情况,设置不同的提醒策略。
在一些实施例中,提醒策略可以包括以下之一:强提醒、提醒及不提醒。
在强提醒情况下,控制目标软件进入关闭状态、卸载状态及删除状态;同时显示输出强提醒信息,以提醒用户进行杀毒操作等。
在提醒情况下,显示输出提醒信息,以提醒用户目标软件处于不安全状态,由用户基于提醒信息确认是否控制目标软件进入关闭状态、卸载状态或删除状态。
在一些实施例中,在不提醒情况下,继续安装、启动或运行目标软件。
在一些实施例中,在不提醒情况下,控制目标软件进入安装失败状态、启动失败状态、关闭状态。
上述实施例中,通过在比对结果表征未通过对应的比对校验的情况下,基于对应的控制策略控制目标软件进入到对应的状态,从而可以在目标软件不安全或不合法时,对目标软件自动执行对应的控制策略,实现了对软件的智能化管理。
在一些实施例中,本申请提出的控制方法还包括以下步骤S103至步骤S104中的至少之一:
步骤S103,响应于获得所述目标软件的更新数据,更新目标存储区的目标参考数据。
在一些实施例中,目标软件的更新数据,可以是指目标软件的发布者发布的目标软件的安装包更新数据、漏洞数据、补丁数据,等等;也可以是用户对目标软件的配置数据更新更新后确定的更新数据。
在一些实施例中,可以从目标软件的发布者用于发布和存储与目标软件相关的数据的服务器设备获取目标软件的更新数据;也可以通过目标通信连接从目标边缘设备、U盘或云端设备,获取目标软件的更新数据。
在一些实施例中,可以利用目标软件的更新数据对目标存储区的目标参考数据进行修改或删除。
步骤S104,响应于电子设备执行启动操作,通过所述电子设备的引导系统监控所述目标软件的更新数据,以及基于监控结果更新或不更新所述目标参考数据。
这里,在电子设备执行启动操作时,当引导系统确认与用于存储更新数据的目标设备建立网络连接时,引导系统从目标设备确认是否存在目标软件的更新数据。若存在目标软件的更新数据,则对该更新数据进行下载并更新对应的目标参考数据;若不存在目标软件的更新数据,则不更新目标参考数据。
在本实施例中,通过引导系统对目标参考数据进行更新或不更新操作,可以及时获得与目标软件相关的参考数据,以提高对目标软件的监控结果的准确性。
下面,结合图2,对引导系统对存储在BIOS芯片中的目标参考数据进行更新操作的实施例进行详细说明。如图2所示,利用引导系统更新存储在BIOS芯片中的目标参考数据的流程包括以下步骤S201至步骤S208:
步骤S201,引导系统启动;之后,执行步骤S202;
步骤S202,判断是否存在网络连接;若否,执行步骤S208;若是,执行步骤S203;
步骤S203,通过网络连接到云端服务器;之后,执行步骤S204;
步骤S204,判断云端服务器中是否存储有软件包更新数据;若是,执行步骤S205;若否,执行步骤S206;
步骤S205,下载软件包更新数据,并利用软件包更新数据对BIOS芯片中存储的目标参考数据中的软件包数据进行更新;之后,执行步骤S206;
步骤S206,判断是否存在软件配置更新数据;若是,执行步骤S207;若否,执行步骤S208;
步骤S207,下载软件配置更新数据,并利用软件配置更新数据对BIOS芯片中存储的目标参考数据中对应的软件配置数据进行更新;之后,执行步骤S208;
步骤S208,进入操作系统。
通过上述实施例可知,本申请提供的控制方法可以对目标参考数据进行自动更新,而不需要用户手动更新;同时,基于更新后的目标参考数据对待校验数据进行比对校验,可以是比对校验结果更可靠、更准确,从而提升用户的使用体验。
在一些实施例中,本申请提供的控制方法还包括以下步骤S105至步骤S106,步骤S105与步骤S107,步骤S105与步骤S108中的至少之一:
步骤S105,获得电子设备的运行环境信息和/或使用者信息。
这里,运行环境信息,是指电子设备当前所处的网络环境。
例如,运行环境信息可以包括运行在公共网络环境及私人网络环境,等等;还可以包括电子设备运行在指定区域的网络环境中,等等。
这里,相对于运行在公共网络环境下,当电子设备运行在私人网络环境下时的安全性或隐私性更高。
使用者信息,是指电子设备的当前使用的用户类型。
例如,当前使用者是否为授权用户,或当前使用者是否具有安装或运行目标软件的权限,等等。
步骤S106,基于所述运行环境信息和/或所述使用者信息控制所述目标软件的使用状态。
这里,可以根据运行环境信息确定运行环境类型,基于运行环境类型控制目标软件的使用状态。
在一些实施例中,当运行环境类型为私人网络时,控制目标软件进入可用状态;当运行环境类型为公共网络时,控制目标软件进入不可用状态。
同时,可以根据使用者信息确定使用者权限,基于使用者权限控制目标软件的使用状态。
在一些实施例中,当使用者权限表征使用者为授权用户时,控制目标软件进入可用状态;当使用者权限表征使用者为未授权用户时,控制目标软件进入不可用状态。
步骤S107,基于所述运行环境信息和/或所述使用者信息对所述目标软件的使用状态进行更新控制。
这里,在基于比对校验结果,确定目标软件的使用状态之后,基于电子设备的运行环境信息和/或使用者信息对目标软件的使用状态进行更新。
例如,在基于比对校验结果,确定控制目标软件处于可用状态之后,基于电子设备的运行环境信息和/或使用者信息,确定电子设备的运行环境为公共网络环境(即,安全等级较低)和/或当前使用者为未授权用户,则将目标软件的使用状态更新为不可用状态。
步骤S108,基于所述运行环境信息和/或所述使用者信息以及所述比对校验结果控制所述目标软件的使用状态。
这里,同时基于电子设备的运行环境信息和/或使用者信息,以及比对校验结果,确定目标软件的使用状态。
例如,在电子设备的运行环境信息为公共网络环境(即,安全等级较低)、使用者为未授权用户,或者比对校验结果为未通过时,将目标软件的使用状态确定为不可用;
在电子设备的运行环境信息为私人网络环境(即,安全等级较高)、使用者为授权用户,且比对校验结果为通过时,将目标软件的使用状态确定为可用;
在比对校验结果为通过,且电子设备的运行环境信息为私人网络环境(即,安全等级较高)或者使用者为授权用户时,将目标软件的使用状态确定为可用。
上述实施例中,在确定目标软件的使用状态时,加入电子设备的运行环境信息和使用者信息作为考量因素,实现了从更多角度监测目标软件的使用安全性,提高了软件监测的可靠程度。
下面,结合图3,对处于安装阶段的第一软件进行监测的实施例进行详细说明。如图3所示,对处于安装阶段的第一软件进行监测的实现流程包括以下步骤S301至步骤S315:
步骤S301,响应于第一软件处于安装阶段,计算第一软件对应的待校验哈希值,并从BIOS芯片存储器获取第一软件对应的参考哈希值和参考配置数据;之后,执行步骤S302;
这里,利用指定的哈希处理指令,针对第一软件生成对应的哈希值。
步骤S302,判断第一软件对应的待校验哈希值与获取的参考哈希值是否相同;若否,执行步骤S303;若是,执行步骤S307;
步骤S303,从BIOS芯片存储器获取第一软件对应的执行策略;之后,执行步骤S304;
步骤S304,判断是否强提醒;若是,执行步骤S315;若否,执行步骤S305;
步骤S305,判断是否提醒;若是,执行步骤S306;若否,执行步骤S307;
步骤S306,判断是否继续安装第一软件;若是,执行步骤S308;若否,执行步骤S315;
步骤S307,继续第一软件的安装过程;之后,执行步骤S308;
步骤S308,获取安装阶段第一软件对应的待校验配置数据;之后,执行步骤S309;
这里,安装阶段第一软件对应的配置数据,是通过内存读取工具从内存中读取的。
步骤S309,判断第一软件对应的待校验配置数据与参考配置数据是否相同;若是,执行步骤S314;若否,执行步骤S310;
步骤S310,从BIOS芯片存储器获取第一软件对应的执行策略;之后,执行步骤S311;
步骤S311,判断是否强提醒;若是,执行步骤S315;若否,执行步骤S312;
步骤S312,判断是否提醒;若是,执行步骤S313;若否,执行步骤S314;
步骤S313,判断是否继续安装第一软件;若是,执行步骤S314;若否,执行步骤S315;
步骤S314,第一软件安装成功;之后,执行步骤S315;
步骤S315,结束第一软件安装流程。
下面,结合图4,对处于非首次启动阶段的第二软件进行监测的实施例进行详细说明。如图4所示,对处于非首次启动阶段的第二软件进行监测的实现流程包括以下步骤S401至步骤S408:
步骤S401,响应于第二软件处于非首次启动阶段,获取第二软件的关键文件对应的待校验哈希值,并从BIOS芯片存储器获取第二软件的关键文件对应的参考哈希值;之后,执行步骤S402;
步骤S402,判断第二软件对应的待校验哈希值与获取的参考哈希值是否相同;若否,执行步骤S403;若是,执行步骤S407;
步骤S403,从BIOS芯片存储器获取第二软件对应的执行策略;之后,执行步骤S404;
步骤S404,判断是否强提醒;若是,执行步骤S408;若否,执行步骤S405;
步骤S405,判断是否提醒;若是,执行步骤S406;若否,执行步骤S407;
步骤S406,判断是否继续启动第二软件;若是,执行步骤S407;若否,执行步骤S408;
步骤S407,第二软件启动成功;之后,执行步骤S408;
步骤S408,结束第二软件启动流程。
下面,结合图5,对处于运行阶段的第三软件进行监测的实施例进行详细说明。如图5所示,对处于运行阶段的第三软件进行监测的实现流程包括以下步骤S501至步骤S508:
步骤S501,响应于第三软件处于运行阶段,获取第三软件的关键文件对应的待校验哈希值,并从BIOS芯片存储器获取第三软件的关键文件对应的参考哈希值;之后,执行步骤S502;
步骤S502,判断第三软件对应的待校验哈希值与获取的参考哈希值是否相同;若否,执行步骤S503;若是,执行步骤S507;
步骤S503,从BIOS芯片存储器获取第三软件对应的执行策略;之后,执行步骤S504;
步骤S504,判断是否强提醒;若是,执行步骤S508;若否,执行步骤S505;
步骤S505,判断是否提醒;若是,执行步骤S506;若否,执行步骤S507;
步骤S506,判断是否继续运行第三软件;若是,执行步骤S507;若否,执行步骤S508;
步骤S507,继续第三软件运行;之后,执行步骤S508;
步骤S508,结束第三软件运行。
基于前述的实施例,本申请实施例提供一种控制装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central ProcessingUnit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
图6为本申请实施例提供的一种控制装置的组成结构示意图,如图6所示,控制装置600包括:第一获取模块610和第一控制模块620,其中:
第一获取模块610,用于响应于目标软件进入目标使用阶段,获得对应的待校验数据;其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同;
第一控制模块620,用于基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态。
在一些实施例中,第一获取模块610用于执行以下至少之一:
基于作用于电子设备的输入操作确定目标软件要响应的控制指令,基于所述控制指令控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据;
响应于监测到目标事件,控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据,其中,所述目标事件基于电子设备上的时序和/或数据的更新发生。
在一些实施例中,第一获取模块610用于执行以下至少之一:
响应于目标软件进入安装阶段,从第一存储区获取对应所述安装阶段的第一待校验数据,所述第一存储区属于或不属于所述电子设备;
响应于目标软件进入非首次启动阶段,从第二存储区获取对应所述非首次启动阶段的第二待校验数据,所述第二存储区包括所述电子设备的数据存储器;
在目标软件进入运行阶段后,每间隔第一时长从第三存储区获取对应所述运行阶段的第三待校验数据,其中,所述第三存储区包括所述电子设备的主存储器。
在一些实施例中,第一控制模块620包括:
第二获取模块621,用于基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据;其中,不同的使用阶段下的目标存储区相同或不同;
比对校验模块622,用于基于所述目标参考数据对所述待校验数据进行比对校验;
第二控制模块623,基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态。
在一些实施例中,第二获取模块621用于执行以下之一:
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据或所述目标软件的安装包的哈希数据作为所述目标参考数据;
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据和目标配置数据、或、所述目标软件的安装包的哈希数据和目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备;
如果所述目标软件处于非首次启动阶段,从所述电子设备的芯片存储器中获取所述目标软件在安装后的关键文件或关键文件夹的哈希数据作为所述目标参考数据;
如果所述目标软件处于运行阶段,从所述电子设备的芯片存储器或目标设备的数据存储器中获取所述目标软件的目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备。
在一些实施例中,比对校验模块622用于执行以下至少之一:
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据进行比对校验,其中,所述第一待校验数据包括所述目标软件的安装包数据;
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据中的第一数据进行第一次比对校验,以及在所述第一次比对校验通过后利用所述目标软件的目标配置数据对对应所述安装阶段的第一待校验数据中的第二数据进行第二次比对校验,其中,所述第一数据包括所述目标软件的安装包数据,所述第二数据包括所述目标软件的至少一项配置数据;
如果所述目标软件处于非首次启动阶段,利用所述目标软件在安装后的关键文件或关键文件夹的哈希数据对对应所述非首次启动阶段的第二待校验数据进行比对校验,其中,所述第二待校验数据包括所述目标软件启动所需的关键文件或关键文件夹;
如果所述目标软件处于运行阶段,每间隔第二时长利用所述目标软件的目标配置数据对对应所述运行阶段的第三待校验数据进行比对校验,其中,所述第三待校验数据包括所述目标软件的至少一项配置数据。
在一些实施例中,第二控制模块623用于执行以下至少之一:
如果所述比对结果表征通过对应的比对校验,控制所述目标软件进入到安装成功状态、启动成功状态、维持运行状态中的至少之一;
如果所述结果表征未通过对应的比对校验,基于对应的提醒策略控制所述目标软件进入到不可用状态。
在一些实施例中,所述装置600还包括更新模块630,所述更新模块630用于执行以下至少之一:
响应于获得所述目标软件的更新数据,更新目标存储区的目标参考数据;
响应于电子设备执行启动操作,通过所述电子设备的引导系统监控所述目标软件的更新数据,以及基于监控结果更新或不更新所述目标参考数据。
在一些实施例中,所述装置600还包括第三获取模块640,其中:
第三获取模块640,用于获得电子设备的运行环境信息和/或使用者信息;
所述更新模块630还用于:
基于所述运行环境信息和/或所述使用者信息控制所述目标软件的使用状态;或,
基于所述运行环境信息和/或所述使用者信息对所述目标软件的使用状态进行更新控制;或,
基于所述运行环境信息和/或所述使用者信息以及所述比对校验结果控制所述目标软件的使用状态。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的控制方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本申请实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,图7为本申请实施例中电子设备的一种硬件实体示意图,如图7所示,该电子设备700的硬件实体包括:处理器701、通信接口702和存储器703,其中:
处理器701通常控制电子设备700的总体操作。
通信接口702可以使电子设备通过网络与其他终端或服务器通信。
存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及电子设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器701、通信接口702和存储器703之间可以通过总线704进行数据传输。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种控制方法,包括:
响应于目标软件进入目标使用阶段,获得对应的待校验数据;
基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态;
其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同。
2.根据权利要求1所述的方法,其中,所述响应于目标软件进入目标使用阶段,获得对应的待校验数据,包括以下至少之一:
基于作用于电子设备的输入操作确定目标软件要响应的控制指令,基于所述控制指令控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据;
响应于监测到目标事件,控制所述目标软件进入对应的目标使用阶段,并获得对应所述目标使用阶段的待校验数据,其中,所述目标事件基于电子设备上的时序和/或数据的更新发生。
3.根据权利要求1或2所述的方法,其中,响应于目标软件进入目标使用阶段,获得对应的待校验数据,包括以下至少之一:
响应于目标软件进入安装阶段,从第一存储区获取对应所述安装阶段的第一待校验数据,所述第一存储区属于或不属于所述电子设备;
响应于目标软件进入非首次启动阶段,从第二存储区获取对应所述非首次启动阶段的第二待校验数据,所述第二存储区包括所述电子设备的数据存储器;
在目标软件进入运行阶段后,每间隔第一时长从第三存储区获取对应所述运行阶段的第三待校验数据,其中,所述第三存储区包括所述电子设备的主存储器。
4.根据权利要求1所述的方法,其中,基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态,包括:
基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据;其中,不同的使用阶段下的目标存储区相同或不同;
基于所述目标参考数据对所述待校验数据进行比对校验;
基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态。
5.根据权利要求4所述的方法,其中,基于所述目标软件所处的使用阶段从目标存储区获取对应的目标参考数据,包括以下之一:
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据或所述目标软件的安装包的哈希数据作为所述目标参考数据;
如果所述目标软件处于安装阶段,从所述电子设备的芯片存储器中或目标设备的数据存储器中获取所述目标软件的安装包数据和目标配置数据,或所述目标软件的安装包的哈希数据和目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备;
如果所述目标软件处于非首次启动阶段,从所述电子设备的芯片存储器中获取所述目标软件在安装后的关键文件或关键文件夹的哈希数据作为所述目标参考数据;
如果所述目标软件处于运行阶段,从所述电子设备的芯片存储器或目标设备的数据存储器中获取所述目标软件的目标配置数据作为所述目标参考数据,其中,所述目标设备包括提供所述目标软件的设备和/或与所述电子设备之间建立目标连接的设备。
6.根据权利要求4所述的方法,其中,基于所述目标参考信息对所述待校验数据进行比对校验,包括以下至少之一:
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据进行比对校验,其中,所述第一待校验数据包括所述目标软件的安装包数据;
如果所述目标软件处于安装阶段,利用所述目标软件的安装包数据或其哈希数据对对应所述安装阶段的第一待校验数据中的第一数据进行第一次比对校验,以及在所述第一次比对校验通过后利用所述目标软件的目标配置数据对对应所述安装阶段的第一待校验数据中的第二数据进行第二次比对校验,其中,所述第一数据包括所述目标软件的安装包数据,所述第二数据包括所述目标软件的至少一项配置数据;
如果所述目标软件处于非首次启动阶段,利用所述目标软件在安装后的关键文件或关键文件夹的哈希数据对对应所述非首次启动阶段的第二待校验数据进行比对校验,其中,所述第二待校验数据包括所述目标软件启动所需的关键文件或关键文件夹;
如果所述目标软件处于运行阶段,每间隔第二时长利用所述目标软件的目标配置数据对对应所述运行阶段的第三待校验数据进行比对校验,其中,所述第三待校验数据包括所述目标软件的至少一项配置数据。
7.根据权利要求4所述的方法,其中,基于所述比对校验的结果控制所述目标软件处于可用状态或不可用状态,包括以下至少之一:
如果所述比对结果表征通过对应的比对校验,控制所述目标软件进入到安装成功状态、启动成功状态、维持运行状态中的至少之一;
如果所述比对结果表征未通过对应的比对校验,基于对应的提醒策略控制所述目标软件进入到不可用状态。
8.根据权利要求1所述的方法,还包括以下至少之一:
响应于获得所述目标软件的更新数据,更新目标存储区的目标参考数据;
响应于电子设备执行启动操作,通过所述电子设备的引导系统监控所述目标软件的更新数据,以及基于监控结果更新或不更新所述目标参考数据。
9.根据权利要求1所述的方法,还包括:
获得电子设备的运行环境信息和/或使用者信息;
基于所述运行环境信息和/或所述使用者信息控制所述目标软件的使用状态;或,
基于所述运行环境信息和/或所述使用者信息对所述目标软件的使用状态进行更新控制;或,
基于所述运行环境信息和/或所述使用者信息以及所述比对校验结果控制所述目标软件的使用状态。
10.一种控制装置,包括:
第一获取模块,用于响应于目标软件进入目标使用阶段,获得对应的待校验数据;其中,在不同的使用阶段,所述目标软件对应的待校验数据至少部分不同;
第一控制模块,用于基于所述待校验数据与对应的目标参考数据之间的比对结果控制所述目标软件的使用状态。
CN202311635537.0A 2023-11-30 2023-11-30 控制方法及装置 Pending CN117592037A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311635537.0A CN117592037A (zh) 2023-11-30 2023-11-30 控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311635537.0A CN117592037A (zh) 2023-11-30 2023-11-30 控制方法及装置

Publications (1)

Publication Number Publication Date
CN117592037A true CN117592037A (zh) 2024-02-23

Family

ID=89909693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311635537.0A Pending CN117592037A (zh) 2023-11-30 2023-11-30 控制方法及装置

Country Status (1)

Country Link
CN (1) CN117592037A (zh)

Similar Documents

Publication Publication Date Title
JP5582909B2 (ja) プラットフォーム完全性検証システム
EP3036623B1 (en) Method and apparatus for modifying a computer program in a trusted manner
TWI643130B (zh) 用於在uefi安全開機資料庫中自動註冊任選rom的系統以及方法
US20170308705A1 (en) System, device and method for anti-rollback protection of over-the-air updated device images
US20090193211A1 (en) Software authentication for computer systems
US7716494B2 (en) Establishing a trusted platform in a digital processing system
US9378372B2 (en) Secure download and security function execution method and apparatus
JP5061908B2 (ja) プログラム実行制御方法および装置ならびに実行制御プログラム
US7711944B2 (en) Method and apparatus for securely updating and booting code image
KR101280048B1 (ko) 운영체계들과 다른 소프트웨어의 인스톨을 제한하는 해킹방지 방법
US20090288161A1 (en) Method for establishing a trusted running environment in the computer
CN105574414B (zh) 将文件加载到电子装置中的随机存取存储器中的方法和相关联电子装置
CN113168474A (zh) 固件的安全验证
US9262631B2 (en) Embedded device and control method thereof
CN110874467B (zh) 信息处理方法、装置、系统以及处理器、存储介质
EP2985717A1 (en) Data erasing device, data erasing method, program, and storage medium
CN106341732B (zh) 桌面启动器的管理方法及智能电视机
JP2018509692A (ja) 選択的なブロックベースの完全性保護技法
KR100660641B1 (ko) 휴대 단말기의 부팅 보안 방법 및 그 휴대 단말기
CN111353150B (zh) 一种可信启动方法、装置、电子设备及可读存储介质
EP3176723A1 (en) Computer system and operating method therefor
CN111258615A (zh) 工控主机及其软件升级的方法、装置及移动存储介质
CN110941825A (zh) 一种应用监控方法及装置
CN117592037A (zh) 控制方法及装置
US10637877B1 (en) Network computer security system

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