CN109960940B - Log-based embedded device control flow certification method and system - Google Patents

Log-based embedded device control flow certification method and system Download PDF

Info

Publication number
CN109960940B
CN109960940B CN201910119686.9A CN201910119686A CN109960940B CN 109960940 B CN109960940 B CN 109960940B CN 201910119686 A CN201910119686 A CN 201910119686A CN 109960940 B CN109960940 B CN 109960940B
Authority
CN
China
Prior art keywords
log
jump
function
target program
instruction
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
CN201910119686.9A
Other languages
Chinese (zh)
Other versions
CN109960940A (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.)
Institute of Software of CAS
Shenzhen Power Supply Bureau Co Ltd
Research Institute of Southern Power Grid Co Ltd
Original Assignee
Institute of Software of CAS
Shenzhen Power Supply Bureau Co Ltd
Research Institute of Southern Power Grid Co 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 Institute of Software of CAS, Shenzhen Power Supply Bureau Co Ltd, Research Institute of Southern Power Grid Co Ltd filed Critical Institute of Software of CAS
Priority to CN201910119686.9A priority Critical patent/CN109960940B/en
Publication of CN109960940A publication Critical patent/CN109960940A/en
Application granted granted Critical
Publication of CN109960940B publication Critical patent/CN109960940B/en
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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

The invention provides a log-based embedded device control flow certification method, which uses a lightweight trust root to protect a secret key and utilizes a control flow log mode to perform certification, thereby not only improving the safety of the secret key on an embedded platform, but also more effectively verifying the integrity of the embedded device. The invention also provides a log-based embedded device control flow certification system, which comprises the embedded device and the server and is used for realizing the method provided by the invention.

Description

Log-based embedded device control flow certification method and system
Technical Field
The invention belongs to the technical field of computer information remote certification, and particularly relates to a log-based embedded device control flow certification method and system.
Background
With the continuous development of embedded systems, various embedded systems have been deeply developed to various aspects of people's production and life, and play an increasingly important role, especially in some systems such as medical devices and industrial control systems, embedded devices play a vital role. Embedded systems are increasingly targeted by attackers for system destruction due to the higher and higher values involved.
Remote attestation techniques are an important way to verify the integrity of remote devices. It typically includes two roles, a verifier, which is typically one or more remote devices, and a prover, which is a server that wants to obtain the integrity of the remote devices. The remote attestation technology collects a report about platform integrity on the prover side, transmits the report to the verifier, and enables the verifier to verify the integrity to discover whether the prover side is attacked or not and whether a malicious program runs or not. Remote attestation techniques are particularly well suited for protecting devices with high security requirements.
Since remote attestation only focuses on the integrity of program codes in the early stage and cannot resist control flow attacks, in order to resist adversaries capable of executing control flow attacks and acquire the integrity of an execution path of an attester program, a scholars of darmstadt university in germany proposed a control flow attestation scheme C-FLAT of an embedded device in 2016, and the purpose of the schemes is mainly to judge whether a program is executed as expected or not by collecting control flow information of a program running on the embedded device and whether the program is attacked by the adversary in a mode of tampering control flow or not.
The main flow of the C-FLAT scheme comprises the steps of performing instrumentation on a program running on the embedded equipment when a jump instruction is executed, collecting information of the jump instruction, measuring a corresponding control flow path, and sending the measurement value to a server for verification. The technology can ensure that the control flow of the running program is consistent with the expected control flow, resists the control flow attack of enemies, has better safety, but also has some defects. Firstly, because each integrity report is a measurement value aggregated to a control flow path, when the control flow of a program is complex, it is difficult to verify whether the integrity report of the embedded device is a legal report, and it is impossible to determine whether the embedded device is attacked by an adversary. Another disadvantage is that the security of the key on the embedded platform cannot be protected due to lack of secure storage of the key, and an adversary can forge the report by stealing the key to cheat the server.
Disclosure of Invention
The invention aims to provide a log-based embedded device control flow certification method and a log-based embedded device control flow certification system, which use a lightweight trust root to protect a secret key and use a control flow log mode to perform certification, thereby not only improving the security of the secret key on an embedded platform, but also more effectively verifying the integrity of the embedded device.
In order to achieve the purpose, the invention adopts the following technical scheme:
a log-based embedded device control flow certification method comprises the following steps:
the embedded device collects the initial value of the on-chip SRAM by using the initial code and stores the initial value on the server, and deploys the log recording function, the key derivation function and the signature function in the trusted execution environment;
the server analyzes the target program, records all jump instruction source addresses and destination addresses in the target program, stores the jump instruction source addresses and the destination addresses as a table, and records the destination addresses which cannot be determined as a legal jump range;
the server performs instrumentation on the binary file of the target program, replaces a jump instruction in the binary file with an instruction for jumping to a corresponding instrumentation program, and downloads the target program to the embedded equipment;
the server generates a random number PS, generates auxiliary data by using the SRAM initial value and the random number PS, and sends the auxiliary data, a fresh random number nonce and an instruction for starting a target program to the embedded equipment;
the embedded device executes a target program, traps a log recording function when executing a jump instruction, acquires a source address and a destination address of the jump instruction through the log recording function, records the source address and the destination address into a log and returns the log;
after the embedded device executes the target program, the random number PS is recovered by using the SRAM PUF and the auxiliary data, a pair of public and private keys are derived by using the random number PS and a key derivation algorithm, the logs are signed by using the private keys, and the logs are sent to the server for verification;
after receiving the log, the server derives a verification key according to the same random number PS and the key derivation function, verifies whether the signature of the log is correct, judges whether the jump in the log is legal according to the source address and the destination address of the jump instruction, if all the jump instructions are consistent with the data in the table, the target program is not tampered, and otherwise, the target program is tampered with the control flow.
Furthermore, the log recording function is responsible for generating an actual log, and an interface is provided for a program which is not in the trusted execution environment through an interface of the trusted execution environment; the key derivation function is responsible for generating a key pair by utilizing the SRAM PUF and a random number transmitted by the server; the signature function signs the log with the generated private key.
Further, the key derivation function and the signature function follow the SM2 algorithm standard in the China commercial cipher algorithm standard, parameters recommended by the State cipher administration are adopted, the trusted execution environment is realized by OP-TEE, and an interface for recording a log function is realized by following the GP-API standard.
Further, the target program is analyzed and instrumented using an IDA tool.
Further, the instrumentation program includes saving a register value, calling a logging function, restoring the register value, and returning to the original program for execution, where the saving register value and the restoring register value are registers for transfer function parameters and return values, and the logging function has been previously deployed on the embedded device.
Further, the jump instruction includes direct jump, conditional jump, register jump, indirect jump, function call, and function return instruction.
Furthermore, the implementation mode of the instrumentation is to scan a binary program once, and then replace a jump instruction in the binary program with a direct jump instruction which jumps to a corresponding instrumentation program;
further, the random number nonce and the random number PS to be generated at the beginning follow the random number generation standard corresponding to the national crypto authority, and the auxiliary data is generated by xoring the SRAM initial value and the random number PS.
Further, when the target program executes the jump instruction, if the jump instruction is a function call instruction and a function return instruction, the jump source address of the target program is stored in a stack defined by the target program when the function call instruction is executed, the target address returned by the function is compared with the previously recorded address when the function return instruction is executed, and whether the target program is tampered or not is judged according to consistency; if the jump instruction is a jump instruction in a loop, data of a loop time is additionally recorded, and if the source address and the destination address of the current jump are the same as those of the previous jump, the loop time of the previous jump is increased by one.
Further, the execution process of the function is restored according to the log, and if the target program is tampered, which part of the program is tampered can be judged according to the tampered, wherein the program is divided into code blocks through a jump instruction, then jump logic in the code blocks is generated by using the program source code and the log, and the jump logic is shown in a graph form.
A log-based embedded device control flow attestation system, comprising:
the embedded device is used for recording that a log function, a key derivation function and a signature function are deployed in a trusted execution environment of the embedded device; executing a target program, and acquiring a source address and a destination address of a jump instruction by recording a log function; recovering the random number PS, deriving a pair of public and private keys, and signing the log by using the private key;
the server is used for analyzing the target program, recording all jump instruction source addresses and destination addresses in the target program and storing the jump instruction source addresses and the destination addresses as a table; performing instrumentation on the binary file of the target program, and replacing a jump instruction in the binary file of the target program with an instruction for jumping to a corresponding instrumentation program; generating a random number PS, assistance data and a fresh random number nonce; deriving a verification key to verify whether the signature of the log is correct, judging whether the jump in the log is legal, and identifying whether the target program is tampered.
The method is based on a control flow certification technology and Physical Unclonable Functions (PUFs) of the embedded device, safe key derivation is provided by using the light-weight PUFs, and the control flow log is used as a certification report, so that a safe and reliable program running measurement and certification mechanism is provided for the embedded device, and the running executable program is guaranteed to be executed according to expected behaviors and is not tampered, or the tampering can be timely detected and reported.
The invention has the following advantages:
1. compared with the existing control flow proving technology, the method uses the control flow log instead of the aggregated metric value for proving, can provide richer and more detailed control flow data, can better judge the running integrity of the program on the embedded device, and avoids the problem that the integrity is difficult to verify when the program is more complex, thereby expanding the application range and the efficiency during verification without reducing the safety.
2. The invention also adopts the lightweight trust root to provide the key for signature verification, thereby solving the problem of key leakage and improving the security of the system.
Drawings
FIG. 1 is an overall architecture diagram of the embedded devices and servers of the system in an embodiment.
Detailed Description
In order to make the aforementioned and other features and advantages of the invention more comprehensible, embodiments accompanied with figures are described in detail below.
The invention adopts a log-based embedded device control flow certification method, which is realized based on the system shown in figure 1 and has the following principle steps:
1. preparation phase
a) Server and embedded device: the method comprises the steps of firstly, collecting an initial value of an SRAM on a chip of the embedded device by utilizing an initial code on the embedded device, storing the initial value on a server, and deploying a log recording function, a key derivation function and a signature function in a trusted execution environment of the embedded device. The log recording function is responsible for generating an actual log, the key derivation function is responsible for generating a key pair by utilizing a random number transmitted by the SRAM PUF and the server, the signature function utilizes a generated private key to sign the log, and only the log recording function provides an interface for a program which is not in a trusted execution environment through an interface of the trusted execution environment;
b) a server: and compiling the target program and the instrumentation program of different jump instructions, wherein the instrumentation program mainly comprises four steps of saving a register value, calling a log recording function, restoring the register value and returning to the original program for execution. The jump instruction comprises direct jump, conditional jump, register jump, indirect jump, function call, function return instruction, register for storing register value and restoring register value aiming at transfer function parameter and return value, and recording that the log function is deployed on the embedded device in advance, as described in 1.a), and is called through the provided interface;
c) a server: analyzing a target program, recording source addresses and destination addresses of all jump instructions, recording the range of legal jump as the destination address which can not be determined, and storing the range as a table, wherein the jump instructions are as described in 1. b);
d) a server: performing instrumentation on a target program binary file, and replacing a jump instruction in the target program binary file with an instruction for jumping to a corresponding instrumentation program, wherein the instrumentation is realized by scanning a binary program once and then replacing the jump instruction in the target program binary file with a direct jump instruction for jumping to the corresponding instrumentation program;
e) a server: downloading a target program to the embedded equipment;
2. program execution and metrology phases
a) A server: firstly, generating a random number PS, then generating auxiliary data by utilizing the collected SRAM initial value and PS, and sending the auxiliary data, a fresh random number nonce and an instruction for starting a target program to the embedded equipment, wherein the auxiliary data generation is carried out in an exclusive OR mode;
b) the embedded equipment: receiving data and instructions sent by a server, and executing a target program;
c) the embedded equipment: when the target program executes the jump instruction, trapping into a log recording function, wherein the log recording function firstly acquires a source address and a destination address of the jump instruction, and then records the source address and the destination address into a log and returns the log. For special jump instructions, such as function call and function return instructions, when the function call instruction is executed, a jump source address of the special jump instruction is stored in a stack defined by the special jump instruction, when the function return instruction is executed, a destination address returned by the function is compared with the previously recorded address, and whether the special jump instruction is tampered or not is judged according to consistency. For the jump instruction in the loop, data of a loop number is additionally recorded, and if the source address and the destination address of the current jump are the same as those of the previous jump, the loop number of the previous jump is increased by one;
d) the embedded equipment: after the program execution is finished, firstly restoring a random number PS by using SRAM PUF on a platform and auxiliary data in 2.a), then deriving a pair of public and private keys by using PS and a key derivation algorithm, then signing the log by using the private key, and sending the log to a server for verification;
3. verifying integrity phase
a) A server: after receiving the log, firstly deriving a verification key according to the same PS and a key derivation function, then verifying whether the signature of the log is correct or not, and if not, the signature is forged when the log is represented incorrectly;
b) a server: then, judging whether the jump in the log is legal or not according to a set of source addresses and destination addresses of the jump instructions collected in the preparation stage, if all the jump instructions are consistent with the table data collected previously, indicating that the target program is not tampered, otherwise indicating that the target program is tampered with a control flow by an adversary;
c) a server: and then restoring the execution process of the function according to the log, and if the target program is tampered, judging which part of the program is tampered, wherein the program is divided into code blocks through a jump instruction, and then jump logic in the code blocks is generated by using the program source code and the log and is shown in a graph form.
For further explanation of the method of the present invention, the following takes an ordinary PC as a server and an embedded device with an ARM architecture of TrustZone as an example to explain an implementation manner of the method of the present invention, and for those skilled in the art, a corresponding system security protection system may be designed and implemented with reference to the method.
1. Server and embedded device: following the steps of the invention principle 1.a), collecting an initial value of an SRAM and storing the initial value on a server, and deploying a log recording function, a key derivation function and a signature function in a trusted execution environment of an embedded device, wherein the key derivation function and the signature function follow the SM2 algorithm standard in the commercial cryptographic algorithm standard of China and adopt parameters recommended by the State crypto administration, the trusted execution environment is realized by adopting OP-TEE, and an interface for recording the log function is realized by following the GP-API standard;
2.a server: following the steps of the invention principle 1.b), compiling a target program, compiling the target program and a instrumentation program together by using a cross compiling tool of a corresponding device platform, wherein for an ARM platform, jump instructions needing instrumentation are b, bx, bl, blx and pop pc instructions, and 5 corresponding instrumentation programs are needed for processing;
3.a server: 1.c) -1. e) following the steps of the invention principle, analyzing and instrumentation target program, analyzing and using an IDA tool to obtain a source address and a destination address in an instruction needing instrumentation, storing the source address and the destination address into a table, using the IDA tool for instrumentation, replacing the execution needing to be processed with bl execution, and using the destination address as a corresponding instrumentation program;
4. a server: following the steps of the invention principle 2.a), sending an instruction for executing a program, a random number nonce and generated auxiliary data to the embedded device, wherein the random number nonce and a random number PS starting to be generated follow a random number generation standard corresponding to the national password administration, and the auxiliary data is obtained by XOR of an initial value and the PS starting to be recorded;
5. the embedded equipment: 2.b) -2. d) following the steps of the inventive principle, executing the target program, generating a log of the control flow, storing the generated log in the TEE, then using the PUF and the auxiliary data sent in 2.a), firstly recovering the random number PS by exclusive or, then using the same key derivation function as in the server to generate a signature key, and using the signature key and the SM2 algorithm to sign the log of the control flow, and sending the signature key to the server;
6. a server: and 3.a) -3. c) following the steps of the invention principle, verifying whether the signature is correct by using a signature verification function in the SM2, checking whether the content in the log of the control flow is legal by sequentially comparing the control flow log with the data in the table recorded previously, recovering the program running flow, and judging whether the program is tampered.
The above embodiments are only intended to illustrate the technical solution of the present invention and not to limit the same, and a person skilled in the art can modify the technical solution of the present invention or substitute the same without departing from the spirit and scope of the present invention, and the scope of the present invention should be determined by the claims.

