swSIM, una tarjeta SIM totalmente software y de código abierto

Fuentes: swSIM: a software-only SIM card simulator

swSIM es un simulador de tarjeta SIM implementado íntegramente en software, sin dependencia de hardware SIM alguno. El proyecto, alojado en GitHub y desarrollado por Tomasz Lisowski, se presenta como la primera alternativa pública de este tipo: una tarjeta SIM emulada que se conecta al ordenador mediante el lector PC/SC swICC y que puede comunicarse con cualquier teléfono equipado con una ranura SIM.

El sistema funciona como un servidor de tarjeta swICC. Para ponerlo en marcha, el usuario debe clonar el repositorio con submódulos recursivos y compilarlo con make y gcc en Linux, sin bibliotecas externas. Tras iniciar el servidor de tarjetas swICC, se ejecuta el binario swsim.elf indicando la dirección IP, el puerto, un sistema de archivos de tarjeta y un archivo JSON que define el perfil USIM. La herramienta pcsc_scan, incluida en el paquete pcsc-tools, permite verificar la detección de la tarjeta emulada.

Una vez en funcionamiento, swSIM se conecta al teléfono a través de cualquier dispositivo capaz de reenviar mensajes entre la tarjeta y el terminal. Los autores probaron el sistema con SIMtrace 2 de Osmocom ejecutando el firmware cardem, aunque swSIM es compatible con cualquier otra herramienta de reenvío. Esto abre la puerta a pruebas de aplicaciones móviles, investigación de seguridad en tarjetas SIM y desarrollo de protocolos USIM sin necesidad de adquirir tarjetas físicas, lectores especializados ni hardware dedicado.

El proyecto se distribuye como software libre y se complementa con swICC PC/SC reader, el lector software que actúa de puente con el sistema operativo. En conjunto, swSIM ofrece un entorno reproducible, de bajo coste y portable para experimentar con la pila SIM/USIM desde un ordenador estándar.