Huevos de Pascua como protección de IP en software


11

Trabajo en software embebido y, por alguna razón, la gerencia quiere ocultar un huevo de Pascua como medio de protección de IP. Lo llaman una marca de agua, y dado que nuestro software interactúa con la fuente de vista previa de video (la imagen que se muestra en una pantalla antes de tomar una foto), quieren que implemente un disparador que reaccionará a alguna entrada de video inusual (un código de video konami como oscuro - brillante - oscuro - brillante - lo que sea). Cuando se activa este disparador, sucede algo extraño (que está fuera del comportamiento normal del software).

El objetivo es verificar si nuestro software está incluido en un dispositivo. ¿Suena como una buena idea? Tengo muchos argumentos en contra de este movimiento:

  • ¿Qué sucede si el código de konami es demasiado sensible y el usuario lo activa?
  • ¿Tiene este tipo de watermarkvalor legal?
  • ¿Qué pasa si esta "característica" es descubierta por el cliente?
  • La penalización de rendimiento debe ser muy pequeña, ya que la ejecución suave en dispositivos pequeños.
  • Soy el que desarrolla este desencadenante. Si las cosas salen mal, ¿cuál es mi responsabilidad?

¿Cuál es tu opinión sobre este método? No puedo encontrar un enlace, pero recuerdo haber visto una respuesta en este sitio que sugiere que poner huevos de Pascua con fines de protección era una buena idea. ¿Alguien lo ha intentado con buenos resultados?

Respuestas:


8

Hay al menos un precedente, como se describe en el artículo de Wikipedia sobre los huevos de Pascua :

La implementación del microchip CVAX de la CPU MicroVAX contenía en sus grabados la frase rusa en el alfabeto cirílico "VAX: cuando te importa lo suficiente como para robar lo mejor" en un esfuerzo por atraer a posibles fabricantes de clones que roban la propiedad intelectual en el bloque soviético.

Un poco más de detalle sobre esto, se puede encontrar en este artículo sobre CVAX (que es la referencia a la cita anterior):

Finalmente, el carril de escritura contenía el lema cirílico "VAX: cuando te importa lo suficiente como para robar lo mejor". En 1983, una Agencia de Inteligencia Sin Nombre me había dado la redacción, diciendo que lo habían sacado de un VAX-11/780 robado que estaba ejecutando un complejo de misiles SS20 soviéticos. Sabiendo que algunos CVAX terminarían en la URSS, el equipo quería que los rusos supieran que estábamos pensando en ellos.

Según sus preguntas específicas:

¿Qué sucede si el código de konami es demasiado sensible y el usuario lo activa?

El código Konami es demasiado conocido, por lo tanto, la posibilidad de que un usuario lo active es mayor. Si continúa con el huevo de Pascua, debe elegir una secuencia original (y más grande). Dado que se supone que su huevo de Pascua es un mecanismo de protección en lugar de diversión sin sentido, sería mejor si la secuencia no se conociera fuera de su empresa.

¿Este tipo de marca de agua tiene algún valor legal? Soy el que desarrolla este desencadenante. Si las cosas salen mal, ¿cuál es mi responsabilidad?

Consulte a un abogado. Depende en gran medida de su ubicación y los detalles de su contrato. En cualquier caso, sería mejor tener alguna prueba por escrito de que la gerencia solicitó explícitamente el huevo de Pascua. Un intercambio de correos electrónicos donde se muestra que planteó algunas preocupaciones debería ser suficiente.

¿Qué pasa si esta "característica" es descubierta por el cliente?

Depende del cliente. Algunos podrían reír, algunos podrían demandar. Mi opinión es que, dado que el huevo de Pascua se incluye como un medio de protección de la propiedad intelectual, se debe informar al cliente sobre cualquier otra característica que cree para él / ella.

La penalización de rendimiento debe ser muy pequeña, ya que la ejecución suave en dispositivos pequeños.

Sí debería, obviamente. Si descubre que implementar el huevo de Pascua tiene una penalización de rendimiento medible, esa sería la mejor razón para no hacerlo.


No tengo opinión de ninguna manera. Si consulta a un abogado y cubre todas sus bases legales, hágalo, probablemente será inútil, pero nunca se sabe.


Actualización: El ejemplo de CVAX es, por supuesto, un ejemplo de hardware, pero creo que no conozco más ejemplos relevantes (para software y / o software embebido). Basé la respuesta en su mayoría para responder la Has anyone tried itparte de la pregunta. Busqué otros ejemplos, no encontré ninguno y ahora tengo algo de opinión:

Es probable que no es una muy buena idea. (no la parte del huevo de Pascua, la means of IP protectionparte). Dado que la idea no es original ni innovadora (los contextos pueden ser diferentes pero similares), si funcionara, habría al menos algunos ejemplos.


Gracias por su respuesta. Había leído sobre la historia de MicroVAX, pero el contexto es un poco diferente (producto de hardware). Estoy de acuerdo con la necesidad de informar al cliente.
Simon Bergot

@ Simon pensé que lo habrías visto, pero basé mi respuesta en él para mostrar que el precedente más conocido sucedió hace mucho tiempo en un contexto completamente diferente. Si no logra encontrar ejemplos más recientes sobre software, eso sería algo que debería considerar pasar a la administración: sucedió una vez hace mucho tiempo, nadie más lo hizo desde entonces, probablemente porque es una mala idea . En mi experiencia, cuando la gerencia presenta ideas tan originales, probarles que su idea no es original ni innovadora puede ser la mejor excusa para no implementarla.
Yannis

La diferencia es que parece que el lema ruso no era una parte funcional del chip y, por lo tanto, no cambió el comportamiento. Me gustaría tener cuidado con cualquier cosa que pueda causar resultados impredecibles (para el cliente) en un dispositivo integrado.
David Thornley

0

Si usted fuera un proveedor de un fabricante, esperaría que esto se revelara ya que está "fuera del comportamiento normal del software".

Si su cliente es el usuario final, dependerá de lo que haga el software cuando se ingrese el "código".


Vendemos el software a un OEM. Entonces deberíamos ser transparentes al respecto.
Simon Bergot

0

No veo nada malo con un huevo de Pascua no revelado, siempre que sea extremadamente improbable que un usuario se encuentre con él y si es extremadamente sutil. Si alguien se topara con él, entonces no debería verlo como algo diferente a una falla sutil o un error trivial cosmético.

He hecho que los gerentes discutan conmigo por una funcionalidad que es mucho menos ética que un huevo de pascua no revelado, material marginal de malware, así que tengo problemas para ver esto como un problema.

En un proyecto que heredé, descubrí una gigantesca clase engañosa de C #, llamada algo así, UIDataTableColumnRenderer que tenía más de 3 MB de tamaño. Descubrí un mini-juego completo dentro de esa clase, imágenes y toda la base64 codificada en cadenas dentro de la clase. Básicamente fue un juego de disparos en el que la PC era un desarrollador que intentaba derribar una avalancha incesante de errores y requisitos mal escritos que los PM y los propietarios de productos estaban lanzando al software. Fue algo divertido, ya que se hacía cada vez más difícil y nunca ganabas, eventualmente los errores y los malos requisitos destruyen el software y la PC pierde su trabajo.

Fue, con mucho, el huevo de Pascua más impresionante que he encontrado.


3
No consideraría inofensivo un huevo de pascua de 3mb en un dispositivo integrado.
Yannis

2
@YannisRizos: esto claramente no estaba en un dispositivo integrado, y si lo estaba y tenía la capacidad de usar C #, entonces la clase de 3MB no era una gran preocupación.
Ramhound

@Ramhound Sí, lo sé, pero la pregunta está en el contexto del software incorporado.
Yannis

0

Soy el que desarrolla este desencadenante. Si las cosas salen mal, ¿cuál es mi responsabilidad?

No te están pidiendo que infrinjas la ley. Su responsabilidad es solo ante su empleador. Escribiría un correo electrónico cuidadoso indicando cualquier inquietud que tenga para que quede registrada. Entonces haz lo que te dice tu jefe o renuncia.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.