Pregunta

Cualquiera que visite un rastreador de torrents seguramente encontrará montones de " agrietado " programas que van desde shareware simple hasta suites de software que cuestan miles de dólares. Parece que mientras el programa no se base en un servicio remoto (por ejemplo, un MMORPG), cualquier protección de copia incorporada o autenticación de usuario es inútil.

¿Es efectivamente imposible evitar que un cracker eluda la protección de copia? ¿Por qué?

¿Fue útil?

Solución

Perdón por romper un hilo antiguo, pero esto es lo que hacemos para vivir y somos realmente muy buenos en eso. Es todo lo que hacemos. Por lo tanto, parte de la información aquí es incorrecta y quiero dejar las cosas claras.

Teóricamente, la protección indescifrable no solo es posible, es lo que vendemos. El modelo básico que siguen los principales proveedores de protección anticopia (incluido nosotros) es utilizar el cifrado del exe y dlls y una clave secreta para descifrar en tiempo de ejecución.

Hay tres componentes:

  1. Cifrado muy fuerte: utilizamos cifrado AES de 128 bits que es efectivamente inmune a un ataque de fuerza bruta. Algún día, cuando las computadoras cuánticas son comunes, podría ser posible romperlo, pero no es razonable suponer que descifrará este cifrado seguro para copiar software en lugar de secretos nacionales.

  2. Almacenamiento seguro de claves: si un cracker puede obtener la clave para el cifrado, está en una manguera. La única forma de GARANTIZAR que no se pueda robar una clave es almacenarla en un dispositivo seguro. Usamos un dongle (viene en muchos sabores, pero el sistema operativo siempre lo ve como una unidad flash extraíble). El dongle almacena la clave en un chip de tarjeta inteligente que está reforzado contra ataques de canal lateral como DPA. La generación de claves está vinculada a múltiples factores que no son deterministas y dinámicos, por lo que no es posible una sola clave / crack maestro. La comunicación entre el almacenamiento de claves y el tiempo de ejecución en la computadora también está encriptada, por lo que se frustra un ataque de hombre en el medio.

  3. Detección de depurador: Básicamente, quiere evitar que un cracker tome una instantánea de la memoria (después del descifrado) y haga un ejecutable a partir de eso. Algunas de las cosas que hacemos para evitar esto son secretas, pero en general permitimos la detección del depurador y bloqueamos la licencia cuando hay un depurador (esta es una configuración opcional). Tampoco desciframos por completo todo el programa en la memoria, por lo que nunca puede obtener todo el código al & Quot; robando & Quot; memoria.

Tenemos un criptólogo a tiempo completo que puede descifrar el sistema de protección de cualquiera. Pasa todo su tiempo estudiando cómo descifrar software para que podamos evitarlo. Por lo tanto, no cree que esto sea solo un precio barato para lo que hacemos, no somos únicos: otras compañías como SafeNet y Arxan Technologies también pueden brindar una protección muy fuerte.

Una gran cantidad de esquemas de ofuscación o solo software son fáciles de descifrar, ya que el cracker puede identificar el punto de entrada del programa y bifurcarse en cualquier verificación de licencia u otras cosas que el ISV haya puesto para tratar de evitar la piratería. Algunas personas, incluso con dongles, abrirán un cuadro de diálogo cuando no se encuentre la licencia; establecer un punto de interrupción en ese error le dará al cracker un lugar agradable en el código de ensamblaje para hacer un parche. Nuevamente, esto requiere que esté disponible un código de máquina sin cifrar, algo que no se obtiene si se realiza un cifrado seguro del archivo .exe.

Una última cosa: creo que somos únicos en que hemos tenido varios concursos abiertos donde proporcionamos un sistema a las personas y los invitamos a descifrarlo. Hemos tenido algunos premios en efectivo bastante fuertes, pero aún nadie ha descifrado nuestro sistema. Si un ISV toma nuestro sistema y lo implementa de manera incorrecta, no es diferente de poner un candado excelente en su puerta frontal conectado a un cerrojo barato con tornillos para madera, fácil de eludir. Pero si usa nuestras herramientas como le sugerimos, creemos que su software no puede ser descifrado.

HTH.

Otros consejos

No, no es realmente posible prevenirlo. Puede hacerlo extremadamente difícil: algunas versiones de Starforce aparentemente lograron eso, a expensas de molestar seriamente a un número de & "; Usuarios &"; (las víctimas pueden ser más precisas).

Su código se está ejecutando en su sistema y pueden hacer lo que quieran con él. Adjunte un depurador, modifique la memoria, lo que sea. Así es como es.

Spore parece ser un elegante ejemplo de que los esfuerzos draconianos en esta dirección no solo no han logrado evitar que se comparta en las redes P2P, etc., sino que también ha dañó la imagen del producto y casi con toda seguridad las ventas.

