En Windows, un proceso en ejecución no puede sobrescribir su propio archivo ejecutable en disco (provoca un error de bloqueo de archivo a nivel de kernel). Actualizar un servicio de sincronización empresarial de forma desatendida requiere una arquitectura de seguridad capaz de prevenir corrupciones y ataques de suplantación.
1. El Peligro de las Auto-Actualizaciones en Windows
Si un programa descarga un archivo ejecutable y lo reemplaza directamente sin comprobar su firma, cualquier atacante que intercepte la red mediante un ataque Man-in-the-Middle (MitM) podría inyectar código malicioso en el servidor de la empresa.
2. Firmas Asimétricas Ed25519 en el Manifiesto
Todas las versiones y parches publicados por Bentian incluyen un archivo manifest.json firmado criptográficamente con la clave privada de curva elíptica Ed25519 del autor.
3. El Proceso Desacoplado UpdateSwapper
Una vez validada la firma, el agente delega la sustitución a un proceso independiente llamado UpdateSwapper que opera desde el directorio temporal (%TEMP%\bentian-updates\):
- Solicita elevación UAC si el directorio de destino requiere permisos de Administrador.
- Detiene de forma ordenada los procesos
BentianAgent.exeyBentianTray.exe. - Renombra el binario actual como copia de seguridad (
BentianAgent.exe.bak). - Copia el nuevo ejecutable verificado y arranca la nueva versión.
4. Monitor de Estabilidad de 10 Segundos y Rollback
Tras iniciar la nueva versión, el UpdateSwapper no finaliza de inmediato: monitoriza la ejecución durante 10 segundos. Si el nuevo proceso colapsara por alguna incompatibilidad imprevista de librerías, el swapper mata el proceso fallido, restaura automáticamente el archivo .bak anterior y devuelve el sistema a producción en su estado estable.