CN113157543B - 一种可信度量方法及装置、服务器、计算机可读存储介质 - Google Patents
一种可信度量方法及装置、服务器、计算机可读存储介质 Download PDFInfo
- Publication number
- CN113157543B CN113157543B CN202110527968.XA CN202110527968A CN113157543B CN 113157543 B CN113157543 B CN 113157543B CN 202110527968 A CN202110527968 A CN 202110527968A CN 113157543 B CN113157543 B CN 113157543B
- Authority
- CN
- China
- Prior art keywords
- measurement
- target
- information
- metric
- processor
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开一种可信度量方法及装置、服务器、计算机可读存储介质,涉及计算机技术领域,能够有效扩展可信度量的应用场景。所述方法包括:根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;根据所述度量信息,对所述度量目标进行可信度量。本发明适用于计算机安全技术中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种可信度量方法及装置、服务器、计算机可读存储介质。
背景技术
度量是可信计算里使用广泛的一项关键技术。所谓度量就是通过某种方法提取目标程序或数据的特征值,该特征值具有唯一性,通过特征值判断目标的状态,例如可以通过目标程序或数据的特征值相对于基准值是否发生变化,来判断目标程序或数据是否被篡改。
相关技术中,哪些目标可以被度量是预先选择并固定的,同时目标的度量基准值也需预先设置在实施度量的实体内。但由于计算机运行中随时都可能有新的情况发生,很多情况是无法预知的,因此,可信度量的应用场景受到很大限制。
发明内容
有鉴于此,本发明实施例提供一种可信度量方法及装置、服务器、计算机可读存储介质,能够有效扩展可信度量的应用场景。
第一方面,本发明的实施例提供一种可信度量方法,所述方法包括:根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;根据所述度量信息,对所述度量目标进行可信度量。
可选的,所述根据程序运行状况,确定度量信息包括:响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,所述根据所述度量信息,对所述度量目标进行可信度量包括:根据所述度量信息,创建度量任务;在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述方法还包括:响应于所述度量目标的更新,更新所述度量信息,得到更新信息;根据所述更新信息,继续对所述度量目标进行可信度量。
可选的,所述度量信息还包括:度量策略、威胁处理策略;所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新。
可选的,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;所述根据所述度量信息,对所述度量目标进行可信度量包括:根据所述度量信息,创建度量任务;在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述度量信息还包括威胁处理策略;所述根据所述度量信息,对所述度量目标进行可信度量之后,所述方法还包括:根据可信度量的度量结果确定所述度量目标是否为威胁程序;在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第二方面,本发明的实施例还提供一种可信度量方法,基于第一处理器,所述方法包括:根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息。
可选的,所述根据程序运行状况,确定度量信息包括:响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法。
可选的,所述向第二处理器发送度量请求之后,所述方法还包括:响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求;根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。
可选的,所述度量信息还包括:度量策略、威胁处理策略;所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新。
可选的,所述向所述第二处理器发送更新请求包括:向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。
可选的,所述度量信息还包括威胁处理策略;所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第三方面,本发明的实施例还提供一种可信度量方法,基于第二处理器,所述方法包括:接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;根据所述度量信息进行可信度量,得到对应的度量结果。
可选的,所述度量基准值由所述第一处理器对所述目标地址范围内的数据执行预设算法得到;所述根据所述度量信息进行可信度量,得到对应的度量结果包括:根据所述度量请求,创建对应的度量任务;在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;所述根据所述度量信息进行可信度量,得到对应的度量结果包括:根据所述度量请求,创建对应的度量任务;在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述接收来自第一处理器的度量请求之后,所述方法还包括:接收来自所述第一处理器的暂停度量请求,并根据所述暂停度量请求,暂停度量操作;接收来自所述第一处理器的更新请求,所述更新请求携带更新信息;接收来自所述第一处理器的重启度量请求,并根据所述更新信息,重新进行可信度量。
可选的,所述接收来自所述第一处理器的更新请求包括:接收来自所述第一处理器的更新请求和验证信息;对所述验证信息进行安全验证;在安全验证通过的情况下,根据所述更新请求更新所述度量信息。
可选的,所述度量信息包括威胁处理策略;所述根据所述度量信息进行可信度量,得到对应的度量结果之后,所述方法还包括:根据可信度量的度量结果确定所述度量目标是否为威胁程序;在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第四方面,本发明的实施例还提供一种可信度量装置,包括:第一确定单元,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;第一度量单元,用于根据所述度量信息,对所述度量目标进行可信度量。
可选的,所述第一确定单元包括:第一获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;第一运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,所述第一度量单元包括:第一创建模块,用于根据所述度量信息,创建度量任务;第二运算模块,用于在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;第一确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述装置还包括:第一更新单元,用于响应于所述度量目标的更新,更新所述度量信息,得到更新信息;所述第一度量单元,还用于根据所述更新信息,继续对所述度量目标进行可信度量。
可选的,所述度量信息还包括威胁处理策略;所述装置还包括:第一威胁确定单元,用于在根据所述度量信息,对所述度量目标进行可信度量之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;第一威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第五方面,本发明的实施例还提供一种可信度量装置,设置于第一处理器中,所述装置包括:第二确定单元,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;发送单元,用于向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息。
可选的,所述第二确定单元包括:第二获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;第三运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,所述装置还包括第二更新单元;所述发送单元,还用于在向第二处理器发送度量请求之后,响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求;所述第二更新单元,用于根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;所述发送单元,还用于:向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。
可选的,所述发送单元,具体用于向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。
可选的,所述度量信息还包括威胁处理策略;所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第六方面,本发明的实施例还提供一种可信度量装置,设置于第二处理器,所述装置包括:接收单元,用于接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;第二度量单元,用于根据所述度量信息进行可信度量,得到对应的度量结果。
可选的,所述度量基准值由所述第一处理器对所述目标地址范围内的数据执行预设算法得到;所述第二度量单元包括:第二创建模块,用于根据所述度量请求,创建对应的度量任务;第四运算模块,用于在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;第二确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;所述第二度量单元包括:第三创建模块,用于根据所述度量请求,创建对应的度量任务;第五运算模块,用于在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;第三确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述装置还包括:暂停单元;所述接收单元,还用于在接收来自第一处理器的度量请求之后,接收来自所述第一处理器的暂停度量请求;所述暂停单元,用于根据所述暂停度量请求,暂停度量操作;所述接收单元,还用于:接收来自所述第一处理器的更新请求,所述更新请求携带更新信息;接收来自所述第一处理器的重启度量请求;所述第二度量单元,还用于根据所述更新信息,重新进行可信度量。
可选的,所述接收单元具体用于:接收来自所述第一处理器的更新请求和验证信息;对所述验证信息进行安全验证;在安全验证通过的情况下,根据所述更新请求更新所述度量信息。
可选的,所述度量信息包括威胁处理策略;所述装置还包括:第二威胁确定单元,用于根据所述度量信息进行可信度量,得到对应的度量结果之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;第二威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第七方面,本发明的实施例还提供一种服务器,包括:壳体、至少一个处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;所述至少一个处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的实施例提供的任一种可信度量方法。
第八方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的实施例提供的任一种可信度量方法。
本发明的实施例提供的可信度量方法及装置、服务器、计算机可读存储介质,能够根据程序运行状况确定度量信息,并根据度量信息中度量目标在内存中的目标地址范围和所述度量目标的度量基准值,对所述度量目标进行可信度量。由于程序运行状况可以涉及程序运行过程中可能发生的任何情况,随着这些具体情况的发生而随时确定度量信息并执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例提供的可信度量方法的一种流程图;
图2为本发明的实施例提供的可信度量方法中度量任务不同阶段的一种关系示意图;
图3为本发明的实施例提供的一种可信度量方法所基于的硬件***结构示意图;
图4为本发明的实施例提供的可信度量方法的另一种流程图;
图5为本发明的实施例中创建度量任务的一种流程图;
图6为本发明的实施例中度量目标更新的一种流程图;
图7为本发明的实施例中度量任务的一种验证过程示意图;
图8为本发明的实施例中度量任务的一种结束过程示意图;
图9为本发明的实施例提供的可信度量方法的又一种流程图;
图10为本发明的实施例中第二处理器进行可信度量的一种流程图;
图11为本发明的实施例中威胁处理操作的一种示意图;
图12为本发明的实施例提供的可信度量装置的一种结构示意图;
图13为本发明的实施例提供的可信度量装置的另一种结构示意图;
图14为本发明的实施例提供的可信度量装置的又一种结构示意图;
图15为本发明的实施例提供的服务器的一种结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
随着计算机和网络技术的发展,信息安全也面临着越来越严峻的挑战,为了有效维护信息安全,病毒查杀、防火墙、可信计算等一系列安全措施应运而生。其中,可信计算可以通过对运行时的程序进行动态度量来监控程序是否发生改变,从而发现威胁。但由于相关技术中可信度量需要定制***,预知并生成可校验的度量目标基准值信息并设置到实施度量的实体内,而对于事先未知的目标,则无法进行可信度量,因此应用场景较为局限。
为了解决上述问题,本发明的实施例提供了一种可信度量方法、装置、服务器和计算机可读存储介质,能够根据程序运行状况动态确定度量信息,并根据该度量信息中包括的度量目标在内存中的目标地址范围、所述度量目标的度量基准值等信息,视程序运行情况随时对该度量目标进行可信度量,从而大大扩展了可信度量的应用场景。
为使本领域技术人员更好地理解本发明的实施例的技术构思、实施方案和有益技术效果,以下通过具体实施例进行详细说明。
第一方面,本发明的实施例提供一种可信度量方法,能够大大扩展可信度量的应用场景。
如图1所示,本发明的实施例提供的可信度量方法,该方法可以包括:
S11,根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
本步骤中的程序可以包括处理器中运行的任何一个程序或任意多个程序。每个程序在运行过程中都可能发生各种正常或非正常的状况。本发明的实施例中,可以基于预先定义的状况名单或基于模型训练和学习,识别各种状况,并在需要时,确定可信计算的度量信息。
具体的,度量信息可以包括待度量的对象(即度量目标)在内存中的地址范围(即目标地址范围)以及该度量目标对应的度量基准值。其中,度量目标也就是被度量的程序或数据。这里的内存,可以为处理器运行程序时所使用的内存。例如若处理器为CPU(CentralProcessing Unit,中央处理器),则内存可以为CPU运行程序时,该程序所在的内存,若处理器中运行有操作***,操作***下运行有度量目标,则内存也可以指***内存。为了对度量目标进行度量,需要获知度量目标在内存中的地址范围,以及度量目标对应的度量基准值。示例性的,在本发明的一个实施例中,可以先根据程序运行状况确定度量目标,再根据度量目标确定对应的目标地址范围,然后对目标地址范围内的数据进行运算,得到对应的度量基准值。
可选的,根据程序运行状况和内存使用情况的不同,度量目标既可以集中存储于一段连续的地址中,也可以分散地存储于多段地址中。与此相对应,目标地址范围既可以为一段连续的地址范围,也可以为多段地址范围。可选的,在目标地址范围包括多段地址范围的情况下,可以每段地址范围各对应一个度量基准值,也可以多段地址范围共同对应一个度量基准值。
S12,根据所述度量信息,对所述度量目标进行可信度量。
由于步骤S11中已经确定了度量信息,也就是确定了度量目标在内存中的目标地址范围和该度量目标的度量基准值,本步骤中,就可以基于该目标地址范围和度量基准值进行可信度量。
本发明的实施例提供的可信度量方法,能够根据程序运行状况,确定度量信息,并根据度量信息中度量目标在内存中的目标地址范围和所述度量目标的度量基准值,对所述度量目标进行可信度量。由于程序运行状况可以涉及程序运行过程中可能发生的任何情况,随着这些具体情况的发生而随时确定度量信息并执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
具体而言,在本发明的一个实施例中,步骤S11根据程序运行状况,确定度量信息可以包括:响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,第一程序可以为在处理器中部署的任一程序。在本发明的实施例中,按照抽象层次的不同,第一程序可以为进程、线程、函数等各层次的程序,而第一事件也可以为启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应中的一种或多种事件。
在本发明的一个实施例中,可以通过对第一程序相关的函数、接口的监测,及时发现第一程序所发生的事件。如果该事件属于第一事件,则可以获取第一程序所在的内存地址范围,以该内存地址范围作为可信度量操作的目标地址范围。其中,第一事件所涉及的具体事件内容,既可以是预先定义的,也可以是根据需要临时确定的,只要能够在确定度量信息之前明确第一事件所涉及的范围即可。这样,由于第一事件可以是各种突发事件,确定度量信息的时机也就可以包括多种可能,即便一些程序在启动时没有将其作为度量目标,也可以根据该程序后续的执行情况,随时将其作为度量目标,因此大大扩展了可信度量的应用场景。
举例而言,在本发明的一个实施例中,第一事件包括访问网络。如果监测到第一程序执行访问网络的操作,则可以获取第一程序的内存地址范围并以该内存地址范围为目标地址范围,例如第一程序的内存地址范围为0X F03F 4356 0000 0000至0X F03F 5356EF00 0000,则以0X F03F 4356 0000 0000至0X F03F 5356 EF00 0000为目标地址范围。
确定了目标地址范围后,可以按照预设算法对该目标地址范围内的数据进行运算,得到第一程序对应的度量基准值。可选的,该预设算法既可以为Hash算法(哈希算法或散列算法),例如SHA1、SHA2、SHA256、SHA512、MD5等,也可以是其他自定义的算法。
得到了度量目标的目标地址范围以及度量基准值后,就可以利用目标地址范围、度量基准值等度量信息进行可信度量。具体而言,在本发明的一个实施例中,步骤S12根据所述度量信息,对所述度量目标进行可信度量可以包括:根据所述度量信息,创建度量任务;在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
本实施例中,确定了度量信息之后,即可根据该度量信息创建度量任务,在度量任务中,持续对度量目标进行度量,或间隔预设时长对度量目标进行一次度量。度量时,对目标地址范围内的数据执行的算法与确定度量基准值时所采用的算法相同。这样,一旦度量得到的实际度量值与之前确定的度量基准值不一致,就可以确定度量目标发生了改变,即度量结果为度量目标发生改变。如果度量结果为度量目标发生改变,则可能意味着有威胁入侵,可以采取对应的威胁处理策略进行威胁处理。为此,步骤S12根据所述度量信息,对所述度量目标进行可信度量之后,本发明的实施例提供的可信度量方法还可以包括:根据可信度量的度量结果确定所述度量目标是否为威胁程序;在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
其中,对于获取***控制权限而言,可以立即对***采取一定的控制措施,如清空目标地址内存、关机等。对于记录所述威胁程序的相关信息以供查询而言,度量结果是重要的***状态信息,反映***的可信度。外部需要时(比如远程认证或周期性监控)可以查询度量结果信息。为保证查询结果的可靠性,可以利用内部签名密钥对结果数据进行签名,形成可信报告。外部收到该结果报告后通过验证签名可以确保度量结果的真实性。对于向目标对象发送报警通知而言,检测到度量异常时主动向外部发出异常通知,通知的形式可以有多种选择,如激活主板上通过电路连接的相关硬件设备,如喇叭或灯泡等,或者通过连接的网络给远程监控服务器发送通知等。
前述实施例中,可以根据程序运行状况随时确定度量信息,并根据该度量信息进行可信度量。但本发明的实施例不限于此。在本发明的另一个实施例中,不仅能够根据程序运行状况,随时确定度量目标及其所在的目标地址范围、度量基准值等度量信息,而且,当该度量目标发生更新时,还能够对该度量目标对应的度量信息进行更新,并继续对更新后的度量目标进行可信度量,从而进一步扩展了可信度量的应用场景。
举例而言,在本发明的一个实施例中,在确定了度量信息之后,本发明的实施例提供的可信度量方法还可以包括:响应于所述度量目标的更新,更新所述度量信息,得到更新信息;根据所述更新信息,继续对所述度量目标进行可信度量。
如图2所示,在本发明的一个实施例中,可以将可信度量操作分为:度量任务创建阶段、度量任务运行阶段、度量任务结束阶段以及度量任务更新阶段。其中,度量任务的更新操作可以贯穿整个度量任务运行阶段。
可选的,度量目标发生更新,具体可以涉及与该度量目标相关的多个方面,例如,所述度量目标内容的更新、所述度量目标的目标地址范围的更新等。在本发明的一个实施例中,度量信息不仅可以包括度量目标所在的内存地址范围以及该度量目标对应的度量基准值,还可以包括度量策略、威胁处理策略。则基于此,度量目标的更新可以包括以下一项或多项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新。
其中,度量目标内容的更新,具体可以指度量目标的程序本身(即目标地址范围内的数据)发生了更新,例如原来度量目标的程序中调用了函数func1,更新后度量目标的程序中调用了函数func2。由于度量目标的度量基准值是根据度量目标的内容计算出来的,度量目标的内容发生更新后,将直接导致该度量目标的度量基准值发生改变。度量目标的目标地址范围的更新,具体可以指度量目标本身的内容未发生变化,但度量目标存储的地址发生了变化。例如,原来度量目标存储在addr1中,现在存储在addr2中。这样,除了内容、地址固定不变的度量目标,本发明的实施例提供的可信度量方法也可以支持内容和/或地址可变的目标的可信度量,即使程序运行过程中可能发生改变,也可以进行动态地可信度量,从而大大扩展了可信度量的应用场景。
可选的,在度量信息中包括度量策略的情况下,度量策略可以包括以下一项或多项:度量频率、度量时机、度量算法。其中,度量频率可以为单位时间内进行可信度量的次数,例如10次/秒,度量时机可以为进行可信度量时的特定条件,例如某函数被调用时执行一次度量操作,度量算法可以为度量操作具体执行的算法,例如SHA2、MD5等。基于此,步骤S12中根据所述度量信息,对所述度量目标进行可信度量具体可以包括:根据所述度量信息,创建度量任务;在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。相应的,当度量策略发生更新时,该更新也可以涉及度量频率、度量时机、度量算法中的一项或多项的更新。
可选的,在度量信息中包括威胁处理策略的情况下,当威胁处理策略发生更新时,该更新也可以涉及威胁处理策略中的一项或多项的更新。其中,所述威胁处理策略可以包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
本发明的实施例中,响应于度量目标的上述任一种或多种更新,可以对该度量目标原有的度量信息进行更新,得到该度量目标的更新信息。在随后的可信度量中,原有的度量信息将不再被作为度量操作的依据,而是以更新信息作为度量的依据。
进一步的,为了避免度量信息更新引起的虚假度量错误,在本发明的一个实施例中,可以在对度量信息进行更新前,先暂停度量任务的执行,待度量信息更新完成后,再恢复度量任务的执行。
更进一步地,在本发明的一个实施例中,当不再需要对度量目标进行可信度量时,可以结束对度量目标的度量,释放执行该度量任务所需的资源。可选的,如果该度量目标已经运行完毕,则可以进一步释放该度量目标占用的资源。
前述实施例中,可信度量方法可以由一个处理器执行,但本发明的实施例不限于此。在本发明的其他实施例中,可信度量可以由第一处理器和第二处理器协作完成。示例性的,在本发明的一个实施例中,第一处理器以CPU为例,第二处理器以安全处理器为例,其架构可以如图3所示。下面分别对其中的第一处理器和第二处理器执行的操作进行详细说明。
第二方面,本发明的实施例还提供一种可信度量方法,该方法基于第一处理器,能够有效扩展可信度量的应用场景。
如图4所示,本发明的实施例提供的可信度量方法,基于第一处理器,该方法可以包括:
S21、根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
本步骤中的程序可以包括第一处理器中运行的任何一个程序或任意多个程序。每个程序在运行过程中都可能发生各种正常或非正常的状况。本发明的实施例中,可以基于预先定义的状况名单或基于模型训练和学习,识别各种状况,并在需要时,确定可信计算的度量信息。
具体的,度量信息可以包括待度量的对象(即度量目标)在第一处理器对应内存中的地址范围(即目标地址范围)以及该度量目标对应的度量基准值。其中,度量目标也就是被度量的程序或数据。第一处理器对应内存,可以指第一处理器运行程序时所使用的内存,例如若第一处理器为CPU,则第一处理器对应内存可以为CPU运行程序时,该程序所在的内存。为了对度量目标进行度量,需要获知度量目标在内存中的地址范围,以及度量目标对应的度量基准值。示例性的,在本发明的一个实施例中,可以先根据程序运行状况确定度量目标,再根据度量目标确定对应的目标地址范围,然后对目标地址范围内的数据进行运算,得到对应的度量基准值。
可选的,根据程序运行状况和内存使用情况的不同,度量目标既可以集中存储于一段连续的地址中,也可以分散地存储于多段地址中。与此相对应,目标地址范围既可以为一段连续的地址范围,也可以为多段地址范围。可选的,在目标地址范围包括多段地址范围的情况下,可以每段地址范围各对应一个度量基准值,也可以多段地址范围内共同对应一个度量基准值。
S22、向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息。
确定了度量信息之后,本步骤中,第一处理器可以将度量信息附在度量请求中,向第二处理器发送该度量请求,以使第二处理器根据所述度量请求进行可信度量,例如以使第二处理器根据该度量请求创建度量任务并执行该度量任务。其中,第一处理器、第二处理器可以是任意两个不同的处理器。例如,在本发明的一个实施例中,第一处理器可以为CPU,第二处理器可以为SP(Secure Processor,安全处理器)。安全处理器是一个TEE(TrustedExecution Environment,可信执行环境),可以用于处理与计算机安全相关的操作。安全处理器具有自己专用的硬件资源(例如专用的内存),可以通过各种硬件隔离和/或软件隔离措施,使CPU不可访问该专用的硬件资源;安全处理器能够独立直接访问CPU的内存地址空间,不受CPU控制;安全处理器与CPU之间有固定的通信接口,能够接收CPU的命令并返回命令执行结果。
可选的,第一处理器向第二处理器发送度量请求,可以通过调用第二处理器的相关命令接口(例如相关的命令接口函数)实现。第二处理器可以根据该度量请求创建度量任务并执行该度量任务。示例性的,在本发明的一个实施例中,度量任务的一种创建过程可以如图5所示。
本发明的实施例提供的可信度量方法,第一处理器能够根据程序运行状况,确定度量信息,并根据度量信息请求第二处理器对所述度量目标进行可信度量。由于程序运行状况可以涉及程序运行过程中可能发生的任何情况,随着这些具体情况的发生而随时确定度量信息并指示第二处理器执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
具体而言,在本发明的一个实施例中,步骤S21根据程序运行状况,确定度量信息可以包括:响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,第一程序可以为在第一处理器中部署的任一程序。在本发明的实施例中,按照抽象层次的不同,第一程序可以为进程、线程、函数等各层次的程序,而第一事件也可以为启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应中的一种或多种事件。
在本发明的一个实施例中,可以通过对第一程序相关的函数、接口的监测,及时发现第一程序所发生的事件。如果该事件属于第一事件,则可以获取第一程序所在的内存地址范围,以该内存地址范围作为可信度量操作的目标地址范围。其中,第一事件所涉及的具体事件内容,既可以是预先定义的,也可以是根据需要临时确定的,只要能够在确定度量信息之前明确第一事件所涉及的范围即可。这样,由于第一事件可以是各种突发事件,确定度量信息的时机也就可以包括多种可能,即便一些程序在启动时没有将其作为度量目标,也可以根据该程序后续的执行情况,随时将其作为度量目标,因此大大扩展了可信度量的应用场景。
举例而言,在本发明的一个实施例中,第一事件包括访问网络。如果监测到第一程序执行访问网络的操作,则可以获取第一程序的内存地址范围并以该内存地址范围为目标地址范围,例如第一程序的内存地址范围为0X F03F 4356 0000 0000至0X F03F 5356EF000000,则以0X F03F 4356 0000 0000至0X F03F 5356 EF00 0000为目标地址范围。
确定了目标地址范围后,第一处理器可以按照预设算法对该目标地址范围内的数据进行运算,得到第一程序对应的度量基准值。可选的,该预设算法既可以为Hash算法(哈希算法或散列算法),例如SHA1、SHA2、SHA256、SHA512、MD5等算法,也可以是其他自定义的算法。
得到了度量目标的目标地址范围以及度量基准值等度量信息后,第一处理器就可以将该度量信息附在度量请求中,向第二处理器发送,由第二处理器进行相应的可信度量操作。这样,度量信息是由第一处理器确定的,度量操作是由第二处理器执行的,因此可以实现度量操作与其他运算操作的分离。在本发明的一个实施例中,可以采用安全等级更高的处理器(例如安全处理器)作为第二处理器,从而有效提高度量操作的安全性。
进一步的,本发明的实施例中,第一处理器确定的度量信息除了度量目标的目标地址范围以及度量基准值之外,还可以包括其他与度量相关的信息,例如度量策略、威胁处理策略等。示例性的,在本发明的一个实施例中,度量策略可以包括以下一项或多项:度量频率、度量时机、度量算法。在本发明的另一个实施例中,威胁处理策略可以包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。这样,就可以基于度量信息,更灵活地控制度量操作及其对应的威胁处理操作。
更进一步地,本发明的实施例提供的可信度量方法,不仅能够根据程序运行状况,随时确定度量目标及其所在的目标地址范围、度量基准值等度量信息,而且,当该度量目标发生更新时,还能够对该度量目标对应的度量信息进行更新,并请求第二处理器继续对更新后的度量目标进行可信度量,从而进一步扩展了可信度量的应用场景。
为了避免度量信息更新引起的虚假度量错误,在本发明的一个实施例中,第一处理器可以在对度量信息进行更新前,先指示第二处理器暂停度量任务的执行,待度量信息更新完成后,再指示第二处理器恢复度量任务的执行。
举例而言,在本发明的一个实施例中,步骤S22向第二处理器发送度量请求之后,本发明的实施例提供的可信度量方法还可以包括:响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求;根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。示例性的,度量目标的一种更新操作可以如图6所示。
可选的,本发明的实施例中,度量目标发生更新,具体可以涉及与该度量目标相关的多个方面,例如,所述度量目标内容的更新、所述度量目标的目标地址范围的更新等。如果度量信息除了度量目标所在的内存地址范围以及该度量目标对应的度量基准值之外,还包括度量策略、威胁处理策略等,则基于此,度量目标的更新可以包括以下一项或多项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新。
其中,度量目标内容的更新,具体可以指度量目标的程序本身发生了更新,例如原来度量目标的程序中调用了函数func1,更新后度量目标的程序中调用了函数func2。由于度量目标的度量基准值是根据度量目标的内容计算出来的,度量目标的内容发生更新后,将直接导致该度量目标的度量基准值发生改变。度量目标的目标地址范围的更新,具体可以指度量目标本身的内容未发生变化,但度量目标存储的地址发生了变化。例如,原来度量目标存储在addr1中,现在存储在addr2中。这样,除了内容、地址固定不变的度量目标,本发明的实施例提供的可信度量方法也可以支持内容和/或地址可变的目标的可信度量,即使程序运行过程中可能发生改变,也可以进行动态地可信度量,从而大大扩展了可信度量的应用场景。
可选的,在度量信息中包括度量策略的情况下,度量策略可以包括以下一项或多项:度量频率、度量时机、度量算法。其中,度量频率可以为单位时间内进行可信度量的次数,例如10次/秒,度量时机可以为进行可信度量时的特定条件,例如某函数被调用时执行一次度量操作,度量算法可以为度量操作具体执行的算法,例如SHA2、MD5等。相应的,当度量策略发生更新时,该更新也可以涉及度量频率、度量时机、度量算法中的一项或多项的更新。
可选的,在度量信息中包括威胁处理策略的情况下,所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。相应的,当威胁处理策略发生更新时,该更新也可以涉及上述威胁处理中的一项或多项的更新。
本发明的实施例中,响应于度量目标的上述任一种或多种更新,可以对该度量目标原有的度量信息进行更新,得到该度量目标的更新信息。然后将该更新信息附在更新请求中,向第二处理器发送。在第二处理器随后进行的可信度量中,原有的度量信息将不再被作为度量操作的依据,而是以更新信息作为度量的依据。
进一步地,由于更新信息事关重大,将涉及此后第二处理器进行可信度量操作的依据,因此其安全性尤为重要。为防止针对可信度量的攻击,保证更新操作的可靠性,在本发明的一个实施例中,步骤S22向所述第二处理器发送更新请求具体可以包括:向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。可选的,验证信息既可以先于更新请求发送,也可以与更新请求一起发送。
这样,第一处理器(例如CPU)修改第二处理器(例如安全处理器)中的度量任务时,需要进行相关授权验证,只有验证通过,相关修改操作才会成功,从而大大提高了可信度量的安全性。
本发明的实施例中,授权验证的保护对象是第二处理器中已经创建的度量任务,每个度量任务可以有自己对应的验证信息。第二处理器中的每个度量任务在第一处理器侧都有自己的所有者,即创建并有权修改该任务的程序或模块,称为度量任务所有者。根据程序结构的不同,多个度量任务可以对应一个共同的度量任务所有者,也可以分别对应多个不同的度量任务所有者。
可选的,本发明的实施例中,验证信息可以包括授权码和/或度量任务所有者上下文信息。
其中,授权码可以为一串随机数序列,在度量任务创建时可以由第二处理器生成并返回给第一处理器,或者由第一处理器生成并传递给第二处理器。第二处理器可以为每个度量任务记录对应的授权码,同时授权码在第一处理器处由相应的度量任务所有者保管。后续在第一处理器通过命令接口操作度量任务时(例如度量目标内容改变需要更新度量任务时),需要提供对应的授权码给安全处理器进行验证,在验证通过的情况下,第二处理器才会更新度量信息并执行更新后的度量操作。
其中,度量任务所有者上下文信息可以包括度量任务所有者的程序进程号、程序名、模块名等信息。可选的,在本发明的一个实施例中,度量任务所有者上下文信息,可以在度量任务所有者调用第二处理器相关的命令接口时,由第一处理器中可信的度量驱动模块收集并发送给第二处理器。可选的,该可信的度量驱动模块可以是硬件模块,软件模块,或软件、硬件结合的模块。为减小信息传输量,在本发明的一个实施例中,还可以对这些上下文信息进行哈希(Hash)运算后只将Hash值发送给第二处理器,而无需发送完整的上下文信息。第二处理器可以在创建度量任务时,为该度量任务记录下初始的上下文信息。当后续遇到操作度量任务更新时(例如对度量信息进行更新时),第二处理器可以对上下文信息进行验证,只有通过验证,更新操作才会成功。
在本发明的一个实施例中,验证信息可以同时包括验证码和度量任务所有者上下文信息,只有二者都通过验证,才执行对应的更新操作,从而进一步增强安全性。示例性的,本发明的实施例提供的一种验证过程可以如图7所示。
进一步地,如图8所示,在本发明的一个实施例中,当不再需要对度量目标进行可信度量时,第一处理器可以指示第二处理器释放执行该度量任务所需的资源。可选的,如果该度量目标已经运行完毕,则第一处理器可以进一步释放该度量目标占用的资源。
第三方面,本发明的实施例还提供一种可信度量方法,该基于第二处理器,能够大大扩展可信度量的应用场景。
如图9所示,本发明的实施例提供的可信度量方法,基于第二处理器,所述方法包括:
S31、接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
本步骤中,度量信息是由第一处理器根据第一处理器中运行的程序的状况来确定的。第二处理器接收到来自第一处理器的度量请求后,可以将其中的度量信息存储在第二处理器对应的内存中。其中,第二处理器对应的内存,可以指第二处理器可访问的内存。为了加强可信度量的安全性,可选的,在本发明的一个实施例中,第二处理器对应的内存,也可以是第二处理器专用的内存,即只有第二处理器能访问,而其他处理器或电路模块无法访问的内存。
具体的,度量信息可以包括待度量的对象(即度量目标)在第一处理器对应内存中的地址范围(即目标地址范围)以及该度量目标对应的度量基准值。其中,度量目标也就是被度量的程序或数据。第一处理器对应内存,可以指第一处理器运行程序时所使用的内存,例如若第一处理器为CPU,则第一处理器对应内存可以为CPU运行程序时,该程序所在的内存。为了对度量目标进行度量,需要获知度量目标在内存中的地址范围,以及度量目标对应的度量基准值。示例性的,在本发明的一个实施例中,可以先根据程序运行状况确定度量目标,再根据度量目标确定对应的目标地址范围,然后对目标地址范围内的数据进行运算,得到对应的度量基准值。
可选的,根据程序运行状况和内存使用情况的不同,度量目标既可以集中存储于一段连续的地址中,也可以分散地存储于多段地址中。与此相对应,目标地址范围既可以为一段连续的地址范围,也可以为多段地址范围。
S32、根据所述度量信息进行可信度量,得到对应的度量结果。
本步骤中,利用度量信息中的目标地址范围和度量基准值进行可信度量,得到对应的度量结果。
本发明的实施例提供的可信度量方法,第二处理器能够接收来自第一处理器的度量请求,所述度量请求中携带度量信息,根据所述度量信息进行可信度量,得到对应的度量结果。由于度量信息由所述第一处理器根据自身的程序运行状况确定,而程序运行状况可以涉及程序运行过程中可能发生的任何情况,第二处理器根据度量信息中的目标地址范围和度量基准值执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
具体而言,在本发明的一个实施例中,度量信息中的度量基准值可以由第一处理器对所述目标地址范围内的数据执行预设算法得到;则基于此,步骤S32根据所述度量信息进行可信度量,得到对应的度量结果可以包括:根据所述度量请求,创建对应的度量任务;在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。其中,第二处理器进行可信度量时,对目标地址范围内的数据执行的运算算法与第一处理器确定度量基准值时采用的运算算法相同。这样,一旦目标地址范围内的数据被篡改,则计算出的实际度量值与度量基准值就会不一致,从而得出可能存在安全威胁的结论。示例性的,第二处理器(以安全处理器为例)的一种可信度量操作过程可以如图10所示。
进一步的,在本发明的一个实施例中,从第一处理器处得到的度量信息不仅可以包括目标地址范围和度量基准值,还可以其他与度量相关的信息,例如度量策略、威胁处理策略等。
可选的,度量策略可以包括以下一项或多项:度量频率、度量时机、度量算法。其中,度量频率可以为单位时间内进行可信度量的次数,例如10次/秒,度量时机可以为进行可信度量时的特定条件,例如某函数被调用时执行一次度量操作,度量算法可以为度量操作具体执行的算法,例如SHA2、MD5等。则基于此,步骤S32中根据所述度量信息进行可信度量,得到对应的度量结果具体可以包括:根据所述度量请求,创建对应的度量任务;在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。则基于此,步骤S32根据所述度量信息进行可信度量,得到对应的度量结果之后,本发明的实施例提供的可信度量方法还可以包括:根据可信度量的度量结果确定所述度量目标是否为威胁程序;在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理。
在威胁处理策略中,对于获取***控制权限而言,取决于安全处理器SP的能力,可以立即对***采取一定的控制措施,如清空目标地址内存、关机等。对于记录所述威胁程序的相关信息以供查询而言,度量结果是重要的***状态信息,反映***的可信度。外部需要时(比如远程认证或周期性监控)可以查询度量结果信息。SP提供了命令接口供外部查询相关度量结果,为保证查询结果的可靠性,SP利用内部签名密钥对结果数据进行签名,形成可信报告。外部收到该结果报告后通过验证签名可以确保度量结果的真实性。对于向目标对象发送报警通知而言,SP检测到度量异常时可以主动向外部发出异常通知。可选的,通知的形式可以有多种选择,示例性的,如图11所示,通知1为SP通过硬件机制给CPU发送一个中断;通知2为SP激活主板上通过电路连接的相关硬件设备,如喇叭或灯泡等;通知3为SP通过连接的网络给远程监控服务器发送通知。
进一步地,第二处理器除了可以接收来自第一处理器的度量请求并据此创建度量任务外,还可以在度量任务创建之后,进一步接收对于该度量任务的更新请求,并根据更新请求更新度量任务,继续执行更新后的度量任务。
为了避免度量信息更新引起的虚假度量错误,在本发明的一个实施例中,可以在对度量信息进行更新前,先暂停度量任务的执行,待度量信息更新完成后,再恢复度量任务的执行。
具体而言,在本发明的一个实施例中,步骤S31接收来自第一处理器的度量请求之后,本发明的实施例提供的可信度量方法还可以包括:接收来自所述第一处理器的暂停度量请求,并根据所述暂停度量请求,暂停度量操作;接收来自所述第一处理器的更新请求,所述更新请求携带更新信息;接收来自所述第一处理器的重启度量请求,并根据所述更新信息,重新进行可信度量。其中,第二处理器根据更新信息重新进行可信度量时,可以利用该更新信息更新本地的度量信息,并利用更新后的本地度量信息重新进行可信度量。
可选的,度量目标发生更新,具体可以涉及与该度量目标相关的多个方面,例如,所述度量目标内容的更新、所述度量目标的目标地址范围的更新等。在本发明的一个实施例中,度量信息不仅可以包括度量目标所在的内存地址范围以及该度量目标对应的度量基准值,还可以包括:度量策略、威胁处理策略。则基于此,度量目标的更新可以包括以下一项或多项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新。
其中,度量目标内容的更新,具体可以指度量目标的程序本身发生了更新,例如原来度量目标的程序中调用了函数func1,更新后度量目标的程序中调用了函数func2。由于度量目标的度量基准值是根据度量目标的内容计算出来的,度量目标的内容发生更新后,将直接导致该度量目标的度量基准值发生改变。度量目标的目标地址范围的更新,具体可以指度量目标本身的内容未发生变化,但度量目标存储的地址发生了变化。例如,原来度量目标存储在addr1中,现在存储在addr2中。这样,除了内容、地址固定不变的度量目标,本发明的实施例提供的可信度量方法也可以支持内容和/或地址可变的目标的可信度量,即使程序运行过程中可能发生改变,也可以进行动态地可信度量,从而大大扩展了可信度量的应用场景。
可选的,在度量信息中包括度量策略的情况下,度量策略可以包括以下一项或多项:度量频率、度量时机、度量算法。相应的,当度量策略发生更新时,该更新也可以涉及度量频率、度量时机、度量算法中的一项或多项的更新。
可选的,在度量信息中包括威胁处理策略的情况下,威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。相应的,当威胁处理策略发生更新时,该更新也可以涉及上述威胁处理中的一项或多项的更新。
本发明的实施例中,当更新请求指示度量目标发生了上述任一种或多种更新时,第二处理器可以将度量请求中的更新信息存入本地,并根据该更新信息进行可信度量。进一步地,当不再需要对度量目标进行可信度量时,第二处理器可以根据第一处理器的指示,结束对度量目标的度量,释放执行该度量任务所需的资源。
由于更新请求事关重大,将涉及此后第二处理器进行可信度量操作的依据,因此其安全性尤为重要。为防止针对度量任务的攻击,保证更新操作的可靠性,在本发明的一个实施例中,步骤S31接收来自所述第一处理器的更新请求可以包括:接收来自所述第一处理器的更新请求和验证信息;对所述验证信息进行安全验证;在安全验证通过的情况下,根据所述更新请求更新所述度量信息。可选的,验证信息既可以先于更新请求接收,也可以与更新请求一起接收。这样,第二处理器(例如安全处理器)根据第一处理器的请求,修改的度量任务时,需要进行相关授权验证,只有验证通过,相关修改操作才会成功。
本发明的实施例中,授权验证的保护对象是第二处理器中已经创建的度量任务,每个度量任务可以有自己对应的验证信息。第二处理器中的每个度量任务在第一处理器侧都有自己的所有者,即创建并有权修改该任务的程序或模块,称为度量任务所有者。根据程序结构的不同,多个度量任务可以对应一个共同的度量任务所有者,也可以分别对应多个不同的度量任务所有者。本发明的实施例对此不做限定。可选的,本发明的实施例中,验证信息可以包括授权码和/或度量任务所有者上下文信息。
其中,授权码可以为一串随机数序列,在度量任务创建时可以由第二处理器生成并返回给第一处理器,或者由第一处理器生成并传递给第二处理器。第二处理器可以为每个度量任务记录对应的授权码,同时授权码在第一处理器处由相应的度量任务所有者保管。后续在第一处理器通过命令接口操作度量任务时(例如度量目标内容改变需要更新度量任务时),需要提供对应的授权码给安全处理器进行验证,在验证通过的情况下,第二处理器才会更新度量信息并执行更新后的度量操作。
其中,度量任务所有者上下文信息可以包括度量任务所有者的程序进程号、程序名、模块名等信息。可选的,在本发明的一个实施例中,度量任务所有者上下文信息,可以在度量任务所有者调用第二处理器相关的命令接口时,由第一处理器中可信的度量驱动模块收集并发送给第二处理器。可选的,该可信的度量驱动模块可以是硬件模块,软件模块,或软件、硬件结合的模块。为减小信息传输量,在本发明的一个实施例中,还可以对这些上下文信息进行哈希(Hash)运算后只将Hash值发送给第二处理器,而无需发送完整的上下文信息。第二处理器可以在创建度量任务时,为该度量任务记录下初始的上下文信息。当后续遇到操作度量任务更新时(例如对度量信息进行更新时),第二处理器可以对上下文信息进行验证,只有通过验证,更新操作才会成功。
在发明的一个实施例中,验证信息可以同时包括验证码和度量任务所有者上下文信息,只有二者都通过验证,才执行对应的更新操作,从而进一步增强安全性。示例性的,本发明的实施例提供的一种验证过程可以如图7所示。
第四方面,本发明的实施例还提供一种可信度量装置,能够大大扩展可信度量的应用场景。
如图12所示,本发明的实施例提供的可信度量装置可以包括:
第一确定单元41,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
第一度量单元42,用于根据所述度量信息,对所述度量目标进行可信度量。
本发明的实施例提供的可信度量装置,能够根据程序运行状况,确定度量信息,并根据度量信息中度量目标在内存中的目标地址范围和所述度量目标的度量基准值,对所述度量目标进行可信度量。由于程序运行状况可以涉及程序运行过程中可能发生的任何情况,随着这些具体情况的发生而随时确定度量信息并执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
可选的,第一确定单元41可以包括:
第一获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
第一运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,第一度量单元42具体可以包括:
第一创建模块,用于根据所述度量信息,创建度量任务;
第二运算模块,用于在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
第一确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,本发明的实施例提供的可信度量装置还可以包括:
第一更新单元,用于响应于所述度量目标的更新,更新所述度量信息,得到更新信息;
第一度量单元42,还可以用于根据所述更新信息,继续对所述度量目标进行可信度量。
可选的,所述度量信息还包括威胁处理策略;所述装置还包括:
第一威胁确定单元,用于在根据所述度量信息,对所述度量目标进行可信度量之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;
第一威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止所述威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
第五方面,本发明的实施例还提供一种可信度量装置,该装置设置在第一处理器中,能够有效扩展可信度量的应用场景。
如图13所示,本发明的实施例提供的可信度量装置,设置于第一处理器中,所述装置可以包括:
第二确定单元51,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
发送单元52,用于向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息。
本发明的实施例提供的可信度量装置,第一处理器能够根据程序运行状况,确定度量信息,并根据度量信息请求第二处理器对所述度量目标进行可信度量。由于程序运行状况可以涉及程序运行过程中可能发生的任何情况,随着这些具体情况的发生而随时确定度量信息并指示第二处理器执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
可选的,第二确定单元51可以包括:
第二获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
第三运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
可选的,所述装置还可以包括第二更新单元;
发送单元52,还可以用于在向第二处理器发送度量请求之后,响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求;
第二更新单元,用于根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;
发送单元52,还用于:向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。
可选的,发送单元52,可具体用于向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。
可选的,所述度量信息还可以包括威胁处理策略;所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第六方面,本发明的实施例还提供一种可信度量装置,设置在第二处理器中,能够大大扩展可信度量的应用场景。
如图14所示,本发明的实施例提供的可信度量装置,设置于第二处理器,该装置可以包括:
接收单元61,用于接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值;
第二度量单元62,用于根据所述度量信息进行可信度量,得到对应的度量结果。
本发明的实施例提供的可信度量装置,第二处理器能够接收来自第一处理器的度量请求,所述度量请求中携带度量信息,根据所述度量信息进行可信度量,得到对应的度量结果。由于度量信息由所述第一处理器根据自身的程序运行状况确定,而程序运行状况可以涉及程序运行过程中可能发生的任何情况,第二处理器根据度量信息中的目标地址范围和度量基准值执行对应的度量操作,那么该度量操作就不仅可以针对已知目标进行,也能够针对随时可能出现的未知目标进行,从而大大扩展了可信度量的应用场景。
可选的,所述度量基准值由所述第一处理器对所述目标地址范围内的数据执行预设算法得到;第二度量单元62可以包括:
第二创建模块,用于根据所述度量请求,创建对应的度量任务;
第四运算模块,用于在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
第二确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;
第二度量单元62可以包括:
第三创建模块,用于根据所述度量请求,创建对应的度量任务;
第五运算模块,用于在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;
第三确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
可选的,所述装置还可以包括:暂停单元;接收单元61,还用于在接收来自第一处理器的度量请求之后,接收来自所述第一处理器的暂停度量请求;所述暂停单元,用于根据所述暂停度量请求,暂停度量操作;接收单元61,还用于:接收来自所述第一处理器的更新请求,所述更新请求携带更新信息;接收来自所述第一处理器的重启度量请求;第二度量单元62,还用于根据所述更新信息,重新进行可信度量。
可选的,接收单元61,具体可以用于:接收来自所述第一处理器的更新请求和验证信息;对所述验证信息进行安全验证;在安全验证通过的情况下,根据所述更新请求更新所述度量信息。
所述度量信息包括威胁处理策略;所述装置还包括:
第二威胁确定单元,用于根据所述度量信息进行可信度量,得到对应的度量结果之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;
第二威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
第七方面,如图15所示,本发明的实施例还提供一种服务器,包括:壳体100、至少一个处理器110、存储器120、电路板130和电源电路140,其中,电路板130安置在壳体100围成的空间内部,处理器110和存储器120设置在电路板130上;电源电路140,用于为上述服务器的各个电路或器件供电;存储器120用于存储可执行程序代码;处理器110通过读取存储器120中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种的可信度量方法。处理器110对上述步骤的具体执行过程以及处理器110通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
第八方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种的可信度量方法。处理器对上述步骤的具体执行过程以及处理器通过运行可执行程序代码来进一步执行的步骤,可以参见前述实施例的描述,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (30)
1.一种可信度量方法,其特征在于,所述方法包括:
根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
根据所述度量信息,对所述度量目标进行可信度量;
所述方法还包括:
响应于所述度量目标的更新,更新所述度量信息,得到更新信息;其中,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
根据所述更新信息,继续对所述度量目标进行可信度量。
2.根据权利要求1所述的方法,其特征在于,所述根据程序运行状况,确定度量信息包括:
响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述度量信息,对所述度量目标进行可信度量包括:
根据所述度量信息,创建度量任务;
在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
根据所述实际度量值与所述度量基准值是否一致,确定度量结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;
所述根据所述度量信息,对所述度量目标进行可信度量包括:
根据所述度量信息,创建度量任务;
在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;
根据所述实际度量值与所述度量基准值是否一致,确定度量结果。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述度量信息,对所述度量目标进行可信度量之后,所述方法还包括:
根据可信度量的度量结果确定所述度量目标是否为威胁程序;
在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止所述威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
6.一种可信度量方法,其特征在于,基于第一处理器,所述方法包括:
根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息;
所述向第二处理器发送度量请求之后,所述方法还包括:
响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求,其中,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;
向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;
根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。
7.根据权利要求6所述的方法,其特征在于,所述根据程序运行状况,确定度量信息包括:
响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
8.根据权利要求6所述的方法,其特征在于,所述度量信息还包括度量策略,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法。
9.根据权利要求6所述的方法,其特征在于,所述向所述第二处理器发送更新请求包括:
向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。
10.根据权利要求6至9中任一项所述的方法,其特征在于,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
11.一种可信度量方法,其特征在于,基于第二处理器,所述方法包括:
接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
根据所述度量信息进行可信度量,得到对应的度量结果;
所述接收来自第一处理器的度量请求之后,所述方法还包括:
接收来自所述第一处理器的暂停度量请求,并根据所述暂停度量请求,暂停度量操作;
接收来自所述第一处理器的更新请求,所述更新请求携带更新信息,其中,所述更新信息基于所述度量目标的更新得到,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
接收来自所述第一处理器的重启度量请求,并根据所述更新信息,重新进行可信度量。
12.根据权利要求11所述的方法,其特征在于,所述度量基准值由所述第一处理器对所述目标地址范围内的数据执行预设算法得到;
所述根据所述度量信息进行可信度量,得到对应的度量结果包括:
根据所述度量请求,创建对应的度量任务;
在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
13.根据权利要求11所述的方法,其特征在于,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;
所述根据所述度量信息进行可信度量,得到对应的度量结果包括:
根据所述度量请求,创建对应的度量任务;
在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;
根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
14.根据权利要求11所述的方法,其特征在于,所述接收来自所述第一处理器的更新请求包括:
接收来自所述第一处理器的更新请求和验证信息;
对所述验证信息进行安全验证;
在安全验证通过的情况下,根据所述更新请求更新所述度量信息。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述根据所述度量信息进行可信度量,得到对应的度量结果之后,所述方法还包括:
根据可信度量的度量结果确定所述度量目标是否为威胁程序;
在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止所述威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
16.一种可信度量装置,其特征在于,包括:
第一确定单元,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
第一度量单元,用于根据所述度量信息,对所述度量目标进行可信度量;
所述装置还包括:
第一更新单元,用于响应于所述度量目标的更新,更新所述度量信息,得到更新信息;其中,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
所述第一度量单元,还用于根据所述更新信息,继续对所述度量目标进行可信度量。
17.根据权利要求16所述的装置,其特征在于,所述第一确定单元包括:
第一获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
第一运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
18.根据权利要求16所述的装置,其特征在于,所述第一度量单元包括:
第一创建模块,用于根据所述度量信息,创建度量任务;
第二运算模块,用于在所述度量任务中,按照预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
第一确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定度量结果。
19.根据权利要求16至18中任一项所述的装置,其特征在于,所述装置还包括:
第一威胁确定单元,用于在根据所述度量信息,对所述度量目标进行可信度量之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;
第一威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止所述威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
20.一种可信度量装置,其特征在于,设置于第一处理器中,所述装置包括:
第二确定单元,用于根据程序运行状况,确定度量信息,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
发送单元,用于向第二处理器发送度量请求,以使所述第二处理器根据所述度量请求进行可信度量,其中,所述度量请求中携带所述度量信息;
所述装置还包括第二更新单元;
所述发送单元,还用于在向第二处理器发送度量请求之后,响应于所述度量目标的更新,向所述第二处理器发送暂停度量请求,其中,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
所述第二更新单元,用于根据所述第二处理器返回的暂停度量响应,更新所述度量信息,得到更新信息;
所述发送单元,还用于:
向所述第二处理器发送更新请求,所述更新请求携带所述更新信息;
根据所述第二处理器返回的更新响应,向所述第二处理器发送重启度量请求。
21.根据权利要求20所述的装置,其特征在于,所述第二确定单元包括:
第二获取模块,用于响应于第一程序发生第一事件,获取所述第一程序所在的内存地址范围,以所述内存地址范围为所述目标地址范围;其中,所述第一事件包括以下至少一项:启动、跳转、暂停、挂起、加载资源、调用接口、访问网络、中断请求、中断响应;
第三运算模块,用于按照预设算法对所述内存地址范围内的数据进行运算,得到所述第一程序对应的度量基准值。
22.根据权利要求20所述的装置,其特征在于,所述发送单元,具体用于向所述第二处理器发送更新请求和验证信息,以使所述第二处理器在对所述验证信息验证通过的情况下,根据所述更新请求更新所述度量信息。
23.根据权利要求20至22中任一项所述的装置,其特征在于,所述威胁处理策略包括以下至少一项:
获取***控制权限,以终止威胁程序;
记录所述威胁程序的相关信息,以供查询;
向目标对象发送报警通知。
24.一种可信度量装置,其特征在于,设置于第二处理器,所述装置包括:
接收单元,用于接收来自第一处理器的度量请求,所述度量请求中携带度量信息,所述度量信息由所述第一处理器根据自身的程序运行状况确定,所述度量信息包括度量目标在内存中的目标地址范围和所述度量目标的度量基准值,所述度量信息还包括:度量策略、威胁处理策略;
第二度量单元,用于根据所述度量信息进行可信度量,得到对应的度量结果;
所述装置还包括:暂停单元;
所述接收单元,还用于在接收来自第一处理器的度量请求之后,接收来自所述第一处理器的暂停度量请求;
所述暂停单元,用于根据所述暂停度量请求,暂停度量操作;
所述接收单元,还用于:
接收来自所述第一处理器的更新请求,所述更新请求携带更新信息,其中,所述更新信息基于所述度量目标的更新得到,所述度量目标的更新包括以下至少一项:所述度量目标内容的更新、所述度量目标的目标地址范围的更新、所述度量目标的度量策略的更新、所述度量目标的威胁处理策略的更新;
接收来自所述第一处理器的重启度量请求;
所述第二度量单元,还用于根据所述更新信息,重新进行可信度量。
25.根据权利要求24所述的装置,其特征在于,所述度量基准值由所述第一处理器对所述目标地址范围内的数据执行预设算法得到;
所述第二度量单元包括:
第二创建模块,用于根据所述度量请求,创建对应的度量任务;
第四运算模块,用于在所述度量任务中,按照所述预设算法,对所述目标地址范围内的数据进行运算,得到实际度量值;
第二确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
26.根据权利要求24所述的装置,其特征在于,所述度量策略包括以下至少一项:度量频率、度量时机、度量算法;
所述第二度量单元包括:
第三创建模块,用于根据所述度量请求,创建对应的度量任务;
第五运算模块,用于在所述度量任务中,根据所述度量策略,对所述目标地址范围内的数据进行运算,得到实际度量值;
第三确定模块,用于根据所述实际度量值与所述度量基准值是否一致,确定所述度量结果。
27.根据权利要求24所述的装置,其特征在于,所述接收单元,具体用于:
接收来自所述第一处理器的更新请求和验证信息;
对所述验证信息进行安全验证;
在安全验证通过的情况下,根据所述更新请求更新所述度量信息。
28.根据权利要求24至27中任一项所述的装置,其特征在于,所述装置还包括:
第二威胁确定单元,用于根据所述度量信息进行可信度量,得到对应的度量结果之后,根据可信度量的度量结果确定所述度量目标是否为威胁程序;
第二威胁处理单元,用于在所述度量目标为威胁程序的情况下,根据所述威胁处理策略,对所述威胁程序进行威胁处理,其中,所述威胁处理策略包括以下一项或多项:获取***控制权限,以终止所述威胁程序;记录所述威胁程序的相关信息,以供查询;向目标对象发送报警通知。
29.一种服务器,其特征在于,包括:壳体、至少一个处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述服务器的各个电路或器件供电;存储器用于存储可执行程序代码;所述至少一个处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-5或6-10或11-15中任一项所述的方法。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-5或6-10或11-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527968.XA CN113157543B (zh) | 2021-05-14 | 2021-05-14 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527968.XA CN113157543B (zh) | 2021-05-14 | 2021-05-14 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157543A CN113157543A (zh) | 2021-07-23 |
CN113157543B true CN113157543B (zh) | 2023-07-21 |
Family
ID=76875147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110527968.XA Active CN113157543B (zh) | 2021-05-14 | 2021-05-14 | 一种可信度量方法及装置、服务器、计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157543B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081034B (zh) * | 2022-07-21 | 2022-11-25 | 南方电网数字电网研究院有限公司 | 多重冗余方式实现的可信处理器芯片及片内可信度量方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257679B2 (en) * | 2004-10-01 | 2007-08-14 | Advanced Micro Devices, Inc. | Sharing monitored cache lines across multiple cores |
KR20080067774A (ko) * | 2007-01-17 | 2008-07-22 | 삼성전자주식회사 | 허가되지 않은 메모리 접근으로부터 비밀 영역을 보호하기위한 방법 및 시스템 |
CN104298917A (zh) * | 2014-11-14 | 2015-01-21 | 北京航空航天大学 | 一种基于tpm的虚拟机内应用程序完整性度量方法 |
CN107045605A (zh) * | 2016-02-05 | 2017-08-15 | 中兴通讯股份有限公司 | 一种实时度量方法及装置 |
US10200369B1 (en) * | 2016-02-16 | 2019-02-05 | Symantec Corporation | Systems and methods for dynamically validating remote requests within enterprise networks |
US20190303303A1 (en) * | 2018-03-29 | 2019-10-03 | Intel Corporation | System, method, and apparatus for detecting repetitive data accesses and automatically loading data into local cache to avoid performance inversion and waste of uncore resources |
CN112256390B (zh) * | 2020-10-22 | 2023-08-29 | 海光信息技术股份有限公司 | 一种度量管理方法及相关设备 |
-
2021
- 2021-05-14 CN CN202110527968.XA patent/CN113157543B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113157543A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9436827B2 (en) | Attesting a component of a system during a boot process | |
US11714910B2 (en) | Measuring integrity of computing system | |
CN109815698B (zh) | 用于执行安全动作的方法和非暂时性机器可读存储介质 | |
US20080163212A1 (en) | Paralleled management mode integrity checks | |
JP2018538633A (ja) | 複数のネットワークエンドポイントをセキュアにするためのデュアルメモリイントロスペクション | |
EP2937807B1 (en) | Monitoring device and monitoring method | |
US11055416B2 (en) | Detecting vulnerabilities in applications during execution | |
JP6306265B2 (ja) | マルウェア検出方法、及びマルウェア検出装置 | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
JP6030566B2 (ja) | 不正アプリケーション検知システム及び、方法 | |
JP6385842B2 (ja) | 情報処理端末、情報処理方法、及び情報処理システム | |
WO2021121382A1 (en) | Security management of an autonomous vehicle | |
US20180025158A1 (en) | System and method for detecting malware in a stream of bytes | |
JP2004013608A (ja) | プログラムの実行および転送の制御 | |
US11449602B1 (en) | Systems and methods for generating trust binaries | |
CN110647750A (zh) | 文件完整性度量方法、装置、终端及安全管理中心 | |
CN113157543B (zh) | 一种可信度量方法及装置、服务器、计算机可读存储介质 | |
CN110505246B (zh) | 客户端网络通讯检测方法、装置及存储介质 | |
JP4923925B2 (ja) | チェックプログラム、監視装置および監視方法 | |
CN115879099A (zh) | 一种dcs控制器、操作处理方法和防护子*** | |
JP2006146600A (ja) | 動作監視サーバ、端末装置及び動作監視システム | |
KR101320680B1 (ko) | 소프트웨어의 무결성 검사 장치 및 방법 | |
CN110597557B (zh) | 一种***信息获取方法、终端及介质 | |
JP2020004127A (ja) | コンピュータ資産管理システムおよびコンピュータ資産管理方法 | |
US20200244461A1 (en) | Data Processing Method and Apparatus |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049845 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |