Potential problems

We are not building an ICS lab. We are building a convincing story about one, under severe resource constraints, for an audience that will try to break it in creative ways.

Common failure modes

  • VM fails to start under 0.5 GB RAM: the simulation stack is too heavy, services silently crash or never start

  • Services attempt to fetch dependencies at runtime and fail with no useful error (no internet inside the VM)

  • Race conditions on startup under resource contention: services come up in the wrong order, protocol interactions break

  • OVA rejected on upload: typically caused by UEFI boot, oversized disk image, or incorrect export settings

  • Debian 8 package gaps: packages available in modern repos may not exist or may be too old to behave as expected

  • Reboot wipes state: anything that wrote to disk during a session is gone, breaking challenges that rely on persistence

  • VirtualBox OVF export producing an OVA that re-imports incorrectly: test the import before submitting

Dependencies

Dependency

Notes

VMware Workstation

VM build environment

VirtualBox

Required for OVA export step only

Python 3

For deterministic simulator

Docker Engine

For micro-Docker option only (2-3 containers max)

Git

Repo cloning during VM build, not at runtime

Fewer runtime dependencies reduce the chances of a silent failure inside the VM.