Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

STRIDE-based threat analysis for the SkyLink Connected Aircraft Platform


Document Information

AttributeValue
Service OwnerSkyLink Platform Team
Data ClassificationConfidential (PII, telemetry, credentials)
Highest Risk ImpactMAXIMUM
Document Version1.0
Last Review DateDecember 2025
Next Review DateJune 2026

Table of Contents

Service Description

Overview

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.

Functional Decomposition

The service provides the following capabilities:

Technical Architecture

                              Internet
                                 │
┌────────────────────────────────┴────────────────────────────────┐
│                      API GATEWAY (:8000)                        │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐   │
│  │ Security     │  │ Rate         │  │ JWT RS256 + RBAC     │   │
│  │ Headers      │  │ Limiting     │  │ Authentication &     │   │
│  │ (OWASP)      │  │ (slowapi)    │  │ Authorization        │   │
│  └──────────────┘  └──────────────┘  └──────────────────────┘   │
└─────────────┬──────────────┬──────────────┬─────────────────────┘
              │              │              │
              ▼              ▼              ▼
    ┌─────────────┐  ┌─────────────┐  ┌─────────────┐
    │ TELEMETRY   │  │ WEATHER     │  │ CONTACTS    │
    │ :8001       │  │ :8002       │  │ :8003       │
    └─────────────┘  └─────────────┘  └──────┬──────┘
                                             │
                                             ▼
                                     ┌─────────────┐
                                     │ PostgreSQL  │
                                     │ :5432       │
                                     └─────────────┘

Component Responsibilities

ComponentResponsibilitySecurity Controls
API GatewayAuthentication, authorization, routing, rate limitingmTLS, JWT RS256, RBAC, OWASP headers
Telemetry ServiceAircraft data ingestionIdempotency, input validation
Weather ServiceExternal API proxyDemo mode fallback
Contacts ServiceOAuth flow, Google APIToken encryption (AES-256-GCM)
PostgreSQLData persistenceNetwork isolation, credentials

Data Dictionary

List of data stored or in transit within the service.

Data TypeClassificationStorageNotes
Aircraft UUIDInternalMemory/TransitTechnical identifier
Telemetry Data (speed, altitude, fuel, engine temp)ConfidentialMemoryReveals flight patterns and aircraft state
GPS PositionConfidential (PII)MemorySensitive location data - rounded to 4 decimals (~11m) to minimize precision
Google ContactsConfidential (PII)Transit onlyRead-only via Google People API, not persisted
Google OAuth TokensRestrictedPostgreSQLAES-256-GCM encrypted at rest
JWT TokensRestrictedTransitRS256 signed, 15-minute expiry
mTLS CertificatesRestrictedFilesystemX.509, CA-signed, stored securely
LogsRestrictedFilesystem/STDOUTNo PII - only trace_id for correlation
Network Metadata (IP, User-Agent)InternalMemoryPseudonymized if exported for analysis

Data Flow Classification

FlowEncryptionAuthenticationAuthorization
Aircraft → GatewaymTLS (TLS 1.2+)X.509 certificateJWT claims
Gateway → ServicesInternal networkNone (trusted)N/A
Services → External APIsHTTPSAPI keys / OAuthScope-limited
Services → DatabaseInternal networkCredentialsRole-based

Threat Actors

External Threat Actors

ActorMotivationCapabilityTarget
Nation-StateEspionage, disruptionHIGHFlight data, infrastructure
CybercriminalsFinancial gainMEDIUMCredentials, PII
HacktivistsIdeology, publicityLOW-MEDIUMService availability
CompetitorsIndustrial espionageMEDIUMProprietary data

Internal Threat Actors

ActorMotivationCapabilityTarget
Malicious InsiderFinancial, revengeHIGHAll data, credentials
Compromised AccountExploited by externalVARIESDepends on privileges
Negligent EmployeeNone (accidental)LOWMisconfigurations

Supply Chain Threats

VectorRiskMitigation
Compromised DependenciesBackdoors, vulnerabilitiesSCA (pip-audit), SBOM
Container Image TamperingMalicious code injectionImage signing (Cosign)
CI/CD Pipeline CompromiseUnauthorized deploymentsProtected branches, secrets management

STRIDE Analysis

Spoofing (Identity)

