Normalizing and detecting inserted malicious code

US9727728B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9727728-B2
Application numberUS-201414568193-A
CountryUS
Kind codeB2
Filing dateDec 12, 2014
Priority dateDec 12, 2014
Publication dateAug 8, 2017
Grant dateAug 8, 2017

How to read this patent

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

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

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

  4. Key dates

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

  5. First independent claim

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

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system, and computer program product for detecting malicious code insertion in data are provided in the illustrative embodiments. At an application executing using a processor and a memory in a data processing system, a script that has been inserted in a mix of code and content is detected. A content-related portion is removed from the script to form a remaining script structure, the content-related portion referring to the content in the mix. From the remaining script structure, a code construct is selected and replaced with an alphanumeric string to form a normalized construct. Whether the normalized construct matches, within a tolerance, a second normalized construct in a corpus of normalized scripts is determined. Responsive to the normalized construct matching the second normalized construct within the tolerance, a conclusion is drawn that the script is malicious.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer usable program product comprising a computer readable storage device including computer usable code for detecting malicious code insertion in data, the computer usable code comprising: computer usable code for detecting, at an application executing using a processor and a memory in a data processing system, a script that has been inserted in a mix of code and content; computer usable code for removing, to form a remaining script structure, from the script a content-related portion, the content-related portion referring to the content in the mix; computer usable code for selecting, from the remaining script structure, a code construct, wherein the code construct comprises a function call, and wherein the function call comprises any call to any function in the remaining script structure; computer usable code for replacing, to form a normalized construct, the code construct with an alphanumeric string; computer usable code for determining whether the normalized construct matches, within a tolerance, a second normalized construct in a corpus of normalized scripts; and computer usable code for concluding, responsive to the normalized construct matching the second normalized construct within the tolerance, that the script is malicious. 2. The computer usable program product of claim 1 , further comprising: computer usable code for determining whether the script is obfuscated; computer usable code for executing, responsive to the script being obfuscated, the script to obtain an actual script; and computer usable code for replacing the script with the actual script. 3. The computer usable program product of claim 1 , further comprising: computer usable code for identifying a behavior of the remaining script structure, wherein the behavior comprises an operation performed by the code construct one of (i) occurs at a particular time, (ii) occurs at a particular location in the data processing system, (iii) causes an event in the data processing system, and (iv) prevents another operation in the data processing system; computer usable code for determining whether the behavior matches within a second tolerance, a known behavior of a malicious code; and computer usable code for affirming, responsive to the behavior matching the known behavior of the malicious code within the second tolerance, the concluding that the script is malicious. 4. The computer usable program product of claim 1 , further comprising: computer usable code for identifying a behavior of the remaining script structure, wherein the behavior comprises an operation performed by the code construct one of (i) occurs at a particular time, (ii) occurs at a particular location in the data processing system, (iii) causes an event in the data processing system, and (iv) prevents another operation in the data processing system; computer usable code for performing a statistical analysis on the behavior to determine whether the behavior is statistically suspicious relative to the mix; and computer usable code for affirming, responsive to the behavior being statistically suspicious, the concluding that the script is malicious. 5. The computer usable program product of claim 1 , further comprising: computer usable code for generating classification metadata for the script, where the classification metadata comprises a combination of (i) the normalized construct and (ii) a behavior of the remaining script structure; and computer usable code for adding in the classification metadata a classification code according to a classification specification, wherein the classification code corresponds to a type of malicious nature of the script. 6. The computer usable program product of claim 1 , wherein the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system. 7. The computer usable program product of claim 1 , wherein the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system. 8. A data processing system for detecting malicious code insertion in data, the data processing system comprising: a storage device, wherein the storage device stores computer usable program code; and a processor, wherein the processor executes the computer usable program code, and wherein the computer usable program code comprises: computer usable code for detecting, at an application executing using a processor and a memory in a data processing system, a script that has been inserted in a mix of code and content; computer usable code for removing, to form a remaining script structure, from the script a content-related portion, the content-related portion referring to the content in the mix; computer usable code for selecting, from the remaining script structure, a code construct, wherein the code construct comprises a function call, and wherein the function call comprises any call to any function in the remaining script structure; computer usable code for replacing, to form a normalized construct, the code construct with an alphanumeric string; computer usable code for determining whether the normalized construct matches, within a tolerance, a second normalized construct in a corpus of normalized scripts; and computer usable code for concluding, responsive to the normalized construct matching the second normalized construct within the tolerance, that the script is malicious.

Assignees

Inventors

Classifications

  • by virus signature recognition · CPC title

  • Event detection, e.g. attack signature detection · CPC title

  • at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability · CPC title

  • the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms · CPC title

  • G06F21/563Primary

    by source code analysis · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

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

What does patent US9727728B2 cover?
A method, system, and computer program product for detecting malicious code insertion in data are provided in the illustrative embodiments. At an application executing using a processor and a memory in a data processing system, a script that has been inserted in a mix of code and content is detected. A content-related portion is removed from the script to form a remaining script structure, the …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F21/563. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 08 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).