USPatent applicationPatented

Artificial Intelligence-based automated method for restoring mask ROM firmware binary and apparatus for the same

Granted 16 Dec 2025 · 1 office action

Life of the application

7 dated events
⤢ drag to zoom20242026202820302032203420362038204020422044ProsecutionTerm & fees
ProsecutionTerm & feeshover for detail · click to open

Description

9 parts
›CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of Korean Patent Application No. 10-2023-0124031, filed Sep. 18, 2023, which is hereby incorporated by reference in its entirety into this application.

›BACKGROUND OF THE INVENTION

1. Technical Field

The present disclosure relates generally to Artificial Intelligence (AI)-based automated mask Read Only Memory (ROM) firmware binary restoration technology, and more particularly to hardware security and firmware reverse engineering technology.

2. Description of the Related Art

Security issues attributable to backdoors or vulnerabilities within embedded system firmware are becoming increasingly serious.

Although embedded systems are utilized in various fields such as national defense, drones, Internet-of-Things (IoT), Artificial Intelligence (AI) servers, and autonomous driving, most operations do not conduct threat analysis due to a lack of awareness regarding firmware threat analysis, difficulties in acquiring actual device firmware, etc.

Recently, the severity of firmware security threats has been increasing, but it is not easy even to acquire actual device On-PCB firmware, and, especially, it is technically difficult to restore firmware binaries stored in a bit form in a mask ROM (MASK ROM).

Although manual analysis by top-level reverse engineering experts can be conducted for mask ROM firmware restoration, a storage method thereof is not disclosed, thus resulting in a low restoration success rate relative to human resources, time, and cost that are involved in restoration.

›PRIOR ART DOCUMENTS

Patent Documents

(Patent Document 1) Korean Patent Application Publication No 10-2014-0146876, Date of Publication: Dec. 29, 2014 (Title: Embedded memory device and memory controller including it)

›SUMMARY OF THE INVENTION

Accordingly, the present disclosure has been made keeping in mind the above problems occurring in the prior art, and an object of the present disclosure is to provide AI-based automated technology for restoring mask ROM firmware binaries.

Another object of the present disclosure is to perform mask ROM firmware binary restoration having a high success rate relative to human resources, time, and cost.

In accordance with an aspect of the present disclosure to accomplish the above objects, there is provided an Artificial Intelligence (AI)-based automated method for restoring a mask Read-Only Memory (ROM) firmware binary, the AI-based automated method being performed by an AI-based automated apparatus for restoring a mask ROM firmware binary, the AI-based automated method including generating a bit-order list by inputting bit information and a parameter that are input for restoration to a pre-trained generation model; and restoring a firmware binary based on the bit-order list.

The pre-trained generation model may correspond to a model trained in consideration of an independent variable and a dependent variable of chip data and a bit-order list generation policy.

The bit-order list generation policy may be established based on a characteristic of the parameter associated with generation of the bit-order list.

The AI-based automated method may further include performing system verification on the firmware binary based on string detection, executable code detection, and loop code detection.

The AI-based automated method may further include updating the pre-trained generation model by utilizing a system verification result based on the system verification and a result of user verification on the firmware binary as feedback information.

In accordance with another aspect of the present disclosure to accomplish the above objects, there is provided an Artificial Intelligence (AI)-based automated apparatus for restoring a mask Read-Only Memory (ROM) firmware binary, including a processor configured to generate a bit-order list by inputting bit information and a parameter that are input for restoration to a pre-trained generation model, and restore a firmware binary based on the bit-order list; and a memory configured to store the pre-trained generation model.

The pre-trained generation model may correspond to a model trained in consideration of an independent variable and a dependent variable of chip data and a bit-order list generation policy.

The bit-order list generation policy may be established based on a characteristic of the parameter associated with generation of the bit-order list.

The processor may be configured to perform system verification on the firmware binary based on string detection, executable code detection, and loop code detection.

The processor may be configured to update the pre-trained generation model by utilizing a system verification result based on the system verification and a result of user verification on the firmware binary as feedback information.

›BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a diagram illustrating an example of a conventional mask ROM firmware binary restoration process.

FIG. 2 is an operation flowchart illustrating an AI-based automated method for restoring a mask ROM firmware binary according to an embodiment of the present disclosure;

