¿Cómo se puede proteger el software de la piratería?

75

¿Por qué parece tan fácil piratear hoy?

Parece un poco difícil de creer que con todos nuestros avances tecnológicos y los miles de millones de dólares gastados en la ingeniería del software más increíble y alucinante, todavía no tenemos otro medio de protección contra la piratería que un "número de serie /clave de activación". Estoy seguro de que un montón de dinero, tal vez incluso miles de millones, se destinó a crear Windows 7 u Office e incluso Snow Leopard, pero puedo obtenerlo gratis en menos de 20 minutos. Lo mismo para todos los productos de Adobe, que son probablemente los más fáciles.

¿Puede existir un método infalible e infalible para proteger su software contra la piratería? Si no es realista, ¿qué tal teóricamente posible? O no importa qué mecanismos implementen estas empresas, ¿pueden los piratas informáticos encontrar una forma de evitarlo?

    
pregunta psr 26.02.2016 - 05:24

17 respuestas

76

El código es datos. Cuando el código es ejecutable, una copia de esos datos es un código no protegido. El código no protegido se puede copiar.

Salpicar el código con controles antipiratería lo hace un poco más difícil, pero los hackers solo Usa un depurador y elimínalos. Insertar no-ops en lugar de llamadas a "check_license" es bastante fácil.

  • Los programas difíciles de hackear hacen cosas cada vez más molestas.
  • Pero los proveedores tienen que vender a los clientes el software que están preparados para usar.
  • No todos permiten que las computadoras llamen a casa.
  • Algunas personas que trabajan en cosas sensibles se niegan a conectar máquinas a Internet.

Los programas que vendo en mi empleador actual (herramientas aeroespaciales) no llamen a casa nunca . Los clientes no tolerarán que se "active" cada vez que se inicie el programa.

En el peor de los casos, el programa se ejecuta en una máquina virtual sin redes, donde siempre es una fecha fija.

Por lo tanto, podría haber sido legítimamente instalado una vez, pero ningún esfuerzo por parte de los desarrolladores puede hacer que diga que no fue así.

  • Los intentos de agregar "prevención de copia" de hardware a las computadoras de propósito general están condenados a fracaso.
  • Cualquier compañía que venda hardware sin prevención de copias termina vendiendo todo el hardware.
  • Proveedores como Dell e Intel intentan introducir progresivamente hardware espía como Palladium, pero están fuertemente resistidos.
  • Cuando la computadora está haciendo algo científico, en tiempo real, cualquier interrupción para "verificar contenido pirateado" causará fallas. Si todas las computadoras tuvieran hardware DRM, los científicos especiales / en tiempo real tendrían que no tenerlo. Accidentalmente todo el mundo compraría unos especiales científicos / en tiempo real.
  • Las comprobaciones de DRM de hardware tendrán falsos positivos en algunos tipos de contenido.

    • El caso más simple: resolución. Grabo video Quad HD desde la cámara de mi cámara (sentado en mi escritorio en este momento). Windows DRM se interpone entre los datos y yo porque es QuadHD.

    • Análisis de firmas: el DRM de hardware es pequeño y tiene un conjunto de datos relativamente fijo. También tiene que usar el mismo bus de datos que la CPU, por lo que ralentiza las cosas de forma intermitente. Esto arruina cualquier cosa en tiempo real.

    • Entonces, para hacer que el DRM del hardware sea más inteligente durante un falso positivo, su computadora eventualmente se interrumpirá para verificar el uso de un servicio web. Ahora mi procesador de datos científicos falla porque no está conectado a la red o detiene la transmisión de datos.

respondido por el Tim Williscroft 14.03.2014 - 23:22
62

En última instancia, el gran problema es que la mayoría del software implica entregar el bloqueo y la clave al posible atacante y esperar que no descubran cómo unirlos.

El único método seguro para proteger el software es no entregarlo al usuario (por ejemplo, SaaS). Notarás que no puedes "piratear" Google Docs, por ejemplo. En última instancia, si estás tratando de asegurar algo, debes asumir que tienen pleno conocimiento de todo lo que les das. No puedes confiar en el cliente. Esto se aplica tanto a la prevención de la piratería como a la protección de un sistema contra el peligro.

Dado que los modelos de distribución de software existentes se basan en dar al cliente el paquete completo y luego intentar protegerlo en el hardware que el atacante potencial controla , el modelo de distribución es incompatible con cualquier concepto de "no respirable" software.

    
respondido por el Anon. 16.03.2014 - 15:58
28

Un problema fundamental en mi humilde opinión es que la mayoría o todos los métodos * a prueba de errores y de pirateo * de proteger el software contra la piratería también molestan o incluso ahuyentan a los usuarios inocentes y legales.

Por ejemplo, comprobar que la aplicación está instalada solo en una sola máquina puede dificultar que un usuario cambie el hardware de su máquina. Los dongles de hardware pueden significar que no puede usar la misma aplicación en sus máquinas domésticas y de trabajo. Sin mencionar los códigos de área de DVD, CSS, el rootkit de Sony y otros, que no son estrictamente para la protección del software, sino que están estrechamente relacionados.

* que, como señaló @FrustratedWithFormsDesigner, nunca son perfectos en la práctica; no hay un 100% de seguridad, solo puedes intentar que sea lo suficientemente costoso para un intruso romper la defensa para que no haya "demasiados" de ellos. Y creo que es debido a la naturaleza fundamental del software y la información digital, que una vez que alguien logra romper una defensa en particular, la ruptura casi siempre puede ser replicada de forma trivial por millones.

    
respondido por el Péter Török 10.02.2011 - 23:15
28
  

¿Por qué es que el software sigue siendo   fácilmente pirateado hoy?

Es más rentable vender software que sea fácil de piratear.

Al decidir sobre medidas contra la piratería, las empresas hacen un análisis de costo-beneficio. Para cualquier conjunto dado de medidas, si los beneficios no superan los costos, la compañía no lo hace.

Los costos incluyen tiempo y esfuerzo para implementar, documentar, respaldar y mantener las medidas, y quizás pérdidas de ventas si son realmente molestas. En términos generales, hay dos tipos de beneficios:

  • Mayores ganancias porque las personas que habrían pirateado el programa lo compraron en su lugar ...
  • Las personas que toman decisiones están felices de que el programa no se esté pirateando.

Aquí hay un ejemplo simple: Microsoft Office.

Ahora, MS se trata de dinero, y no tanto de hacer felices a los ejecutivos por la piratería. Desde hace algún tiempo, MS ha estado vendiendo una edición de Office para "Hogar y Estudiantes" por una forma más económica que la edición "normal" para empresas. ¡Compré esto hace unos años, y no tenía ninguna protección contra copia! Y la tecnología "antipiratería" consistía en ingresar una clave de producto que luego se almacenaba en la carpeta de la aplicación. Pero puedes ejecutarlo en tantas computadoras como desees simultáneamente, ¡y todas funcionarán bien! De hecho, en la Mac, podría arrastrar la carpeta de la aplicación a través de la red a otra computadora en la que nunca había realizado una instalación, y debido a que la clave del producto estaba almacenada con la aplicación, funcionó muy bien.

¿Por qué una tecnología antipiratería tan patética? Dos razones.

El primero es porque el costo adicional del soporte técnico para los usuarios domésticos que arruinan sus instalaciones simplemente no valía la pena.

El segundo es medidas no técnicas contra la piratería . MS tiene un programa de denuncias donde, si sabe que una empresa ha pirateado software de MS, como instalar 200 copias de la misma Oficina de "Hogar y Estudiantes", puede llamarles. Luego, MS entra y audita a la compañía, y si encuentra software pirateado, les exhorta a la mierda, y usted obtiene una gran parte de las ganancias.

Por lo tanto, la EM no tiene que usar la tecnología para prevenir la piratería. Les resulta más rentable usar dinero en efectivo frío y difícil.

    
respondido por el Bob Murphy 11.02.2011 - 04:25
25

