CN110874467B - 信息处理方法、装置、系统以及处理器、存储介质 - Google Patents

信息处理方法、装置、系统以及处理器、存储介质 Download PDF

Info

Publication number
CN110874467B
CN110874467B CN201810995802.9A CN201810995802A CN110874467B CN 110874467 B CN110874467 B CN 110874467B CN 201810995802 A CN201810995802 A CN 201810995802A CN 110874467 B CN110874467 B CN 110874467B
Authority
CN
China
Prior art keywords
file system
checksum
trusted
root
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810995802.9A
Other languages
English (en)
Other versions
CN110874467A (zh
Inventor
杨骁�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810995802.9A priority Critical patent/CN110874467B/zh
Publication of CN110874467A publication Critical patent/CN110874467A/zh
Application granted granted Critical
Publication of CN110874467B publication Critical patent/CN110874467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

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

Abstract

本申请公开了一种信息处理方法、装置、系统以及处理器、存储介质。其中,该方法包括:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。本申请解决了相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的技术问题。

Description

信息处理方法、装置、系统以及处理器、存储介质
技术领域
本申请涉及信息处理领域,具体而言,涉及一种信息处理方法、装置、系统以及处理器、存储介质。
背景技术
随着物联网技术的快速发展,为增强中间设备的可靠性,现有技术通过可编程芯片来验证启动加载程序的可信度,并在启动加载程序的可信的情况下,进一步验证系统内核的可信度。但由于eMMC(Embedded Multi Media Card,嵌入式多媒体卡)类型的存储芯片比较新颖,现有技术无法在以eMMC类型的存储芯片作为外部存储的产品上,基于系统内核对根文件系统的可信度进行验证。目前的验证方案均是针对传统的NAND Flash(一种闪存芯片)存储芯片进行MTD(Memory Technology Device,存储技术设备)级别的验证来完成。
但在该方案中,必须在固件的编译阶段确定随机序列,而该过程可被攻击者避过绕过。另外,即使攻击者不知道随机序列,被篡改的文件也可能不在被抽样的字节区间之中,从而无法对被篡改的文件进行检测,导致根文件系统的可靠性差。
针对上述相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种信息处理方法、装置、系统以及处理器、存储介质,以至少解决相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的技术问题。
根据本发明实施例的一个方面,提供了一种信息处理方法,包括:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
根据本发明实施例的另一方面,还提供了一种信息处理装置,包括:装载模块,用于在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;验证模块,用于在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;确定模块,用于根据验证结果确定根文件系统是否可信。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行如下步骤:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
根据本发明实施例的另一方面,还提供了一种信息处理系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
在本发明实施例中,采用基于中间文件系统对根文件系统进行验证的方式,通过对系统内核是否可信进行验证,在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件。进一步的,在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果,并根据验证结果确定根文件系统是否可信。
在上述过程中,在确定系统内核可信的情况下,系统内核携带的中间文件系统也是可信的,因此,使用系统内核携带的中间文件系统对根文件系统中的可执行文件进行验证,可以提高根文件系统中可执行文件验证结果的准确性以及可靠性,进而,在可执行文件可靠的情况下,保证了根文件系统的可靠性。
由此可见,本申请所提供的方案可以解决相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现信息处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种信息处理方法的流程图;
图3是根据本申请实施例的一种可选的信息处理方法的流程图;
图4是根据本申请实施例的一种信息处理装置的结构示意图;以及
图5是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
MTD,存储技术设备,Memory Technology Device的简称。对Linux内核来说,常见的外设包括字符型外设和块设备类型外设,其中,字符型外设可以从Linux内核中读取数据,但无法随机寻址,也没有固定的大小,例如,键盘和鼠标;块设备类型外设有固定的大小,但不可随机寻址,例如,磁盘。而类似NAND Flash的外设既不是字符型设备也不是块型设备,例如,NAND Flash不能区分写入和擦除的操作,为此,Linux内核创建了第三种设备驱动类型,称为MTD。
eFUSE,一种可编程芯片,其允许对计算机系统的芯片进行动态编程。即计算机逻辑被“硬编码”到芯片上并且一旦生产完成便无法更改,然而,通过eFUSE,芯片厂商可以使芯片上的电路逻辑在实际加电运行中还可以改变。
Bootloader,一种计算机程序,用于在硬件加电自检完成后进行操作系统内核的装载。由于Bootloader和OS内核脱离,因此,当OS内核无法启动时,Bootloader仍然能够正常工作,以对系统进行恢复。
OS内核,指操作系统内核,在本申请中指Linux操作系统内核。
initramfs,指临时的根文件系统,该根文件系统在运行时整体存在于RAM中,其可应用于Linux内核2.6.13版本的系统中。其中,initramfs是cpio格式的文件,可由内核解压到tmpfs文件系统后作为根文件系统使用。需要说明的是,initramfs无需中间文件系统或者块设备即可编译至内核。
cpio,用于建立、还原备份档的工具程序。
tmpfs,指一种基于内存的文件系统。
rootfs,在本申请中,指部署在可持久化非易失外部存储器上,系统软件存在的文件系统,用于部署电子设备供应商提供的自带软件和服务。与应用文件系统相比,应用文件系统的存放位置主要是由电子设备的购买者所设置的,是由第三方独立软件提供商开发和发布的应用程序文件系统。
实施例1
根据本申请实施例,还提供了一种信息处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现信息处理方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的信息处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的信息处理方法,其中,处理信息的系统可执行本申请所提供的信息处理方法。图2是根据本申请实施例一的信息处理方法的流程图,由图2可知,本申请所提供的信息处理方法包括如下步骤:
步骤S202,在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件。
需要说明的是,上述系统内核为操作系统的内容,例如,Windows操作系统的内核、Linux操作系统的内核。在系统内核为Linux操作系统内核的情况下,系统内核可以为4.4版本的开源的Linux操作系统的内核。另外,系统内核携带的中间文件系统可以为但不限于initramfs形式的中间文件系统,该中间文件系统可对根文件系统进行验证。
此外,还需要说明的是,中间文件系统仅对根文件系统进行装载,但并不启动根文件系统中的可执行文件,在将根文件系统装载至中间文件系统中之前,电子设备控制控制根文件系统中的至少一个可执行文件停止运行。
在一种可选的方案中,启动加载程序可对系统内核进行验证,确定系统内核是否可信。在确定系统内核可信的情况下,电子设备将根文件系统装载至initramfs中,并在initramfs对根文件系统进行验证。
步骤S204,在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果。
在步骤S204中,在将根文件系统装载至中间文件系统之后,电子设备在中间文件系统中对可执行文件进行验证。容易注意到的是,虽然initramfs是内核镜像的组成部分,但initramfs是cpio格式的压缩文件系统,其运行在RAM中,并且initramfs中的所有可执行程序或脚本都在用户态的空间中执行,可由用户进行灵活的开发和编程。因此,基于initramfs(即中间文件系统)可对根文件系统的可靠性和完整性进行简单快捷的验证。
另外,对于根文件系统,所有对安全性造成威胁的攻击软件均是伴随Linux系统自动启动的,或者至少有一部分攻击软件是自启动的,以用来唤醒可进行恶意行为的其他攻击软件。如果攻击软件全部不进行自启动,则由于电子设备经常会掉电或者重启,导致攻击软件在工作过程中断电,停止工作,不会对系统造成威胁。由此可见,自启动服务脚本和自启动服务程序是判断根文件系统是否可信的关键要素,而它们在Flash以普通文件的形式存在,对于Linux内核态逻辑而言,只能以块设备或者分区的形式对根文件系统进行全分区的校验和的比对或者分区上的抽样比对,但对initramfs(即中间文件系统),initramfs运行在用户态空间,并具备最小集合的初始化系统,其可认为是一个被尝试运行的上层软件模块。
由上述内容可知,传统的采用Linux内核的逻辑代码验证根文件系统的方案导致技术手段受限,实现方法不灵活。而在中间文件系统中装载根文件系统,但并不启动根文件系统中的任何可执行文件,对关键性的所有自启动服务脚本和自启动服务二进制程序进行校验和的比对,可得到对至少一个可执行文件的验证结果,可以达到灵活验证的效果。
步骤S206,根据验证结果确定根文件系统是否可信。
需要说明的是,在得到验证结果之后,根据验证结果即可确定根文件系统是否可信。可选的,在验证结果指示根文件系统中的列表与中间文件系统中的列表完全一致的情况下,电子设备可确定根文件系统可信;否则,电子设备可确定根文件系统不可信。
基于上述步骤S202至步骤S206所限定的方案,可以获知,采用基于中间文件系统对根文件系统进行验证的方式,通过对系统内核是否可信进行验证,在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件。进一步的,在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果,并根据验证结果确定根文件系统是否可信。
容易注意到的是,在确定系统内核可信的情况下,系统内核携带的中间文件系统也是可信的,因此,使用系统内核携带的中间文件系统对根文件系统中的可执行文件进行验证,可以提高根文件系统中可执行文件验证结果的准确性以及可靠性,进而,在可执行文件可靠的情况下,保证了根文件系统的可靠性。
由此可见,本申请所提供的方案可以解决相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的技术问题。
需要说明的是,在确定系统内核可信之前,首先需要确定启动装载程序是否可信,其中,启动装载程序可以为但不限于Bootloader程序。可选的,确定启动装载程序是否可信的方法可以包括如下步骤:
步骤S10,在确定电子设备无硬件损伤的情况下,获取启动装载程序所包含的第一公钥;
步骤S12,计算第一公钥的第一校验和;
步骤S14,比对第一校验和与第一预设校验和的比特位,得到第一比对结果;
步骤S16,在第一比对结果指示第一校验和与第一预设校验和一致的情况下,确定启动装载程序可信;
步骤S18,在第一比对结果指示第一校验和与第一预设校验和不一致的情况下,确定启动装载程序不可信。
需要说明的是,步骤S10中的电子设备可以为实现智能控制器与智能设备之间的中间设备,例如,在企业办公的场景中,智能控制器为手机,智能设备为打印机,则电子设备为将智能手机接收到的请求转发为打印机能够处理的数据的设备。
具体的,在接通电源之后,电子设备进行加电硬件自检测,以确定电子设备的硬件是否有损伤,例如,检测电子设备的散热板是否能够正常散热。在确认电子设备无硬件损伤之后,电子设备中的eFUSE及BootROM电路逻辑查找到启动装载程序所包含的第一公钥,并计算第一公钥的SHA256校验和,即第一校验和。其中,SHA256校验和表示哈希值为256位的校验和。在得到第一校验和之后,电子设备将第一校验和与第一预设校验和进行逐个比特位的比对。在第一比对结果指示第一校验和的比特位与第一预设校验和的比特位全部相同时,确定启动装载程序可信;如果第一校验和中存在一个或多个比特位与第一预设校验和的比特位不同,则确定启动装载程序不可信。
此外,还需要说明的是,在上述过程中,第一预设校验和为存储在可编程芯片中的校验和。可选的,第一预设校验和为在生产电子设备的生产线上烧录到eFUSE中的校验和。
进一步的,在确定启动装载程序可信的情况下,电子设备再确定系统内核是否可信,其中,确定系统内核是否可信的过程可以包括如下步骤:
步骤S20,获取加密签名;
步骤S22,根据启动装载程序对加密签名进行解密,得到系统内核中的第二校验和;
步骤S24,逐个比对第二校验和与第二预设校验和的比特位,得到第二比对结果;
步骤S26,在第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定系统内核可信。
具体的,在确定启动装载程序可信的情况下,电子设备从系统内核中获取系统内核的加密签名,其中,加密签名可以为RSA签名,RSA为Ron Rivest、Adi Shmir、LeonardAdleman三人所提供的一种非对称加密算法。在得到加密签名之后,电子设备用采用已经验证过得第一公钥对加密签名进行解密,从而得到系统内核中的SHA256校验和,即得到第二校验和。在得到第二校验和之后,电子设备进一步将第二校验和与第二预设校验和进行逐个比特位的比对。在第二比对结果指示第二校验和的比特位与第二预设校验和的比特位全部相同时,确定内核系统可信;如果第二校验和中存在一个或多个比特位与第二预设校验和的比特位不同,则确定内核系统不可信。
需要说明的是,在上述过程中,第二预设校验和为预加载的系统内核中的校验和。可选的,第二预设校验和为SHA256校验和。
在确定系统内核可信的情况下,电子设备可将根文件系统装载至中间文件系统中,并在中间文件系统中对根文件系统中的可执行文件进行验证。可选的,电子设备可采用如下任意一种方式来对可执行文件进行验证。
第一种方式:采用校验和的验证方式进行验证。具体步骤如下:
步骤S30,获取根文件系统中的至少一个可执行文件,其中,至少一个可执行文件包括如下至少之一:自启动文件、非自启动文件;
步骤S32,计算至少一个可执行文件的第三校验和;
步骤S34,比对第三校验和与第三预设校验和,得到第三比对结果;
步骤S36,根据第三比对结果确定验证结果。其中,在验证结果指示每个可执行文件的校验和均与第三校验和相同的情况下,确定根文件系统可信;在验证结果指示至少一个可执行文件的校验和与第三校验和存在差异的情况下,确定根文件系统均不可信。
需要说明的是,上述第三校验和为预先存储在中间文件系统中的校验和。在电子设备的启动时间足够长的情况下,例如,电子设备的启动时长大于预设时长时,对根文件系统中所有的具有可执行权限的文件进行校验和的比对。进一步的,电子设备还可对全文件系统的文件进行校验和比对,以保证全文件系统中的所有文件在运行期间的内容,与其在编译期间的内容完全一致。其中,全文件系统中的所有文件在编译器
第二种方式:采用非对称加解密的验证方式进行验证。具体步骤如下:
步骤S40,获取部署在中间文件系统中的第二公钥以及根文件系统中每个可执行文件对应的签名;
步骤S42,基于第二公钥对签名进行解密,得到解密结果;
步骤S44,比对解密结果与每个可执行文件的校验和,得到第四比对结果;
步骤S46,根据第四比对结果确定验证结果。其中,在验证结果指示解密结果与每个可执行文件的校验和相同的情况下,确定根文件系统可信;在验证结果指示解密结果与至少一个可执行文件的校验和存在差异的情况下,确定根文件系统不可信。
具体的,电子设备在中间文件系统中部署有第二公钥,在根文件系统中对所有的可执行文件部署对应的私钥产生的签名,并使用第二公钥对签名进行解密,得到解密结果。然后,电子设备再通过比对解密结果与每个可执行文件的校验和来确定根文件系统是否可信。
第三种方式:采用对根文件系统中文件列表验证的验证方式进行验证。具体步骤如下:
步骤S50,获取根文件系统中的第一文件列表的第一列表信息以及中间文件系统的第二文件列表的第二列表信息,其中,第一列表信息至少包括如下之一:第一文件列表所包含的文件数目、文件校验和、文件位置,第二列表信息至少包括如下之一:第二文件列表所包含的文件数目、文件校验和、文件位置;
步骤S52,比对第一列表信息以及第二列表信息,得到第五比对结果;
步骤S54,根据第五比对结果确定验证结果。其中,在验证结果指示第一列表信息以及第二列表信息完全一致的情况下,确定根文件系统可信;在验证结果指示第一列表信息以及第二列表信息存在差异的情况下,确定根文件系统不可信。
可选的,电子设备在得到根文件系统中的第一列表信息之后,首先比对第一列表信息中的文件数目是否与第二列表信息中的文件数据相同,如果不相同,则确定根文件系统不可信;如果相同,则继续比对第一文件列表中的文件校验和与第二文件列表中的文件校验和是否相同。如果两者的文件校验和也相同,则进一步比对第一文件列表中的文件位置与第二文件列表中的文件位置是否相同,如果两者也相同,则可确定根文件系统可信。
需要说明的是,对文件列表信息的比对顺序不限于上述比对顺序。另外,也可采取对文件列表信息进行并列比对的方式对根文件系统进行验证。
此外,还需要说明的是,上述步骤S50至步骤S54所限定的验证方案可以保证根文件系统中的文件中不存在恶意删除或者恶意增减的文件,从而保证了根文件系统的可靠性。
进一步的,在根文件系统中的所有可执行文件的均验证为可信的可执行文件的情况下,说明攻击者无法对根文件系统中的可执行文件进行篡改。由于中间文件系统已经装载了根文件系统,因此,此时,中间文件系统可继续执行切换步骤:
步骤S60,在确定根文件系统可信的情况下,将至少一个可执行文件的根挂载点由中间文件系统切换至根文件系统;
步骤S62,启动至少一个可执行文件。
具体的,电子设备在确定根文件系统可信的情况下,将根文件系统的根挂载点由中间文件系统切换至根文件系统,并启动之前被中止的可执行文件,以完成可执行文件的正常启动。
在一种可选的方案中,图3示出了一种可选的信息处理方法的流程图。由图3可知,该过程如下:首先,电子设备在接通电源之后,从启动装载程序中获取公钥,并计算该公钥的校验和(即第一校验和)。同时,电子设备还从eFUSE中获取预先烧录至eFUSE中的校验和(即第一预设校验和),并对第一校验和与第二校验和进行哈希匹配。其中,在哈希匹配的结果指示第一校验和与第一预设校验和不匹配的情况下,则可确定启动装载程序不可信,并停止进行后续的验证流程;在哈希匹配的结果指示第一校验和与第一预设校验和匹配的情况下,则进一步对公钥中的签名进行验证,其中,在签名验证失败的情况下,确定系统内核不可信,并停止进行后续的验证流程;在签名验证成功的情况下,获取启动装载程序中通过公钥验证的签名,计算得到系统内核的校验和。然后电子设备在获取到预加载的系统内核中的校验和,对两个校验和进行逐个比特位的比对。如果比对结果指示两个校验和的比特位存在差异,则确定根文件系统不可信,并停止进行后续的验证流程;如果比对结果指示两个校验和的比特位完全相同,电子设备解压装载内核系统中的中间文件系统,并将根文件系统装载至中间文件系统中,然后比对根文件系统中的校验和与中间文件中的校验和是否完全相同。如果完全相同,则电子设备启动根文件系统中的可执行文件,否则,确定根文件系统不可信,并禁止启动根文件系统中的可执行文件。
需要说明的是,本申请所提供的方案克服了现有技术需要在Linux内核态编写逻辑的缺点,降低开发难度,并且开发者无需了解Linux内核的编程知识,甚至无需对Linux内核的驱动和文件系统部分有任何了解,即可在用户态进行验证逻辑的编写,以使得项目对系统开发者的要求降低为普通Linux用户的要求。另外,本申请所提供的方案还克服了传统的固件验证方式的灵活性差的缺陷,例如,FOTA(Firmware Over-The-Air,即移动终端的空中下载软件升级)远程固件升级通过升级根文件系统来更新上层软件导致编译阶段所存放在内核中的期望文件系统,与被部署的实际文件系统不一致,在这种情况下,文件系统并未受到攻击,仅是一种正常的业务场景。在传统的验证方案中,将会中止根文件系统的启动,而本申请所提供的方案则可对上社会场景进行有效分辨。另外,在中间文件系统(例如,initramfs)中对根文件系统进行验证的范围更为灵活,可以是自启动服务程序与服务脚本相结合的验证方式,也可以是所有可执行程序与脚本相结合的验证方式,还可以为全量文件系统文件的验证方式。最后,进行验证的具体手段也较为灵活,可以采用校验和比对的方式进行验证,也可采用签名验签的方式进行验证,其中,签名算法可以为RSA算法、DSA算法等非对称加解密算法。本申请所提供的方案的灵活性还使得应用本申请所提供方案的软件系统具有更高的适应性。
此外,还需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的信息处理方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述信息处理方法的信息处理装置,如图4所示,该装置400包括:装载模块401、验证模块403以及确定模块405。
其中,装载模块401,用于在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;验证模块403,用于在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;确定模块405,用于根据验证结果确定根文件系统是否可信。
此处,需要说明的是,上述装载模块401、验证模块403以及确定模块405对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,信息处理装置还包括:第一确定模块,其中,第一确定模块包括:第一获取模块、第一计算模块、第一比对模块、第二确定模块以及第三确定模块。具体的,第一确定模块,用于确定启动装载程序是否可信;第一获取模块,用于在确定电子设备无硬件损伤的情况下,获取启动装载程序所包含的第一公钥;第一计算模块,用于计算第一公钥的第一校验和;第一比对模块,用于比对第一校验和与第一预设校验和的比特位,得到第一比对结果;第二确定模块,用于在第一比对结果指示第一校验和与第一预设校验和一致的情况下,确定启动装载程序可信;第三确定模块,用于在第一比对结果指示第一校验和与第一预设校验和不一致的情况下,确定启动装载程序不可信。
此处,需要说明的是,上述第一获取模块、第一计算模块、第一比对模块、第二确定模块以及第三确定模块对应于实施例1中的步骤S10至步骤S18,五个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,在确定启动装载程序可信的情况下,信息处理装置还包括:第四确定模块,用于确定系统内核是否可信。其中,第四确定模块包括:第二获取模块、第一解密模块、第二比对模块、第五确定模块以及第六确定模块。其中,第二获取模块,用于获取加密签名;第一解密模块,用于根据启动装载程序对加密签名进行解密,得到系统内核中的第二校验和;第二比对模块,用于逐个比对第二校验和与第二预设校验和的比特位,得到第二比对结果;第五确定模块,用于在第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定系统内核可信;第六确定模块,用于在第二比对结果指示第二校验和与第二预设校验和存在差异的情况下,确定系统内核不可信。
此处,需要说明的是,上述第一解密模块、第二比对模块、第五确定模块以及第六确定模块对应于实施例1中的步骤S20至步骤S26,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,验证模块包括:第三获取模块、第二计算模块、第三比对模块以及第七确定模块。其中,第三获取模块,用于获取根文件系统中的至少一个可执行文件,其中,至少一个可执行文件包括如下至少之一:自启动文件、非自启动文件;第二计算模块,用于计算至少一个可执行文件的第三校验和;第三比对模块,用于比对第三校验和与第三预设校验和,得到第三比对结果;第七确定模块,用于根据第三比对结果确定验证结果。
此处,需要说明的是,上述第三获取模块、第二计算模块、第三比对模块以及第七确定模块对应于实施例1中的步骤S30至步骤S36,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,确定模块包括:第八确定模块以及第九确定模块。其中,第八确定模块,用于在验证结果指示每个可执行文件的校验和均与第三校验和相同的情况下,确定根文件系统可信;第九确定模块,用于在验证结果指示至少一个可执行文件的校验和与第三校验和存在差异的情况下,确定根文件系统均不可信。
在一种可选的方案中,验证模块包括:第四获取模块、处理模块、第四比对模块以及第十确定模块。其中,第四获取模块,用于获取部署在中间文件系统中的第二公钥以及根文件系统中每个可执行文件对应的签名;处理模块,用于基于第二公钥对签名进行解密,得到解密结果;第四比对模块,用于比对解密结果与每个可执行文件的校验和,得到第四比对结果;第十确定模块,用于根据第四比对结果确定验证结果。
此处,需要说明的是,上述第四获取模块、处理模块、第四比对模块以及第十确定模块对应于实施例1中的步骤S40至步骤S46,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,确定模块包括:第十一确定模块以及第十二确定模块。其中,第十一确定模块,用于在验证结果指示解密结果与每个可执行文件的校验和相同的情况下,确定根文件系统可信;第十二确定模块,用于在验证结果指示解密结果与至少一个可执行文件的校验和存在差异的情况下,确定根文件系统不可信。
在一种可选的方案中,验证模块包括:第五获取模块、第五比对模块以及第十三确定模块。其中,第五获取模块,用于获取根文件系统中的第一文件列表的第一列表信息以及中间文件系统的第二文件列表的第二列表信息,其中,第一列表信息至少包括如下之一:第一文件列表所包含的文件数目、文件校验和、文件位置,第二列表信息至少包括如下之一:第二文件列表所包含的文件数目、文件校验和、文件位置;第五比对模块,用于比对第一列表信息以及第二列表信息,得到第五比对结果;第十三确定模块,用于根据第五比对结果确定验证结果。
此处,需要说明的是,上述第五获取模块、第五比对模块以及第十三确定模块对应于实施例1中的步骤S50至步骤S54,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
在一种可选的方案中,确定模块包括:第十四确定模块以及第十五确定模块。其中,第十四确定模块,用于在验证结果指示第一列表信息以及第二列表信息完全一致的情况下,确定根文件系统可信;第十五确定模块,用于在验证结果指示第一列表信息以及第二列表信息存在差异的情况下,确定根文件系统不可信。
在一种可选的方案中,信息处理装置还包括:控制模块。其中,控制模块,用于控制根文件系统中的至少一个可执行文件停止运行。
在一种可选的方案中,信息处理装置还包括:切换模块以及启动模块。其中,切换模块,用于在确定根文件系统的情况下,将至少一个可执行文件的根挂载点由中间文件系统切换至根文件系统;启动模块,用于启动至少一个可执行文件。
此处,需要说明的是,上述切换模块以及启动模块对应于实施例1中的步骤S60至步骤S60,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
根据本申请实施例,还提供了一种用于实施上述信息处理方法的信息处理系统,该系统包括:处理器以及存储器。
其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:
在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确根文件系统是否可信。
由上可知,采用基于中间文件系统对根文件系统进行验证的方式,通过对系统内核是否可信进行验证,在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件。进一步的,在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果,并根据验证结果确定根文件系统是否可信。
容易注意到的是,在确定系统内核可信的情况下,系统内核携带的中间文件系统也是可信的,因此,使用系统内核携带的中间文件系统对根文件系统中的可执行文件进行验证,可以提高根文件系统中可执行文件验证结果的准确性以及可靠性,进而,在可执行文件可靠的情况下,保证了根文件系统的可靠性。
由此可见,本申请所提供的方案可以解决相关技术中基于嵌入式多媒体卡的产品的根文件系统的可靠性差的技术问题。
需要说明的是,本实施例所提供的信息处理系统可执行实施例1中的信息处理方法,详细内容已在实施例1中进行说明,在此不再赘述。
实施例4
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行信息处理方法中以下步骤的程序代码:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
可选地,图5是根据本申请实施例的一种计算机终端的结构框图。如图5所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器502、存储器504以及传输装置506。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的信息处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的信息处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
可选的,上述处理器还可以执行如下步骤的程序代码:确定启动装载程序是否可信包括:在确定电子设备无硬件损伤的情况下,获取启动装载程序所包含的第一公钥;计算第一公钥的第一校验和;比对第一校验和与第一预设校验和的比特位,得到第一比对结果;在第一比对结果指示第一校验和与第一预设校验和一致的情况下,确定启动装载程序可信;在第一比对结果指示第一校验和与第一预设校验和不一致的情况下,确定启动装载程序不可信。
可选的,上述处理器还可以执行如下步骤的程序代码:获取加密签名;根据启动装载程序对加密签名进行解密,得到系统内核中的第二校验和;逐个比对第二校验和与第二预设校验和的比特位,得到第二比对结果;在第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定系统内核可信;在第二比对结果指示第二校验和与第二预设校验和存在差异的情况下,确定系统内核不可信。
可选的,上述处理器还可以执行如下步骤的程序代码:获取根文件系统中的至少一个可执行文件,其中,至少一个可执行文件包括如下至少之一:自启动文件、非自启动文件;计算至少一个可执行文件的第三校验和;比对第三校验和与第三预设校验和,得到第三比对结果;根据第三比对结果确定验证结果。
可选的,上述处理器还可以执行如下步骤的程序代码:在验证结果指示每个可执行文件的校验和均与第三校验和相同的情况下,确定根文件系统可信;在验证结果指示至少一个可执行文件的校验和与第三校验和存在差异的情况下,确定根文件系统均不可信。
可选的,上述处理器还可以执行如下步骤的程序代码:获取部署在中间文件系统中的第二公钥以及根文件系统中每个可执行文件对应的签名;基于第二公钥对签名进行解密,得到解密结果;比对解密结果与每个可执行文件的校验和,得到第四比对结果;根据第四比对结果确定验证结果。
可选的,上述处理器还可以执行如下步骤的程序代码:在验证结果指示解密结果与每个可执行文件的校验和相同的情况下,确定根文件系统可信;在验证结果指示解密结果与至少一个可执行文件的校验和存在差异的情况下,确定根文件系统不可信。
可选的,上述处理器还可以执行如下步骤的程序代码:获取根文件系统中的第一文件列表的第一列表信息以及中间文件系统的第二文件列表的第二列表信息,其中,第一列表信息至少包括如下之一:第一文件列表所包含的文件数目、文件校验和、文件位置,第二列表信息至少包括如下之一:第二文件列表所包含的文件数目、文件校验和、文件位置;比对第一列表信息以及第二列表信息,得到第五比对结果;根据第五比对结果确定验证结果。
可选的,上述处理器还可以执行如下步骤的程序代码:在验证结果指示第一列表信息以及第二列表信息完全一致的情况下,确定根文件系统可信;在验证结果指示第一列表信息以及第二列表信息存在差异的情况下,确定根文件系统不可信。
可选的,上述处理器还可以执行如下步骤的程序代码:控制根文件系统中的至少一个可执行文件停止运行。
可选的,上述处理器还可以执行如下步骤的程序代码:在确定至少一个根文件系统可信的情况下,将至少一个可执行文件的根挂载点由中间文件系统切换至根文件系统;启动至少一个可执行文件。
本领域普通技术人员可以理解,图5所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图5其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的信息处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,系统内核携带有中间文件系统,根文件系统中包含至少一个可执行文件;在中间文件系统中,对至少一个可执行文件进行验证,得到验证结果;根据验证结果确定根文件系统是否可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在确定电子设备无硬件损伤的情况下,获取启动装载程序所包含的第一公钥;计算第一公钥的第一校验和;比对第一校验和与第一预设校验和的比特位,得到第一比对结果;在第一比对结果指示第一校验和与第一预设校验和一致的情况下,确定启动装载程序可信;在第一比对结果指示第一校验和与第一预设校验和不一致的情况下,确定启动装载程序不可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取加密签名;根据启动装载程序对加密签名进行解密,得到系统内核中的第二校验和;逐个比对第二校验和与第二预设校验和的比特位,得到第二比对结果;在第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定系统内核可信;在第二比对结果指示第二校验和与第二预设校验和存在差异的情况下,确定系统内核不可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取根文件系统中的至少一个可执行文件,其中,至少一个可执行文件包括如下至少之一:自启动文件、非自启动文件;计算至少一个可执行文件的第三校验和;比对第三校验和与第三预设校验和,得到第三比对结果;根据第三比对结果确定验证结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在验证结果指示每个可执行文件的校验和均与第三校验和相同的情况下,确定根文件系统可信;在验证结果指示至少一个可执行文件的校验和与第三校验和存在差异的情况下,确定根文件系统不可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取部署在中间文件系统中的第二公钥以及根文件系统中每个可执行文件对应的签名;基于第二公钥对签名进行解密,得到解密结果;比对解密结果与每个可执行文件的校验和,得到第四比对结果;根据第四比对结果确定验证结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在验证结果指示解密结果与每个可执行文件的校验和相同的情况下,确定根文件系统可信;在验证结果指示解密结果与至少一个可执行文件的校验和存在差异的情况下,确定根文件系统不可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取根文件系统中的第一文件列表的第一列表信息以及中间文件系统的第二文件列表的第二列表信息,其中,第一列表信息至少包括如下之一:第一文件列表所包含的文件数目、文件校验和、文件位置,第二列表信息至少包括如下之一:第二文件列表所包含的文件数目、文件校验和、文件位置;比对第一列表信息以及第二列表信息,得到第五比对结果;根据第五比对结果确定验证结果。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在验证结果指示第一列表信息以及第二列表信息完全一致的情况下,确定根文件系统可信;在验证结果指示第一列表信息以及第二列表信息存在差异的情况下,确定根文件系统不可信。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:控制根文件系统中的至少一个可执行文件停止运行。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在确定根文件系统可信的情况下,将至少一个可执行文件的根挂载点由中间文件系统切换至根文件系统;启动至少一个可执行文件。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (15)

1.一种信息处理方法,其特征在于,包括:
在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,所述系统内核携带有所述中间文件系统,所述根文件系统中包含至少一个可执行文件;
在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果;
根据所述验证结果确定所述根文件系统是否可信;
其中,确定所述系统内核是否可信包括:获取加密签名;根据启动装载程序对加密签名进行解密,得到所述系统内核中的第二校验和;逐个比对所述第二校验和与第二预设校验和的比特位,得到第二比对结果;在所述第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定所述系统内核可信。
2.根据权利要求1所述的方法,其特征在于,在确定系统内核可信之前,所述方法还包括:
确定启动装载程序是否可信包括:
在确定电子设备无硬件损伤的情况下,获取所述启动装载程序所包含的第一公钥;
计算所述第一公钥的第一校验和;
比对所述第一校验和与第一预设校验和的比特位,得到第一比对结果;
在所述第一比对结果指示所述第一校验和与所述第一预设校验和一致的情况下,确定所述启动装载程序可信;
在所述第一比对结果指示所述第一校验和与所述第一预设校验和不一致的情况下,确定所述启动装载程序不可信。
3.根据权利要求2所述的方法,其特征在于,所述确定所述系统内核是否可信还包括:
在所述第二比对结果指示所述第二校验和与所述第二预设校验和存在差异的情况下,确定所述系统内核不可信。
4.根据权利要求1所述的方法,其特征在于,在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果,包括:
获取所述根文件系统中的至少一个可执行文件,其中,所述至少一个可执行文件包括如下至少之一:自启动文件、非自启动文件;
计算所述至少一个可执行文件的第三校验和;
比对所述第三校验和与第三预设校验和,得到第三比对结果;
根据所述第三比对结果确定所述验证结果。
5.根据权利要求4所述的方法,其特征在于,根据所述验证结果确定所述根文件系统是否可信,包括:
在所述验证结果指示每个可执行文件的校验和均与所述第三校验和相同的情况下,确定所述根文件系统可信;
在所述验证结果指示所述至少一个可执行文件的校验和与所述第三校验和存在差异的情况下,确定所述根文件系统不可信。
6.根据权利要求1所述的方法,其特征在于,在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果,包括:
获取部署在所述中间文件系统中的第二公钥以及所述根文件系统中每个可执行文件对应的签名;
基于所述第二公钥对所述签名进行解密,得到解密结果;
比对所述解密结果与所述每个可执行文件的校验和,得到第四比对结果;
根据所述第四比对结果确定所述验证结果。
7.根据权利要求6所述的方法,其特征在于,根据所述验证结果确定所述根文件系统是否可信,包括:
在所述验证结果指示所述解密结果与所述每个可执行文件的校验和相同的情况下,确定所述根文件系统可信;
在所述验证结果指示所述解密结果与所述至少一个可执行文件的校验和存在差异的情况下,确定所述根文件系统不可信。
8.根据权利要求1所述的方法,其特征在于,在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果,包括:
获取所述根文件系统中的第一文件列表的第一列表信息以及所述中间文件系统的第二文件列表的第二列表信息,其中,所述第一列表信息至少包括如下之一:所述第一文件列表所包含的文件数目、文件校验和、文件位置,所述第二列表信息至少包括如下之一:所述第二文件列表所包含的文件数目、文件校验和、文件位置;
比对所述第一列表信息以及所述第二列表信息,得到第五比对结果;
根据所述第五比对结果确定所述验证结果。
9.根据权利要求8所述的方法,其特征在于,根据所述验证结果确定所述根文件系统是否可信,包括:
在所述验证结果指示所述第一列表信息以及所述第二列表信息完全一致的情况下,确定所述根文件系统可信;
在所述验证结果指示所述第一列表信息以及所述第二列表信息存在差异的情况下,确定所述根文件系统不可信。
10.根据权利要求1所述的方法,其特征在于,在将根文件系统装载至中间文件系统中之前,所述方法还包括:
控制所述根文件系统中的至少一个可执行文件停止运行。
11.根据权利要求1所述的方法,其特征在于,在根据所述验证结果确定所述根文件系统是否可信之后,所述方法还包括:
在确定所述根文件系统可信的情况下,将所述至少一个可执行文件的根挂载点由所述中间文件系统切换至所述根文件系统;
启动所述至少一个可执行文件。
12.一种信息处理装置,其特征在于,包括:
装载模块,用于在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,所述系统内核携带有所述中间文件系统,所述根文件系统中包含至少一个可执行文件;
验证模块,用于在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果;
确定模块,用于根据所述验证结果确定所述根文件系统是否可信;
其中,所述装置还包括:获取模块,用于获取加密签名;解密模块,用于根据启动装载程序对加密签名进行解密,得到所述系统内核中的第二校验和;比对模块,用于逐个比对所述第二校验和与第二预设校验和的比特位,得到第二比对结果;确定可信模块,用于在所述第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定所述系统内核可信。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:
在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,所述系统内核携带有所述中间文件系统,所述根文件系统中包含至少一个可执行文件;
在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果;
根据所述验证结果确定所述根文件系统是否可信;
其中,确定所述系统内核是否可信包括:获取加密签名;根据启动装载程序对加密签名进行解密,得到所述系统内核中的第二校验和;逐个比对所述第二校验和与第二预设校验和的比特位,得到第二比对结果;在所述第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定所述系统内核可信。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:
在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,所述系统内核携带有所述中间文件系统,所述根文件系统中包含至少一个可执行文件;
在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果;
根据所述验证结果确定所述根文件系统是否可信;
其中,确定所述系统内核是否可信包括:获取加密签名;根据启动装载程序对加密签名进行解密,得到所述系统内核中的第二校验和;逐个比对所述第二校验和与第二预设校验和的比特位,得到第二比对结果;在所述第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定所述系统内核可信。
15.一种信息处理系统,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
在确定系统内核可信的情况下,将根文件系统装载至中间文件系统中,其中,所述系统内核携带有所述中间文件系统,所述根文件系统中包含至少一个可执行文件;
在所述中间文件系统中,对所述至少一个可执行文件进行验证,得到验证结果;
根据所述验证结果确定所述根文件系统是否可信;
其中,确定所述系统内核是否可信包括:获取加密签名;根据启动装载程序对加密签名进行解密,得到所述系统内核中的第二校验和;逐个比对所述第二校验和与第二预设校验和的比特位,得到第二比对结果;在所述第二比对结果指示第二校验和与第二预设校验和一致的情况下,确定所述系统内核可信。
CN201810995802.9A 2018-08-29 2018-08-29 信息处理方法、装置、系统以及处理器、存储介质 Active CN110874467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810995802.9A CN110874467B (zh) 2018-08-29 2018-08-29 信息处理方法、装置、系统以及处理器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810995802.9A CN110874467B (zh) 2018-08-29 2018-08-29 信息处理方法、装置、系统以及处理器、存储介质

Publications (2)

Publication Number Publication Date
CN110874467A CN110874467A (zh) 2020-03-10
CN110874467B true CN110874467B (zh) 2023-05-02

Family

ID=69714672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810995802.9A Active CN110874467B (zh) 2018-08-29 2018-08-29 信息处理方法、装置、系统以及处理器、存储介质

Country Status (1)

Country Link
CN (1) CN110874467B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767231B (zh) * 2020-07-08 2023-10-31 瓴盛科技有限公司 多平台Bootrom验证方法、装置、系统和计算机可读介质
CN112256338B (zh) * 2020-10-27 2023-12-05 记忆科技(深圳)有限公司 Soc启动方法、装置、计算机设备及存储介质
CN112269609A (zh) * 2020-11-20 2021-01-26 深圳市友华通信技术有限公司 嵌入式linux设备的安全启动方法和装置
CN113094107B (zh) * 2021-03-18 2023-12-22 深圳市塞防科技有限公司 数据保护方法、装置、设备及计算机存储介质
CN113392077B (zh) * 2021-05-25 2023-09-01 平安证券股份有限公司 文件检测方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987123A (en) * 1996-07-03 1999-11-16 Sun Microsystems, Incorporated Secure file system
CN101137963A (zh) * 2005-04-07 2008-03-05 微软公司 用于验证可执行文件可信度的系统和方法
US8161012B1 (en) * 2010-02-05 2012-04-17 Juniper Networks, Inc. File integrity verification using a verified, image-based file system
CN106560830A (zh) * 2016-07-01 2017-04-12 哈尔滨安天科技股份有限公司 一种Linux嵌入式系统中的安全防护方法及系统
CN106919811A (zh) * 2015-12-24 2017-07-04 阿里巴巴集团控股有限公司 文件检测方法和装置
CN107273769A (zh) * 2017-07-11 2017-10-20 北京洋浦伟业科技发展有限公司 一种电子设备的保护方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987123A (en) * 1996-07-03 1999-11-16 Sun Microsystems, Incorporated Secure file system
CN101137963A (zh) * 2005-04-07 2008-03-05 微软公司 用于验证可执行文件可信度的系统和方法
US8161012B1 (en) * 2010-02-05 2012-04-17 Juniper Networks, Inc. File integrity verification using a verified, image-based file system
CN106919811A (zh) * 2015-12-24 2017-07-04 阿里巴巴集团控股有限公司 文件检测方法和装置
CN106560830A (zh) * 2016-07-01 2017-04-12 哈尔滨安天科技股份有限公司 一种Linux嵌入式系统中的安全防护方法及系统
CN107273769A (zh) * 2017-07-11 2017-10-20 北京洋浦伟业科技发展有限公司 一种电子设备的保护方法和装置

Also Published As

Publication number Publication date
CN110874467A (zh) 2020-03-10

Similar Documents

Publication Publication Date Title
CN110874467B (zh) 信息处理方法、装置、系统以及处理器、存储介质
CN110663027B (zh) 用于安全地启动计算系统的方法和系统
US9881162B2 (en) System and method for auto-enrolling option ROMS in a UEFI secure boot database
TWI570592B (zh) 更新電腦韌體的系統、方法與電腦可讀取儲存媒體
RU2720068C2 (ru) Устройство обработки информации, способ для его управления и носитель хранения данных
US8874892B1 (en) Assessing BIOS information prior to reversion
EP2962241B1 (en) Continuation of trust for platform boot firmware
US8239688B2 (en) Securely recovering a computing device
US8254568B2 (en) Secure booting a computing device
EP3522059B1 (en) Perform security action based on inventory comparison
US8856771B2 (en) Protection for unauthorized firmware and software upgrades to consumer electronic devices
US20140250290A1 (en) Method for Software Anti-Rollback Recovery
EP3543888A1 (en) Bios flash attack protection and notification
US10437580B2 (en) Software updating methods and systems
US11106798B2 (en) Automatically replacing versions of a key database for secure boots
US10776488B2 (en) Extend root of trust to include firmware of individual components of a device
US10621330B2 (en) Allowing use of a test key for a BIOS installation
US11416618B2 (en) Bidirectional trust chaining for trusted boot
CN112231649A (zh) 一种固件加密处理方法、装置、设备及介质
US11755741B2 (en) Trusted boot-loader authentication
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
CN115878199A (zh) 芯片的操作系统启动方法、装置、设备及存储介质
CN111158771B (zh) 处理方法、装置及计算机设备
CN107360167B (zh) 一种认证方法及装置
CN117494232B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40025538

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant