IP Library Granted Patent US 10,181,033
Granted Patent B2
US 10,181,033 · App. 15/104,740 · Granted Jan 15, 2019

Method and apparatus for malware detection

Inventor: Zheng Yan (Espoo, FI)
Assignee: Nokia Technologies Oy
G06F21/56G06F21/562G06F21/566H04L51/12
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,181,033
App. No.
15/104,740
Granted
Jan 15, 2019
Kind
B2
Abstract

An approach is provided for providing an offline malware detection, and in addition a real-time malware detection. The offline malware detection may comprise: detecting at least one of function calling map of the application offline, wherein a function calling map records relationships of callings among functions called by the application; extracting patterns of the function callings of the application from the at least one function calling map; and comparing the extracted pattern with at least one basic pattern of normal applications. The real-time malware detection may comprises: running an application in a real environment; recording behaviors of the application at runtime of the application; extracting behavior patterns from the recorded behaviors; and comparing the extracted behavior patterns with at least one of basic patterns of normal applications or patterns previously recorded for the application.

Claims (60)

1. A method, comprising:

causing, by a network node, an offline malware detection on an application being downloaded and executed on one or more user devices, wherein the offline malware detection comprises:

running, in a virtual environment, at least a portion of code of the application and acquiring logs of function calls of the application;

deriving, based at least in part on the logs of function calls of the application, at least one function calling map of the application while offline, wherein a function calling map records relationships of calls among functions called by the application;

extracting, from the at least one function calling map, patterns of function calls of the application; and

comparing the extracted pattern with at least one pattern of normal applications to identify abnormalities with the application.

2. The method of claim 1 , wherein the extracting comprises using data mining to analyze the logs.

3. The method of claim 2 , wherein the at least one function calling map comprises at least one of the following:

a complete calling map that contains all relationships of calls among functions available to be called by the application throughout the running;

a calling map at a different time that contains relationships of calls among functions called by the application before a time point of the different time during the running; and

a partial calling map that contains relationships of calls among functions called by the application in a time period during the running.

4. The method of claim 1 , wherein the offline malware detection further comprises:

re-compiling at least a portion of the code of the application by adding a function module for acquiring the logs of the function calls, and

running, in the virtual environment, the re-compiled code to acquire the logs.

5. The method of claim 1 , further comprising:

scheduling the offline malware detection of the application according to a reputation of the application.

6. An apparatus comprising:

at least one processor; and

at least one memory including computer program code,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least:

cause an offline malware detection on an application being downloaded and executed on one or more user devices, wherein the offline malware detection comprises:

run, in a virtual environment, at least a portion of code of the application and acquire logs of function calls of the application;

derive, based at least in part on the logs of function calls of the application, at least one function calling map of the application while offline, wherein a function calling map records relationships of calls among functions called by the application;

extract, from the at least one function calling map, patterns of function calls of the application; and

compare the extracted pattern with at least one pattern of normal applications to identify abnormalities with the application.

7. The apparatus of claim 6 , wherein the extraction uses at least data mining to analyze the logs.

8. The apparatus of claim 7 , wherein the at least one function calling map comprises at least one of the following:

a complete calling map that contains all relationships of calls among functions available to be called by the application throughout the running;

a calling map at a different time that contains relationships of calls among functions called by the application before a time point of the different time during the running; and

a partial calling map that contains relationships of calls among functions called by the application in a time period during the running.

9. The apparatus of claim 6 , wherein the offline malware detection further comprises:

re-compile at least a portion of the code of the application by adding a function module for acquiring the logs of function calls, and

run, in the virtual environment, the re-compiled code to acquire the logs.

10. The apparatus of claim 6 , wherein the apparatus is further caused to at least:

schedule the offline malware detection of the application according to a reputation of the application.

11. The apparatus of claim 10 , wherein the application having a higher reputation is scheduled for the offline malware detection prior to another application with a lower reputation.

12. The apparatus of claim 6 , wherein the apparatus is further caused to at least:

announce a result of the offline malware detection indicative of at least one potential malicious threat from the application.

13. The apparatus of claim 6 , wherein the apparatus is further caused to at least: cause a real-time malware detection on the application while the application is executed in a real environment, wherein the real-time malware detection comprises:

record behaviors of the application during the execution of the application;

extract behavior patterns from the recorded behaviors; and

compare the extracted behavior patterns with at least one of patterns of normal applications or patterns previously recorded for the application.

14. The apparatus of claim 13 , wherein the recorded behaviors comprises at least one of the following:

behaviors associated with function calls of the application,

behaviors associated with local data access caused by the application, and

behaviors associated with inbound and/or outbound traffic raised by the application.

15. The apparatus of claim 13 , wherein the real-time malware detection further comprises:

re-compile at least a portion of the code of the application by at least adding a function module for acquiring logs of the behaviors of the application.

16. An apparatus comprising:

at least one processor; and

at least one memory including computer program code,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least:

re-compile at least a portion of code of an application by at least adding a function module for acquiring logs of behaviors of the application at runtime in a real environment;

record, based at least in part on the logs of behaviors of the application, behaviors of the application at runtime of the application;

extract behavior patterns from the recorded behaviors; and

compare the extracted behavior patterns with at least one pattern of normal applications or patterns previously recorded for the application to identify abnormalities with the application.

17. The apparatus of claim 16 , wherein the recorded behaviors comprises at least one of the following:

behaviors associated with function calls of the application,

behaviors associated with local data access caused by the application, and

behaviors associated with inbound and/or outbound traffic raised by the application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2016
From: YAN, ZHENG
To: NOKIA CORPORATION
Reel/Frame 038920/0450 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2016
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 038920/0551 →
Continuity (1)
Related Publication 20170004303A1 · Jan 5, 2017
Cited By (2)
US 12,488,103 US 12,585,493