Você está na página 1de 64

Primer ciclo de conferencias de seguridad informtica

2-7 abril 2006


FES Acatln

Ingenieria inversa vs antipirateria


Roberto Gmez Crdenas
ITESM-CEM
http://webdia.cem.itesm.mx/ac/rogomez
rogomez@itesm.mx
Lmina 1

Dr. Roberto Gmez C.

Para empezar dos preguntas


Cunto estamos dispuestos a pagar por un
software?
Cuntos estaran dispuestos a conseguirlo
en lugares no recomendados?
Cuntos bajaran un programa para romper
la llave?
Y la ltima
Cunto nos gustara que nos pagaran, si la empresa
que cre el software anterior nos contratara?
Lmina 2

Dr. Roberto Gmez C.

Algunos nmeros
36% por ciento del software que se utiliza en el
mundo es ilegal.
Tasas de piratera disminuyeron en 37 pases pero
aumentaron en 34 pases
Perdidas por piratera se incrementaron por 29
billones de dolares a 33 billones de dolares
En 2004 mundo invirti ms de 59 billones en
software de PC
ms que los 51 millones en 2003
pero 90 millones se encuentra actualmente instalado

Business Software Alliance:


http://www.bsa.org/mexico
Lmina 3

Dr. Roberto Gmez C.

Tasas de piratera por regin

Lmina 4

Dr. Roberto Gmez C.

Clasificaciones de Piratera de
Software

Lmina 5

Dr. Roberto Gmez C.

Perdidas en dlares por regin


(millones)

Lmina 6

Dr. Roberto Gmez C.

Qu es la ingeniera inversa?
Metodologa para analizar el diseo de un
dispositivo o sistema, ya sea para estudiar el
diseo o como un pre-requisito para un
rediseo.
Beneficios
desarrollar un enfoque sistemtico para pensar
sobre el diseo de ingeniera de dispositivos y
sistemas
adquirir un banco de datos de soluciones
mecnicas
Lmina 7

Dr. Roberto Gmez C.

Ingeniera inversa o cracking?


Proceso extraer el cdigo fuente de una
aplicacin a partir del cdigo objeto
Tambin llamada decompilacin
quitar, remover o suspender uno ms sistemas de
proteccin de algn software en especfico,

El trmino cracking tambin se utiliza


tambin cuando se burla al sistema de
proteccin de algn software en especfico
para obtener una copia funcional de un
software supuestamente protegido.
Lmina 8

Dr. Roberto Gmez C.

Tipos de ataques
Piratera
software
Ingeniera
inversa
maliciosa
Software
Tampering
Tomado sin permiso de: Watermarking, Tamper-Proofing, and Obfuscation Tools for Software Protection, Christian S. Collberg

Lmina 9

Dr. Roberto Gmez C.

Algunos personajes relacionados


cracker
persona lleva a cabo la ingeniera inversa

shareware u honorware
usuarios envian un donativo a los autores
mencionados al principio del programa
nags screen

wracker
programas shareware o freeware

wares
intercambio programas comerciales
pirateados
Lmina 10

Una madrecita
Aprendiendo a
Hackear.

Dr. Roberto Gmez C.

Un primer ejemplo

Lmina 11

Dr. Roberto Gmez C.

Protegiendo la propiedad intelectual


Qu puedo hacer para proteger la propiedad
intelectual de mis productos?
Esteganografia
Marcas de agua

Lmina 12

Dr. Roberto Gmez C.

Estegano que?
Area similar a la de criptologa.
Viene del griego stegos (ocultar).
Conjunto de tcnicas que nos
permiten ocultar o camuflar
cualquier tipo de datos, dentro de
informacin considerada como
vlida.
La informacin puede esconderse de
cualquier forma
diferentes mtodos se han ido
desarrollando
Lmina 13

Dr. Roberto Gmez C.

Algunos ejemplos histricos


