Español | English
rss facebook linkedin Twitter

Protección del software (Parte III)

Seguimos esta ligerísima introducción a la protección del software mencionando diferentes tipos de protección que nos podemos encontrar hoy día en las aplicaciones, tal y como comentamos en el post anterior.

Protección por keyfile.


En este caso, el programa necesita un fichero que cumpla ciertos requisitos para poder registrarse. Se puede considerar que es un caso concreto dentro de una protección por número de serie, pero la entrada de datos es un fichero en lugar del teclado, lo cual permite utilizar claves mucho más complejas.

Periodo de prueba de X días


Esto no se puede considerar una técnica de protección por sí sola, ya que siempre va asociada a alguno de las dos anteriores o asociado a un bloqueo de funcionalidades.

Como caso más genérico y fácil de entender podemos ver los casos en los que el programa suele anotar la fecha en que es instalado y, a medida que pasan los días, comprueba cuantos días han pasado, de tal manera que si han transcurrido los X días permitidos, caduca.

Como muchos habréis pensado, tan sólo cambiar la hora del sistema puede hacer que un programa muy muy mal implementado (desde el punto de vista de la seguridad) no caduque.

Versión limitada (Demo)

Esta vez a la aplicación se le han deshabilitado funcionalidades, y necesitamos tener la versión registrada para poder utilizar todo el potencial del programa.
Muchas de estas versiones de demostración se pueden registrar mediante un número de serie, y es muy común encontrar que el código que implementa la funcionalidad deshabilitada se encuentra en la aplicación pero, por ejemplo, las opciones del menú no se encuentran operativos..

Realmente me resulta curioso que si no pretendes dar una funcionalidad, la distribuyas con la aplicación pero desactivada. ¿No sería mucho más lógico no distribuirla y que cuando el usuario se registre pueda obtener una versión nueva totalmente funcional? Si por el motivo que sea te interesa ser pirateado, eso ya es otra cosa...

Necesidad de otro dispositivo (CD-ROM, USB stick...)

Estas protecciones generalmente tienen un objetivo distinto, que consiste en evitar la copia de un software completo, algo que queda fuera del enfoque de este artículo, pero también les echaremos un vistazo superficial.

En este caso nos encontramos que diferentes aplicaciones, como son los juegos, algunos programas de CAD, etc, que utilizan una técnica de protección mixta, parte software y parte hardware, ya que solicitan la introducción de, por ejemplo, un CD-ROM original, de un stick USB o una mochila conectada al puerto paralelo.

Estas protecciones pueden ser más fuertes que las basadas solamente en software, pero pueden no serlo si no están debidamente implementadas. Si se dispone de un dongle original, se puede intentar emularlo, o se puede intentar engañar a la aplicación para que crea que el dongle está conectado.

Si se va a proteger una aplicación mediante un dongle, es aconsejable que éste ejecute cierta lógica compleja y necesaria para la correcta ejecución de la aplicación. De esta manera evitaremos que el atacante tenga que lidiar únicamente con una comprobación de la conexión de un dispositivo.

En el siguiente post veremos algunas ideas muy genéricas que se deberían respetar al proteger una aplicación, siguiendo con la misma idea del programa que requiere contraseña para su registro.


Mikel Gastesi
S21sec e-crime

4 comentarios:

Anónimo dijo...

Yo utilizo doongle usb para proteger mi aplicacion.
Pero despues de leer los 3 excelentes articulos que han posteado me queda la gran duda de cual es la mejor forma de proteger la aplicacion.

Si bien yo chequeo, grabo informacion encriptada en la llave, chequeo el nro, me parece que eso no alcanza, que no es una proteccion robusta.
Si como comentan de todas formas podrian saltear la proteccion.

Entonces no hay forma posible de proteger una aplicacion, salvo complicarla no mas ?

Gracias por sus comentarios.

S21sec e-crime dijo...

Hola anónimo,

La protección por dongle puede resultar muy robusta.

Si consultas el número del dongle, en vez de comprobar que es el correcto, puedes utilizarlo como clave de descifrado de tu aplicación, de modo que sin el número de serie (y en consecuencia, el dongle) correcto el programa no pueda funcionar.

Por supuesto, si el cifrado es débil o el número del dongle corto y se permite un ataque por fuerza bruta, no tiene mucho sentido.

Además, puedes guardar alguna librería necesaria (o similar) en el dongle, que dificultará el análisis de quien no lo tenga, pero debes tener en cuenta que los clientes que ya posean la aplicación con el dongle puede que tengan acceso al mismo...

Es verdad que la protección perfecta no se ha encontrado, pero esto no quiere decir que no existan protecciones fuertes ;)

Saludos,

Anónimo dijo...

Me uno a este post, yo no protejo mi software porque no se realmente si vale la pena gastar en esas llaves.

Lo que vi en internet que parece bueno son las llaves hasp de proteccion ? http://www.aladdin.es/hasp/srm-models/hasp-hl-net.aspx

Pero como soy de Argentina no tengo la posibilidad de comprarlas.

Alguien conoce la RockeyND o las HardKey de otra empresa Argentinas sirven para algo ???
O es gastar plata no mas...

S21sec e-crime dijo...

Hola anónimo,

Las protecciones por dongles HASP son duras de roer, pero también se han conseguido emular.

Las otras que comentas no las conozco, por lo que no puedo opinar al respecto, pero hay que dar un voto de confianza a los creadores de dichas protecciones.

Realmente que una proteccón haya sido rota tampoco quiere decir que ese producto ya no valga para proteger, sino que se ha demostrado que no es totalmente seguro.

¿Se querrán utilizar los recursos necesarios (adquirir conomiento/emplear tiempo) en romper la protección de mi apliación? Tal vez sí, tal vez no.

A falta de una protección 100% segura, la elección de la protección ideal de una aplicación es un tema muy complejo y personal.

Saludos,


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login