Protección de software contra copia y piratería: métodos y estrategias básicos



Según las estadísticas del estudio BSA Global Software Survey 2018 :

  • El software sin licencia (pirateado) representa el 37% de la cantidad total de software instalado en PC personales en todo el mundo.
  • El costo del software falsificado se estima en $ 46 mil millones.
  • El malware, que infecta muchos programas pirateados descargados de fuentes de terceros, cuesta a las empresas $ 359 mil millones al año.
  • Las pérdidas por piratear software con licencia ascienden a alrededor de $ 600 mil millones anuales.

Todos sabemos que entre los usuarios hay quienes compran honestamente el programa y lo utilizan para el propósito previsto, y hay quienes piratean el software de una forma u otra y trabajan con él o lo venden.

Skillbox recomienda: un curso práctico de dos años, "Soy un desarrollador web PRO" .

Le recordamos: para todos los lectores de "Habr": un descuento de 10.000 rublos al registrarse en cualquier curso de Skillbox con el código de promoción "Habr".
Es poco probable que los desarrolladores de software que crean productos pagos quieran pasar varios años de sus vidas en un programa que piratearán y usarán de forma gratuita. Las pérdidas de reputación también pueden convertirse en un problema: por ejemplo, al descargar software pirateado de una determinada empresa que infecta la PC de un usuario con un virus introducido por un atacante, la víctima probablemente culpe al fabricante y no al cracker.

En cuanto a los ingresos, según BSA, una empresa que decide tomarse en serio la protección de sus productos de software puede esperar aumentar las ganancias en aproximadamente un 11% (sin embargo, es importante comprender que este es un valor promedio).

Pero, ¿qué se puede hacer para proteger su software?


Existen muchas soluciones diferentes para licenciar y proteger software. Antes de elegir uno para usted, vale la pena responder varias preguntas importantes.

Primero, debe decidir qué nivel de protección puede necesitar su proyecto en particular. No dispare desde un cañón a los gorriones, la elección debe ser adecuada. Muchos desarrolladores cometen un error aquí al usar una protección más potente (y costosa) de la que realmente necesitan.

En segundo lugar, debe preguntarse cuánto está dispuesto a gastar en defensa. La respuesta puede ser complicada, por lo tanto, para tomar la decisión correcta, vale la pena analizar lo que pueda necesitar.

Luego, cuando decida sobre todo, puede comenzar a elegir la protección basada en la estrategia para usar el producto de software.

Funciones clave de seguridad

Todo comienza con la elección del principio de licencia: debe elegir cómo pagarán su producto. Existen muchas variedades, en general se pueden dividir en cuatro tipos:

  • Pago único. Pagan su software una vez, después de lo cual pueden usarlo por tiempo ilimitado.
  • Limitaciones funcionales Funciones adicionales que el usuario puede abrir a un costo adicional.
  • Licencia temporal Usted "alquila la aplicación", es decir, estamos hablando de una suscripción.
  • En capas. Es una combinación de estos métodos. El usuario recibe una versión Silver, Gold o Platinum del software con el pago correspondiente.

Una vez que haya decidido una estrategia de licencia, es hora de comenzar a buscar tecnologías de protección de software. Y aquí vale la pena recordar matices como la capacidad de conectar el software a Internet, su especialización, el tipo de plataforma para la que está destinado el software, etc.

Destacamos una vez más la importancia de elegir una protección adecuada. Si va a proteger su bicicleta con el método utilizado en Fort Knox, esto difícilmente se puede llamar razonable. Existe una relación inversa: si desea proteger Fort Knox, no use un candado de bicicleta para esto, es inútil, la piratería está garantizada. En general, la estrategia de licencia debe ser acorde con el precio del producto en sí.

Tipos de proteccion


Como se mencionó anteriormente, hay varias opciones para proteger el software contra piratería y copia. Estas opciones pueden variar en costo, nivel de protección y especialización.

Protección de confianza. Aquí cuenta con el hecho de que los usuarios pagarán sin ningún problema. Un usuario: una licencia, eterna. En principio, prácticamente no hay costos de su parte. Una vez que se compila la aplicación, puede comenzar a distribuirla. Pero el problema es que si su producto se vuelve popular, entonces alguien definitivamente lo romperá, después de haber comenzado a distribuirlo. En este caso, no hay protección contra la piratería, es cero.

Protección de software sin conexión

Se trata de protección sin conexión a internet. Por lo general, dicho esquema se implementa inmediatamente después de compilar el programa. El shell más utilizado con ciertas configuraciones. Un programa protegido no está conectado para verificar la integridad de ningún servidor externo. En principio, puede evitar dicha protección sin ningún problema.

Protección de software en línea

Aquí estamos hablando de un método más serio: verificar la licencia utilizando el servidor de licencias. En este caso, se requieren costos relativamente altos al principio y costos recurrentes más adelante. Como en la versión anterior, se utiliza el shell, pero los parámetros de licencia se verifican y configuran en línea.

Si lo desea, puede agregar opciones de verificación de software: cómo se usa, si hay una licencia o no. Si necesita una conexión permanente a la red, es probable que el producto no funcione siempre y no en todas partes.

La gravedad de dicha protección es entre media y alta.

Protección de hardware

Uno de los métodos más confiables que combina las ventajas de todas las demás estrategias. La licencia es responsabilidad de una llave USB electrónica que no requiere una conexión de red. El precio de cada clave para el desarrollador es bajo, no hay gastos adicionales periódicos. Puede implementarlo utilizando la API y a través del shell.

La ventaja de este método es que la licencia se puede eliminar fuera del sistema operativo, la clave se almacena fuera de la PC. La clave es muy difícil o imposible de copiar. El software que está protegido con una clave de hardware se puede usar en sistemas donde no hay conexión de red. Esto, por ejemplo, instalaciones gubernamentales o industria. Otra ventaja es que la clave electrónica no requiere diferentes soluciones para diferentes entornos de software, y las opciones de licencia son muy flexibles.

Las soluciones basadas en una clave de hardware se pueden implementar en literalmente minutos, son compatibles con casi cualquier versión de los sistemas operativos.

Sin embargo, recuerde que el proveedor de la solución (si no puede crear la clave de hardware usted mismo) debe hacer todo rápidamente para que no haya necesidad de esperar un envío de claves y, en consecuencia, posponer el inicio de las ventas de su software. Además, el proveedor debe proporcionar una solución simple y efectiva que se implemente rápidamente. Por supuesto, debe confiar en el proveedor; de lo contrario, no debe usar sus servicios.

Vale la pena pensar en la protección del software en la etapa de diseño: después de que un proyecto esté parcial o totalmente listo, cambiar algo no será fácil.

Skillbox recomienda:

Source: https://habr.com/ru/post/440836/


All Articles