Analyzing Healthcare Interoperability Vulnerabilities: Formal Modeling and Graph-Theoretic Approach
Organizations: University of North Texas, Denton, TX, USA
Abstract
In a healthcare environment, the healthcare interoperability platforms based on HL7 FHIR allow concurrent, asynchronous access to a set of shared patient resources, which are independent systems, i.e., EHR systems, pharmacy systems, lab systems, and devices. The FHIR specification lacks a protocol for concurrency control, and the research on detecting a race condition only targets the OS kernel. The research on FHIR security only targets authentication and injection attacks, considering concurrent access to patient resources to be sequential. The gap in the research in this area is addressed through the introduction of FHIR Resource Access Graph (FRAG), a formally defined graph G = (P,R,E, λ, τ, S), in which the nodes are the concurrent processes, the typed edges represent the resource access events, and the race conditions are represented as detectable structural properties. Three clinically relevant race condition classes are formally specified: Simultaneous Write Conflict (SWC), TOCTOU Authorization Violation (TAV), and Cascading Update Race (CUR). The FRAG model is implemented as a three-pass graph traversal detection algorithm and tested against a time window-based baseline on 1,500 synthetic FHIR R4 transaction logs. Under full concurrent access (C2), FRAG attains a 90.0% F1 score vs. 25.5% for the baseline, a 64.5 pp improvement.
Figures & tables
| Approach | SWC | TAV | CUR | Primary barrier |
|---|---|---|---|---|
| DB row locking | Partial | No | No | Single-system only |
| ETag / opt. lock | If adopted | Partial | No | Inconsistent adoption |
| Pessimistic locking | Yes | Partial | Partial | HTTP statelessness |
| Event sourcing / CRDT | Yes | No | Better | Full system redesign |
| FHIR Subscriptions | N/A | N/A | Partial | Client adoption |
| FRAG (this paper) | Detect | Detect | Detect | — |
| EHR ( ) | Lab ( ) | |
| read | write | |
| AllergyIntolerance ( ) | ||
| read | ||
| CDS ( ) | ||
| Class | FRAG pattern | Clinical risk | Prop. |
|---|---|---|---|
| SWC | WRITE WRITE, | Lost prescription update | 1 |
| TAV | READ act, WRITE intervenes | Auth bypass | 2 |
| CUR | Stale READ, path | Contraindicated drug | 3 |
| Class | P | R | F1 | F1 | F1 |
|---|---|---|---|---|---|
| (FRAG) | (FRAG) | (FRAG) | (Base) | (pp) | |
| SWC | 97.4% | 98.7% | 98.0% | 99.2% | 1.2 |
| TAV | 99.7% | 100.0% | 99.9% | 98.8% | 1.1 |
| CUR | 33.9% | 53.5% | 41.5% | 98.4% | 56.9 |
| Overall | 72.5% | 85.5% | 78.5% | 98.8% | 20.3 |
| Class | P | R | F1 | F1 | F1 |
|---|---|---|---|---|---|
| (FRAG) | (FRAG) | (FRAG) | (Base) | (pp) | |
| SWC | 96.6% | 8.6% | 15.7% | 99.1% | 83.4 |
| TAV | 99.0% | 28.6% | 44.3% | 98.5% | 54.2 |
| CUR | 31.9% | 16.7% | 21.9% | 98.8% | 76.9 |
| Overall | 61.0% | 16.9% | 26.4% | 98.8% | 72.4 |
| Component | Tool | Purpose |
|---|---|---|
| Log Generation | Python + NumPy | Synthetic FHIR transaction logs |
| FRAG Construction | NetworkX DiGraph | Build directed access graph |
| Race Detection | Custom Python (Alg. 1) | 3-pass SWC/TAV/CUR detection |
| Baseline Scanner | Python sliding window | Time-window comparison |
| Evaluation | Custom Python (eval_v2) | Race-instance P/R/F1 |
| Visualization | Matplotlib + NetworkX | Graph plots, result charts |
Healthcare
Healthcare AI develops and evaluates models and systems for clinical care, medical research, public health, and healthcare operations.
See all 616 papers