Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aunque parezca que el objetivo principal del cracking consista en alterar el software
con ciertas modificaciones de su funcionalidad original (normalmente cambios relativos a la
seguridad o a las propiedades de la protección), excede la sencilla actividad de editar el código
del programa. Puede llegar a anularse una buena parte de los sistemas de protección sin
practicar ninguna modificación al programa: hallando la contraseña, el número de registro,
etc., e incluso simplemente estudiando el código de programa.
CIFRADO
Este método de protección consiste en emplear datos cifrados para descifrarse posteriormente
tecleando un número de registro (contraseña, etc.) sobre el que no se realiza ninguna
comprobación, tampoco se realiza sobre la clave de descifrado (característica muy importante)
—los datos quedan así descifrados—, si se produjera algún error, la clave generada seria
errónea.
El único modo de sortear este tipo de protección se reduciría a intentar un ataque masivo, lo
que, suponiendo que se haya aplicado un buen algoritmo de cifrado, constituye una tarea casi
insuperable. Si el programa emplea un algoritmo tipo RSA y un código de 2048 bits, quedará
protegido con seguridad incluso frente a entidades gubernamentales si bien se ha mejorado
mucho el proceso de resolución del problema que supone la factorización (o se halle una
solución alternativa).
Desgraciadamente, esta técnica encierra su propia debilidad. Resulta válida sólo hasta que el
cracker consiga la clave. Tan pronto la obtenga de un conocido que se haya registrado o la
encuentre en Internet, nada evitará que pueda guardar los datos de forma no cifrada.
PROGRAMAS INCOMPLETOS
Otra forma de evitar violar un programa consiste en retirar aquella parte del código que
pudiera ser atacado. Resulta bien simple. Al crear una versión para demostración o de código
compartido (de funcionalidad limitada) de un programa, resulta preferible empaquetar estas
versiones distinguiéndolas de la versión íntegra del programa (y no al revés, donde la versión
de demostración se convierte en la definitiva tras introducir el número de serie...). De este
modo, se puede suprimir aquella parte del código de la que se pueda prescindir.
El usuario registrado normalmente recibe la versión íntegra del programa. Lo que, no obstante,
exige un mecanismo de copia sofisticado para evitar que la versión completa del programa se
difunda ilegalmente. Numerosos programadores han perdido dinero por esta razón.
• Fichero clave
• Programas limitados
• Clave hardware ("dongle")
• Protección comerciad
Para ilustrar lo peligroso que resulta superar las protecciones, mostraremos las
vulnerabilidades de algunos de los métodos de protección de software anteriormente
mencionados. Ello le podría convencer de la necesidad de empezar a proteger su software.
Duración limitada
Los creadores de software que aplican métodos de protección basados en la duración limitada
pretenden asegurarse de que su software no va a volver a funcionar pasado el periodo de
prueba o que sus opciones van a quedar restringidas de una u otra manera.