Ir al contenido

Próximamente estarán disponibles los certificados de 47 días. ¿Todo listo?

Actúa ahora →

Cómo firmar un proyecto de macro de Excel con SignTool

Firmar un proyecto de macro de Excel con SignTool

La firma de código es un mecanismo de seguridad que se utiliza para verificar la autenticidad e integridad del código digital. Consiste en añadir una firma digital al código, lo que permite a los usuarios determinar quién lo creó y si ha sido manipulado. La firma de código se utiliza habitualmente para firmar archivos ejecutables, bibliotecas y scripts, pero también puede utilizarse para firmar archivos de macros de Excel.

¿Qué es la firma de código?

La firma de código es una práctica de seguridad que implica la firma digital de software con un certificado para verificar su autenticidad e integridad. Los certificados de firma de código son emitidos por proveedores de confianza. autoridades de certificación (CA) y permitir a los usuarios finales verificar que el software que están descargando o ejecutando no ha sido alterado ni modificado desde que fue firmado por el editor del software.

Esto ayuda a prevenir la distribución e instalación de malware y otro software malicioso en los sistemas de los usuarios. Para establecer la confianza en una firma digital y garantizar que el código no haya sido manipulado, las herramientas de firma de código populares, como Microsoft Authenticode y Java Code Signing, suelen requerir un certificado digital confiable emitido por una autoridad certificadora externa.

Firmar archivos de Excel

Los archivos de macro de Excel se utilizan para automatizar tareas en Microsoft Excel. Pueden contener macros, que son pequeños programas que automatizan tareas repetitivas, como dar formato a datos o generar informes. Los archivos de macro se pueden crear con el lenguaje de programación VBA (Visual Basic para Aplicaciones) y se pueden guardar con la extensión .xlsm.

Amenazas que plantean las macros

Si bien las macros de Office siguen siendo la mejor opción para procesos críticos para la empresa, también representan una gran amenaza para la seguridad. Se ejecutan dentro de los documentos de Office con los mismos derechos que la persona que los abrió. Además, las macros aumentan aún más sus privilegios mediante el uso de exploits adicionales, lo que las convierte en una poderosa herramienta para que los hackers se infiltren en una organización.

Pero ¿qué hace que Macro sea tan terrible? A diferencia de otros programas, la gente suele usar los documentos de Office sin dudarlo. Con solo un clic, se activa la ejecución de la macro, lo cual es especialmente fácil de lograr mediante ingeniería social, insertando instrucciones en un correo electrónico o incluso en el propio documento.

Los administradores se encuentran en apuros cuando se trata de macros principalmente por estas razones:

  • Es Es casi imposible proporcionar configuraciones de políticas que puede definir qué macros se pueden ejecutar.
  • Marcos de políticas como El control de aplicaciones/listas blancas no funcionan para macros.
  • Algunas macros maliciosas pueden Evitar los detectores de malware.

Ahora surge la pregunta: ¿qué podemos hacer para protegernos de las macroamenazas? La respuesta es sencilla., implementar la firma de macros para crear políticas de usuario final seguras.

Al firmar un archivo de macro de Excel, puede garantizar que los usuarios confíen en el código del archivo y que no haya sido manipulado. Firmar digitalmente las macros de su organización sienta las bases para las funciones de políticas de MS Office. Esto le permite...

  • Utilice políticas de grupo para permitir la ejecución solo de macros firmadas con certificados de confianza y
  • Asignar certificados de confianza a usuarios y grupos.

Con CodeSign Secure, podemos simplificar el proceso de firma y verificación. Nuestro proceso implica hash del lado del cliente para aumentar la velocidad del servidor y utilizar HSM para almacenar claves privadas, lo que garantiza una superficie de ataque baja y una firma rápida y segura de archivos.

Limitaciones de los enfoques actuales

Esta tabla destaca cómo las políticas de fácil acceso tienen una seguridad insuficiente o tienen un impacto negativo inaceptable en el negocio:

Método Nivel de seguridad Implementación Impacto en el negocio observaciones
Permitir que los usuarios decidan si habilitar la ejecución de macros Media Alto Alto No siempre se puede confiar en que los usuarios tomen las mejores decisiones
Habilitar la ejecución de macros Bajo Alto Alto Nunca es apropiado habilitar esto.
Deshabilitar la ejecución de macros excepto las macros firmadas digitalmente Altura media Media Alto El proceso de firma digital en Office es laborioso y requiere que los escritores de macros tengan acceso a las claves privadas de sus PC de desarrollo.
Deshabilitar la ejecución de macros excepto para los usuarios que las requieran Altura media Bajo Media Cada uno de estos usuarios sigue siendo peligroso y su número aumenta con frecuencia.
Deshabilitar la ejecución de macros excepto para ciertas ubicaciones de almacenamiento Altura media Altura media Altura media Aunque como resultado se reducirán los ataques directos online y por correo electrónico, cualquiera puede dejar un documento dañino en un lugar confiable.
Deshabilitar la ejecución de macros para todos Alto Alto Bajo Muy seguro, pero a menudo poco realista.
Uso de CodeSign Secure- Deshabilitar la ejecución de macros excepto las macros firmadas digitalmente Alto Alto Alto Proporcionar un procedimiento más seguro que cumpla con las políticas de ejecución de macros para la firma de políticas de autorización y aprobación.

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Proceso de firma paso a paso

Estos son los pasos para firmar un archivo de macro de Excel. Primero, debemos instalar las herramientas necesarias.

Paso 1

Debemos instalar Windows SDK, que proporciona bibliotecas y herramientas para crear aplicaciones de Windows. Este kit de desarrollo instalará una herramienta llamada signtool, incluida en el SDK de Windows. Haga clic en "Descargar el instalador" y ejecútelo una vez descargado.

Puede elegir instalar solo las herramientas de firma del SDK de Windows para aplicaciones de escritorio. 

Nota: Recuerde la ruta predeterminada que se muestra en la ruta de instalación, ya que será útil para ejecutar estos comandos desde el símbolo del sistema. 

Herramientas de firma del SDK de Windows para aplicaciones de escritorio

En la página de Privacidad de Windows Kits, cualquiera de las opciones para permitir que Microsoft recopile información es válida. Haga clic en Siguiente. 

Página de privacidad de Windows Kits

Aceptar el acuerdo de licencia

Términos de licencia del software de Windows

Deseleccione todas las funciones excepto Herramientas de firma del SDK de Windows para aplicaciones de escritorio Luego seleccione Instalar. No necesitamos todas las funciones para que el proceso de firma funcione.

proceso de firma para trabajar

Cuando se le pregunte si desea permitir que esta aplicación realice cambios, seleccione Sí. 

variables ambientales del sistema

Por último, seleccionamos cerrar y a continuación tenemos que agregar una ruta a las variables de entorno del sistema para poder ejecutar comandos desde el Símbolo del sistema de manera efectiva.

Kit de desarrollo de software de Windows

Haga clic en la barra de búsqueda de Windows en la barra de tareas y escriba “Editar las variables de entorno del sistema” y seleccione la opción del panel de control del mismo nombre. 

panel de control de Windows

Haga clic en Variables de entorno

Aplicación signtool de Windows

Antes de editar la lista de variables, navegue hasta donde está instalado el SDK de Windows para usar el explorador de archivos, debe copiar la ruta de la carpeta que contiene la aplicación signtool, la ruta predeterminada es C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22621.0\x64, Consulta la siguiente captura de pantalla. Asegúrate de hacer clic derecho y copiar la ruta como se muestra. También puedes ver la aplicación signtool al final de la lista de archivos; este es el comando que ejecutarás. 

Aplicación signtool

En la lista de Variables del Sistema, haga clic en Nuevo. Escriba Ruta como nombre de la variable y copie y pegue la ruta mencionada. Haga clic en OK en el entorno empresarial las variables ventana y te propiedades ventana. 

Variables de entorno

Para probar la instalación, abra el símbolo del sistema y escriba herramienta de señalización, y la salida debería ser como se muestra a continuación. 

instalación predeterminada de signtool

La ubicación de instalación predeterminada de signtool es, por ejemplo: C:\Archivos de programa (x86)\Windows Kits\10\bin\10.0.22621.0\x64 

Paso 2

Descargue e instale el Paquete de interfaz de sujeto para la firma digital de archivos de Microsoft Office

Este enlace lleva a la página de descarga de Microsoft para un Paquete de Interfaz. Esta descarga incluye dos bibliotecas de Paquetes de Interfaz de Sujeto (SIP) que permiten la firma digital y la verificación de firmas de proyectos de Visual Basic para Aplicaciones en la mayoría de los formatos de archivo de Office compatibles con macros de VBA. Estas bibliotecas son necesarias para que signtool reconozca archivos .xls y .xlsm. Después de descargar el instalador, siga los pasos a continuación.

Paquetes de interfaz

Después de descargar el .exe, ábralo y elija una carpeta de instalación o cree una nueva carpeta como se muestra a continuación:

firma de macros de Excel

Indicará que los archivos se extrajeron correctamente y encontrará la carpeta de instalación llena de archivos. Estas son las bibliotecas esenciales para habilitar la firma de macros de Excel. Debemos ejecutar un par de comandos para instalar estos archivos .dll en el registro.

Abra un símbolo del sistema de administrador y escriba lo siguiente, la ruta será donde acaba de instalar los archivos:

regsvr32.exe

regsvr32.exe  

Para obtener más información sobre cómo registrar controles OLE, visite El sitio web de Microsoft.

Si tiene éxito, verá un mensaje: “DIIRegister Server in tuvo éxito”. 

Solución de firma de código empresarial

Obtenga una solución para todas sus necesidades criptográficas de firma de código de software con nuestra solución de firma de código.

Paso 3

A continuación, debemos descargar el instalador redistribuible de Microsoft Visual C++. Estas bibliotecas son necesarias para muchas aplicaciones creadas con herramientas de Microsoft C y C++. Dado que las herramientas que utilizamos requieren estas bibliotecas, es necesario instalarlas. Para más información, consulte Documentación de Microsoft.

Enlace de descarga del instalador redistribuible de Microsoft Visual C++:

Descargar

Ejecute el instalador, acepte los términos y condiciones y haga clic en instalar.

Instalador redistribuible de Microsoft Visual C++
Configuración completa de Microsoft Visual C++ 2010

Paso 4

Ahora podemos usar el símbolo del sistema para firmar nuestros archivos. Es posible firmar archivos de macros de Excel de Windows con el comando signtool. / kc será el nombre de tu certificado, /f será la ruta al archivo certificate.pem, /fd y el /td son los algoritmos deseados, /csp es el nombre del proveedor de almacenamiento de cifrado (en este caso, Encryption Consulting Key Storage Provider), / tr es la dirección del servidor de marca de tiempo, luego después de la /td SHA256 es la ruta entre comillas del archivo a firmar.

Con este caso de firma de macros, puedes utilizar .xls o .xlsm extensiones de archivo y ejecutar el comando de firma.  

signtool sign /csp “Proveedor de almacenamiento de claves de consultoría de cifrado” /kc evcodesigning /f C:\Usuarios\Administrador\Escritorio\ParaPruebas\evcodesigning.pem /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 “C:\Usuarios\Administrador\Escritorio\ParaPruebas\MacroTest.xlm”

firma de macros

Paso 5

Después de firmar el archivo, puede verificarlo y mostrar su información. Para verificar el archivo firmado, simplemente use el comando de verificación: 

signtool.exe verificar /pa C:\Users\Administrator\Desktop\ForTesting\MacroTest.xlsm 

firmando el archivo

Conclusión

Una vez firmado el archivo de macro de Excel, los usuarios que lo abran verán un mensaje de advertencia indicando que contiene macros, pero también verán la firma digital y podrán verificar su validez. Si la firma digital no es válida, se les advertirá que el archivo puede contener código malicioso y que su apertura podría ser peligrosa.

En resumen, incorporar la firma de código en la seguridad del software es crucial para protegerlo contra ataques de malware y manipulación. Code Sign Secure de Encryption Consulting ofrece diversas ventajas, como una integración perfecta con los flujos de trabajo de desarrollo, autenticación y cifrado robustos, y opciones de precios personalizables. Para obtener más información sobre cómo usar Code Sign Secure, visite: Solución de señalización de código o contáctenos en [email protected]