。檢測申請    。 MAST 工作群組  。 招兵買馬    。English

。Test Request    。 MAST Workgroup  。 Careers    。中文

APP Security Testing Classification

APP Security Testing Classification


    Based on NIST163 and ISO 17034, this allow the follow APP developer has something to compliance with. We did a classification for the APP Security Audit, classification based on the following table:

TYPE Description Negative Consequence

Permissions

Permissions allow accessing controlled functionality such as the camera or GPS and are requested in the program. Permissions can be implicitly granted to an application without the user’s consent.

An application with too many permissions may perform unintended functions outside the scope of the application’s intended functionality. Additionally, the permissions are vulnerable to hijacking by another application. If too few permissions are granted, the application will not be able to perform the functions required.

Exposed communication

Internal communications protocols are the means by which an application passes messages internally within the device, either to itself or to other applications. External communications allow information to leave the device.

Exposed internal communications allow applications to gather unintended information and inject new information. Exposed external communication (data network, Wi-Fi, Bluetooth, NFC, etc.) leave information open to disclosure or man-in-the-middle attacks.

Potentially dangerous functionality

Controlled functionality that accesses system critical resources or the user’s personal information. This functionality can be invoked through API calls or hard coded into an application.

Unintended functions could be performed outside the scope of the application’s functionality.

Application Collusion

Two or more applications passing information to each other in order to increase the capabilities of one or both apps beyond their declared scope.

Collusion can allow applications to obtain data that was unintended such as a gaming application obtaining access to the user’s contact list.

Obfuscation

Functionality or control flows that are hidden or obscured from the user. For the purposes of this appendix, obfuscation was defined as three criteria: external library calls, reflection, and native code usage.

1. External libraries can contain unexpected and/or malicious functionality.
2. Reflective calls can obscure the control flow of an application and/or subvert permissions within an application.
3. Native code (code written in languages other than Java in Android) can perform unexpected and/or malicious functionality.
Shortened battery life could affect the ability to perform mission critical functions.
Common consequences include unexpected outputs, resource exhaustion, denial of service, etc.

Excessive Power Consumption

Excessive functions or unintended applications running on a device which intentionally or unintentionally drain the battery.

Shortened battery life could affect the ability to perform mission critical functions.

Traditional Software Vulnerabilities

All vulnerabilities associated with traditional Java code including: Authentication and Access Control, Buffer Handling, Control Flow Management, Encryption and Randomness, Error Handling, File Handling, Information Leaks, Initialization and Shutdown, Injection, Malicious Logic, Number Handling, and Pointer and Reference Handling.

Common consequences include unexpected output, resource depletion, denial of service.

 

Mobile Application Security Testing Program Classification

A級

B級 C級
A1

Permission of the Behavior Error

B1

Over Granting

C1

Over Granting in Code

C2

Over Granting in API

B2

Under Granting

C3

Under Granting in Code

C4

Under Granting in API

B3

Developer Created Permissions

C5

Developer Created in Code

C6

Developer Created in API

B4

Implicit Permission

C7

Granted through API

C8

Granted through Other Permissions

C9

Granted through Grandfathering

A2
          

Exposed Communications

B5     

External Communications

C10

Bluetooth

C11

GPS

C12

Network/Data Communications

C13

NFC Access

B6 
      

Internal Communications

C14

The purpose of unprotected

C15

Unprotected Activity

C16

Unprotected Services

C17

Unprotected Content Providers

C18

Unprotected Broadcast Receivers

C19

Debug Flag

A3        

Potentially Dangerous Functionality

B7

Direct Addressing

C20

Memory Access

C21

Internet Access

B8

Potentially Dangerous API

C22

Cost Sensitive APIs

C23

Personal Information APIs

C24

Device Management APIs

B9

Privilege Escalation

C25

Altering File Privileges

C26

Accessing Super User/Root

A4

Application Collusion

   B10    

Content Provider/Intents

 C27

Unprotected Content Providers

 C28

Permission Protected Content Providers

 C29

Pending Intents

 B11  

Broadcast Receiver

 C30

Broadcast Receiver for Critical Messages

B12

Data Creation/Changes/Deletion

C31

Creation/Changes/Deletion to File Resources

C32

Creation/Changes/Deletion to Database Resources

B13

Number of Services

C33

Excessive Checks for Service State

A5

Obfuscation

B14

Library Calls

C34

Use of Potentially Dangerous Libraries

C35

Potentially Malicious Libraries Packaged but Not Used

B15

Native Code Detection

C36  
B16

Reflection

C37  
B17

Packed Code

C38  
A6

Excessive Power Consumption

B18

CPU Usage

C39  
B19

I / O

C40  

 

Copyright © 2015 Gapertise Incorporated.  All rights reserved.