cracking & anti cracking

Download Cracking & Anti Cracking

Post on 04-Jul-2015

216 views

Category:

Documents

4 download

Embed Size (px)

TRANSCRIPT

CRACKING & ANTICRACKING

Cracking no es sinnimo de violacin de la proteccin del software, sino que constituye un mtodo para probar la resistencia del programa frente a los posibles ataques y su posterior difusin ilegal. Resulta prcticamente imposible crear una proteccin inviolable, lo que no significa que todas las protecciones estn condenadas al fracaso y que no puedan cumplir su misin.

Cracking: Ataque y defensa del software

El cracking se puede describir como el grupo de tcnicas empleadas para codificar, analizar y estudiar los principios de un programa sin disponer de su cdigo fuente. Por ejemplo cuando un desarrollador crea un programa, comienza escribiendo el cdigo fuente en el lenguaje de programacin elegido para compilar y ejecuta. De esta manera nadie podra editar el programa sin disponer del cdigo fuente y realizar de nuevo la compilacin pero esto es falso, y es precisamente en lo que el cracking se basa.

En qu consiste el cracking?

La tcnica de ingeniera inversa constituye la piedra angular del cracking, esta se basa en la descompilacin, o compilacin inversa, de un programa a un lenguaje de programacin, generalmente el ms bsico es ensamblador. Existen descompiladores capaces tambin de descompilar un programa a un lenguaje de programacin de alto nivel. Puede llegar a anularse una buena parte de los sistemas de proteccin sin practicar ninguna modificacin al programa: hallando la contrasea. El nmero de registro, etc., e incluso simplemente estudiando el cdigo del programa.

Utilizando ingeniera inversa?

El procedimiento bsico consiste en las descompilacin de un programa en un lenguaje de programacin, a ensamblador en la mayora de las ocasiones. El cracker podr estudiar el programa de forma pasiva, desensamblarlo con un desensamblador (descompilador que efecta una compilacin inversa en ensamblador) de esta manera se obtiene su cdigo ensamblador esttico, o bien aplicar un programa de depuracin, un debugger.

Herramientas de cracking elementales

El cracker tambin puede hacer uso de un depurador. Al constituir uno de los pasos claves el uso frecuente de algn depurador (debugger) para realizar el anlisis del programa, resulta pertinente intentar evitar su utilizacin. Razn que conduce a los infractores a aplicar distintos mtodos y programas que enmascaren su depurador. Por ejemplo, un programa empleado para detectar un depurador se denomina FrogsIce.

Herramientas de cracking elementales

Si se efectuaran alteraciones al cdigo del programa, estas debern guardarse en algn lado. Con este propsito existen varios editores hexadecimales, alternativamente, se puede modificar el cdigo del programa directamente en memoria mediante un cargador. Tambin figuran los volcadores, programas diseados para guardar en disco el contenido de la memoria. Muy tiles para almacenar datos importantes descodificados por el programa automticamente. ProcDump representa un buen ejemplo: es un volcador y descodificador que tambin incluye otras muchas funciones.

Herramientas de cracking elementales

Depurador (debugger): Son programas originalmente creados para corregir errores en otros programas informticos, pudiendo abrir cualquier ejecutable (.exe) en el leguaje ASM indistintamente de cual haya sido el lenguaje original del programa (entienden ahora la importancia del ASM, hay que aprenderlo). Con este programa podemos ejecutar cada instruccin del programa y detenernos en cualquier momento o en el momento en que el programa toma la decisin de estar registrados o no y poder cambiar el cdigo a nuestro beneficio. Uno de los depuradores mas famosos sin duda es softice tambin apodado la bestia negra por su apariencia tipo mdos y por lo poderoso que poda ser para crackear programas.

Desamblador (disassembler): Programa que te permite ver cualquier ejecutable en leguaje ASM as como referencias de texto entre otras. La principal diferencia con un debugger es que el desamblador podemos ver el cdigo en ASM y el debugger podemos interactuar con el (ejecutar, modificar). Un desamblador bastante til es W32dasm que tambin es debugger, pero se usa mas que nada solo como desamblador ya que si queremos un buen debugger esta olly que lo supera ampliamente .

Editor hexadecimal: Programa que te permite editar cualquier archivo de forma hexadecimal. Todo el cdigo ensamblador tiene su correspondiente en hexadecimal, los debugger y desensambladores traducen estos a las instrucciones que vemos normalmente. Podemos hacer una modificacin en el ejecutable de dos formas. La primera es con un editor hexadecimal y la otra es con el mismo olly. La desventaja de hacerlo con un editor es que si queremos modificar una instruccin en ensamblador tenemos que saber el correspondiente en hexadecimal y si lo hacemos con olly lo modificamos directamente por la instruccin que queremos. Algunos editores son el Ultraedit y el hex workshop.

Monitor del registro: Programa que sirve para vigilar el registro de windows. En ocasiones los programas guardan datos en el registro, datos como seriales, nombres de usuario, fecha de instalacin entre otros. Por lo tanto hay que tener en cuanta este tipo de programas que los puede servir mucho. Un ejemplo monitor de registro de Regmon Monitor de archivos: Programa que sirve para vigilar posibles vnculos con archivos. Algo parecido al monitor de registro con la diferencia obvia en que este monitorea archivos ya sea del tipo dat .txt lo que sea. Este tipo de programas es menos til que el monitor de registro ya que casi siempre los programas guardan los datos en el registro de windows.

Descompresores: Algunos programas utilizan distintos tipos de compresiones sin que estos varen la extensin .exe lo que hace ms difcil crackear, ya que al estar comprimidos no estamos analizando un ejecutable normal. Los compresores ms famosos son UPX, ASprotect, ASPack, armadillo, PECompressor, etc. Los descompresores tienen multitud de nombres casi todos incluyen el mismo nombre del compresor Ej. Aspackdie.

Cracker n. El que rompe la seguridad de un sistema. Acuado hacia 1985 por hackers en defensa ante la utilizacin inapropiada por periodistas del trmino hacker. Fall un intento anterior de establecer gusano en este sentido en 1981-1982 en Usenet. La utilizacin de ambos neologismos refleja una fuerte repulsin contra el robo y vandalismo perpretado por los crculos de crackers. Aunque se supone que cualquier hacker autntico ha jugado con algn tipo de crackeo y conoce muchas de las tcnicas bsicas, se supone que cualquiera que haya pasado la etapa larval ha desterrado el deseo de hacerlo con excepcin de razones prcticas inmediatas (por ejemplo, si es necesario pasar por alto algn sistema de seguridad para completar algn tipo de trabajo.)

Por lo tanto, hay mucho menos en comn entre el mundo de los hackers y de los crackers de lo que el lectormundano, confundido por el periodismo sensacionalista, pueda suponer. Los crackers tienden a agruparse en grupos pequeos, muy secretos y privados, que tienen poco que ver con la poli-cultura abierta y enorme que se describe en este diccionario; aunque los crackers a menudo se definen a s mismos como hackers, la mayor parte de los autnticos hackers los consideran una forma de vida inferior.

A Short History of Hacking es un resumen altamente comprimido de la historia del hacking (a lo que habra que aadir ms apropiadamente y del cracking, por aquello de los matices). No conoca la mencin que hacen a que fue John mente maravillosa Nash fue quin acu la acepcin moderna de hacker (el trmino viene de antiguo, significaba originalmente originalmente, alguien que fabrica muebles con un hacha).

A Short History of Hacking