Herodoto:
440 ac: Aristagoras de Milet usa esclavos
calvos para la revuelta contra los persas
Demeratus enva mensaje (tablones
cubiertos de cera) a Esparta para avisar
de que Xerxes (rey de Persa) tena
intenciones de invadir Grecia.

Tintas invisibles
naturales: jugo limn, leche, orina, sal de
amoniaco
qumica: alumbre y vinagre, traspasar
cscara huevo duro

Chinos: texto escrito sobre seda china


Lmina 14

Dr. Roberto Gmez C.

Algunos ejemplos histricos


Siglo XVII: Schola
Steganographica,
Gaspar Schott
partituras msica
Segunda Guerra
mundial:
Microfilmes
prisioneros usan i, j, t, y
f para ocultar mensaje
en cdigo morse
"Null Cipher"
Lmina 15

Dr. Roberto Gmez C.

Un primer ejemplo de Null Cipher


Tomando la primera letra de cada palabra

News Eight Weather: Tonight increasing snow.


Unexpected precipitation smothers eastern towns. Be
extremely cautious and use snowtires especially heading
east. The highways are knowingly slippery. Highway
evacuation is suspected. Police report emergency
situations in downtown ending near Tuesday.

den
d
i
H

Lmina 16

io n
t
a
rm
o
f
n
I

Newt is upset because he thinks he is President.

Dr. Roberto Gmez C.

Usando imgenes digitales

Lmina 17

Dr. Roberto Gmez C.

El proceso esteganografico
Llave de encripcin
u otras llaves

Medio
portador

Algoritmo
incrusta/extrae

Esteganograma
o stego objet

Imagen, video, audio,


paquetes en TCP/IP,
software, texto, etc.

Informacin
a ocultar

PROTOCOLO
Lmina 18

Dr. Roberto Gmez C.

Puedo insertar cdigo ejecutable?


Tesis: Steganographic Computer Warfare, Cochran
J. T., USAF AirForce Institute of Technology, 2000
Artculo: A Possibility of Steganographic Trojan
Installer, Prakash; Nagesh; Singhal, 2002
Conferencia: Steganographic Trojans, Rogers M,
DefCON 10, 2002
Virus PERRUN
Exploit: Buffer Overrun in JPEG Processing (GDI+)
Tesis: Esteganografa de Cdigo Ejecutable, Gabriel
Ramirez, ITESM-CEM, 2005
Lmina 19

Dr. Roberto Gmez C.

Herramientas esteganogrficas

Lmina 20

EZStego
Gif-It-Up v1.0
Gifshuffle
Hide and Seek
JPEG-JSTEG
MandelSteg and
GIFExtract
MP3Stego
Nicetext
OutGuess
Pretty Good Envelope

Publimark
Stealth
Snow
Steganos
Steghide
Stegodos
Stegonosaurus
StegonoWav
Stools
wbStego (Werner Bailer)
WhiteNoise Storm

Fuente: http://www.petitcolas.net/fabien/steganography/stego_soft.html

Dr. Roberto Gmez C.

Marcas de agua: watermarking


Misma caractersticas esteganografa
Robustez en contra de posibles ataques
esteganografia esta relacionada con la deteccin de un
mensaje oculto, mientras que watermarking involucra el
borrado/duplicacin de un pirata

Watermarking no siempre
necesita estar oculto
Tipos
invisible
visible
Lmina 21

Dr. Roberto Gmez C.

Watermarking visible vs invisible

Imagen sin marca

Imagen sin marca


Lmina 22

Marca de agua

Imagen con marca

Imagen con marca

Marca de agua
Dr. Roberto Gmez C.

Esteganografia vs Watermarking
Watermarking
Requerimientos

Privado

Proteccin propiedad intelectual


Objetivo

++++

++++

+++++

+++++

Robustez contra borrado hostil, destruccin

+++++

Resistencia contra un normal procesamiento de seales

++++

Capaz sobrevivir cdigos de compresin

++++

++

++

++++

