Industry Healthcare
Methodology PASTA

Healthcare Example - Complete PASTA Walkthrough

This case study provides a complete, realistic walkthrough of threat modeling a healthcare patient portal using the PASTA methodology. You’ll see all seven stages applied with over fifty documented attack paths, two detailed attack trees, and a prioritized remediation plan.


The System: VitalCare Portal Patient Portal

VitalCare Portal is a patient portal for a mid-sized healthcare network. Here’s the system at a glance:

AttributeDetail
OrganizationMid-sized healthcare network
Providers200 physicians across 15 clinics
Patient Base~500,000 patients
Key FunctionsSchedule appointments, view test results, message providers, manage prescriptions, access medical records
HostingAWS (cloud-native architecture)
Regulatory ContextHIPAA (Protected Health Information)

The portal handles protected health information (PHI) subject to HIPAA regulations. A breach could expose sensitive medical data, result in significant fines, and damage patient trust irreparably.

Let’s threat model it.


Stage 1: Define Business Objectives

The first PASTA stage establishes what we’re protecting and why. Without business context, threat modeling becomes a technical exercise disconnected from organizational reality.

Business Drivers

VitalCare Portal exists to improve patient experience and operational efficiency. Patients expect digital access to their healthcare information. Staff spend less time on phone calls when patients can self-serve. The portal differentiates the practice from competitors still using paper-based processes.

Revenue implications are significant. Patient satisfaction scores affect reimbursement rates. A competing health system launched their portal two years ago and has seen patient retention improve by 15%. The organization can’t afford to be left behind.

Security Objectives

PriorityObjectiveRationale
PrimaryProtect patient health information (PHI)HIPAA requirement; patient trust; breach affects real people
SecondaryEnsure availabilityPatients need access for urgent appointments and critical results
TertiaryMaintain integrityMedical records must be accurate; errors could affect treatment

Consequence of Failure

HIPAA fines range from $100 to $50,000 per record depending on negligence level, with annual caps of $1.5 million per violation category. With 500,000 patient records, theoretical exposure is enormous, though practical enforcement rarely reaches maximum levels.

Impact TypeEstimated Cost
HIPAA FinesUp to $1.5M per violation category annually
Breach Notification~$5 per patient × 500K = $2.5M
Legal Fees$10-50M
Class Action$50-200M
Operational Downtime$16.8M (2-4 week outage)
Customer Churn$50M+ annual revenue loss (30-50% leave)
Total Potential Exposure$50M-$200M + potential business closure

Patient harm is harder to quantify but more important. Medical identity theft can follow victims for years. Sensitive diagnoses (HIV, mental health, substance abuse) being exposed can destroy lives.

Risk Appetite

Risk TypeToleranceJustification
PHI BreachesZeroRegulatory, ethical, and business-critical
Availability (maintenance)Up to 1 hourAcceptable with advance notice
Extended outages (business hours)ZeroAffects patient care
Clinical data integrityZeroErrors could harm patients
Administrative data integrityLowInconvenient but not dangerous

The organization has zero tolerance for PHI breaches. This doesn’t mean zero risk exists (that’s impossible), but it means no known, unmitigated risks that could reasonably lead to PHI exposure are acceptable. Budget will be found for any control necessary to address credible PHI threats.

Key Stakeholders

RoleResponsibility
CISOUltimate security accountability; sponsors threat modeling
CIOTechnical platform ownership; team provides details
Chief Medical OfficerClinical concerns representation
Compliance OfficerHIPAA obligations; validates regulatory coverage
General CounselLegal risk management
CFOSecurity spending approval
Practice ManagerDay-to-day operations

Stage 2: Define Technical Scope

With business context established, Stage 2 maps the technical attack surface.

System Architecture

VitalCare Portal uses a modern cloud-native architecture hosted on AWS. The frontend is a React single-page application served from CloudFront CDN. The backend consists of Node.js microservices running in ECS containers. Data lives in PostgreSQL on RDS with Redis for caching and session storage. Documents and images are stored in S3.

Component Inventory

LayerComponents
ApplicationPatient web portal, Provider admin interface, Mobile apps (iOS/Android), API Gateway (AWS)
Backend ServicesAuthentication, Patient management, Appointment scheduling, Messaging, Prescriptions, Documents, Notifications, Audit logging
Data StoresPostgreSQL (RDS), Redis (cache/sessions), S3 (documents), CloudWatch (logs)
InfrastructureAWS VPC, Application Load Balancer, ECS Fargate, RDS Multi-AZ, WAF