Como dijo Bruce Schneier , tratar de hacer que los archivos digitales no puedan copiarse es como tratar de hacer que el agua no se moje. Habla principalmente sobre "DRM", que se aplica más al contenido (por ejemplo, a las películas) que al código, pero desde el punto de vista de evitar que se copie lo que hay en el archivo, no hay mucha diferencia real: copiar un archivo es copiar un archivo es copiar un archivo .

    
respondido por el Jerry Coffin 11.02.2011 - 00:02
17

Solo hay un "método a prueba de errores y de pirateo para proteger su software contra la piratería" :

Software libre (Como puede hacer lo que quiera con él, incluso venderlo).

No puedes robar lo que se da libremente. Por supuesto, eso arruinará algunos modelos de software de compañías de dinosaurios, pero la piratería no va a ninguna parte. Vende algo que no puedas copiar, preferiblemente algo que acompañe lo que regalaste gratis; Tu ayuda, por ejemplo.

    
respondido por el Orbling 29.03.2011 - 12:45
13

Esto se debe a la combinación de cuatro factores principales:

En un nivel fundamental, mucho de lo que hace una computadora funciona al copiar datos. Por ejemplo, para ejecutar un programa, la computadora debe copiarlo del disco duro a la memoria. Pero una vez que se ha copiado algo en la memoria, se puede escribir de la memoria en otra ubicación. Teniendo en cuenta que la premisa fundamental de la "protección contra piratería" es hacer que el software no pueda copiarse con éxito, puede comenzar a ver la magnitud del problema.

Segundo, la solución a este problema difícil actúa directamente contra los intereses de los usuarios legítimos y de aquellos que desean usar el software sin adquirirlo legalmente. Algunos de esos usuarios tendrán los conocimientos técnicos necesarios para analizar el código compilado. Ahora tienes un adversario competente trabajando activamente contra ti.

Debido a que este es un problema difícil y porque producir el software correcto también es inherentemente difícil, es muy probable que su solución contenga al menos un error explotable en algún lugar. Para la mayoría de los programas, eso no importa, pero la mayoría de los programas no están bajo el ataque activo de un adversario determinado. La naturaleza del software es lo que es, una vez que se encuentra un error explotable, se puede usar para tomar el control de todo el sistema y desactivarlo. Por lo tanto, para producir una protección confiable, su solución al problema muy difícil debe ser perfecta o será resquebrajada.

El cuarto factor es el Internet mundial. Hace que el problema de transmitir información a cualquier persona interesada sea trivial. Esto significa que una vez que su sistema imperfecto se rompe una vez, se agrieta en todas partes.

La combinación de estos cuatro factores significa que ningún sistema de protección anticopia imperfecto puede ser seguro. (¿Y cuándo fue la última vez que vio una pieza perfecta de software?) A la luz de esto, la pregunta no debería ser "¿por qué el software sigue siendo fácilmente pirateado?", Pero "¿por qué la gente todavía está tratando de evitarlo?"

    
respondido por el Mason Wheeler 10.02.2011 - 23:37
9

Una de las motivaciones principales que se pasan por alto a menudo y que se pasan por alto detrás de las soluciones SaaS basadas en la nube es asegurar los flujos de ingresos.

Creo que aquí es donde está realmente el futuro de la monetización y la protección de la propiedad intelectual.

Al cambiar el enfoque de la venta de soluciones locales que se ejecutan en un entorno que está fuera del control de los proveedores, eventualmente, todas las estrategias contra la piratería de software están condenadas al fracaso. Simplemente no hay forma de proteger sus activos cuando se los entrega a otra persona, ya que la protección debe aplicarse en su máquina.

Al tener su Software alojado en la Nube y brindado como un servicio, efectivamente está elevando el nivel de la piratería a un nivel en el que es un negocio mono.

    
respondido por el Johannes Rudolph 10.02.2011 - 23:35
8