Transmisin mensaje secreto sin despertar sospechas

Invisibilidad estadstica o algortmica

Muy grande sobrecarga


Extraccin/deteccin sin el host/objeto de cobertura
Deteccin/
extraccin

Extraccin con presencia del objeto/host de cobertura

++++

++++

++++

Requerimiento de complejidad baja en extraccin/deteccin

++

+++

Capacidad opcional de bajado automtico del objeto

++

Nota: Crucial +++++


Lmina 23

Steganografa

++++

Invisibilidad perceptual

Especificacin

Pblico

Necesario: ++++ Importante +++ Deseable ++ til + Innecesario o irrelevante Dr. Roberto Gmez C.

Software watermarking
Objetivo
proporcionar de una marca de agua al software

Consideraciones a tomar en cuenta


longitud de la marca con respecto al programa
programa distribuido en un tipo de cdigo de
mquina virtual o en un cdigo binario sin tipo
que tipos de ataques se esperan
como generar y distribuir un gran nmero de
huellas nicas para diferentes programas
manejo de reporte de errores (bug reports)
Lmina 24

Dr. Roberto Gmez C.

Marcas estticas de datos


Usado para proteccin de software (copyrigtht)
Incluir la marca como una cadena de caracteres
dentro de inicializacin de las variables.
char mark[] = All your base
switch (a) {
case 1: return are;
case 2: return belong;
case 3: return to us;

{
int gonads, strife;

{
int gonads, strife;

gonads = 1;
strife = 1;
printf (weeeeee);

printf (weeeeee);
gonads = 1;
strife = 1;

Si no hay datos o dependencias de control entre dos


enunciados adyacentes son S1 y S2
marca puede insertarse dependiendo si S1 y S2 se
encuentran en un orden lexicogrfico o no.
Lmina 25

Dr. Roberto Gmez C.

Secuencia de las grficas de control


Un nmero de software
puede ser codificado
dentro del bloque de
secuencia de un grafo
del flujo del programa

Lmina 26

if() goto a

if() goto d

if() goto d

if() goto b

Dr. Roberto Gmez C.

Pros y contras
Ventajas
fcil de implementar

Desventajas
fcil de romper

Lmina 27

Dr. Roberto Gmez C.

Marcas Dinmicas
El usuario ejecuta el programa con un
conjunto especfico de entradas, despus de
los cuales el programa llega a un estado que
representa la marca
Tipos de marcas
marca del easter egg
estructuras de datos
trazado de ejecucin

Lmina 28

Dr. Roberto Gmez C.

Easter egg
Parte de cdigo que es
activada dada una entrada
inusual a la aplicacin.
Caracterstica esencial del
easter egg: lleva a cabo alguna
accin que es inmediatamente
perceptible por el usuario
i.e. desplegar el mensaje oculto

Por ejemplo:
entrar al URL about:mozilla en
Netscape 4.0 provocar que una
imagen aparezca
Lmina 29

Dr. Roberto Gmez C.

Ejemplo estructura datos dinmica


El contenido de
una estructura de
datos cambia
conforme el
programa se
ejecuta
El estado final de
la estructura
representa la
marca almacenada
Lmina 30

Var[0] = 0x01010101; Var[1] = 0x03030303;


Var[2] = 0x02020202; Var[3] = 0x04040404;

Op1

Input1

OpN

InputN

Var[0] = 0x54686520; Var[1] = 0x47726561;


Var[2] = 0x74204d61; Var[3] = 0x68697200;

The Great Mahir

Dr. Roberto Gmez C.

Ejemplo trazado ejecucin dinmico


Similar al de la estructura de datos.
La informacin se oculta dentro del trazo (ya sea
instrucciones o direcciones, o ambos) del programas
conforme va corriendo de acuerdo a una entrada partcular I
La informacin se extrae con el monitoreo de algunas (tal
vez estadsticas) propiedades del trazo de direcciones y/o de
la secuencia de operadores utilizados
80480d3:
80480d5:
80480d7:
80480db:
80480dd:
80480e0:
80480e5:

8048100:
8048105:
8048107:
8048109:
Lmina 31

85
7e
83
74
8b
a3
80

b8
85
74
83

db
29
7d
23
45
40
38

08
bc 08 08
00

test
jle
cmpl
je
mov
mov
cmpb

%ebx,%ebx
0x8048100
$0x0,0x8(%ebp)
0x8048105
0x8(%ebp),%eax
%eax,0x808bc40
$0x0,(%eax)

00 00 00 00
c0
0c
c4 f4

mov
test
je
add

$0x0,%eax
%eax,%eax
0x8048115
$0xfffffff4,%esp

08 00

Dr. Roberto Gmez C.

Comparacin entre las diferentes


tcnicas

Tomado sin permiso de: Software Watermarking: Models and Dynamic Embeddings, C, Collberg & C Thomborson

Lmina 32

Dr. Roberto Gmez C.

Observaciones
Marcas de agua:
diferenciar un original de una copia

Proteccin piratera
no solo me interesa diferenciar entre el original y
la copia
me interesa que no se pueda copiar

Varios mtodos de proteccin

Lmina 33

Dr. Roberto Gmez C.

Tipos de proteccin
Sistemas de proteccin por tiempo
Sistemas de proteccin, CD Checks
comprobacin del CD original

Sistemas de proteccin anti-copia


usado en discos y CDs

Sistemas de proteccin mediante hardware externo


(mochilas)
Sistemas de proteccin-defensa mediante
comprobacin de la integridad de los datos (CRC)
Sistemas de proteccin contra banners-nags
Lmina 34

Dr. Roberto Gmez C.

Tipos de proteccin
Sistemas de proteccin mediante desactivacin de
funciones
Sistemas de generacin mediante generacin de
nmeros de serie
Serial Hardcoded
Generacin basada en Name introducido
Generacin con base en ID
Generacin de Serial Encriptado
Validacin de registro
Validacin de Keyfiles
Lmina 35

Dr. Roberto Gmez C.

Herramientas bsicas
Editor hexadecimal
Winhex, Hex Workshop, Ultraedit, Hacker's View

Des-ensamblador
IDA, WDasm, Sourcer 7,

Descompresor
Deshrink, PeUNLOCK,

Depurador
Debug, Soft-Ice (El ms usado), TR, dbg,

Analizador de archivos
File Monitor

Dumpeadores de memoria
UserModeProcessDumper, Memory Dumper Pro

Monitor del registro


Registry monitor (Win95).
Lmina 36

Dr. Roberto Gmez C.

Qu es lo primero que se busca?


Conocer el tipo de proteccin
Lo que se necesita conocer depende del tipo de
proteccin que se esta usando
puede ser un sistema de proteccin combinado

Una vez detectado el sistema de proteccin se


comprueban las posibles defensas del enemigo
Anti-debugging: deteccin de aplicaciones de depuracin
Encripcin-compresin de datos: ocultan verdadero
cdigo hasta que est en ejecucin, inutilizando
cualquier intento de desensamblado del cdigo.

Lmina 37

Dr. Roberto Gmez C.

Tcnicas para llegar el ncleo de la


proteccin

Lmina 38

A lo retro
Prediccin
Por referencia a una cadena conocida
Por bsqueda de cadenas
Por bsqueda de una secuencia de cdigos
de operacin

Dr. Roberto Gmez C.

A lo retro
Depurar el programa hacia atrs
Dejar que el sistema de proteccin se active y parar
la ejecucin justo despus
cuando el software avise con un mensaje de error

A partir de aqu se depura hacia atrs, examinando


el cdigo
se busca por un salto que nos aleje o nos aproxime a la
funcin que muestra el mensaje
p.e. MessageBoxA, Message Box, DialogBoxParam,
DialogBoxParamA

Lmina 39

Dr. Roberto Gmez C.

Prediccin
Cuando se sospecha que una determinada funcin
est siendo usada para el funcionamiento del
sistema proteccin
Se pone un breakpoint en la funcin sospechosa
Cuando se llega a este punto se contina depurando
hasta llegar al punto clave
Muy usado cuando se quiere buscar la funcin que
pinta un banner o una pantalla nag de inicio, o
cuando se conoce el sistema de proteccin que esta
usando el enemigo
Lmina 40

Dr. Roberto Gmez C.

Por referencia a una cadena conocida


Mtodo usado cuando el sistema de proteccin
muestra un mensaje de error,
Copiar el mensaje de error
Desensamblar
Buscar cadena en la lista de referencias a cadenas.
Apuntar direcciones donde hay una posible
referencia y examinar el cdigo que hay alrededor.
se busca un salto que los aleje de la referencia dicha
cadena

Se examinan las llamadas previas al salto


estas pueden ser las llamadas de verificacin
Lmina 41

Dr. Roberto Gmez C.

Por bsqueda de cadenas


Usado cuando se sospecha que una determinada
cadena de caracteres est siendo utilizada y no se
encuentra donde debera estar por el mtodo de
referencias.
Se busca con un editor hexadecimal en el archivo
que se sospecha contiene la cadena o se busca la
cadena en memoria una vez ejecutado el programa.
Si se encuentra en memoria se pone una instruccin
para interrumpir al programa antes de realizar
cualquier clculo en ella.
Lmina 42

Dr. Roberto Gmez C.

Bsqueda secuencia cdigos operacin


Se sospecha que una determinada secuencia
de rdenes en ensamblador est siendo usada
por el sistema de proteccin y/o defensa.
Una vez que se cuenta con la cadena
secuencia de cdigos-bytes a buscar se
realiza su bsqueda con el editor
hexadecimal y se opera segn sea el caso.
Muy usada para la deteccin de trucos
antidebbugging
Lmina 43

Dr. Roberto Gmez C.

Sistema proteccin lmite tiempo


Pueden operar de las siguientes formas
Software comprueba si han transcurrido n das desde la
instalacin del mismo
procede a la salida inmediata o a su des-instalacin
puede mostrar mensaje informando al usuario

software comprueba si se ha llegado a una fecha lmite


software no funcionar si se vuelve a instalar

Dndole la vuelta
se almacena la fecha de instalacin en algn lugar
sistema debe comprobar la fecha actual y hacer los
clculos correspondiente
Lmina 44

Dr. Roberto Gmez C.

Tcnicas banners y pantallas nags


No son propiamente un sistema de proteccin
Mensajes que recuerdan a los usuarios que adquiera
el programa original
Utilizados mucho en programas de visualizacin o
de retoque de fotografas
se trata de textos o imgenes que tapan parcialmente el
trabajo que se est viendo o haciendo, impidiendo su
correcta visualizacn

Los nags son pantallas o cuadros de dilogo que


aparecen al inicio o al final de la aplicacin
activos hasta que usuario presiona un determinado botn
Lmina 45

Dr. Roberto Gmez C.

Atacando a los nags


Identificar el tipo de nag
es un cuadro de dialogo
es un cuadro de mensaje

Examinar el estilo del nag


dos o menos botones: cuadro mensaje
no botones o ms de dos: cuadro de dilogo

Puede anticiparse a la creacin del cuadro de


dilogo-mensaje poniendo un breakpoint en las
funciones usadas para crear un cuadro de dilogo
CreateDialogIndirectParamA, DialogBox, EndDialog
Lmina 46

Dr. Roberto Gmez C.

Ejemplos nag

Lmina 47

Dr. Roberto Gmez C.

Proteccin de CDs
Proteccin pasiva
diferencias entre la forma en que los tocadores de CD
leen discos y la forma en que las computadoras leen
discos
insertar algo en el disco de tal forma que las
computadoras se confundan sin afectar a los tocadores

Proteccin activa
permite computadora lee todos los archivos del CD
instala software que afecta todos intentos de lectura del
disco
p.e. XCP (eXtended Copy Protection) y MediaMax
Lmina 48

Dr. Roberto Gmez C.

Logos proteccin CDs


Industria musical utiliza logos especiales para
reconocer CDs que contienen protecciones contra
copia
logo general que indica que el CD cuenta con una
proteccin contra copia
logo establece que puede ser tocado en la mayora de los
cd/dvd pero no en una computadora
cd puede ser ejecutado en una computaora personal pero
no puede ser copiado
Lmina 49

Dr. Roberto Gmez C.

Detalles XCP y MediaMax


Instala programa activo anti-copia
tambin instala un segundo componente que esconde la
existencia del software

Normalmente programas y dato no deben ser


invisibles

Lmina 50

particularmente a administradores de sistemas


pueden esconderse para simplificar el uso a los usuarios
comportamiento virus, spyware y rootkits
CD es insertado en una mquina Windows, el disco usa
la opcin de autorun para cargar en memoria la
proteccin activa para interferir en la lectura del disco
Dr. Roberto Gmez C.

Lo malo
Software diseado para resistir deteccin y borrado
se cargar sin des-instalador

Sistema contacta el sitio Web de un vendedor


cuando el usuario inserta un disco protegido
objetivo: bajar imgenes y publicidad mientras se toca la
msica
tambin crea en el servidor anotando direccin IP, el
disco insertado as como tiempo y hora en que fue
insertado

Sitios Web aseguraron que nunca recopilaron


informacin de las actividades de los usuarios
Lmina 51

Dr. Roberto Gmez C.

La reaccin de las compaas


Revelacin de spyware llega al pblico
Compaa disquera recopila discos cambindolos
por discos normales
tambin deciden proporcionar des-instaladores
des-instaladores abren huecos seguridad

Programas des-instalacin se entregan va ActiveX


programas destinados a embeberse en una pgina Web
pgina Web invoca el des-instalador
le pasa un URL a partir del cual baja el cdigo del desinstalador
el controlador baja cdigo del URL y lo ejecuta
Lmina 52

Dr. Roberto Gmez C.

Pasando de lo malo a lo peor


Ningn control X verifica si se le pasa un URL
correcto o cdigo aprobado
Controles programados para bajar y ejecutar cdigo
de cualquier URL que recibieran
Resultado
un servidor Web malicioso puede incluir un ActiveX del
vendedor
este ActiveX puede bajar y correr cdigo de un sitio
malicioso

Lo peor
los des-instaladores no borran el ActiveX, sino que lo
dejan en la computadora del usuario
Lmina 53

Dr. Roberto Gmez C.

Llaves fsicas (dongles)


Dongles = mochilas
Una mochila no es ms que una caja que contiene
un circuito que puede variar en complejidad segn
el tipo de mochila.
Algunas mochilas cuentan con memoria
unos pocos bytes
se almacenan datos usados por la propia mochila

Mochilas ms usadas
Sentinel Pro de Rainbow Technologies
HASP de Alladinn Systems
Lmina 54

Dr. Roberto Gmez C.

Ejemplos mochilas

Lmina 55

Dr. Roberto Gmez C.

Cmo funciona?
Software a proteger se comunica con la mochila a
travs de rutinas que proporciona el fabricante.
La proteccin depende de la habilidad del
programador de implementar la proteccin
Sugerencias
Mandar llamar a la mochila en varios lugares del
programa
Mandar llamar a la mochila en intervalos de tiempo en el
programa
Encriptar la llamada a la mochila
Obtener la huella del cdigo que lleva a cabo la mochila

Lmina 56

Dr. Roberto Gmez C.

Proteccin por empaquetados


Autores software empaquetan sus programas
reducir el tamao de los archivos del programa
complicar el trabajo de ingeniera inversa, ya que no se
puede obtener un desensamblado exacto del archivo

El programa original esta envuelto dentro del


cdigo del empaquetador, el cual esconde el cdigo
original
Cuando se ejecuta el programa, se esta ejecutando
en primer lugar el cdigo empaquetador.
desempaqueta aplicacin original en memoria

Ejemplo: ASprotec, Aspack Armadillo, upx, etc


Lmina 57

Dr. Roberto Gmez C.

Proteccin por CRC


CRC= Cdigo Redundancia Cclica
Deteccin de errores en la transmisin de datos en
comunicaciones.
Dispositivo calcula el CRC en base a un polinomio
y enva informacin junto con su CRC
Extremo recepcin usa mismo polinomio para
calcular el CRC de lo recibido y compara resultado.
si son iguales se ha transmitido con xito

Deteccin de que algn dato fue cambiado


Posible usar huellas digitales
Lmina 58

Dr. Roberto Gmez C.

Generacin nmeros serie


Serial nico (hardcoded)
peor de las protecciones
con desensamblar el ejecutable de la aplicacin y viendo
los strings se puede encontrar el serial

Basada en serial creado con base en ID


se obtiene el serial en base a algn elemento del sistema
husped, p.e. nmero seria disco duro
dependiendo del mtodo ser la mquina donde pueda
ser ejecutado
analizar el cdigo de generacin del ID y el serial para
crear un generador de llave
Lmina 59

Dr. Roberto Gmez C.

Generacin nmeros serie


Basada en serial encriptado
el nmero de serie se encripta con algn
procedimiento de encripcin
analizar el cdigo para saber como encripta y
saber como des-encriptarlo
ejemplo, el serial se puede generar de la
siguiente forma:
a=+
b=%

Lmina 60

c=%
d=@

e=!
f=*

Dr. Roberto Gmez C.

Conclusiones
La ingeniera inversa no solo tiene su aplicacin en
el lado obscuro de la fuerza
Posible aplicarlos para entender como funcionan
virus computacionales y gusanos
desarrollar vacunas y protecciones

Buen ejercicio para comprender diferentes reas de


la informtica
http://crackmes.iespana.es

Es importante conocer como funcionan los ataques


para aprender a defendernos.
No existe seguridad al 100%
Lmina 61

Dr. Roberto Gmez C.

Referencias
Seguridad en software, Profesor X, Revista
Conthackto, No 2, noviembre/diciembre 2005
Digital Rigthts Management, Spyware and
Security, E.W. Felten and J. A. Halderman, IEEE
Security & Privacy, Vol.4 No. 1, January/February
2006
Electronic Frontier Foundations Sony BMG
Settlement FAQ
www.ef.org/IP/DRM/Sony-BMG/settlement_faq.php

Armouring the ELF: Binary encryption on the


UNIX platform, grugp, scut, Phrack Magazine
www.phrack.org
Lmina 62

Dr. Roberto Gmez C.

Referencias
Information Hiding, Steganography and
Watermarking N. Johnson, Z Duric and S Jajodia,
Kluder Academic Publishers, 2001
Disappearing Cryptography, Peter Wayner, Ed.
Morgan Kaufmann; 2da. edicin, 2002
Cracking sin secretos, Ataque y defensa de
software, J. Zemnek, Ed. Alfaomega, 2005
Hacker Disassembling Uncovered, K. Kaspersky,
Ed. Alist, 2003
Reversing, Secrets of Reverse Engineering, Eldad
Eilam, Ed. Wiley Publishing, 2005
Lmina 63

Dr. Roberto Gmez C.

Primer ciclo de conferencias de seguridad informtica


2-7 abril 2006
FES Acatln

Ingenieria inversa vs antipirateria


Roberto Gmez Crdenas
ITESM-CEM
http://webdia.cem.itesm.mx/ac/rogomez
rogomez@itesm.mx
Lmina 64

Dr. Roberto Gmez C.

Você também pode gostar