¿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 se creó una tonelada de dinero, tal vez incluso miles de millones, para 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 y a prueba de piratería para proteger su software contra la piratería? Si no es realista, ¿qué tal teóricamente posible? O no importa qué mecanismos implementen estas compañías, ¿pueden los hackers encontrar una forma de evitarlo?
Respuestas:
El código es datos. Cuando el código es ejecutable, una copia de esos datos es código no protegido. El código desprotegido se puede copiar.
Salpicar el código con controles antipiratería lo hace un poco más difícil, pero los piratas informáticos solo usarán un depurador y los eliminarán. Insertar no-ops en lugar de llamadas a "check_license" es bastante fácil.
Los programas que vendo en mi actual empleador (herramientas aeroespaciales) no lo hacen hogar del teléfono cada vez . Los clientes no tolerarían llamar a casa para la "activación" cada vez que se inicia el programa.
En el peor de los casos, el programa se ejecuta en una VM sin redes, donde siempre es una fecha fija.
Por lo tanto, podría haberse instalado legítimamente una vez, pero ningún esfuerzo por parte de los desarrolladores puede hacer que diga que no es así.
Las comprobaciones de DRM de hardware tendrán falsos positivos en algunos tipos de contenido.
Caso más simple: resolución. Grabo video Quad HD desde la matriz de mi cámara (sentado en mi escritorio ahora mismo). Windows DRM se interpone entre mí y los datos porque es QuadHD.
Análisis de firma: 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 para que ralentice las cosas de forma intermitente. Esto arruina cualquier cosa en tiempo real.
Entonces, para hacer que el Hardware DRM sea más inteligente durante un falso positivo, su computadora eventualmente se verá interrumpida para ir y verificar usando un servicio web. Ahora mi procesador de datos científicos falla porque no está conectado en red o detiene la transmisión de datos.
fuente
En última instancia, el gran problema es que la mayoría del software implica entregar la cerradura y la llave al atacante potencial y esperar que no descubran cómo armarlos.
El único método seguro para proteger el software no es dárselo 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 riesgo.
Dado que los modelos de distribución de software existentes se basan en darle al cliente el paquete completo y luego intentar protegerlo en el hardware de los posibles controles del atacante , el modelo de distribución es incompatible con cualquier concepto de software "no aspirable".
fuente
Es más rentable vender software que sea fácil de piratear.
Al decidir sobre medidas antipiratería, las empresas hacen un análisis de costo-beneficio. Para cualquier conjunto 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 tal vez pérdidas de ventas si son realmente molestas. En términos generales, hay dos tipos de beneficios:
Aquí hay un ejemplo simple: Microsoft Office.
Ahora, MS tiene que ver con el dinero, y no tanto con hacer felices a los ejecutivos por la piratería. Durante algún tiempo, MS ha estado vendiendo una edición de Office "Hogar y Estudiantes" por un precio mucho más económico que la edición "normal" para los negocios. ¡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 podría ejecutarlo en tantas computadoras como quisiera simultáneamente, ¡y todas funcionarían bien! De hecho, en la Mac, podría arrastrar la carpeta de la aplicación a través de la red a otra computadora donde nunca había hecho una instalación, y debido a que la clave del producto se almacenó con la aplicación, funcionó de maravilla.
¿Por qué tan patética tecnología antipiratería? Dos razones.
La primera es porque el costo adicional del soporte técnico para usuarios domésticos que arruinan sus instalaciones simplemente no valió la pena.
El segundo son las medidas antipiratería no técnicas . MS tiene un programa de denuncia de irregularidades en el que, si sabe que una empresa ha pirateado el software de MS, como instalar 200 copias de la misma oficina "Hogar y Estudiantes", puede llamarlos. Luego viene la EM y audita la empresa, y si encuentra software pirata, demanda a la basura fuera de ellos - y usted consigue una gran reducción de las ganancias.
Por lo tanto, MS no tiene que usar tecnología para prevenir la piratería. Les resulta más rentable usar efectivo frío y duro.
fuente
En mi humilde opinión, un problema fundamental es que la mayoría o todos los métodos "infalibles y a prueba de piratería" para proteger el software contra la piratería también molestan o incluso ahuyentan a los usuarios inocentes y legales.
Por ejemplo, verificar 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 su trabajo y máquinas domésticas. Sin mencionar los códigos de área de DVD, CSS, Sony rootkit et al., 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 puede intentar que sea lo suficientemente costoso para que un intruso rompa 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 trivialmente por millones.
fuente
Como dijo Bruce Schneier , tratar de hacer que los archivos digitales no se puedan copiar es como intentar que el agua no se moje. Habla principalmente de "DRM", que se aplica más al contenido (p. Ej., Películas) que al código, pero desde el punto de vista de evitar la copia de lo que hay en el archivo hace poca diferencia real: copiar un archivo es copiar un archivo es copiar un archivo .
fuente
Solo hay un "método infalible y a prueba de piratería para proteger su software contra la piratería" :
Software libre (ya que puedes hacer lo que quieras con él, incluso venderlo).
No puedes robar lo que se te da libremente. De acuerdo, eso arruinará algunos modelos de software de las 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.
fuente
Esto es causado por la combinación de cuatro factores principales:
En un nivel fundamental, mucho de lo que hace una computadora funciona copiando datos. Por ejemplo, para ejecutar un programa, la computadora tiene que copiarlo del disco duro a la memoria. Pero una vez que algo se ha copiado en la memoria, se puede escribir desde la memoria en otra ubicación. Teniendo en cuenta que la premisa fundamental de la "protección contra la piratería" es hacer que el software no se pueda copiar con éxito, puede comenzar a ver la magnitud del problema.
En segundo lugar, la solución a este difícil problema actúa directamente en contra de los intereses tanto de los usuarios legítimos como de aquellos que desean utilizar el software sin adquirirlo legalmente. Algunos de esos usuarios tendrán los conocimientos técnicos necesarios para analizar el código compilado. Ahora tiene un adversario competente que trabaja activamente en su contra.
Debido a que este es un problema difícil, y porque la producción del software correcto también es inherentemente difícil, es muy probable que su solución contenga al menos un error explotable en alguna parte. Para la mayoría del software, eso no importa, pero la mayoría del software no está bajo ataque activo de un determinado adversario. La naturaleza del software es lo que es, una vez que se encuentra un error explotable, puede usarse para tomar el control de todo el sistema y deshabilitarlo. Entonces, para producir una protección confiable, su solución al problema muy difícil debe ser perfecta o se romperá.
El cuarto factor es Internet en todo el mundo. Hace que el problema de transmitir información a cualquier persona interesada sea trivial. Esto significa que una vez que su sistema imperfecto se agrieta una vez, se agrieta en todas partes.
La combinación de estos cuatro factores significa que ningún sistema imperfecto de protección contra copia puede ser seguro. (¿Y cuándo fue la última vez que vio una pieza de software perfecta?) A la luz de esto, la pregunta no debería ser "¿por qué el software todavía se piratea fácilmente?", Sino "¿por qué la gente todavía está tratando de evitarlo?"
fuente
Una de las principales motivaciones a menudo ignoradas detrás de las soluciones SaaS basadas en la nube es asegurar las fuentes de ingresos.
Creo que aquí es donde está realmente el futuro de la monetización y protección de la propiedad intelectual.
Al cambiar el enfoque de la venta de soluciones locales que se ejecutarán en un entorno que está fuera del control de los vendedores, con el tiempo, 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 proporcionado como un servicio, efectivamente está elevando el listón de la piratería a un nivel en el que su negocio es mono.
fuente
Creo que la respuesta que está buscando es que a muchas empresas ya no les importa la piratería de esa manera. Nadie quiere que sus cosas salgan gratis, pero cuando se mira el intercambio entre molestar y tener que apoyar a todas las personas donde la protección avanzada contra copia rompió o rompió sus computadoras. Algunas compañías han hecho todo lo posible para preocuparse, pero al final del día las cosas todavía están agrietadas y sus usuarios tienden a irse con un mal sabor de boca.
No vale la pena el dolor (o la posible pérdida de clientes) para tratar de implementarlo para las pocas personas a las que evitaría piratear de todos modos.
Algunas compañías incluso han visto a los usuarios piratas como un recurso. Valve apareció 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 por ahí, buscan vender grandes bloques de licencias para los pequeños que necesitan cada venta, pero no pueden permitirse perder clientes o, en algunos casos, incluso comprar los rootkits y otros tipos de basura viles que la gente usa para tratar de construir ese tipo de cerradura -en.
No se puede hacer una lucha contra la piratería perfecta, pero ya no hay muchas personas que estén muy motivadas para intentarlo.
fuente
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 el software es entendible por la máquina, es entendible (y modificable) por el pirata.
Por ejemplo, en principio, podría construir un cifrado seguro en su ejecutable, de modo que la mayor parte del software sea ilegible. El problema 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, tanto en claro como al menos escondiéndose detrás de un cifrado más débil (con el descifrado para eso claro).
IIRC, los mejores desensambladores pueden advertirle sobre el código cifrado y ayudarlo a capturar y analizar lo que se esconde detrás del cifrado. Si eso parece que los redactores del desensamblador son malvados, considere que los desarrolladores de seguridad lo necesitan todos los días, para investigar virus y otro malware que también se esconde en el código cifrado.
Probablemente solo haya 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 quienes no les gustará.
El otro es que su software se ejecute en servidores que están bajo su control.
fuente
La lucha contra la piratería automatizada es una contradicción lógica.
Los vendedores 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 puede algún medio técnico 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 confiables pero no lo son.
Para el caso, las personas también pierden su confianza todo el tiempo.
fuente
Supongo que una de las razones es que las mismas personas que saben cómo escribir una seguridad decente son probablemente piratas informáticos.
Además, tratar de protegerse contra la piratería es muy, muy difícil. Como su computadora tiene que ejecutar esta protección por sí misma, puede ser interceptada en cualquier punto dado (memoria / ejecución / tráfico de red / ...). Ahí es donde entra la ofuscación, tratando de hacer que sea imposible entender lo que está sucediendo.
Creo que el poder de los números de serie y las claves de activación radica en el hecho de que al menos puedes ver quién está pirateando e intentar rastrearlo / bloquearlo de esta manera. Creo que esa 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 de nuevo aún es posible.
Cuando tienes un producto exitoso, tienes más personas tratando de descifrarlo, por lo que las posibilidades de que sea pirateado son mayores.
fuente
Técnicamente hablando, el software todavía puede ser pirateado porque la mayor parte de la TI todavía opera en entornos de software y hardware diseñados de forma conceptual hace milenios, cuando ni siquiera existía la noción de piratería de software.
Esos fundamentos deben mantenerse para la compatibilidad con versiones anteriores, lo que aumenta aún más nuestra dependencia de ellos.
Si tuviéramos que rediseñar los entornos de hardware / software desde cero con la antipiratería en mente, podríamos agregar mejoras significativas.
Ver por ti mismo:
El mismo sistema operativo abierto con todos sus componentes completamente expuestos y literalmente ofreciéndose para la manipulación.
La misma arquitectura de computadora abierta que tomará cualquier software que le arrojes
El modelo de distribución de software todavía se basa en archivos sin cifrar que se entregan al usuario
Existe exactamente el mismo problema con Internet y su baja seguridad, muchas vulnerabilidades, apertura a la manipulación, spam y ataques distribuidos. Lo haríamos mucho mejor la segunda vez, si pudiéramos rehacer Internet. Lamentablemente, debemos mantener lo que tenemos para mantener la compatibilidad con la gran cantidad de aplicaciones y servicios que existen.
Por ahora parece que la mejor manera de proteger el software de la piratería es introducir cambios a 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 encriptar todo a nivel de chip para que sus interfaces externas estén completamente encriptadas. Un buen ejemplo de esto es el cifrado HDCP para la interfaz de medios HDMI: un flujo de medios se cifra antes de salir de la caja del reproductor y se descifra dentro de una unidad de visualización para que no haya flujo de datos abierto para interceptar.
Cerrar 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 lograr 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 libre creando un ecosistema paralelo.
fuente
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 lo han discutido excelentemente : específicamente, el concepto de una tasa óptima de piratería .
Las medidas contra la piratería tienen varios costos: el costo directo de implementarlas, pero también 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 un comentarista escribió en la publicación Coding Horror: “Ahora que soy desarrollador y realmente 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 vean socavadas demasiado; pero más allá de cierto punto, simplemente no hay incentivo económico para mejorar las medidas contra la piratería.
fuente
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 copiarlo, no nos molestaríamos. La mayoría de los programas son tan caros para escribir como únicos, 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, nos estamos poniendo en desventaja competitiva. Sí, puede maximizar las ganancias a corto plazo al descartar la copia. Pero al final, perderá participación de mercado con quien pueda minimizar el costo de copia, costo de escritura y costo de uso.
El software gratuito minimiza el costo de copia de 1 de estos costos, y tiene una reducción masiva en los otros 2 costos de escritura y costo de uso.
costo de copia
Puedo instalar Ubuntu Linux en aproximadamente el mismo tiempo y esfuerzo que Windows 7 [Windows 7 necesita adicionalmente agregar una clave de licencia, 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 revistas (con una revista gratis), pedido por correo de £ 2 o pedir prestado un CD de un amigo.
costo de escritura
El software libre puede modificarse, esto reduce el costo. No tengo que comenzar 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 instalo con el sistema operativo.
No necesito un antivirus en Linux.
Puedo ejecutar Linux en hardware antiguo.
Con el Software Libre, nadie está obligando a actualizar, haciendo versiones incompatibles de las herramientas de Office.
fuente
En un mundo donde las computadoras son lo suficientemente similares como para poder descargar software de la red e inmediatamente ejecutarlo, es muy difícil identificar algo que permita determinar si esta computadora está bien para funcionar, pero esa computadora no lo es.
Eventualmente se reduce a que tienes algo que nadie más tiene. Puede tratarse de un número de serie que haya pagado, un dongle de hardware o un DVD con errores físicos en una determinada ubicación. Luego, el software busca esa cosa específica y se niega a ejecutarse 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 sea aceptable para la nave nodriza.
Desafortunadamente, los piratas informáticos 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 la dedicación suficiente, un humano aún puede hacerlo.
Por lo tanto, la mayoría de los productos de software de bajo costo van por el número de serie con una nave nodriza en Internet que lo valida, más una política de licencia que las cocorporaciones corporativas están obligadas a seguir. Los productos caros suelen utilizar protección de dongle.
fuente
Hay diferentes tipos de software que tienen protecciones.
Cuando tomas el ejemplo de Windows 7, es obvio que la respuesta es no, simplemente porque la arquitectura y la programación de PC son muy conocidas.
Pero si considera otros hardwares, como la PS3, la PSP y el iPhone, es completamente diferente, principalmente porque el fabricante tiene el control sobre todo, ya no solo sobre el software: pueden hacer que el hardware ejecute solo software genuino, y esto requiere buenas habilidades de pirateo para romperlas.
Debería echar un vistazo al proyecto de microsoft longhorn en el pasado: en el momento en que querían implementar chips para verificar si su software era genuino o no. Teóricamente habría sido muy difícil hackear, pero no lo hicieron porque habría sido muy intrusivo.
fuente