¿Cuál es el propósito de publicar la fuente de una aplicación web? [cerrado]

1

Vi muchos informes que identificaban problemas de seguridad en aplicaciones web grandes basadas en algunos datos secretos depositados en los repositorios públicos de Github.

AFAIK, Github es un servicio de alojamiento de repositorios en el que las personas pueden publicar el código de sus herramientas o proyectos para que otros puedan contribuir o obtener beneficios de la fuente.

Pero si tengo una gran empresa que ofrece un servicio a través de una aplicación web, ¿cuál es el propósito de publicar el código fuente?

    
pregunta Reda LM 01.01.2018 - 00:22
fuente

2 respuestas

2

Si tengo una empresa grande que vende un producto , es posible que no quiera revelar su fuente porque la gente puede copiarlo y venderlo, lo que disminuye mis ganancias.

Pero si mi gran empresa proporciona un servicio por medio de una aplicación web, es muy probable que pueda publicar el código fuente, porque el valor real de mi servicio se encuentra en otra parte (en una gran e infraestructura compleja, acceso a bases de datos, ...).

Lo que es más, realmente podría ganarme la confianza de clientes adicionales mostrándoles que mi código puede ser auditado por muchas personas, incluidos los propios clientes. Por ejemplo, esto puede mostrar a los clientes que mi código no almacena sus datos en texto sin formato.

Dicho esto, es muy probable que cualquier aplicación web contenga vulnerabilidades que pueda encontrar un atacante, con o sin acceso al código fuente. Si no publicas el código (a excepción de las fallas de errores), los buenos no pueden revelarte las vulnerabilidades. Si lo haces, ellos pueden. Por supuesto, los malos existen en ambos casos.

Finalmente, date cuenta de que el mundo de los hackers no está dividido en tipos puramente buenos y simplemente malos. Algunas personas quieren que las empresas, y todo el mundo, sepan que son buenos para encontrar vulnerabilidades. Tal vez obtener su nombre en un Salón de la Fama (por eso las recompensas de errores son buenas) o en la sección de créditos de un repositorio de Github es suficiente para satisfacer esta "necesidad". Si no publicas tu código, la única forma en que estas personas tienen que obtener lo que quieren es atacar tu aplicación o vender un exploit que funcione en su contra.

    
respondido por el A. Darwin 01.01.2018 - 21:47
fuente
1

¿Por qué se colocaría el código en GitHub

GitHub actúa como un proveedor de hosting git. Al alojar el proyecto en un repositorio remoto, obtiene muchos beneficios, entre ellos:

  • Se realiza una copia de seguridad de todo el código en el repositorio, por lo que la falla del disco no pierde datos
  • Múltiples personas pueden trabajar en el repositorio a la vez
  • Se pueden realizar revisiones de código antes de fusionar los cambios

Tipos de repositorios de GitHub

Un repositorio puede ser:

Público

Cualquiera puede leer el código y contribuir al código contribuyendo

Privado

Solo las personas invitadas a acceder al repositorio pueden acceder a él

¿Por qué querrías un proyecto abierto para todos

Como A. La respuesta de Darwin dice que abrir un proyecto permite la revisión del código y puede obtener información sobre las vulnerabilidades antes de que se utilicen en su contra.

Según el principio de Kerckhoffs , un sistema debe ser seguro incluso si se conoce el funcionamiento, por lo tanto, en teoría, no debería ser más vulnerable al liberar su fuente, si el sistema está bien diseñado.

Cómo los sistemas se rompen por los secretos

Si su repositorio es público, los secretos deben mantenerse fuera de él. Esto está permitido ya que los secretos están permitidos por el principio de Kerckhoffs. Si los secretos terminan en un repositorio público, cualquiera puede usarlos, causando problemas como este:

Dev puso las claves de AWS en Github. Entonces pasaron cosas malas

    
respondido por el jrtapsell 01.01.2018 - 22:11
fuente

Lea otras preguntas en las etiquetas