Claims (10)

1.A log-based embedded device control flow certification method comprises the following steps:
the embedded device collects the initial value of the on-chip SRAM by using the initial code and stores the initial value on the server, and deploys the log recording function, the key derivation function and the signature function in the trusted execution environment;
the server analyzes the target program, records all jump instruction source addresses and destination addresses in the target program, stores the jump instruction source addresses and the destination addresses as a table, and records the destination addresses which cannot be determined as a legal jump range;
the server performs instrumentation on the binary file of the target program, replaces a jump instruction in the binary file with an instruction for jumping to a corresponding instrumentation program, and downloads the target program to the embedded equipment;
the server generates a random number PS, generates auxiliary data by using the SRAM initial value and the random number PS, and sends the auxiliary data, a fresh random number nonce and an instruction for starting a target program to the embedded equipment;
the embedded device executes a target program, traps a log recording function when executing a jump instruction, acquires a source address and a destination address of the jump instruction through the log recording function, records the source address and the destination address into a log and returns the log;
after the embedded device executes the target program, the random number PS is recovered by using the SRAM initial value and the auxiliary data, a pair of public and private keys are derived by using the random number PS and the key derivation function, the log is signed by using the private key, and the log is sent to the server for verification;
after receiving the log, the server derives a verification key according to the same random number PS and the key derivation function, verifies whether the signature of the log is correct, judges whether the jump in the log is legal according to the source address and the destination address of the jump instruction, if all the jump instructions are consistent with the data in the table, the target program is not tampered, and otherwise, the target program is tampered with the control flow.
2. The method of claim 1, wherein the logging function is responsible for generating an actual log, providing an interface to programs that are not in the trusted execution environment through an interface of the trusted execution environment; the key derivation function is responsible for generating a key pair by utilizing the SRAM initial value and the random number transmitted by the server; the signature function signs the log with the generated private key.
3. The method of claim 1, wherein the key derivation function and the signature function conform to SM2 algorithm standard in the chinese commercial cryptographic algorithm standard and adopt parameters recommended by the national cryptology authority, the trusted execution environment is implemented using OP-TEE, and the interface for recording the log function conforms to GP-API standard.
4. The method of claim 1, wherein the instrumentation program includes saving register values, calling a logging function, restoring register values, and returning to an original program for execution, wherein the saving register values and the restoring register values are registers for transfer function parameters and return values, the logging function having been previously deployed on the embedded device.
5. The method of claim 1, wherein jump instructions include direct jump, conditional jump, register jump, indirect jump, function call, function return instructions.
6. The method of claim 1, wherein instrumentation is implemented by scanning through a binary program and then replacing jump instructions therein with direct jump instructions to jump to the corresponding instrumented program.
7. The method of claim 1, wherein the random number nonce and the random number PS to be initially generated follow a random number generation standard corresponding to the national crypto authority, and the auxiliary data is generated by xoring the SRAM initial value and the random number PS.
8. The method as claimed in claim 1, wherein when the target program executes the jump instruction, if the jump instruction is a function call instruction and a function return instruction, the jump source address of the jump instruction is stored in a stack defined by itself when the function call instruction is executed, and the destination address of the function return is compared with the jump source address in the stack defined by itself when the function return instruction is executed, and whether the target program is tampered or not is judged according to whether the destination address is consistent or not; if the jump instruction is a jump instruction in a loop, data of a loop time is additionally recorded, and if the source address and the destination address of the current jump are the same as those of the previous jump, the loop time of the previous jump is increased by one.
9. The method as claimed in claim 1, wherein the execution process of the function is restored from the log, and if the target program is tampered with, it is determined which part of the program has been tampered with, wherein the program is divided into code blocks by a jump instruction, and then jump logic in the code blocks is generated by using the program source code and the log, and is shown in graph form.
10. A log-based embedded device control flow attestation system, comprising:
the embedded device is used for deploying a log recording function, a key derivation function and a signature function in a trusted execution environment of the embedded device; executing the target program after the pile insertion, and acquiring a source address and a destination address of a jump instruction through a log recording function; recovering the random number PS, deriving a pair of public and private keys, and signing the log by using the private key;
the server is used for analyzing the target program, recording all jump instruction source addresses and destination addresses in the target program and storing the jump instruction source addresses and the destination addresses as a table; performing instrumentation on the binary file of the target program, and replacing a jump instruction in the binary file of the target program with an instruction for jumping to a corresponding instrumentation program; generating a random number PS, assistance data and a fresh random number nonce; deriving a verification key to verify whether the signature of the log is correct, judging whether the jump in the log is legal, and identifying whether the target program is tampered;
the embedded device collects the initial value of the on-chip SRAM by using the initial code and stores the initial value on the server, and deploys a log recording function, a key derivation function and a signature function in a trusted execution environment of the embedded device;
the server analyzes the target program, records all jump instruction source addresses and destination addresses in the target program, stores the jump instruction source addresses and the destination addresses as a table, and records the destination addresses which cannot be determined as a legal jump range;
the server performs instrumentation on the binary file of the target program, replaces a jump instruction in the binary file with an instruction for jumping to a corresponding instrumentation program, and downloads the target program to the embedded equipment;
the server generates a random number PS, generates auxiliary data by using the SRAM initial value and the random number PS, and sends the auxiliary data, a fresh random number nonce and an instruction for starting a target program to the embedded equipment;
the embedded device executes a target program, traps a log recording function when executing a jump instruction, acquires a source address and a destination address of the jump instruction through the log recording function, records the source address and the destination address into a log and returns the log;
after the embedded device executes the target program, the random number PS is recovered by using the SRAM initial value and the auxiliary data, a pair of public and private keys are derived by using the random number PS and the key derivation function, the log is signed by using the private key, and the log is sent to the server for verification;
after receiving the log, the server derives a verification key according to the same random number PS and the key derivation function, verifies whether the signature of the log is correct, judges whether the jump in the log is legal according to the source address and the destination address of the jump instruction, if all the jump instructions are consistent with the data in the table, the target program is not tampered, and otherwise, the target program is tampered with the control flow.
CN201910119686.9A 2019-02-18 2019-02-18 Log-based embedded device control flow certification method and system Active CN109960940B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910119686.9A CN109960940B (en) 2019-02-18 2019-02-18 Log-based embedded device control flow certification method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910119686.9A CN109960940B (en) 2019-02-18 2019-02-18 Log-based embedded device control flow certification method and system