También vale la pena señalar que los usuarios pueden necesitar romper la protección de copia para su propio uso; Recuerdo haber jugado Diablo en mi computadora portátil hace algunos años, que no tenía unidad óptica interna. Así que me caí en una grieta sin CD, y luego me entretuve durante varias horas en un largo vuelo en avión. Obligar a ese tipo de verificación y, por lo tanto, a los usuarios a evitarlo es una característica errónea del tipo más estúpido.

Es imposible detenerlo sin romper su producto. La prueba:

Dado: las personas que está tratando de evitar que piratee / robe inevitablemente serán mucho más sofisticadas técnicamente que una gran parte de su mercado.
Dado: Su producto será utilizado por algunos miembros del público.
Dado: el uso de su producto requiere acceso a sus datos en algún nivel.

Por lo tanto, debe divulgar su clave de cifrado / método de protección de copia / datos del programa al público de manera tal que los datos se hayan visto en su forma utilizable / sin cifrar.
Por lo tanto, tiene alguna manera de hacer que sus datos sean accesibles para los piratas.
Por lo tanto, sus datos serán más fácilmente accesibles para los hackers que su audiencia legítima.
Por lo tanto, cualquier cosa que pase el método de protección más simple terminará tratando a tu audiencia legítima como piratas y alienándolos

O, en resumen, la forma en que el usuario final lo ve:
Robar este cómic

Porque es una defensa fija contra un oponente pensante.

¿Los teóricos militares mataron a golpes a este hace cuántos milenios?

La protección contra copia es como la seguridad: es imposible alcanzar el 100% de perfección, pero puede agregar capas que lo hacen cada vez más difícil de descifrar.

La mayoría de las aplicaciones tienen algún punto en el que preguntan (ellos mismos), " ¿Es válida la licencia? " El hacker solo necesita encontrar ese punto y alterar el código compilado para devolver & Quot; yes. & Quot; Alternativamente, los crackers pueden usar la fuerza bruta para probar diferentes claves de licencia hasta que una funcione. También hay factores sociales: una vez que una persona compra la herramienta, puede publicar un código de licencia válido en Internet.

Entonces, la ofuscación del código hace que sea más difícil (pero no imposible) encontrar el código para alterar. La firma digital de los binarios hace que sea más difícil cambiar el código, pero aún así no es imposible. Los métodos de fuerza bruta se pueden combatir con códigos de licencia largos con muchos bits de corrección de errores. Los ataques sociales pueden mitigarse requiriendo un nombre, correo electrónico y número de teléfono que sea parte del código de licencia en sí . He usado ese método con gran efecto.

¡Buena suerte!

La diferencia entre seguridad y protección contra copia es que con la seguridad, está protegiendo un activo de un atacante mientras permite el acceso de un usuario autorizado. Con protección contra copia, el atacante y el usuario autorizado son la misma persona. Eso hace imposible la protección anticopia perfecta.

Creo que con el tiempo suficiente, un posible cracker puede eludir cualquier protección de copia, incluso las que usan devoluciones de llamada a servidores remotos. Todo lo que se necesita es redirigir todo el tráfico saliente a través de un cuadro que filtrará esas solicitudes y responderá con los mensajes apropiados.

En una línea de tiempo lo suficientemente larga, la tasa de supervivencia de los sistemas de protección de copia es 0. Todo es de ingeniería inversa con suficiente tiempo y conocimiento.

Tal vez debería enfocarse en formas de hacer que su software sea más atractivo con versiones reales, registradas y sin descifrar. Un servicio al cliente superior, ventajas para el registro, etc. recompensan a los usuarios legítimos.

Básicamente, la historia nos ha demostrado que lo máximo que puede comprar con protección contra copia es un poco de tiempo. Fundamentalmente, dado que hay datos que desea que alguien vea de una manera, hay una manera de obtener esos datos. Dado que hay una forma en que alguien puede explotar de esa manera para acceder a los datos.

Lo único que puede hacer cualquier protección de copia o cifrado es dificultar el acceso a algo. Si alguien está lo suficientemente motivado, siempre existe la forma de fuerza bruta para sortear las cosas.

Pero, lo que es más importante, en el espacio del software tenemos toneladas de herramientas que nos permiten ver cómo funcionan las cosas, y una vez que obtiene el método de cómo funciona la protección contra copia, es muy simple obtener lo que desea.

El otro problema es que la protección de copia en su mayor parte simplemente frustra a los usuarios que pagan por su software. Eche un vistazo al modelo de código abierto que no molestan y algunas personas están ganando mucho dinero alentando a las personas a copiar su software.

