Static Analysis Frameworks

Is a Mobile Application Reverse engineering and Analysis Framework. It is a tool that puts together commonly used mobile application reverse engineering and analysis tools, to assist in testing mobile applications against the OWASP mobile security threats. Its objective is to make this task easier and friendlier to mobile application developers and security professionals.

Features:

APK Manifest Analysis

  • Extract Intents

  • Extract exported activities

  • Extract receivers

  • Extract exported receivers

  • Extract Services

  • Extract exported services

  • Check if apk is debuggable

  • Check if apk allows backups

  • Check if apk allows sending of secret codes

  • Check if apk can receive binary SMS

Security Analysis

Source code static analysis based on OWASP Top Mobile Top 10 and the OWASP Mobile Apps Checklist.

MARA is capable of performing either single or mass analysis of apk, dex or jar files.

Is a static code analysis tool, designed to recognize potential security vulnerabilities and points of concern for Java-based Android applications. QARK was designed to be community based, available to everyone and free for use. QARK educates developers and information security personnel about potential risks related to Android application security, providing clear descriptions of issues and links to authoritative reference sources. QARK also attempts to provide dynamically generated ADB (Android Debug Bridge) commands to aid in the validation of potential vulnerabilities it detects. It will even dynamically create a custom-built testing application, in the form of a ready to use APK, designed specifically to demonstrate the potential issues it discovers, whenever possible.”

My favorite tool is Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.

1. Information

Display data such as app icon, app name, size, package name etc.MD5 & SHA1 are also shown. They can be useful to detect known malicious applications.

2. Scan options

  • Rescan the application.

  • Start the dynamic analysis.

  • Check the java code & the manifest file.

3. Signer certificate

  • Display certificate info.

  • Determine if an application has come from its original source.

4. Permissions

  • Analyzes the permissions.

  • Determines its status concerning critically & the description of permissions.

5. Binary Analysis

  • It is threat assessment & vulnerability testing at the binary code level.

  • It can also be used to analyze third party libraries, allowing a richer analysis & better visibility into how applications will interact with libraries.

  • This is analysis of binary code to identify security issues. For complex systems using third party libraries for which source code is not available binary code analysis helps to identify issues.

6. Android API

You can view android API used in app like java reflection, location.

7. Browsable activities

That can be safely invoked from a browser.

8. Security analysis

Manifest analysis

Find vulnerability inside one of the components in the AndroidManifest.xml file.

Code analysis

  • Analysis result of java code by a static analyzer.

  • Identifies potential vulnerabilities, determines their severity & the files in which this type of vulnerability was found.

  • CVSS:

    • Common Vulnerability Scoring System.

    • Vulnerability is assigned a CVSS base score between 0.0 & 10.0.

      • 0.0 → No risk

      • 0.1–3.9 → Low risk

      • 4.0–6.9 → Medium risk

      • 7.0–8.9 → High risk

      • 9.0–10.0 → Critical risk score

  • CWE:

    • Common Weakness Enumeration.

    • It is a list of software architecture, design or a code weakness.

File analysis

Shows analysis of files.

9. Malware analysis

Determine the functionality, origin & potential impact of a given malware sample such as virus.

10. Reconnaissance

URL

Display list of URLs, IP addresses & the files in which they are stores or called. Analyzes where the android app sends the data & where it stores the info.

Emails

Strings

  • Analyzes the text files that are in the res directory.

  • May contain sensitive data.

11. Components

Display a complete list of components (activity, service, content provider & receiver), imported libraries & files without defining the extension.

Last updated