IDThreatImpactLikelihoodMitigationStatus
S1Aircraft identity spoofingMAXIMUMMediummTLS with X.509 certificates, CN validation:white_check_mark: Implemented
S2User identity spoofingHIGHMediumJWT RS256 + mTLS cross-validation (CN == sub):white_check_mark: Implemented
S3Compromised Certificate AuthorityMAXIMUMLowCA isolation, HSM storage (recommended):warning: Partial
S4Stolen aircraft private keyHIGHLowHSM storage on aircraft, certificate rotation:memo: Documented
S5JWT token theftHIGHMediumShort expiry (15 min), HTTPS only:white_check_mark: Implemented

Tampering (Integrity)

IDThreatImpactLikelihoodMitigationStatus
T1Telemetry data modification in transitMAXIMUMMediummTLS integrity, TLS 1.2+:white_check_mark: Implemented
T2JWT token modificationHIGHLowRS256 signature verification:white_check_mark: Implemented
T3Database tamperingHIGHLowAccess controls, network isolation:white_check_mark: Implemented
T4Supply chain attack (malicious dependency)MAXIMUMMediumSBOM, SCA, image signing, Gitleaks:white_check_mark: Implemented
T5Log tamperingMEDIUMLowCentralized logging (recommended):warning: Partial
T6Configuration tamperingHIGHLowEnvironment variables, protected branches:white_check_mark: Implemented

Repudiation (Non-Repudiation)

IDThreatImpactLikelihoodMitigationStatus
R1Denied authentication attemptsMEDIUMMediumAudit logging:x: Not Implemented
R2Denied data accessMEDIUMMediumAudit logging:x: Not Implemented
R3Deleted or modified logsHIGHLowImmutable log storage:x: Not Implemented
R4Timestamp manipulationMEDIUMLowServer-side timestamps:white_check_mark: Implemented

Information Disclosure (Confidentiality)

IDThreatImpactLikelihoodMitigationStatus
I1OAuth token leak (logs, CI, exposed variables)MAXIMUMMediumAES-256-GCM encryption, no logging:white_check_mark: Implemented
I2PII in logsHIGHMediumStructured logging, PII filtering:white_check_mark: Implemented
I3GPS precision leak (tracking)HIGHMedium4-decimal rounding (~11m accuracy):white_check_mark: Implemented
I4Verbose error messagesMEDIUMMediumGeneric error responses:white_check_mark: Implemented
I5Secrets in repositoryMAXIMUMLowGitleaks scanning, .gitignore:white_check_mark: Implemented
I6Excessive OAuth scopeHIGHLowMinimal scope (contacts.readonly):white_check_mark: Implemented
I7External API data leak (WeatherAPI)MEDIUMLowGeohash/rounding for location:white_check_mark: Implemented

Denial of Service (Availability)

IDThreatImpactLikelihoodMitigationStatus
D1API flood / DDoSHIGHHighRate limiting (60/min per identity):white_check_mark: Implemented
D2Large payload attackMEDIUMMedium64KB payload limit:white_check_mark: Implemented
D3Telemetry storm (fleet event flood)MEDIUMMediumIdempotency, rate limiting:white_check_mark: Implemented
D4External service outage (Weather/Google)MEDIUMMediumDemo mode fallback:white_check_mark: Implemented
D5Database exhaustionMEDIUMLowConnection pooling, limits:warning: Partial
D6CI/CD pipeline failureHIGHMediumRollback capability:warning: Partial

Elevation of Privilege (Authorization)

IDThreatImpactLikelihoodMitigationStatus
E1JWT claim manipulationHIGHLowRS256 signature verification:white_check_mark: Implemented
E2Cross-aircraft data accessHIGHMediumJWT subject validation, aircraft_id binding:white_check_mark: Implemented
E3Container escapeMAXIMUMLowNon-root containers (UID 1000):white_check_mark: Implemented
E4RBAC bypassHIGHMediumN/A - RBAC not implemented:x: Not Implemented
E5Service-to-service impersonationMEDIUMLowInternal network isolation:white_check_mark: Implemented

Risk Matrix

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

Current Risk Profile

Risk LevelCountExamples
CRITICAL0-
HIGH3Audit logging gaps, RBAC missing, CA compromise
MEDIUM5Log tampering, external service outage
LOW8Various mitigated threats
ACCEPTED2Rare/low impact scenarios

