• 沒有找到結果。

In this chapter, we discuss the differences between PC malware and Android malware. We also introduce several related works that have inspired the design of our proposed solution.

2.1 Differences between PC Malware and Android Malware

We discuss the differences of malware between PC and Android in four aspects:

intention, strategies to spread, activation, and Android-specific properties.

Intention

In this subsection, we describe the destructive activities for both PC and Android malware. The intention of attackers changes from time to time. In the past, attackers like to show their ability to compromise a large number of computers. As a result, PC malware attempts to reduce the system performance and modify or delete system files.

In general, it conducts to paralyze the system. In contrast, Android malware focuses on privacy and monetary attacks. Android malware attempts to steal personal information such as user location and even eavesdrop the phone calls by sound recording. In addition, it could launch monetary attacks by exploiting paid services such as sending short messages, making phone calls, and visiting on-line advertisements.

Strategy to Spread

Modern attackers disseminate PC malware via Internet Web, E-mail, as well as peer-to-peer file sharing. A user’s computer could be infected if he or she browses a malicious webpage that attackers had injected malicious codes or opens an application downloaded from web, peer-to-peer network, or E-mail. Attackers make the use of

5

various Internet media to spread malware rapidly. In contrast, Android malware is

spread through application markets. For example, the official Android market developed by Google is a digital application distribution platform that permits a user to download or upload applications. However, it lacks a rigorous detection mechanism for malicious applications. Therefore, attackers are able to exploit the weakness to spread malware by repackaging popular applications with malicious code to trap users.

Similar cases also happen on third-party markets.

Activation of Malware

A PC user and an Android user could be trapped into launching a malicious application directly. However, attackers have much more choices to activate malicious applications on PC. An attacker is able to request a user to run browser add-ons when the user visits a compromised website. Alternatively, modern PC malware also utilizes vulnerabilities of in-browser applications such as interpreters, virtual machines, flash players, and document viewers. By injecting itself into in-browser applications, a PC malware can be activated immediately when a vulnerable in-browser application is activated.

Android-specific Properties

In addition to the above-mentioned differences, Android malware has some specific properties. On Android, a user may exploit permissions to determine whether an application is malicious. For instance, if phone-call permission is requested by a game application, the user may refuse to install that application. Another property is that Android malware is usually embedded into well-known or popular applications.

There are not too many standalone malware. Finally, most Android malware is passively downloaded by a user instead of actively intruding into a user’s device.

6

2.2 Related Works

Table 1 shows several existing solutions to detect Android malware. Kirin [15]

used permission security rules to mitigate malware by voice, location, or short messages. They utilized a set of security rules to judge whether an application requests some dangerous combinations of permissions. PUMA [9] adopted machine-learning approaches including simple logistic, naïve Bayes, J48, and random tree to classify applications into benign or malicious applications based on permissions. The above two solutions are simple and efficient because they only analyzed the manifest file of an application. However, a malicious application is possible to evade the detection of Kirin and PUMA and consequently they have high false positive rates.

Zhou et al. [10] obtained the essential permissions and behaviors by manually analyzing 10 different malware families. They chose the permissions to filter out benign applications quickly and detected remaining applications by behavioral footprint matching. However, it is not scalable because the solution cannot be automated.

Table 1. Related works to detect malicious Android applications

Category Solution Behaviors Training Detection Cons

Static

Kirin [15] Permissions Security Rules Matching High FP

PUMA [9] Permissions Machine-learning Classification High FP

Zhou et al. [10]

Permissions Bytecode Structural Layout

Essential Permissions

Behavioral Footprint Matching Require manual analysis

Dynamic

Crowdroid [12] System Call Count Vectors Clustering Require a lot of user experience Isohara [13] System Call Name

and Parameter Regular Expression Matching Limited types of malware

Crowdroid [12] monitored system calls invoked by an application and utilized a

7

clustering algorithm to judge whether the application is benign or malicious. However,

it has to collect a lot of the user experiences for the same application. Otherwise, it could make a lot false positives. The solution only detects anomalous behaviors of analyzed applications. Isohara et al. [13] defined three categories of threats including information leaking, jail-breaking, and destructive application detection. They generated signatures by applying a set of regular expression rules to the name of system calls or file paths. A malicious activity in these three categories is then detected by signature matching. However, the system cannot detect the malicious activities other than the three categories of threats. Lin et al. [14] extracted longest common substrings (LCS) of system calls for malicious applications of the same type

and discriminated malicious behaviors from benign ones based on probabilities derived from the Bayes model. They then detect repackaged malware with the obtained LCS. However, the solution is not efficient because it has to run all applications on emulators or real devices. In addition, the proposed Layering Multi-Thread Comparison mechanism provides a door for malware to evade the

detection.

To achieve high detection performance and accuracy, we propose a three-phase behavior-based solution, where the first two phases detect malicious applications and the last phase classifies into known or new types of malware.

8

相關文件