¿Es legal / ético lanzar software comercial con fallas de seguridad conocidas?

1

No soy un profesional de seguridad. Hace aproximadamente 2,5 meses descubrí vulnerabilidades sistémicas en el software de mi empleador con el potencial de daños financieros a los clientes si se explotan.

La capacidad de un usuario registrado para acceder o modificar los datos del formulario se verifica cuando se carga un formulario, pero una POST de datos del formulario no verifica la autenticación antes de guardar. No pude explotar esto a menos que inicie sesión como usuario con privilegios más bajos.

La vulnerabilidad fue reportada a la empresa; pero como la solución del problema requiere una reescritura casi completa de la autenticación de la aplicación y el código de envío del formulario, la compañía ha decidido continuar lanzando mejoras en las funciones mientras trabaja para corregir las vulnerabilidades durante un período mucho más largo (de 6 a 12 meses). No sé cuántas personas en la empresa saben que esto está sucediendo, ni tampoco sé si las personas jurídicas han evaluado / aprobado la decisión .

La aplicación es una aplicación web muy grande mantenida por un equipo de tres desarrolladores y un probador (yo). No hay otros desarrolladores o probadores en la empresa.

Se está planificando un lanzamiento importante de nuevas funcionalidades sin ninguna solución de seguridad en aproximadamente 6 semanas a partir de ahora.

La compañía cotiza en los Estados Unidos. La información del cliente y de la cuenta bancaria individual forma parte de los datos guardados que maneja la aplicación.

¿Está mi empleador involucrado en un comportamiento ilegal o no ético al lanzar una nueva funcionalidad mientras las fallas de seguridad permanecen sin corregir?

    
pregunta 10.01.2017 - 18:34
fuente

3 respuestas

3

Es legal vender productos imperfectos

El estándar general para la venta de productos es que deben ser aptos para el propósito para el cual se venden y publicitan. No están obligados a ser un muy buen ajuste para el propósito. No se requiere que sean aptos para otros propósitos. Ciertamente, no están obligados a estar libres de defectos, riesgos y posibles usos indebidos, siempre que sean en su mayoría aptos para un propósito en particular, es legal venderlos.

Por ejemplo, es completamente legal vender puertas que un adolescente escuálido puede abrir de golpe. Es completamente legal vender cerraduras físicas que pueden abrirse con un pasador. Es completamente legal hacerlo, incluso si está completamente consciente de que existen estas vulnerabilidades. Estas puertas y cerraduras aún son aptas para un propósito, incluso si se anuncian explícitamente con el propósito de "mantener a los intrusos fuera", ya que no se requiere que sean perfect para ese fin; está bien fabricar y vender puertas endebles y cerraduras endebles, incluso si todos saben que podrían hacerse mucho más seguros con algunas modificaciones.

Casi todo el software se lanza con errores conocidos, es decir, el sistema de seguimiento de errores de la compañía enumera muchos problemas no resueltos de importancia variable. Nuevamente, esto es evidencia de que tener defectos conocidos por sí mismos no es suficiente para que el software no sea adecuado para su propósito. Incluso cuando se lanza sin errores conocidos, ningún software es completamente seguro: casi todos los paquetes no triviales han tenido múltiples vulnerabilidades de seguridad. Esto no significa que no sean aptos para su propósito, ya que ciertamente les permiten a los usuarios realizar tareas útiles incluso si las vulnerabilidades nunca son parcheadas, por lo que son aptos para ese propósito incluso si son totalmente inseguras.

Por ejemplo, muchos sistemas similares a su sistema (como se ve en la pregunta) serían muy útiles incluso si no tuvieran la autenticación ninguna y todos los usuarios tuvieran acceso completo. En ese caso, sería adecuado para un propósito incluso con un sistema de autenticación totalmente defectuoso; Algunas autenticaciones son mejores que ninguna, y en este caso tampoco sería aceptable. No es demasiado buena, pero sí aceptable.

Uno puede imaginar ciertos nichos de software que no son absolutamente útiles si su seguridad es defectuosa. La mayoría del software claramente no está en esta categoría, pero, por ejemplo, El software de cifrado de disco o de gestión de contraseñas podría ser. Sin embargo, incluso entonces sería una cuestión de cuán grave es la vulnerabilidad. Como en el ejemplo de bloqueos endebles, una solución de seguridad imperfecta que protege contra algunos, pero no todos los ataques, generalmente se considera apta para un propósito.

Ética de vender productos de baja calidad

La situación ética es un poco diferente del mandato legal, pero nuevamente creo que podemos establecer paralelos en la venta de artículos físicos.