" Intentar hacer que los bits no se puedan copiar es como tratar de hacer que el agua no esté mojada. " - Bruce Schneier

La protección contra copia y otras formas de gestión de restricciones digitales son inherentemente rompibles, ya que no es posible hacer que un flujo de bits sea visible para una computadora y al mismo tiempo evitar que esa computadora los copie. Simplemente no se puede hacer.

Como otros han señalado, la protección contra copia solo sirve para castigar a los clientes legítimos. No tengo ganas de jugar Spore, pero si lo hiciera, probablemente lo compraría, pero luego instalaría la versión crackeada porque en realidad es un mejor producto por su falta del SecuROM que daña el sistema o el esquema de activación que priva la propiedad.

}} ¿Por qué?

Puedes comprar la caja fuerte más cara del mundo y usarla para proteger algo. Una vez que regalas la combinación para abrir la caja fuerte, has perdido tu seguridad.

Lo mismo es cierto para el software, si desea que las personas usen su producto, debe darles la capacidad de abrir la caja fuerte proverbial y acceder a los contenidos, ofuscar el método para abrir la cerradura no ayuda. Les has otorgado la posibilidad de abrirlo.

Puede confiar en sus clientes / usuarios, o puede perder cantidades excesivas de tiempo y recursos tratando de derrotarlos en lugar de proporcionar las características que quieren pagar.

Simplemente no vale la pena molestarse. De Verdad. Si no protege su software, y es bueno, sin duda alguien lo pirateará. La barrera será baja, por supuesto. Pero el tiempo que ahorre sin molestarse será el tiempo en que puede invertir en su producto, marketing, relaciones con los clientes, etc., construyendo su base de clientes a largo plazo.

Si dedicas tiempo a proteger tu producto en lugar de desarrollarlo, definitivamente reducirás la piratería. Pero ahora sus competidores pueden desarrollar características para las que no tuvo tiempo, y puede terminar vendiendo menos, incluso a corto plazo.

Como otros señalan, puede terminar fácilmente frustrando a usuarios reales y legítimos más de lo que frustra a los delincuentes. Siempre tenga en cuenta a sus usuarios que pagan cuando desarrolle una técnica de elusión.

Si tu software es deseado, no tienes esperanza contra el ejército de aburridos de 17 años. :)

En el caso de una copia personal / infracción de derechos de autor no comercial, el factor clave parece ser la relación entre el precio del artículo y la facilidad de copiarlo. Puede aumentar la dificultad para copiarlo, pero con rendimientos decrecientes como se resalta en algunas de las respuestas anteriores. La otra táctica sería bajar el precio hasta que incluso el esfuerzo de descargarlo a través de Bittorrent sea más engorroso que simplemente comprarlo.

En realidad, hay muchos ejemplos exitosos en los que un autor ha encontrado un punto óptimo de fijación de precios que ciertamente ha resultado en una gran ganancia para sí mismo. Intentar perseguir una prevención de copia 100% no autorizada es una causa perdida, solo necesita obtener un gran grupo de clientes dispuestos a pagar en lugar de descargar ilegalmente. Lo que hace que la piratería de software sea económica es también lo que hace que sea económico publicar software.

Hay una manera fácil, me sorprende que no lo hayas dicho en las respuestas anteriores. Mueva la protección de copia a un área segura (comprenda su servidor en su laboratorio seguro). Su servidor recibirá un número aleatorio de los clientes (verifique que el número no se haya usado antes), cifre algunos resultados de código / cálculo binarios en constante evolución con el número de clientes y su clave privada y envíelo de vuelta. Ningún hacker puede eludir esto ya que no tienen acceso a su código de servidor.

Lo que estoy describiendo es básicamente un servicio web, otro SSL, que es a donde va la mayoría de las empresas hoy en día.

Contras: un competidor desarrollará una versión fuera de línea del mismo producto destacado durante el tiempo que termine su código criptográfico.

Sobre protecciones que no requieren red:

Según las notas flotantes, tomó dos años descifrar una aplicación popular que utilizaba un esquema similar al descrito en la respuesta de John. (protección de dongle de hardware personalizado)

Otro esquema que no involucra un dongle es " protección expansiva " ;. Lo acuñé hace un momento, pero funciona así: hay una aplicación que guarda los datos del usuario y para la cual los usuarios pueden comprar expansiones y cosas de terceros. Cuando el usuario carga los datos o usa una nueva expansión, las expansiones y los datos guardados también contienen código que realiza verificaciones. Y, por supuesto, estos controles también están protegidos por controles de suma de control. No es tan seguro en el papel como el otro esquema, pero en la práctica esta aplicación ha estado medio agrietada todo el tiempo, por lo que funciona principalmente como una prueba a pesar de estar agrietada ya que las grietas siempre perderán algunos controles y tendrán que parchear estas expansiones como bien.

