Volatile Memory Virus Protection via Opcode Authorization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Volatile memory areas in electronic circuits, such as RAM and processing unit stacks, are vulnerable to virus attacks, particularly those that modify instructions or data, as existing protection measures like read, write, and execution rights are insufficient.

Innovation Solution

Assigning lists of authorized and forbidden opcodes to specific memory areas, either stored at the same address or in a separate table, to restrict access and execution, thereby preventing unauthorized modifications by viruses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If standard memory protection rights (read, write, execution) are assigned to memory areas, then basic access control is provided, but viruses can still replace program instructions or modify data by exploiting the executable nature of these areas

Engineering Contradiction:
Improvevirus protection capabilityVSAvoidprotection mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the protection parameter from general access rights (read/write/execute) to specific opcode-level authorization. Each memory area is associated with a list of authorized opcodes, and the protection mechanism checks whether the opcode of the instruction attempting to access the memory area is included in the authorized list. This transforms the protection from a coarse-grained approach to a fine-grained approach based on instruction type rather than just access rights.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If memory areas are made accessible in write and execution mode for program execution, then program functionality is enabled, but viruses can replace programs or program portions and execute them

Engineering Contradiction:
Improveprogram execution accessibilityVSAvoidvirus attack vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent applies different protection characteristics to different memory areas based on their specific requirements. Each memory area can have its own customized list of authorized opcodes, allowing the system to maintain executable and writable access where needed for legitimate programs while restricting specific opcode types that could be exploited by viruses. This localized approach to protection allows fine-tuned security policies for different regions of memory.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If a virus modifies instruction operands in the execution stack, then data manipulation is achieved, but existing protection measures cannot prevent this modification

Engineering Contradiction:
Improvedata manipulation capabilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent establishes opcode authorization lists for memory areas in advance, before any virus attack occurs. The execution stack and other memory areas are pre-configured with lists of opcodes that are authorized to access them. When a virus attempts to modify data by injecting unauthorized instructions, the protection mechanism detects the unauthorized opcode and blocks the operation before the data modification can occur, thus preventing the harmful effect rather than responding to it afterward.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9286470B2Protection of a volatile memory against viruses by modification of the content of an instruction
Publication Date: 2016.03.15 STMICROELECTRONICS (ROUSSET) SAS
  • US9286470B2 patent drawing
  • US9286470B2 patent drawing

AI summary

A method for protecting a volatile memory against a virus, wherein: rights of writing, reading, or execution are assigned to certain areas of the memory; and a first list of opcodes for which the access to the areas is authorized or forbidden is associated with each of these areas.