FIG. 3 is a diagram illustrating an AI-based automated system for restoring a mask ROM firmware binary according to the present disclosure;

FIG. 4 is a diagram illustrating an example of two-dimensional (2D) text bit information extracted from mask ROM according to the present disclosure;

FIG. 5 is a diagram illustrating an example of a bit-order list for the 2D text bit information illustrated in FIG. 4 ;

FIG. 6 is an operation flowchart illustrating in detail an AI-based automated method for restoring a mask ROM firmware binary according to an embodiment of the present disclosure; and

FIG. 7 is a diagram illustrating an AI-based automated apparatus for restoring a mask ROM firmware binary according to the present disclosure.

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 1 of 4

The present disclosure will be described in detail below with reference to the accompanying drawings. Repeated descriptions and descriptions of known functions and configurations which have been deemed to make the gist of the present disclosure unnecessarily obscure will be omitted below. The embodiments of the present disclosure are intended to fully describe the present disclosure to a person having ordinary knowledge in the art to which the present disclosure pertains. Accordingly, the shapes, sizes, etc. of components in the drawings may be exaggerated to make the description clearer.

In the present specification, each of phrases such as “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B, or C”, “at least one of A, B, and C”, and “at least one of A, B, or C” may include any one of the items enumerated together in the corresponding phrase, among the phrases, or all possible combinations thereof.

Hereinafter, preferred embodiments of the present disclosure will be described in detail with reference to the attached drawings.

FIG. 1 is a diagram illustrating an example of a conventional mask ROM firmware binary restoration process.

FIG. 1 illustrates a difficulty in mask ROM firmware binary restoration.

For the protection of corporate technological know-how and intellectual property, a method of storing firmware in mask ROM is not generally disclosed. Due thereto, it is difficult to know a method for restoring an original firmware binary from extracted bit information.

Therefore, manual analysis by top-level reverse engineering experts is inevitably conducted for mask ROM firmware restoration. However, as illustrated in FIG. 1 , a firmware storage method is not generally disclosed, and thus a problem arises in that a restoration success rate is low compared to human resources, time, and cost that are involved in mask ROM firmware restoration.

The present disclosure is intended to solve this problem and propose technology that is capable of restoring a mask ROM firmware binary using an automated method.

FIG. 2 is an operation flowchart illustrating an AI-based automated method for restoring a mask ROM firmware binary according to an embodiment of the present disclosure.

Referring to FIG. 2 , the AI-based automated method for restoring a mask ROM firmware binary (hereinafter also referred to as “AI-based automated mask ROM firmware binary restoration method”) according to an embodiment of the present disclosure allows an AI-based automated apparatus for restoring a mask ROM firmware binary (hereinafter also referred to as “AI-based automated mask ROM firmware binary restoration apparatus”) to generate a bit-order list by inputting bit information and parameters that are input for restoration to a pre-trained generation model at step S 210 .

For example, FIG. 3 is a diagram illustrating a system according to the present disclosure, wherein, when bit information and parameters 310 corresponding to a restoration target are input to the AI-based automated mask ROM firmware binary restoration apparatus 300 , a bit-order list may be generated by inputting the bit information and parameters 310 to a pre-trained generation model provided in the apparatus 300 .

Here, the pre-trained generation model may correspond to a model trained in consideration of an independent variable and dependent variable of chip data and bit-order list generation policies.

For example, as illustrated in FIG. 3 , the independent variable and dependent variable 320 of the chip data may be input to train the generation model.

Here, the independent variable of the chip data may correspond to the bit information and parameters, and the dependent variable of the chip data may correspond to the bit-order list in which bits are selected from bit information.

Here, the bit information may correspond to two-dimensional (2D) text composed of 0 and 1.

Here, the parameters may denote information about mask ROM firmware, and may correspond to values indicated in the following Table 1.

Here, the bit-order list may be information indicating the order in which bits are selected from the bit information configured using 2D text composed of 0 and 1.

For example, assuming that the original firmware binary is configured in the order of ‘011’, ‘010’, and ‘110’, the bit information of the 2D text extracted from the mask ROM may be represented, as shown in FIG. 4 , and the bit-order list indicating the order in which these bits are selected may be represented, as shown in FIG. 5 .

Here, the independent variable and the dependent variable may correspond to a relationship between a cause and an effect, and thus the generation model may be trained to output the dependent variable when the independent variable is input.

Here, the generation model for generating the bit-order list may be trained through policy-based reinforcement learning.

Generally, more learning data is required for enforcement learning, but it is difficult to obtain learning data related to mask ROM firmware restoration.

Therefore, the present disclosure may train the generation model using the policy-based reinforcement learning.

Here, bit-order list generation policies may be established based on the characteristics of parameters associated with the generation of the bit-order list.

That is, the bit-order list generation policies may be configured such that the characteristics of the parameters are associated with the generation of the bit-order list.

In an example, a policy indicating that, when PartNumber (part number) values, among the parameters, are identical to each other, bit-order lists are identical to each other may be established.

In another example, assuming that, among the parameters, DecoderPosition (i.e., the positions of the X and Y axis decoders of the mask ROM) corresponds to an upper-left position, ExtractedLayout (i.e., mask ROM layout) is ‘w512×h64’, and WordBits (i.e., the unit by which the core processor reads bits from the mask ROM) is 16 bits, a policy indicating that 64 bytes are generated by combining bit values spaced apart from each other by 16 bits in a horizontal direction in each extraction row may be established.

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 2 of 4

Therefore, the AI-based automated mask ROM firmware binary restoration apparatus 300 according to the present disclosure may associate the independent variable and dependent variable data, trained with the bit information and parameters 310 corresponding to the input restoration target, with preset policies, and may generate the bit-order list as the result of the association.

Further, the AI-based automated mask ROM firmware binary restoration method according to the embodiment of the present disclosure allows the AI-based automated mask ROM firmware binary restoration apparatus to restore the firmware binary based on the bit-order list at step S 220 .

Furthermore, although not illustrated in FIG. 2 , the AI-based automated mask ROM firmware binary restoration method according to the embodiment of the present disclosure allows the AI-based automated mask ROM firmware binary restoration apparatus to perform system verification on the firmware binary based on string detection, executable code detection, and loop code detection.

Here, when any meaningful string is present in each restored firmware binary, when executable code having a meaningful flow is present, or when code having an iterative processing function of forming a loop is present, it may be determined that the possibility of firmware restoration being succeeded is high.

When firmware is encoded and encrypted, it may be impossible to detect a string or executable code. Therefore, because, for normally restored firmware, code for decoding and decrypting the firmware is present, the loop code detection function is required.

Furthermore, although not illustrated in FIG. 2 , the AI-based automated mask ROM firmware binary restoration method according to the embodiment of the present disclosure allows the AI-based automated mask ROM firmware binary restoration apparatus to update the pre-trained generation model by utilizing a system verification result based on system verification and the result of user verification on the firmware binary as feedback information.

For example, referring to FIG. 3 , the AI-based automated mask ROM firmware binary restoration apparatus 300 internally performs system verification using functions such as string detection, executable code detection, and loop code detection, and provides the result 340 of the system verification to a user who conducts firmware reverse engineering, thus helping the user finally check whether restoration through the analysis of reverse engineering has succeeded.

Thereafter, the system verification result and the user verification result may be fed back into the AI-based automated mask ROM firmware binary restoration apparatus 300 , as illustrated in FIG. 3 , and may be input as compensation for reinforcing the capability to combine bits in the bit-order list.

Through these processes, the success rate of the automated firmware binary restoration function of the AI-based automated mask ROM firmware binary restoration apparatus 300 may be gradually improved.

By means of the AI-based automated mask ROM firmware binary restoration method, there can be provided AI-based automated technology for restoring mask ROM firmware binaries.

Further, the present disclosure may perform mask ROM firmware binary restoration having a high success rate relative to human resources, time, and cost.

FIG. 6 is an operation flowchart illustrating in detail an AI-based automated method for restoring a mask ROM firmware binary according to an embodiment of the present disclosure.

Referring to FIG. 6 , in the AI-based automated mask ROM firmware binary restoration method according to the embodiment of the present disclosure, when bit information and parameters for restoration are input at step S 610 , the bit information and parameters may be input to a pre-trained generation model at step S 620 .

Thereafter, when the pre-trained generation model generates a bit-order list as an output result at step S 630 , a firmware binary may be restored based on the bit-order list at step S 640 .

Thereafter, system verification and user verification on the restored firmware binary may be performed at step S 650 , and feedback information based on the result of system verification and the result of user verification may be provided at step S 660 , whereby the pre-trained generation model may be updated at step S 670 .

FIG. 7 is a diagram illustrating an AI-based automated apparatus for restoring a mask ROM firmware binary according to the present disclosure.

Referring to FIG. 7 , the AI-based automated mask ROM firmware binary restoration apparatus according to the embodiment of the present disclosure may be implemented in a computer system such as a computer readable storage medium. As illustrated in FIG. 7 , a computer system 700 may include one or more processors 710 , memory 730 , a user interface input device 740 , a user interface output device 750 , and storage 760 , which communicate with each other through a bus 720 . The computer system 700 may further include a network interface 770 connected to a network 780 . Each processor 710 may be a Central Processing Unit (CPU) or a semiconductor device for executing processing instructions stored in the memory 730 or the storage 760 . Each of the memory 730 and the storage 760 may be any of various types of volatile or nonvolatile storage media. For example, the memory 730 may include Read-Only Memory (ROM) 731 or Random Access Memory (RAM) 732 .

Therefore, the embodiment of the present disclosure may be implemented as a non-transitory computer-readable medium in which a computer-implemented method or computer-executable instructions are stored. When the computer-readable instructions are executed by the processor, the computer-readable instructions may perform the method according to at least one aspect of the present disclosure.

The processor 710 generates a bit-order list by inputting bit information and parameters that are input for restoration to a pre-trained generation model.

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 3 of 4

For example, FIG. 3 is a diagram illustrating a system according to the present disclosure, wherein, when bit information and parameters 310 corresponding to a restoration target are input to the AI-based automated mask ROM firmware binary restoration apparatus 300 , a bit-order list may be generated by inputting the bit information and parameters 310 to a pre-trained generation model provided in the apparatus 300 .

Here, the pre-trained generation model may correspond to a model trained in consideration of an independent variable and dependent variable of chip data and bit-order list generation policies.

For example, as illustrated in FIG. 3 , the independent variable and dependent variable 320 of the chip data may be input to train the generation model.

Here, the independent variable of the chip data may correspond to the bit information and parameters, and the dependent variable of the chip data may correspond to the bit-order list in which bits are selected from bit information.

Here, the bit information may correspond to two-dimensional (2D) text composed of 0 and 1.

Here, the parameters may denote information about mask ROM firmware, and may correspond to values indicated in the following Table 1.

Here, the bit-order list may be information indicating the order in which bits are selected from the bit information configured using 2D text composed of 0 and 1.

For example, assuming that an original firmware binary is configured in the order of ‘011’, ‘010’, and ‘110’, the bit information of the 2D text extracted from the mask ROM may be represented, as shown in FIG. 4 , and the bit-order list indicating the order in which these bits are selected may be represented, as shown in FIG. 5 .

Here, the independent variable and the dependent variable may correspond to a relationship between a cause and an effect, and thus the generation model may be trained to output the dependent variable when the independent variable is input.

Here, the generation model for generating the bit-order list may be trained through policy-based reinforcement learning.

Generally, more learning data is required for enforcement learning, but it is difficult to obtain learning data related to mask ROM firmware restoration.

Therefore, the present disclosure may train the generation model using the policy-based reinforcement learning.

Here, bit-order list generation policies may be established based on the characteristics of parameters associated with the generation of the bit-order list.

That is, the bit-order list generation policies may be configured such that the characteristics of the parameters are associated with the generation of the bit-order list.

In an example, a policy indicating that, when PartNumber (part number) values, among the parameters, are identical to each other, bit-order lists are identical to each other may be established.

In another example, assuming that, among the parameters, DecoderPosition (i.e., the positions of the X and Y axis decoders of the mask ROM) corresponds to an upper-left position, ExtractedLayout (i.e., mask ROM layout) is ‘w512×h64’, and WordBits (i.e., the unit by which the core processor reads bits from the mask ROM) is 16 bits, a policy indicating that 64 bytes are generated by combining bit values spaced apart from each other by 16 bits in a horizontal direction in each extraction row may be established.