Publications (2)

Publication Number Publication Date
CN109960940A CN109960940A (en) 2019-07-02
CN109960940B true CN109960940B (en) 2021-01-01

Family

ID=67023841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910119686.9A Active CN109960940B (en) 2019-02-18 2019-02-18 Log-based embedded device control flow certification method and system

Country Status (1)

Country Link
CN (1) CN109960940B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235686A (en) * 2023-10-30 2023-12-15 杭州海康威视数字技术股份有限公司 Data protection method, device and equipment

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112332973B (en) * 2020-10-23 2022-06-24 南京理工大学 Fine-grained Internet of things equipment control flow protection method
CN114611106B (en) * 2022-03-10 2024-04-09 昆明理工大学 Program control flow proving method based on multi-target particle swarm algorithm

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560887A (en) * 2013-11-04 2014-02-05 深圳数字电视国家工程实验室股份有限公司 Intelligent terminal remote attestation method and system
CN103795717A (en) * 2014-01-23 2014-05-14 中国科学院计算技术研究所 Method and system for proving integrity of cloud computing platform
CN107194252A (en) * 2017-05-09 2017-09-22 华中科技大学 The program control flow completeness protection method and system of a kind of complete context-sensitive
CN108345786A (en) * 2018-01-17 2018-07-31 中国人民解放军战略支援部队信息工程大学 The software control stream integrality remote certification method of hardware assist
CN109583191A (en) * 2018-10-31 2019-04-05 清华大学 Cloud program control flow completeness protection method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8136091B2 (en) * 2007-01-31 2012-03-13 Microsoft Corporation Architectural support for software-based protection

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103560887A (en) * 2013-11-04 2014-02-05 深圳数字电视国家工程实验室股份有限公司 Intelligent terminal remote attestation method and system
CN103795717A (en) * 2014-01-23 2014-05-14 中国科学院计算技术研究所 Method and system for proving integrity of cloud computing platform
CN107194252A (en) * 2017-05-09 2017-09-22 华中科技大学 The program control flow completeness protection method and system of a kind of complete context-sensitive
CN108345786A (en) * 2018-01-17 2018-07-31 中国人民解放军战略支援部队信息工程大学 The software control stream integrality remote certification method of hardware assist
CN109583191A (en) * 2018-10-31 2019-04-05 清华大学 Cloud program control flow completeness protection method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARM架构中控制流完整性验证技术研究;叶雁秋 等;《计算机工程》;20150331;第41卷(第3期);第151-171页 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117235686A (en) * 2023-10-30 2023-12-15 杭州海康威视数字技术股份有限公司 Data protection method, device and equipment
CN117235686B (en) * 2023-10-30 2024-01-30 杭州海康威视数字技术股份有限公司 Data protection method, device and equipment

