TFM_ RUBEN_GONZALEZ_GOMEZ
El desarrollo del proyecto fue realizado en una máquina virtual Ubuntu.
El agente sobre el que se desplegaron las APTs contaba con un sistema operativo Ubuntu, por lo que los perfiles de adversario que la red neuronal aprende están formados por comandos Linux.
La versión de MITRE Caldera utilizada fue la 4.1.0.
- Accede a su repositorio e instale Caldera.
- Abre una terminal o línea de comandos en tu sistema.
- Navega hasta la ubicación donde deseas clonar el repositorio de Intelligent_APT_Generator.
- Ejecuta el siguiente comando para clonar el repositorio:
git clone https://github.com/ejemplo/programa.git
- Instala Tensorflow, Numpy y Matplotlib.
pip install tensorflow numpy matplotlib
- Abre una terminal y navega hasta la ubicación donde esté el repositorio de Caldera clonado.
- Ejecuta el siguiente comando:
python3 server.py --insecure
- Una vez iniciado, inicia sesión en http://localhost:8888 utilizando las credenciales predeterminadas red:admin.
- En la interfaz de Caldera, accede al panel de agents y selecciona la opción Sandcat
- Comprueba que el valor de app.contact.http se corresponde con la dirección IP y el puerto donde está desplegado el servidor de MITRE Caldera.
- Copia el comando que Caldera genera y ejecútalo en la máquina víctima.
- Abre una nueva terminal y navega hasta la ubicación donde esté el repositorio con la aplicación Intelligent_APT_Generator clonada.
- Navega hasta la carpeta app.
cd app - Antes de ejecutarla, es necesario saber que la aplicación requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
-c, --cookie |
Valor de la cookie API_SESSION (Obligatorio) |
-p, --platform |
Plataforma sobre la que se va a desarrollar la APT. 1: Linux; 2: Windows; 3: Darwin (Obligatorio) |
-ne, --num_epochs |
Número de epochs durante las que se desea entrenar al modelo. Recomendable que el valor esté entre 1000 y 3000, dependiendo de la complejidad del problema (Default: 1000) |
-e, --evaluate |
Cada cuántas epochs se debe evaluar el modelo (Default: 50) |
-t, --target |
Perfil del atacante. 1: Crypto mining; 2: Disrupt Wi-Fi; 3: Encrypter (Obligatorio) |
Asegúrate de proporcionar los valores adecuados para cada parámetro al ejecutar la aplicación. Puedes usar la siguiente sintaxis para pasar los parámetros:
Solo parámteros obligatorios:
python main.py -c <valor_cookie> -p <plataforma> -t <target>
Todos los parámetros:
python main.py -c <valor_cookie> -p <plataforma> -ne <num_epochs> -e <evaluate> -t <target>
Una vez que se haya terminado de ejecutar, podrás ver las gráficas que muestran la evolución del aprendizaje de la red neuronal.
Después de cerrar estas gráficas, podrás consultar el perfil de adversario creado en la interfaz de Caldera, en el apartado adversaries. Todos los nombres de los adversarios creados por la apliación empezarán con la palabra Intelligent.
Además, podrás consultar el estado de la ejecución de esta APT en la máquina víctima en la interfaz de Caldera, en la sección operations.
Para cualquier incidente con MITRE Caldera consulte su documentación.
Para cualquier consulta acerca del proyecto, contactar con [email protected].