anti-pirateria
TRANSCRIPT
-
7/25/2019 Anti-PirateRia
1/64
Dr. Roberto Gmez C.Lmina 1
Ingenieria inversa vs antipirateria
Roberto Gmez Crdenas
ITESM-CEMhttp://webdia.cem.itesm.mx/ac/rogomez
Primer ciclo de conferencias de seguridad informtica2-7 abril 2006FES Acatln
-
7/25/2019 Anti-PirateRia
2/64
Dr. Roberto Gmez C.Lmina 2
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?
-
7/25/2019 Anti-PirateRia
3/64
Dr. Roberto Gmez C.Lmina 3
Algunos nmeros 36% por ciento del software que se utiliza en el
mundo es ilegal.
Tasas de piratera disminuyeron en 37 pases peroaumentaron 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
-
7/25/2019 Anti-PirateRia
4/64
Dr. Roberto Gmez C.Lmina 4
Tasas de piratera por regin
-
7/25/2019 Anti-PirateRia
5/64
Dr. Roberto Gmez C.Lmina 5
Clasificaciones de Piratera de
Software
-
7/25/2019 Anti-PirateRia
6/64
Dr. Roberto Gmez C.Lmina 6
Perdidas en dlares por regin
(millones)
-
7/25/2019 Anti-PirateRia
7/64
Dr. Roberto Gmez C.Lmina 7
Qu es la ingeniera inversa?
Metodologa para analizar el diseo de un
dispositivo o sistema, ya sea para estudiar eldiseo o como un pre-requisito para unrediseo.
Beneficios desarrollar un enfoque sistemtico para pensar
sobre el diseo de ingeniera de dispositivos y
sistemas adquirir un banco de datos de soluciones
mecnicas
-
7/25/2019 Anti-PirateRia
8/64
Dr. Roberto Gmez C.Lmina 8
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 especficopara obtener una copia funcional de unsoftware supuestamente protegido.
-
7/25/2019 Anti-PirateRia
9/64
Dr. Roberto Gmez C.Lmina 9
Tipos de ataques
Piratera
software
Ingeniera
inversamaliciosa
SoftwareTampering
Tomado sin permiso de: Watermarking, Tamper-Proofing, and Obfuscation Tools for Software Protection, Christian S. Collberg
-
7/25/2019 Anti-PirateRia
10/64
Dr. Roberto Gmez C.Lmina 10
Algunos personajes relacionados
cracker
persona lleva a cabo la ingeniera inversa shareware u honorware
usuarios envian un donativo a los autoresmencionados al principio del programa
nags screen
wracker
programas shareware o freeware
wares
intercambio programas comercialespirateados
Una madrecitaAprendiendo a
Hackear.
-
7/25/2019 Anti-PirateRia
11/64
Dr. Roberto Gmez C.Lmina 11
Un primer ejemplo
-
7/25/2019 Anti-PirateRia
12/64
Dr. Roberto Gmez C.Lmina 12
Protegiendo la propiedad intelectual
Qu puedo hacer para proteger la propiedad
intelectual de mis productos? Esteganografia
Marcas de agua
-
7/25/2019 Anti-PirateRia
13/64
Dr. Roberto Gmez C.Lmina 13
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
-
7/25/2019 Anti-PirateRia
14/64
Dr. Roberto Gmez C.Lmina 14
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 avisarde 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
-
7/25/2019 Anti-PirateRia
15/64
Dr. Roberto Gmez C.Lmina 15
Algunos ejemplos histricos
Siglo XVII: Schola
Steganographica,Gaspar Schott
partituras msica
Segunda Guerramundial:
Microfilmes
prisioneros usan i, j, t, y
f para ocultar mensaje
en cdigo morse
"Null Cipher"
-
7/25/2019 Anti-PirateRia
16/64
Dr. Roberto Gmez C.Lmina 16
Un primer ejemplo de Null Cipher
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 emergencysituations in downtown ending near Tuesday.
Newt is upset because he thinks he is President.HiddenInf
ormatio
n!
Tomando la primera letra de cada palabra
-
7/25/2019 Anti-PirateRia
17/64
Dr. Roberto Gmez C.Lmina 17
Usando imgenes digitales
-
7/25/2019 Anti-PirateRia
18/64
Dr. Roberto Gmez C.Lmina 18
El proceso esteganografico
PROTO O O
Medioportador
Esteganograma
o stego objet
Informacina ocultar
Algoritmoincrusta/extrae
Llave de encripcinu otras llaves
Imagen, video, audio,
paquetes en TCP/IP,
software, texto, etc.
-
7/25/2019 Anti-PirateRia
19/64
Dr. Roberto Gmez C.Lmina 19
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
-
7/25/2019 Anti-PirateRia
20/64
Dr. Roberto Gmez C.Lmina 20
Herramientas esteganogrficas
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
-
7/25/2019 Anti-PirateRia
21/64
Dr. Roberto Gmez C.Lmina 21
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
-
7/25/2019 Anti-PirateRia
22/64
Dr. Roberto Gmez C.Lmina 22
Watermarking visible vs invisible
Imagen sin marca Marca de agua Imagen con marca
Imagen sin marca Marca de aguaImagen con marca
-
7/25/2019 Anti-PirateRia
23/64
Dr. Roberto Gmez C.Lmina 23
Esteganografia vs Watermarking
++++++Capaz sobrevivir cdigos de compresin
Nota: Crucial +++++ Necesario: ++++ Importante +++ Deseable ++ til + Innecesario o irrelevante -
+++Capacidad opcional de bajado automtico del objeto
+++++Requerimiento de complejidad baja en extraccin/deteccin
Deteccin/
extraccin
--++++Extraccin con presencia del objeto/host de cobertura
++++++++-Extraccin/deteccin sin el host/objeto de cobertura
++++++Muy grande sobrecarga
+++++Resistencia contra un normal procesamiento de sealesEspecificacin
-+++++Robustez contra borrado hostil, destruccin
++++++Invisibilidad estadstica o algortmica
+++++++++Invisibilidad perceptual
++++-Transmisin mensaje secreto sin despertar sospechas
-++++Proteccin propiedad intelectual
Objetivo
PblicoPrivadoSteganografa
Watermarking
Requerimientos
-
7/25/2019 Anti-PirateRia
24/64
Dr. Roberto Gmez C.Lmina 24
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 demquina virtual o en un cdigo binario sin tipo
que tipos de ataques se esperan
como generar y distribuir un gran nmero dehuellas nicas para diferentes programas
manejo de reporte de errores (bug reports)
-
7/25/2019 Anti-PirateRia
25/64
Dr. Roberto Gmez C.Lmina 25
Marcas estticas de datos
Usado para proteccin de software (copyrigtht)
Incluir la marca como una cadena de caracteresdentro de inicializacin de las variables.
Si no hay datos o dependencias de control entre dosenunciados adyacentes son S1 y S2
marca puede insertarse dependiendo si S1 y S2 se
encuentran en un orden lexicogrfico o no.
char mark[] = All your base
switch (a) {
case 1: return are;
case 2: return belong;
case 3: return to us;
}
{int gonads, strife;
gonads = 1;strife = 1;printf (weeeeee);
}
{int gonads, strife;
printf (weeeeee);gonads = 1;strife = 1;
}
-
7/25/2019 Anti-PirateRia
26/64
Dr. Roberto Gmez C.Lmina 26
Secuencia de las grficas de control
Un nmero de software
puede ser codificadodentro del bloque de
secuencia de un grafo
del flujo del programa
if() goto a
if() goto d
if() goto d
if() goto b
a
b
c
d
-
7/25/2019 Anti-PirateRia
27/64
Dr. Roberto Gmez C.Lmina 27
Pros y contras
Ventajas
fcil de implementar
Desventajas
fcil de romper
-
7/25/2019 Anti-PirateRia
28/64
Dr. Roberto Gmez C.Lmina 28
Marcas Dinmicas
El usuario ejecuta el programa con un
conjunto especfico de entradas, despus delos cuales el programa llega a un estado que
representa la marca
Tipos de marcas
marca del easter egg
estructuras de datos trazado de ejecucin
-
7/25/2019 Anti-PirateRia
29/64
Dr. Roberto Gmez C.Lmina 29
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.0provocar que una
imagen aparezca
-
7/25/2019 Anti-PirateRia
30/64
Dr. Roberto Gmez C.Lmina 30
Ejemplo estructura datos dinmica
El contenido de
una estructura dedatos cambia
conforme el
programa se
ejecuta
El estado final de
la estructura
representa la
marca almacenada
Var[0] = 0x01010101; Var[1] = 0x03030303;
Var[2] = 0x02020202; Var[3] = 0x04040404;
Var[0] = 0x54686520; Var[1] = 0x47726561;
Var[2] = 0x74204d61; Var[3] = 0x68697200;
Op1
OpN
The Great Mahir
Input1
InputN
-
7/25/2019 Anti-PirateRia
31/64
Dr. Roberto Gmez C.Lmina 31
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 programasconforme 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 dela secuencia de operadores utilizados
80480d3: 85 db test %ebx,%ebx80480d5: 7e 29 jle 0x804810080480d7: 83 7d 08 00 cmpl $0x0,0x8(%ebp)80480db: 74 23 je 0x8048105
80480dd: 8b 45 08 mov 0x8(%ebp),%eax80480e0: a3 40 bc 08 08 mov %eax,0x808bc4080480e5: 80 38 00 cmpb $0x0,(%eax)
8048100: b8 00 00 00 00 mov $0x0,%eax8048105: 85 c0 test %eax,%eax8048107: 74 0c je 0x8048115
8048109: 83 c4 f4 add $0xfffffff4,%esp
-
7/25/2019 Anti-PirateRia
32/64
Dr. Roberto Gmez C.Lmina 32
Comparacin entre las diferentes
tcnicas
Tomado sin permiso de: Software Watermarking: Models and Dynamic Embeddings, C, Collberg & C Thomborson
-
7/25/2019 Anti-PirateRia
33/64
Dr. Roberto Gmez C.Lmina 33
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
-
7/25/2019 Anti-PirateRia
34/64
Dr. Roberto Gmez C.Lmina 34
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 mediantecomprobacin de la integridad de los datos (CRC)
Sistemas de proteccin contra banners-nags
-
7/25/2019 Anti-PirateRia
35/64
Dr. Roberto Gmez C.Lmina 35
Tipos de proteccin
Sistemas de proteccin mediante desactivacin defunciones
Sistemas de generacin mediante generacin denmeros de serie
Serial Hardcoded
Generacin basada en Name introducido
Generacin con base en ID
Generacin de Serial Encriptado
Validacin de registro
Validacin de Keyfiles
-
7/25/2019 Anti-PirateRia
36/64
Dr. Roberto Gmez C.Lmina 36
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).
-
7/25/2019 Anti-PirateRia
37/64
Dr. Roberto Gmez C.Lmina 37
Qu es lo primero que se busca?
Conocer el tipo de proteccin
Lo que se necesita conocer depende del tipo deproteccin que se esta usando
puede ser un sistema de proteccin combinado
Una vez detectado el sistema de proteccin secomprueban las posibles defensas del enemigo
Anti-debugging: deteccin de aplicaciones de depuracin
Encripcin-compresin de datos: ocultan verdaderocdigo hasta que est en ejecucin, inutilizando
cualquier intento de desensamblado del cdigo.
-
7/25/2019 Anti-PirateRia
38/64
Dr. Roberto Gmez C.Lmina 38
Tcnicas para llegar el ncleo de la
proteccin
A lo retro
Prediccin Por referencia a una cadena conocida
Por bsqueda de cadenas Por bsqueda de una secuencia de cdigos
de operacin
-
7/25/2019 Anti-PirateRia
39/64
Dr. Roberto Gmez C.Lmina 39
A lo retro
Depurar el programa hacia atrs
Dejar que el sistema de proteccin se active y pararla ejecucin justo despus
cuando el software avise con un mensaje de error
A partir de aqu se depura hacia atrs, examinandoel 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
-
7/25/2019 Anti-PirateRia
40/64
Dr. Roberto Gmez C.Lmina 40
Prediccin
Cuando se sospecha que una determinada funcin
est siendo usada para el funcionamiento delsistema proteccin
Se pone un breakpoint en la funcin sospechosa
Cuando se llega a este punto se contina depurandohasta llegar al punto clave
Muy usado cuando se quiere buscar la funcin que
pinta un banner o una pantalla nag de inicio, ocuando se conoce el sistema de proteccin que esta
usando el enemigo
-
7/25/2019 Anti-PirateRia
41/64
Dr. Roberto Gmez C.Lmina 41
Por referencia a una cadena conocida
Mtodo usado cuando el sistema de proteccinmuestra un mensaje de error,
Copiar el mensaje de error
Desensamblar
Buscar cadena en la lista de referencias a cadenas.
Apuntar direcciones donde hay una posiblereferencia 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
-
7/25/2019 Anti-PirateRia
42/64
Dr. Roberto Gmez C.Lmina 42
Por bsqueda de cadenas
Usado cuando se sospecha que una determinada
cadena de caracteres est siendo utilizada y no seencuentra donde debera estar por el mtodo de
referencias.
Se busca con un editor hexadecimal en el archivoque 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 instruccinpara interrumpir al programa antes de realizar
cualquier clculo en ella.
-
7/25/2019 Anti-PirateRia
43/64
Dr. Roberto Gmez C.Lmina 43
Bsqueda secuencia cdigos operacin
Se sospecha que una determinada secuencia
de rdenes en ensamblador est siendo usadapor el sistema de proteccin y/o defensa.
Una vez que se cuenta con la cadena
secuencia de cdigos-bytes a buscar serealiza su bsqueda con el editor
hexadecimal y se opera segn sea el caso.
Muy usada para la deteccin de trucos
antidebbugging
-
7/25/2019 Anti-PirateRia
44/64
Dr. Roberto Gmez C.Lmina 44
Sistema proteccin lmite tiempo
Pueden operar de las siguientes formas
Software comprueba si han transcurrido n das desde lainstalacin 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
-
7/25/2019 Anti-PirateRia
45/64
Dr. Roberto Gmez C.Lmina 45
Tcnicas banners y pantallas nags
No son propiamente un sistema de proteccin
Mensajes que recuerdan a los usuarios que adquierael 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
-
7/25/2019 Anti-PirateRia
46/64
Dr. Roberto Gmez C.Lmina 46
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 lasfunciones usadas para crear un cuadro de dilogo
CreateDialogIndirectParamA, DialogBox, EndDialog
-
7/25/2019 Anti-PirateRia
47/64
Dr. Roberto Gmez C.Lmina 47
Ejemplos nag
-
7/25/2019 Anti-PirateRia
48/64
Dr. Roberto Gmez C.Lmina 48
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 deldisco
p.e. XCP (eXtended Copy Protection) y MediaMax
-
7/25/2019 Anti-PirateRia
49/64
Dr. Roberto Gmez C.Lmina 49
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
-
7/25/2019 Anti-PirateRia
50/64
Dr. Roberto Gmez C.Lmina 50
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
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
l
-
7/25/2019 Anti-PirateRia
51/64
Dr. Roberto Gmez C.Lmina 51
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
L i d l
-
7/25/2019 Anti-PirateRia
52/64
Dr. Roberto Gmez C.Lmina 52
La reaccin de las compaas
Revelacin de spyware llega al pblico
Compaa disquera recopila discos cambindolospor 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 des-
instalador
el controlador baja cdigo del URL y lo ejecuta
P d d l l l
-
7/25/2019 Anti-PirateRia
53/64
Dr. Roberto Gmez C.Lmina 53
Pasando de lo malo a lo peor
Ningn control X verifica si se le pasa un URLcorrecto o cdigo aprobado
Controles programados para bajar y ejecutar cdigode cualquier URL que recibieran
Resultado
un servidor Web malicioso puede incluir un ActiveX delvendedor
este ActiveX puede bajar y correr cdigo de un sitiomalicioso
Lo peor
los des-instaladores no borran el ActiveX, sino que lodejan en la computadora del usuario
Ll f i (d l )
-
7/25/2019 Anti-PirateRia
54/64
Dr. Roberto Gmez C.Lmina 54
Llaves fsicas (dongles)
Dongles = mochilas
Una mochila no es ms que una caja que contieneun 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
Ej l hil
-
7/25/2019 Anti-PirateRia
55/64
Dr. Roberto Gmez C.Lmina 55
Ejemplos mochilas
Cmo f nciona?
-
7/25/2019 Anti-PirateRia
56/64
Dr. Roberto Gmez C.Lmina 56
Cmo funciona?
Software a proteger se comunica con la mochila atravs de rutinas que proporciona el fabricante.
La proteccin depende de la habilidad delprogramador de implementar la proteccin
Sugerencias
Mandar llamar a la mochila en varios lugares delprograma
Mandar llamar a la mochila en intervalos de tiempo en elprograma
Encriptar la llamada a la mochila
Obtener la huella del cdigo que lleva a cabo la mochila
Proteccin por empaquetados
-
7/25/2019 Anti-PirateRia
57/64
Dr. Roberto Gmez C.Lmina 57
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 sepuede obtener un desensamblado exacto del archivo
El programa original esta envuelto dentro del
cdigo del empaquetador, el cual esconde el cdigooriginal
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
Proteccin por CRC
-
7/25/2019 Anti-PirateRia
58/64
Dr. Roberto Gmez C.Lmina 58
Proteccin por CRC
CRC= Cdigo Redundancia Cclica
Deteccin de errores en la transmisin de datos encomunicaciones.
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
Generacin nmeros serie
-
7/25/2019 Anti-PirateRia
59/64
Dr. Roberto Gmez C.Lmina 59
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
Generacin nmeros serie
-
7/25/2019 Anti-PirateRia
60/64
Dr. Roberto Gmez C.Lmina 60
Generacin nmeros serie
Basada en serial encriptado
el nmero de serie se encripta con algnprocedimiento 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=+ c=% e=!
b=% d=@ f=*
Conclusiones
-
7/25/2019 Anti-PirateRia
61/64
Dr. Roberto Gmez C.Lmina 61
Conclusiones
La ingeniera inversa no solo tiene su aplicacin enel lado obscuro de la fuerza
Posible aplicarlos para entender como funcionanvirus computacionales y gusanos
desarrollar vacunas y protecciones
Buen ejercicio para comprender diferentes reas dela informtica
http://crackmes.iespana.es
Es importante conocer como funcionan los ataquespara aprender a defendernos.
No existe seguridad al 100%
Referencias
-
7/25/2019 Anti-PirateRia
62/64
Dr. Roberto Gmez C.Lmina 62
Referencias
Seguridad en software, Profesor X, RevistaConthackto, No 2, noviembre/diciembre 2005
Digital Rigthts Management, Spyware andSecurity, E.W. Felten and J. A. Halderman, IEEESecurity & 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
Referencias
-
7/25/2019 Anti-PirateRia
63/64
Dr. Roberto Gmez C.Lmina 63
Referencias
Information Hiding, Steganography andWatermarking 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 desoftware, J. Zemnek, Ed. Alfaomega, 2005
Hacker Disassembling Uncovered, K. Kaspersky,
Ed. Alist, 2003 Reversing, Secrets of Reverse Engineering, Eldad
Eilam, Ed. Wiley Publishing, 2005
-
7/25/2019 Anti-PirateRia
64/64
Dr. Roberto Gmez C.Lmina 64
Ingenieria inversa vs antipirateria
Roberto Gmez Crdenas
ITESM-CEM
http://webdia.cem.itesm.mx/ac/rogomez
Primer ciclo de conferencias de seguridad informtica2-7 abril 2006
FES Acatln