HoneySat: A Network-based Satellite Honeypot Framework
Description
HoneySat: A Network-based Satellite Honeypot Framework
NDSS 2026 Artifact Evaluation - README
This artifact accompanies the NDSS 2026 paper:
HoneySat: A Network-based Satellite Honeypot Framework
The artifact provides a Dockerized version of HoneySat and evaluation scripts to reproduce the experiments in the paper.
-
ARTIFACT CONTENTS AND GOALS
What this artifact provides:
-
Dockerized HoneySat deployments for:
-
CSP-based satellite missions
-
CCSDS/YAMCS-based satellite missions
-
-
Evaluation utilities demonstrating:
-
Believable telemetry and telecommand handling
-
Realistic communication windows
-
Interaction capabilities
-
Logging functionality
-
Configurability and extensibility
-
Paper claims supported:
Claim C1: HoneySat deceives adversaries and logs activity.
-
E1.1: Believable telemetry
-
E1.2: Realistic communication windows
-
E1.3: Interactive capabilities
-
E1.4: Logging of interactions
Claim C2: HoneySat supports multiple satellite protocol ecosystems.
-
E2: Configurable CSP and CCSDS/YAMCS deployments
-
GETTING THE ARTIFACT
Artifact DOI:
https://doi.org/10.5281/zenodo.17548980
Extract the artifact:
tar xzpvf ndss-artifact-eval.tar.gz
cd ndss-artifact-eval
-
SYSTEM REQUIREMENTS
Hardware:
-
~25 GB free disk space
-
4 CPU cores
-
8 GB RAM
Software:
-
Linux system (verified on Ubuntu 24.04.2 LTS)
-
Docker with Docker Compose
Install instructions: https://docs.docker.com/engine/install/ -
Python 3.12 or newer
-
Python virtual environment (venv)
-
Bash
-
Telnet client
-
Modern web browser
Privileges needed:
-
Ability to bind local ports (80, 24, etc.)
-
Ability to run Docker
-
REPOSITORY LAYOUT
deployment/
Dockerized HoneySat services and configuration.
evaluation/
Python utilities and experiment scripts.
Python dependencies in evaluation/requirements.txt.
-
ENVIRONMENT SETUP
Create virtual environment:
python3 -m venv .
source bin/activate
Install Python dependencies:
python3 -m pip install -r evaluation/requirements.txt
(Optional) Configure Docker user:
sudo usermod -aG docker $USER
sudo reboot now
Verify:
docker ps
Start services (recommended: use convenience scripts):
./evaluation/experiment-1/run-experiment-csp.sh
./evaluation/experiment-1/run-experiment-ccsds.sh
-
QUICK START FOR PASS SIMULATIONS
HoneySat simulates realistic satellite communication windows.
Two helper scripts start HoneySat and schedule an imminent pass.
CSP-based honeypot:
./evaluation/experiment-1/run-experiment-csp.sh
CCSDS/YAMCS-based honeypot:
./evaluation/experiment-1/run-experiment-ccsds.sh
-
EXPERIMENT GUIDE
Assumptions:
-
Environment setup complete
-
Docker running
-
Commands executed from repository root
7.1. Experiment E1.1 - Believable Telemetry
Run:
./evaluation/experiment-1/run-experiment-ccsds.sh
Expected telemetry:
-
Voltage: ~8000 mV
-
Temperature: ~30 C
-
Current: ~74 mA
Supports claim C1.
7.2. Experiment E1.2 - Realistic Passes
Start:
./evaluation/experiment-1/run-experiment-csp.sh
Web interface:
http://localhost:80
Username: admin
Password: admin
Telnet interface:
telnet localhost 24
activate
Probe:
1: com_ping 10
Expected:
-
Responses only during predicted pass
-
Correct addressing: source 1, destination 10
Supports claim C1.
7.3. Experiment E1.3 - Interactive Capabilities
Once satellite is reachable:
1: obc_system [shell command]
Supports claim C1.
7.4. Experiment E1.4 - Logging Capabilities
Run:
python3 ./evaluation/experiment-1/python_dump_mongodb/dump_mongodb.py
Expected output:
-
Telecommands
-
Telemetry
-
Interaction metadata
-
Timestamps
Supports claim C1.
7.5. Experiment E2 - Customization and Extensibility
Navigate:
cd evaluation/experiment-2
Create configuration:
python3 ./honeysat.py [csp|ccsds] "SAT_NAME" "LOCATION"
Example:
python3 ./honeysat.py csp "BEESAT" "Berlin"
Start services:
python3 ./honeysat.py start [csp|ccsds] "SAT_NAME" "LOCATION"
Stop services:
python3 ./honeysat.py stop [csp|ccsds]
Supports claim C2.
Files
Files
(615.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:d858e78d1d176f54dfff522ddb3af841
|
615.3 MB | Download |