You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SkyLink is a connected aircraft services platform providing real-time telemetry ingestion, weather data, and contact synchronization for commercial aviation. The platform follows Security by Design principles with multi-layer authentication, defense in depth, and privacy by design.
1.2 Functional Decomposition
The service provides the following capabilities:
Telemetry Ingestion: Real-time reception of aircraft operational data (speed, altitude, fuel, GPS position)
Weather Services: Geolocation-based weather and air quality data using external APIs
Contact Synchronization: Google Contacts retrieval via OAuth 2.0 for crew communication
List of data stored or in transit within the service.
Data Type
Classification
Storage
Notes
Aircraft UUID
Internal
Memory/Transit
Technical identifier
Telemetry Data (speed, altitude, fuel, engine temp)
Confidential
Memory
Reveals flight patterns and aircraft state
GPS Position
Confidential (PII)
Memory
Sensitive location data - rounded to 4 decimals (~11m) to minimize precision
Google Contacts
Confidential (PII)
Transit only
Read-only via Google People API, not persisted
Google OAuth Tokens
Restricted
PostgreSQL
AES-256-GCM encrypted at rest
JWT Tokens
Restricted
Transit
RS256 signed, 15-minute expiry
mTLS Certificates
Restricted
Filesystem
X.509, CA-signed, stored securely
Logs
Restricted
Filesystem/STDOUT
No PII - only trace_id for correlation
Network Metadata (IP, User-Agent)
Internal
Memory
Pseudonymized if exported for analysis
Data Flow Classification
Flow
Encryption
Authentication
Authorization
Aircraft → Gateway
mTLS (TLS 1.2+)
X.509 certificate
JWT claims
Gateway → Services
Internal network
None (trusted)
N/A
Services → External APIs
HTTPS
API keys / OAuth
Scope-limited
Services → Database
Internal network
Credentials
Role-based
3. Threat Actors
3.1 External Threat Actors
Actor
Motivation
Capability
Target
Nation-State
Espionage, disruption
HIGH
Flight data, infrastructure
Cybercriminals
Financial gain
MEDIUM
Credentials, PII
Hacktivists
Ideology, publicity
LOW-MEDIUM
Service availability
Competitors
Industrial espionage
MEDIUM
Proprietary data
3.2 Internal Threat Actors
Actor
Motivation
Capability
Target
Malicious Insider
Financial, revenge
HIGH
All data, credentials
Compromised Account
Exploited by external
VARIES
Depends on privileges
Negligent Employee
None (accidental)
LOW
Misconfigurations
3.3 Supply Chain Threats
Vector
Risk
Mitigation
Compromised Dependencies
Backdoors, vulnerabilities
SCA (pip-audit), SBOM
Container Image Tampering
Malicious code injection
Image signing (Cosign)
CI/CD Pipeline Compromise
Unauthorized deployments
Protected branches, secrets management
4. STRIDE Analysis
4.1 Spoofing (Identity)
ID
Threat
Impact
Likelihood
Mitigation
Status
S1
Aircraft identity spoofing
MAXIMUM
Medium
mTLS with X.509 certificates, CN validation
✅ Implemented
S2
User identity spoofing
HIGH
Medium
JWT RS256 + mTLS cross-validation (CN == sub)
✅ Implemented
S3
Compromised Certificate Authority
MAXIMUM
Low
CA isolation, HSM storage (recommended)
⚠️ Partial
S4
Stolen aircraft private key
HIGH
Low
HSM storage on aircraft, certificate rotation
📝 Documented
S5
JWT token theft
HIGH
Medium
Short expiry (15 min), HTTPS only
✅ Implemented
4.2 Tampering (Integrity)
ID
Threat
Impact
Likelihood
Mitigation
Status
T1
Telemetry data modification in transit
MAXIMUM
Medium
mTLS integrity, TLS 1.2+
✅ Implemented
T2
JWT token modification
HIGH
Low
RS256 signature verification
✅ Implemented
T3
Database tampering
HIGH
Low
Access controls, network isolation
✅ Implemented
T4
Supply chain attack (malicious dependency)
MAXIMUM
Medium
SBOM, SCA, image signing, Gitleaks
✅ Implemented
T5
Log tampering
MEDIUM
Low
Centralized logging (recommended)
⚠️ Partial
T6
Configuration tampering
HIGH
Low
Environment variables, protected branches
✅ Implemented
4.3 Repudiation (Non-Repudiation)
ID
Threat
Impact
Likelihood
Mitigation
Status
R1
Denied authentication attempts
MEDIUM
Medium
Audit logging
❌ Not Implemented
R2
Denied data access
MEDIUM
Medium
Audit logging
❌ Not Implemented
R3
Deleted or modified logs
HIGH
Low
Immutable log storage
❌ Not Implemented
R4
Timestamp manipulation
MEDIUM
Low
Server-side timestamps
✅ Implemented
4.4 Information Disclosure (Confidentiality)
ID
Threat
Impact
Likelihood
Mitigation
Status
I1
OAuth token leak (logs, CI, exposed variables)
MAXIMUM
Medium
AES-256-GCM encryption, no logging
✅ Implemented
I2
PII in logs
HIGH
Medium
Structured logging, PII filtering
✅ Implemented
I3
GPS precision leak (tracking)
HIGH
Medium
4-decimal rounding (~11m accuracy)
✅ Implemented
I4
Verbose error messages
MEDIUM
Medium
Generic error responses
✅ Implemented
I5
Secrets in repository
MAXIMUM
Low
Gitleaks scanning, .gitignore
✅ Implemented
I6
Excessive OAuth scope
HIGH
Low
Minimal scope (contacts.readonly)
✅ Implemented
I7
External API data leak (WeatherAPI)
MEDIUM
Low
Geohash/rounding for location
✅ Implemented
4.5 Denial of Service (Availability)
ID
Threat
Impact
Likelihood
Mitigation
Status
D1
API flood / DDoS
HIGH
High
Rate limiting (60/min per identity)
✅ Implemented
D2
Large payload attack
MEDIUM
Medium
64KB payload limit
✅ Implemented
D3
Telemetry storm (fleet event flood)
MEDIUM
Medium
Idempotency, rate limiting
✅ Implemented
D4
External service outage (Weather/Google)
MEDIUM
Medium
Demo mode fallback
✅ Implemented
D5
Database exhaustion
MEDIUM
Low
Connection pooling, limits
⚠️ Partial
D6
CI/CD pipeline failure
HIGH
Medium
Rollback capability
⚠️ Partial
4.6 Elevation of Privilege (Authorization)
ID
Threat
Impact
Likelihood
Mitigation
Status
E1
JWT claim manipulation
HIGH
Low
RS256 signature verification
✅ Implemented
E2
Cross-aircraft data access
HIGH
Medium
JWT subject validation, aircraft_id binding
✅ Implemented
E3
Container escape
MAXIMUM
Low
Non-root containers (UID 1000)
✅ Implemented
E4
RBAC bypass
HIGH
Medium
N/A - RBAC not implemented
❌ Not Implemented
E5
Service-to-service impersonation
MEDIUM
Low
Internal network isolation
✅ Implemented
5. Risk Matrix
5.1 Risk Calculation
Risk = Impact × Likelihood
│ Low Impact Medium High Maximum
────────────────┼─────────────────────────────────────────────────
Likely │ MEDIUM HIGH CRITICAL CRITICAL
Possible │ LOW MEDIUM HIGH CRITICAL
Unlikely │ LOW LOW MEDIUM HIGH
Rare │ ACCEPT LOW LOW MEDIUM
5.2 Current Risk Profile
Risk Level
Count
Examples
CRITICAL
0
-
HIGH
3
Audit logging gaps, RBAC missing, CA compromise
MEDIUM
5
Log tampering, external service outage
LOW
8
Various mitigated threats
ACCEPTED
2
Rare/low impact scenarios
6. Threat Scenarios
Detailed threat scenarios with business impact analysis.
Scenario 1: Data Leak via OAuth Token Exposure
Attribute
Value
Impact
MAXIMUM (Reputation), MEDIUM (Productivity), € (Financial)
CIA
Confidentiality
Attack Vector
Tokens exposed in CI logs, GitLab variables, or verbose logging
Consequence
Extraction of user contacts, potential GDPR violation
Mitigations Implemented:
AES-256-GCM encryption for stored tokens
No token logging (structured logging without PII)
GitLab/GitHub secrets management
Gitleaks scanning in CI
Scenario 2: Aircraft Spoofing via mTLS Bypass
Attribute
Value
Impact
HIGH (Reputation), HIGH (Productivity), €€ (Financial)
CIA
Integrity
Attack Vector
Weak mTLS validation, compromised CA, or stolen private key