Third-Party Dependencies

ServiceFunctionRisk Consideration
Auth0Authentication/identityCritical; if compromised, attackers gain access to everything
TwilioSMS (2FA codes, reminders)Could enable 2FA bypass or social engineering
SendGridEmail (notifications, password resets)Common attack vector for credential theft
Epic EHRClinical data sync (HL7 FHIR)Bidirectional; could propagate attacks either direction

Data Classification

ClassificationData TypesProtection Level
PHI (Critical)Medical records, diagnoses, medications, lab results, clinical notes, provider messagesHighest (HIPAA-mandated)
PII (High)Demographics, contact info, SSN, insuranceHigh (enables identity theft)
Authentication (High)Password hashes, 2FA seeds, session tokens, API keysHigh (enables account takeover)
Operational (Medium)Appointment history, logs, analyticsStandard
Public (Low)Provider names, office locationsNone required

Network Boundaries

BoundaryLocationConcern
Internet-facingCloudFront, API GatewayWhere external attackers first interact
VPC boundaryAWS-internal vs public internetServices in private subnets shouldn’t be directly accessible
Database boundaryApplication services vs data storesDatabase access only from authorized services
EHR boundaryVitalCare Portal vs EpicHighly sensitive clinical data crossing systems
Third-party boundaryAuth0, Twilio, SendGridTrust in external organizations’ security

Stage 3: Application Decomposition

Stage 3 creates detailed data flow diagrams and identifies every trust boundary where security assumptions change.

Primary Data Flows

FlowPathTrust Boundaries Crossed
Patient views recordsApp → CloudFront → API Gateway → Auth Service → Records Service → PostgreSQL/S3Internet→CloudFront, Gateway→Services, Services→Data, Internal→Auth0
Patient messages providerApp → API Gateway → Messaging Service → PostgreSQL → Notification Service → TwilioSame as above, plus Internal→Twilio
Clinical data syncEpic ↔ Sync Service ↔ Secrets Manager ↔ PostgreSQLOrganization→EHR vendor, Credentials→Application

Trust Boundary Analysis

Seven critical trust boundaries exist in this system:

#BoundaryKey AssumptionsValidation Required
1Internet → CloudFrontNothing is trustedInput validation, authentication
2CloudFront → API GatewaySome protection existsRequest validation still needed
3API Gateway → ServicesUser is authenticatedAuthorization must be verified
4Services → PostgreSQLQueries are safeParameterized queries, least privilege
5Services → S3Access is controlledBucket policies, presigned URL expiration
6Services → RedisSessions are secureSession protection, encryption
7VitalCare Portal → External ServicesThird parties are secureCredential protection, vendor monitoring

Asset Inventory

PriorityAssets
CriticalPHI database (500K records), Epic integration credentials, Auth0 configuration, Database encryption keys, Backup encryption keys
HighSession tokens (Redis), Third-party API keys, SSL/TLS private keys, AWS IAM credentials
MediumAudit logs, Aggregated analytics, System configuration

Stage 4: Threat Analysis

Stage 4 identifies threats at multiple levels using STRIDE, industry intelligence, and attacker personas.

Industry Threat Intelligence

Healthcare is the most targeted industry for data breaches. The numbers are stark:

MetricValue
Healthcare organizations hit by ransomware (2023)67%
Average healthcare breach cost$10.9M (highest of any industry)
PHI value on dark markets$250-$1,000 per record

Common attack vectors include phishing (still the primary initial access method), exploitation of unpatched software, credential theft and reuse, insider threats (intentional and accidental), and third-party vendor compromises.

STRIDE Analysis: Authentication Service

Spoofing threats: An attacker could obtain valid credentials through phishing, credential stuffing (using passwords from other breaches), or brute force. Session tokens could be stolen through XSS attacks or insecure transmission. Auth0 itself could be compromised, though this is lower probability given their security focus.

Tampering threats: An attacker with access could modify authentication logic to bypass checks. JWT tokens without proper validation could be tampered with. OAuth flows could be manipulated if redirect URIs aren’t strictly validated.

Repudiation threats: Without adequate logging, users could deny login attempts. Attackers could cover tracks by manipulating or deleting audit logs. Legitimate users might not be able to prove they didn’t authorize certain actions.