Creo que la respuesta que estás buscando es que muchas empresas ya no se preocupan por la piratería. Nadie quiere que sus cosas salgan de forma gratuita, pero cuando miras la diferencia entre estar molesto y tener que apoyar a todas las personas en las que la protección avanzada contra copias rompió o rompió sus computadoras. Algunas compañías han hecho un gran esfuerzo por cuidar, pero al final del día las cosas todavía están resquebrajadas y sus usuarios tienden a dejar el mal sabor en la boca.

No vale la pena el dolor (o la posible pérdida de clientes) tratar de implementarlo para las pocas personas que evitarías de piratería.

Algunas empresas incluso han visto a los usuarios piratas como un recurso. Valve hizo un impacto en las noticias con un comentario como ese hace un tiempo, y no puedes decirme que Microsoft no salió del lado ganador de todas las instalaciones pirateadas de Windows en Asia a lo largo de los años.

Para los microsofts que hay por ahí, buscan vender grandes bloques de licencias para los pequeños que necesitan en cada venta, pero no pueden darse el lujo de perder clientes o, en algunos casos, incluso pueden costear los rootkits y otras cosas viles que la gente usa para tratar de construir eso. tipo de encierro.

No puedes hacer una perfecta antipiratería, pero ya no hay muchas personas que estén muy motivadas para intentarlo.

    
respondido por el Bill 10.02.2011 - 23:57
7

Independientemente de lo que incorpore en su software, debe ser comprensible por la máquina que lo ejecutará. A medida que el software se ha vuelto más sofisticado, el software para comprender otro software también se ha vuelto más sofisticado. Entonces, si ese software es comprensible para la máquina, es comprensible (y modificable) para el pirata.

Por ejemplo, en principio, podría crear un cifrado sólido en su ejecutable, de modo que la mayoría del software sea ilegible. El problema entonces es que las máquinas de los usuarios finales no pueden leer ese código más que los piratas. Para resolver eso, su software debe incluir tanto el algoritmo de descifrado como la clave, ya sea en forma clara o al menos escondiéndose detrás de una encriptación más débil (con la descodificación de eso está en claro).

IIRC, los mejores desensambladores pueden advertirle sobre el código encriptado y ayudarlo a capturar y analizar qué se esconde detrás del cifrado. Si parece que los escritores de desensamblador son malos, considera que los desarrolladores de seguridad necesitan esto todos los días, para investigar virus y otros programas maliciosos que también se esconden en el código cifrado.

Probablemente solo hay dos soluciones para esto. Una es la plataforma cerrada que bloquea a sus propios usuarios. Como muestra la Playstation 3, eso no es necesariamente una garantía. En cualquier caso, hay una gran clase de usuarios no malvados a los que no les va a gustar.

El otro es para que su software se ejecute en servidores que están bajo su control.

    
respondido por el Steve314 10.02.2011 - 23:58
5

La antipiratería automatizada es una contradicción lógica.

Los proveedores confían en los usuarios legítimos.

Cualquier antipiratería "automatizada" busca automatizar la relación de confianza.

¿Cómo puede funcionar esto? ¿Cómo pueden algunos medios técnicos llegar a "confiar" en una persona?

La confianza es una relación inherentemente humana. Cualquier mecanismo técnico siempre puede ser subvertido por personas que parecen ser confiables pero no lo son.

Para el caso, las personas también pierden su confianza todo el tiempo.

    
respondido por el S.Lott 10.02.2011 - 23:23
5

Una razón, supongo, es que las mismas personas que saben cómo escribir seguridad decente, probablemente sean piratas informáticos.

Además, tratar de protegerse contra la piratería es realmente muy difícil. Como su computadora tiene que ejecutar esta protección, puede ser interceptada en cualquier punto (memoria / ejecución / tráfico de red / ...). Ahí es donde entra la ofuscación, tratando de hacer que sea imposible entender lo que está pasando.

Creo que el poder de los números de serie y las claves de activación reside en el hecho de que al menos puedes ver quién está pirateando e intentar rastrearlo / bloquearlo de esta manera. Creo que eso es parte de la razón por la que tantos servicios son servicios en línea hoy en día. (Steam, actualización de Windows, etc.) De repente se vuelve mucho más difícil de descifrar, ... pero aún es posible.