Therefore, the AI-based automated mask ROM firmware binary restoration apparatus 300 according to the present disclosure may associate the independent variable and dependent variable data, trained with the bit information and parameters 310 corresponding to the input restoration target, with preset policies, and may generate the bit-order list as the result of the association.

Further, the processor 710 may restore the firmware binary based on the bit-order list.

Furthermore, the processor 710 may perform system verification on the firmware binary based on string detection, executable code detection, and loop code detection.

Here, when any meaningful string is present in the restored firmware binary, when executable code having a meaningful flow is present, or when code having an iterative processing function of forming a loop is present, it may be determined that the possibility of firmware restoration being succeeded is high.

When firmware is encoded and encrypted, it may be impossible to detect a string or executable code. Therefore, because, for normally restored firmware, code for decoding and decrypting the firmware is present, the loop code detection function is required.

Furthermore, the processor 710 updates the pre-trained generation model by utilizing a system verification result based on system verification and the result of user verification on the firmware binary as feedback information.

For example, referring to FIG. 3 , the AI-based automated mask ROM firmware binary restoration apparatus 300 internally performs system verification using functions such as string detection, executable code detection, and loop code detection, and provides the result 340 of the system verification to a user who conducts firmware reverse engineering, thus helping the user finally check whether restoration through the analysis of reverse engineering has succeeded.

Thereafter, the system verification result and the user verification result may be fed back into the AI-based automated mask ROM firmware binary restoration apparatus 300 , as illustrated in FIG. 3 , and may be input as compensation for reinforcing the capability to combine bits in the bit-order list.

Through these processes, the success rate of the automated firmware binary restoration function of the AI-based automated mask ROM firmware binary restoration apparatus 300 may be gradually improved.

The memory 730 stores the pre-trained generation model.

Also, the memory 730 stores various types of information generated by the AI-based automated mask ROM firmware binary restoration apparatus according to the embodiment of the present disclosure, as described above.

›DESCRIPTION OF THE PREFERRED EMBODIMENTS · 4 of 4

According to an embodiment, the memory 730 may support functions for AI-based automated mask ROM firmware binary restoration. Here, the memory 730 may function as a separate large-capacity storage, and may include a control function for performing operations.

By means of the AI-based automated mask ROM firmware binary restoration apparatus, there can be provided AI-based automated technology for restoring mask ROM firmware binaries.

Further, the present disclosure may perform mask ROM firmware binary restoration having a high success rate relative to human resources, time, and cost.

According to the present disclosure, there can be provided AI-based automated technology for restoring mask ROM firmware binaries.

Further, the present disclosure may perform mask ROM firmware binary restoration having a high success rate relative to human resources, time, and cost.

As described above, in the AI-based automated method for restoring a mask ROM firmware binary and the apparatus for the AI-based automated method according to the present disclosure, the configurations and schemes in the above-described embodiments are not limitedly applied, and some or all of the above embodiments can be selectively combined and configured so that various modifications are possible.

›Tables in the description — 1
TABLE 1
ParameterDescription
PartNumberPart number (e.g., CHIP 5800)
ChipFamilyChip series (e.g., CHIP58)
EndiannessBig or Little
WordBitsUnit by which core processor reads bits from mask
ROM (e.g., 16 bits)
MaskROMSizeSize of mask ROM (e.g., 32,768 bits)
ManufacturerManufacturer (e.g., ChipMaker)
ArchitectureChip architecture (ex: ARM v3)
ProcessorBitsProcessing bits of core processor (e.g., 4 bits)
DecoderPositionPositions of X and Y axis decoders of mask ROM
(e.g., upper-left)
ExtractedLayoutMask ROM layout (e.g., w512 × h64)
BitInversionWhether or not bits extracted from mask ROM are
inverted (e.g., FALSE-non-inverted, TRUE-inverted)

Claims as granted

10 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

2 codes
IPC · International Patent Classification
Section G — Physics
  • G06F21/64
  • G06F21/57

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2024Apr 2024Jul 2024Oct 2024Jan 2025Apr 2025Jul 2025Oct 2025Jan 2026USPTOApplicantNon-final rejectionResponse after non-final
USPTOApplicanthover for detail · click to open
Pendency
1.9 y
694 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
Lynn D Feild
art unit 2431 · TC 2400
Citations: 15 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

No assignments have been recorded for this application yet.