Information disclosure threats: Authentication errors might reveal valid usernames. Failed login attempts might indicate valid accounts. Debug information might expose internal details. Password reset flows might confirm email addresses exist.

Denial of service threats: Account lockout mechanisms could be weaponized (locking out legitimate users). Excessive login attempts could exhaust resources. Auth0 rate limits could be triggered, affecting all users.

Elevation of privilege threats: Horizontal escalation where a user accesses another patient’s data. Vertical escalation where a patient gains provider privileges. Privilege escalation within Auth0 configuration giving users unintended roles.

STRIDE Analysis: Records Service

Spoofing: Requests might not have their user identity verified after passing the gateway. Service-to-service calls might lack proper authentication.

Tampering: SQL injection could modify database records. API parameter manipulation could alter what data is requested or modified. File uploads could contain malicious content.

Repudiation: Insufficient audit logging of record access. Bulk exports without adequate tracking.

Information disclosure: IDOR (Insecure Direct Object Reference) allowing access to other patients’ records. Excessive data in API responses. Error messages revealing system information. Logging sensitive data.

Denial of service: Expensive queries exhausting database resources. Large file operations consuming memory. Malformed requests causing service crashes.

Elevation of privilege: Provider impersonation to access restricted records. Administrative function access through parameter manipulation.

Attacker Persona Analysis

PersonaApproachKey Question
Opportunistic ExternalAutomated scans, credential stuffing, known CVEsWill they find easy wins?
Targeted ExternalRecon on employees, spearphishing, weeks/months of effortWhat if someone really wants our data?
Malicious InsiderAbuse legitimate access, avoid detection, export dataWhat can a disgruntled employee do?
Compromised InsiderStolen credentials, legitimate access patternsWhat if a laptop is infected with malware?

Threat Summary (Top 20 by Risk Score)

IDThreatCategoryLIRisk
THR-001Credential Stuffing AttackSpoofing5420
THR-006Ransomware AttackDoS/Tampering4520
THR-004IDOR in Records APIInfo Disclosure4416
THR-021Mass Data Exfiltration via APIInfo Disclosure4416
THR-026Database Backup ExposureInfo Disclosure4416
THR-046Dev Database with Production DataInfo Disclosure4416
THR-009AWS Key CompromiseElevation3515
THR-010Phishing Attack on StaffSpoofing5315
THR-022S3 Bucket MisconfigurationInfo Disclosure3515
THR-047CI/CD Pipeline CompromiseTampering3515
THR-048Dependency VulnerabilityVarious3515
THR-002Session Hijacking via XSSSpoofing3412
THR-007Insider PHI SnoopingInfo Disclosure4312
THR-008Third-Party Credential TheftSpoofing3412
THR-011Brute Force AttackSpoofing3412
THR-012Password Reset Token PredictionSpoofing3412
THR-027Debug Endpoint ExposureInfo Disclosure3412
THR-031Security Group OverpermissionVarious3412
THR-032CloudWatch Logs Containing PHIInfo Disclosure3412
THR-041Incomplete Audit LoggingRepudiation3412

Additional Threats (THR-011 through THR-050):

The complete threat model documents 50 significant threats across four categories:

CategoryThreat RangeExamples
AuthenticationTHR-011 to THR-020Brute force, JWT bypass, OAuth manipulation, 2FA bypass, session fixation
Data AccessTHR-021 to THR-030Mass exfiltration, S3 misconfiguration, cache poisoning, path traversal
InfrastructureTHR-031 to THR-040Container escape, RDS exposure, security group issues, metadata exploitation
OperationalTHR-041 to THR-050Logging gaps, backup failures, staff termination delays, dependency CVEs

Stage 5: Vulnerability and Weakness Analysis

Stage 5 maps concrete weaknesses to the threats identified. This is where theoretical threats meet actual system state.

Code Review Findings

FindingWeaknessRelated Threat
SQL string concatenation in legacy searchParameterized queries not usedTHR-003
Authorization relies on session data onlyNo database revalidationTHR-004
Error handlers return stack tracesEnvironment detection bugMultiple (recon)
Missing per-endpoint rate limitingOnly global limits existTHR-001, THR-011

Configuration Issues