Cuando tienes un producto exitoso, hay más personas que intentan descifrarlo, por lo que las posibilidades de que sea pirateado son más grandes.

    
respondido por el Steven Jeuris 10.02.2011 - 23:32
5

Desde el punto de vista técnico, el software aún puede ser pirateado porque la mayoría de las TI todavía funcionan en entornos de software y hardware diseñados conceptualmente hace miles de años, cuando ni siquiera existía la noción de piratería de software.

Es necesario mantener esos cimientos para la compatibilidad con versiones anteriores, lo que aumenta aún más nuestra dependencia en ellos.

Si tuviéramos que rediseñar los entornos de hardware / software desde cero teniendo en cuenta la lucha contra la piratería, podríamos agregar mejoras significativas.

Compruébelo usted mismo:

  • El mismo sistema operativo abierto con todos sus componentes totalmente expuestos y, literalmente, se ofrece a sí mismo para la manipulación

  • La misma arquitectura de computadora abierta que tomará cualquier software que le lances

  • El modelo de distribución de software aún se basa en archivos no cifrados que se entregan al usuario

El mismo problema existe exactamente con Internet y su baja seguridad, muchas vulnerabilidades, apertura para la manipulación, correo no deseado y ataques distribuidos. Lo haríamos mucho mejor la segunda vez, si pudiéramos rehacer Internet. Desafortunadamente, tenemos que mantenernos con lo que tenemos para mantener la compatibilidad con la gran cantidad de aplicaciones y servicios existentes.

Por ahora, parece que la mejor manera de proteger el software de la piratería es introducir cambios en el nivel de hardware:

  • Cierre el hardware y conviértalo en una caja negra. Hacer imposible que un usuario se meta con el hardware y su software. El enfoque aquí es probablemente cifrar todo a nivel de chip para que sus interfaces externas estén completamente encriptadas. Un buen ejemplo de eso es el cifrado HDCP para la interfaz de medios HDMI: un flujo de medios se cifra antes de que salga de la caja del reproductor y se descifre dentro de una unidad de pantalla para que no haya un flujo de datos abierto para interceptar.

  • Cierre los canales de distribución. Haga que todos los medios externos y los canales en línea estén completamente encriptados para que solo el hardware certificado pueda descifrar el flujo de datos.

Es posible llevar a cabo ambos, pero convertirá todo el ecosistema en una prisión. Lo más probable es que surja un movimiento paralelo / subterráneo de un hardware / software gratuito creando un ecosistema paralelo.

    
respondido por el 4 revsuser8685 10.02.2011 - 23:39
4

Dado el esfuerzo, probablemente se podría lograr una protección contra copias casi perfecta ... pero no valdría la pena el costo . Varios blogs notables han discutido excelentemente : específicamente, el concepto de tasa de piratería óptima .

Las medidas contra la piratería tienen varios costos: el costo directo de su implementación, pero también los costos indirectos: por ejemplo, las medidas a menudo causan inconvenientes, alejando a los usuarios.

La piratería tiene costos, pero a menudo no son terriblemente altos. También puede tener algunos beneficios, por ejemplo. en la expansión de la base de usuarios. Como escribió un comentarista en la publicación Coding Horror: “Ahora que soy desarrollador y tengo dinero para gastar en software, tiendo a comprar los programas que pirateé en mis días universitarios porque ya estoy familiarizado con ellos. ”

Por lo tanto, cierta protección contra la piratería es importante para garantizar que las ventas legítimas no se debiliten demasiado; pero más allá de cierto punto, simplemente no hay incentivo económico para mejorar las medidas contra la piratería.

    
respondido por el Peter LeFanu Lumsdaine 11.02.2011 - 04:26
4

Todas las respuestas parecen ser técnicas, pero no es un problema técnico, es social.

