380 lines
10 KiB
Markdown
380 lines
10 KiB
Markdown
|
|
# SMOA Threat Model
|
||
|
|
|
||
|
|
**Version:** 1.0
|
||
|
|
**Last Updated:** 2024-12-20
|
||
|
|
**Status:** Draft - In Progress
|
||
|
|
**Classification:** Internal Use
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Threat Model Overview
|
||
|
|
|
||
|
|
### Methodology
|
||
|
|
This threat model follows STRIDE methodology:
|
||
|
|
- **S**poofing
|
||
|
|
- **T**ampering
|
||
|
|
- **R**epudiation
|
||
|
|
- **I**nformation Disclosure
|
||
|
|
- **D**enial of Service
|
||
|
|
- **E**levation of Privilege
|
||
|
|
|
||
|
|
### System Boundaries
|
||
|
|
- **Application:** SMOA Android application
|
||
|
|
- **Device:** Foldable Android device
|
||
|
|
- **Network:** Secure government networks
|
||
|
|
- **Backend Services:** Enterprise backend services (if applicable)
|
||
|
|
- **External Systems:** AS4 gateway, NCIC, ATF, QTSP
|
||
|
|
|
||
|
|
### Trust Boundaries
|
||
|
|
- **Device Boundary:** Trust boundary between device and network
|
||
|
|
- **Application Boundary:** Trust boundary between application and OS
|
||
|
|
- **User Boundary:** Trust boundary between user and application
|
||
|
|
- **Network Boundary:** Trust boundary between device and backend
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Threat Identification
|
||
|
|
|
||
|
|
### Authentication Threats
|
||
|
|
|
||
|
|
#### T-AUTH-001: PIN Guessing
|
||
|
|
- **Threat:** Attacker guesses user PIN
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- PIN complexity requirements
|
||
|
|
- Retry limits and lockout
|
||
|
|
- Rate limiting
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-AUTH-002: Biometric Spoofing
|
||
|
|
- **Threat:** Attacker spoofs biometric authentication
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Hardware-backed biometrics
|
||
|
|
- Liveness detection
|
||
|
|
- Anti-spoofing measures
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-AUTH-003: Session Hijacking
|
||
|
|
- **Threat:** Attacker hijacks user session
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Secure session tokens
|
||
|
|
- Session timeout
|
||
|
|
- Re-authentication requirements
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
### Authorization Threats
|
||
|
|
|
||
|
|
#### T-AUTHZ-001: Privilege Escalation
|
||
|
|
- **Threat:** Attacker gains unauthorized privileges
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Role-based access control
|
||
|
|
- Principle of least privilege
|
||
|
|
- Permission validation
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-AUTHZ-002: Unauthorized Access
|
||
|
|
- **Threat:** Attacker accesses unauthorized data
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Access control enforcement
|
||
|
|
- Data classification
|
||
|
|
- Audit logging
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
### Data Protection Threats
|
||
|
|
|
||
|
|
#### T-DATA-001: Data Theft
|
||
|
|
- **Threat:** Attacker steals sensitive data
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Encryption at rest
|
||
|
|
- Encryption in transit
|
||
|
|
- Access controls
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-DATA-002: Data Tampering
|
||
|
|
- **Threat:** Attacker modifies data
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Data integrity checks
|
||
|
|
- Digital signatures
|
||
|
|
- Audit logging
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-DATA-003: Data Leakage
|
||
|
|
- **Threat:** Sensitive data leaked
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Data classification
|
||
|
|
- Access controls
|
||
|
|
- Monitoring
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
### Network Threats
|
||
|
|
|
||
|
|
#### T-NET-001: Man-in-the-Middle
|
||
|
|
- **Threat:** Attacker intercepts network traffic
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- TLS encryption
|
||
|
|
- Certificate pinning
|
||
|
|
- Mutual authentication
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-NET-002: Network Eavesdropping
|
||
|
|
- **Threat:** Attacker eavesdrops on network traffic
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** Medium
|
||
|
|
- **Mitigation:**
|
||
|
|
- TLS encryption
|
||
|
|
- VPN requirements
|
||
|
|
- Network monitoring
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-NET-003: Denial of Service
|
||
|
|
- **Threat:** Attacker causes service unavailability
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** Medium
|
||
|
|
- **Mitigation:**
|
||
|
|
- Offline operation capability
|
||
|
|
- Rate limiting
|
||
|
|
- Resource management
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
### Device Threats
|
||
|
|
|
||
|
|
#### T-DEV-001: Device Theft
|
||
|
|
- **Threat:** Attacker steals device
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Device encryption
|
||
|
|
- Remote wipe capability
|
||
|
|
- Strong authentication
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-DEV-002: Device Compromise
|
||
|
|
- **Threat:** Attacker compromises device
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Device hardening
|
||
|
|
- Security monitoring
|
||
|
|
- Incident response
|
||
|
|
- **Status:** ⚠️ Partial
|
||
|
|
|
||
|
|
#### T-DEV-003: Malicious Apps
|
||
|
|
- **Threat:** Malicious apps compromise security
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** Medium
|
||
|
|
- **Mitigation:**
|
||
|
|
- App isolation
|
||
|
|
- Permission restrictions
|
||
|
|
- Security scanning
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
### Application Threats
|
||
|
|
|
||
|
|
#### T-APP-001: Code Injection
|
||
|
|
- **Threat:** Attacker injects malicious code
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** High
|
||
|
|
- **Mitigation:**
|
||
|
|
- Input validation
|
||
|
|
- Secure coding practices
|
||
|
|
- Code review
|
||
|
|
- **Status:** ✅ Mitigated
|
||
|
|
|
||
|
|
#### T-APP-002: Reverse Engineering
|
||
|
|
- **Threat:** Attacker reverse engineers application
|
||
|
|
- **Likelihood:** Medium
|
||
|
|
- **Impact:** Medium
|
||
|
|
- **Mitigation:**
|
||
|
|
- Code obfuscation
|
||
|
|
- Anti-tampering measures
|
||
|
|
- Secure key storage
|
||
|
|
- **Status:** ⚠️ Partial
|
||
|
|
|
||
|
|
#### T-APP-003: Side-Channel Attacks
|
||
|
|
- **Threat:** Attacker uses side-channel information
|
||
|
|
- **Likelihood:** Low
|
||
|
|
- **Impact:** Medium
|
||
|
|
- **Mitigation:**
|
||
|
|
- Constant-time operations
|
||
|
|
- Secure memory handling
|
||
|
|
- Timing attack protection
|
||
|
|
- **Status:** ⚠️ Partial
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Threat Analysis
|
||
|
|
|
||
|
|
### Threat Likelihood Assessment
|
||
|
|
|
||
|
|
| Threat | Likelihood | Rationale |
|
||
|
|
|--------|------------|-----------|
|
||
|
|
| PIN Guessing | Medium | PINs can be guessed with sufficient attempts |
|
||
|
|
| Biometric Spoofing | Low | Hardware-backed biometrics with liveness detection |
|
||
|
|
| Session Hijacking | Low | Secure session management |
|
||
|
|
| Privilege Escalation | Low | Strong RBAC enforcement |
|
||
|
|
| Data Theft | Medium | Device theft is possible |
|
||
|
|
| Data Tampering | Low | Integrity checks and signatures |
|
||
|
|
| Man-in-the-Middle | Low | TLS and certificate pinning |
|
||
|
|
| Device Theft | Medium | Physical device theft possible |
|
||
|
|
| Code Injection | Low | Input validation and secure coding |
|
||
|
|
| Reverse Engineering | Medium | Application can be analyzed |
|
||
|
|
|
||
|
|
### Threat Impact Assessment
|
||
|
|
|
||
|
|
| Threat | Impact | Rationale |
|
||
|
|
|--------|--------|-----------|
|
||
|
|
| Authentication Bypass | High | Complete system compromise |
|
||
|
|
| Data Theft | High | Sensitive data exposure |
|
||
|
|
| Data Tampering | High | Data integrity compromise |
|
||
|
|
| Privilege Escalation | High | Unauthorized access |
|
||
|
|
| Network Interception | High | Communication compromise |
|
||
|
|
| Device Compromise | High | Complete device control |
|
||
|
|
| Service Disruption | Medium | Operational impact |
|
||
|
|
|
||
|
|
### Risk Assessment
|
||
|
|
|
||
|
|
| Threat | Likelihood | Impact | Risk Level | Priority |
|
||
|
|
|--------|------------|--------|-----------|----------|
|
||
|
|
| T-AUTH-001: PIN Guessing | Medium | High | High | P1 |
|
||
|
|
| T-AUTH-002: Biometric Spoofing | Low | High | Medium | P2 |
|
||
|
|
| T-AUTH-003: Session Hijacking | Low | High | Medium | P2 |
|
||
|
|
| T-AUTHZ-001: Privilege Escalation | Low | High | Medium | P1 |
|
||
|
|
| T-DATA-001: Data Theft | Medium | High | High | P1 |
|
||
|
|
| T-DATA-002: Data Tampering | Low | High | Medium | P1 |
|
||
|
|
| T-NET-001: Man-in-the-Middle | Low | High | Medium | P1 |
|
||
|
|
| T-DEV-001: Device Theft | Medium | High | High | P1 |
|
||
|
|
| T-APP-001: Code Injection | Low | High | Medium | P1 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Mitigation Strategies
|
||
|
|
|
||
|
|
### Authentication Mitigations
|
||
|
|
- ✅ Multi-factor authentication
|
||
|
|
- ✅ Hardware-backed biometrics
|
||
|
|
- ✅ PIN complexity and lockout
|
||
|
|
- ✅ Session management
|
||
|
|
- ✅ Re-authentication requirements
|
||
|
|
|
||
|
|
### Authorization Mitigations
|
||
|
|
- ✅ Role-based access control
|
||
|
|
- ✅ Principle of least privilege
|
||
|
|
- ✅ Permission validation
|
||
|
|
- ✅ Access control enforcement
|
||
|
|
- ✅ Audit logging
|
||
|
|
|
||
|
|
### Data Protection Mitigations
|
||
|
|
- ✅ Encryption at rest (AES-256-GCM)
|
||
|
|
- ✅ Encryption in transit (TLS 1.2+)
|
||
|
|
- ✅ Hardware-backed key storage
|
||
|
|
- ✅ Data integrity checks
|
||
|
|
- ✅ Digital signatures
|
||
|
|
|
||
|
|
### Network Mitigations
|
||
|
|
- ✅ TLS encryption
|
||
|
|
- ✅ Certificate pinning
|
||
|
|
- ✅ VPN requirements
|
||
|
|
- ✅ Network monitoring
|
||
|
|
- ✅ Rate limiting
|
||
|
|
|
||
|
|
### Device Mitigations
|
||
|
|
- ✅ Device encryption
|
||
|
|
- ✅ Remote wipe capability
|
||
|
|
- ✅ Device hardening
|
||
|
|
- ✅ Security monitoring
|
||
|
|
- ✅ MDM/UEM management
|
||
|
|
|
||
|
|
### Application Mitigations
|
||
|
|
- ✅ Input validation
|
||
|
|
- ✅ Secure coding practices
|
||
|
|
- ✅ Code review
|
||
|
|
- ✅ Vulnerability scanning
|
||
|
|
- ⚠️ Code obfuscation (partial)
|
||
|
|
- ⚠️ Anti-tampering (partial)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Residual Risk
|
||
|
|
|
||
|
|
### High Residual Risk
|
||
|
|
- **Device Compromise:** Physical access to compromised device
|
||
|
|
- **Reverse Engineering:** Application analysis and key extraction
|
||
|
|
- **Side-Channel Attacks:** Timing and power analysis attacks
|
||
|
|
|
||
|
|
### Medium Residual Risk
|
||
|
|
- **PIN Guessing:** With sufficient time and access
|
||
|
|
- **Data Theft:** If device is stolen and authentication bypassed
|
||
|
|
|
||
|
|
### Low Residual Risk
|
||
|
|
- **Network Attacks:** With TLS and VPN protection
|
||
|
|
- **Code Injection:** With input validation
|
||
|
|
- **Session Hijacking:** With secure session management
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Threat Monitoring
|
||
|
|
|
||
|
|
### Detection Capabilities
|
||
|
|
- **Failed Authentication:** Monitor authentication failures
|
||
|
|
- **Unauthorized Access:** Monitor access attempts
|
||
|
|
- **Anomalous Behavior:** Detect unusual patterns
|
||
|
|
- **Security Violations:** Detect policy violations
|
||
|
|
|
||
|
|
### Response Procedures
|
||
|
|
- **Automated Response:** Automatic threat response
|
||
|
|
- **Alert Generation:** Security alert generation
|
||
|
|
- **Incident Escalation:** Escalation procedures
|
||
|
|
- **Remediation:** Threat remediation
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Threat Model Maintenance
|
||
|
|
|
||
|
|
### Review Schedule
|
||
|
|
- **Quarterly Reviews:** Review threat model quarterly
|
||
|
|
- **After Major Changes:** Review after architecture changes
|
||
|
|
- **After Security Incidents:** Review after security incidents
|
||
|
|
- **Before Certification:** Review before security certification
|
||
|
|
|
||
|
|
### Update Procedures
|
||
|
|
1. Identify new threats
|
||
|
|
2. Assess threat likelihood and impact
|
||
|
|
3. Update threat model
|
||
|
|
4. Review mitigations
|
||
|
|
5. Update documentation
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## References
|
||
|
|
|
||
|
|
- [Security Architecture](SMOA-Security-Architecture.md)
|
||
|
|
- [Security Configuration Guide](SMOA-Security-Configuration-Guide.md)
|
||
|
|
- [Incident Response Plan](SMOA-Incident-Response-Plan.md)
|
||
|
|
- [Architecture Documentation](../architecture/ARCHITECTURE.md)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Document Owner:** Security Architect
|
||
|
|
**Last Updated:** 2024-12-20
|
||
|
|
**Status:** Draft - In Progress
|
||
|
|
**Classification:** Internal Use
|
||
|
|
**Next Review:** 2024-12-27
|
||
|
|
|