IssueRiskSeverity
Temporary S3 bucket lacks standard policyOverpermissive IAM accessMedium
RDS backups retain only 7 days (policy requires 30)Recovery gapMedium
Security groups overly permissiveIncreased blast radiusMedium
CloudWatch logs unencryptedPHI in error messages possibleMedium
IAM roles use AWS managed policiesBroader permissions than neededMedium

Dependency Scan Results

CategoryFinding
npm vulnerabilities37 total (8 high severity)
High severity detailPrototype pollution in JSON parsing library
Node.js versionTwo minor versions behind
Redis versionOne major version behind (session storage affected)
PostgreSQL versionCurrent (good)

Penetration Testing Results

StatusFindings
RemediatedReflected XSS in error pages, missing security headers
Partially FixedVerbose error messages
Pending (Medium)Missing rate limiting on password reset
Pending (High)IDOR vulnerability in appointment API

Weakness-to-Threat Mapping

ThreatRoot WeaknessFix Approach
THR-003 (SQL Injection)Legacy search module string concatenationConvert to parameterized queries
THR-004 (IDOR)Session-based authorization without DB revalidationAdd database revalidation
THR-006 (Ransomware)Missing intrusion detection, backup gaps, overpermissive IAMDefense in depth
THR-009 (AWS Keys)Some keys in environment variablesMigrate to Secrets Manager
THR-026 (Backup Exposure)Retention misconfiguration, encryption gapsFix policies, verify encryption

Stage 6: Attack Modeling

Stage 6 creates detailed attack trees showing how attackers could achieve high-value goals. This connects individual threats into complete attack paths.

Attack Tree 1: Steal PHI Database

Goal: Exfiltrate complete PHI database (500,000 records)

PathDescriptionDifficultyPrerequisitesDetection
ASQL Injection (THR-003) → Extract schema → Exfiltrate tablesMediumNone (public endpoint)WAF, query monitoring
BAWS Credential Theft (THR-009) → Access RDS directly → ExportMedium-HighCredential exposureCloudTrail, GuardDuty
CPhish Developer (THR-010) → Dev environment access → Exfiltrate or backdoorMediumTarget identificationVPN monitoring, access logs
DCredential Stuffing (THR-001) → IDOR (THR-004) → Script extractionLow-MediumLeaked credentialsRate limiting, access patterns
EBackup Theft (THR-026) → Download backups → DecryptMediumBackup infrastructure knowledgeAccess logs

Critical Chokepoint Analysis: Database access controls appear in multiple paths. Strengthening database authentication, implementing query monitoring, and eliminating direct database access from non-essential systems would disrupt several attack paths simultaneously.

Credential hygiene affects multiple paths. Proper secrets management, phishing resistance, and credential monitoring provide cross-cutting protection.

Attack Tree 2: Ransomware Attack

Goal: Encrypt systems and demand ransom for recovery

PhaseActivitiesDetection Points
1. Initial AccessPhishing email, vulnerable service, or compromised vendorEmail filtering, vulnerability scans, vendor monitoring
2. Establish FootholdDeploy backdoor, disable EDR, establish C2EDR alerts, C2 traffic detection
3. Lateral MovementMap network, identify backups/DCs, harvest credsNetwork scanning alerts, unusual auth
4. PreparationDisable backups, stage ransomware, exfiltrate dataBackup failure alerts, mass file staging
5. ExecutionSimultaneous encryption, ransom demandToo late for prevention; containment critical

Kill Chain Disruption Points

PhaseDisruption Controls
Initial AccessEmail filtering, phishing training, patch management, vendor security requirements
FootholdEndpoint detection and response (EDR), application whitelisting
Lateral MovementNetwork segmentation, privileged access management, credential hygiene
PreparationBackup monitoring, isolated/immutable backups, deletion detection
ExecutionRapid detection and isolation, incident response readiness

Stage 7: Risk and Impact Analysis

Stage 7 prioritizes threats and creates an actionable remediation plan.

Risk Priority Summary

PriorityScore RangeCountTimelineThreats
Critical20-252ImmediateTHR-001, THR-006
High15-19930 daysTHR-004, THR-009, THR-010, THR-021, THR-022, THR-026, THR-046, THR-047, THR-048
Medium10-141890 daysSession hijacking, auth weaknesses, config issues, operational gaps
Low<1022MonitorVarious lower-priority threats

Business Impact Quantification

