SIMurai: Empowering Security Experimentation through Versatile SIM Implementation
SIMurai
SIMurai is a software platform designed for security-focused SIM exploration and experimentation. At its core, it offers a versatile software SIM implementation that can be integrated into various environments for advanced testing and development.
Key Features
SIMurai is designed to be SIM-compatible for 2G/3G/4G/5G:
- File system
- MILENAGE authentication
- Proactive commands
- Control at the TPDU layer
User features:
- Response rewriting
- Custom command handling
- Proactive app creation and registration
- JSON file system definition (e.g.
./swsim/data/usim.json
)
SIMurai can be employed as a SIM replacement in multiple contexts, including:
- Smartphones, via SIMtrace 2 cardem.
- FirmWire, using a custom peripheral.
- any PC/SC-compatible clients, such as srsUE or pySIM.
For more detailed usage scenarios and instructions, please refer to the SIMurai Artifact Evaluation Repository. It contains instructions, scripts, and PCAPs to replicate the experiments from our paper.
See how SIMurai works with pySIM, like any other PC/SC-connected SIM card:
Components
SIMurai consists of three primary components:
- swSIM: SIM card emulator.
- swICC: The underlying implementation of the smart card (ICC).
- swICC-pcsc: A virtual card reader for swICC-based cards. Compatible with the PC/SClite middleware that is used in most default PC/SC daemons (e.g. the debian/ubuntu
pcscd
package).