| Literature DB >> 35875645 |
Umair Nawaz1, Muhammad Aleem1, Jerry Chun-Wei Lin2.
Abstract
The Android mobile platform is the most popular and dominates the cell phone market. With the increasing use of Android, malware developers have become active in circumventing security measures by using various obfuscation techniques. The obfuscation techniques are used to hide the malicious code in the Android applications to evade detection by anti-malware tools. Some attackers use the obfuscation techniques in isolation, while some attackers use a mixed approach (i.e., employing multiple obfuscation techniques simultaneously). Therefore, it is crucial to analyze the impact of the different obfuscation techniques, both when they are used in isolation and when they are combined as hybrid techniques. Several studies have suggested that the obfuscation techniques may be more effective when used in a mixed pattern. However, in most of the related works, the obfuscation techniques used for analysis are either based on individual or a combination of primitive obfuscation techniques. In this work, we provide a comprehensive evaluation of anti-malware tools to gauge the impact of complex hybrid code-obfuscations techniques on malware detection capabilities of the prominent anti-malware tools. The evaluation results show that the inter-category-wise hybridized code obfuscation results in more evasion as compared to the individual or simple hybridized code obfuscations (using multiple and similar code obfuscations) which most of the existing related work employed for the evaluation. Obfuscation techniques significantly impact the detection rate of any anti-malware tool. The remarkable result i.e., almost 100% best detection rate is observed for the seven out of 10 tools when analyzed using the individual obfuscation techniques, four out of 10 tools on category-wise obfuscation, and not a single anti-malware tool attained full detection (i.e., 100%) for inter-category obfuscations.Entities:
Keywords: Android; Android’s anti-malware system; Obfuscation techniques; Reverse engineering
Year: 2022 PMID: 35875645 PMCID: PMC9299270 DOI: 10.7717/peerj-cs.1002
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Figure 1Malware vs obfuscated malware.
Malicious applications with total no. of downloads (Threatpost, 2020).
| Harmful app type | Number of apps | Number of installs |
|---|---|---|
| Adware | 48 | 300,600,000+ |
| Subscription scam | 15 | 20,000,000+ |
| Hidden ads | 57 | 14,550,000+ |
| SMS premium subscription | 24 | 472,000+ |
Anti-malware evaluation techniques.
| Ref. | Methodology/Approach | Limitations | Strengths |
|---|---|---|---|
|
| • An automated framework. | • Used four obfuscation techniques. -Each technique is used separately without any combination. | • An automated framework does obfuscation. |
| • Four obfuscation techniques ( | • Anti-malware tools that are listed on VirusTotal were used for evaluation. | ||
| • VirusTotal API is used to classify the malware samples. | |||
| • EDR greater than 0.8 proved that signature-based detection is evaded. | |||
|
| • AAMO (Automatic Android Malware Obfuscator) framework. | • The same Obfuscation techniques are categorized. | • An automated framework AAMO does obfuscation. |
| • 17 different Obfuscation techniques are used. | • A combination of any two categories is not used. | • 17 obfuscation techniques are listed on AAMO | |
| • Any original APK is given to APKTool for un-compression | |||
| • Then obfuscation technique is applied | |||
| • APK is then resigned with jarsigner. | |||
|
| • Three different obfuscation techniques are used | • Attacks are combined with only three different obfuscation techniques. | • Various attacks are introduced with obfuscation techniques. |
| • Three different datasets ( | |||
| • Various attacks named app-resigning, permission injection attack, and permission-code injection attack are used. | |||
|
| • Framework based on four modules. | • Only one obfuscation technique is applied at a time. | • An automated framework with four different modules is used for applying obfuscation to applications. |
| • IR converter takes an APK file and converts code into Intermediate representation format. | • This work shows that anti-malware tools are slow to update their databases. | ||
| • IR transformation applies Obfuscation. | |||
| • IR generator repacks the obfuscated APK file. | |||
| • Data Analyzer scans the APK and shows results if the obfuscated APK is detected or not. | |||
|
| • Obfuscapk an obfuscation tool for android applications. | • All the work is automated. | • An automated framework is used for obfuscating the applications. |
| • An original APK file is given to obfuscapk. | • Obfuscation techniques are applied through obfuscapk. | • VirusTotal API is used to evaluate the anti-malware tools. | |
| • Rebuild the new APK file with a new signature and new alignment. | • VirusTotal shows detection results. | ||
|
| • Seven different control flow techniques are used. | • Eight various automated obfuscation tools are used. | • Control flow obfuscation techniques are applied with various tools. |
| • Dalvik bytecode to apply obfuscation techniques. | • Used two techniques at a time. | ||
| • The proposed approach preserves the execution order of the original instructions. | |||
| • New instructions to redirect to original instructions. | |||
|
| • Level-wise categorization of obfuscation techniques to test the resilience of anti-malware tools. | • All work is automated. | • Apply level wise obfuscation to test the resilience of different tools. |
| • Level A: Obfuscations that do not alter the source code. | • Three automated obfuscators were used in experiments. | • Three different tools are used to apply obfuscation on different level. | |
| • Level B: Alter the code by changing the control flow. | • Three automated obfuscators were used in experiments. | ||
| • Level C: Perform renaming. | • level A is the easiest, and level D is the toughest to defeat. | ||
| • Level D: Perform encryption. | |||
|
| • Two primary processes are used | • Only ransomware samples are obfuscated. | • VirusTotal API is used to evaluate the anti-malware tools. |
| • 1. Translation of Java bytecode. | • Code reordering obfuscation is used. | • Ransomware malware samples are obfuscation with simple obfuscation techniques. | |
| • 2. Investigate if the application is obfuscated or not. | • After obfuscation, the test is conducted to check if obfuscation techniques are applied successfully or not. | ||
| • VirusTotal is used for the detection of malware samples. | |||
|
| • Static and dynamic two different malware detection methods are used. | • Only eight Obfuscation techniques are used in an isolated way for analysis. | • These malware samples are installed on mobile devices to test the anti-malware tool’s resilience. |
| • Eight different code obfuscations are used. | |||
| • Each application is executed on an android mobile device for at least one minute to detect if the application is malicious or not. | |||
|
| • Obfusifier is introduced to identify the android malware applications. | • Obfuscate malicious applications by the ALAN tool. | • An automated framework used for obfuscation. |
| • ALAN: A Java-based code obfuscation tool for Android is used for applying obfuscation techniques. | • Obfusifier cannot detect malicious applications which are obfuscated other than the ALAN tool. | • Anti-malware tools that are listed on VirusTotal were used for evaluation. | |
| • VirusTotal is used for the detection of malware samples. | • ALAN supports only seven different obfuscation techniques. | ||
|
| • AVPASS tool is used for obfuscation of any application. | • Obfuscation techniques are applied through AVPASS. | • Obfuscation techniques are applied through an automated framework. |
| • AVPASS supports seven different obfuscation techniques. | • AVPASS only supports seven different obfuscation techniques. | • VirusTotal API is used for evaluation purposes. | |
| • Any original APK is given to AVPASS for obfuscation. | |||
| • After obfuscation, the application is assigned to Virustotal for detection of results. |
Obfuscation techniques and impact on app code and manifest file.
| Obfuscation technique | Code changes | Manifest changes | Obfuscation technique | Code changes | Manifest changes |
|---|---|---|---|---|---|
| Repackaging | ✓ | ✗ | Junk Code Insertion | ✓ | ✗ |
| Try-catch | ✓ | ✗ | String Encryption | ✓ | ✗ |
| Call Indirection | ✓ | ✗ | Opaque Predicate | ✓ | ✗ |
| Code Reordering | ✓ | ✗ | Identifier Renaming | ✓ | ✗ |
| Data Encoding | ✓ | ✗ | Members Reordering | ✓ | ✗ |
| Package Renaming | ✗ | ✓ | Reflection | ✓ | ✗ |
| Disassembling, Reassembling | ✓ | ✗ | Manifest transformation | ✗ | ✓ |
| Resource Renaming | ✓ | ✗ | Method Overloading | ✓ | ✗ |
| Re-order Loop | ✓ | ✗ | Unconditional Jump | ✓ | ✗ |
| Debug Removal | ✗ | ✓ | Re-aligning | ✓ | ✗ |
Figure 2App repacking sequence.
Figure 3Anti-malware tools evaluation methodology.
Category wise distribution of obfuscation techniques.
| Category | Obfuscation techniques |
|---|---|
| Android Specific (AS) | • Repackaging |
| • Disassembling and Reassembling | |
| • Android Manifest transformation | |
| • Re-aligning | |
| Simple Control-flow Modifications (SCF) | • Junk Code Insertion |
| • Debug Removal | |
| • Try-catch | |
| • Members reordering | |
| • Re-order Loop | |
| Advanced Control-flow Modifications (ACF) | • Call Indirection |
| • Code Reordering | |
| • Reflection | |
| • Opaque Predicate | |
| • Method Overloading | |
| • Unconditional jump insertion | |
| Renaming (RN) | • Package Renaming |
| • Identifier Renaming | |
| • Resource Renaming | |
| Encryption (EN) | • String Encryption |
| • Data Encoding |
Evaluated anti-malware tools.
| Anti-malware tool, reference | Current version | Total downloads | Ratings | Offered by |
|---|---|---|---|---|
| Avast, ( | 6.38.2 | 100M+ | 4.7 | Avast Software |
| AVG Mobile, ( | 6.38.4 | 100M+ | 4.7 | AVG Mobile |
| Kaspersky, ( | Varies with device | 50M+ | 4.8 | Kaspersky Lab |
| McAfee, ( | 5.13.0.136 | 50M+ | 4.5 | McAfee LLC |
| Avira, ( | 7.7.1 | 10M+ | 4.6 | AVIRA |
| Dr. Web, ( | 12.6.9 | 10M+ | 4.6 | Doctor Web, Ltd |
| ESET Mobile Security, ( | 6.3.41.0 | 10M+ | 4.8 | ESET |
| Malwarebytes Security, ( | 3.7.5.8 | 10M+ | 4.6 | Malwarebytes |
| Bitdefender, ( | 3.133.939 | 5M+ | 4.7 | Bitdefender |
| Sophos, ( | 9.6.3415 | 1M+ | 4.3 | Sophos Limited |
Machine specifications.
| CPU | Intel core I5 2.5 GHz |
| Installed RAM | 8 GB |
| Operation System | Windows 10 Pro |
| Reverse engineering Tool | Apktool v2.5.0 |
| Tool for Smali code edit | Visual studio code v1.56.2 |
Figure 4Avira: isolated obfuscation evaluation.
Figure 5Avira: category-wise and inter-category-wise results.
(A) Avira: category-wise obfuscation results. (B) Avira: inter-category-wise obfuscation results.
Figure 6Avast: isolated way obfuscation results.
Figure 7Avast: category-wise and inter-category-wise results.
(A) Avast: category-wise obfuscation results. (B) Avast: inter-category-wise obfuscation results.
Figure 8AVG Mobile: isolated way obfuscation results.
Figure 9AVG Mobile: category-wise and inter-category-wise results.
(A) AVG Mobile: category-wise obfuscation results. (B) AVG Mobile: inter-category-wise results.
Figure 10Bitdefender: isolated way obfuscation results.
Figure 11Bitdefender: category-wise and inter-category-wise results.
(A) Bitdefender: category-wise obfuscation results. (B) Bitdefender: inter-category-wise obfuscation results.
Figure 12Dr. Web: isolated way obfuscation results.
Figure 13Dr. Web: category-wise and inter-category-wise results.
(A) Dr. Web: category-wise obfuscation results. (B) Dr. Web: inter-category-wise obfuscation results.
Figure 14ESET Mobile Security: isolated way obfuscation results.
Figure 15ESET Mobile Security: category-wise and inter-category-wise results.
(A) ESET Mobile Security: category-wise obfuscation results. (B) ESET Mobile Security: inter-category-wise obfuscation results.
Figure 16Kaspersky - isolated way obfuscation results.
Figure 17Kaspersky: category-wise and inter-category-wise results.
(A) Kaspersky: category-wise obfuscation results. (B) Kaspersky: inter-category-wise obfuscation results.
Figure 18Malwarebytes: isolated way obfuscation results.
Figure 19Malwarebytes: category-wise and inter-category-wise results.
(A) Malwarebytes: category-wise obfuscation results. (B) Malwarebytes: inter-category-wise results.
Figure 20McAfee: isolated way obfuscation results.
Figure 21McAfee: category-wise and inter-category-wise results.
(A) McAfee: category-wise obfuscation results. (B) McAfee: inter-category-wise obfuscation results.
Figure 22Sophos: isolated way obfuscation results.
Figure 23Sophos: category-wise and inter-category-wise results.
(A) Sophos: category-wise obfuscation results. (B) Sophos: inter-category-wise obfuscation results.
Tool-wise evaluation results.
| Anti-Malware tools | Individual techniques | Category-wise techniques | Inter-category-wise techniques | |||
|---|---|---|---|---|---|---|
| Best | Worst | Best | Worst | Best | Worst | |
| Avira | RP, DRe, RA, JCI, DebR, TC, ROL, CI, CR, Re, OP, MO, UJI, PR, (100%) | SE (85%) | AS, ACF (100%) | EN (75%) | AS+SCF, SCF+ACF, SCF+RN, ACF+RN, (90%) | AS+EN (35%) |
| Avast | RP, DRe, AMT, RA, DebR, MO, PR, RR, (80%) | SE, DE (65%) | AS (80%) | EN (55%) | AS+ACF, ACF+RN (75%) | AS+EN (35%) |
| AVG Mobile | RP, DRe, AMT, RA, DebR, PR, RR, (80%) | SE, DE (60%) | AS (80%) | EN (50%) | AS+SCF, AS+ACF, SCF+ACF, (75%) | AS+EN (30%) |
| Bitdefender | RP, DRe, AMT, MR, ROL, CI, CR, Re, MO, UJI, IR, RR, (100%) | RA,TC (80%) | ACF,EN (90%) | AS, SCF (75%) | ACF+RN, RN+EN (90%) | AS+SCF (40%) |
| Dr. Web | RP, DRe, AMT, RA, JCI, DebR, ROL, OP, UJI, PR, IR, SE, (100%) | CI, Re (40%) | AS (100%) | ACF (20%) | AS+SCF, AS+RN (90%) | ACF+EN (0%) |
| ESET Mobile Security | RP, DRe, AMT, RA, JCI, DebR, TC, OP, UJI, PR, IR (100%) | Re (80%) | AS (100%) | ACF (70%) | AS+RN (95%) | ACF+RN (50%) |
| Kaspersky | RP, DRe, AMT, RA, JCI, DebR, ROL, CI, CR, Re, OP, UJI, PR, (100%) | DE (55%) | AS (100%) | EN (45%) | AS+SCF (90%) | AS+EN, ACF+EN, RN+EN (35%) |
| Malwarebytes | RP, DRe, DebR, ROL, MO, PR, (100%) | DE (60%) | AS, SCF (85%) | EN (50%) | AS+SCF, AS+RN, SCF+RN, (70%) | AS+EN, ACF+EN (40%) |
| McAfee | RA (95%) | DE (0%) | AS (20%) | RN, EN (0%) | AS+SCF, SCF+ACF (10%) | AS+RN, AS+EN, SCF+RN, SCF+EN, ACF+RN, ACF+EN, RN+EN (0%) |
| Sophos | RP, DRe, RA, JCI, DebR, ROL, CI, CR, OP, MO, UJI, PR, IR, (100%) | RR, DE (90%) | AS, ACF (95%) | EN (80%) | SCF+ACF, SCF+RN (85%) | AS+EN (10%) |
Technique-wise results.
| Obfuscation technique | Best | Average | Worst |
|---|---|---|---|
| Repackaging | 100%, (AVIRA, Bitdefender, Dr. Web, ESET, Kaspersky, Malwarebytes, Sophos) | 87.50% | 15%, (McAfee) |
| Disassemble-Reassemble | 100%, (AVIRA, Bitdefender, Dr. Web, ESET, Kaspersky, Malwarebytes, Sophos) | 93.50% | 75%, (McAfee) |
| Manifest transformation | 100%, (Bitdefender, Dr. Web, ESET, Kaspersky) | 85% | 15%, (McAfee) |
| Re-aligning | 100%, (AVIRA, Dr. Web, ESET, Kaspersky, Sophos) | 92.50% | 80%, (Avast, AVG, Bitdefender) |
| Junk Code Insertion | 100%, (AVIRA, Dr. Web, ESET, Kaspersky, Sophos) | 85.50% | 15%, (McAfee) |
| Debug Removal | 100%, (AVIRA, Dr. Web, ESET, Kaspersky, Sophos, Malwarebytes) | 87.50% | 20%, (McAfee) |
| Try-catch | 100%, (AVIRA, ESET) | 81% | 10%, (McAfee) |
| Members reordering | 100%, (Bitdefender) | 81.50% | 5%, (McAfee) |
| Re-order Loop | 100%, (AVIRA, Bitdefender, Dr. Web, Kaspersky, Malwarebytes, Sophos) | 85% | 10%, (McAfee) |
| Call Indirection | 100%, (AVIRA, Bitdefender, Kaspersky, Sophos) | 77% | 10%, (McAfee) |
| Code Reordering | 100%, (AVIRA, Bitdefender, Kaspersky, Sophos) | 81% | 5%, (McAfee) |
| Reflection | 100%, (AVIRA, Bitdefender, Kaspersky) | 75% | 10%, (McAfee) |
| Opaque Predicate | 100%, (AVIRA, Dr. Web, ESET, Kaspersky, Sophos) | 83% | 10%, (McAfee) |
| Method Overloading | 100%, (AVIRA, Bitdefender, Malwarebytes, Sophos) | 84% | 10%, (McAfee) |
| Unconditional jump insertion | 100%, (AVIRA, Bitdefender, Dr. Web, ESET, Kaspersky, Sophos) | 86% | 15%, (McAfee) |
| Package Renaming | 100%, (AVIRA, Dr. Web, ESET, Kaspersky, Malwarebyte, Sopho) | 86.50% | 10%, (McAfee) |
| Identifier Renaming | 100%, (Bitdefender, Dr. Web, ESET, Sophos) | 83% | 10%, (McAfee) |
| Resource Renaming | 100%, (Bitdefender) | 81.50% | 5%, (McAfee) |
| String Encryption | 100%, (Dr. Web) | 74.50% | 10%, (McAfee) |
| Data Encoding | 95%, (AVIRA, Bitdefender, ESET) | 70% | 0%, (McAfee) |
| Obfuscation Categories | |||
| Android Specific | 100%, (AVIRA, Dr. Web, ESET, Kaspersky) | 83.50% | 20%, (McAfee) |
| Simple Control-flow Modifications | 95%, (AVIRA) | 76.50% | 10%, (McAfee) |
| Advanced Control-flow Modifications | 100%, (AVIRA) | 68.50% | 5%, (McAfee) |
| Renaming | 95%, (Bitdefender, ESET) | 77% | 0%, (McAfee) |
| Encryption | 90%, (Bitdefender) | 61% | 0%, (McAfee) |
| Obfuscation Inter-categories | |||
| AS+SCF | 90%, (AVIRA, Dr. Web, Kaspersky) | 69.50% | 10%, (McAfee) |
| AS+ACF | 85%, (AVIRA, Kaspersky) | 59.50% | 5%, (McAfee) |
| AS+RN | 95%, (ESET) | 69.50% | 0%, (McAfee) |
| AS+EN | 80%, (ESET) | 39.50% | 0%, (McAfee) |
| SCF+ACF | 90%, (AVIRA) | 60% | 10%, (McAfee) |
| SCF+RN | 90%, (AVIRA) | 66% | 0%, (McAfee) |
| SCF+EN | 75%, (Dr. Web) | 50% | 0%, (McAfee) |
| ACF+RN | 90%, (AVIRA, Bitdefender) | 57.50% | 0%, (McAfee) |
| ACF+EN | 85%, (Bitdefender) | 46.50% | 0%, (McAfee, Dr.Web) |
| RN+EN | 90%, (Bitdefender) | 55% | 0%, (McAfee) |