For THR-001 (Credential Stuffing), assume successful attacks compromise 0.1% of accounts monthly (500 accounts). Each compromised account potentially exposes that patient’s PHI. Breach notification costs run approximately $5 per affected patient. HIPAA fines for willful neglect not corrected could reach $50,000 per violation. With 6,000 compromises annually, potential exposure is $300,000 to $300M depending on severity classification and enforcement approach.

For THR-006 (Ransomware), the healthcare average ransom demand is $1.27M. Downtime costs run approximately $7,900 per minute for healthcare organizations. A two-week recovery (typical for healthcare ransomware) costs $159M in downtime alone. Add remediation costs, legal fees, notification, and reputation damage.

For THR-004 (IDOR), a single researcher discovering this publicly could lead to disclosure, regulatory investigation, mandatory remediation, and potential fines. Mass exploitation before discovery could affect thousands of patients.

Mitigation Plan

Immediate Actions (Week 1-2)

ThreatMitigationOwnerCost
THR-001 (Credential Stuffing)Breach detection API, mandatory 2FA, CAPTCHA, IP rate limitingSecurity$15,000
THR-004 (IDOR)Patch authorization checks, add IDOR testing to CI/CD, API reviewDevelopment$12,000
THR-003 (SQL Injection)Rewrite legacy search with parameterized queries, deploy WAF rulesDevelopment$3,000

30-Day Actions

ThreatMitigationOwnerCost
THR-006 (Ransomware)Deploy EDR, network segmentation, immutable backups, tabletop exerciseSecurity + IT$200,000
THR-009 (AWS Keys)Migrate to Secrets Manager, automated rotation, GuardDuty, IAM reviewDevOps$18,000
THR-046 (Dev Data)Data masking implementation, policy prohibiting prod data in devDevelopment$30,000

90-Day Actions

Address remaining medium-priority threats through systematic remediation. Implement comprehensive logging and monitoring improvements. Conduct security awareness training focused on phishing. Complete dependency vulnerability remediation. Establish regular penetration testing schedule.

Ongoing Activities

Monthly vulnerability scanning and remediation. Quarterly access reviews. Annual penetration testing. Continuous security awareness training. Regular threat model updates.

Risk Treatment Decisions

DecisionThreatRationale
AcceptTHR-022 (GraphQL introspection)Info exposed not sensitive enough to justify disabling useful debugging; review annually
TransferGeneral breach liabilityCyber insurance ($10M coverage); doesn’t eliminate need for controls
MitigateAll critical and high risksPer mitigation plan above
EliminateTHR-046 (Dev Database with Production Data)Data masking ensures no production PHI in dev environments

Residual Risk Assessment

ThreatBeforeAfterJustification
THR-001 (Credential Stuffing)208Breach detection + 2FA dramatically reduces successful attacks
THR-004 (IDOR)164Proper authorization eliminates the vulnerability
THR-006 (Ransomware)2012Defense in depth and recovery capability reduce impact
THR-009 (AWS Keys)156Proper secrets management and monitoring

Summary: Critical risk count drops from 2 to 0. High risk count drops from 9 to 3.

Budget Summary

PhaseCost
Immediate Actions (Week 1-2)$30,000
30-Day Actions$248,000
90-Day Actions$150,000
Ongoing Annual$200,000
First-Year Total$628,000

Compared to potential breach cost of $50M to $200M, this represents strong ROI. The 30-day actions alone address threats with combined potential impact exceeding $500M.


Summary

This healthcare threat model identifies 50 threats across authentication, data access, infrastructure, and operational domains. Three critical threats require immediate action, and the prioritized remediation plan addresses them within two weeks. The 30-day plan tackles high-priority threats including ransomware preparedness and credential management.

Key Findings

FindingImplication
Credential-based attacks pose highest immediate riskPassword reuse prevalence and ease of attack make this low-hanging fruit for attackers
Ransomware requires defense-in-depthNo single control provides adequate protection; layered defenses essential
IDOR vulnerabilities enable unauthorized PHI accessUrgent remediation needed; common and easily exploited
Third-party dependencies are significant trust boundariesVendor security posture directly affects VitalCare Portal security

The attack tree analysis reveals that database access controls and credential hygiene are critical chokepoints where investments disrupt multiple attack paths.

Total recommended first-year security investment: $628,000 against potential breach exposure of $50M to $200M plus business continuity impact.


Part 3 Complete | Continue to Part 4 →