Skip to content

Tool for interacting with data diode(s) via command-line interface (CLI).

License

Notifications You must be signed in to change notification settings

acep-uaf/data-diode

Repository files navigation

Data Diode

Scripts for verifying TCP passthrough functionality.

Development Instructions

Tip

This project utilizes go for module management. You can find installation instructions via relevant operating system documentation.

  • Clone repository: gh repo clone acep-uaf/data-diode
  • Source navigation: cd data-diode
  • Build binary: make
  • CLI: ./diode [options...]

Branch Management

  • main → production ready environment.
  • dev → testing changes to be merged into main.

Directory Structure

.
├── config
├── docker-compose.yaml
├── Dockerfile
├── docs
├── go.mod
├── go.sum
├── insights
├── main.go
├── Makefile
├── README.md
├── sample
└── utility

5 directories, 7 files

Architecture Diagram

graph LR
    A("Subscribe (MQTT)") -->|TCP Client|B(Data Diode) -->|TCP Server|C("Publish (MQTT)")

Loading

Note

Operational Technology (OT) vs. Information Technology (IT) system boundaries.

User Stories

Scenario Planning

  1. Power Plant Operator
  2. Information Security Auditor
  3. Energy Awareness Application Developer
  4. Community Member

Threat Model1

  • Tactics
  • Techniques
  • Procedures

System Benchmarking

Experimental Design

Research Question: Can you replicate an OT (private) system state published via the MQTT protocol to an IT (public) environment through a data diode?

Footnotes

  1. https://csrc.nist.gov/glossary/term/tactics_techniques_and_procedures