El punto clave es que, si bien estos se pueden descifrar, si suficientes proveedores de software utilizan dichos esquemas, esto sobrecargaría a las pocas personas en la escena que están dispuestas a dedicarse a ellas. Si hace los cálculos, las protecciones no tienen que ser tan buenas, siempre y cuando suficientes proveedores usen estas protecciones personalizadas que cambian constantemente, simplemente abrumaría a los crackers y la escena de warez terminaría en ese momento. *

La única razón por la que esto no ha sucedido es porque los editores compran una única protección que usan en todas partes, lo que la convierte en un gran objetivo al igual que Windows es el objetivo del malware, cualquier protección utilizada en más de una sola aplicación es un objetivo más grande. Por lo tanto, todos deben estar haciendo su propia protección expansiva de múltiples capas única y personalizada. La cantidad de lanzamientos de warez se reduciría a quizás una docena de lanzamientos por año si lleva meses descifrar un solo lanzamiento por los mejores crackers.

Ahora para un poco de elaboración de teorías en software de marketing:

Si cree que warez proporciona un valor de marketing que vale la pena, entonces eso debe tenerse en cuenta en el plan de negocios. Esto podría implicar una versión lite básica muy (demasiado) que todavía cuesta unos pocos dólares para garantizar que se haya descifrado. Luego conectaría a los usuarios con & Quot; actualización por tiempo limitado a bajo costo desde la versión lite & Quot; ofrece regularmente y otras tácticas de ventas adicionales. La versión lite realmente debería tener como máximo una característica que valga la pena comprar y, de lo contrario, estar muy paralizada. El precio probablemente debería ser & Lt; 10 $. La versión completa probablemente debería ser el doble que el precio de actualización de la versión de demostración de pago de $ 10 lite. p.ej. Si la versión completa es de $ 80, ofrecería actualizaciones de la versión lite a la versión completa por $ 40 o algo que realmente parece una ganga. Por supuesto, evitaría revelar estas gangas a los compradores que fueron directos a la edición de $ 80.

Sería crítico que la versión completa no compartiera similitud en el código con la versión lite. Pretendes que la versión lite se renueve y la versión completa requerirá mucho tiempo para crackear o dependerá de la red en una funcionalidad que será difícil de imitar localmente. Los crackers probablemente estén más especializados en cracking que intentar codificar / replicar partes de la funcionalidad que la aplicación tiene en el servidor web.

Anexo

* : para aplicaciones / juegos, la escena podría terminar en circunstancias tan improbables y teóricas, para otras cosas como música / películas y en la práctica, trataría de hacerlo barato para dl digital compradores para obtener artículos físicos coleccionables adicionales o valor solo en línea: muchas personas son coleccionistas de cosas (especialmente los piratas) y podrían ser atraídos a comprar si gana algo lo suficientemente deseable por solo una copia digital.

Tenga cuidado, sin embargo: hay algo llamado " la ley de expectativas crecientes " ;. Ejemplo de juegos: la caja estándar Ultima 4-6 incluye un mapa hecho de tela, y la edición Skyrim Collectors tiene un map de papel. Las expectativas habían aumentado y algunas personas no estarán contentas con un mapa en papel. Desea mantener constante la calidad del producto o servicio o gestionar las expectativas con anticipación. Creo que esto es crítico cuando se consideran estas cosas de valor agregado, ya que usted desea que sean deseables pero no cada vez más caras de hacer y no se conviertan en algo que parece tan inútil que anula el propósito.

Esta es una ocasión en la que el software de calidad es algo malo, porque si nadie es su software, entonces no pasarán tiempo tratando de descifrarlo, por otro lado, cosas como Adobe Master Collection CS3, estuvieron disponibles solo días después del lanzamiento .

Entonces, la moraleja de esta historia es que si no quieres que alguien te robe tu software, hay una opción: no escribir nada que valga la pena robar.

Creo que a alguien se le ocurrirá una forma dinámica de IA de derrotar todos los métodos estándar actuales de protección de copia; diablos, me encantaría que me pagaran por trabajar en ese problema. Una vez que lleguen allí, se desarrollarán nuevos métodos, pero esto retrasará las cosas.

La segunda mejor manera para que la sociedad detenga el robo de software es penalizarlo fuertemente y aplicar las sanciones.

La mejor manera es revertir el declive moral y, por lo tanto, aumentar el nivel de integridad en la sociedad.

Una causa perdida si alguna vez escuché una ... por supuesto, eso no significa que no debas intentarlo.

Personalmente, me gusta la versión de Penny Arcade: " ; Un argumento cíclico con un literal Strawman & Quot; texto alternativo http://sonicloft.net / im / 52

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top