IP Library › Granted Patent US 10,382,455
Granted Patent B2
US 10,382,455 · App. 15/120,668 · Granted Aug 13, 2019

Identifying apparatus, identifying method, and identifying program

Inventors: Tomonori Ikuse (Musashino, JP); Kazufumi Aoki (Musashino, JP); Takeo Hariu (Musashino, JP)
Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
H04L63/1416G06F21/554G06F21/56H04L63/1408H04L63/1425H04L2463/146
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,382,455
App. No.
15/120,668
Granted
Aug 13, 2019
Kind
B2
Abstract

A command and control server identifying apparatus provides data received by malware upon execution of the malware with a tag that allows to uniquely identify communication destination information of a source of the data, and tracks propagation of the data provided with the tag. Then, the command and control server identifying apparatus obtains a tag of data referred to by a branch instruction executed by the malware among tracked data. Then, the command and control server identifying apparatus identifies communication destination information of a command and control server that issues a command to the malware, based on communication destination information of a source associated with the obtained tag.

Claims (40)

1. An identifying apparatus for identifying a command and control server transmitting a malicious program (malware) comprising:

a memory;

at least one central processing unit (CPU) connected to the memory and configured to

tag, upon execution of malware, received malware data with source identification tag data, the source identification tag data allowing to uniquely identify communication destination information of a source of the malware data,

track, on a virtual computing machine, propagation of the malware data associated with the source identification tag data,

obtain, for each of plural branch destinations of a branch instruction, a tag of data referred to when the branch instruction is branched into the plural branch destinations, the branch instruction being executed by the malware and including any one of an application program interface (API) call, a system call, a jump (jmp) instruction, or a call instruction,

identify communication destination information of a command and control server, by identifying communication destination information of a source associated with the obtained tags and common among the plural branch destinations, the command and control server issuing a command to the malware,

block communication with the identified communication destination of the command and control server;

create, in response to detecting that the communication destinations associated with the tags are different, a new tag, and record the created tag and communication destinations associated with tags in communication destination information database; and

set created tag in a tag saving area associated with computation result saving destination,

wherein the identifying apparatus is infected by the malware during the tracking operation.

2. The identifying apparatus according to claim 1 , wherein when new data is generated by receiving malware data from a plurality of sources, the at least one CPU creates a new source identification tag and provides the new data with the new source identification tag, and tracks propagation of the new data provided with the new source identification tag, the new source identification tag allowing to uniquely identify communication destination information of the plurality of sources.

3. The identifying apparatus according to claim 1 , wherein when received malware data is referred to in a function, the at least one CPU provides a return value of the function with a source identification tag and tracks propagation of the return value of the function provided with the source identification tag.

4. The identifying apparatus according to claim 1 , wherein

the at least one CPU obtains the source identification tag data of malware data referred to by the branch instruction and records an API call or a system call issue executed by the malware, and

for the branch instruction where an API call or a system call issue has been performed at the plural branch destinations, when communication destination information associated with a source identification tag of malware data referred to when the branch instruction is branched is common between the plural branch destinations, the at least one CPU identifies the common communication destination information as communication destination information of the command and control server.

5. The identifying apparatus according to claim 3 , wherein

the at least one CPU obtains the source identification tag data of malware data referred to by the branch instruction and records an API call or a system call issue executed by the malware, and

for the branch instruction where an API call or a system call issue has been performed at the plural branch destinations, when communication destination information associated with a source identification tag of malware data referred to when the branch instruction is branched is common between the plural branch destinations, the at least one CPU identifies the common communication destination information as communication destination information of the command and control server.

6. An identifying method for identifying a command and control server transmitting a malicious program (malware) performed by an identifying apparatus, the method comprising:

tagging, upon execution of malware, received malware data with a source identification tag, the source identification tag data allowing to uniquely identify communication destination information of a source of the malware data;

tracking, on a virtual computing machine, propagation of the malware data associated with the source identification tag data;

obtaining, for each of plural branch destinations of a branch instruction, a tag of data referred to when the branch instruction is branched into the plural branch destinations, the branch instruction being executed by the malware and including any one of an application program interface (API) call, a system call, a jump (jmp) instruction, or a call instruction;

identifying communication destination information of a command and control server, by identifying communication destination information of a source associated with the obtained tags and common among the plural branch destinations, the command and control server issuing a command to the malware;

blocking communication with the identified communication destination of the command and control server;

creating, in response to detecting that the communication destinations associated with the tags are different, a new tag, and record the created tag and communication destinations associated with tags in communication destination information database; and

setting created tag in a tag saving area associated with computation result saving destination,

wherein the identifying apparatus is infected by the malware during the tracking operation.

7. A non-transitory computer-readable recording medium having stored an identifying program for causing a computer to perform a method for identifying a command and control server transmitting a malicious program (malware), the method comprising:

tagging, upon execution of malware, received malware data with source identification tag data, the source identification tag data allowing to uniquely identify communication destination information of a source of the data;

tracking, on a virtual computing machine, propagation of the malware data associated with the source identification tag data;

obtaining, for each of plural branch destinations of a branch instruction, a tag of data referred to when the branch instruction is branched into the plural branch destinations, the branch instruction being executed by the malware and including any one of an application program interface (API) call, a system call, a jump (jmp) instruction, or a call instruction;

identifying communication destination information of a command and control server, by identifying communication destination information of a source associated with the obtained tags and common among the plural branch destinations, the command and control server issuing a command to the malware;

blocking communication with the identified communication destination of the command and control server;

creating, in response to detecting that the communication destinations associated with the tags are different, a new tag, and record the created tag and communication destinations associated with tags in communication destination information database; and

setting created tag in a tag saving area associated with computation result saving destination,

wherein the computer is infected by the malware during the tracking operation.

8. The identifying apparatus of claim 1 , wherein the at least one CPU is further configured to

detect an instruction to propagate malware data, and

in response to the instruction being a yes, the at least one CPU is further configured to check the source identification tag data of the malware data to be propagated and set the source identification tag data in a tag saving area associated with movement destination of the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2016
From: IKUSE, TOMONORI; AOKI, KAZUFUMI; HARIU, TAKEO
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 039499/0026 →
Priority Claims (1)
JP 2014-050135 · Mar 13, 2014 · national
Continuity (1)
Related Publication 20170019418A1 · Jan 19, 2017