anti-pirateria

Upload: cristian-regino

Post on 25-Feb-2018

213 views

Category:

Documents


0 download

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

    [email protected]

    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

    [email protected]

    Primer ciclo de conferencias de seguridad informtica2-7 abril 2006

    FES Acatln