CN114546745B - Method for distinguishing fault program section in trusted starting process - Google Patents

Method for distinguishing fault program section in trusted starting process Download PDF

Info

Publication number
CN114546745B
CN114546745B CN202210197811.XA CN202210197811A CN114546745B CN 114546745 B CN114546745 B CN 114546745B CN 202210197811 A CN202210197811 A CN 202210197811A CN 114546745 B CN114546745 B CN 114546745B
Authority
CN
China
Prior art keywords
bios
bios program
program segment
segment
trusted
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
CN202210197811.XA
Other languages
Chinese (zh)
Other versions
CN114546745A (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202210197811.XA priority Critical patent/CN114546745B/en
Publication of CN114546745A publication Critical patent/CN114546745A/en
Application granted granted Critical
Publication of CN114546745B publication Critical patent/CN114546745B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

A method for distinguishing fault program segments in the process of trusted starting belongs to the field of starting fault identification and is characterized in that the trusted BIOS program is integrally segmented according to a segment identifier of a sentence in the starting process. Taking the code length of each program segment of the trusted BIOS as a variable; obtaining a standard reference value corresponding to the initial code length of each program segment by a trusted computing method; taking a standard reference value of the code length corresponding to each segment of the BIOS program as a sample value; the system actually measures the code length actually measured value of each BIOS segmentation program to be verified, and then calculates the measurement value; the system compares each sample value and the metric value corresponding to each trusted BIOS segment program and the BIOS segment program to be tested. The sample values are compared with the metric values in turn in the segmentation order of the BIOS segmentation procedure. And if the BIOS segmentation programs to be detected are equal, the BIOS segmentation programs to be detected are trusted, otherwise, the BIOS segmentation programs to be detected are not trusted. The invention realizes the discovery of the specific fault section of the BIOS program in the trusted starting process.

Description

Method for distinguishing fault program section in trusted starting process
Technical Field
The invention belongs to the technical field of trusted start and start fault program segment identification intersection.
Background
A baseboard management controller (Baseboard Management Controller, BMC, hereinafter referred to as BMC) is a small dedicated embedded system isolated from a host system with an independent power supply system, and a control unit with an independent power supply and independent I/O interface disposed on a server motherboard, which does not depend on a processor, a basic input/output system (Basic Input Output System, BIOS, hereinafter referred to as BIOS), or an operating system of a server to operate, and is a single agent-free management subsystem running in the server.
Disclosure of Invention
The invention aims to provide a method for detecting a BIOS program segment to be detected with potential faults while reliably starting, so that the probability of fault identification is improved, and the starting time is shortened.
The system is characterized by being a system for performing fault detection and identification on a BIOS program segment to be tested when a production line is started, and is realized in the following manner:
step (1): a system configuration, the system comprising: CPU of system master controller S The system comprises an access module, a BMC master controller, a trusted measurement module and an access control module, wherein:
CPU of system master controller S Also called production line system master CPU S Setting in the processing section of the production line, the BIOS program is wholly segmented according to the segmentation identifier of the sentence, and the BIOS program is respectively used (BIOS program segment 1) Code length (BIOS program section 2) Code length Until (BIOS program segment N) Code length Where N represents a finite positive integer, the BIOS program segments can be divided into N program segments in total according to the segment identifier,
the access module is used for accessing the standard reference value of each BIOS program segment, wherein the standard reference value refers to the credibility metric value of the code length initial value when the system is first accessed, and L is used for respectively H (BIOS program segment 1), L H (BIOS program segments 2) to L H (BIOS program segment N) is presented,
BMC master, CPU M Indicating that during the system start-up process, the CPU is pressed by the system master controller S Is instructed to do the BMC master CPU M Starting up and measuring the code length of each BIOS program segment: l (L) Real world (BIOS program segment 1), L Real world (BIOS program segments 2) to L Real world (BIOS program segment N), these values will be sent to the trusted metrics module,
the trusted measurement module is used for solving the measurement value of each corresponding BIOS program segment by using the trusted calculation method which is the same as that used for calculating the standard reference value: l (L) Real world (BIOS program segment 1) Measurement value 、L Real world (BIOS program segment 2) Measurement value To L Real world (BIOS program segment N) Measurement value
An access control module having an access control CPU C The access control module is used for acquiring the standard reference value of each BIOS program segment including the starting program in the access module in sequenceN contrast sub-modules are arranged in the interior and are respectively of contrast L H (BIOS program segment 1) and L Real world (BIOS program segment 1) Measurement value Program segment comparison module of (1), comparison L H (BIOS program segment 2) and L Real world (BIOS program segment 2) Measurement value Is up to L H (BIOS program segment N) and L Real world (BIOS program segment N) Measurement value The system comprises a comparison sub-module, a program segment comparison sub-module and a program segment comparison sub-module, wherein the input of each sub-module is a measurement value of the actual code length of the program segment and a code length standard reference value of the program segment, and whether the specific program segment fails or not is judged according to a comparison result;
step (2), the system master controller CPU S The determination of the failed BIOS program segment is realized by the following steps:
step (2.1), storing the mapping table of the reliability value of the code length initial value of the BIOS program section and the corresponding program section into an access module,
step (2.2), CPU in BMC M The code length of each BIOS program segment is measured,
step (2.3), the trusted measurement module uses trusted calculation to obtain the measurement value of the actual code length of each BIOS program segment, and transmits the measurement value to the CPU of the access control template C
Step (2.4), the access control module calls the comparison sub-module corresponding to each BIOS program segment in turn, compares the actual code length value obtained by calculation in step (2.3) with the initial code length value stored in the access module in step (2.1),
and (2.5) if all the code segments are identical, the trusted starting is performed, if one code segment is different, the trusted starting platform is indicated to have a fault, and the fault occurs in the code segment of which the standard reference value and the actual measurement value are not equal.
The invention has the advantages that the faults of the BIOS program to be tested are identified in the starting process, and meanwhile, the starting efficiency and the program fault removal efficiency are improved.
Drawings
Fig. 1: and a system main program flow block diagram.
Fig. 2: the system is overall schematic.
Detailed Description
The invention provides that: under the control of the BMC master, the BMC master can segment the BIOS program as a whole according to the segment identifier. The final BIOS program will be represented by dividing into BIOS program segment 1, BIOS program segment 2 through BIOS program segment N. When the system is started, the fault program segment can be accurately positioned by verifying the program segment to be tested.
The invention also proposes:
the faulty program segment may be normalized to the code length of the faulty program, as the code length change of the faulty program is the most obvious result of the program fault. The code length of the failed BIOS program segment is thus available to represent the failed BIOS program segment.
The invention also provides that:
the code length of the fault program is set at the starting point of the timing of the trusted starting program. So as to detect the actual measurement code length of the trusted starting program to be detected and the initial code length of the known trusted program acquired during the previous initial trusted starting by adopting a sample comparison method. Meanwhile, in order to realize the secrecy of the code length information of the program segments, the measured code length of the to-be-measured starting program and the initial code length of the sample starting program are both represented as the measurement value of the to-be-measured starting program by the same trusted computing method and are compared with the standard reference value of the trusted starting program as a sample, if all the program segments of the BIOS are the same, the to-be-measured BIOS starting program is trusted, otherwise, the to-be-measured BIOS starting program is not trusted. And the code segment with specific error is a BIOS code segment with sample value different from measured value.

Claims (1)

1. A method for distinguishing faulty program segments during a trusted start-up, characterized in that a system for fault verification and identification of specific program segments in a program, hereinafter referred to as system, is implemented in the following manner when a production line is started up:
step (1): a system configuration, the system comprising: CPU of system master controller S The system comprises an access module, a BMC master controller, a trusted measurement module and an access control module, wherein:
CPU of system master controller S Also called production line system master CPU S Setting in the processing section of the production line, the BIOS program is wholly segmented according to the segmentation identifier of the sentence, and the BIOS program is respectively used (BIOS program segment 1) Code length (BIOS program section 2) Code length Until (BIOS program segment N) Code length Where N represents a finite positive integer, the BIOS program segments can be divided into N program segments in total according to the segment identifier,
the access module is used for accessing the standard reference value of each BIOS program segment, wherein the standard reference value refers to the credibility metric value of the code length initial value when the system is first accessed, and L is used for respectively H (BIOS program segment 1), L H (BIOS program segments 2) to L H (BIOS program segment N) is presented,
BMC master, CPU M Indicating that during the system start-up process, the CPU is pressed by the system master controller S Is instructed to do the BMC master CPU M Starting up and measuring the code length of each BIOS program segment: l (L) Real world (BIOS program segment 1), L Real world (BIOS program segments 2) to L Real world (BIOS program segment N), these values will be sent to the trusted metrics module,
the trusted measurement module is used for solving the measurement value of each corresponding BIOS program segment by using the trusted calculation method which is the same as that used for calculating the standard reference value: l (L) Real world (BIOS program segment 1) Measurement value 、L Real world (BIOS program segment 2) Measurement value To L Real world (BIOS program segment N) Measurement value
An access control module having an access control CPU C The cache module sequentially acquires standard reference values of all BIOS program segments including a starting program in the access module, and N comparison sub-modules are respectively compared with L in the access control module H (BIOS program segment 1) and L Real world (BIOS program segment 1) Measurement value Program segment comparison module of (1), comparison L H (BIOS program segment 2) and L Real world (BIOS program segment 2) Measurement value Is up to L H (BIOS program segment N) and L Real world (BIOS program segment N) Measurement value Comparing sub-modules, system executionSequentially calling program segment comparison sub-modules when the program segment comparison sub-modules are executed, wherein the input of each sub-module is a measurement value of the actual code length of the program segment and a code length standard reference value of the program segment, and judging whether the specific program segment fails according to a comparison result;
step (2), the system master controller CPU S The determination of the failed BIOS program segment is realized by the following steps:
step (2.1), storing the mapping table of the reliability value of the code length initial value of the BIOS program section and the corresponding program section into an access module,
step (2.2), CPU in BMC M The code length of each BIOS program segment is measured,
step (2.3), the trusted measurement module uses trusted calculation to obtain the measurement value of the actual code length of each BIOS program segment, and transmits the measurement value to the CPU of the access control template C
Step (2.4), the access control module calls the comparison sub-module corresponding to each BIOS program segment in turn, compares the actual code length value obtained by calculation in step (2.3) with the initial code length value stored in the access module in step (2.1),
and (2.5) if all the code segments are identical, the trusted starting is performed, if one code segment is different, the trusted starting platform is indicated to have a fault, and the fault occurs in the code segment of which the standard reference value and the actual measurement value are not equal.
CN202210197811.XA 2022-03-02 2022-03-02 Method for distinguishing fault program section in trusted starting process Active CN114546745B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210197811.XA CN114546745B (en) 2022-03-02 2022-03-02 Method for distinguishing fault program section in trusted starting process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210197811.XA CN114546745B (en) 2022-03-02 2022-03-02 Method for distinguishing fault program section in trusted starting process

Publications (2)

Publication Number Publication Date
CN114546745A CN114546745A (en) 2022-05-27
CN114546745B true CN114546745B (en) 2024-03-22

Family

ID=81661136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210197811.XA Active CN114546745B (en) 2022-03-02 2022-03-02 Method for distinguishing fault program section in trusted starting process

Country Status (1)

Country Link
CN (1) CN114546745B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
CN109743319A (en) * 2019-01-03 2019-05-10 北京工业大学 A kind of credible starting of network type private server and method for safe operation
CN109784061A (en) * 2018-12-17 2019-05-21 北京华胜天成信息技术发展有限公司 The method and device for starting that control server is credible
CN112651030A (en) * 2021-01-14 2021-04-13 北京工业大学 Trusted starting method for BMC firmware system security

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988250B1 (en) * 1999-02-15 2006-01-17 Hewlett-Packard Development Company, L.P. Trusted computing platform using a trusted device assembly
CN109784061A (en) * 2018-12-17 2019-05-21 北京华胜天成信息技术发展有限公司 The method and device for starting that control server is credible
CN109743319A (en) * 2019-01-03 2019-05-10 北京工业大学 A kind of credible starting of network type private server and method for safe operation
CN112651030A (en) * 2021-01-14 2021-04-13 北京工业大学 Trusted starting method for BMC firmware system security

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于国产BMC的服务器安全启动技术研究与实现;苏振宇;;信息安全研究;20170905(第09期);全文 *
太行安全BIOS可信体系结构与实现研究;周振柳;李铭;许榕生;宋东生;;计算机工程与应用;20080621(第18期);全文 *

Also Published As

Publication number Publication date
CN114546745A (en) 2022-05-27

Similar Documents

Publication Publication Date Title
CN109558282B (en) PCIE link detection method, system, electronic equipment and storage medium
CN108388489B (en) Server fault diagnosis method, system, equipment and storage medium
WO2021244535A1 (en) Vehicle software fault detection method, apparatus and device, and storage medium
CN110750396B (en) Server operating system compatibility testing method and device and storage medium
CN107223257B (en) Test method, test server and test system
CN104850792A (en) Establishment method and apparatus of trust chain of server
CN113504932B (en) Firmware data updating method and device
CN108572895B (en) Stability test method for automatically checking software and hardware configuration under Linux
CN105743707A (en) Method for testing BMC log analyzing function based on Redhat system
CN107908490B (en) Method and system for verifying reliability of GPU (graphics processing Unit) register in server DC (direct Current) test
CN114546745B (en) Method for distinguishing fault program section in trusted starting process
CN107562593A (en) A kind of automated testing method and system for verifying internal memory ECC functions
CN113973068B (en) Chaos testing method and device, chaos testing platform and storage medium
US20220188221A1 (en) Regression testing method and regression testing apparatus
CN115757099A (en) Automatic test method and device for platform firmware protection recovery function
CN111309584A (en) Data processing method and device, electronic equipment and storage medium
CN114253610A (en) Improved method and device for preventing system from being started normally due to device aging
WO2019056545A1 (en) Test machine automation management method and apparatus, device, and storage medium
CN110096888B (en) Method and system for accelerating verification and analyzing SMM potential safety hazard
JP6217086B2 (en) Information processing apparatus, error detection function diagnosis method, and computer program
CN111552960B (en) Dynamic measurement method and device for program integrity
CN112069749B (en) Power supply connection verification method and device, electronic equipment and storage medium
CN110851344A (en) Big data testing method and device based on computational formula complexity and electronic equipment
CN111310172B (en) Method and control unit for verifying processor execution traces by disassembling
JP7207519B2 (en) Information processing device, information processing method and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant