WO2007078055A1 - Method of and apparatus for monitoring code to detect intrusion code - Google Patents
Method of and apparatus for monitoring code to detect intrusion code Download PDFInfo
- Publication number
- WO2007078055A1 WO2007078055A1 PCT/KR2006/005000 KR2006005000W WO2007078055A1 WO 2007078055 A1 WO2007078055 A1 WO 2007078055A1 KR 2006005000 W KR2006005000 W KR 2006005000W WO 2007078055 A1 WO2007078055 A1 WO 2007078055A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- patterns
- target
- pattern
- intrusion
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012544 monitoring process Methods 0.000 title claims abstract description 17
- 108020004414 DNA Proteins 0.000 claims description 17
- 108091028043 Nucleic acid sequence Proteins 0.000 claims description 12
- 239000000427 antigen Substances 0.000 claims description 8
- 108091007433 antigens Proteins 0.000 claims description 8
- 102000036639 antigens Human genes 0.000 claims description 8
- 108020004705 Codon Proteins 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 6
- 230000036039 immunity Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000027455 binding Effects 0.000 claims description 4
- 108700018351 Major Histocompatibility Complex Proteins 0.000 claims description 2
- 230000020382 suppression by virus of host antigen processing and presentation of peptide antigen via MHC class I Effects 0.000 claims description 2
- 150000001413 amino acids Chemical class 0.000 claims 7
- 230000008569 process Effects 0.000 description 11
- 108090000623 proteins and genes Proteins 0.000 description 10
- 102000004169 proteins and genes Human genes 0.000 description 10
- 229960005486 vaccine Drugs 0.000 description 10
- 210000000987 immune system Anatomy 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 229940028617 conventional vaccine Drugs 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000283707 Capra Species 0.000 description 1
- 102000053602 DNA Human genes 0.000 description 1
- 206010060891 General symptom Diseases 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 239000012620 biological material Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009149 molecular binding Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Definitions
- the present invention relates to a method of and apparatus for monitoring code to detect intrusion code, and more particularly, to a method of and apparatus for monitoring application code executed in a computer to determine whether the application code is intrusion code or resident code.
- Malicious code (malicious software, or malware) denotes all kinds of computer- executable code such as programs, macros, and scripts that is maliciously made to damage computer systems.
- FlG. 1 shows the life cycle of a malicious code.
- the life cycle of the malicious code includes a generation/opening period 10 in which the malicious code is generated and provided to the public, a distribution/spreading period 11 in which files infected with the malicious code are distributed and spread over a communication network, a recognition (active) period 12 in which the malicious code is active and a user recognizes the malicious code, a degeneration period 13 in which a vaccine program is updated and the malicious code is removed from a user's system, and an extinction period 14 in which the malicious code disappears.
- FlG. 2A shows the life cycle of a malicious code variant.
- the horizontal axis denotes time
- the vertical axis denotes the number of infected systems. Referring to FlG. 2A, after new malicious code 20 appears and disappears, a variant 21 of the malicious code appears continuously, thereby increasing the life cycle of the malicious code.
- FlG. 2B shows time points when action is taken against malicious code.
- Reference numeral 22 denotes a time point when a user thinks that a vaccine program should be updated in order to cope with the malicious code
- reference numeral 23 denotes a time point when the vaccine program is actually updated.
- the time difference is caused by time-consuming processes of analyzing the malicious code after the malicious code is already spread, drawing up a proper scheme and updating the vaccine program according to the scheme.
- an appearance of malicious code variants causes an increase in time and effort to analyze the malicious code. Disclosure of Invention
- the present invention provides a method of and apparatus for monitoring target code to determine whether the target code is an intrusion code or a resident code by extracting code patterns from the target code and comparing the extracted code patterns with code patterns reflecting the characteristics of the resident code.
- a method of monitoring a target code to determine whether the target code is an intrusion code intruding to a system includes: extracting first code patterns from the target code; loading second code patterns from a storage unit; calculating the distance between the first code patterns and the second code patterns; and determining whether the target code is the intrusion code by comparing the calculated distance with a threshold.
- an apparatus for monitoring a target code to determine whether the target code is an intrusion code intruding to a system includes a code pattern extracting unit and a code determining unit.
- the code pattern extracting unit extracts first code patterns from the target code.
- the code determining unit determines whether the target code is the intrusion code by calculating a distance between the first code patterns and input second code patterns and comparing the calculated distance with a threshold.
- a target code is a resident code or an intrusion code by using a mechanism of the self/non-self discrimination in a biological immune system, and thus the intrusion code determining efficiency can be improved over the conventional art. Accordingly, a vaccine program can be updated more rapidly and thus the malicious code can be treated more quickly.
- FIG. 1 shows the life cycle of a malicious code
- FIG. 2A shows the life cycle of a malicious code variant
- FIG. 2B shows points of time when action is taken against a malicious code
- FIG. 3 is a block diagram of a code monitoring apparatus according to an embodiment of the present invention.
- FlG. 4 is a flowchart of a code pattern extracting process in the code pattern extracting unit depicted in FlG. 3;
- FlG. 5 shows an exemplified hexadecimal code loaded as a monitoring target code
- FlG. 6 shows an exemplified DNA code encoded from a hexadecimal code
- FlG. 7 shows a protein code replaced from the DNA code of FlG. 6 according to a codon rule
- FlG. 8 shows examples of code extracted from the protein code of FlG. 7 according to predetermined conditions
- FlG. 9 is a flowchart showing a process of storing reference code patterns in a storage unit depicted in FlG. 3;
- FlG. 10 shows life cycles of a malicious code variant when code pattern extracting methods of the conventional art and an embodiment of the present invention are used.
- DNA-based molecular computing technology employing DNA molecules in a field of molecular information processing technology that process information using bio-molecules.
- the DNA-based molecular computing stores information to a DNA sequence and processes the information using chemical characteristics of a DNA molecule. Since cells forming the immune system can cope with a new antigen as well as memorize previously experienced antigens, various fields such as pattern recognition and feature extraction adopts the DNA-based molecular computing technology in order to use the characteristics of the immune system cells.
- the present invention uses the concept of DNA-based molecular computing technology to monitor code and determine whether the code is an intrusion code.
- the core of the present invention is self/non-self classification inspired by the processes of biological immune system, where self and non-self are defined as normal and malicious codes, respectively.
- the present embodiment realizes the self-learning mechanism that is capable of adapting itself to the unknown intrusion code. This means it can determine a specific code belongs to either self or non-self leading to a declaration of the latter as being potentially harmful.
- FlG. 3 is a block diagram of a code monitoring apparatus according to an embodiment of the present invention.
- the code monitoring apparatus includes a code pattern extracting unit 31 and a code determining unit 32.
- the code monitoring apparatus may further include a storage unit 33 storing immunity reference patterns for determining whether a target code is an intrusion code or a resident code.
- the code monitoring apparatus may further include a malicious code predicting unit 34.
- the malicious code predicting unit 34 predicts whether the intrusion code is a malicious code, when the code determining unit 32 determines that the target code is the intrusion code.
- the storage unit 33 can be a general data storage device such as a memory, an MD, a CD, and a DVD.
- the code pattern extracting unit 31 first, extracts a code with a predetermined length to be used for the determination from the target code at a predetermined location.
- the code may be extracted from predetermined portions of the entire target code in a predetermined rate. For example, when the target code contains 1000 bytes, the code of 100 bytes may be extracted from the target code. In this case, the 100 byte code may be a set of 10 codes, each of which is of lObytes and extracted at different positions.
- the extracted code has uniqueness distinguished from other code extracted from other target codes. If the extracted code is not distinguished from the other codes, another code is extracted from the target code in the above-described way.
- the present embodiment imitates an antigen presenting system, which monitors a portion of the antigen for an immune test in the biological immune system. That is, the antigen presenting system is applied to the target code for a code conversion and then code patterns are extracted on the converted code.
- the code patterns are extracted from the target code by extracting protein codes from a DNA sequence and applying a self/non-self discrimination mechanism in the antigen presenting system to the extracted protein codes.
- FIG. 4 is a flowchart of a code pattern extracting process of the code pattern extracting unit 31 employing the concept of the biological immune system.
- a path of an execution code is tracked and the entire execution code is loaded.
- the execution code may be loaded in one of the following time points when: a file is copied to a computer system, a file is transmitted through an email etc., over a network, a user runs an execution file, and a user sets with respect to an anti- malicious code program.
- FIG. 5 shows an exemplified hexadecimal code 52 of the loaded code.
- Reference numeral 51 denotes the location of the hexadecimal code 52.
- the loaded code is encoded into DNA code.
- the encoding is performed by dividing the value of each byte of the hexadecimal code shown in FIG. 5 by 4, and replacing the remainder 0, 1, 2, or 3 thereof with DNA bases, A, T, G, or C, respectively.
- An example of the encoding result is shown in FIG. 6.
- the DNA code is converted into a protein code.
- the conversion is performed according to a well-known human codon rule.
- the human codon rule is shown in Table 1 below.
- FIG. 7 shows the substitution result for the DNA code of FIG. 6 obtained using Table 1.
- the code pattern is extracted from the protein code shown in FIG. 7.
- the code pattern is obtained by extracting a portion corresponding to a binding pattern of a Major Histocompatibility Complex 1 (MHCl) molecule, a mechanism used for self/non-self discrimination in the biological immune system, from the protein code.
- MHCl Major Histocompatibility Complex 1
- the MHCl molecule binding pattern can be expressed by the following two formulas.
- FlG. 8 shows examples extracted from the protein code of FlG. 7 according to one of the two equations.
- reference numerals 81, 82, 83, and 84 denote file names, patterns satisfying equation (a) or (b), protein codes obtained using equation (a) or (b), and locations of the protein codes 83 in a file, respectively.
- the code determining unit 32 shown in FlG. 3 loads reference code patterns stored in the storage unit 33 and compares the loaded reference code patterns with the code pattern extracted by the code pattern extracting unit 31 to determine whether the extracted code is a resident code or an intrusion code.
- the reference code patterns are previously determined to be the reference code patterns of immunity using a resident code by the code pattern extracting unit 31 and by the code determining unit 32, and then stored in the storage unit 33.
- FlG. 9 is a flowchart of a process of storing immunity reference patterns in the storage unit 33.
- code patterns are extracted from a resident code. The extraction of the patterns is performed according to the process shown in FlG. 4.
- random patterns are created.
- the random patterns are randomly generated to have the same length as the patterns extracted from the resident code.
- the distance between the resident code patterns and i-th random pattern is calculated.
- the distance may be calculated using various methods. For example, as shown in Equation 1 below, the distance may be calculated by squaring differences in alphabetic order and adding all the squared values.
- S, T, N, and n denote the resident code patterns, the random patterns, the number of the resident code patterns, and the pattern length, respectively.
- the distance calculated using Equation 1 with respect to the i-th random pattern is compared with a threshold. If the distance is equal to or less than the threshold, the i-th random pattern is stored in the storing unit 33 as a reference code pattern in operation 95.
- the threshold is a predetermined value and its minimum value is selected to be a half of the distance between two code patterns selected arbitrarily from the resident code pattern distribution. The lower the threshold is set, the more the reference code patterns, while the higher the threshold is set, the fewer the reference code patterns.
- the code determining unit 32 calculates the distance between the reference code patterns stored in the storage unit 33 and the patterns extracted from the target code by the code pattern extracting unit 31 according to the process shown in FlG. 9 as following Equation.
- Equation 2 [53] Equation 2 [54] where S, T, N, M, and n denote the reference code patterns, the patterns extracted from the target code, the number of the reference code patterns, the number of the patterns extracted from the target code, and a length of the patterns of the reference code and target code, respectively.
- Equation 2 If the distance calculated using Equation 2 is less than or equal to the threshold, it is determined that the target code is a resident code. If the distance is greater than the threshold, it is determined that the target code is an intrusion code.
- the malicious code predicting unit 34 determines whether the intrusion code is a malicious code. The determination by the malicious code predicting unit 34 is performed based on user's experiences and the suspected malicious code. General symptoms of the malicious code can be detected from file characteristics, goat file tests, changes in processes, threads, and registries, network ports, code emulation, execution code debugging or system monitoring, etc. The symptoms of the malicious code may vary according to the type of the malicious code, such as spy ware, a worm, a bot, a trojan, a file virus, and a macro virus, and whether the malicious code is compressed.
- the determination of the malicious code may be patternized or automated based on user's experiences.
- the malicious code predicting unit 34 may stop the execution of the corresponding code or other codes and generate an alarm to other computers over a network.
- Table 2 illustrates experimental results that the target code is determined to be the intrusion code according to the thresholds and the reference code pattern generation rates.
- the rate denotes the reference code pattern generation rate, namely, a rate of the number of actually generated reference code patterns with respect to the number of all of the possibly generated reference code patterns). For example, if the length of the pattern is n, and the number of letters used for the patterns is m, the number of all of the possibly generated patterns will be m n .
- the generation rate means that, for example, 1/10, 1/100 ... of m n the possible patterns are actually generated as the reference code patterns.
- the intrusion code determination performance is measured using the numbers of reference code patterns corresponding to the reference code generation rate of 1/1,000,000, 5/1,000,000, and 1/100,000, respectively.
- FIG. 10 shows the life cycles of a malicious code variant according to the conventional art and the present invention.
- Reference numeral 10 denotes the life cycle of the malicious code variant according to the conventional art
- reference numeral 102 denotes the life cycle of the malicious code variant according to the present invention.
- Reference numeral 22 denotes a time point when a user thinks that a vaccine program should be updated for curing against the malicious code
- reference numeral 23 denotes a time point when the vaccine program is actually updated according to the conventional art.
- Reference numeral 103 denotes a time point when the vaccine program is actually updated according to the present invention.
- the malicious code can be reported to a vaccine program distributor more rapidly in the present invention than in the conventional art by determining whether a target code is an intrusion code and predicting whether the intrusion code is a malicious code. Therefore, the vaccine program can be updated more quickly.
- exemplary embodiments of the present invention can also be implemented by executing computer readable code/instructions in/on a medium, e.g., a computer readable medium.
- the medium can correspond to any medium/media permitting the storing and/or transmission of the computer readable code.
- the computer readable code/instructions can be recorded/transferred in/on a medium in a variety of ways, with examples of the medium including magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), optical recording media (e.g., CD- ROMs, or DVDs), random access memory media, and storage/transmission media such as carrier waves. Examples of storage/transmission media may include wired or wireless transmission (such as transmission through the Internet).
- the medium may also be a distributed network, so that the computer readable code/instructions is stored/ transferred and executed in a distributed fashion.
- the computer readable code/ instructions may be executed by one or more processors.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Investigating Or Analysing Biological Materials (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Peptides Or Proteins (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
Provided are a method of and apparatus for monitoring code to detect intrusion code. The method is used to monitor target code to determine whether the target code is a resident code in a system or an intrusion code into the system. In the method, first code patterns are extracted from the target code. Second code patterns are loaded from a storage unit, and a distance between the first code patterns and the second code patterns is calculated. It is determined whether the target code is the intrusion code by comparing the calculated distance with a threshold.
Description
Description
METHOD OF AND APPARATUS FOR MONITORING CODE TO
DETECT INTRUSION CODE
[1] This application claims the benefit of Korean Patent Application No. 10-
2005-0135839, filed on December 30, 2005, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
Technical Field
[2] The present invention relates to a method of and apparatus for monitoring code to detect intrusion code, and more particularly, to a method of and apparatus for monitoring application code executed in a computer to determine whether the application code is intrusion code or resident code.
Background Art
[3] Malicious code (malicious software, or malware) denotes all kinds of computer- executable code such as programs, macros, and scripts that is maliciously made to damage computer systems.
[4] FlG. 1 shows the life cycle of a malicious code. Referring to FlG. 1, the life cycle of the malicious code includes a generation/opening period 10 in which the malicious code is generated and provided to the public, a distribution/spreading period 11 in which files infected with the malicious code are distributed and spread over a communication network, a recognition (active) period 12 in which the malicious code is active and a user recognizes the malicious code, a degeneration period 13 in which a vaccine program is updated and the malicious code is removed from a user's system, and an extinction period 14 in which the malicious code disappears.
[5] FlG. 2A shows the life cycle of a malicious code variant. In FlG. 2A, the horizontal axis denotes time, and the vertical axis denotes the number of infected systems. Referring to FlG. 2A, after new malicious code 20 appears and disappears, a variant 21 of the malicious code appears continuously, thereby increasing the life cycle of the malicious code.
[6] FlG. 2B shows time points when action is taken against malicious code. Reference numeral 22 denotes a time point when a user thinks that a vaccine program should be updated in order to cope with the malicious code, and reference numeral 23 denotes a time point when the vaccine program is actually updated. Referring to FlG. 2B, it can be known that there is a time difference between time points 22 and 23. The time difference is caused by time-consuming processes of analyzing the malicious code after the malicious code is already spread, drawing up a proper scheme and updating the vaccine program according to the scheme.
[7] Further, an appearance of malicious code variants causes an increase in time and effort to analyze the malicious code. Disclosure of Invention
Technical Problem
[8] The present invention provides a method of and apparatus for monitoring target code to determine whether the target code is an intrusion code or a resident code by extracting code patterns from the target code and comparing the extracted code patterns with code patterns reflecting the characteristics of the resident code.
Technical Solution
[9] According to an aspect of the present invention, there is provided a method of monitoring a target code to determine whether the target code is an intrusion code intruding to a system. The method includes: extracting first code patterns from the target code; loading second code patterns from a storage unit; calculating the distance between the first code patterns and the second code patterns; and determining whether the target code is the intrusion code by comparing the calculated distance with a threshold.
[10] According to another aspect of the present invention, there is provided an apparatus for monitoring a target code to determine whether the target code is an intrusion code intruding to a system. The apparatus includes a code pattern extracting unit and a code determining unit. The code pattern extracting unit extracts first code patterns from the target code. The code determining unit determines whether the target code is the intrusion code by calculating a distance between the first code patterns and input second code patterns and comparing the calculated distance with a threshold.
Advantageous Effects
[11] According to the present invention, it is determined whether a target code is a resident code or an intrusion code by using a mechanism of the self/non-self discrimination in a biological immune system, and thus the intrusion code determining efficiency can be improved over the conventional art. Accordingly, a vaccine program can be updated more rapidly and thus the malicious code can be treated more quickly.
Description of Drawings
[12] The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
[13] FIG. 1 shows the life cycle of a malicious code;
[14] FIG. 2A shows the life cycle of a malicious code variant;
[15] FIG. 2B shows points of time when action is taken against a malicious code;
[16] FIG. 3 is a block diagram of a code monitoring apparatus according to an
embodiment of the present invention;
[17] FlG. 4 is a flowchart of a code pattern extracting process in the code pattern extracting unit depicted in FlG. 3;
[18] FlG. 5 shows an exemplified hexadecimal code loaded as a monitoring target code;
[19] FlG. 6 shows an exemplified DNA code encoded from a hexadecimal code;
[20] FlG. 7 shows a protein code replaced from the DNA code of FlG. 6 according to a codon rule;
[21] FlG. 8 shows examples of code extracted from the protein code of FlG. 7 according to predetermined conditions;
[22] FlG. 9 is a flowchart showing a process of storing reference code patterns in a storage unit depicted in FlG. 3; and
[23] FlG. 10 shows life cycles of a malicious code variant when code pattern extracting methods of the conventional art and an embodiment of the present invention are used.
Mode for Invention
[24] The present invention will now be described more fully with reference to the accompanying drawings.
[25] There is a DNA-based molecular computing technology employing DNA molecules in a field of molecular information processing technology that process information using bio-molecules. Basically the DNA-based molecular computing stores information to a DNA sequence and processes the information using chemical characteristics of a DNA molecule. Since cells forming the immune system can cope with a new antigen as well as memorize previously experienced antigens, various fields such as pattern recognition and feature extraction adopts the DNA-based molecular computing technology in order to use the characteristics of the immune system cells. The present invention uses the concept of DNA-based molecular computing technology to monitor code and determine whether the code is an intrusion code.
[26] The core of the present invention is self/non-self classification inspired by the processes of biological immune system, where self and non-self are defined as normal and malicious codes, respectively. Similarly to that of the biological counterpart, the present embodiment realizes the self-learning mechanism that is capable of adapting itself to the unknown intrusion code. This means it can determine a specific code belongs to either self or non-self leading to a declaration of the latter as being potentially harmful.
[27] FlG. 3 is a block diagram of a code monitoring apparatus according to an embodiment of the present invention. The code monitoring apparatus includes a code pattern extracting unit 31 and a code determining unit 32. The code monitoring apparatus may further include a storage unit 33 storing immunity reference patterns for determining whether a target code is an intrusion code or a resident code. The code
monitoring apparatus may further include a malicious code predicting unit 34. The malicious code predicting unit 34 predicts whether the intrusion code is a malicious code, when the code determining unit 32 determines that the target code is the intrusion code. The storage unit 33 can be a general data storage device such as a memory, an MD, a CD, and a DVD.
[28] The code pattern extracting unit 31, first, extracts a code with a predetermined length to be used for the determination from the target code at a predetermined location. The code may be extracted from predetermined portions of the entire target code in a predetermined rate. For example, when the target code contains 1000 bytes, the code of 100 bytes may be extracted from the target code. In this case, the 100 byte code may be a set of 10 codes, each of which is of lObytes and extracted at different positions.
[29] Further, the extracted code has uniqueness distinguished from other code extracted from other target codes. If the extracted code is not distinguished from the other codes, another code is extracted from the target code in the above-described way.
[30] For a code pattern extraction, the present embodiment imitates an antigen presenting system, which monitors a portion of the antigen for an immune test in the biological immune system. That is, the antigen presenting system is applied to the target code for a code conversion and then code patterns are extracted on the converted code. In this embodiment, the code patterns are extracted from the target code by extracting protein codes from a DNA sequence and applying a self/non-self discrimination mechanism in the antigen presenting system to the extracted protein codes.
[31] FIG. 4 is a flowchart of a code pattern extracting process of the code pattern extracting unit 31 employing the concept of the biological immune system.
[32] In operation 41, a path of an execution code is tracked and the entire execution code is loaded. The execution code may be loaded in one of the following time points when: a file is copied to a computer system, a file is transmitted through an email etc., over a network, a user runs an execution file, and a user sets with respect to an anti- malicious code program. FIG. 5 shows an exemplified hexadecimal code 52 of the loaded code. Reference numeral 51 denotes the location of the hexadecimal code 52.
[33] In operation 42, the loaded code is encoded into DNA code. The encoding is performed by dividing the value of each byte of the hexadecimal code shown in FIG. 5 by 4, and replacing the remainder 0, 1, 2, or 3 thereof with DNA bases, A, T, G, or C, respectively. An example of the encoding result is shown in FIG. 6.
[34] In operation 43, the DNA code is converted into a protein code. The conversion is performed according to a well-known human codon rule. The human codon rule is shown in Table 1 below.
[35] [Table 1]
[36]
[37] Referring to Table 1, for example, codon GCA of the DNA code is replaced with 'A.' FIG. 7 shows the substitution result for the DNA code of FIG. 6 obtained using Table 1.
[38] In operation 44, the code pattern is extracted from the protein code shown in FIG. 7. The code pattern is obtained by extracting a portion corresponding to a binding pattern of a Major Histocompatibility Complex 1 (MHCl) molecule, a mechanism used for self/non-self discrimination in the biological immune system, from the protein
code.
[39] The MHCl molecule binding pattern can be expressed by the following two formulas.
[40] (a) [A-Z]{2}Y[A-Z][YF][A-Z]{2}[LMIV]
[41] (b) [A-Z]{4}N[A-Z]{3}[LMIV]
[42] where [A-Z] denotes a selectable range from A to Z, and {2} denotes the number of successive letters.
[43] FlG. 8 shows examples extracted from the protein code of FlG. 7 according to one of the two equations. Referring to FlG. 8, reference numerals 81, 82, 83, and 84 denote file names, patterns satisfying equation (a) or (b), protein codes obtained using equation (a) or (b), and locations of the protein codes 83 in a file, respectively.
[44] The code determining unit 32 shown in FlG. 3 loads reference code patterns stored in the storage unit 33 and compares the loaded reference code patterns with the code pattern extracted by the code pattern extracting unit 31 to determine whether the extracted code is a resident code or an intrusion code.
[45] Here, the reference code patterns are previously determined to be the reference code patterns of immunity using a resident code by the code pattern extracting unit 31 and by the code determining unit 32, and then stored in the storage unit 33.
[46] FlG. 9 is a flowchart of a process of storing immunity reference patterns in the storage unit 33. In operation 91, code patterns are extracted from a resident code. The extraction of the patterns is performed according to the process shown in FlG. 4.
[47] In operation 92, random patterns are created. The random patterns are randomly generated to have the same length as the patterns extracted from the resident code. In operation 93, the distance between the resident code patterns and i-th random pattern is calculated. The distance may be calculated using various methods. For example, as shown in Equation 1 below, the distance may be calculated by squaring differences in alphabetic order and adding all the squared values.
[48] Equation 1
[49] where S, T, N, and n denote the resident code patterns, the random patterns, the number of the resident code patterns, and the pattern length, respectively.
[50] In operation 94, the distance calculated using Equation 1 with respect to the i-th random pattern is compared with a threshold. If the distance is equal to or less than the threshold, the i-th random pattern is stored in the storing unit 33 as a reference code pattern in operation 95.
[51] The threshold is a predetermined value and its minimum value is selected to be a half of the distance between two code patterns selected arbitrarily from the resident code pattern distribution. The lower the threshold is set, the more the reference code patterns, while the higher the threshold is set, the fewer the reference code patterns.
[52] The code determining unit 32 calculates the distance between the reference code patterns stored in the storage unit 33 and the patterns extracted from the target code by the code pattern extracting unit 31 according to the process shown in FlG. 9 as following Equation.
[53] Equation 2 [54] where S, T, N, M, and n denote the reference code patterns, the patterns extracted from the target code, the number of the reference code patterns, the number of the patterns extracted from the target code, and a length of the patterns of the reference code and target code, respectively.
[55] If the distance calculated using Equation 2 is less than or equal to the threshold, it is determined that the target code is a resident code. If the distance is greater than the threshold, it is determined that the target code is an intrusion code.
[56] If the code determining unit 32 determines that the target code is the intrusion code, the malicious code predicting unit 34 determines whether the intrusion code is a malicious code. The determination by the malicious code predicting unit 34 is performed based on user's experiences and the suspected malicious code. General symptoms of the malicious code can be detected from file characteristics, goat file tests, changes in processes, threads, and registries, network ports, code emulation, execution code debugging or system monitoring, etc. The symptoms of the malicious code may vary according to the type of the malicious code, such as spy ware, a worm, a bot, a trojan, a file virus, and a macro virus, and whether the malicious code is compressed.
[57] The determination of the malicious code may be patternized or automated based on user's experiences. When the intrusion code is determined as a malicious code, the malicious code predicting unit 34 may stop the execution of the corresponding code or other codes and generate an alarm to other computers over a network.
[58] Table 2 illustrates experimental results that the target code is determined to be the intrusion code according to the thresholds and the reference code pattern generation rates.
[59] [Table 2] [60]
[61] Referring to Table 2, the rate denotes the reference code pattern generation rate, namely, a rate of the number of actually generated reference code patterns with respect to the number of all of the possibly generated reference code patterns). For example, if the length of the pattern is n, and the number of letters used for the patterns is m, the number of all of the possibly generated patterns will be mn. The generation rate means that, for example, 1/10, 1/100 ... of mn the possible patterns are actually generated as the reference code patterns. In Table 2, the intrusion code determination performance is measured using the numbers of reference code patterns corresponding to the reference code generation rate of 1/1,000,000, 5/1,000,000, and 1/100,000, respectively.
[62] According to Table 2, when the thresholds are 2700, 2500, and 2300, the intrusion code determination performance is high. Further, as the reference code generation rate increases, the intrusion code determination efficiency becomes high.
[63] To evaluate the intrusion code determination performance of the present invention, another experiment was performed on malicious code samples evading conventional vaccine programs.
[64] Among 48,471 malicious code samples, 17,885 malicious code samples were detected by a conventional vaccine program, and 30,506 malicious code samples evaded the conventional vaccine program. For malicious codes determined to be the intrusion code according to the self/non-self discrimination on 2,575 malicious code samples randomly selected from the 30,506 evasive malicious code samples, the present invention shows 48% and 68% determination rates when the threshold is set 2700 and the reference code pattern generation rate is set l.E-06 and l.E-05, respectively. Consequently, it can be known that the present invention detect evasive malicious code samples as intrusion codes that are potentially harmful to the system.
[65] FIG. 10 shows the life cycles of a malicious code variant according to the conventional art and the present invention. Reference numeral 10 denotes the life cycle of the malicious code variant according to the conventional art, and reference numeral 102 denotes the life cycle of the malicious code variant according to the present invention. Reference numeral 22 denotes a time point when a user thinks that a vaccine
program should be updated for curing against the malicious code, and reference numeral 23 denotes a time point when the vaccine program is actually updated according to the conventional art. Reference numeral 103 denotes a time point when the vaccine program is actually updated according to the present invention. Referring to FlG. 10, the malicious code can be reported to a vaccine program distributor more rapidly in the present invention than in the conventional art by determining whether a target code is an intrusion code and predicting whether the intrusion code is a malicious code. Therefore, the vaccine program can be updated more quickly.
[66] In addition to the above-described exemplary embodiments, exemplary embodiments of the present invention can also be implemented by executing computer readable code/instructions in/on a medium, e.g., a computer readable medium. The medium can correspond to any medium/media permitting the storing and/or transmission of the computer readable code.
[67] The computer readable code/instructions can be recorded/transferred in/on a medium in a variety of ways, with examples of the medium including magnetic storage media (e.g., ROM, floppy disks, hard disks, etc.), optical recording media (e.g., CD- ROMs, or DVDs), random access memory media, and storage/transmission media such as carrier waves. Examples of storage/transmission media may include wired or wireless transmission (such as transmission through the Internet). The medium may also be a distributed network, so that the computer readable code/instructions is stored/ transferred and executed in a distributed fashion. The computer readable code/ instructions may be executed by one or more processors.
[68] While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
Claims
[1] A method of monitoring a target code to determine whether the target code is an intrusion code intruding to a system, the method comprising: extracting first code patterns from the target code; loading second code patterns from a storage unit; calculating the distance between the first code patterns and the second code patterns; and determining whether the target code is the intrusion code by comparing the calculated distance with a threshold.
[2] The method of claim 1, wherein the first code patterns are extracted from predetermined portions of the target code and are of uniqueness.
[3] The method of claim 1 or 2, wherein an antigen presenting system for biological immunity determination is applied to the target code for code conversion and portions having predetermined patterns are extracted as the first code patterns from the converted code.
[4] The method of claim 3, wherein the extracting of the first code patterns comprises: encoding the target code into a DNA sequence; replacing the DNA sequence with values corresponding to amino acids; and extracting the first code patterns satisfying a predetermined condition from the replaced values.
[5] The method of claim 4, wherein the encoding of the target code comprises: performing modulo operations on the target code in a byte unit by a number of
DNA bases; and replacing each remainder obtained through the modulo operation with one of the
DNA bases.
[6] The method of claim 4, wherein the replacing of the DNA sequence comprises replacing three consecutive bases of the DNA sequence with a value corresponding to the amino acid according to a codon rule.
[7] The method of claim 4 or 6, wherein the first code patterns extracted from the replaced values satisfies one of binding pattern conditions of a MHCl (Major
Histocompatibility Complex 1) molecule.
[8] The method of claim 1, wherein the second code patterns are stored in the storage unit by: extracting third code patterns from a resident code; producing random patterns having a same length as the third code patterns; calculating second distances between each random pattern and the third code
patterns; and storing random patterns whose second distances are less than a second threshold in the storage unit as the second code patterns.
[9] The method of claim 8, wherein the third code patterns are extracted in a predetermined length from the resident code at predetermined locations.
[10] The method of claim 8 or 9, wherein an antigen presenting system for biological immunity determination is applied to the resident code for code conversion and portions having predetermined patterns are extracted as the third code patterns from the converted code.
[11] The method of claim 10, wherein the extracting of the third code patterns comprises: encoding the resident code into a DNA sequence; replacing the DNA sequence with values corresponding to amino acids; and extracting the third code patterns satisfying a predetermined condition from the replaced values.
[12] The method of claim 11, wherein the encoding of the resident code comprises: performing modulo operations on the resident code in a byte unit by a number of
DNA bases; and replacing each remainder obtained through the modulo operation with one of the
DNA bases.
[13] The method of claim 11 , wherein the replacing of the DNA sequence comprises replacing three consecutive bases of the DNA sequence with a value corresponding to the amino acid according to a codon rule.
[14] The method of claim 11 or 13, wherein the third code patterns extracted from the replaced values satisfies one of binding pattern conditions of a MHCl molecule.
[15] The method of claim 8, wherein the second threshold has a minimum value of a half of distance between two code patterns selected from a code pattern distribution of the resident code.
[16] The method of claim 8 or 15, wherein each of the second distance is calculated as a sum of squares of differences in alphabetical order between each random pattern and the third code patterns.
[17] The method of claim 1, wherein the distance is calculated as a sum of squares of differences in alphabetical order between the first code patterns and the second code patterns.
[18] The method of claim 1 , further comprising : determining whether the target code is a malicious code if the target code is determined to be the intrusion code.
[19] An apparatus for monitoring a target code to determine whether the target code is
an intrusion code intruding to a system, the apparatus comprising: a code pattern extracting unit arranged to extract first code patterns from the target code; and a code determining unit arranged to determine whether the target code is the intrusion code by calculating a distance between the first code patterns and input second code patterns and comparing the calculated distance with a threshold.
[20] The apparatus of claim 19, wherein the code pattern extracting unit extracts the first code patterns being unique to the target code from predetermined portions of the target code.
[21] The apparatus of claim 19 or 20, wherein the code pattern extracting unit applies an anti-presenting system for biological immunity determination to the target code for code conversion and extracts portions having predetermined patterns as the first code patterns from the converted code.
[22] The apparatus of claim 21, wherein the code pattern extracting unit extracts the first code patterns by encoding the target code into a DNA sequence, replacing the DNA sequence with corresponding amino acids to form an amino acid array, and extracting patterns satisfying a predetermined condition from the amino acid array.
[23] The apparatus of claim 22, wherein the predetermined condition is a binding pattern condition of a MHCl molecule.
[24] The apparatus of claim 19, further comprising a storage unit, wherein the code pattern extracting unit extracts third code patterns from the resident code and generates random patterns having a same length as the third code patterns, and the code determining unit calculates each second distance between each random pattern and the third code patterns and stores corresponding random patterns in the storage unit as the second code patterns if each of the second distances is less than a second threshold.
[25] The apparatus of claim 19, further comprising a malicious code predicting unit arranged to determine whether the target code is malicious if the code determining unit determines that the target code is the intrusion code.
[26] At least one computer readable medium storing instructions that control at least one processor to perform a method any one of claims 1 through 14.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06823708.0A EP1971927B1 (en) | 2005-12-30 | 2006-11-27 | Method of and apparatus for monitoring code to detect intrusion code |
US12/159,716 US8245299B2 (en) | 2005-12-30 | 2006-11-27 | Method of and apparatus for monitoring code to detect intrusion code |
JP2008548375A JP4903223B2 (en) | 2005-12-30 | 2006-11-27 | Target code monitoring method and apparatus, and code pattern extraction method and apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050135839A KR101194746B1 (en) | 2005-12-30 | 2005-12-30 | Method of and apparatus for monitoring code for intrusion code detection |
KR10-2005-0135839 | 2005-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007078055A1 true WO2007078055A1 (en) | 2007-07-12 |
Family
ID=38228376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2006/005000 WO2007078055A1 (en) | 2005-12-30 | 2006-11-27 | Method of and apparatus for monitoring code to detect intrusion code |
Country Status (5)
Country | Link |
---|---|
US (1) | US8245299B2 (en) |
EP (1) | EP1971927B1 (en) |
JP (1) | JP4903223B2 (en) |
KR (1) | KR101194746B1 (en) |
WO (1) | WO2007078055A1 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587537B1 (en) * | 2007-11-30 | 2009-09-08 | Altera Corporation | Serializer-deserializer circuits formed from input-output circuit registers |
KR101377014B1 (en) * | 2007-09-04 | 2014-03-26 | 삼성전자주식회사 | System and Method of Malware Diagnosis Mechanism Based on Immune Database |
US8381290B2 (en) * | 2009-07-17 | 2013-02-19 | Exelis Inc. | Intrusion detection systems and methods |
US8898479B2 (en) * | 2011-08-17 | 2014-11-25 | The United States Of America As Represented By The Administrator Of The National Aeronautics Space Administration | Integrated genomic and proteomic security protocol |
US9323923B2 (en) * | 2012-06-19 | 2016-04-26 | Deja Vu Security, Llc | Code repository intrusion detection |
KR102074734B1 (en) * | 2013-02-28 | 2020-03-02 | 삼성전자주식회사 | Method and apparatus for pattern discoverty in sequence data |
US20160212158A1 (en) * | 2013-08-28 | 2016-07-21 | Hewlett Packard Enterprise Development Lp | Distributed pattern discovery |
US9282110B2 (en) * | 2013-11-27 | 2016-03-08 | Cisco Technology, Inc. | Cloud-assisted threat defense for connected vehicles |
US10103890B2 (en) * | 2014-08-08 | 2018-10-16 | Haw-Minn Lu | Membership query method |
US10728040B1 (en) * | 2014-08-08 | 2020-07-28 | Tai Seibert | Connection-based network behavioral anomaly detection system and method |
KR102494827B1 (en) * | 2022-09-26 | 2023-02-06 | 시큐레터 주식회사 | Methods and apparatus for detecting malicious macros in non-executable files using ocr |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448668A (en) | 1993-07-08 | 1995-09-05 | Perelson; Alan S. | Method of detecting changes to a collection of digital signals |
KR20030049078A (en) * | 2001-12-14 | 2003-06-25 | 한국전자통신연구원 | Intrusion detection method using adaptive rule estimation in nids |
KR20040099864A (en) * | 2003-05-20 | 2004-12-02 | 한국전자통신연구원 | Security gateway system and method for intrusion detection |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7029911B1 (en) * | 1996-08-07 | 2006-04-18 | The Regents Of The University Of California | AFC1 and RCE1: isoprenylated CAAX processing enzymes |
KR100304116B1 (en) | 1998-12-10 | 2001-09-24 | 이계철 | Misuse intrusion detecting apparatus and method in misuse intrusion detecting system |
US6735700B1 (en) | 2000-01-11 | 2004-05-11 | Network Associates Technology, Inc. | Fast virus scanning using session stamping |
DE60139144D1 (en) * | 2000-11-30 | 2009-08-13 | Nippon Telegraph & Telephone | AUDIO DECODER AND AUDIO DECODING METHOD |
KR20020063314A (en) | 2001-01-27 | 2002-08-03 | 이요섭 | System and method for security of data network |
JP4457525B2 (en) * | 2001-06-11 | 2010-04-28 | 株式会社デンソー | Distance measuring device |
US7779062B2 (en) * | 2004-08-18 | 2010-08-17 | Ripple Effects Holdings Limited | System for preventing keystroke logging software from accessing or identifying keystrokes |
US8539580B2 (en) * | 2002-06-19 | 2013-09-17 | International Business Machines Corporation | Method, system and program product for detecting intrusion of a wireless network |
KR20040080844A (en) | 2003-03-14 | 2004-09-20 | 주식회사 안철수연구소 | Method to detect malicious scripts using static analysis |
KR100516304B1 (en) | 2003-05-16 | 2005-09-26 | 주식회사 안철수연구소 | Device and Method for Detecting Malicious Code of Process Memory |
US7739737B2 (en) | 2003-07-29 | 2010-06-15 | Wisconsin Alumni Research Foundation | Method and apparatus to detect malicious software |
US20040172551A1 (en) | 2003-12-09 | 2004-09-02 | Michael Connor | First response computer virus blocking. |
KR20050070306A (en) | 2003-12-30 | 2005-07-07 | 주식회사 포스코 | Resin solution being coated on steel sheet for the gas tank of a car and manufacturing method of this steel sheet |
-
2005
- 2005-12-30 KR KR1020050135839A patent/KR101194746B1/en active IP Right Grant
-
2006
- 2006-11-27 EP EP06823708.0A patent/EP1971927B1/en not_active Expired - Fee Related
- 2006-11-27 WO PCT/KR2006/005000 patent/WO2007078055A1/en active Application Filing
- 2006-11-27 US US12/159,716 patent/US8245299B2/en active Active
- 2006-11-27 JP JP2008548375A patent/JP4903223B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5448668A (en) | 1993-07-08 | 1995-09-05 | Perelson; Alan S. | Method of detecting changes to a collection of digital signals |
KR20030049078A (en) * | 2001-12-14 | 2003-06-25 | 한국전자통신연구원 | Intrusion detection method using adaptive rule estimation in nids |
KR20040099864A (en) * | 2003-05-20 | 2004-12-02 | 한국전자통신연구원 | Security gateway system and method for intrusion detection |
Non-Patent Citations (3)
Title |
---|
DEATON, R. ET AL.: "SYSTEMS, MAN, AND CYBERNETICS, 1997. COMPUTATIONAL CYBERNETICS AND SIMULATION, 1997 IEEE INTERNATIONAL CONFERENCE ON ORLANDO, FL, USA", vol. 1, 12 October 1997, IEEE, article "A DNA based artificial immune system for self-nonself discrimination", pages: 862 - 866 |
MADHUSUDAN B. AND LOCKWOOD J.: "Design of a system for real-time worm detection", PROCEEDINGS OF 2004 12TH ANNUAL IEEE SYMPOSIUM ON HIGH PERFORMANCE INTERCONNECTS, 25 August 2004 (2004-08-25) - 27 August 2004 (2004-08-27), pages 77 - 83, XP010753525 * |
ZHOU-JUN X. ET AL.: "An Immune genetic model in rule-based state action IDS", PROCEEDINGS OF 2003 INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND CYBERNETICS, 2 November 2003 (2003-11-02) - 5 November 2003 (2003-11-05), pages 2472 - 2475, XP010682023 * |
Also Published As
Publication number | Publication date |
---|---|
JP2009522636A (en) | 2009-06-11 |
KR101194746B1 (en) | 2012-10-25 |
JP4903223B2 (en) | 2012-03-28 |
US20090049551A1 (en) | 2009-02-19 |
EP1971927A4 (en) | 2012-10-03 |
US8245299B2 (en) | 2012-08-14 |
EP1971927B1 (en) | 2018-01-17 |
EP1971927A1 (en) | 2008-09-24 |
KR20070071963A (en) | 2007-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007078055A1 (en) | Method of and apparatus for monitoring code to detect intrusion code | |
Han et al. | MalDAE: Detecting and explaining malware based on correlation and fusion of static and dynamic characteristics | |
US9860262B2 (en) | Methods and systems for encoding computer processes for malware detection | |
Sasidharan et al. | ProDroid—An Android malware detection framework based on profile hidden Markov model | |
TWI547823B (en) | Method and system for analyzing malicious code, data processing apparatus and electronic apparatus | |
EP2350903B1 (en) | Heuristic method of code analysis | |
KR101759008B1 (en) | Profiling code execution | |
EP2975873A1 (en) | A computer implemented method for classifying mobile applications and computer programs thereof | |
US8108931B1 (en) | Method and apparatus for identifying invariants to detect software tampering | |
CN111651591B (en) | Network security analysis method and device | |
Belenko et al. | Intrusion detection for Internet of Things applying metagenome fast analysis | |
Choi et al. | All‐in‐One Framework for Detection, Unpacking, and Verification for Malware Analysis | |
Tian et al. | MDCD: A malware detection approach in cloud using deep learning | |
KR101327740B1 (en) | apparatus and method of collecting action pattern of malicious code | |
Grégio et al. | Tracking memory writes for malware classification and code reuse identification | |
KR101988747B1 (en) | Ransomware dectecting method and apparatus based on machine learning through hybrid analysis | |
Qi et al. | A Malware Variant Detection Method Based on Byte Randomness Test. | |
Du et al. | A mobile malware detection method based on malicious subgraphs mining | |
Sethi | Classification of malware models | |
Ninyesiga et al. | Behavioral malware detection by data mining | |
Wang et al. | MrKIP: Rootkit Recognition with Kernel Function Invocation Pattern. | |
KR102495329B1 (en) | Malware detection system using lstm method to provide a service vaccine platform with high detction rate | |
Wang et al. | A Novel Detection System for Multi-Architecture IoT Malware | |
Wang et al. | A Multidisciplinary Approach for Online Detection of X86 Malicious Executables | |
Ott | Enabling Embedded Software Security via Introspection Through Hardware Performance Counters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 12159716 Country of ref document: US Ref document number: 2008548375 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006823708 Country of ref document: EP |