Skip to main content

Checks

Our MATRIX solution runs a specialized set of automated security checks on the device. These checks are designed to identify security issues in the app, such as insecure data storage, insecure network communication, insecure authentication and more.

Specifically, we have implemented checks for iOS and Android across 7 categories: Authentication, Code, Cryptography, Network, Platform, Storage and Resilience. Each of these checks are designed to identify a specific security issue in the app in accordance with the Mobile OWASP Checklist.

Android Checks

The following checks are run on Android devices:

CategoryCheck Name
AuthenticationInsecure Biometric Implementation
CodeInsecure Joda Library
CodeInsecure libjpeg-turbo Library Version
CodeInsecure libpng Library Version
CodeInsecure OkHTTP Library Version
CodeMinSDK Targets Vulnerable Android Versions
CodeApplication Utilizes Stack Canaries
CodeSafe Browsing Not Enabled in WebViews
CodeApplication Utilizes Position Independent Code
CryptoApplication Contains Hardcoded API Keys
CryptoApplication Utilizing Insecure Cryptography
CryptoApplication Utilizing Insecure Symmetric Encryption Modes
CryptoApplication Contains Hardcoded SQLCipher Key
CryptoInsecure Random Number Generation
NetworkApplication Allows Insecure Network Connections
NetworkApplication Contains Change Cipher Spec Injection Vulnerable OpenSSL Version
NetworkApplication Contains HeartBleed Vulnerable OpenSSL Version
NetworkApplication Contains Insecure HTTP Traffic
NetworkApplication Target SDK Allows for Insecure Network Configuration
NetworkApplication VPN Opts out of Always-On Feature
NetworkHTTP Cleartext Transmission of Bluetooth MAC Address
NetworkHTTP Cleartext Transmission of Build Fingerprint
NetworkHTTP Cleartext Transmission of Device Android ID
NetworkHTTP Cleartext Transmission of Device IMEI
NetworkHTTP Cleartext Transmission of DNS Address
NetworkHTTP Cleartext Transmission of GPS Latitude Coordinates
NetworkHTTP Cleartext Transmission of GPS Longitude Coordinates
NetworkHTTP Cleartext Transmission of Sensitive Data
NetworkHTTP Cleartext Transmission of WiFi MAC Address
NetworkHTTPS Traffic URL Contains WiFi MAC Address
NetworkHTTPS Traffic URL Contains Device IMEI
NetworkHTTPS Traffic URL Contains Device's GPS Longitude
NetworkHTTPS Traffic URL Contains Device's GPS Latitude
NetworkHTTPS Traffic URL Contains Sensitive Data
NetworkHTTPS Traffic URL Contains DNS Address
NetworkHTTPS Traffic URL Contains Build Fingerprint
NetworkHTTPS Traffic URL Contains Bluetooth MAC Address
NetworkHTTPS Traffic URL Contains Android ID
NetworkInsecure Security Provider
NetworkInsecure TLS Configuration
NetworkCookie missing 'Secure' flag
NetworkCookie missing 'HttpOnly' flag
NetworkApplication Utilizes Certificate Pinning Protections
NetworkApplication Utilizes Certificate Validation
PlatformApplication Manifest Contains Unverified Web Links
PlatformApplication Utilizes Broadcast Receivers Without Permissions
PlatformApplication Utilizes Potentially Dangerous Permissions
PlatformApplication Contains Debuggable Webviews
PlatformApplication Utilizes Insecure JavaScript Interface
PlatformApplication Contains WebViews with JavaScript Enabled
PlatformApplication is Vulnerable to Task Hijacking
ResilienceApplication Contains Debug Library
ResilienceApplication Enables Debugging within the Android Manifest
ResilienceJanus Exploitation Possible Due to Current Minimum SDK
ResilienceApplication Utilizes a Weak Signing Key
ResilienceApplication Utilizes a Weak Signing Scheme
StorageLocal Data Exposure: Android ID Stored Insecurely
StorageLocal Data Exposure: Application Backups Enabled
StorageLocal Data Exposure: Bluetooth MAC Address Logged Insecurely
StorageLocal Data Exposure: Bluetooth MAC Address Stored Insecurely
StorageLocal Data Exposure: Device Fingerprint Logged Insecurely
StorageLocal Data Exposure: Device IMEI Logged Insecurely
StorageLocal Data Exposure: Device IMEI Stored Insecurely
StorageLocal Data Exposure: DNS Address Logged Insecurely
StorageLocal Data Exposure: DNS Address Stored Insecurely
StorageLocal Data Exposure: Global Read Permissions
StorageLocal Data Exposure: Global Write Permissions
StorageLocal Data Exposure: GPS Latitude Logged Insecurely
StorageLocal Data Exposure: GPS Latitude Stored Insecurely
StorageLocal Data Exposure: GPS Longitude Logged Insecurely
StorageLocal Data Exposure: GPS Longitude Stored Insecurely
StorageLocal Data Exposure: Insecure Hardcoded API Keys
StorageLocal Data Exposure: Insecure Hardcoded Passwords
StorageLocal Data Exposure: Sensitive Values Logged Insecurely
StorageLocal Data Exposure: Sensitive Values Stored Insecurely
StorageLocal Data Exposure: Sensitive Values Stored Insecurely in Memory
StorageLocal Data Exposure: WiFi IP Address Logged Insecurely
StorageLocal Data Exposure: WiFi IP Address Stored Insecurely
StorageLocal Data Exposure: WiFi MAC Address Logged Insecurely
StorageLocal Data Exposure: WiFi MAC Address Stored Insecurely