Threat Scenarios

Detailed threat scenarios with business impact analysis.

Scenario 1: Data Leak via OAuth Token Exposure

AttributeValue
ImpactMAXIMUM (Reputation), MEDIUM (Productivity), € (Financial)
CIAConfidentiality
Attack VectorTokens exposed in CI logs, GitLab variables, or verbose logging
ConsequenceExtraction of user contacts, potential GDPR violation

Mitigations Implemented:

Scenario 2: Aircraft Spoofing via mTLS Bypass

AttributeValue
ImpactHIGH (Reputation), HIGH (Productivity), €€ (Financial)
CIAIntegrity
Attack VectorWeak mTLS validation, compromised CA, or stolen private key
ConsequenceFalsified telemetry injection, erroneous alerts, costly investigations

Mitigations Implemented:

Scenario 3: Supply Chain Attack

AttributeValue
ImpactMAXIMUM (Reputation), MAXIMUM (Productivity), €€€ (Financial)
CIAIntegrity
Attack VectorCompromised PyPI dependency, malicious container image
ConsequenceBackdoor in production, potential remote aircraft impact

Mitigations Implemented:

Scenario 4: DDoS / API Flood

AttributeValue
ImpactHIGH (Reputation), HIGH (Productivity), € (Financial)
CIAAvailability
Attack VectorUnprotected gateway, missing rate limits
ConsequenceService unavailability during flight operations

Mitigations Implemented:

Scenario 5: Replay Attack on Telemetry

AttributeValue
ImpactMEDIUM (Reputation), LOW (Productivity), € (Financial)
CIAIntegrity
Attack VectorReplay of captured telemetry events
ConsequenceDuplicate events, time series pollution

Mitigations Implemented:


Recommendations Summary

Implemented Controls

PriorityRecommendationStatus
MAXIMUMmTLS for aircraft authentication:white_check_mark: Implemented
MAXIMUMOAuth with least privilege (contacts.readonly):white_check_mark: Implemented
HIGHData minimization (GPS rounding, no contact persistence):white_check_mark: Implemented
HIGHJWT RS256 + rate limiting:white_check_mark: Implemented
HIGHLogs without PII, tracing, metrics:white_check_mark: Implemented
HIGHSupply chain security (SBOM, SCA, image signing):white_check_mark: Implemented

Pending Controls

PriorityRecommendationStatusPlanned
MAXIMUMSecrets in KMS/Vault:warning: Partial (env vars)Phase 4
HIGHAudit logging:x: Not ImplementedPhase 3
HIGHSecurity monitoring & alerting:x: Not ImplementedPhase 3
MEDIUMRBAC authorization:x: Not ImplementedPhase 4
MEDIUMKey rotation automation:x: Not ImplementedPhase 3

Gap Analysis

Current State vs Target State

Control AreaCurrentTargetGap
AuthenticationmTLS + JWT RS256SameNone
AuthorizationIdentity-based onlyRBACMissing roles/permissions
Audit LoggingNoneFull audit trailNot implemented
MonitoringBasic PrometheusGrafana dashboards + alertsDashboards missing
Key ManagementManualAutomated rotationScripts needed
Secrets ManagementEnvironment variablesKMS/VaultIntegration needed
Incident ResponseNoneDocumented playbookNot documented

Remediation Roadmap

PhaseFocusTimeline
Phase 2Threat Model + Security ArchitectureCurrent
Phase 3Monitoring, Key Management, Audit LoggingNext
Phase 4RBAC, Security Tests, KubernetesFollowing
Phase 5Compliance, Vault IntegrationFuture

Review History

DateVersionReviewerChanges
December 20251.0InitialInitial threat model based on STRIDE analysis

Appendix A: Security Controls Matrix

ControlSTRIDE CoverageImplementation
mTLSS, T, Iskylink/mtls.py
JWT RS256S, T, Eskylink/auth.py
Rate LimitingDskylink/rate_limit.py
Input ValidationT, EPydantic models
Security HeadersIskylink/middlewares.py
Token EncryptionIcontacts/encryption.py
GPS RoundingIskylink/models/
IdempotencyT, RTelemetry service
Container SecurityEDockerfile (non-root)
Supply ChainTCI/CD pipeline