Para cualquier tipo de producto dado, los consumidores esperan razonablemente que haya diferencias de calidad según la marca. Algunos zapatos serán mucho mejores que otros, y es agradable; y algunos zapatos serán mucho más baratos que otros, y eso también es bueno, ambos son opciones válidas para los consumidores y los fabricantes.

Es una estrategia completamente válida y ética para fabricar y vender artículos de baja calidad. Alguien puede razonablemente comprar intencionalmente un artículo de baja calidad, por ejemplo, porque es más barato. Alguien puede elegir razonablemente un software de baja calidad, por ejemplo, porque es más barato. Las personas pueden hacer, distribuir y usar software gratuito que es conocido por tener tantos agujeros como el queso suizo, y simplemente evitar usarlo en contextos donde la seguridad es importante. Un cliente que solicite un desarrollo personalizado puede elegir razonablemente que su proveedor trabaje en nuevas características en lugar de solucionar fallas de seguridad conocidas: es su decisión y es ético hacer un producto de acuerdo con estas prioridades.

Lo que no es ético es engañar a los clientes. Si desea anunciar que su producto es mejor en calidad que la competencia, entonces es ético si realmente lo es. Si desea anunciar que su producto ocultará datos confidenciales de usuarios locales autorizados sin los permisos adecuados, entonces es ético si realmente es cierto. Sin embargo, tenga en cuenta que se trata de la ética de la publicidad y la comunicación: el acto no ético no es la venta de software de mala calidad, sino las mentiras sobre su producto.

En su ejemplo particular, la forma ética sería garantizar que la vulnerabilidad se divulgue públicamente. En ese caso, los clientes pueden tomar una decisión informada sobre cómo y si deben usar el producto, cuán importante es esa vulnerabilidad para ellos y si esto representa una diferencia significativa para ellos.

Todo esto supone que estamos hablando de defectos de varias severidades, no de códigos maliciosos; la colocación intencionada de puertas traseras es estrictamente diferente.

    
respondido por el Peteris 10.01.2017 - 21:29
fuente
2

Análisis de riesgos es el centro de la mayoría de las certificaciones de seguridad de la información.

¿Alguna vez tendrá un producto que se considere completamente seguro? No. Incluso el papel y la pluma tienen un riesgo implícito, y es por eso que todavía se usa el buceo con basurero por los atacantes hasta el día de hoy.

¿Se puede suponer que alguien nunca aprovechará una falla en la seguridad? No. ¿Eso significa que deberíamos estar tocando las alarmas cada vez que se produce una falla? ¿encontró? Depende de para quién trabajas, pero la respuesta tiende a ser no. Parte del análisis de riesgos no es solo la frecuencia con que se puede aprovechar esta vulnerabilidad, sino también qué tan grave es .

La empresa para la que trabaja puede estar perfectamente dentro de los límites legales para aceptar que hay un defecto, pero siempre que no tergiversen un parche / actualización futura como la resolución del fallo de seguridad, entonces todo está bien.

Sin embargo, lo que se considera ético y moral es asegurarse de que los clientes estén muy al tanto de las fallas en su software. El grado de detalle depende del vendedor, y posiblemente también del sistema legal. La razón no es puramente "pasar la pelota" en términos de seguridad de la información, sino para que los clientes puedan realizar una evaluación de riesgos bien informada. Un sistema mucho más seguro puede costar sumas más que un sistema que tiene una vulnerabilidad menor y bien conocida. Como pequeña empresa, ¿por cuál estarías dispuesto a pagar?

    
respondido por el dark_st3alth 10.01.2017 - 22:53
fuente
-1
  

Tuve que editar mi respuesta ya que ético y legal tienen problemas.   Definiciones, y parece ético es una cuestión de preferencia :)

Seguro que no es ético, y desde el punto de vista legal. Lanzar un software sabiendo que el software tiene una gran vulnerabilidad que podría causar daños financieros es posiblemente un delito (al menos de donde vengo). Por lo tanto, su compañía está esperando que se produzca una demanda.

El hecho de que la compañía sepa acerca de esta vulnerabilidad probablemente anulará un seguro (las compañías de seguros no cubrirán el daño causado por esta vulnerabilidad)

Como profesional, debe asegurarse de que las personas responsables de su empresa conozcan esta vulnerabilidad y comprendan el alcance y el resultado si se descubre esta vulnerabilidad. Puede ver el caso en este enlace Compania de seguros Columbia Casualty Lawsite

    
respondido por el Ubaidah 10.01.2017 - 18:58
fuente

Lea otras preguntas en las etiquetas