Semiconductor device, control flow inspection method, non-transitory computer readable medium, and electronic device

US11868467B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11868467-B2
Application numberUS-201917620804-A
CountryUS
Kind codeB2
Filing dateJun 25, 2019
Priority dateJun 25, 2019
Publication dateJan 9, 2024
Grant dateJan 9, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A semiconductor device ( 100 ) includes: a determination unit ( 110 ) configured to determine whether an avoidance condition of inspection of control flow integrity is satisfied (e.g., a degree of similarity with a previous input value is in a predetermined range) based on determination auxiliary information, which is at least an input value in a target code block to be executed among a plurality of code blocks in a predetermined program, and an inspection unit ( 120 ) configured to avoid inspection of control flow integrity in the target code block when it is determined that the avoidance condition is satisfied.

First claim

Opening claim text (preview).

What is claimed is: 1. A semiconductor device comprising: at least one memory configured to store instructions; and at least one processor configured to execute the instructions to: acquire, as determination auxiliary information, at least one input value to a target code block to be executed among a plurality of code blocks in a predetermined program; determine whether an avoidance condition of inspection of control flow integrity is satisfied based on the at least one input value to the target code block, by checking whether a data content of the at least one input value matches a predetermined value or whether a data size of the at least one input value is within a predetermined range; in response to the determination indicating that the avoidance condition has been satisfied, not perform avoid the inspection of the control flow integrity in the target code block; in response to the determination indicating that the avoidance condition has not been satisfied, perform the inspection of the control flow integrity in the target code block, wherein not performing the inspection of the control flow integrity when the avoidance condition has been satisfied reduces processing overhead while maintaining security during execution of the predetermined program. 2. The semiconductor device according to claim 1 , wherein the at least one processor is further configured to execute the instructions to make the determination using a degree of similarity with previous determination auxiliary information at a time of past execution in the target code block as the avoidance condition. 3. The semiconductor device according to claim 1 , wherein the determination auxiliary information further includes at least one internal state variable value when the target code block is executed, and the at least one processor is further configured to execute the instructions to take into account a range of the at least one internal state variable value as the avoidance condition when making the determination. 4. The semiconductor device according to claim 1 , wherein the at least one processor is further configured to execute the instructions to set an avoidance level in accordance with a degree to which the avoidance condition is satisfied when the determination indicates that the avoidance condition is satisfied, and perform or not perform the inspection in accordance with the avoidance level. 5. The semiconductor device according to claim 4 , wherein a threshold of the avoidance level is defined in advance in each of the plurality of code blocks, and the at least one processor is further configured to execute the instructions to perform or not perform the inspection when the avoidance level satisfies the threshold of the avoidance level defined in the target code block. 6. The semiconductor device according to claim 1 , further comprising a storage apparatus configured to store history information of the determination auxiliary information, wherein the at least one processor is further configured to execute the instructions to: acquire the determination auxiliary information in the target code block; make the determination based on the history information and the acquired determination auxiliary information; and add the acquired determination auxiliary information in the storage apparatus as additional history information in accordance with the result of the determination. 7. The semiconductor device according to claim 6 , wherein the at least one processor is further configured to execute the instructions to make the determination using a determination model in which the avoidance condition is learned using the history information. 8. The semiconductor device according to claim 7 , wherein the at least one processor is further configured to execute the instructions to update parameters by learning the avoidance condition of the determination model using the history information. 9. The semiconductor device according to claim 1 , wherein the semiconductor device includes a secure area and a non-secure area, the secure area includes at least the at least one memory, a determination circuit and an inspection circuit, the non-secure area includes the at least one processor, and the determination circuit is configured to make the determination in accordance with execution of an inspection instruction for calling inspection of the control flow integrity set in the target code block by the at least one processor. 10. A control flow inspection method, comprising: acquiring, by a computer and as determination auxiliary information, at least one input value to a target code block to be executed among a plurality of code blocks in a predetermined program; a determining, by the computer, of whether an avoidance condition of inspection of control flow integrity is satisfied based on the at least one input value to the target code block, by checking whether a data content of the at least one input value matches a predetermined value or whether a data size of the at least one input value is within a predetermined range; in response to the determination indicating that the avoidance condition has been satisfied, not performing, by the computer, the inspection of the control flow integrity in the target code block; in response to the determination indicating that the avoidance condition has not been satisfied, performing, by the computer, the inspection of the control flow integrity in the target code block, wherein not performing the inspection of the control flow integrity when the avoidance condition has been satisfied reduces processing overhead while maintaining security during execution of the predetermined program. 11. A non-transitory computer readable medium storing a control flow inspection program executable by a computer to perform: acquiring, as determination auxiliary information, at least one input value to a target code block to be executed among a plurality of code blocks in a predetermined program; determining whether an avoidance condition of inspection of control flow integrity is satisfied based on the at least one input value to the target code block, by checking whether a data content of the at least one input value matches a predetermined value or whether a data size of the at least one input value is within a predetermined range; in response to the determination indicating that the avoidance condition has been satisfied, not performing the avoid the inspection of the control flow integrity in the target code block; in response to the determination indicating that the avoidance condition has not been satisfied, performing the inspection of the control flow integrity in the target code block, wherein not performing the inspection of the control flow integrity when the avoidance condition has been satisfied reduces processing overhead while maintaining security during execution of the predetermined program. 12. An electronic device comprising a semiconductor device, wherein the semiconductor device comprises: at least one memory configured to store instructions; and at least one processor configured to execute the instructions to: acquire, as determination auxiliary information, at least one input value to a target code block to be executed among a plurality of code blocks in a predetermined program; determine whether an avoidance condition of inspection of control flow integrity is satisfied based on the at least one input value to the target code block, by checking whether a data content of the at least one input value matches a predetermined value or whether a data size of the at least one input value is within a predetermined range; in respo

Assignees

Inventors

Classifications

  • G06F21/54Primary

    by adding security routines or objects to programs · CPC title

  • G06F21/53Primary

    by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title

  • by checking file integrity · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11868467B2 cover?
A semiconductor device ( 100 ) includes: a determination unit ( 110 ) configured to determine whether an avoidance condition of inspection of control flow integrity is satisfied (e.g., a degree of similarity with a previous input value is in a predetermined range) based on determination auxiliary information, which is at least an input value in a target code block to be executed among a plurali…
Who is the assignee on this patent?
Nec Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/54. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 09 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).