Patents
Literature
Patsnap Eureka AI that helps you search prior art, draft patents, and assess FTO risks, powered by patent and scientific literature data.

7 results about "Bounds checking" patented technology

In computer programming, bounds checking is any method of detecting whether a variable is within some bounds before it is used. It is usually used to ensure that a number fits into a given type (range checking), or that a variable being used as an array index is within the bounds of the array (index checking). A failed bounds check usually results in the generation of some sort of exception signal.

A Method for Indirect Prefetch Address Out-of-Bounds Check Based on GCC Compiler

ActiveCN115237417BResource allocationCode compilationReference typeAlgorithm
The present invention relates to the technical field of compilers, and particularly to a method for indirect prefetch address out-of-bounds check based on the GCC compiler. The method for indirect prefetch address out-of-bounds check based on the GCC compiler includes: S1: In the indirect prefetch insertion stage, insert multiple GIMPLE statements to load the index array values, and then perform index out-of-bounds check; S2: Convert to two different memory reference types in the GIMPLE intermediate representation stage; S3: Adopt different out-of-bounds check methods for different memory reference types to obtain the maximum value of the induction variable, that is, the maximum index value of the index array; S4: Select different address out-of-bounds avoidance methods according to the memory reference type of the index array; S5: Perform the above address out-of-bounds check and load the index array values. The method for indirect prefetch address out-of-bounds check based on the GCC compiler provided by the present invention has the advantages of effectively reducing the workload and work difficulty of programmers. In particular, it reduces the huge performance overhead caused by instruction jumps.
Owner:ZHONGYUAN ENGINEERING COLLEGE

Processor transient execution vulnerability triggering method based on loop exit prediction mechanism

This invention relates to a method for triggering transient execution vulnerabilities in processors based on a loop exit prediction mechanism, belonging to the field of computer science. First, it detects whether a loop exit predictor exists in the target processor. Then, it trains the loop exit predictor by constructing and repeatedly executing a loop of a specific length, fixing its total iteration count field to a specific value set by the attacker. Next, it triggers the victim to execute long loop code containing boundary checks. When the victim's loop reaches the specified length, the loop exit predictor preemptively predicts a loop exit, forming a transient execution window. Within this window, it bypasses boundary checks, generating out-of-bounds memory access and loading sensitive kernel data into the cache. Finally, it uses cache side-channel technology to recover the data. This invention provides a novel approach to constructing transient execution vulnerabilities, expanding the attack surface of transient execution vulnerabilities in kernel code and significantly improving kernel code security.
Owner:HARBIN INST OF TECH

Apparatus, computer-readable medium, and method for reducing bounds checking overhead by instrumenting pointer arithmetic

Methods, apparatus, systems, and articles of manufacture are disclosed that perform bounds checking on authorized memory allocations during pointer arithmetic. In some examples, instruction decode circuitry decodes an update pointer instruction for a pointer. In some examples, bounds checking circuitry determines an authorized allocation for the pointer, determines one or more exclusion zones and poison zones for the pointer. In some examples, bounds checking circuitry updates the pointer and generates a fault if the pointer points to one of the exclusion zones and poisons the pointer if the pointer points to one of the poison zones.
Owner:INTEL CORP

Masked infinity norm check for crystals-dilithium signature generation

A data processing system and method for norm checking a cryptographic operation for lattice-based cryptography in a processor, the instructions, including: multiplying a first polynomial by a second polynomial to produce a first output, wherein the d arithmetic shares have a modulus q′; securely converting the first output to d Boolean shares; securely subtracting a third polynomial from the first output to produce a second output, wherein the third polynomial is randomly generated and then offset by a first constant parameter; securely adding a first constant based upon a bound check and the first constant parameter to the second output to shift the values of the second output to positive values to produce a third output; and securely adding a second constant based upon the bound check to the third output to produce a carry bit.
Owner:NXP BV

Device and method for implementing control flow integrity

Apparatus and methods related to control flow integrity enforcement. A computer device (110) includes a memory (116). The computer device also includes at least one processor (114) configured to execute a process and manage memory for the process. The processor is further configured to: execute one or more program instructions associated with an application; arrive at a control flow transfer for the one or more program instructions; in response to failure to satisfy a target control flow, expand a call stack associated with the one or more program instructions; identify an offending function call; and rewrite the offending function call. The rewritten function call includes a memory operation bounds check.
Owner:DENSO CORP

ARM (Advanced RISC Machines) platform-oriented kernel driver isolation method

The kernel drive isolation method comprises the following steps: S1, static analysis: executing static analysis on a drive program through a static analysis framework, and setting a boundary check mechanism for all memory access instructions belonging to a shared type; s2, drive loading: S2.1, during loading, creating a special drive page table by the system; the driving page table and the page table of the system kernel are mutually independent; s2.2, the system sets a driving page table item of a page where the shared global variable is located in the driving page table as U-Page according to the compiling result output in the step S1; s2.3, distributing an independent drive stack for the drive program, and establishing a mapping relation between the drive stack and a stack of a system kernel; s2.4, creating and mapping a cache between the driving program and a system kernel; and S2.5, finally completing the loading of the driving program. And S3, driving operation: operating the driving program, and performing corresponding switching between the driving stack and the stack of the system kernel when calling is performed between the driving program and the system kernel.
Owner:北京中关村实验室 +1

Low-memory masked Dilithium with alternative signing algorithm

A method of performing a Dilithium signature operation on a message M using a secret key sk, including: generating a polynomial y using an ExpandMask function; calculating a polynomial z based upon y, c, and s1; performing a bound check on z based upon γ1 and β; performing a bound check on ct0 based upon γ2; calculating a polynomial {tilde over (r)} based upon A, z, c, t, α, and w1; performing a bound check on {tilde over (r)} based upon γ2 and β; calculating a hint polynomial h based on the {tilde over (r)}; and returning a digital signature of the message M where the digital signature includes z and h.
Owner:NXP BV