Segurança
Mobile
App
OWASP
Proteção
Desenvolvimento

Application Security: Mobile Protection Guide

Mobile apps are frequent targets of attacks. Sensitive data, payments, personal information, everything needs protection. This guide presents essential mobile security practices.

Why Mobile Security Matters

Sensitive Data

Apps store valuable information.

Rising Attacks

Mobile is an increasingly explored vector.

Regulation

LGPD, compliance requires protection.

Reputation

Leak destroys trust.

OWASP Mobile Top 10

M1: Improper Platform Usage

Incorrect use of OS security features.

M2: Insecure Data Storage

Sensitive data in insecure locations.

M3: Insecure Communication

Transmission without protection.

M4: Insecure Authentication

Weak or bypassable authentication.

M5: Insufficient Cryptography

Poorly implemented encryption.

M6: Insecure Authorization

Failed access control.

M7: Client Code Quality

Bugs and vulnerabilities in the code.

M8: Code Tampering

App modification.

M9: Reverse Engineering

App can be analyzed.

M10: Extraneous Functionality

Debug code in production.

Secure Storage

Keychain (iOS)

For credentials and tokens.

Keystore (Android)

Hardware-backed security.

Encrypted SharedPreferences

Encrypted data.

Do Not Use

Plain text files, logs, UserDefaults without encryption.

Secure Communication

HTTPS

Mandatory, always.

Certificate Pinning

Prevents MITM attacks.

TLS 1.3

Safer version.

Network Security Config

Android: declare security rules.

Authentication

Strong Passwords

Complexity requirements.

###MFA

Multi-factor authentication.

Biometrics

Face ID, Touch ID, fingerprint.

Session Management

Secure tokens, expiration.

Authorization

Least Privilege

Minimum access required.

Server-Side

Always validate on the server.

Role-Based

Permissions by role.

Encryption

Algorithms

AES-256, RSA-2048+.

###Keys

Not hardcoded. Use keychain/keystore.

###Salting

For password hashes.

IV Unique

For encryption modes.

Code Protection

Obfuscation

Make reverse engineering difficult.

ProGuard/R8 (Android)

Code obfuscation.

Anti-Tampering

Detect modifications.

Root/Jailbreak Detection

Identify compromised devices.

API Security

Authentication

Token-based, OAuth 2.0.

Rate Limiting

Prevent abuse.

Input Validation

Validate everything on the server.

Output Encoding

Prevent injection.

Data Protection

Date at Rest

Encryption in storage.

Data in Transit

HTTPS/TLS.

Data Minimization

Only collect necessary.

Retention

Don't keep more than you need.

Security Tests

SAST

Static Application Security Testing.

DAST

Dynamic testing.

Penetration Testing

Ethical hackers test.

Vulnerability Scanning

Failed dependencies.

Tools

MobSF

Mobile Security Framework. Automated analysis.

Frida

Dynamic instrumentation.

Burp Suite

Intercept traffic.

OWASP ZAP

Vulnerability scanner.

Dependencies

NPM/Gradle Audit

Check for vulnerabilities.

Update

Keep dependencies up to date.

Supply Chain

Be careful what you include.

iOS Specific

App Transport Security

Force HTTPS.

Keychain Services

Safe storage.

Data Protection

Lockscreen-based protection.

Android Specific

SafetyNet/Play Integrity

Check device integrity.

Network Security Config

Declare network policies.

EncryptedSharedPreferences

Encrypted data.

Secure Development

###Training

Security trained developers.

Code Review

Review with a focus on security.

Threat Modeling

Identify risks early.

Security Champions

Representatives on the team.

Compliance

LGPD

Protection of personal data.

PCI DSS

For paid apps.

HIPAA

For health apps (US).

Common Errors

Hardcoded Secrets

Keys in the source code.

Excessive Logs

Sensitive data in logs.

Validation only on the Client

Server must validate.

###HTTP

Unencrypted communication.

Conclusion

Mobile security requires a layered approach. Protect data, communicate securely, authenticate correctly and test continuously. Security is not a feature, it is a requirement.

##FAQs

1) Is Certificate pinning necessary? Highly recommended for apps with sensitive data.

2) Is obfuscation enough? No. It's a layer, not complete protection.

3) How to test security? Automated tools + manual pen testing.

4) Can Root detection be bypassed? Yes. Use as a layer, not the only protection.

5) HTTPS solves everything? No. It's basic. Need more layers.

Also read