Also Published As

Publication number Publication date
CN109960940A (en) 2019-07-02

Similar Documents

Publication Publication Date Title
Steiner et al. Attestation in wireless sensor networks: A survey
Ibrahim et al. Darpa: Device attestation resilient to physical attacks
Shuai et al. Modelling analysis and auto-detection of cryptographic misuse in android applications
Dunn et al. Cloaking malware with the trusted platform module
US9177153B1 (en) Verifying integrity and guaranteeing execution of code on untrusted computer platform
CN109960940B (en) Log-based embedded device control flow certification method and system
Schneier et al. Surreptitiously weakening cryptographic systems
CN110276198B (en) Embedded variable granularity control flow verification method and system based on probability prediction
Agrawal et al. Detection of node capture attack in wireless sensor networks
CN105323074B (en) The trust authentication method in terminal device geographical location
CN111783097A (en) Information integrity measurement verification method and system for satellite-borne computing system
Lu et al. xTSeH: A trusted platform module sharing scheme towards smart IoT-eHealth devices
Tan et al. A remote attestation protocol with Trusted Platform Modules (TPMs) in wireless sensor networks.
CN108184146B (en) Method for calculating popularity of live broadcast platform and related equipment
Banescu et al. Software-based protection against changeware
US20220335118A1 (en) Detection and prevention of reverse engineering of computer programs
Mus et al. Jolt: Recovering tls signing keys via rowhammer faults
Myers et al. MAD-IoT: Memory anomaly detection for the Internet of Things
CN107026729B (en) Method and device for transmitting software
Li et al. Practical analysis framework for software-based attestation scheme
Zaharis et al. Live forensics framework for wireless sensor nodes using sandboxing
Colombo et al. Towards a Comprehensive Solution for Secure Cryptographic Protocol Execution based on Runtime Verification.
Wagner et al. Faulting Winternitz One-Time Signatures to Forge LMS, XMSS, or Signatures
Yoshida et al. Towards trusted iot sensing systems: Implementing puf as secure key generator for root of trust and message authentication code
Ferreira et al. Software-based security approach for networked embedded devices

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
CB02 Change of applicant information

Address after: Luohu District Shenzhen Shennan Road 518000 No. 4020 Guangdong provincial power dispatching center building

Applicant after: SHENZHEN POWER SUPPLY BUREAU Co.,Ltd.

Applicant after: Institute of Software, Chinese Academy of Sciences

Applicant after: China Southern Power Grid Research Institute Co.,Ltd.

Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun

Applicant before: Institute of Software, Chinese Academy of Sciences

Applicant before: China Southern Power Grid Research Institute Co.,Ltd.

Applicant before: SHENZHEN POWER SUPPLY BUREAU Co.,Ltd.

CB02 Change of applicant information
CB03 Change of inventor or designer information

Inventor after: Lv Zhining

Inventor after: Xi Wei

Inventor after: Kuang Xiaoyun

Inventor after: Yao Hao

Inventor after: Yu Yang

Inventor after: Ning Baifeng

Inventor after: Luo Weifeng

Inventor after: Liu Wei

Inventor after: Deng Wei

Inventor after: Qin Yu

Inventor after: Liu Jingbin

Inventor after: Zhao Shijun

Inventor after: Feng Wei

Inventor before: Lv Zhining

Inventor before: Liu Wei

Inventor before: Kuang Xiaoyun

Inventor before: Yao Hao

Inventor before: Yu Yang

Inventor before: Qin Yu

Inventor before: Liu Jingbin

Inventor before: Zhao Shijun

Inventor before: Ning Baifeng

Inventor before: Feng Wei

Inventor before: Xi Wei

Inventor before: Luo Weifeng

Inventor before: Deng Wei

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant