¿Cómo asegurar a mi cliente que mi software es una prueba de malware?

3

Estamos entregando una aplicación que nuestros clientes pueden usar en su clúster de red. Ahora, ¿hay alguna manera de que podamos certificar que el software es a prueba de malware y no va a propagar malware en su red? Eso me hizo pensar:

  1. Los ejecutables que se sientan en un servidor de archivos compartidos donde solo algunos de los usuarios pueden tener acceso a ellos deberían ser, en teoría, "seguros". ¿Pero cómo ponemos un certificado objetivo a esa declaración?
  2. También, podemos escanear nuestros archivos y podemos asegurarnos de que estén bien. Sin embargo, ¿cómo comunicamos este hecho a nuestros clientes de manera categórica?
pregunta Lost 20.07.2018 - 20:39
fuente

3 respuestas

5

¡Construcciones reproducibles!

De enlace

  

Las compilaciones reproducibles son un conjunto de prácticas de desarrollo de software que crean una ruta verificable de forma independiente desde el código fuente al código binario utilizado por las computadoras.

Esta técnica le permite demostrar a su cliente que el binario se creó a partir del mismo código fuente con el que afirma que se creó. Puede asegurarles que no ha sido infectado, manipulado, modificado, etc. Mientras el código fuente no sea malicioso, pueden estar seguros de que el binario tampoco es malicioso. Esto tiene algunas advertencias, sin embargo:

  • El código fuente debe estar disponible, al menos para su cliente.

  • El cliente debe saber cómo leer el código fuente o dárselo a alguien que pueda.

Naturalmente, si no pueden al menos entender el código fuente o no están en contacto con alguien que puede (incluso si ese "alguien" es una comunidad completa), esto a lo sumo proporcionará una sensación de comodidad sin realmente mejorando la seguridad. Más allá de esto, no hay una forma práctica de demostrar que su software no es malicioso y no contiene malware.

    
respondido por el forest 21.07.2018 - 00:23
fuente
5

Dos partes de esta pregunta:

  
  1. ¿Cómo puedo demostrar que no hay ningún malware en el producto que estoy vendiendo?
  2.   

Haga que un tercero de confianza explore, pruebe y verifique que no haya malware. Junto con un buen protocolo para la transferencia de productos con una cadena de custodia se confirmará. Solía trabajar en este campo y hay varias pruebas de penetración y compañías de escaneo por ahí.

  
  1. ¿Cómo puedo demostrar que mi aplicación no puede ser infectada por malware (prueba de malware)?
  2.   

Esta pregunta puede ir por un agujero de conejo. Nunca le diría a nadie que su aplicación es a prueba de malware a menos que solo se difunda, tenga un sistema de archivos de solo lectura y esté dentro de una caja fuerte con todas las E / S de nivel de hardware desactivadas y cubiertas con epoxi.

Si este no es el caso, creo que puedes enumerar las protecciones que tienes que hacen que tu dispositivo sea "resistente a malware". ¿Hay escaneo de firmware (verifica los cambios en una firma)? ¿Hay antivirus instalado? ¿Tiene una lista de aplicaciones en la lista blanca, etc. Eso, además de la verificación por parte de terceros, debería ser una respuesta justa para su cliente?

    
respondido por el bashCypher 20.07.2018 - 21:28
fuente
1
  
  1. Los ejecutables que se sientan en un servidor de archivos compartidos donde solo algunos de los usuarios pueden tener acceso a ellos deberían ser, en teoría, "seguros". Pero cómo   ¿Ponemos un certificado objetivo a esa declaración?
  2.   

Además de la otra respuesta que menciona el escaneo y la prueba de la pluma del código existente, también recomendaría que un tercero independiente examine la arquitectura del sistema / software para detectar fallas. La prueba de la pluma es buena para encontrar errores, pero tener una persona / equipo conocedor de la arquitectura / diseño / implementación real es mejor para encontrar fallas. Este punto de vista se explica en el libro de texto de McGraw "Software Security: Building Security In".

  
  1. También, podemos escanear nuestros archivos y podemos asegurarnos de que estén bien. Sin embargo, ¿cómo podemos transmitir este hecho a nuestros clientes en una categoría?   manera?
  2.   

No está claro lo que quiere decir con "escanear". ¿Quiere decir que tiene una herramienta de seguridad de software como findSecBugs o Coverity (etc.) que analiza cada iteración del código fuente para analizar estáticamente el código fuente en busca de problemas de seguridad? ¿O quiere decir que analiza en busca de virus en binarios o bibliotecas de terceros? ¿O ejecuta algo como la herramienta de seguridad npm para verificar sus bibliotecas contra vulnerabilidades conocidas? Si esto no está claro para mí, probablemente tampoco lo será para su cliente.

    
respondido por el hft 21.07.2018 - 00:45
fuente

Lea otras preguntas en las etiquetas