Bien, has escrito algo brillante, la próxima gran novedad. Estás adoptando el enfoque moderno. Ha leído, o visto, nuestra serie sobre Fluent UI y tal vez incluso aplicó algunas cosas visuales como el neoesqueuomorfismo que aprendimos en la conferencia Desktop First . ¿Quizás ha aplicado algunos temas VCL a su aplicación e integrado la capacidad de detectar el modo oscuro / modo claro de Windows 10 en su aplicación Delphi? Todo va bien… hasta que los usuarios intenten utilizar sus aplicaciones.
Empieza a recibir quejas de sus usuarios que no pueden descargar su aplicación. O, cuando finalmente logran luchar contra la paranoia del navegador web moderno, Windows 10 bloquea su aplicación o, más misteriosamente, simplemente desaparece por completo en una nube azul de humo de genio de políticas de grupo corporativo.
No dio el último paso: firmar su código para demostrar que su aplicación maravillosamente diseñada es suya, y solo usted, y que no ha sido infectada por un virus informático o un troyano cryptolocker.
En el reciente TCoffeeAndCode con temas de seguridad teníamos la intención de hablar sobre la firma de códigos, pero nos distrajimos con las muchas otras cosas de seguridad que surgieron. Para ser justos, ¡dijimos que no está escrito!
Table of Contents
¿Qué es la firma de código?
La firma de código es un proceso manual que puede hacer que suceda justo después o en el punto de la construcción final de su aplicación. Agrega un pequeño recurso a su exe que contiene una firma digital. La firma identifica quién, al menos en teoría, escribió el código y agrega información que toma una suma de verificación del archivo exe de su aplicación. Esta información, la firma del código, cuando se toma en conjunto significa que cualquier usuario que ejecute sus aplicaciones puede estar seguro de que el archivo exe no se ha modificado desde que lo creó en su computadora o servidor de compilación. Cualquier cambio en el archivo ejecutable, por ejemplo, por parte de un virus, romperá la suma de verificación criptográfica para que los usuarios puedan saber que algo salió mal.
La entrega de aplicaciones a través de un enlace web prácticamente exige la firma de código
La firma de código no solo ayuda a identificar al desarrollador original, también juega un papel cuando sus programas se descargan de un sitio web o un mecanismo de entrega en línea similar. La mayoría de los navegadores (probablemente todos) le advertirán sobre la descarga de exes de un sitio web, especialmente uno que no usa HTTPS. Microsoft Edge y Windows combinados van un poco más allá y le gritarán activamente si el exe no tiene una firma digital (otra forma de decir que no tiene firma de código).
Las aplicaciones sin firmar se parecen a los virus informáticos
Si sus usuarios finalmente logran pasar por todos los aros y realmente consiguen que el exe se descargue en su computadora, algunos de ellos pueden encontrar que el archivo descargado ha desaparecido mágicamente. Esto se debe a que es bastante común que las redes corporativas apliquen una regla que dice que los usuarios solo pueden ejecutar ciertas aplicaciones confiables. La ausencia de firma de código generalmente significa que su aplicación no es de confianza. Algunos van incluso más allá, aunque esto es menos común e insisten en que todas las aplicaciones de usuario deben ser de 64 bits, especialmente las aplicaciones del lado del servidor y los servicios de Windows. Los administradores de redes corporativas y el personal de ITSec pueden estar un poco sobrecargados cuando se trata de hacer cumplir las políticas y acorralar a un grupo de usuarios para que se comporten bien al evitar que hagan cosas obvias como la transmisión de torrentsabrir archivos adjuntos cuestionables y ejecutar malware accidentalmente.
¿Su aplicación sin código firmado? A ellos les parece el peor tipo de ladrón de contraseñas de bloqueo de criptomonedas, y no, no quieren dejar su macachoolie latte extra delgado de almendras con spirella extra para ejecutarlo y “comprobarlo”, muchas gracias.
¿La firma de códigos es solo para empresas de primera línea?
La firma de código es una OBLIGACIÓN si desea obtener ingresos de su código. Pero incluso si usted es un proyecto de código abierto o gratuito, la firma de código ayuda a sus usuarios a ayudarse a sí mismos.
Los días felices de simplemente crear un exe, cerrarlo y ponerlo en un servidor web prácticamente se han ido. Si así es como entregas tu software, odio ser portador de malas noticias: estás desactualizado y es hora de modernizarse. Próximamente habrá una gran cantidad de cambios en la forma en que funciona Windows y muchas de las mejoras de seguridad como UAC, HTTPS y la protección de directorios forzada se producirán de forma unilateral y, en la mayoría de los casos, ya lo han hecho.
De las preguntas sobre las que me preguntan, la firma de código es probablemente el tema candente número uno, así que * sé * que hay una gran cantidad de desarrolladores que se están dando cuenta de que la firma de código no es realmente una actividad opcional.
Más recursos sobre firma de código
Para leer más sobre los pros y los contras de la firma de código como tema, pruebe los siguientes recursos:
- Mi propia publicación de blog sobre la firma de código que describe en detalle los diversos tipos de firma de código y dónde obtener certificados de firma de código muy rentables junto con ejemplos de las pantallas: https://www.codedotshow.com/blog/delphi -10-3-aprovisionamiento-de-firma-de-código-rio-y-la-tienda-de-aplicaciones-de-microsoft /
- El fantástico artículo de Wikipedia contiene una buena vista de alto nivel de los beneficios de la firma de código: https://en.wikipedia.org/wiki/Code_signing
- Puede encontrar un artículo con una visión más amplia de los beneficios de la firma de código en este enlace: https://www.encryptionconsulting.com/code-signing-top-5-benefits/ y aquí https://www.globalsign.com / es / blog / the-important-of-code-signing-redux TENGA EN CUENTA que ambos enlaces tienen algo que venderle, así que téngalo en cuenta, pero sus descripciones y premisas son lo suficientemente sólidas.
No desperdicie su arduo trabajo con un guardián de seguridad draconiano: es hora de modernizar y codificar sus aplicaciones.
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition