5

¿Hay alguna forma de proteger mi código durante el desarrollo, de modo que si un desarrollador se va de mi empresa no puede acceder a los archivos de mi proyecto?Proteger el código fuente del robo durante el desarrollo

Esto es especialmente importante con TFS, donde el proyecto se descarga localmente, se almacena en caché y está disponible para su uso sin conexión. Idealmente, el código sería ilegible si no tuvieran un ID de usuario de Active Directory válido.

Aunque esta idea no es posible, me gustaría aprender de cualquier impedimento práctico que se pueda imaginar ...

+0

@Kev - ¿Valió esto y lo cerró? Tengo -4 rep por esto. ¿Perdí la reputación debido al cierre AND debido al voto a la baja? – LamonteCristo

+0

No hay votos negativos de mi parte. Tomas un -1 cuando la pregunta está cerrada por OT. – Kev

+0

Duplicado de https://stackoverflow.com/questions/109997/how-do-you-protect-your-software-from-illegal-distribution – tkruse

Respuesta

7

Tienes que extender alguna forma de confianza a tus desarrolladores. Si no puede confiar en que no llevarán el código fuente con ellos, ¿cómo puede confiar en que no construirán puertas y similares en sus sistemas?

Además, si van a trabajar en el código, van a necesitar acceso a él, y si tienen acceso a él, casi con seguridad lo pueden copiar. Puedes tratar de limitarlo, pero estás tratando de pensar de antemano en un grupo de personas que solo necesitan encontrar un error que hayas cometido. Además, desconfiar abiertamente de tus desarrolladores no te va a ayudar de todos modos.

¿Existen secretos comerciales reales incorporados en su código? Si es así, es posible que desee volver a pensar eso. Si no, ¿cuánto daño hará en posesión de otra persona?No pueden usarlo legalmente, y los desarrolladores que se van a menudo a menudo podrán escribir algo similar.

Para esto, quiere protección legal, no técnica.

+0

Aunque estoy completamente de acuerdo en que la contratación de desarrolladores requiere inherentemente otorgarles un cierto nivel de confianza, no puedo dejar de pensar que la prevención de las puertas traseras no se debe exclusivamente a la confianza, sino también a la revisión del código. Aparte de eso, estoy completamente de acuerdo. – OrhanC1

1

A fin de cuentas ... no (especialmente si el proyecto se almacena localmente como usted mencionado). Si un desarrollador tiene acceso al código fuente, tiene la capacidad de robar el código fuente. IANAL, pero para evitar este tipo de cosas, necesita un abogado para redactar un non-disclosure agreement (NDA) y obtener sus desarrolladores para firmarlo.

De Wikipedia, un NDA es:

un contrato legal entre al menos dos partes que describe el material confidencial, conocimiento o información que las partes desean compartir unos con otros para ciertos propósitos, pero desean restringir el acceso a terceros. Es un contrato mediante el cual las partes acuerdan no divulgar la información cubierta por el acuerdo.

7

Suponiendo que se puede leer el código y compilarlo mientras están allí, no hay mucho que se puede hacer (a menos que usted prohíbe memorias USB, escritores CR, escanear todo su correo electrónico, etc, e incluso entonces encontrarían una forma de derrotar eso).

Cúbralo en el contrato de trabajo, aclare que si el código aparece habrá acción legal.

(Esto me sucedió en una vida anterior: un empleado se llevó el código. Lo sabíamos debido a un error que cometió al hacerlo, y le enviamos una carta de nuestros clientes señalando el consecuencias de revelar el código a otra persona. Parecía funcionar)

0

Puede reducir el riesgo de robo de código si su aplicación está integrada en componentes/módulos/complementos. Al desarrollador solo se le otorgaría acceso de código a los componentes en los que trabajan y código compilado para el resto de la aplicación. Por supuesto, estoy suponiendo que solo vale la pena robar la aplicación como un todo y no solo un puñado de componentes.

Por otro lado, te sorprendería que el código en sí mismo no siempre sea tan valioso como te gustaría pensar. Si no hay una IP sensible en el código que pueda revenderse directamente, ¿su desarrollador va a recompilarse y competir cara a cara con su propia aplicación?

3

Si usted tiene miedo de perder un código en su conjunto (en lugar de la parte de copiar y pegar los empleados de la misma) ...

Con su sistema de gestión de código fuente (usted tiene uno, ¿verdad?), Se probablemente tenga algunos ganchos para que cuando el usuario obtenga el código, parte de él sea un archivo binario dedicado solo a ese usuario y que sea necesario para que el código se compile correctamente y se ejecute correctamente ... si se lleva al extremo, eso significará tener el sistema de hardware correcto (TPM, claves de hardware ... etc.).

Así que después de que se han ocupado con todo el papeleo como Pablo sugiere, por ejemplo, si alguna vez las fugas de código en cualquier lugar, se puede realizar un seguimiento de quién tiene la culpa (y sabiendo que probablemente disuadir a nadie que en realidad incluso intentar)

0

Hay formas de proteger todo su entorno de desarrollo para que los programadores puedan guardar o llevarse recuerdos de lo que están trabajando. Eche un vistazo a www.chaperon-secure.net para encontrar posibles soluciones desde un entorno de desarrollo seguro hasta repositorios de código fuente abovedados.

+3

StackOverflow es muy delicado sobre autopromoción. Le sugiero que deje muy en claro su asociación con esa compañía en su perfil y también incluya una declaración de divulgación en cualquier respuesta que proporcione que incluya una mención de producto. – Will

+1

+1 en no divulgación (es un tipo nuevo y con suerte aprenderá) – Mawg

1

Esto realmente no es una pregunta criptográfica. Pero hay una respuesta.

1) Debe limitar a los desarrolladores y solo darles acceso a la fuente que necesitan para realizar el trabajo. Este es el principal de seguridad del "acceso de privilegio mínimo". Almacene los binarios de las bibliotecas o los ejecutables en el control de fuente si es necesario.

2) Obliga a todos los desarrolladores a firmar un contrato de no divulgación. Desarrolladores superiores a los que puedes demandar. Por ejemplo, defender este contrato en India es más difícil que defenderlo en Indiana.

Cuestiones relacionadas