El software es fácil de copiar y difícil de escribir. Si no fuera fácil de copiar no nos molestaría. La mayoría de los programas son solo para gastar en escribirlos de una en una, y los más pequeños dependen de programas más grandes para poder ejecutarse. Si también hacemos que los programas sean difíciles de copiar, entonces nos estamos poniendo en desventaja competitiva. Sí, puede maximizar el beneficio a corto plazo desalentando la copia. Pero al final perderá cuota de mercado para quienes puedan minimizar el costo de copia, el costo de escritura y el costo de uso.

El software libre minimiza 1 de estos costos de costo de copia y tiene una reducción masiva en los otros 2 de costo de escritura y costo de uso.

coste-a-copia

Puedo instalar Ubuntu Linux casi al mismo tiempo y esfuerzo que Windows 7 [Windows 7 necesita que agregue una clave de licencia adicional, lo que lo hace un poco más difícil].

Windows 7 costará £ 100, pero para Ubuntu puedo descargarlo, comprarlo por £ 6 en la tienda de la revista (con una revista gratuita incluida), hacer un pedido por correo de £ 2 o pedir prestado un CD a un amigo.

costo de escribir

El software libre puede ser modificado, esto reduce el costo. No tengo que empezar desde el principio.

costo de uso

Con Windows 7 no obtengo aplicaciones, excepto un navegador web, con Ubuntu obtengo todas las aplicaciones que puedo imaginar, muchas instalé con el sistema operativo.

No necesito un escáner de virus en Linux.

Puedo ejecutar Linux en hardware antiguo.

Con el software libre, nadie está forzando la actualización, haciendo versiones incompatibles de sus herramientas de oficina.

    
respondido por el ctrl-alt-delor 29.03.2011 - 13:24
3

En un mundo donde las computadoras son lo suficientemente similares como para poder descargar software de la red y ejecutarlo de inmediato, es muy difícil identificar algo que permita determinar si esta computadora está bien para ejecutarse encendido, pero esa computadora no lo es.

Eventualmente se reduce a que tengas algo que nadie más tiene. Puede ser un número de serie por el que haya pagado, una llave de hardware o un DVD con errores físicos en una determinada ubicación. El software busca eso específico y se niega a ejecutarlo si no está allí. Para los números de serie, también debe tener una ubicación en Internet donde el software pueda validar que el número de serie es aceptable para la nave nodriza.

Desafortunadamente, los hackers son muy buenos para eliminar quirúrgicamente dichos controles, por lo que el código debe ser muy complicado y difícil de modificar para que sea difícil, pero con suficiente dedicación, un ser humano aún puede hacerlo.

Por lo tanto, la mayoría de los productos de software económicos van para el número de serie con una nave nodriza en Internet que lo valida, más una política de licencia que las cashcows corporativas están obligadas a seguir. Los productos caros suelen utilizar protección dongle.

    
respondido por el user1249 11.02.2011 - 01:00
2

Hay diferentes tipos de software que tienen protecciones.

Cuando toma el ejemplo de Windows 7, es obvio que la respuesta es no, simplemente porque la arquitectura y la programación de la PC son muy conocidas.

Pero si considera otros hardware, como la PS3, la PSP y el iPhone, es completamente diferente, principalmente porque el fabricante tiene el control sobre todo, ya no solo el software: pueden hacer que el hardware ejecute solo el software original. y esto requiere buenas habilidades de piratería para romperlos.

Debería echarle un vistazo al proyecto de Microsoft Longhorn en su día: en el momento en que quisieron implementar los chips para verificar si su software era original o no. Teóricamente, habría sido muy difícil de hackear, pero no lo hicieron porque habría sido muy intrusivo.

    
respondido por el jokoon 11.02.2011 - 14:19

Lea otras preguntas en las etiquetas

Comentarios Recientes

En pocas palabras, el software se basa en repositorios externos para compartir sus datos con los desarrolladores, lo que inevitablemente evita la descarga adicional de piratear individuos que simplemente se dedican a otras actividades legales. Si el público no se deja engañar por las sugerencias de que los virus y futuros virus descargarían código que no existía, habría mejores medios para identificar y eliminar infracciones potencialmente explícitas, como lo hace este programa específico. Esperamos que más... Lee mas