iOS Checks

The following checks are run on iOS devices:

CategoryCheck Name
AuthenticationBiometric Bypass Possible
CodeApplication Uses Custom URL Schemes
CodeApplication Utilizes PIC Binary Protections
CodeApplication Utilizes Stack Smashing Protections
CodeApplication Utilizes a Deprecated API
CodeApplication Utilizes Insecure Serialization API
CodeApplication Utilizes an Insecure Nanopb Library
CodeApplication Utilizes ARC Binary Protections
CodeInsecure API Usage in Binary
CodeUsage of malloc Instead of calloc in Binary
CryptoApplication Encodes Data Using Insecure Cryptography
CryptoApplication Utilizes Insecure Cryptography
CryptoPBKDF2 Iteration Count <10k
NetworkApp Transport Security (ATS) Disabled
NetworkApplication Contains Insecure HTTP Traffic
NetworkHTTP Cleartext Transmission of Device IMEI
NetworkHTTP Cleartext Transmission of GPS Latitude Coordinates
NetworkHTTP Cleartext Transmission of GPS Longitude Coordinates
NetworkHTTP Cleartext Transmission of Sensitive Data
NetworkHTTP Cleartext Transmission of WiFi MAC Address
NetworkApp Transport Security (ATS) Selectively Disabled
NetworkHTTPS Traffic URL Contains Device's GPS Longitude
NetworkHTTPS Traffic URL Contains Device's GPS Latitude
NetworkHTTPS Traffic URL Contains WiFi MAC Address
NetworkHTTPS Traffic URL Contains Device IMEI
NetworkHTTPS Traffic URL Contains Sensitive Data
NetworkCookie missing 'Secure' flag
NetworkCookie missing 'HttpOnly' flag
NetworkHTTP Cleartext Transmission of Advertiser ID
NetworkApplication Utilizes Certificate Pinning Protections
NetworkInsecure TLS configuration
NetworkApplication Contains Change Cipher Spec Injection Vulnerable OpenSSL Version
NetworkApplication Contains Heartbleed Vulnerable OpenSSL Version
PlatformApplication Utilizes Potentially Dangerous Permissions
PlatformPotentially Insecure iOS Entitlements
ResilienceComponents Contain Debug Symbols
StorageLocal Data Exposure: Sensitive Values Stored in Memory
StorageLocal Data Exposure: Device IMEI Logged Insecurely
StorageLocal Data Exposure: Device IMEI Stored Insecurely
StorageLocal Data Exposure: Global Write Permissions
StorageLocal Data Exposure: GPS Latitude Logged Insecurely
StorageLocal Data Exposure: GPS Latitude Stored Insecurely
StorageLocal Data Exposure: GPS Longitude Logged Insecurely
StorageLocal Data Exposure: GPS Longitude Stored Insecurely
StorageLocal Data Exposure: Insecure Hardcoded API Keys
StorageLocal Data Exposure: Insecure Hardcoded Passwords
StorageLocal Data Exposure: Sensitive Data Logged Insecurely
StorageLocal Data Exposure: Sensitive Values Stored Insecurely
StorageLocal Data Exposure: WiFi IP Address Stored Insecurely
StorageLocal Data Exposure: WiFi MAC Address Logged Insecurely
StorageLocal Data Exposure: WiFi MAC Address Stored Insecurely
StorageLocal Data Exposure: Advertiser ID Stored Insecurely
StorageLocal Data Exposure: Advertiser ID Logged Insecurely
StorageApplication Utilizes Deprecated Keychain Attributes
StorageSensitive Values Stored Insecurely within NSUserDefaults
StorageSensitive Data Exposed Through Device Keyboard Cache