UNIVERSIDAD DE GUAYAQUIL - UGrepositorio.ug.edu.ec/bitstream/redug/6776/1/TesisCompleta - 328 -...

370
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES Y NETWORKING DISEÑO DEL PROTOTIPO DE UNA HONEYPOT VIRTUAL QUE PERMITIRA MEJORAR EL ESQUEMA DE SEGURIDAD EN LAS REDES DE LA CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES Y NETWORKING DE LA UNIVERSIDAD DE GUAYAQUIL TESIS DE GRADO Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES AUTOR: GUSTAVO DANIEL ESTRELLA QUIJIJE TUTOR: ING. FRANCISCO PALACIOS O. GUAYAQUIL ECUADOR 2011

Transcript of UNIVERSIDAD DE GUAYAQUIL - UGrepositorio.ug.edu.ec/bitstream/redug/6776/1/TesisCompleta - 328 -...

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES Y NETWORKING

DISEÑO DEL PROTOTIPO DE UNA HONEYPOT VIRTUAL QUE PERMITIRA

MEJORAR EL ESQUEMA DE SEGURIDAD EN LAS REDES DE LA CARRERA

DE INGENIERÍA EN SISTEMAS COMPUTACIONALES Y NETWORKING

DE LA UNIVERSIDAD DE GUAYAQUIL

TESIS DE GRADO

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTOR: GUSTAVO DANIEL ESTRELLA QUIJIJE

TUTOR: ING. FRANCISCO PALACIOS O.

GUAYAQUIL – ECUADOR

2011

Guayaquil, Septiembre 2011

APROBACION DEL TUTOR

En mi calidad de Tutor del trabajo de investigación “DISEÑO DEL PROTOTIPO DE

UNA HONEYPOT VIRTUAL QUE PERMITIRA MEJORAR EL ESQUEMA DE

SEGURIDAD EN LAS REDES DE LA CARRERA DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES Y NETWORKING DE LA UNIVERSIDAD

DE GUAYAQUIL” elaborado por el Sr. ESTRELLA QUIJIJE GUSTAVO DANIEL,

egresado de la Carrera de Ingeniería en Sistemas Computacionales y Networking,

Facultad de Ciencias Matemáticas y Físicas de la Universidad de Guayaquil, previo a

la obtención del Título de Ingeniero en Sistemas, me permito declarar que luego de

haber orientado, estudiado y revisado, la apruebo en todas sus partes.

Atentamente

………………………………….

Ing. FRANCISCO PALACIOS O.

TUTOR

DEDICATORIA

Esta Tesis está dedicada a mis padres,

Gustavo y Janeth; quienes con su esfuerzo

y abnegación lograron sembrar en mí el

orgullo de ser una persona de bien, un ser

humano responsable y un profesional de

éxito.

AGRADECIMIENTO

Un cordial agradecimiento a mi tutor,

Ingeniero Francisco Palacios O., quien con

su profesionalismo, conocimientos y

paciencia; hizo posible que culminara con

éxito el desarrollo de mi tesis.

TRIBUNAL DE GRADO

Ing. Frenando Abad Montero Ing. Juan Chanabá Alcócer

DECANO DE LA FACULTAD DIRECTOR

CIENCIAS MATEMATICAS Y FISICAS CISC

TUTOR PROFESOR DEL

Ing. Francisco Palacios O. TRIBUNAL

PROFESOR DEL

TRIBUNAL

SECRETARIO

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES Y NETWORKING

DISEÑO DEL PROTOTIPO DE UNA HONEYPOT VIRTUAL QUE PERMITIRA

MEJORAR EL ESQUEMA DE SEGURIDAD EN LAS REDES DE LA

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

Y NETWORKING DE LA UNIVERSIDAD DE GUAYAQUIL

Autor: Gustavo Daniel Estrella Quijije

Tutor: Ing. Francisco Palacios O.

RESUMEN El presente trabajo de Tesis se centrar en la seguridad de una red al momento de

establecer una conexión con la red de redes, INTERNET, para esto y mediante esta

investigación se dará a conocer el uso, las características y ventajas de una tecnología

innovadora llamada Honeypot; la cual en base al análisis posterior, permitiría estar

más al tanto de las tendencias actuales del modo en que operan los intruso y así

aportar como ayuda a mejorar los esquemas de seguridad de la Carrera de Ingeniería

en Sistemas Computacionales y Networking de la Universidad de Guayaquil.

Esta tecnología también es considera como una herramienta de investigación y su

filosofía se explica con una frase “CONOCE A TU ENEMIGO”, ya que al

identificarlo y aprender de él y las técnicas que usa, será posible actuar tomando

medidas que permitan mitigar en cierto modo las vulnerabilidades existentes en

cualquier entorno de red. Por otra parte la tecnología Honeypot posee una

característica en particular, que rompe con todo paradigma establecido en el medio de

la Seguridad de Redes, y es que, al contrario de otros métodos de seguridad cuyo

objetivo es prevenir los ataques la Honeypot plantea la idea de atraer al atacante con

un único fin, aprender de él. Esta técnica ayudara definir y establecer las mejores

prácticas que beneficien a cualquier organización a la hora de optimizar los métodos

de seguridad que emplean para proteger sus redes.

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS

CARRERA DE INGENIERÍA EN SISTEMAS

COMPUTACIONALES Y NETWORKING

DISEÑO DEL PROTOTIPO DE UNA HONEYPOT VIRTUAL QUE PERMITIRA

MEJORAR EL ESQUEMA DE SEGURIDAD EN LAS REDES DE LA

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

Y NETWORKING DE LA UNIVERSIDAD DE GUAYAQUIL

Proyecto de trabajo de grado que se presenta como requisito para optar por el título de

INGENIERO EN SISTEMAS COMPUTACIONALES

Autor: Gustavo Daniel Estrella Quijije

C.I.: 0921888533

Tutor: Ing. Francisco Palacios O.

Guayaquil, Septiembre del 2011

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del Segundo Curso de Fin de Carrera, nombrado por el

Departamento de Investigación, Desarrollo Tecnológico y Educación Contínua y la

Dirección de la Carrera de Ingeniería en Sistemas Computacionales y Networking de

la Universidad de Guayaquil,

CERTIFICO:

Que he analizado el Proyecto de Grado presentado por el/la egresado(a)

ESTRELLA QUIJIJE GUSTAVO DANIEL, como requisito previo para optar por el

título de Ingeniero cuyo problema es: DISEÑO DEL PROTOTIPO DE UNA

HONEYPOT VIRTUAL QUE PERMITIRA MEJORAR EL ESQUEMA DE

SEGURIDAD EN LAS REDES DE LA CARRERA DE INGENIERÍA EN

SISTEMAS COMPUTACIONALES Y NETWORKING DE LA UNIVERSIDAD

DE GUAYAQUIL. Considero aprobado el trabajo en su totalidad.

Presentado por:

________________________ _________________________

Apellidos y Nombres completos Cédula de ciudadanía N°

Tutor: ____________________________

Guayaquil, Septiembre del 2011

ÍNDICE GENERAL

CARÁTULA

DEDICATORIA

AGRADECIMIENTO

TRIBUNAL DE GRADO

RESUMEN

PRESENTACIÓN DEL TEMA

CERTIFICADO DEL TUTOR

ÍNDICE GENERAL

INTRODUCCIÓN ....................................................................................................... 1

CAPÍTULO I.- EL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA ......................................................... 3

Ubicación del Problema en un Contexto .............................................. 3

Formulación del Problema ................................................................... 5

Evaluación del Problema ...................................................................... 6

OBJETIVO GENERAL ................................................................................... 8

Objetivos Específicos ........................................................................... 8

ALCANCES DE LA INVESTIGACION ........................................................ 9

JUSTIFICACIÓN E IMPORTANCIA .......................................................... 11

CAPÍTULO II.- MARCO TEÓRICO

ANTECEDENTES DEL ESTUDIO .............................................................. 13

FUNDAMENTACIÓN TEÓRICA ................................................................ 13

Orígenes .............................................................................................. 13

FUNDAMENTOS DE LA SEGURIDAD INFORMÁTICA ........................ 16

Definición de seguridad informática .................................................. 16

La información de las organizaciones ................................................ 19

Seguridad Física ................................................................................. 19

Seguridad Lógica ................................................................................ 20

Importancia de la Seguridad Informática ........................................... 21

SEGURIDAD EN INTERNET ...................................................................... 23

Tipos de ataques ............................................................................................. 24

Ataques basados en diccionarios .................................................................... 26

En base a escuchar el tráfico de la red............................................................ 26

Ataques que explotan los accesos confiables ................................................. 27

Basados en las direcciones IP ......................................................................... 27

Suplantando a una identidad de confianza ..................................................... 28

Predicciones de números secuenciales ........................................................... 28

Secuestrando sesiones .................................................................................... 29

Ataques que explotan debilidades de la tecnología ........................................ 30

Ataques que explotan librerías compartidas ................................................... 30

Los atacantes .................................................................................................. 31

Factores humanos ........................................................................................... 32

Personal o ex-empleados ......................................................................... 32

Hackers, Crackers, Lamers...................................................................... 32

Los Hackers ........................................................................................ 32

Sombrero blanco ................................................................................. 33

Sombrero gris ..................................................................................... 34

Sombrero negro .................................................................................. 34

Otra clasificación de atacantes ........................................................... 35

El software con errores ............................................................................ 40

Factores no humanos ...................................................................................... 40

Herramientas más usadas para los ataques ..................................................... 41

Virus ................................................................................................... 42

Worms o Gusanos ............................................................................... 42

Troyanos ............................................................................................. 43

Bombas Lógicas ................................................................................. 44

Back Doors ......................................................................................... 45

Trap Doors .......................................................................................... 46

Bacterias ............................................................................................. 46

Security Holes .................................................................................... 47

Bugs .................................................................................................... 48

Adware ............................................................................................... 48

Spyware .............................................................................................. 49

Bot ...................................................................................................... 50

Botnets ................................................................................................ 50

Otros métodos usados para el ataque ............................................................. 51

Exploits ............................................................................................... 52

Día Cero (Zero Day) ........................................................................... 52

KeyLogger .......................................................................................... 52

Pharming/Phishing .............................................................................. 53

Spam ................................................................................................... 53

Smurf .................................................................................................. 54

BackOrifice ......................................................................................... 54

Hijacking ............................................................................................ 54

Hoax ................................................................................................... 54

Ingeniería Social ................................................................................. 55

Hacking ............................................................................................... 55

Sniffing/Eavesdrooping ...................................................................... 56

Snooping/Downloading ...................................................................... 56

Tammpering o Data Diddling ............................................................. 57

Jamming/Flooding .............................................................................. 57

Spoofing ............................................................................................. 58

Fingerprinting ..................................................................................... 58

Looping ............................................................................................... 58

Cracking ............................................................................................. 59

Zombie ................................................................................................ 59

Rootkit ................................................................................................ 60

DoS (Denial of Service) ..................................................................... 60

DDoS (Distributed Denial of Service) ............................................... 60

Mecanismos de Seguridad .............................................................................. 61

Cifrado ................................................................................................ 62

Tráfico de relleno ............................................................................... 63

Etiquetas ............................................................................................. 63

Control de enrutamiento ..................................................................... 63

Notarización ....................................................................................... 63

Firma digital ....................................................................................... 63

Integridad de datos ............................................................................. 64

Unicidad ............................................................................................. 64

Gestión de claves ................................................................................ 64

Lista de control de acceso (ACL) ....................................................... 64

Proxy ................................................................................................... 65

Firewall ............................................................................................... 65

Sistema de detección de intrusos (IDS) .............................................. 68

Informática forense ............................................................................. 71

Honeypots ........................................................................................... 71

INTRODUCCIÓN A LA TECNOLOGÍA HONEYPOT .............................. 72

Evolución de los escenarios de ataque ............................................... 72

Definición de Honeypot ..................................................................... 74

Ventajas de las Honeypot ................................................................... 76

Desventajas de las Honeypot .............................................................. 78

Clasificación de las Honeypot ............................................................ 80

Honeypot de producción ................................................................ 80

Honeypot de investigación ............................................................ 81

Honeypot de baja interacción ........................................................ 82

Honeypot de alta interacción ......................................................... 85

Honeypot físicas ............................................................................ 88

Honeypot virtuales ......................................................................... 88

Arquitectura de las Honeypot ............................................................. 89

Delante del Firewall ....................................................................... 90

Detrás del Firewall ......................................................................... 91

En una zona desmilitarizada .......................................................... 92

Aplicaciones prácticas de las Honeypot ............................................. 93

FUNDAMENTACIÓN LEGAL .................................................................... 96

PREGUNTAS A CONTESTARSE ............................................................. 103

VARIABLES DE LA INVESTIGACIÓN ................................................... 105

DEFINICIONES CONCEPTUALES .......................................................... 106

CAPÍTULO III.- METODOLOGÍA

DISEÑO DE LA INVESTIGACIÓN .......................................................... 115

Modalidad de la investigación ...................................................................... 115

POBLACIÓN Y MUESTRA ....................................................................... 116

Población .......................................................................................... 116

Muestra ............................................................................................. 117

INTRUMENTOS DE RECOLECCIÓN DE DATOS ................................. 119

Técnica de recolección de datos ....................................................... 119

Instrumentos de recolección de datos ............................................... 120

PROCEDIMIENTOS DE LA INVESTIGACIÓN ...................................... 122

PROCESAMIENTO Y ANÁLISIS ............................................................. 124

CUANTIFICACIÓN DE LOS RESULTADOS .......................................... 130

CRITERIOS PARA LA ELABORACIÓN DE LA PROPUESTA ............. 136

FASE DE PLANIFICACIÓN ...................................................................... 138

Análisis de los objetivos del Prototipo ............................................. 139

Análisis de componentes .................................................................. 140

Sistemas de detección de intrusos de red (N-IDS) ........................... 141

Sistemas de detección de intrusos de host (H-IDS) .......................... 143

Herramientas de análisis forense ...................................................... 144

FASE DE DISEÑO ...................................................................................... 145

REQUERIMIENTOS Y ESQUEMAS ........................................................ 145

FASE DE IMPLEMENTACIÓN ................................................................. 155

Software de Virtualización VMware ................................................ 155

Instalación y Configuración de VMware Workstation ..................... 160

Instalación de GuestOS en VMware Workstation ............................ 164

Configuración de la Red ................................................................... 172

Diseño del IDS de Red basado en Snort ........................................... 178

Instalación y Configuración del N-IDS ............................................ 179

WinPcap ................................................................................ 179

Snort ...................................................................................... 180

Creación de reglas en Snort .................................................. 187

Instalación y Configuración de MySQL ........................................... 191

A.C.I.D. ............................................................................................ 204

Instalación y configuración de componentes de A.C.I.D. ................ 205

PHP ....................................................................................... 206

Apache .................................................................................. 207

Pruebas de Conexión entre PHP y Apache ........................... 214

Pruebas de Conexión entre PHP y MySQL .......................... 215

Instalación de A.C.I.D. ......................................................... 218

Código fuente de A.C.I.D. .................................................... 221

Diseño del IDS de Host basado en Sebek ........................................ 226

Definición ............................................................................. 226

Funcionamiento de Sebek ..................................................... 227

Arquitectura de Sebek ........................................................... 231

Instalación de Sebek ............................................................. 234

Instalación Cliente Sebek ..................................................... 234

Configuración Cliente Sebek ................................................ 237

Preparando Servidor Linux ................................................... 241

Instalación del Servidor Sebek ............................................. 247

Herramienta de Análisis Forense ...................................................... 250

Definición ............................................................................. 250

Software comercial ............................................................... 251

Instalación y configuración de InstallWatch ........................ 253

Registro de Windows ............................................................ 257

FASE DE COMPROBACIÓN ..................................................................... 260

Prueba de Intrusión ........................................................................... 263

Ataques Remotos .................................................................. 263

Escaneo de Puertos (Portscan) .............................................. 264

Ejemplo de ataque remoto (Nmap) ....................................... 266

Resultados de una Honeypot implementada en la UTPL ................. 274

Descripción ........................................................................... 274

Estadísticas ........................................................................... 275

FASE DE EJECUCIÓN ............................................................................... 279

FASE DE ANÁLISIS ................................................................................... 281

Muestra y Análisis de datos obtenidos ............................................. 281

CAPÍTULO IV.- MARCO ADMINISTRATIVO

PRESUPUESTO .......................................................................................... 287

CRONOGRAMA DE ACTIVIDADES ....................................................... 288

CAPÍTULO V.- CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES ....................................................................................... 290

RECOMENDACIONES .............................................................................. 294

ANEXOS ................................................................................................................. 299

REFERENCIAS BIBLIOGRÁFICAS ..................................................................... 337

ÍNDICE DE ILUSTRACIONES

Ilustración 1

Secuestro de sesión a través de un paquete Sniffer .................................................... 29

Ilustración 2

Secuestro de sesión por suplantación de identidad .................................................... 30

Ilustración 3

Implementación de un IDS de Host ........................................................................... 69

Ilustración 4

Implementación de un IDS de Red ............................................................................ 70

Ilustración 5

Implementación de Honeypot delante del Firewall ................................................... 90

Ilustración 6

Implementación de Honeypot detrás del Firewall ..................................................... 92

Ilustración 7

Implementación de Honeypot en una zona desmilitarizada ....................................... 93

Ilustración 8

Honeypot: Flujo de datos entre Máquina Virtual Trampa y Snort .......................... 149

Ilustración 9

Honeypot: Almacenamiento de datos capturados por Snort en MySQL ................. 149

Ilustración 10

Honeypot: Uso de ACID para muestra de datos almacenados en MySQL.............. 150

Ilustración 11

Honeypot: Componentes relacionados con ACID ................................................... 150

Ilustración 12

Honeypot: Componentes y flujo de datos del IDS de Red....................................... 151

Ilustración 13

Honeypot: Componentes y flujo de datos del IDS de Host formado por Sebek ...... 152

Ilustración 14

Honeypot: Elementos que formaran la Máquina Virtual Trampa ............................ 153

Ilustración 15

Arquitectura del Prototipo de Honeypot, detrás del Firewall .................................. 154

Ilustración 16

VMware: Pantalla principal y la versión de VMware Workstation ......................... 156

Ilustración 17

VMware: Snapshot Manager de VMware Workstation ........................................... 158

Ilustración 18

VMware: Asistente de instalación de VMware Workstation ................................... 160

Ilustración 19

VMware: Tipo de instalación de VMware Workstation .......................................... 161

Ilustración 20

VMware: Carpeta de destino de los componentes de VMware Workstation. ......... 161

Ilustración 21

VMware: Configuración de atajos de VMware Workstation. .................................. 162

Ilustración 22

VMware: Estado de instalación ............................................................................... 162

Ilustración 23

VMware: Información del registro de VMware Workstation .................................. 163

Ilustración 24

VMware: Finalización del asistente de instalación .................................................. 163

Ilustración 25

VMware: Ventana Principal ..................................................................................... 164

Ilustración 26

VMware: Asistente de instalación de nuevas máquinas virtuales ........................... 165

Ilustración 27

VMware: Ventana de instalación del SO. Huésped (GuestOS) ............................... 165

Ilustración 28

VMware: Selección del GuestOS............................................................................. 166

Ilustración 29

VMware: Nombre de la máquina virtual y ubicación .............................................. 166

Ilustración 30

VMware: Especificar la capacidad del disco ........................................................... 167

Ilustración 31

VMware: Configuraciones de la máquina virtual .................................................... 167

Ilustración 32

VMware: Configuración personalizada de hardware, memoria .............................. 168

Ilustración 33

VMware: Configuración del adaptador de red ......................................................... 170

Ilustración 34

VMware: Características de la máquina virtual con SO Ubuntu ............................. 170

Ilustración 35

VMware: Bootscreen del SO Ubuntu ejecutándose en VMware ............................. 171

Ilustración 36

VMware: SO Ubuntu versión 10.04 LTS Lucid Linx Desktop 32 bits ................... 171

Ilustración 37

VMware: Adaptadores de red virtual creados por VMware .................................... 173

Ilustración 38

VMware: Opción Automatic Bridging..................................................................... 174

Ilustración 39

VMware: Adaptadores de red virtual disponibles .................................................... 174

Ilustración 40

GuestOS XP: Direcciones IP de la máquina virtual Windows XP .......................... 175

Ilustración 41

GuestOS XP: Grupo de trabajo de máquina virtual Windows XP .......................... 176

Ilustración 42

HostOS: Grupo de trabajo de la máquina con Windows 7 ...................................... 176

Ilustración 43

HostOS: Configuración de direcciones IP en Windows 7 ....................................... 177

Ilustración 44

N-IDS: Asistente de Instalación de Snort ................................................................ 181

Ilustración 45

N-IDS: Componentes de Snort ................................................................................ 181

Ilustración 46

N-IDS: Ruta de instalación de Snort ........................................................................ 182

Ilustración 47

MySQL: Asistente de instalación de MySQL .......................................................... 192

Ilustración 48

MySQL: Tipo de instalación MySQL ...................................................................... 192

Ilustración 49

MySQL: Carpetas y Directorios de MySQL ............................................................ 193

Ilustración 50

MySQL: Asistente de configuración de MySQL ..................................................... 193

Ilustración 51

MySQL: Tipo de configuración de MySQL ............................................................ 194

Ilustración 52

MySQL: Instancia de MySQL ................................................................................. 195

Ilustración 53

MySQL: Uso de la base de datos ............................................................................. 195

Ilustración 54

MySQL: Unidad de destino y carpetas de los ficheros de datos .............................. 196

Ilustración 55

MySQL: Número de conexiones concurrentes ........................................................ 196

Ilustración 56

MySQL: Opciones de red......................................................................................... 197

Ilustración 57

MySQL: Juego de caracteres ................................................................................... 197

Ilustración 58

MySQL: Tipo de Arranque de MySQL ................................................................... 198

Ilustración 59

MySQL: Contraseña del administrador de la base de datos .................................... 198

Ilustración 60

MySQL: Ejecuta las configuraciones para MySQL................................................. 199

Ilustración 61

MySQL: Ventana de confirmación de MySQL ....................................................... 199

Ilustración 62

MySQL: Tablas de la base de datos Snort ............................................................... 202

Ilustración 63

MySQL: Contenido de la Tabla Event ..................................................................... 203

Ilustración 64

Apache: Asistente de instalación de APACHE ........................................................ 208

Ilustración 65

Apache: Acuerdo de licencia de APACHE .............................................................. 208

Ilustración 66

Apache: Instrucciones de APACHE ........................................................................ 209

Ilustración 67

Apache: Información del servidor HTTP ................................................................. 209

Ilustración 68

Apache: Tipo de instalación de APACHE ............................................................... 210

Ilustración 69

Apache: Carpeta de destino de archivos de APACHE ............................................. 210

Ilustración 70

Apache: Instalación de APACHE ............................................................................ 211

Ilustración 71

Apache: Finaliza la instalación APACHE ............................................................... 211

Ilustración 72

Apache: Icono del monitor de APACHE ................................................................. 212

Ilustración 73

Apache: Los servicios de APACHE están ejecutándose sin ningún problema ........ 212

Ilustración 74

Apache: Comprueba que Apache y PHP están integrados....................................... 215

Ilustración 75

Apache Conexión entre PHP y MySQL realizada con éxito ................................... 217

Ilustración 76

ACID: Ejecución de ACID ...................................................................................... 220

Ilustración 77

ACID: Ventana de creación de las tablas de ACID ................................................. 221

Ilustración 78

ACID: Ventana que confirma la creación de las tablas de ACID ............................ 223

Ilustración 79

ACID: Página de inicio de ACID ............................................................................ 223

Ilustración 80

ACID: Muestra las alertas lanzadas por Snort ......................................................... 224

Ilustración 81

ACID: Muestra la información sobre un paquete .................................................... 225

Ilustración 82

SEBEK: Arquitectura típica de Sebek ..................................................................... 232

Ilustración 83

SEBEK: Implementación de Sebek para el prototipo de Honeypot ........................ 233

Ilustración 84

SEBEK: Asistente de instalación de Sebek Setup.exe ............................................. 234

Ilustración 85

SEBEK: Acuerdo de licencia de Sebek ................................................................... 235

Ilustración 86

SEBEK: Carpeta de destino de Sebek ...................................................................... 235

Ilustración 87

SEBEK: Instalación de Sebek .................................................................................. 236

Ilustración 88

SEBEK: Fin de la instalación de Sebek ................................................................... 236

Ilustración 89

SEBEK: Asistente de Configuración Sebek ............................................................ 237

Ilustración 90

SEBEK: Asistente de Configuración Sebek ............................................................ 237

Ilustración 91

SEBEK: Variables de Sebek .................................................................................... 238

Ilustración 92

SEBEK: Magic Value Sebek ................................................................................... 239

Ilustración 93

SEBEK: Adaptador de red ....................................................................................... 239

Ilustración 94

SEBEK: Nombre del programa de configuración .................................................... 240

Ilustración 95

SEBEK: Resumen de la configuración .................................................................... 240

Ilustración 96

SEBEK: Actividad en el GuestOS Windows XP ..................................................... 249

Ilustración 97

InstallWatch: Toma de Snapshot ............................................................................. 255

Ilustración 98

InstallWatch: Realizar el Análisis ............................................................................ 255

Ilustración 99

InstallWatch: Resumen de cambios tras el análisis.................................................. 256

Ilustración 100

InstallWatch: Archivos añadidos ............................................................................. 257

Ilustración 101

Prueba Intrusión: Ventana de Nmap ........................................................................ 266

Ilustración 102

Prueba Intrusión: Resultados obtenidos después del escaneo .................................. 267

Ilustración 103

Prueba Intrusión: Alerta que muestra Snort mediante ACID................................... 268

Ilustración 104

Prueba Intrusión: Putty ............................................................................................. 269

Ilustración 105

Prueba Intrusión: Command Window de Putty ....................................................... 270

Ilustración 106

Prueba Intrusión: Sebek en acción ........................................................................... 270

Ilustración 107

Prueba Intrusión: Capturas de Sebek ....................................................................... 271

Ilustración 108

Prueba Intrusión: Transferencia con FileZilla.......................................................... 272

Ilustración 109

Prueba Intrusión: Información mostrada por InstallWatch ...................................... 273

ÍNDICE DE GRÁFICOS

Gráfico 1

Visión General ......................................................................................................... 130

Gráfico 2

Defensa del Perímetro .............................................................................................. 131

Gráfico 3

Autenticación ........................................................................................................... 132

Gráfico 4

Administración y Control ......................................................................................... 133

Gráfico 5

Actualización y Evaluación...................................................................................... 134

Gráfico 6

Actividad generada con los diferentes protocolos ................................................... 276

Gráfico 7

Actividad generada con los diferentes puertos TCP ................................................ 276

Gráfico 8

Actividad generada con los diferentes puertos UDP................................................ 277

Gráfico 9

Trafico sospechoso IP‟s Fuente ............................................................................... 282

Gráfico 10

Incidentes por Puerto/Protocolo ............................................................................... 284

Gráfico 11

Alertas por Protocolo ............................................................................................... 285

ÍNDICE DE CUADROS

Cuadro 1

Formato escala evaluación de preguntas .................................................................. 124

Cuadro 2

Ejemplo evaluación de la pregunta 2, caso No ........................................................ 125

Cuadro 3

Ejemplo evaluación de la pregunta 2, caso Sí .......................................................... 125

Cuadro 4

Formato escala de evaluación de pregunta 16.......................................................... 126

Cuadro 5

Ejemplo evaluación de la pregunta 16, caso No ...................................................... 127

Cuadro 6

Ejemplo evaluación de la pregunta 16, caso Sí y subpreguntas ............................... 128

Cuadro 7

Descuento de puntaje evaluación de pregunta 25 .................................................... 129

Cuadro 8

Claves predefinidas en Windows XP ....................................................................... 259

Cuadro 9

Direcciones IP detectadas y cantidad de paquetes ................................................... 281

Cuadro 10

Incidentes detectados por Puerto y Protocolo .......................................................... 283

Cuadro 11

Porcentaje de Alertas por Protocolo ......................................................................... 285

Cuadro 12

Detalles Presupuesto del Proyecto ........................................................................... 287

Cuadro 13

Cronograma de Actividades ..................................................................................... 288

1

INTRODUCCIÓN

Las redes de datos en general son un medio de comunicación electrónico muy común

en la actualidad y a medida que estas redes, aplicaciones y en particular el internet

van evolucionando, también crecen las posibilidades de vulnerabilidad lo que implica

riesgos de ataques, esto se traduce en el daño y la pérdida que generan dichas

amenazas.

Es una realidad, que en estos últimos años los ataques generados por individuos

cuyos motivos son con fines perjudiciales, han aumentado considerablemente. Este

factor, unido a las vulnerabilidades existentes en todo tipo de sistemas operativos y

aplicaciones, convierte a cualquier organización en una víctima potencial.

Si bien es cierto la seguridad esta finamente ligada a la certeza, es decir, no existe

seguridad absoluta, lo que se intenta hacer es minimizar el impacto y el riesgo

combinando diferentes herramientas existentes en el medio. Por lo tanto y frente a

este panorama, es importante el estudio de nuevas estrategias y técnicas que permitan

generar un cierto grado de protección.

En la actualidad existen herramientas y mecanismos de defensa que son usados en las

redes de computadoras tales como, Firewalls, Sistemas de Detección de Intrusos

(Intrusion Detection System IDS), Lista de Control de Accesos (Acces Control List

ACL). Análisis realizados determinan que el problema con los mecanismos

mencionados anteriormente radica es que, muchas veces no están configurados de

manera correcta y generan una falsa sensación de seguridad.

2

Para lograr tener una red segura conviene tomar en cuenta aspectos del entorno como,

de que se debe proteger y de quien, las vulnerabilidades en el hardware o software y

de los tipos de ataques existentes. Todos estos factores mencionados han sido el

impulso para que expertos en el área de seguridad de redes generen nuevas

propuestas, es así que aparece una tecnología llamada Honeypot que permite conocer

con detalle los ataques y vulnerabilidades que sufren las redes.

En términos comprensibles un Honeypot cuya traducción literal seria “Tarro de

miel”, en el campo de la seguridad de redes, se define como un recurso de la red que

se encuentra voluntariamente vulnerable para que el intruso pueda examinarla y

atacarla, así pues se podrá conocer al atacante y los métodos que usa, analizar lo

ocurrido para finalmente proponer metodologías de prevención o mitigación de las

vulnerabilidades encontradas.

El presente trabajo consiste en diseñar el prototipo de una Honeypot virtual y el

estudio detallado de las características de esta tecnología con el fin de demostrar su

funcionamiento, monitorear y analizar los ataques hechos por intrusos, para aprender

de ellos todo lo necesario y proporcionar una herramienta de investigación para que

los administradores de la red adopten ideas y soluciones que podrían ser aplicadas

como correctivos que reducirían en cierto modo los riesgos de una ataque a las redes

de la Carrera de Ingeniería en Sistemas Computacionales y Networking de la

Universidad de Guayaquil

3

CAPÍTULO I

EL PROBLEMA

PLANTEAMIENTO DEL PROBLEMA

Ubicación Del Problema En Un Contexto

El creciente uso de redes de datos en todas las organizaciones así como la existencia

de las vulnerabilidades en sistemas y aplicaciones, han constituido desde hace mucho

tiempo el factor principal para el uso de métodos que proporcionen seguridad en las

redes. Hay que considerar que en la actualidad el aumento del ancho de banda y el

fácil acceso a la red, ha contribuido a una evolución en las técnicas de ataques,

generando cambios en los escenarios típicos que producen amenazas para cualquier

sistema conectado a una red. La cantidad de intentos de accesos no autorizados a la

información que existe a través de la Internet ha crecido durante estos últimos años,

según el Computer Security Institute, un 70% de las organizaciones anunciaron al

menos un incidente de seguridad durante 2009, frente a un 42% anunciado en 2006.

La mayoría de los expertos piensa que estos números están muy por debajo de la tasa

real, puesto que muchas organizaciones evitan dar a conocer sus incidentes y muchas

otras ni siquiera los detectan. Los intrusos aprovechan esas vulnerabilidades en las

redes para proceder a atacarlas con fines perjudiciales, generando daños costosos para

una organización.

En el entorno de la seguridad de redes existen mecanismos de defensa contra los

ataques e intrusiones, que trabajando en combinación con otras herramientas tratan de

4

reducir el impacto y los riesgos generados por los atacantes; el problema con estos

mecanismos es, que muchas veces no están configurados de manera correcta y

generan una falsa sensación de seguridad.

Todos estos factores son primordiales para proceder a investigar nuevos métodos y

obtener herramientas que disminuyan en gran proporción la vulnerabilidad en las

redes, esto es la motivación para ir en busca y generar estudios de las posibles

soluciones a una problemática creciente. Una de estas soluciones es conocer con

detalle cada uno de los movimientos que el intruso hace para vulnerar una seguridad

ya establecida, de esta manera se puede recolectar información que ayudara a definir

tendencias respecto de las actividades del atacante, activación de sistemas tempranos

de alarma, adoptar nuevas medidas de seguridad; En otras palabras corregir los

puntos vulnerables y fortalecer el conjunto de elementos que comprenden un sistema

de seguridad de redes de datos de una organización

Como es de conocimiento general en la Carrera de Ingeniería en Sistemas

Computacionales y Networking de la Universidad de Guayaquil existen redes de

datos que si bien es cierto poseen las seguridades debidas del caso, pero no están

ajenas de ser vulneradas por cualquier intruso, tomando como punto de partida la

problemática de los factores ya antes mencionados sobre las herramientas existentes y

la evolución en las técnicas de ataque.

5

Es así que, al ser una carrera tecnológica debe estar a la vanguardia de las nuevas

tendencias y de los nuevos métodos en el campo de la seguridad informática

ampliando sus horizontes; la idea que plantea esta investigación no pretende alterar

una estructura de seguridad ya establecida, sino ayudar a concebir soluciones

beneficiosas para optimizar las herramientas existentes y en uso dentro de la carrera,

adaptando esta nueva propuesta a dichas herramientas la cual dará una visión de

cuanto se puede aprender de los atacantes y que correctivos se debe aplicar para

proveer una mejora en los esquemas de seguridades.

Formulación Del Problema

Si existen herramientas en seguridad de redes, y se ha descrito que estas no son

suficientemente confiables necesitando afinar su desempeño acoplando nuevos

métodos para corregir las vulnerabilidades, y que el esquema de seguridad de las

redes de la carrera está haciendo uso de las misma; existiendo la necesidad de

adaptarse a las nuevas técnicas de seguridad debido a la constante evolución de la

tecnología y amenazas.

¿Qué ventajas tiene el uso de la tecnología Honeypot y en qué aportara el estudio de

este nuevo conocimiento como beneficio a una optimización del esquema de

seguridad de las redes de la Carrera de Ingeniería en Sistemas Computacionales y

Networking de la Universidad de Guayaquil?

6

Evaluación Del Problema

Delimitado: Como se explico en el apartado anterior del Planteamiento del problema,

es un hecho que las técnicas de ataque de los intrusos han evolucionado y que

ninguna red se escapa de ser vulnerada, en centros de educación superior como la

Carrera de Ingeniería en Sistemas Computacionales de la Universidad de Guayaquil

se usan redes de datos, las cuales poseen un esquema de seguridad ya establecido y

controlado por su administrador, pero si bien es cierto la seguridad esta finamente

ligada a la certeza, es decir no existe seguridad absoluta, lo que se intenta es

minimizar el impacto y reducir el riesgo.

Claro: Es fácil de reconocer el entorno en el que se encuentra el problema, y más aun

considerando que en la actualidad muchas organizaciones están empleando el uso de

redes datos y por supuesto aplicando las seguridades debidas al caso, dependiendo de

cuán importante sean estas redes, las organizaciones emplearan más recursos en el

área de seguridad de redes. Pero si a estas le agregamos un complemento que permita

analizar los ataques y así determinar que correctivos se puede aplicar como si fuese

una herramienta forense, seguramente se ahorraría mucho en dichos recursos.

Concreto: Esta investigación pretende generar una herramienta de apoyo a los

métodos de seguridad existentes, no para restarles importancia ni para alterar un

estructura de seguridad ya establecida, más bien ayudaría a los administradores a

7

determinar mediante el análisis a las intrusiones que correctivos se puede aplicar o

añadir para mitigar los puntos vulnerables y fortalecer ese conjunto de herramientas

que proporcionan seguridad a las redes.

Original: La idea que plantea este trabajo es novedosa debido a que, dicho de otra

manera en nuestro medio no se ha investigado totalmente un enfoque de cómo sacar

provecho al analizar los ataques de un intruso sin comprometer una red completa y

funcionalmente, claro que esta idea ha estado en el entorno y ha ido mejorando y

desarrollándose con el tiempo, pero no se ha tomado en cuenta el uso y adaptación de

esta herramienta innovadora y poco explotada.

Contextual: Debido a que el entorno en el que se desempeña el Ingeniero en

Sistemas de la Universidad de Guayaquil es más tecnológico y está en constante

cambio en todas las ramas, la seguridad en redes tampoco se queda atrás y es

conveniente que el ingeniero se prepare para los nuevos retos que trae consigo,

adaptándose y estar al vanguardia de la evolución tecnológica en computación, aquí

se destaca el estudio de un método novedoso que podrá ayudar en muchos casos a

conocer que tan amplio es el mundo de las seguridades y que se puede encontrar

métodos de mucha utilidad que ayudaran al desarrollo profesional e intelectual de los

interesados en este campo.

8

Factible: El desarrollo de este trabajo plantea el diseño de un prototipo que dará a

conocer con más claridad en qué consiste y la forma en que funciona una honeypot,

claro que con el tiempo y los recursos que posea la Carrera de Ingeniería en Sistemas

Computacionales y Networking de la Universidad de Guayaquil, podría procederse a

una implementación en un entorno de trabajo real y así se empiece a obtener los

beneficio que trae consigo el uso de una herramienta como la que hace mencionado

esta investigación.

OBJETIVO GENERAL

Diseñar el prototipo de una Honeypot virtual que permita mejorar el esquema de

seguridad en las redes de la Carrera de Ingeniería en Sistemas Computacionales y

Networking de la Universidad de Guayaquil.

Objetivos Específicos.

Explicar con detalle en qué consiste la tecnología Honeypot, tomando en cuentas

sus ventajas, tipos, costo, recursos humanos, recursos físicos y la utilidad para la

Carrera de Ingeniería en Sistemas Computacionales y Networking de la

Universidad de Guayaquil.

Proporcionar una herramienta de aprendizaje e investigación para cualquier curso

de seguridad informática o de investigación que se esté realizando dentro de la

Carrera de Ingeniería en Sistemas Computacionales y Networking de la

Universidad de Guayaquil.

9

Conocer el comportamiento de los intrusos así como sus motivos y las

herramientas que utilizan.

Proveer un recurso de seguridad pro-activa que permita identificar nuevas

tendencias en ataques.

Entrevistar a los administradores de la red, con lo que cual se pretende identificar

el estado actual de los métodos de seguridad de red aplicados en la Carrera de

Ingeniería en Sistemas de la Universidad de Guayaquil.

Demostrar a través del diseño de un prototipo, el funcionamiento de la tecnología

Honeypot tomado como base para el prototipo una Honeypot virtual.

Planificar que herramientas y mecanismos se necesitaran para la implementación

del prototipo de una Honeypot virtual.

Registrar y documentar las técnicas y herramientas usadas en la implementación

del prototipo de la Honeypot.

Analizar y explicar los datos obtenidos por el prototipo de la Honeypot.

ALCANCES DE LA INVESTIGACION

Utilizar la investigación bibliográfica para definir con detalle en qué consiste la

tecnología Honeypot, sus características principales, ventajas y utilidad.

Tomar en consideración estudios realizados sobre la tecnología Honeypot

delimitando su campo de acción y los beneficios que ha traído su uso.

Crear una entrevistas para los administradores de red.

Con los resultados obtenidos de las entrevistas, se procederá a elaborar un

10

analizar a los factores que generan dichos incidentes para así poder prescribir en

que aportara la ayuda que presta la tecnología Honeypot.

Planificar los propósitos del prototipo de la Honeypot a desarrollar y las

necesidades que se deben cumplir para lograr alcanzar dichos propósitos.

Establecer el tipo de software que se encargara de satisfacer cada una de estas

necesidades.

Proceder a seleccionar las aplicaciones que se usaran para el diseño de la

Honeypot.

Instalación de las aplicaciones y verificación de que estas se complementen de

acuerdo a la planificación realizada.

Implementado el prototipo, se debe poner a prueba su funcionamiento; con esto se

obtendrá capturas que serán analizadas para posteriormente establecer

conclusiones que serán útiles para esta investigación.

Las conclusiones obtenidas de este prototipo determinaran la utilidad de la

tecnología Honeypot, ayudara a identificar las amenazas que podrían ocurrir y de

esta manera proponer su uso como complemento a las herramientas de seguridad

de redes que usa la Carrera de Ingeniería en Sistemas Computacionales y

Networking de la universidad de Guayaquil.

Cabe destacar que el presente estudio no pretende criticar los métodos de

seguridad de redes existentes, sino, generar una propuesta para integrar una

herramienta innovadora al conjunto de métodos de seguridades que se presentan

en la actualidad.

11

JUSTIFICACION E IMPORTANCIA

Se explicara la justificación mediante los siguientes criterios:

CONVENIENCIA: La investigación es conveniente debido a que propone el estudio

de una tecnología no tan conocida en el campo de seguridad de redes, este estudio

será útil para aquellos que deseen tomarla como punto de partida y profundizar más

en esta técnica innovadora dentro de las seguridades.

RELEVANCIA SOCIAL: La investigación es de trascendencia social porque impulsa

la idea de establecer el uso de nuevas herramientas dentro de la Carrera de Ingeniería

de Sistemas Computacionales y Networking de la Universidad de Guayaquil. Ya que

al ser una carrera tecnológica se debe estar a la vanguardia de los nuevos métodos

informáticos y ofrecer a la sociedad profesionales de calidad y preparados para la

competencia.

IMPLICACIONES PRÁCTICAS: La investigación proporcionaría el conocimiento

necesario para resolver un problema real y actual en la sociedad e incluso servirá de

guía para que más adelante se ponga en práctica no solo a nivel de la Carrera sino a

nivel de la Universidad de Guayaquil.

VALOR TEORICO: Como es de conocimiento general, actualmente existen

herramientas que ayudan dentro de la seguridad de redes, este estudio contribuiría

explicando y demostrando con más detalle la existencia de Honeypot y que es posible

12

aprender y adaptar las nuevas propuestas para las exigencias que el mundo obliga en

la actualidad.

UTILIDAD METODOLOGICA: La investigación plantea el estudio e impulsa el

concepto de técnicas y metodologías existentes, para aprender no solo a monitorear

una red sino también del intruso y sus técnicas, además que este proyecto ha tomado

en cuenta un enfoque novedoso y poco explotado.

13

CAPÍTULO II

MARCO TEÓRICO

ANTECEDENTES DEL ESTUDIO

Para la ejecución de este proyecto de fin de carrera, se han tomado en consideración

estudios realizados con respecto al área de seguridad de redes informáticas, no solo

referentes al tema que se trata en la presente, que es Honeypot, sino también con

respecto a la introducción en la seguridad de redes para explicar con detalle cada uno

de los pilares que forman unas buenas directrices de seguridad, conocer más acerca de

los intrusos, técnicas que emplean y los métodos aplicados para controlar un entorno

de red. Todo esto se relaciona al presente proyecto debido a que tiene como base

trabajar de manera vinculada con los métodos de seguridad existentes y

complementarlos, así pues a través de la herramienta que propone la presente

investigación ayudara a los administradores de la red a tomar decisiones para buscar

la forma de contrarrestar en cierto grado el impacto que generan las intrusiones,

adoptando mejoras y correcciones a la seguridad para prevenir futuros incidentes.

FUNDAMENTACIÓN TEÓRICA

Orígenes

Este estudio acerca de la tecnología Honeypot, se basa fundamentalmente

en conceptos que tiene ya más de 20 años de historia, aunque la tecnología aplicada

de manera formal tiene menos y poca documentación de sus orígenes.

14

Históricamente las primeras referencias a un sistema de monitorización de intrusos

aparecen ya en la bibliografía sobre los años 90, de la mano del astrónomo y escritor

Estadounidense Clifford Stoll (Stoll, 1990); en esta obra escrita narra su experiencia

personal en la búsqueda y captura de un hacker, el cual irrumpió la seguridad de una

computadora en el Laboratorio Nacional Lawrence Berkeley en Estados Unidos. Sin

embargo los líderes en la investigación y desarrollo del concepto de Honeypot se

agrupan en el Honeynet Project (The Honeynet Proyect, 1999) que junto a una serie

de publicaciones denominadas “Know Your Enemy” (Weley, 2001), fueron las que

hicieron crecer el valor de la tecnología Honeypot.

El responsable de esta idea es Lance Spitzner, un consultor y analista informático

experto en temas de seguridad. Construyó a comienzos del año 1999 una red de seis

ordenadores en su casa diseñada para estudiar el comportamiento y formas de

actuación de los hackers. Fue de los primeros en adoptar la idea, hoy es uno de los

mayores expertos en Honeypots, precursor del proyecto Honeynet (The Honeynet

Proyect, 1999), en marcha desde 1999 y autor del libro “Honeypots: Tracking

Hackers”. Fue entonces cuando Octubre del año 1999 cuando se formó un grupo de

personas que buscaban aprender más acerca de ataques, amenazas y vulnerabilidades.

Este grupo estaba compuesto en sus comienzos por: Martin Roesch (desarrollador del

sistema de detección de intrusos llamado Snort (Roesch, 2002)), Cris Brenton, J.D

Glazer, Ed Skoudis y Lance Spitzner (autor de: The Honeynet Project (The Honeynet

Proyect, 1999)), autodenominados “Wargames mail list”, trabajaban en la

construcción de computadoras que eran utilizadas para vulnerarse unas con otras,

15

desarrollando de esta manera habilidades tanto para el ataque como metodologías de

análisis para comprender como habían sido atacadas. Finalmente este grupo fue

creciendo y se convirtió en lo que se conoce hoy como “The Honeynet Project”.

En junio de 2000 y por espacio de tres semanas, el Honeypot del proyecto fue atacado

y comprometido por un famoso grupo de hackers, lo que permitió el estudio del

comportamiento de este grupo en “real” así como demostrar la viabilidad y utilidad

de esta nueva herramienta de seguridad.

Este conocido incidente catapultó mediáticamente el concepto de Honeypot como la

última tendencia en seguridad de redes convirtiendo su libro en un best-seller de

lectura obligatoria para todos los profesionales de la seguridad (Weley, 2001).

A inicios de 2001 se convirtió en una organización sin ánimo de lucro dedicada al

estudio de los hackers(1)

(blackhats(2)

); esta organización actualmente está compuesta

por más de 30 miembros permanentes, además se han fundado capítulos (Chapters) o

grupos de desarrolladores de diversos países (The Honeynet Proyect, 2010), que

colaboran en conjunto para evolucionar esta tecnología e ir creando nuevas

soluciones basadas en Honeypots, y también proporcionan ayuda a los interesados en

esta herramienta.

1Término para designar a alguien con talento, conocimiento, inteligencia e ingenuidad, especialmente relacionada

con las operaciones de computadora, redes, seguridad, etc.

2Subcultura del grupo Hackers; es gente apasionada por la seguridad informática. Esto concierne principalmente a

entradas remotas no autorizadas por medio de redes de comunicación como Internet.

16

Cerca del año 2002 se empieza hacer uso de Honeypots para la captura de

información con el objetivo de estudiar la actividad de gusanos informáticos y

muchas organizaciones adoptaron los Honeypots como un medio de investigación y

detección de ataques informáticos.

Para el desarrollo de la presente investigación motivo de esta tesis, se planea adoptar

la guía de uno de los miembros del Honeynet Proyect pertenecientes al Spanish

Chapter (Spanish Honeynet Proyect, 2010), cuyo líder y fundador es el Ingeniero en

Telecomunicaciones y Telemática Diego González Gómez, debido a que la asesoría

que nos facilitara será de vital importancia en la etapa de planificación del prototipo.

FUNDAMENTOS DE LA SEGURIDAD INFORMÁTICA

Definición de Seguridad Informática

Si se busca la definición de seguridad en el diccionario de la Real Academia de la

Lengua Española, ésta mostraría algo como: libre y exento de todo peligro o riesgo.

La primera definición general del término seguridad informática la dan Garfinkel y

Spafford (Simpson, 1991) como aquello de lo que se puede depender para que se

comporte como se espera. Un sistema es seguro desde el punto vista de un

usuario si la serie de acciones que cada actor puede realizar están limitados por

lo que el usuario cree que el actor puede hacer (Sandeep, 1995).

17

Una definición más asimilable de seguridad informática es la siguiente: son las

medidas que permiten evitar la realización de acciones no autorizadas que

afecten de alguna manera la confidencialidad, autenticidad o integridad de la

información y que de la misma forma garanticen el funcionamiento correcto del

equipo y la disponibilidad de éste para los usuarios legítimos (Vieites, 2007).

Es lamentable decir que la información nunca va a estar libre de riesgo. La seguridad

no trata sobre cómo estar libre de peligro, más bien se refiere a una buena

administración del riesgo. Así fundamentalmente la seguridad es la mejor manera

para llevar a cabo la administración de la pérdida o riesgo.

Por lo tanto, la definición de seguridad informática desde el punto de vista que

propone este estudio queda como:

“La administración de la pérdida o riesgo en la información y del costo que resulte

de esa pérdida.”

En cualquier tipo de sistema, sea informático o no, la seguridad se la considera como

una característica la cual garantiza que el sistema está fuera de peligro, daño, riesgo o

falla, sean estas de origen interno o externo.

¿Qué es el riesgo?

El riesgo es una pérdida potencial que depende de algunos factores. Se define al

riesgo con una fórmula (Winkler, 2007):

Riesgo = (Amenaza * Vulnerabilidades / Medidas de prevención) * Valor

18

Para el caso de una organización este riesgo va a estar dado en términos monetarios.

a. Valor

Es el componente más importante del riesgo, sin el valor no hay riesgo.

Técnicamente sin valor no se tendría una pérdida.

b. Amenaza

Es esencialmente Qué o Quién puede causar algún daño si le da la oportunidad.

c. Vulnerabilidad

Las vulnerabilidades son básicamente las debilidades que permiten a la amenaza

explotarlas.

d. Medidas de prevención

Son las precauciones que una organización toma para reducir el riesgo.

La seguridad informática es de primordial importancia al iniciar desde un simple

proyecto computacional ya sea software o hardware, hasta la implementación de

aplicaciones, redes, o cualquier cosa que pueda dar paso para atentar contra la

seguridad.

La información es una de las cuestiones principales que resguarda el tema de

seguridad informática, esto conlleva a la utilización de equipos de cómputo

conectados a Internet, donde pueden ser comprometidos sin una previa revisión del

mismo sistema o red.

19

La Información de las Organizaciones

Para poder aplicar seguridad a la información se debe conocer algunas características

de esta:

“Un dato es una representación simbólica (numérica, alfabética, etc.), de un atributo o

característica de una entidad” (Norton, 2000).

“La información es un conjunto de datos organizados, que constituyen un mensaje

sobre un determinado ente o fenómeno” (Norton, 2000).

La información no siempre es privada, existe información pública y privada, el

análisis de seguridad se centrara en esta última, la información se puede clasificar de

la siguiente forma:

Critica: Es indispensable para la continuidad de la organización.

Valiosa: Es parte importante de la organización.

Sensitiva: Sólo debe ser conocida por las personas que la manejan

Seguridad Física

Se encarga del área de protección de los sistema informáticos como hardware,

dispositivos de red, dispositivos electrónicos; todo el entorno que los rodea en el

lugar que se hallan ubicados (edificios, sistemas eléctricos, seguridad en las

cerraduras), además de controlar a las personas que están encargadas de la vigilancia

20

de estos, y tanto de los sistemas informáticos como del entorno. Podemos tomar en

cuenta algunos puntos como por ejemplo (Berenguela, 2006):

Desastres naturales: está catalogado como desastre natural toda anomalía de la

naturaleza. Ejemplos: los maremotos, terremotos, etc.

Malas instalaciones: las instalaciones son un punto bastante importante, como

los cables mal ubicados o en mal estado, la infraestructura en malas condiciones,

un ejemplo bastante común de esta es que los cables eléctricos y de red estén muy

juntos.

Ataques hostiles: el 80% de los ataques a los sistemas de información provienen

desde su interior, los entes más peligrosos son los empleados disconformes, éstos

están dispuestos a vulnerar la seguridad de la organización.

Control de acceso: con este se pueden manejar bitácoras, llevando un registro del

ingreso a las instalaciones, viendo quien, a qué hora, lo que hizo y si está

permitido su acceso al lugar.

Seguridad Lógica

Consiste en la aplicación de barreras y procedimientos que resguarden el acceso a los

datos y sólo se permita acceder a ellos a las personas autorizadas para hacerlo, estos

son los puntos que la seguridad lógica debe proteger (Berenguela, 2006).

Restringir el acceso a los programas y archivos.

Asegurar que los operadores puedan trabajar sin una supervisión minuciosa y no

puedan modificar los programas ni los archivos que no correspondan.

21

Asegurar que se estén utilizados los datos, archivos y programas correctos en y

por el procedimiento correcto.

Que la información transmitida sea recibida sólo por el destinatario al cual ha sido

enviada y no a otro.

Que la información recibida sea la misma que ha sido transmitida.

Que existan sistemas alternativos secundarios de transmisión entre diferentes

puntos.

Que se disponga de pasos alternativos de emergencia para la transmisión de

información.

Importancia de la Seguridad Informática

La Seguridad Informática esta basadas en cuatro pilares fundamentales que hacen que

la información se encuentre protegida (Aldegani, 1997). Estos pilares se ocupan

principalmente de proteger cuatro aspectos de la información:

Confidencialidad

La información puede ser accedida únicamente por las personas que tienen

autorización para hacerlo.

Integridad

Se refiere a que exista total seguridad de que la información no ha sido borrada,

copiada o alterada, no sólo en su trayecto, sino también desde su origen.

22

Disponibilidad

Característica de estar siempre disponible para su uso por personas autorizadas.

Autenticidad

Algunos profesionales de la seguridad no incluyen esta característica cuando

hablan de los pilares, sino que nombran los tres anteriores. Aunque desde otro

punto de vista y particularmente no se puede soslayar este concepto, debido al

hecho de que integridad nos informa que el archivo no ha sido retocado ni

editado, y autenticidad nos informa que el archivo en cuestión es el real.

Los métodos de autenticación para verificación de identidad pueden clasificarse

en tres categorías:

Categoría 1: algo que el usuario sabe.

Un dato esencial, puede tratarse de algo de su persona o bien de un simple o

complejo password (contraseña).

Categoría 2: algo que el usuario lleva consigo.

Puede ser un documento de identidad, una tarjeta o cualquier otro elemento

que uno lleve consigo.

Categoría 3: propiedad física o acto involuntario.

La pupila, la voz y la huella dactilar son ejemplos de propiedades físicas de un

individuo y firmar es un acto involuntario, ya que uno no está pensando en

hacer cada trazo, sino que los realiza en conjunto.

23

SEGURIDAD EN INTERNET

Cuando se habla de seguridad informática muchas veces se confunde diciendo que es

igual a la seguridad en Internet. El enfoque motivo de esta investigación planta su

base en el compromiso de la seguridad a la hora de establecer una conexión entre la

red de una organización o empresa con la red de redes: Internet. De este modo, se

pretende analizar aquellas amenazas ligadas a este medio considerándolo como

seguridad de red. El conectar un sistema a Internet lo expone a numerosas amenazas

que se incrementan diariamente. Los tipos más generales de amenazas son (Ramos,

2009):

Vulnerabilidad en el software

La modificación del software presente en los dispositivos físicos del sistema o la

inclusión de nuevo software podría suponer la materialización de una grave amenaza.

Debilidades en el sistema físico hardware

La seguridad informática debe tener también en cuenta el conjunto de elementos

físicos del sistema informático conocido como el hardware, este se encuentra

compuesto: motherboard, microprocesador, disco duro, unidades de almacenamiento

extraíble, monitor, mouse, teclado, cables, etc.

Violación de los objetivos de la seguridad de la información

La posible extracción, destrucción y/o modificación de la información contenida en

un equipo, vulnerando así los objetivos anteriormente expuestos de confidencialidad,

24

integridad y disponibilidad, es una de las partes más sensibles, ya que, actualmente,

toda la información sobre individuos, empresas e incluso gobiernos está contenida en

bases de datos, archivos, etc. El robo de esta información podría suponer, entre otras

cosas, la ruina económica de la víctima.

Propagación de vulnerabilidades

Con este término se hace referencia a la extensión de las vulnerabilidades anteriores a

otros sistemas utilizando los recursos de la propia víctima o no. Es la gran capacidad

de comunicación que provee Internet lo que lo hace tan peligroso y por lo que la

seguridad en este entorno ha tomado tal repercusión.

Tipos de ataques

Se pueden encontrar multitud de trabajos referentes a la categorización y clasificación

de ataques informáticos e intrusiones (Sandeep, 1995). Aunque la clasificación más

común es según la naturaleza de los ataques y estos pueden clasificarse en (Ferrero,

2009):

Pasivos

Se trata de intrusiones en un sistema sin consecuencias para este. Por lo general se

hacen para demostrar las vulnerabilidades de un sistema o como retos que se

ponen a sí mismo los hackers más experimentados al entrar en sistemas muy

protegidos.

25

Activos

En esta ocasión la intrusión en el sistema se usa para dañarlo modificando o

eliminando archivos. Son los ataques más perjudiciales y con consecuencias más

graves.

Según el origen del atacante los ataques pueden ser (Ferrero, 2009):

Internos

El ataque proviene de la propia red. Puede ser realizado por usuarios de la red o

por atacantes que suplantan alguna identidad. Son muy peligrosos debido a los

privilegios que se tiene sobre el sistema (especialmente si trata de la identidad de

un administrador).

Externos

Los ataques provienen del exterior del sistema, en general se hacen a través de

internet. Son los ataques más conocidos y lo que se conoce popularmente como

hacking o pirateo informático.

Cabe recalcar que, como se mencionó anteriormente, este estudio se enfoca en el

compromiso de la seguridad al establecer una conexión a Internet, las formas y estilos

comúnmente usados en ataques realizados vía Internet están divididos en nueve

categorías principales (Ramírez R. , 2003):

26

Ataques basados en diccionarios

Inicialmente, el hacker o atacante en general, trata de entrar a un sistema en la red

por medio de teclear un nombre de usuario y contraseña. Para averiguar la

contraseña, se valdrá de métodos manuales o programas que lleven a cabo su

decodificación mediante una combinación de todas las palabras y letras de

diccionarios en varios idiomas con signos de puntuación y números.

En base a escuchar el tráfico de la red

Posiblemente, uno de los más difíciles de llevar a cabo, pero, cuando se logra en

una transacción comercial, se convierte en uno de los más serios.

Para ello, se utiliza el llamado “packet sniffer(1)

”, que se encargará de interceptar

los paquetes que viajan a través de la red.

Estos pueden contener información confidencial como las claves de usuarios,

paquetes de transacciones comerciales con el número de una tarjeta de crédito, e-

mail, etc. El procedimiento es obtener la IP que recibirá el paquete y, así, cuando

pase uno dirigido a ese host, lo copiará para enviarlo al sistema del atacante.

1Un dispositivo o programa que monitorea los paquetes que viajan entre las computadoras en una red. Un paquete

es un bloque de datos que transmite las identidades de las estaciones que reciben y envían información y datos

de control de error.

27

Ataques que explotan los accesos confiables

Son comunes en redes que usan un sistema operativo que incorpora mecanismos

de accesos confiables; incluidos UNIX, VMS y NT. Los usuarios de estos

sistemas pueden crear archivos de hosts confiables en los que se incluyan los

nombres de máquinas o direcciones IP, con las cuales un usuario puede acceder el

sistema sin una contraseña para ello.

Por ejemplo, si un atacante obtiene el nombre de la máquina, tendrá privilegios

para entrar al sistema, pudiéndose mover como superusuario(1)

accediendo al

archivo que los administradores de UNIX colocan en el directorio raíz con la

información de los diferentes usuarios.

Basándose en las direcciones IP

Mediante el duplicado de una dirección IP, el intruso da información falsa acerca

de la identidad de su computadora, haciéndose pasar por un host confiable dentro

de una red. Así, el intruso gana los paquetes de acceso a un sistema y sus

servicios.

1El administrador del sistema en los sistemas UNIX/Linux se denomina superusuario. El superusuario es la

persona responsable de la administración y configuración de todo el sistema, y es el único que tiene permisos

para añadir nuevos usuarios, instalar aplicaciones, configurar dispositivos, etc.

28

Suplantando a una entidad de confianza

Este tipo de ataques se han convertido en comunes y mucho más peligrosos en

tanto más usuarios se conectan a la red.

Aprovechando la ingenuidad de ciertos usuarios, el hacker solicita información

privilegiada por diferentes medios (emails, applets de Java(1)

, etc.) que emulen

confianza ante la víctima, extrayendo los datos de usuario para una plataforma

dada.

Predicción de números secuenciales

Es una técnica común para el robo de IP´s dentro de las redes UNIX. Para

establecer una conexión TCP se usa el procedimiento llamado “negociación en

tres pasos” (3-way handshake). Durante su establecimiento, algunos parámetros

como el número de secuencia son configurados para asegurar la entrega ordenada

de los datos y la robustez de la comunicación. La creación de estos números

secuenciales se basa en los relojes internos de cada computadora. En muchas

versiones UNIX, estos números obedecen un patrón que es predecible usando un

determinado algoritmo, lo que permitiría a un intruso predecir en cierta medida la

secuencia de números por medio de la escucha de patrones hechos por conexiones

legítimas. Así, llegaría a lograr un handshake no autorizado.

1Es un programa que puede incrustarse en un documento HTML; es decir en una página Web. Cuando un

Navegador carga una página Web que contiene un Applet, éste se descarga en el navegador Web y comienza a

ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la página Web

en su navegador.

29

Secuestrando sesiones

En este tipo, el intruso encuentra una conexión existente entre dos computadoras,

generalmente de un servidor y un cliente. Inmediatamente después, penetrando a

routers desprotegidos o cortafuegos inadecuados, obtiene los números de

direcciones TCP/IP en un intercambio entre las computadoras. Tras ello, el

intruso secuestra la sesión del usuario simulando la dirección del usuario. Al

lograr esto, el secuestrador se adueña de la sesión y el host desconecta al usuario

legítimo, obteniendo así libre acceso a los archivos. Es muy difícil detectar una

sesión secuestrada, ya que el secuestrador aparece en el sistema como el usuario

secuestrado. Las Ilustraciones 1 y 2 muestran el proceso de este tipo de ataque.

Ilustración 1. El atacante usa el paquete sniffer para obtener la dirección IP del usuario o

destinatario final.

30

Ilustración 2. El atacante secuestra la sesión fingiendo ser el usuario final y obtiene libre acceso a

los archivos del usuario original.

Ataques enfocados a explotar las debilidades de la tecnología

Todos los sistemas operativos tienen sus propias debilidades, algunos son más

accesibles que otros. Al salir nuevos sistemas, pueden contener los llamados

bugs(1)

que provocarían el colapso de un equipo conectado a la red.

Explotando el sistema de librerías compartidas

Muy común en sistema UNIX. El intruso hace un reemplazo de una librería

compartida (conjunto de funciones de programas comunes que el sistema

operativo carga de un archivo a la memoria RAM en cada petición del programa)

para sus propósitos, como por ejemplo, proveerlos de privilegios para acceder una

petición.

1Un bug es un mal funcionamiento de un elemento de software. Que un programa haga cosas no requeridas, o que

no haga las cosas que debería.

31

Los atacantes

Hay muchas clases de atacantes que van variando según cada autor y cada

investigador del tema, pero la mayoría tienen un punto de vista en común: “nos

protegemos de las personas”.

A esta altura de los tiempos y con las sociedades que evolucionan, suena raro decir

que estamos cuidándonos de nosotros mismos y, más aún sabiendo que esos

elementos que protegemos son, en su mayoría, cosas creadas por nosotros mismos.

El factor más importante que incita a las personas a cometer actos en contra de los

cuatro pilares (integridad, disponibilidad, confidencialidad y autenticidad) es, sin

ninguna duda, el poder. Este poder reside en los datos y en la información, y son

compartidos por el mundo.

Como se mencionó, muchos escritores difieren al referirse sobre de quién o de qué

hay que protegerse, ya que para algunos, las catástrofes lo toman sin la debida

atención y no como un motivo para hacer resguardos de información o hacer uso de

mecanismos a fin de prevenirlos.

Si bien este estudio se enfoca en el entorno de Internet se va a hablar más en detalle

sobre quiénes y cómo son los atacantes que se localizan y usan este medio,

clasificándolos dentro de las categorías factores humanos y factores no humanos

(Gonzalez, 2009).

32

Factores Humanos

Al hablar de factores humanos, incluimos al software y/o malware, ya que los mismos

fueron ideados y creados por personas.

El personal o los ex-empleados

Son los grupos más poderosos y los que más pueden sacar provecho de los datos,

ya que una amenaza no se da cuando el ataque cobra víctimas, sino cuando está en

camino a concretarse.

Hackers, crackers, lamers.

Se trata de muchos de los que intentan entrar en los sistemas de manera externa e

interna. Si bien aquí han sido puestos en un mismo conjunto para poder

manifestar los ataques más comunes externos e internos, estos grupos son muy

diferentes entre sí y hasta se discriminan rotundamente.

Los hackers: De por sí la palabra es un neologismo utilizado para referirse a

un experto en las telecomunicaciones e informática. El entendimiento que

poseen estos atacantes es más profundo que el resto de las personas/técnicos,

ya que tienen la habilidad de razonar igual o mejor que muchos de los

programas o aplicaciones, y esto en realidad no es tan ilógico, ya que las

33

computadoras y las utilidades que se encuentran instaladas en ellas fueron

creadas por personas.

Los hackers son personas que les gusta aprender y emplear el conocimiento

adquirido, algunas veces como desafío y otras por compartir información bajo

la filosofía de que la información debe ser libre. Los hackers han creado su

propio mundo, conocido como underground, en el que se enfatiza que un

verdadero hacker no destruye información sólo aprende a través de la práctica

pero sin dañar un sistema.

Los hackers se dividen en 3 grupos:

a) Sombrero Blanco (White Hats).

Son hackers que emplean sus conocimientos para corregir vulnerabilidades,

asesorar sobre la seguridad de un sistema, corregir errores de código de

programación, entre otros. Sus conocimientos los obtuvieron irrumpiendo

sistemas en donde rebasaron los límites de la privacidad, es decir, alguna

vez pertenecieron al lado oscuro, pero ahora son los buenos que sólo quiere

ayudar. Ellos sostienen la ideología, que primero se tiene que aprender a ser

malo para conocer y después con madurez propia llegan a ser verdaderos

hackers.

34

b) Sombrero Gris (Gray Hats).

Estos propiamente no son hackers bajo el sentido ético de los sobrero blanco,

se puede decir que están en un punto intermedio de su aprendizaje,

son malos por que están en proceso de aprendizaje, pero también son

buenos por que tratan de subsanar los errores de programación que

encuentran en los sistemas que irrumpen.

c) Sombrero Negro (Black Hats).

Ellos son denominados por los mismos hackers como crackers, son personas

que no tienen escrúpulos o nunca maduraron para entender que sólo eran los

primeros pasos para llegar a ser un hacker, sus principales móviles son: el

dinero, el resentimiento, la satisfacción personal.

En el underground existen clasificaciones designadas por ellos mismos,

que identifican el nivel de conocimiento que se va adquiriendo sobre un

determinado tema. Dentro de esta clasificación se encuentran personas

con ciertas habilidades, pero que no desarrollan ningún conocimiento sobre

un tema específico, sin embargo, se desenvuelven directa o indirectamente

con ellos. Las cuales se listan a continuación:

35

Otra clasificación de atacantes.

Wannabe (Want to be).

Es una persona que realmente desea convertirse en hacker, por lo que

empezará aprendiendo y comprendiendo el área a la que desea adentrarse

para conseguir su objetivo.

Newbie.

Es el novato que comienza el camino de convertirse en un hacker, quién

demuestra su interés a los hackers sobre algún tema específico a través de

preguntas coherentes y profundas sobre códigos propios que muestran el

conocimiento que se han ido adquiriendo y el potencial que tiene para ser

un hacker.

Hacker.

Es el nivel que adquiere una persona sobre un cierto ámbito que le permite

denominarse como experto en esa materia. El hacker adquiere la madurez

necesaria en sus conocimientos para no dañar a un sistema, sino para

mejorarlo.

36

Copyhacker.

Es una persona que tiene conocimientos tecnológicos sobre un tema, pero

evita esfuerzos y utiliza las herramientas que creó un hacker para su beneficio

personal.

Crackers.

Son los antagonistas de los hackers. Se pueden dedicar a dos actividades, la

primera es romper los candados que limitan el uso de software comercial, y

la segunda, a irrumpir abruptamente en los sistemas, sin tener escrúpulo

alguno. Según los hackers son personas que no han madurado en este último

aspecto, por lo que, cualquier hazaña la realizan por venganza o beneficio

personal; sin comprender que ser un hacker no es destruir ni dañar un sistema,

sino aprender de él para mejorarlo. Saben más o menos lo mismo que los

hackers pero no comparten la ética. Por consiguiente, no les importa romper

una arquitectura o sistema una vez dentro, ni tampoco borrar, modificar o

falsificar algo; es por eso que la teoría habla de que: “los hackers son buenos y

los crackers son malos”.

Coders.

Son personas con amplios conocimientos de programación, que se dedica a la

creación de códigos maliciosos.

37

Carders.

Realizan fraudes financieros con tarjetas electrónicas, se dedican a clonar o a

interceptar transacciones financieras realizadas con tarjetas electrónicas a

través de la web.

Phreaker.

Emplea sus conocimientos en telefonía, principalmente celular. Obtiene

servicios telefónicos gratuitos, como pueden ser: transferencias de saldos,

mensajes vía SMS, tarjetas de prepago, entre otros.

Blogkers.

Son personas que modifican las páginas web de un sitio de internet.

Wizard.

Se especializa generalmente en un determinado dispositivo, conoce a

profundidad su diseño, las partes que lo constituyen y su operación. Es

reconocido como una eminencia sobre un dispositivo en particular.

Gurú.

Es el máximo nivel de conocimiento que puede ser adquirido en esta

jerarquía. No sólo es un experto más, sino conoce a profundidad varios temas

casi como si él fuese el creador de los mismos.

38

Nerd.

Persona que estudia sobre diversos temas desarrollando conocimiento sobre

éstos, pero no es un especialista en ellos.

Geek.

Es una persona que se hace experto sólo por hobbie en un ámbito

particular.

Lamer.

Desea convertirse en un hacker, pero no tiene los conocimientos sobre un

tema específico, ni el interés por desarrollarlo. Algunas veces se excusa en

decir que está incapacitado para comprender términos que le ayuden a

adquirir el conocimiento. Se usa la palabra lamer o lammer para hablar en

forma despectiva de una persona que no posee los mismos conocimientos que

tienen los expertos, pero que conserva la misma intención. Más puntualmente,

se denomina de esta manera a la persona que quiere aprender a ser un experto

sin siquiera poner esfuerzo en aprender. Más que nada, es una palabra que

usan los hackers o crackers para discriminarse del “resto” y de los novatos que

se quieren iniciar y no saben cómo, ni tampoco poseen la pasión que los

expertos tenían cuando empezaron. Hoy en día, también se emplea la palabra

“luser” que es una mezcla del término “loser” (perdedor, fracaso) y el término

“user” (usuario).

39

Script-kiddie.

Persona que cree ser un hacker por el hecho de utilizar herramientas creadas

por los hackers, que dependiendo de la metodología descrita por la

herramienta puede irrumpir en un sistema. No posee conocimientos sobre

técnicas de intrusión, ni protocolos, ni sistemas operativos y/o lenguajes de

programación. Son considerados por los hackers como personas arrogantes,

que no saben lo que hacen, ni lo que dicen sobre un tema en particular.

Estas personas pueden ser sorprendidas y capturadas en cualquier momento,

por no tener los conocimientos para no delatarse durante su irrupción a un

sistema.

Pirata Informático.

Es una persona que adquiere ilícitamente los recursos que tienen otros, a

través del uso de herramientas creadas para ese fin. Los recursos a los que

éste puede tener acceso son: música, videos, software de diversos tipos, libros

electrónicos (ebooks), etc.

Bucanero.

Es una persona que no tiene interés por aprender, sino por obtener un

beneficio financiero. Este tipo de persona adquiere las claves de

activación para el software de tipo comercial o versiones de software

previamente activadas para su uso ilimitado por los crackers, así como las

40

herramientas que desarrollan para vulnerar sistemas, trafican con ellas y

obtiene una remuneración económica por ellos.

Programador vudú.

Es una persona que utiliza códigos que fueron desarrollados por terceros, sin

comprender su funcionamiento, es decir, no se esfuerza en profundizar cómo

funciona la técnica expuesta u optimizarla. Sólo lo aplica en su beneficio.

El software con errores

Los programadores no son perfectos y, por ende, muchas veces el código con el

que realizan sus trabajos contiene errores. Esos errores no son voluntarios y se

encuentran en la mayoría de los códigos de cualquier programa, ya que la

vulnerabilidad se debe a globalizar la manera en que programan para no acotar y

que no funcionen ciertas cosas. Esas aberturas no están tan visibles y entendibles

a código cerrado; por eso se encuentran más vulnerabilidades en los entornos

Unix, que es de código abierto (código fuente disponible), razón por la cual un

Unix actualizado es el sistema operativo más seguro.

Factores no humanos

Las amenazas ambientales, si bien dependiendo de la ubicación geográfica pueden

tener más o menos periodicidad catastrófica, no son hechos que ocurran

frecuentemente. Pero esto no es motivo suficiente para no considerar la circunstancia

41

de que, si sucede, el daño será severo. Las catástrofes más comunes son los

terremotos, incendios, atentados, tormentas, etc. Existe un grupo poco conocido –más

que nada por su arbitrariedad, denominado riesgos de baja probabilidad, que habla

sobre los riesgos no comunes, que pueden ser desde que un avión se caiga sobre el

edificio en donde están los servidores y la documentación, hasta que al encargado de

la seguridad lo rapten. Obviamente, para este tipo de situaciones no hay

contramedida.

Herramientas más usadas para los ataques

Generalmente referidos como Malware (del inglés malicious software/software

malicioso), es una variedad de software o programas de códigos hostiles e intrusivos,

que tiene como objetivo infiltrarse en el sistema y dañar la computadora sin el

conocimiento de su dueño y con finalidades muy diversas. El malware puede tener

la capacidad de replicarse (propagarse a través de la red a otros equipos),

ocultarse, evadir los antivirus a través de su deshabilitación o variación de paquetes

que apariencia son fidedignos, activarse en horarios no habituales, polimórficos,

permanecer residentes en memoria, entre otras.

Sin embargo la expresión "virus informático" es más utilizada en el lenguaje

cotidiano y a menudo en los medios de comunicación para describir este tipo de

herramientas. Se debe considerar que el ataque a la vulnerabilidad por malware puede

ser a una aplicación, una computadora, un sistema operativo o una red. Existen

42

muchísimos tipos de malware, aunque a continuación, se mencionarán algunos de los

más comunes:

Virus.

Un virus es un programa destructivo que, en un esfuerzo por ocultar su existencia

y propagarse a sí mismo en la red, modifica otros programas insertando copias de

sí mismo. Así, se comporta como un parásito, convirtiéndose en una molesta

forma de ataque al sistema. Cuando el programa infectado es ejecutado, también

se ejecuta el código viral, aunque, dependiendo de la naturaleza del virus, el

código original puede o no ser iniciado.

Los virus no pueden ejecutarse como un programa independiente: necesitan un

programa anfitrión que los inicialice. Pero, una vez establecido el virus y

comenzado su ataque en el sistema, su eliminación se hace gravemente

complicada. Un virus computacional comparte muchos de los atributos de los

virus biológicos convencionales, consistiendo en tres subsistemas: Mecanismos

de infección, Trigger o activador y Misión (Norton, 2000).

Worms o Gusanos.

Son programas que se autorreplican y autoinicializan a gran velocidad, se le

conoce con este nombre por la forma de arrastrarse a través de las conexiones

que forman una red y consumir la memoria de un equipo (colapsar el equipo por

43

falta de memoria). Se diferencia de un virus debido a que este trabaja para un

host y el gusano opera bajo un esquema de red.

Aprovechan los security holes (huecos de seguridad) conocidos para llevar a cabo

su cometido. A pesar de que un worm no altera o daña otros programas, podría

convertirse en vehículo de otras amenazas como los virus o bacterias en su

trayecto. Algunas veces estos programas son diseñados simplemente para enviar

de regreso al desarrollador información acerca de los sistemas, información que

puede ser usada posteriormente para atacar al sistema de forma directa.

Generalmente, estos especímenes emplean mucho de su tiempo recogiendo y

procesando archivos de seguridad y de red, intentando encontrar rutas en la

misma hacia otros sistemas e intentando adivinar passwords (contraseñas).

Al igual que los virus, un worm cosiste en tres partes o procesos, aunque muy

distintas: Búsqueda de un nuevo host para su infección, Copia de sí mismo al

nuevo host y Provocar que la nueva copia sea ejecutada

Los síntomas del ataque de un gusano se pueden apreciar en los archivos log; en

un considerable incremento del tráfico en la red reduciendo la capacidad de

procesamiento normal, y procesos anormales corriendo en el sistema (Gonzalez,

2009).

Caballos de Troya o Troyano.

Inspirado en el Caballo de Troya de la obra la Ilíada, de Homero. Es un software

que oculta sus verdaderas intenciones, da la apariencia de ser inofensivo cuando

44

en la realidad no lo es pero permiten violar la seguridad de un sistema. Pueden

ocultarse en una foto, en un correo, en un juego y/o en páginas web. Sus

intenciones son variadas pueden ir desde modificar el ambiente de trabajo,

instalar accesos a páginas web de dudosa procedencia, modificar archivos,

inutilizar el equipo o emplearlo para realizar otros ataques.

Los troyanos son probablemente las amenazas programadas más comunes y

fáciles de implantar, son programas que imitan a un programa que el usuario

quiere ejecutar, pero son realmente diferentes. Desafortunadamente, el usuario no

es siempre consciente de que un troyano ha sido ejecutado hasta que el daño se ha

realizado. Un troyano puede ser usado para capturar passwords (contraseñas) o

cambiar permisos a archivos. El ataque de un troyano engaña al usuario en la

ejecución de un programa dañando al sistema por tomar ventaja de los permisos

de acceso del usuario. (Ramos, 2009) (Gonzalez, 2009).

Bombas lógicas.

Este suele ser el procedimiento de sabotaje más comúnmente utilizado por

empleados descontentos. Las bombas lógicas son características ocultas

construidas en un programa y ejecutadas cuando se cumplen ciertas condiciones,

tales como un cierto conjunto de claves o cierta fecha alcanzada, modificando

dramáticamente su comportamiento. Las bombas lógicas ejecutan una función o

conjunto de funciones que no fueron intencionales del programa original, siendo

las más comunes la destrucción de aplicaciones o datos. Son frecuentemente

45

colocadas por programadores encargados de mantenimiento de sistemas. Existen

muchos usos legítimos de bombas lógicas. Los time-out son ampliamente usados

por los vendedores de software, permiten administrar las provisiones

contractuales o reforzar agendas de pago. La ejecución de una bomba lógica no

necesariamente es disparada por el reloj. Las bombas lógicas son frecuentemente

perpetradas no por personas ajenas al sistema quienes han ganado acceso no

autorizado, ya que ellos prefieren hacer el daño tan pronto como sea posible, sino

por usuarios quienes están autorizados para tener acceso al sistema (Ramos,

2009).

Back Doors o Puertas Traseras.

Las back doors Son programas o partes de programa que permiten el acceso no

autorizado a un sistema. Algunas veces son insertados maliciosamente en los

sistemas, aunque otras, los programadores y desarrolladores los implementan en

aplicaciones que requieren complejos procesos de autenticación. Las back doors

permiten al usuario entrar a los sistemas rápidamente para propósitos de

evaluación, depuración, mantenimiento y monitoreo en el proceso de desarrollo

de aplicaciones. Muchas veces las back doors son olvidadas y dejadas en el

código cuando éste es liberado. Potencialmente destructivas, estas puertas traseras

pueden existir en programas por muchos años antes de ser descubiertos. De este

modo, pueden suponer un grave peligro al ser descubiertos por intrusos sin

escrúpulos, por lo que se consideran una amenaza real a la seguridad del sistema.

46

Uno de los aspectos más significativos de esta amenaza es que se encuentran

disponibles para muchos usuarios. Así, más que requerir un grado particular de

conocimientos técnicos y destreza, para la explotación de esta amenaza basta con

conocer la back door, conocimiento de fácil propagación por medio del boca a

boca o envío de correos electrónicos en boletines internos (Gonzalez, 2009).

Trap Doors o Trampas.

Las trap doors son consideradas como un caso especial de bomba lógica, aunque

se parecen a las back doors, dado que son aspectos no documentados o modos de

operación de programas que de otra forma son confiables.

Sin embargo, mientras que las back doors son deliberadamente explotadas por

usuarios conocedores, las trap doors son disparadas por algún conjunto de

condiciones de habilitación causando que estas realicen sus acciones destructivas.

Estas condiciones podrían ser la hora del sistema o la identificación del usuario al

momento de ejecutar un programa (Ferrero, 2009).

Bacterias.

Algunas veces, también llamadas conejas, son programas que existen para

recuperarse a sí mismas y, generalmente, afectan a un sistema por tomar ventaja

de los recursos computacionales que ellas consumen sólo por existir en el sistema.

Más que pegarse a otros programas, como los virus, las bacterias computacionales

simplemente al ser ejecutadas se duplican a sí mismas. No alteran los datos ni

47

destruyen archivos. Su propósito es degradar el servicio del sistema, pues

dependiendo de cómo es programada, puede empezar a ocupar todo el espacio en

disco o los ciclos de CPU muy rápidamente, llevando al sistema a detenerse

(Gonzalez, 2009).

Security Holes o Huecos de Seguridad.

Los huecos de seguridad son imperfecciones en el diseño de software que, mal

usados, otorgan privilegios a usuarios comunes. La mayoría de los servicios de

Internet (FTP, TELNET, SENDMAIL) tienen huecos de seguridad. Los huecos de

seguridad se manifiestan en cuatro formas (Ferrero, 2009) (Gonzalez, 2009)

(Ramos, 2009):

1. Huecos de Seguridad Físicos, donde el problema potencial es causado por

permitir acceso físico al equipo a personas no autorizadas, donde éstas pueden

realizar operaciones que no deberían ser capaces de realizar.

2. Huecos de Seguridad de Software, donde el problema es causado por

elementos mal escritos de software privilegiado, los cuales pueden ser

utilizados para realizar cosas que no deberían poder hacer.

3. Huecos de Seguridad por Uso Incompatible, donde por falta de experiencia

o errores propios, el administrador del sistema ensambla una combinación de

hardware y software que daña al sistema desde el punto de vista de la

seguridad. Es precisamente esta incompatibilidad al tratar de hacer dos cosas

incompatibles pero útiles que se integren, lo que crea un hueco de seguridad.

48

4. Selección de una Filosofía de Seguridad y su Mantenimiento, este hueco de

seguridad se manifiesta como un problema de percepción y entendimiento. El

software perfecto, el hardware protegido y los componentes compatibles no

trabajarán adecuadamente a menos que se seleccione una política de seguridad

apropiada y las partes del sistema se direccionen para reforzarla, pues, aún

teniendo el mejor mecanismo de password del mundo, es tiempo perdido si

los usuarios piensan que su nombre al revés es una buena contraseña.

Bugs o Insectos.

Un bug es un defecto en un programa que causa que éste realice algo inesperado.

Estos bugs a menudo son destructivos. Programas escritos en lenguajes como C o

Lenguaje Ensamblador están especialmente indefensos ante los bugs destructivos

porque los errores en el direccionamiento de memoria pueden resultar en

sobrescribir datos almacenados en áreas usualmente reservadas para el sistema

operativo (Norton, 2000).

Adware (Advertisement + Software).

Este software muestra o baja anuncios publicitarios que aparecen

inesperadamente en el equipo por medio de pantallas emergente, las cuales son

adicionadas al instalar o bajar un software a través de internet, que son bastante

molestos y consumen recursos de la memoria, incluso pueden genera cambios en

nuestro escritorio en la página principal del navegador.

49

Algunas empresas ofrecen software "gratuito" a cambio de publicitarse en su

pantalla, otras al instalar el programa, por ejemplo, se instalan junto con un

spyware sin que el usuario lo note. También existen algunos programas "a

prueba" (shareware), que mientras no son pagados, no permiten algunas opciones,

como pueden ser imprimir o guardar y, además, en ocasiones cuentan con

patrocinios temporales que al recibir la clave libera de tales mensajes publicitarios

y complementan al programa. El Adware es una aplicación que muestra

publicidad y que suele acompañar a otros programas. Si bien esto puede hacerse,

en algunas oportunidades, bajo el conocimiento del usuario, el problema radica en

los casos en los cuales se recoge información sin consultar. También pueden ser

fuente de avisos engañosos. Por lo general los programas Adware tiene la

capacidad de conectarse a servidores en línea para obtener publicidades y enviar

la información obtenida. Cabe aclarar que no toda aplicación que muestra algún

tipo de publicidad incluye Adware y esto, en muchos casos, se ha transformado en

una controversia para determinar cuándo un elemento se encuadra dentro de estas

características (Gonzalez, 2009).

Spyware.

Software o programa espía que se instala clandestinamente, se dedica a recolectar

información del sistema en el que se encuentra instalado, así como la captura de

las acciones realizadas sobre el teclado, ratón o información confidencial; es

50

decir monitorea y captura las acciones del sistema (procesos) y la de los

usuarios.

Una vez realizado el cometido, retransmite la información hacia el atacante por

medio de redes intermedias que oculten su identidad y ubicación. Generalmente

esta información es usada por empresas de publicidad para conocer las

preferencias del mercado, aunque en algunos casos lo hacen para obtener

direcciones de e-mail. Todas estas acciones se enmascaran tras confusas

autorizaciones al instalar programas de terceros, por lo que rara vez el usuario es

consciente de ello. Estos agentes espías, pueden ingresar en el PC por medio de

otras aplicaciones. Normalmente trabajan y contaminan sistemas como lo hacen

los troyanos (Gonzalez, 2009).

Bot (Contracción de la palabra Robot).

Programa instalado clandestinamente en un ordenador que lo convierte en un

zombie, es decir, el atacante tiene pleno dominio sobre él (Gonzalez, 2009).

Botnets.

Es un conjunto de máquinas que sirven a un amo (atacante), quien utiliza los

ordenadores comprometidos para realizar ataques hacia otros equipos y/o redes

diferentes a la actual. Una botnet es una colección de software robots o bots que

se ejecutan de manera autónoma. Habitualmente es un gusano que corre en un

servidor infectado con la capacidad de infectar a otros servidores. El creador de la

51

botnet tiene la capacidad de controlar todos los ordenadores infectados de forma

remota. Se convierte en dueño de la máquina y aprovecha todos sus recursos para

lo que suele ser un uso malicioso, pudiendo realizar acciones masivas como

enviar miles de correos no solicitados (SPAM), realizar ataques DoS (Denial Of

Service), distribuir otros códigos maliciosos, enviar phishing, etc.

Son múltiples las formas de ataque para construir y expandir una botnet. Así, se

hace distinción en la forma de ataque según sea la plataforma de la víctima. En

Windows es habitual el aprovechamiento de la inocencia de la víctima a la hora

de abrir cierto tipo de archivos, como puedan ser los cracks, usualmente

utilizados para el pirateo de programas. Este software, al ser ejecutado, infecta a

la máquina, lleva a cabo el escaneo de sus discos duros y de su red de área local,

hace uso de las vulnerabilidades conocidas del sistema operativo para propagarse,

Muchos de los equipos conectados a Internet no son actualizados regularmente

y/o no cuentan con cortafuegos y antivirus capaz de protegerlos de conexiones

externas y del malware que circula por Internet, lo que los convierte en individuos

idóneos para la infección (Gonzalez, 2009).

Otros métodos usados para el ataque.

A parte de las herramientas de ataque detalladas en el apartado anterior, existen otros

métodos no tan comunes y poco conocidos, a continuación se explican varios de estos

(Gonzalez, 2009):

52

Exploits (Explot it).

Son las fallas y errores en el código (bugs) de un programa o en los

Sistemas operativos, conocidos en el ámbito computacional como

vulnerabilidades a nivel del diseño de la aplicación. Dichas oportunidades son

aprovechadas por los coders (atacantes especialistas en programación) para

adentrarse a los sistemas, mediante la elaboración rápida de programas que

permitan explotarlas (de ahí su nombre actual), comprometiendo la integridad de

la información y la inhabilitación de sus servicios.

Día cero.

Al ser detectado un bug (error de código) en un sistema, este es rápidamente

difundido a través de Internet como una vulnerabilidad. La cual es aprovechada

por los atacantes durante el lapso de tiempo en el que las compañías comerciales

de los Sistemas Operativos o Antivirus realizan la reparación (parches) o

erradicación (virus). Su nombre surge del tiempo que este permanece en los

sistemas mientras es detectado y encuentran la solución a este, pudiendo ser Día

0, Día 1, Día 2...

KeyLogger.

Es un programa que se creó para registrar todas las acciones que se realicen sobre

un teclado. Estos registros se almacenan en un archivo para posteriormente

ser retransmitidos hacia el atacante, con la finalidad de utilizar la información

53

sensible capturada en beneficio propio. Generalmente se aplica en el sector

financiero o en compras electrónicas para el robo de números de tarjetas de

crédito, claves de cuentas bancarias, etc.

Pharming/ Phishing.

Es la suplantación que se hace de sitios web, en donde el atacante redirecciona la

solicitud de una página conocida hacia la que él mismo construyo, la cual

es idéntica a la comercial. Esto lo hace con el objetivo de obtener información

sensible del usuario. Los sitios más comunes son área financiera, compras

electrónicas, servicios de comunicación, correo.

Spam.

Es la generación de correos aleatorios con temáticas sobre medicamentos,

deportes, temas sexuales, entre otros; enviados a un equipo o varios a la vez

(víctimas). Provocando la saturación del buzón del correo y la generación de

tráfico en la red. Existen diversas variantes de este ataque, una de ellas puede

ser efectuada por nombres de usuarios de correo que a simple vista parecen

auténticos (provenientes de un sitio conocido) o pueden ser generados por

programas que generan nombres aleatorios en orden alfabético, para

posteriormente enviarles información considerada como basura. Para efectuar

dicho ataque, requiere previamente conocer el nombre de dominio del correo,

54

así como de adueñarse de la libreta de direcciones para multiplicar y replicar el

ataque hacia diferentes redes y dominios.

Smurf.

Es un programa que genera un paquete mal formado, en el que la dirección

origen es la dirección IP de la máquina víctima y el destino la dirección de

broadcast(1)

, de tal forma que todos los equipos respondan hacia la víctima,

generando tráfico en la red.

BackOrifice.

Es un programa cuyo objetivo es obtener el control remoto sobre un sistema.

Hijacking.

Es el robo que se produce de una sesión o de una página. Generalmente se

emplea para capturar información sensible (transacciones bancarias), que el

atacante utilizará en su beneficio.

Hoax.

Es una broma, es la prueba fehaciente de la Ingeniería Social. Contiene

información falsa la cual genera alarma y desconcierto, puede presentarse en

apariencia de un virus de alta peligrosidad o de una cadena de correo.

1Difusión en español, es un modo de transmisión de información donde un nodo (cada una de las máquinas que

conforman una red) emisor envía información a una multitud de nodos receptores de manera simultánea.

55

Es difícil detectarlos por un usuario de computadora, debido a que sus errores en

redacción, fechas y fuentes son poco evidentes.

Consiguiendo su objetivo de alarmar a un usuario, solicitando su reenvío, borrado

de un archivo peligroso alojado en el sistema dando como referencia que la

fuente se obtuvo del proveedor. Se emplea de manera general para saturar el

correo de forma manual a través del reenvío de información, degradando el canal

y el servicio de mensajería.

Ingeniería Social.

Es una técnica que permite obtener información sensible a través de la confianza

e ingenuidad de la víctima. Consiste en convencer a personas de ejecutar acciones

ilícitas. Por ejemplo llamar a un usuario haciéndose pasar por administrador del

sistema y requerirle el password con alguna excusa convincente (Ramos, 2009).

Hacking.

Es una técnica desarrollada por personas expertas en informática que se encarga

de encontrar las vulnerabilidades y limitaciones de sistemas, aplicaciones, redes

de comunicaciones, y en general de todo producto informático, con el fin de

compartirlo con otros “hackers” o incluso con los mismos fabricantes de dichos

productos (Ramos, 2009).

56

Sniffing/Eavesdrooping.

Muchas redes son vulnerables al eavesdropping, o la intercepción pasiva (sin

modificación) del tráfico de red. En Internet esto es realizado por packet sniffers,

que son programas que monitorean los paquetes de red que están direccionados a

la computadora donde están instalados. El sniffer puede ser colocado tanto en una

estación de trabajo conectada a red, como a un equipo router y esto puede ser

realizado por un usuario con legítimo acceso, o por un intruso que ha ingresado

por otras vías (Ramos, 2009).

Snooping/Downloading.

Los ataques de esta categoría tienen el mismo objetivo que el sniffing, obtener la

información sin modificarla. Sin embargo los métodos son diferentes. Además de

interceptar el tráfico de red, el atacante ingresa a los documentos, mensajes de e-

mail y otra información guardada, realizando en la mayoría de los casos una

descarga de esa información a su propia computadora. El Snooping puede ser

realizado por simple curiosidad, pero también es realizado con fines de espionaje

y robo de información o software.

Los casos más resonantes de este tipo de ataques fueron: el robo de un archivo

con más de 1700 números de tarjetas de crédito desde una compañía de música

mundialmente famosa, y la difusión ilegal de reportes oficiales reservados de las

Naciones Unidas, acerca de la violación de derechos humanos en algunos países

europeos en estado de guerra (Ramos, 2009).

57

Tammpering o Data Diddling.

Es la modificación desautorizada a los datos, o al software instalado en un

sistema, incluyendo borrado de archivos. Este tipo de ataques son particularmente

serios cuando el que los realiza ha obtenido derechos de administrador o

supervisor, con la capacidad de disparar cualquier comando y por ende alterar o

borrar cualquier información que puede incluso terminar en la baja total del

sistema en forma deliberada. O aún si no hubo intenciones de ello, el

administrador posiblemente necesite dar de baja por horas o días hasta chequear y

tratar de recuperar aquella información que ha sido alterada o borrada (Ramos,

2009).

Jamming/Flooding.

Este tipo de ataques desactivan o saturan los recursos del sistema. Esta técnica se

basa en aprovechar las debilidades que tienen los protocolos de comunicación, los

errores de diseño y arquitectura de los sistemas; para saturar o inundar los

servicios que brinda un sistema. Por ejemplo, un atacante puede consumir toda la

memoria o espacio en disco disponible, así como enviar tanto tráfico a la red que

nadie más puede utilizarla. Muchos ISPs (proveedores de Internet) han sufrido

bajas temporales del servicio por ataques que explotan el protocolo TCP

(Transmission Control Protocol o Protocolo de Control de Transmisión). Aquí el

atacante satura el sistema con mensajes que requieren establecer conexión

(Gonzalez, 2009) (Ramos, 2009).

58

Spoofing.

Esta técnica es utilizada para actuar en nombre de otros usuarios, usualmente para

realizar tareas de snooping o tampering. Una forma común de spoofing, es

conseguir el nombre y password de un usuario legítimo para, una vez ingresado al

sistema, tomar acciones en nombre de él, como puede ser el envío de falsos

emails (Ramos, 2009).

Fingerprinting.

Es una técnica empleada para reconocer el tipo de sistema operativo, con el que

opera un equipo. Dentro de los datos que se pueden obtener son la versión del

sistema operativo y los servicios que ofrece. Se basa en el tipo de respuesta que

obtiene del envío de un paquete mal formado, el cual es analizado por el atacante

y de acuerdo a sus características se determinará el tipo de sistema operativo

empleado (Gonzalez, 2009).

Looping.

Esta es una técnica en la que se utiliza a un sistema para ingresar recursivamente

a otros sistemas de manera clandestina. Su objetivo es lanzar ataques distribuidos

simultáneamente sin que el atacante sea identificado y culpen de su hazaña a las

redes involucradas. El intruso usualmente utiliza un sistema para obtener

información e ingresar en otro, y luego utiliza éste para entrar en otro, y en otro. Este

proceso tiene la finalidad de evaporar la identificación y la ubicación del atacante. El

59

camino tomado desde el origen hasta el destino puede tener muchas estaciones, que

exceden obviamente los límites de un país. El looping hace su investigación casi

imposible, ya que el investigador debe contar con la colaboración del administrador

de cada red utilizada en la ruta, que pueden ser de distintas jurisdicciones (Ramos,

2009) (Gonzalez, 2009).

Cracking.

Son programas creados para romper los candados colocados para el uso

limitado de un software comercial, también se considera cracking al programa

que busca descifrar las claves de acceso a un sistema. Se basa en técnicas de

búsqueda por diccionario (letras y palabras comunes en un lenguaje determinado)

y búsqueda por fuerza bruta (probar con números, letras y caracteres especiales

que no formen una palabra) (Gonzalez, 2009).

Zombie.

Es un ordenador que se encuentra comprometido por un atacante y éste tiene

pleno dominio sobre él. Su objetivo es atacar otros sistemas que compartan o no

la misma red. El origen de su nombre viene de la técnica vudú que se emplea

en un ser humano, para que éste pierda la voluntad y haga lo que un tercero le

indique. Este puede deshabilitar la función de un antivirus (Gonzalez, 2009).

60

Rootkit.

Es uno de los ataques más peligrosos que existen. Es un programa que mantiene

ocultos los procesos que son generados por un intruso durante la instalación

y ejecución de malware en un sistema. Debido a su característica de ocultarse,

es difícil detectar este tipo de ataque en una simple revisión, requiere de un

análisis en profundidad y de la integridad de los sistemas para detectar su

presencia (Gonzalez, 2009).

DoS (Denial of Service).

Son ataques que deniegan los servicios de un sistema. Buscan degradar los canales

de comunicación que impidan comunicarse con el sistema, bloquear equipos

pertenecientes a la red, así como el corromper el tamaño de archivos en memoria

a través de alguna vulnerabilidad que colapse al sistema (Gonzalez, 2009).

DDoS (Distributed Denial of Service).

Se basan en el mismo principio que los DoS, pero difieren en que éstos operan

para ambientes distribuidos. En este tipo de ataques se utilizan varias fuentes

coordinadas que pueden realizar un ataque progresivo, rotatorio o total (Gonzalez,

2009).

61

Mecanismos de Seguridad.

Para proteger un sistema, se debe realizar un análisis de las amenazas potenciales que

éste puede sufrir, las pérdidas que podrían generar y la probabilidad de su ocurrencia.

Este estudio genera las políticas de seguridad que definen las responsabilidades y

reglas a seguir para evitar tales amenazas o minimizar sus efectos en caso de que se

realicen. Las políticas de seguridad son el resultado de documentar las expectativas

de seguridad. El concepto de seguridad, como se explicó antes, está relacionado con

el comportamiento esperado de un sistema. Podemos afirmar que las políticas de

seguridad intentan plasmar de alguna manera en el mundo real, los conceptos

abstractos de seguridad.

Hay dos formas de definir las políticas de seguridad (Borghello, 2001) (Cifuentes,

2004) (Ramos, 2009):

a) La política de seguridad procesal consiste en plasmar de forma práctica las

ideas o filosofías de la empresa en cuanto a seguridad. Es decir depende

netamente de las decisiones de los directivos y el administrador de la red.

b) La política de seguridad formal es un modelo matemático del sistema que

abarca todos los posibles estados y operaciones así como un esquema de cómo

cada estado y operación pueden tener lugar. Por lo tanto se trabaja de acuerdo a

probabilidades de uso de servicios, en que horarios su uso es máximo y/o mínimo,

que aplicaciones son las más usadas, etc.

62

Una política de seguridad puede ser prohibitiva, si todo lo que no está expresamente

permitido está denegado, o permisiva, si todo lo que no está expresamente prohibido

está permitido.

Para implementar estas políticas de seguridad se utiliza lo que se conoce como

mecanismos de seguridad. Los mecanismos de seguridad se dividen en tres grupos:

1. Prevención: Aquellos que aumentan la seguridad de un sistema durante su

funcionamiento normal.

2. Detección: Aquellos que se utilizan para detectar violaciones de la seguridad o

intentos de violación.

3. Recuperación: Aquellos que se aplican cuando el sistema ha sido atacado.

En esta investigación se hará énfasis en los mecanismos de prevención y detección.

Los mecanismos de seguridad se crean con la intención de brindar protección a un

sistema. Entre los más comunes se encuentran (Aguilar, 2007) (Gonzalez, 2009):

Cifrado.

Las técnicas de encriptación son fundamentales para garantizar la seguridad de la

información. El cifrado garantiza que la información no es inteligible para

individuos, entidades o procesos no autorizados (confidencialidad). Consiste en

transformar un texto claro mediante un proceso matemático en un texto cifrado.

63

Tráfico de relleno.

Consiste en enviar tráfico falsificado o sin información junto con los datos válidos

para que el atacante no pueda reconocer los datos útiles.

Etiquetas.

Clasifica la información por niveles de seguridad: secreta, confidencial, no

clasificada, etc.

Control de enrutamiento.

Permite enviar información por zonas clasificadas. Así mismo permite solicitar

otras rutas en caso de violaciones de seguridad.

Notarización.

Una tercera persona física o jurídica confirma la seguridad de procedencia e

integridad de los datos.

Firma Digital.

Permite enlazar unívocamente a un documento almacenado digitalmente con una

persona específica y verificar la autenticidad del contenido del documento.

Mediante un algoritmo, emisor y receptor obtienen un par de números

denominados claves, una pública que la conocen todos, y otra privada que se la

debe tener en reserva. La clave pública y privada tienen características únicas, su

64

generación es siempre en parejas y están relacionadas de tal forma que todo lo que

sea encriptado por una de ellas sólo podrá ser desencriptado por la otra.

Integridad de datos.

Añaden datos a la información que detectan si ésta ha sido modificada.

Unicidad.

Consiste en añadir a los datos un número de secuencia, la fecha y hora, un número

aleatorio o alguna combinación de los anteriores, que se incluyen en la firma

digital o integridad de datos. Estos mecanismos poseen tres componentes

principales:

Una información secreta, por ejemplo las contraseñas.

Un conjunto de algoritmos, para llevar a cabo el cifrado.

Un conjunto de procedimientos, que definen cómo se usarán los algoritmos.

Gestión de claves.

Abarca la generación, distribución, almacenamiento, tiempo de vida, destrucción

y aplicación de las claves de acuerdo con una política de seguridad.

Lista de Control de Acceso (ACL).

Permite restringir el acceso físico o lógico a los servidores y sus servicios, o a

ciertos directorios, inclusive ficheros y programas específicos. Consta de dos

65

pasos: el primero es la autenticación que identifica al usuario o entidad que trata

de acceder a los recursos, y el segundo es la autorización que dota al usuario

autenticado de ciertos privilegios para efectuar operaciones con los datos

protegidos. Se puede implementar el control de acceso, sea por nombre y

contraseña, o por dirección IP, host o dominio, es decir los recursos son accesibles

exclusivamente por ordenadores que posean determinada dirección IP, cierto

nombre de host o, en servidores, que pertenezcan a un dominio dado.

Proxy.

Proxy hace referencia a un programa o dispositivo que realiza una acción en

representación de otro. La finalidad más habitual es la del servidor Proxy, que

sirve para permitir el acceso a Internet a todos los equipos de una organización. El

servidor Proxy, que es una computadora, intercepta las conexiones de red que un

cliente hace a un servidor de destino.

De ellos, el más famoso es el servidor Proxy de Web (comúnmente conocido

solamente como "Proxy"). Intercepta la navegación de los clientes por páginas

Web, por varios motivos posibles: seguridad, rendimiento, anonimato, etc.

Firewall (Cortafuegos).

Un Firewall es un elemento de hardware o software utilizado en una red de

computadoras para controlar las comunicaciones, permitiéndolas o prohibiéndolas

según las políticas de red que haya definido la organización responsable de la red.

66

La ubicación habitual de un cortafuegos es el punto de conexión de la red interna

de la organización con la red exterior, que normalmente es Internet; de este modo

se protege la red interna de intentos de acceso no autorizados desde Internet, que

puedan aprovechar vulnerabilidades de los sistemas de la red interna (Northcutt,

1999).

También es frecuente conectar al firewall una tercera red, llamada zona

desmilitarizada o DMZ, en la que se ubican los servidores de la organización que

deben permanecer accesibles desde la red exterior.

Estos firewalls están conformados como tipo software o hardware, visto de una

mejor forma un firewall puede ser un router, una computadora que mantiene la

red (servidor) o una computadora en específico (host), ambas con el fin de

mantener una información al día sobre los movimientos o sucesos obtenidos en la

comunicación entre equipos.

Es importante conocer algunos conceptos que se manejan dentro de las

configuraciones de firewalls, donde se puede implementar tres tipos sobre una

red, las cuales son:

1. Zona Desmilitarizada. Es la configuración de un firewall con sus respectivas

denegaciones de servicios para los usuarios, y estableciendo un conjunto de

redes o un solo host que tendrá privilegiado el tráfico libre. De este modo se

establecerá una zona desmilitarizada o libre para paquetes de entrada y salida

en un host o red específica.

67

2. Host Bastión. Es un equipo de computadora que se sitúa entre el router de la

red corporativa e Internet, este host bastión recibirá los paquetes de entrada y

examinará su destino, consultando con sus reglas de redireccionamiento

tomará las decisiones necesarias para aceptar, denegar o redirigir el tráfico

entre la Intranet e Internet.

3. Gateway o Puerta de Enlace. Es un router el cual se encarga de aceptar,

denegar y redireccionar el trafico de la red, también posee sus directivas para

denegación de servicios en puertos específicos El router como ventaja

principal lo posee integrado ya por defecto.

Para implementar el firewall se puede hacer en tres formas:

a. Firewall de red basado en host. Es un equipo que actuará como firewall

entre la Intranet e Internet.

b. Firewall basado en host. Es un firewall que actuará por equipos, y estará

instalado en cada equipo.

c. Firewall basado en routers. Es el firewall del router.

d. Firewall de equipos. Es el firewall interno que tienen los dispositivos de

hardware y son configurables mediante el mismo sistema operativo o bien el

software que proporciona el fabricante al instalar el controlador.

68

Sistema de Detección de Intrusiones (IDS).

Un Sistema de Detección de Intrusos o IDS (Intrusión Detection System) es una

herramienta de seguridad encargada de monitorizar los eventos que ocurren en un

sistema informático en busca de intentos de intrusión. Se defines como intento de

intrusión a cualquier tentativa de comprometer la confidencialidad, integridad,

disponibilidad o evitar los mecanismos de seguridad de una computadora o red.

Las intrusiones se pueden producir de varias formas: atacantes que acceden a los

sistemas desde Internet, usuarios autorizados del sistema que intentan ganar

privilegios adicionales para los cuales no están autorizados y usuarios autorizados

que hacen un mal uso de los privilegios que se les han asignado (Aguilar, 2007).

La tarea de un IDS es detectar patrones sospechosos o códigos maliciosos en los

paquetes que están circulando por la red o bien entrando a un host, en base a estos

patrones manda un alerta y realiza una acción para suprimir el problema,

posteriormente realizar la protección del equipo lo cual puede llegar a desconectar

de la red el equipo o bien la red entera, esto dependiendo de la magnitud del

problema, también contrarresta el ataque y da aviso detallado sobre las huellas o

ubicación del intruso para tomar medidas legales a dicha intrusión ilegal.

Para que un IDS realice todas las actividades mencionadas, éste posee un modo de

configuración basado en reglas (parecido al firewall) donde estas reglas indican

los patrones que deben ser cumplidos en paquetes y si encontrase patrones

distintos se le indica la acción a realizar, posteriormente se generará un registro

69

detallado (syslog) de las anomalías detectadas en el transcurso del día o conforme

se desee revisar el registro. Los IDS se dividen en tres tipos:

1. H-IDS (IDS de Host): Es un IDS que se encuentra vigilando a un único

equipo de cómputo, es decir que solo vigilará y analizará los paquetes que van

dirigidos y que provengan de ese mismo equipo. La ilustración 3 representa

un ejemplo.

Ilustración 3. Implementación de un IDS de Host.

2. N-IDS (IDS de Red): Es un IDS que por defecto es el servidor y se

encontrará vigilando todo el segmento de la red en busca de patrones distintos

para procesar un análisis en todos los paquetes que viajan hacia los equipos o

provenientes de ellos mismos. Observar la ilustración 4 para su comprensión.

70

Ilustración 4. Implementación de IDS de Red.

3. D-IDS (IDS Distribuido): En particular es una de las mejores formas de

montar un IDS, más amplio, más confiable y ajustable a las distintas

necesidades que surgen en las empresas corporativas, ya que este tipo de IDS

está conformado por un sistema Cliente-Servidor. Esto se lleva acabo

asignando equipos de cómputo únicamente para trabajar como IDS cliente en

distintas partes de la red (en caso que sea muy grande), posteriormente

estableciendo un equipo de cómputo como base principal (servidor) donde se

almacenarán todas las alertas, acciones anormales, detecciones, registros, etc.

71

Informática Forense.

Consiste en adquirir, preservar, obtener y presentar datos que hayan sido

procesados electrónicamente y almacenados en soportes informáticos, se creó

para dirigir las necesidades específicas y articuladas de la legislación, para

aprovechar al máximo una nueva forma de evidencia electrónica. Esta

información almacenada digitalmente se puede utilizar como prueba en un

proceso judicial, y se deben seguir ciertos pasos para su recuperación,

almacenamiento, análisis, y además custodia para garantizar su inmutabilidad.

Este proceso se lo puede hacer por hardware con equipos adaptados, o mediante

software comercial o libre como TCT, TSK/Autopsy, Foremost, etc (Aguilar,

2007) (Gonzalez, 2009).

Honeypots.

Las Honeypots son una herramienta innovadora desde el punto de vista de

seguridad tradicional, ya que puede ayudar en el aprendizaje de las formas de

actuar de los atacantes, y con esto mejorar el sistema de seguridad de una manera

activa. Este mecanismo de seguridad, motivo de la presente investigación y

proyecto de tesis será explicado en detalle en el siguiente apartado.

72

INTRODUCCIÓN A LA TECNOLOGÍA HONEYPOT

Evolución de los escenarios de ataque

La seguridad informática en sus primeros tiempos era defensiva, ocupándose de

mantener a los atacantes alejados. Hasta ese momento, las técnicas y tecnologías

habían sido desarrolladas para detener los ataques. Por ejemplo: en el año 1992,

Marcus Ranum llevó a cabo el desarrollo de los cortafuegos (firewalls) en su

publicación “TIS Firewall Toolkit” (Ranum, 1992).

Los dogmas estratégicos de la Seguridad Informática consisten en defender la

infraestructura de información tan bien como sea posible, detectar posibles fallas en

la estructura defensiva y reaccionar a esas fallas de manera proactiva.

Con el aumento de los anchos de banda disponibles y el abaratamiento de los accesos

a la red se ha podido observar una evolución de las técnicas de ataques existentes en

la actualidad.

Anteriormente los ataques se basaban en razonamientos simples, dada una

máquina/dominio/servicio conocido, por ejemplo: el correo personal gratuito de

Hotmail. Bastaba con obtener su dirección IP (vía consulta DNS) y proceder con

cualquiera de los ataques descritos en los apartados antes mencionados. Sin embargo,

la mejora de la conectividad permite ahora realizar combinaciones de ataques que

hasta hace unos pocos años eran casi imposibles.

73

La proliferación y difusión de herramientas específicas para este tipo de tácticas ha

ido pareja al aumento de jóvenes con ganas de emular las películas de piratas

informáticos. Y es precisamente a esta gran cantidad de público curioso, que hasta se

ha llegado a la creación de herramientas con interfaces muy sencillos y amigables que

permiten prácticamente a cualquier persona sin muchos conocimientos (script-

kiddies) rellenar un par de campos de parámetros (por ejemplo la dirección IP de

inicio y final) y lanzar ataques indiscriminados. El uso de estas herramientas junto a

pensamientos erróneos del tipo “nadie me conoce”, “quien va a querer atacarme, sino

no tengo nada importante”, lleva a que el número de ordenadores comprometidos sea

muy difícil de aproximar, y únicamente cuando es demasiado tarde (el ordenador ya

ha sido utilizado para un ataque o han borrado información) las prisas y necesidades

de seguridad en la empresas pasan a tomarse en serio.

Los atacantes más experimentados suelen hacer una especie de barrido “ciego”

(recolección al azar) por Internet, que tiene por objetivo la creación de listas de

ordenadores conectados a la red. Posteriormente, estas listas que contienen las

direcciones IP son utilizas por programas más sofisticados que comprueban los

servicios existentes en las máquinas buscando alguna vulnerabilidad que pueda ser

aprovechada para obtener el control del ordenador. Una vez conseguido el acceso se

suelen instalar programas de puerta trasera (backdoor) para poder acceder de forma

invisible a la máquina. Esta queda en estado de “espera” por tiempo indefinido hasta

que el atacante desee hacer uso de ella.

74

Cabe señalar también que muchas veces el acceso a un ordenador es utilizado como

un puente para efectuar nuevos barridos de forma que el verdadero origen del barrido

no sea descubierto. Más ordenadores comprometidos conectados a Internet significan

más potencia de búsqueda de posibles nuevas víctimas.

Nuevos tipos de ataques requieren nuevos modelos que permitan ampliar el espectro

de seguridad.

Definición de Honeypot

El concepto de Honeypot no fue extraído o inventado de la nada, sino que es fruto de

la realización de varios estudios en el campo de la seguridad de seguridad de redes.

Se define a una Honeypot como:

Un recurso de red que simula ser un objetivo real, pero destinado a ser

atacado, de tal forma que un intruso pueda ingresar, examinarla y

comprometerla. Las Honeypot no tienen en ningún caso la finalidad de

resolver o arreglar fallos de seguridad en nuestra red. Son los encargados

de proporcionarnos información valiosa sobre los posibles atacantes en

potencia a nuestra red antes de que comprometan sistemas reales (Spitzner,

Honeypot: Tracking Hackers, 2002).

Como se hace mención en la definición anterior, el valor real de la Honeypot reside

en ser atacada, examinada y vulnerada. Dicha condición permitirá:

Obtener pruebas del ataque al sistema.

Conocer nuevas vulnerabilidades.

Capturar nuevos tipos de ataques.

Descubrir riesgos de sistemas.

75

Despistar al atacante sobre los servidores en producción.

Implementar mejoras a la seguridad global de la red.

Este nuevo enfoque a la seguridad de redes rompe muchos paradigmas clásicos que se

daban como axiomas en la seguridad informática “clásica”. Debido a que en lugar de

evitar a toda costa el ataque, se incita al atacante a ingresar a la red, presentándole un

nivel de complejidad adecuado para atraerlo, no exagerado para no desalentarlo, y

ofrecerle una serie de archivos y programas atractivos para los intrusos, mientras el

personal de seguridad del sistema monitorea, registra y observa todas las acciones

para aprender todas las herramientas de ataque empleadas por el intruso, y así usar lo

aprendido para mejorar la seguridad y adicionalmente lograr desviar la atención del

sistema real.

La Honeypot es un sistema muy controlado, considerado como un sistema trampa y

ha sido diseñada para interactuar con el atacante, imitando el comportamiento de un

sistema que pueda ser de interés para el intruso, donde todo el tráfico entrante y

saliente es detectado y capturado. De este modo se puede llevar a cabo un examen en

profundidad del atacante, durante y después del ataque a la Honeypot. La información

recogida por una Honeypot es crucial para la detección y protección de las amenazas

a las que nos enfrentamos diariamente.

Cabe aclarar que una Honeypot no es un sistema de detección de intrusiones, aunque

puede utilizarse como una herramienta de apoyo, y puede ayudar a mejorar los

76

métodos de detección y aportar al conocimiento de nuevos patrones de ataque. En

resumen, es un sistema diseñado para engañar a los intrusos, poder estudiar sus

actividades y así aprender de sus métodos. Se basa en la idea de "conocer al enemigo"

para poder combatirlo (Weley, 2001).

Ventajas de las Honeypot

Las Honeypot son un concepto increíblemente simple, los cuales ofrecen una

fortaleza muy poderosa. Podemos observar sus ventajas en los siguientes puntos:

(Verdejo, 2003):

Genera un volumen pequeño de datos, al contrario que los sistemas clásicos de

seguridad que generan cientos de megas de ficheros de logs con todo tipo de

información, las Honeypots generan muy pocos datos y de altísimo valor, recogen

pequeñas cantidades de información sólo cuando el atacante interactúa con ellas.

Necesita unos recursos mínimos, a diferencia de otros sistemas de seguridad, las

necesidades de un Honeypot son mínimas. No consume ni ancho de banda ni

memoria o CPU extra. No necesita complejas arquitecturas o varios ordenadores

centralizados, cualquier ordenador conectado a la red puede realizar este trabajo.

Inexistencia de Falsas alarmas, estas herramientas de seguridad sólo deben

recibir únicamente actividades sospechosas. Esto reduce significativamente el

77

número de falsos positivos (alarma cuando no existe ataque) y falsos negativos

(omisión de alarma cuando hay verdaderamente un ataque).

Encriptación en IPv6, Uno de los problemas que presentan algunas herramientas

de seguridad es que no soportan el protocolo IPv6, sucesor del actual IPv4

ampliamente utilizado en Internet. Utilizar IPv6 a través de túneles sobre IPv4,

como hacen algunos atacantes, puede imposibilitar la detección por parte de

muchos sistemas de detección. No obstante, las Honeypot registran toda la

actividad ocurrida, por lo que se pueden identificar este tipo de ataques.

Reutilización, la mayoría de los productos de seguridad necesitan mantener al día

sus mecanismos de detección y defensa para mantener su efectividad. Si no se

renuevan, dejan de ser útiles. Pero las Honeypot, debido a su propia naturaleza,

siempre serán de ayuda independientemente del tiempo que pase, siempre habrá

atacantes dispuestos a comprometer estos sistemas de una u otra forma,

mostrando el nivel de actividad de este sector y los métodos que utilizan.

Información, Pueden recopilar información de manera detallada a diferencia de

otras herramientas de análisis de incidentes de seguridad.

Distraer al atacante, detener o entretenerlo con sistemas en los que no puede

causar daño, protegiendo así las redes y sistemas en producción.

78

Universalidad, este tipo de sistemas sirven tanto para posibles atacantes internos

como externos. De esta forma, obviamente, se ha de evitar poner a las máquinas

nombres como “Honeypot” o “attack-me”. Su objetivo es pasar desapercibidas en

una red como una máquina más.

Simplicidad, uno de los puntos más importantes a favor de las Honeypot es su

sencillez. No utilizan complicados algoritmos de análisis, ni rebuscados métodos

para registrar la actividad de los intrusos. Por el contrario, sólo hay que instalarlos

y esperar. Algunos sistemas trampa de desarrollo pueden poseer mayor nivel de

complejidad, pero no comparable a otros enfoques.

Desventajas de las Honeypot

Como cualquier otra tecnología, las Honeypot también tienen debilidades inherentes a

su diseño y funcionamiento. Esto se debe a que éstos no reemplazan a las tecnologías

actuales, sino que trabajan con las tecnologías existentes (Ramos, 2009) (Verdejo,

2003):

Son elementos totalmente pasivos, de esta forma, si no reciben ningún ataque no

sirven de nada.

Fuente potencial de riesgo, debido a la atracción de atacantes, se debe tener

cuidado en la configuración, y convertirlo en un entorno cerrado y controlado

79

(jailed envinronment), para evitar que se utilice como fuente de ataque a otras

redes e incluso a la propia.

No resuelven fallos de seguridad, las Honeypot son herramientas empleadas

para el análisis de ataques, son usadas para la búsqueda de mejoras y soluciones a

los posibles problemas que presenten los métodos de seguridad implementados en

una red.

No detienen a un atacante, al contrario, lo atraen con el fin de permitir estudiar

sus técnicas de ataque para un posterior análisis.

Fingerprint, es la identificación local o remota de un sistema o servicio. Es

posible que la deficiente implementación de la Honeypot la delate, haciéndola

reconocible ante un intruso, lo que la volverá inútil, o se lo puede utilizar para

desviar la atención de la administración de seguridad.

Visión Limitada, solo pueden rastrear y capturar actividad destinada a interactuar

directamente con ellas. No capturan información relacionada a ataques destinados

hacia sistemas vecinos, a menos que el atacante o la amenaza interactúe con la

Honeypot al mismo tiempo.

80

Clasificación de las Honeypot

Las Honeypot son una tecnología nueva con enorme potencial para la comunidad

informática, la taxonomía de los diferentes tipos de Honeypot depende de la

bibliografía consultada puesto que como todo nuevo concepto, su estandarización es

compleja y aún no ha sido universalmente aceptada.

El autor Lance Spitzner (fundador del Honeypot Proyect) y Martin Roesch (creador

de Snort) afirman que las Honeypot se pueden dividir de acuerdo a dos aspectos

fundamentales: según su Ambiente de Uso y según su Nivel de Interacción.

Según Ambiente de Uso

Bajo esta categoría se encuentran:

Honeypot de producción (Production Honeypot System): Llamados así por su

ubicación junto a la red de producción en una organización. Su principal objetivo

es el de mitigar el riesgo de un ataque informático a la red productiva de una

institución o empresa. De esta forma, una Honeypot de producción simula

diferentes servicios con el único fin de ser atacada y obtener información sobre

las técnicas empleadas para tratar de vulnerar los sistemas que componen dicha

infraestructura. Aporta un gran valor específico para asegurar sistemas y redes

con la prevención, el engaño y la disuasión de los atacantes, desviándolos de su

objetivo real hacia el señuelo.

81

Como respuesta a una intrusión se toman medidas oportunas en contra de

cualquier ataque hacia la red real (denegando cualquier acceso con un origen

determinado, limitando las capacidades de un servicio o paralizando servicios

momentáneamente en el caso de ser posible).

Las Honeypot al no ser sistemas en producción reales pueden ser apagados y

puestos para un análisis forense post ataque, lo cual puede proporcionar más

información sobre ataques realizados, esto las convierte en una herramienta

poderosa para complementar la capacidad de reacción de un administrador de red

al tener un detalle de los métodos, herramientas usadas por los atacantes en los

sistemas (Avilés, 2009).

Honeypot de investigación (Research Honeypot System): En este caso, el

principal objetivo es la recopilación de la mayor cantidad de información que

permita al investigador poder analizar las nuevas tendencias en los métodos de

ataque, así como los principales objetivos perseguidos y los distintos orígenes de

los ataques. El resultado de este análisis es recogido en informes cuyo objetivo es

respaldar la toma de decisiones en la implantación de las medidas de seguridad

preventivas. También han sido diseñadas para ser comprometidas al igual que los

de producción, sin embargo no añaden ninguna capacidad extra de seguridad o

mitigación de los ataques.

82

La principal ventaja de situar el Honeypot en una red independiente, dedicada

únicamente a la investigación, es la separación del sistema vulnerable del resto de

sistemas productivos y evitar así la posibilidad de sufrir un ataque a través del

propio Honeypot. Por el contrario, el inconveniente es la cantidad de recursos

necesarios.

Según su Nivel de Interacción

En esta categoría se destacan:

Honeypot de baja interacción: Suelen ser creadas y gestionadas por

organizaciones dedicadas a la investigación del fraude en Internet, o cualquier

tipo de organización que necesite investigar sobre las nuevas amenazas en la red.

Estas Honeypot trabajan únicamente emulando servicios y sistemas operativos.

La actividad del atacante se encuentra limitada al nivel de emulación del

Honeypot. Por ejemplo, la emulación de un servidor HTTP podría responder tan

sólo a peticiones de un fichero en particular e implementar sólo un subconjunto de

las especificaciones HTTP. El nivel de interacción debe ser el justo y suficiente

para engañar al atacante o a una herramienta automatizada, tal como un worm que

está buscando un fichero concreto para comprometer al servidor.

La ventaja de una Honeypot de Baja Interacción radica principalmente en su

simplicidad y fácil mantenimiento, ya que estas tienden a ser fáciles de utilizar y

mantenerse con un riesgo mínimo. Normalmente, basta con implementar la

Honeypot de baja interacción y dejarla recolectar datos por sí sola. La

83

información puede tratar sobre propagación de gusanos o worms en la red o el

escaneo causado por spammer de las transmisiones abiertas en la red.

La desventaja de este tipo de Honeypot es la limitada cantidad de información

recogida, al no permitirle un mayor nivel de interacción hacia el atacante, este

queda limitado en su ataque y sólo muestra quizá lo que sería uno de sus primeros

pasos dentro de la bitácora planificada para su ataque. En el ejemplo de la

emulación del servicio HTTP, con un Honeypot de baja interacción sólo se podría

registrar intentos del atacante de entrar al sistema por medio de alguna

vulnerabilidad en este servicio, pero nunca se sabría cuáles son las intenciones

reales de ingreso (Avilés, 2009).

Las Honeypot de baja interacción se dedican primordialmente a recolectar datos y

recoger información de alto nivel sobre los patrones de ataque. Además, pueden

ser usadas como un tipo de detección de intrusiones en el sistema a modo de

aviso. Asimismo, pueden ser utilizados para atraer a los intrusos y alejarlos de las

máquinas reales, aquellas que realmente son útiles.

Entre los más comunes Honeypots de baja interacción están (Segobia, 2010):

Honeyd: Quizás uno de los Honeypots más sencillos y populares. Es un

demonio que crea hosts virtuales en una red. Los anfitriones pueden ser

configurados para ejecutar servicios arbitrarios, y su comportamiento puede

ser adaptado para que simule estar en ejecución en ciertos sistemas operativos.

84

HoneyC: El objetivo de este Honeypot es la identificación de servidores web

maliciosos en la red. Para ello emula varios clientes y recaba la mayor

cantidad posible de información de las respuestas de los servidores cuando

estos contestan a sus solicitudes de conexión. HoneyC es ampliable de

diversas formas: pueden utilizarse diferentes clientes, sistemas de búsqueda y

algoritmos de análisis.

Nephentes: Honeypot de baja interacción que pretende emular

vulnerabilidades conocidas para recopilar información sobre posibles ataques.

Nephentes está diseñado para emular vulnerabilidades que los gusanos utilizan

para propagarse y cuando estos intentan aprovecharlas, captura su código para

su posterior análisis.

Honeytrap: Este Honeypot está destinado a la observación de ataques contra

servicios de red. En contraste con otros Honeypots, que se suelen centrar en la

recogida de malware, el objetivo de Honeytrap es la captura de exploits.

Glastopf: Emula miles de vulnerabilidades para recopilar datos de los ataques

contra aplicaciones web. La base para la recolección de información es la

respuesta correcta que se le ofrece al atacante cuando intenta explotar la

aplicación web. Es fácil de configurar y una vez indexado por los buscadores,

los intentos de explotación de sus vulnerabilidades se multiplican.

85

Honeypot de alta interacción: Este tipo de Honeypots constituyen una solución

compleja, ya que implica la utilización de sistemas operativos y aplicaciones

reales montados en hardware real sin la utilización de software de emulación e

involucrando aplicaciones reales que se ejecutan de manera normal, muchas veces

en directa relación a servicios como bases de datos y directorios de archivos

compartidos. Debido a todo esto constituyen una solución mucho más compleja,

son más difíciles de implementar y mantener. Retomando el ejemplo del servicio

HTTP, en este caso no se emularía dicho servicio, ahora se instalaría un sistema

operativo Windows o Unix, al cual se le instalará el servidor HTTP verdadero, al

ponerlo en línea en algunos casos estará en la misma red de otros sistemas en

producción, y brindará al atacante un nivel real de interactividad con el servicio.

Este tipo de Honeypot se trata de un sistema de computadora convencional. El

sistema no tiene tareas en la red o actividad de usuarios regulares. Así, esta

máquina no debe tener ningún proceso inesperado ni generar ningún tipo de

tráfico en la red, excepto el propio de un sistema que está activo (demonios o

servicios corriendo en el sistema). Estas presunciones facilitan el proceso de

detección del ataque: toda interacción con la Honeypot resultará sospechosa y se

convertirá en un punto de mira para una posible acción maliciosa. De este modo,

todo el tráfico de la red hacia o desde la Honeypot es registrado, así como toda la

actividad del sistema, que será grabada para un análisis posterior. También se

puede combinar el uso de varios Honeypots en una misma red, configurando de

86

esta manera una Honeynet. Por lo general, las Honeynet consisten en varias

Honeypot de diferentes tipos en cuanto a plataformas y/o sistemas operativos.

Esto permite recolectar datos sobre distintos tipos de ataques simultáneamente.

Las ventajas de este tipo de Honeypot son dos: Por un lado, se tiene la posibilidad

de capturar grandes cantidades de información referentes al modus operandi de

los atacantes debido a que los intrusos se encuentran interactuando frente a un

sistema real. De esta manera, se está en posibilidad de estudiar la extensión

completa de sus actividades: cualquier cosa desde nuevos Rootkit, zero days,

hasta sesiones internacionales. Por otro lado, las Honeypot de Alta Interacción no

asumen nada acerca del posible comportamiento que tendrá el atacante,

proveyendo un entorno abierto que captura todas las actividades realizadas y que

ofrece una amplia gama de servicios, aplicaciones y depósitos de información que

pueden servir como blanco potencial para aquellos servicios que específicamente

se desean comprometer. Esto permite a las soluciones de alta interacción conocer

comportamientos no esperados. Sin embargo, esta última capacidad también

incrementa el riesgo de que los atacantes puedan utilizar estos sistemas operativos

reales para lanzar ataques a sistemas internos que no forman parte de las

Honeypot, convirtiendo una carnada en un arma. En consecuencia, se requiere la

implementación de una tecnología adicional que prevenga al atacante el dañar

otros sistemas que no son Honeypot o que prive al sistema comprometido de sus

capacidades de convertirse en una plataforma de lanzamiento de ataques.

87

Otra de las ventajas que se obtiene al montar esta solución es la gran cantidad de

información que se puede recoger del atacante, según la complejidad de la

Honeypot, podemos ser capaces de conocer exactamente todos los pasos del

intruso, sus técnicas y sus herramientas.

Aunque este tipo de Honeypot es, tal y como se ha comentado, sumamente útil

como herramienta de seguridad e investigación, se ha de tener en cuenta la

cantidad de recursos que consumen, siendo ésta su principal desventaja.

Entre las Honeypot de altas interacciones más usadas se pueden destacar las

siguientes (Segobia, 2010):

HI-HAT (High Interaction Honeypot Analysis Toolkit): Herramienta que

transforma aplicaciones PHP en aplicaciones honeypot de alta interacción.

Además ofrece una interfaz web que permite consultar y monitorizar los datos

registrados.

HoneyBow: Herramienta de recopilación de malware que puede integrarse

con el Honeypot de baja interacción Nephentes para crear una herramienta de

recolección mucho más completa.

Sebek: Funciona como un HIDS (Host Intrusion Detection System)

permitiendo capturar una gran variedad de información sobre la actividad en

un sistema ya que actúa a muy bajo nivel. Es una arquitectura cliente-servidor,

con capacidad multiplataforma, que permite desplegar Honeypots cliente en

88

sistemas Windows, Linux, Solaris, etc., que se encargan de la captura y el

envío de la actividad recopilada hacia el servidor Sebek.

Capture-HPC: Del tipo cliente, como HoneyC, identifica servidores

potencialmente maliciosos interactuando con ellos, utilizando una máquina

virtual dedicada y observando cambios de sistema no previstos o autorizados.

Otra clasificación para las Honeypot se basa en su implementación (The Honeynet

Proyect, 2010). Se distinguen dos tipos: Honeypot Físicas y Honeypot Virtuales.

Honeypot Físicas: Las Honeypot Físicas son implementadas en una máquina

física real, convirtiéndola en una Honeypot de alta interacción la cual puede ser

comprometido totalmente. Como constituyen una máquina real, normalmente son

más caras y complejas en su implementación.

Honeypot Virtuales: En este caso, se trata de utilizar máquinas virtuales para la

implementación de la Honeypot. Este método resulta mucho más sencillo de

mantener que una Honeypot física y con una escalabilidad mucho mayor. Así,

sería posible tener miles de estos señuelos en una sola máquina física. Además,

resultan de muy bajo coste económico, por lo que son accesibles a prácticamente

cualquier persona.

89

Para la virtualización, se suele hacer uso de programas como VMware o User-

Mode Linux. Ambas aplicaciones habilitan a una máquina la simulación de un

sistema completo o no, que responde al tráfico de red enviado. Para cualquier

trabajo con las Honeypot, es necesario que el sistema pueda acceder a Internet, así

como que Internet pueda acceder al sistema. La mayoría de personas están

conectadas a Internet vía DSL o módems.

Para una experimentación prudente, es necesario tener un proveedor ISP que

suministre una conectividad IP real completa.

Arquitectura de las Honeypot

La ubicación de una Honeypot es fundamental para maximizar su efectividad, debido

a su carácter pasivo, una ubicación de difícil acceso eliminará gran parte de su

atractivo para potenciales atacantes. Por otro parte, si su ubicación es demasiado

artificial u obvia cualquier experimentado atacante la descubrirá y evitará todo

contacto con ella.

Además hay tener en cuenta que debe integrarse con el resto del sistema que se

encuentran implantados (servidores web, servidores de ficheros, DNS, etc.), y

asegurarse de que no interfiere con las otras medidas de seguridad que puedan ya

existir en la red.

La bibliografía consultada establece tres puntos básicos para albergar una Honeypot

que se adapte a las diversas necesidades (Levine, 2003) (Even, 2000):

90

Delante del Firewall: Al colocarlo delante del Firewall, hace que la seguridad de

nuestra red interna no se vea comprometida en ningún momento ya que el

Firewall evitara que el ataque vaya a la red interna. Como este se encuentra fuera

de la zona protegida por el firewall, puede ser atacado sin ningún tipo de peligro

para el resto de nuestra red.

Esta ubicación permite tener un acceso directo a los atacantes, puesto que el

firewall ya se encarga de filtrar una parte del tráfico peligroso o no deseado,

obteniendo trazas reales de su comportamiento y estadísticas muy fiables sobre la

cantidad y calidad de ataques que puede recibir la red.

Ilustración 5. Implementación de Honeypot delante del Firewall.

Además con esta configuración se evitan las alarmas de otros sistemas de

seguridad de la red al recibir ataques en el Honeypot. Sin embargo, existe el

91

peligro de generar mucho tráfico debido precisamente a la facilidad que ofrece al

Honeypot para ser atacado.

Las dificultades al usar este método son:

El ancho de banda que se consumiría, ya que al estar en el exterior del

Firewall no abra dificultad en acceder a él.

A él estar fuera de nuestro Firewall, no podremos controlar los ataques

internos.

Detrás del Firewall: En esta posición, la Honeypot queda afectado por las reglas

de filtrado del firewall. Por un lado hay que modificar las reglas para permitir

algún tipo de acceso a la Honeypot por posibles atacantes externos, y por el otro

lado, al introducir un elemento potencialmente peligroso dentro de la red se puede

permitir a un atacante que gane acceso a la Honeypot un pase directo a la red

interna.

La ubicación tras el firewall permite la detección de atacantes internos así como

firewalls mal configurados, máquinas infectadas por gusanos o virus e incluso

atacantes externos.

92

Ilustración 6. Implementación de Honeypot detrás del Firewall.

Sin embargo las contrapartidas más destacables de esta arquitectura son la gran

cantidad de alertas que generarán otros sistemas de seguridad de la red, por lo que

existe la necesidad de asegurar el resto de la red interna contra el Honeypot

mediante el uso de firewalls extras o sistemas de bloqueo de acceso, ya que si un

atacante logra comprometer el sistema tendrá vía libre en su ataque a toda la red.

En una zona desmilitarizada: Al posicionarlo aquí se hace posible la separación

del Honeypot de la red interna y la unión con los servidores, esta posibilidad

permite detectar tanto ataques internos como externos con una pequeña

reconfiguración del Firewall, debido a que se encuentra en una zona publica.

Además se elimina las alarmas de otros sistemas internos de seguridad y el

peligro que supone para la red interna al no estar en contacto directo con esta.

93

Ilustración 7. Implementación de Honeypot en una zona desmilitarizada.

Aplicaciones prácticas de las Honeypot.

Cuando son utilizados con propósitos productivos, las Honeypot proveen protección a

la organización mediante prevención, detección y respuesta a un ataque. Cuando son

utilizados con propósitos de investigación, éstos recolectan información que depende

del contexto bajo el cual hayan sido implementados.

Algunas organizaciones estudian la tendencia de las actividades intrusivas, mientras

otras están interesadas en la predicción y prevención anticipada. Las Honeypot

pueden ayudar a prevenir ataques en varias formas:

Defensa contra ataques automatizados: Estos ataques son basados en

herramientas que aleatoriamente rastrean redes enteras buscando sistemas

vulnerables. Si un sistema vulnerable es encontrado, estas herramientas

94

automatizadas atacaran y tomaran el sistema (con gusanos que se replican en la

víctima). Uno de las métodos para proteger de tales ataques es bajando la

velocidad de su rastreo para después detenerlos. Llamados “Sticky Honeypots”,

estas soluciones monitorean el espacio IP no utilizado. Cuando los sistemas son

analizados, estas Honeypots interactúan con él y disminuyen la velocidad del

ataque. Esto es excelente para disminuir la velocidad o para prevenir la

diseminación de gusanos que han penetrado en la red interna.

Protección contra intrusos humanos: Este concepto se conoce como engaño o

disuasión. La idea de esta contramedida es confundir al atacante y hacerle perder

tiempo y recursos mientras interactúa con el Honeypot. Mientras ese proceso se

lleva a cabo, se puede detectar la actividad del atacante y se tiene tiempo para

reaccionar y detener el ataque.

Métodos de Detección Precisa: Tradicionalmente, la detección ha sido una tarea

extremadamente difícil de llevar a cabo. Las tecnologías como los Sistemas de

Detección de Intrusos y sistemas de logueo han sido deficientes por diversas

razones: Generan información en cantidades excesivas, grandes porcentajes de

falsos positivos (o falsas alarmas), no cuentan con la habilidad de detectar nuevos

ataques y/o de trabajar en forma encriptada o en entornos IPv6.

Los Honeypots son excelentes en el ramo de la detección, solventando muchos de

los problemas de la detección clásica: Reducen los falsos positivos, capturan

95

pequeñas cantidades de datos de gran importancia como ataques desconocidos y

nuevos métodos de explotación de vulnerabilidades (Zero Day) y trabajan en

forma encriptada o en entornos Ipv6.

Labor Ciber-Forense: Una vez que un administrador de red se da cuenta que

uno de sus servidores fue comprometido ilegalmente, es necesario proceder

inmediatamente a realizar un análisis forense en el sistema comprometido para

realizar un control de daños causados por el atacante. Sin embargo, hay dos

problemas que afectan a la respuesta al incidente: frecuentemente, los sistemas

comprometidos no pueden ser desconectados de la red para ser analizados y la

cantidad de información que se genera es considerablemente extensa, de manera

que es muy difícil determinar lo que hizo el atacante dentro del sistema.

Las Honeypot ayudan a solventar ambos problemas, ya que son excelentes

herramientas de análisis de incidencias que pueden rápida y fácilmente ser

sacados de la red para un análisis forense completo, sin causar impacto en las

operaciones empresariales diarias. La única actividad que guardan los Honeypots

son las relacionadas con el atacante, ya que no son utilizadas por ningún otro

usuario, excepto los atacantes. La importancia de las Honeypot, es la rápida

entrega de la información, analizada en profundidad previamente, para responder

rápida y eficientemente a un incidente.

96

FUNDAMENTACIÓN LEGAL

Según el Reglamento de la Investigación Científica y Tecnológica de la

Universidad de Guayaquil:

Título Preliminar

Disposiciones Fundamentales

Objetivo De La Investigación Científica Y Tecnológica

Art. 1.- Los objetivos de la investigación en la Universidad de Guayaquil están

concebidos como parte de un proceso de enseñanza único, de carácter docente

investigativo, orientado según norma el Estatuto Orgánico, para permitir el

conocimiento de la realidad nacional y la creación de ciencia y tecnología, capaces de

dar solución a los problemas del país. Las investigaciones dirigidas a la comunidad

tienen por finalidad estimular las manifestaciones de la cultura popular, mejorar las

condiciones intelectuales de los sectores que no han tenido acceso a la educación

superior; la orientación del pueblo frente a los problemas que lo afectan; y la

prestación de servicios, asesoría técnica y colaboración en los planes y proyectos

destinados a mejorar las condiciones de vida de la comunidad.

Descripción: Este artículo guarda estrecha relación con los puntos antes mecionados

en el Capítulo I, en el apartado de Justificación e Importancia; donde se hace

referencia a la Relevancia Social e Implicaciones Practicas del presente proyecto de

Tesis. En estos dos puntos mencionados anteriormente se hace incapie en que el

proceso y resultados de esta investigación estan orientados a una población no solo

97

estudiantil que busca mejorar sus conocimientos y poner en alto el nobre de nuesta

Alma Máter, sino tambien, que intenta llegar y ser util al proporcionar el

conocimiento necesario para roselver un problema real y actual que afecta a la

sociedad y grandes empresas cuya base de sus operaciones es la tecnologia

informática.

Capítulo IV

Coordinación De Investigación De Las Unidades Académicas

Art. 14.- Las unidades académicas son responsables de la labor investigativa de sus

Profesores (as) e Investigadores (as), y trabajarán por lograr la mayor integración

posible de los proyectos de investigación a las necesidades del desarrollo científico y

metodológico del pregrado y el posgrado, y a los fines de la formación integral y

profesional de sus docentes y alumnos.

Descripción: Con el desarrollo de este proyecto se pretende sembrar la idea de

inducir la investigación dentro de la CISC, impulsando y dando a conocer a las

autoridades de este prestigioso establecimiento de Educación Superior, el concepto de

técnicas y metodologías innovadoras en el campo de la Ingenieria en Sistemas.

98

Según la Ley de Educación Superior:

Capítulo I

De la constitución, fines y objetivos del sistema nacional de educación superior

Art.3.- Las instituciones del Sistema Nacional de Educación Superior ecuatoriano,

en sus diferentes niveles, tienen los siguientes objetivos y Estrategias fundamentales:

e) Desarrollar sus actividades de investigación científica en armonía con la

legislación nacional de ciencia y tecnología y la Ley de Propiedad Intelectual.

Descripción: Uno de los puntos destacados en Capítulo I, Evaluación del Problema;

es la Originalidad del presente proyecto. Considerando que dentro del entorno e

institución donde se desarrollara la investigación, será un enfoque totalmente

novedoso, mostrando la capacidad y potencial de este concepto. Y por supuesto

respetando investigaciones realizadas anteriormente pero tomandolas como modelos

de inspiración.

Sección Novena

De la Ciencia y Tecnología

Art. 80.- El Estado fomentará la ciencia y la tecnología, especialmente en todos los

niveles educativos, dirigidos a mejorar la productividad, la competitividad, el manejo

sustentable de los recursos naturales y a satisfacer las necesidades básicas de la

población.

99

La investigación científica y tecnológica se llevará a cabo en las universidades,

escuelas politécnicas, institutos superiores técnicos y tecnológicos y centros de

investigación científica, en coordinación con los sectores productivos cuando sea

pertinente, y con el organismo público que establezca la ley, la que regulará también

el estatuto del investigador científico.

Descripción: A partir del desarrollo del proyecto, se avisora fomentar y dar a

conocer, como ya se ha mencionado en reiteradas ocaciones, el potencial de la

herramienta a desplegar gracias a esta investigación, cuyo propósito es servir tanto a

la institución educativa como tal y también estimular la continua búsqueda de

técnicas novedosas utiles para una sociedad que mira hacia un futuro basado en la

tecnología.

Según la Ley de Propiedad Intelectual:

Sección V

Disposiciones Especiales sobre ciertas Obras

Art. 28. Los programas de ordenador se consideran obras literarias y se protegen

como tales. Dicha protección se otorga independientemente de que hayan sido

incorporados en un ordenador y cualquiera sea la forma en que estén expresados, ya

sea en forma legible por el hombre (código fuente) o en forma legible por máquina

(código objeto), ya sean programas operativos y programas aplicativos, incluyendo

100

diagramas de flujo, planos, manuales de uso, y en general, aquellos elementos que

conformen la estructura, secuencia y organización del programa.

Descripción: Hay que considerar que para el desarrollo de la herramienta aquí

mencionada, se esta respetando tanto conceptos de autores asi como software

existente en el medio, a pesar de que algunos suelen ser de libre distribución. Por otro

lado la idea del desarrollo de esta investigación nació del uso de herramientas que

actualmente se usan, únicamente tomandolas y mejorando su funcionalidad. Ademas

se recibió apoyo de un grupo de desarrolladores que impulsan el uso de las

Honeypots y Honeynets como nuevo método para conocer a los intrusos e

implementar mejoras en la infraestructura de seguridad de una organización.

Según el Reglamento a la Ley de comercio electrónico, firmas electrónicas y

mensajes de datos.

Art. 21.- De la seguridad en la prestación de servicios electrónicos.- La prestación

de servicios electrónicos que impliquen el envío por parte del usuario de información

personal, confidencial o privada, requerirá el empleo de sistemas seguros en todas las

etapas del proceso de prestación de dicho servicio. Es obligación de quien presta los

servicios, informar en detalle a los usuarios sobre el tipo de seguridad que utiliza, sus

alcances y limitaciones, así como sobre los requisitos de seguridad exigidos

legalmente y si el sistema puesto a disposición del usuario cumple con los mismos.

En caso de no contar con seguridades se deberá informar a los usuarios de este hecho

101

en forma clara y anticipada previo el acceso a los sistemas o a la información e

instruir claramente sobre los posibles riesgos en que puede incurrir por la falta de

dichas seguridades.

Se consideran datos sensibles del consumidor sus datos personales, información

financiera de cualquier tipo como números de tarjetas de crédito, o similares que

involucren transferencias de dinero o datos a través de los cuales puedan cometerse

fraudes o ilícitos que le afecten.

Por el incumplimiento de las disposiciones contenidas en el presente artículo o por

falta de veracidad o exactitud en la información sobre seguridades, certificaciones o

mecanismos para garantizar la confiabilidad de las transacciones o intercambio de

datos ofrecida al consumidor o usuario, el organismo de control podrá exigir al

proveedor de los servicios electrónicos la rectificación necesaria y en caso de

reiterarse el incumplimiento o la publicación de información falsa o inexacta, podrá

ordenar la suspensión del acceso al sitio con la dirección electrónica del proveedor de

servicios electrónicos mientras se mantengan dichas condiciones.

Descripción: En algunos países de Sudamerica el Delito Informático es penado por la

ley, no obstante en nuestro país, la Constitución y Leyes no se contempla algo asi. Sin

embargo esto no quiere decir que en el Ecuador no existan delitos de esta clase. A

pesar de esto muchas organizaciones que usan una infraestructura de TI (Tecnología

de la Información), esta siempre pendientes de mantener sus servicios lo mas seguros

posibles evitando asi problemas posteriores que podrían hacer que el prestigio de la

102

organización se vea afectada. Es aquí donde interviene las herramientas de seguridad

para estos sistemas, y porque no usar un enfoque novedoso que contribuiría a una

mejora de los métodos de seguridad existentes, Conociendo al Enemigo y procurando

aprender de el y sus técnicas.

103

PREGUNTAS A CONTESTARSE

En base al análisis de la problemática presentada en esta investigación con respecto a

los nuevos escenarios y las técnicas de ataque que evolucionan a la par con la

tecnología, se han planteado las siguientes preguntas:

Si los niveles de intrusión y ataque a las redes han aumentado considerablemente

los últimos años, y si se procede a aplicar mejoras a las actuales herramientas de

seguridad corrigiendo los errores para disminuir la vulnerabilidad, adaptando a

ellas la tecnología Honeypot; ¿Será viable que en cierto modo aplicando este

nuevo concepto se reduzcan estos índices en una determinada organización?

¿Al hacer uso de la Tecnología Honeypot, añadiendo esta nueva herramienta a la

infraestructura de seguridad de la red de una organización determinada, existe la

posibilidad de que se pueda encontrar errores en la configuración de los

elementos que conforman los esquemas de seguridad?

¿Las ventajas que provee la tecnología Honeypot son un complemento útil, como

para trabajar en conjunto con las demás herramientas de seguridad, sin poner en

riesgo la infraestructura completa de la red?

104

La principal filosofía que promueve a las Honeypot es: “Conoce a tu enemigo”,

tomando como premisa esto; ¿Es posible aprender de los intrusos y de sus

técnicas de ataque, como para mejorar un esquema de seguridad y así corregir las

fallas encontradas?

¿Existirá la posibilidad de que gracias a la utilidad que ofrece la tecnología

Honeypot, los administradores de una red se adapten al uso de esta herramienta y

acojan buenas prácticas en un esquema de seguridad?

105

VARIABLES DE LA INVESTIGACIÓN

Variable Independiente

Se ha considerado como variable independiente para esta investigación:

La existencia o no de vulnerabilidad: A nivel informático, la vulnerabilidad es

considerada un defecto de hardware o software. Es el resultado de un fallo o

deficiencia durante el proceso de creación de programas o también una falta de

atención a los detalles mientras se instala algún tipo de hardware. Estos defectos

son creados de manera inconsciente y si no se corrigen a tiempo harán que se vea

comprometidos los sistemas de una organización o empresa y como resultado,

estará propensa a recibir ataques y por sobre todo a perder información valiosa.

Variable Dependiente

La variable dependiente está definida por:

Ajuste a nuevas técnicas en Seguridad de Redes: Debido a la constante

evolución de la tecnología y amenazas, es necesario realizar ajustes en las

herramientas de seguridad de redes que existen en la actualidad, ya sea, acoplando

una nueva tecnología o corrigiendo los errores que minimizan la efectividad de

estas herramientas. Pero lo más conveniente para cualquier organización que

considere importante su red y la seguridad de la misma, seria adoptar como

contramedida una técnica que permita a los expertos identificar las fallas en la

seguridad para luego proceder a fortalecer estos puntos y mejorar el desempeño

del esquema de seguridad establecido.

106

DEFINICIONES CONCEPTUALES

Red de datos: Se denomina red de datos a aquellas infraestructuras o redes de

comunicación que se han diseñado específicamente a la transmisión de

información mediante el intercambio de datos. La red de datos, también conocida

como red de ordenadores o red informática, es un conjunto de equipos conectados

por medio de cables, señales, ondas o cualquier otro método de transporte de

datos, que comparten información, recursos y servicios.

Hardware: Término inglés que hace referencia a cualquier componente físico

tecnológico, que trabaja o interactúa de algún modo con la computadora. No sólo

incluye elementos internos como el disco duro, CD-ROM, disquetera, sino que

también hace referencia al cableado, circuitos, case, etc. E incluso hace referencia

a elementos externos como la impresora, el mouse, el teclado, el monitor y demás

periféricos.

Software: El software, en sentido estricto, es todo programa o aplicación

programada para realizar tareas específicas. El término "software" fue usado por

primera vez por John W. Tukey en 1957. En una definición más amplia, se

conoce como software al equipamiento lógico o soporte lógico de una

computadora digital; comprende el conjunto de los componentes lógicos

107

necesarios que hacen posible la realización de tareas específicas, en

contraposición a los componentes físicos del sistema, llamados hardware.

Sistema Operativo: Un Sistema Operativo (SO) es el software básico de una

computadora que provee una interfaz entre el resto de programas del ordenador,

los dispositivos hardware y el usuario. Las funciones básicas del Sistema

Operativo son administrar los recursos de la máquina, coordinar el hardware y

organizar archivos y directorios en dispositivos de almacenamiento.

Host: Se refiere a las computadoras conectadas a la red, que proveen o utilizan

los servicios que ofrece. Los usuarios deben utilizar hosts para tener acceso a la

red. En general, los hosts son computadoras mono o multiusuario que ofrecen

servicios de transferencia de archivos, conexión remota, servidores de base de

datos, etc.

Equipos de comunicación: Son los dispositivo de hardware, sean estos internos

o externos, que permiten la conexión y comunicación entre los elementos que

conforman una red.

Protocolo: Es un conjunto de reglas usadas por las computadoras y equipos de

comunicación, para establecer una conexión o comunicarse unas con otras a

través de una determinada red. Un protocolo es una convención o estándar que

108

controla o permite la conexión, comunicación, y transferencia de datos entre dos

puntos finales.

Daemon, Demonio: Programa o proceso que se ejecuta en segundo plano en los

sistemas UNIX/Linux, es decir, se ejecuta sin intervención del usuario, mientras

este ejecuta o trabaja con otras aplicaciones.

IDS: El término IDS (Sistema de detección de intrusiones) hace referencia a un

mecanismo que, sigilosamente, escucha el tráfico en la red para detectar

actividades anormales o sospechosas, y de este modo, reducir el riesgo de

intrusión.

Auditoria Informática: La auditoría informática es el proceso de recoger,

agrupar y evaluar evidencias para determinar si un sistema de información

salvaguarda el activo empresarial, mantiene la integridad de los datos, lleva a

cabo eficazmente los fines de la organización, utiliza eficientemente los recursos,

y cumple con las leyes y regulaciones establecidas. También permiten detectar de

forma sistemática el uso de los recursos y los flujos de información dentro de una

organización y determinar qué información es crítica para el cumplimiento de su

misión y objetivos, identificando necesidades, duplicidades, costes, valor y

barreras, que obstaculizan flujos de información eficientes.

109

Herramientas, Mecanismos o Esquema de seguridad de redes: Conjunto de

técnicas o instrumentos sean estos, de hardware, software, reglas o normas que

son usadas para proteger un grupo de computadoras que formen una red dentro o

fuera de una organización o empresa, y cuya comunicación se desea proteger de

elementos no deseados tales como intrusos y software maliciosos (malware).

Intruso o Atacante: Es una persona o individuo que intenta acceder a un sistema

informático sin autorización, con el fin de obtener información del sistema o

sabotear al mismo. En contraste con los hackers, los intrusos tienen a menudo

malas intenciones y suelen disponer de muchos medios para introducirse en un

sistema.

Riesgo: En el contexto de la seguridad informática, la palabra riesgo casi siempre

nos hace pensar en las amenazas que pueden atentar contra la seguridad de

nuestros recursos, nuestra información o nuestra empresa. En un sentido más

estricto se considera riesgo al conjunto de circunstancias que pueden afectar el

desempeño de todo sistema informático.

Vulnerabilidad: A nivel informático, es considerada un defecto de hardware o

software. Es el resultado de un fallo o deficiencia durante el proceso de creación

de programas o también una falta de atención a los detalles mientras se instala

algún tipo de hardware. Estos defectos si no se corrigen a tiempo harán que se vea

110

comprometidos los sistemas de una organización o empresa y como resultado,

estará propensa a recibir ataques y por sobre todo a perder información valiosa.

Amenaza: En el ámbito de la seguridad informática se considera amenaza a un

quebrantamiento de las normas que van en contra de la seguridad informática, es

decir, burla los mecanismos de seguridad poniendo en riego sistemas enteros

provechándose de las vulnerabilidades de estos con fines perjudiciales. En

algunos países es considerada un delito e incluso es penado por la ley.

Puertos de Red: Un puerto de red o puerto TCP/IP hace referencia a una interfaz

de comunicación no física utilizada para que dos ordenadores intercambien datos

haciendo uso de un servicio particular. El servicio que se utilice quedará

representado por un número seguido del protocolo que se utilice para la

comunicación. A los puertos se les asigna una numeración de 2 bytes (16 bits),

por lo que existen 65535. Aunque se puede usar cualquiera de ellos para cualquier

protocolo, existen tres categorías:

1. Los puertos inferiores al 1024 son puertos reservados para el sistema

operativo y usado por "protocolos bien conocidos".

2. Los comprendidos entre 1024 (0400 en hexadecimal) y 49151 (BFFF en

hexadecimal) son denominados "registrados" y pueden ser usados por

cualquier aplicación.

111

3. Los comprendidos entre los números 49152 (C000 en hexadecimal) y 65535

(FFFF en hexadecimal) son denominados dinámicos o privados, porque son

los usados por el sistema operativo cuando una aplicación tiene que

conectarse a un servidor y por tanto necesita un puerto por donde salir.

TCP (Transmission Control Protocol): Protocolo de Control de Transmisión,

provee un flujo de bytes confiable de extremo a extremo sobre una Internet no

confiable. TCP puede adaptarse dinámicamente a las propiedades de Internet y

manejar fallas de muchas clases. Este protocolo garantiza que los datos serán

entregados en su destino sin errores y en el mismo orden en que se transmitieron.

También proporciona un mecanismo para distinguir distintas aplicaciones dentro

de una misma máquina.

IP (Internet Protocol): Protocolo de Internet, es uno de los protocolos de Internet

más importantes ya que permite el desarrollo y transporte de datagramas de IP

(paquetes de datos), aunque sin garantizar su "entrega". En realidad, el protocolo

IP procesa datagramas de IP de manera independiente al definir su representación,

ruta y envío.

ICMP (Internet Control Message Protocol): Protocolo de Control de Mensajes

de Internet, notifica errores del Protocolo de Internet (IP). Como tal, se usa para

112

enviar mensajes de error, indicando por ejemplo que un servicio determinado no

está disponible o que un router o host no puede ser localizado.

ICMP difiere del propósito de TCP y UDP ya que generalmente no se utiliza

directamente por las aplicaciones de usuario en la red. La única excepción es la

herramienta ping y traceroute, que envían mensajes de petición Echo ICMP (y

recibe mensajes de respuesta Echo) para determinar si un host está disponible, el

tiempo que le toma a los paquetes en ir y regresar a ese host y cantidad de hosts

por los que pasa.

UDP (User Datagram Protocol): Protocolo Datagrama de Usuario, proporciona

muy pocos servicios de recuperación de errores, ofreciendo en su lugar una

manera directa de enviar y recibir datagramas con datos del host a través una red

IP.

FTP (File Transfer Protocol): Protocolo de Transferencia de Archivos, es un

protocolo de red para la transferencia de archivos entre sistemas conectados a una

red, basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede

conectar a un servidor para descargar archivos desde él o para enviarle archivos,

independientemente del sistema operativo utilizado en cada equipo.

113

SMTP (Simple Mail Transfer Protocol): Protocolo Simple de Transferencia de

Correo, protocolo de red basado en texto utilizado para el intercambio de

mensajes de correo electrónico entre computadoras u otros dispositivos.

SSH (Secure Shell): Intérprete de órdenes segura, es el nombre de un protocolo y

del programa que lo implementa, y sirve para acceder a máquinas remotas a través

de una red. Permite manejar por completo la computadora mediante un intérprete

de comandos. Se puede decir que es más seguro que Telnet.

Telnet (Telecommunication Network): Es el nombre de un protocolo de red y del

programa que lo implementa, que sirve para acceder mediante una red a otra

máquina para manejarla remotamente. A diferencia de SSH, Telnet es un

protocolo poco seguro, debido a que Telnet no encripta la información que envía

por la red.

NetBIOS (Network Basic Input/Output System): Es una especificación de

interfaz para acceso a servicios de red, es decir, una capa de software desarrollado

para enlazar un sistema operativo de red con hardware específico. De forma

sencilla, NetBIOS, permite a las aplicaciones 'hablar' con la red. Su intención es

conseguir aislar los programas de aplicación de cualquier tipo de dependencia del

hardware. También evita que los desarrolladores de software tengan que

114

desarrollar rutinas de recuperación ante errores o de enrutamiento o

direccionamiento de mensajes a bajo nivel.

115

CAPÍTULO III

METODOLOGÍA

DISEÑO DE LA INVESTIGACIÓN

MODALIDAD DE LA INVESTIGACIÓN

El presente proyecto corresponde a la modalidad bibliográfica, debido a que mucha

de la información que comprende esta investigación se halla en documentos, textos,

guías, revistas, internet; lo que permitirá no solo determinar la utilidad de este

proyecto de tesis, sino, que se podrá analizar resultados obtenidos basados en otras

investigaciones, construir un modelo de demostración y generar conclusiones,

recalcando que habrá una parte en la cual se necesite obtener información de fuentes

reales al punto de llegar a realizar entrevistas para obtener información que aporte a

este trabajo de investigación.

Tipo de Investigación.- El tipo de investigación que se adapta a este trabajo se

encuentra en la categoría de proyecto factible, debido a que permitirá la elaboración

y diseño de una propuesta que se podría convertir en un modelo operativo viable, o

una solución posible, cuyo propósito es satisfacer una necesidad o solucionar un

problema de una determinada organización. Además el proyecto factible debe tener

apoyo en una investigación de tipo documental o bibliográfica.

116

También está enmarcado en el tipo de investigación aplicada, ya que usa

conocimientos existentes y los pone en práctica, realizando un aporte significativo y

viable para cualquier entidad interesada en el tema que se trata en la presente. La

investigación aplicada, guarda íntima relación con la básica, pues depende de los

descubrimientos y avances de la investigación básica y se enriquece con ellos, pero se

caracteriza por su interés en la aplicación, utilización y consecuencias prácticas de los

conocimientos (Sabino, 1978). La investigación aplicada busca el conocer para hacer,

para actuar, para construir, para modificar (Rutinel, 1997).

POBLACIÓN Y MUESTRA

Población

Para el desarrollo de esta investigación en lo que respecta a los análisis de varios

factores que influyan en la seguridad de una red, se ha elegido como el escenario en

donde se producen y se obtienen los datos un centro de educación superior, como lo

es la Carrera de Ingeniería en Sistemas Computacionales y Networking de la

Universidad de Guayaquil; específicamente el Departamento Informático. Y debido a

que, como toda área de tecnología de la información y seguridad es limitada a su

acceso, los datos que se manejan contienen información muy sensible y esta

categorizada como información clasificada y que además está restringida solo para el

uso de personal autorizado. Cabe destacar que se tomo en consideración opiniones

muy importantes como la del personal integrante del área en mención y ayudantes

que desempeñan sus actividades dentro del mismo departamento. Además se planifica

117

obtener información que permita evaluar la vulnerabilidad que se podrían presentar

con los usuarios finales que hacen uso de los servicios que presta la Red de la CISC.

Muestra

Para determinar a qué elementos de la población antes mencionada se debía aplicar

los instrumentos de recolección de datos, se procedió a realizar un análisis descriptivo

de las tareas que realizaban cada uno de los individuos pertenecientes al área de

investigación. Con esto se logro establecer que los más aptos para ser entrevistados

serian aquellos individuos relacionados con el entorno de la infraestructura de la red

de la CISC, incluyendo en este grupo a los administradores y ayudantes. Además para

corroborar si las respuesta dadas por los agentes que controlan la red eran

efectivamente reales, se seleccionó un pequeño grupo que haga uso y trabaje a diario

con los servicios que ofrece la red, es decir, los Usuarios Finales. Cabe destacar que

la muestra seleccionada no sobrepasa los 25 individuos, por lo que el procesamiento y

análisis de la información obtenida se llevara a cabo en base a tabulaciones y técnicas

estadísticas que permitan llegar a un resultado lo más aproximado posible.

Dentro de la variedad de métodos existentes para la selección de muestras basados en

la Teoria de Muestreo, se ha elegido uno que mas se ajusta al desarrollo de la presente

investigación; El Metodo de Muestro No Probabilistico. Este método es usado para

estudios exploratorios e investigaciones aplicadas, donde el muestreo probabilístico

resulta excesivamente costoso, aun siendo consciente de que no sirven para realizar

118

generalizaciones, se seleccionan a los sujetos siguiendo determinados criterios

procurando, en la medida de lo posible, que la muestra sea representativa.

Para lograr la designación de los individuos mencionados anteriormente y que

formaran la muestra, se considero un tipo de selección que forma parte del Metodo de

Muestro No Probabilistico; El Muestreo Intencional o de Conveniencia.

Este muestreo se caracteriza por un esfuerzo deliberado de obtener muestras

"representativas" mediante la inclusión en la muestra de grupos típicos. También

permitio que el investigador seleccione directa e intencionadamente los individuos de

la población. El caso más frecuente de este procedimiento el utilizar como muestra

los individuos a los que se tienen fácil acceso. A criterio del investigador los

elementos son elegidos sobre lo que él cree que pueden aportar al estudio.

119

INSTRUMENTOS DE RECOLECCIÓN DE DATOS

TÉCNICA DE RECOLECCIÓN DE DATOS.

La técnica que se aplicó para el levantamiento y recolección de información dentro

del Departamento Informático e instalaciones de la CISC, en lo que corresponde a la

seguridad de la red (Vulnerabilidad y Protección), se valió de las Entrevistas. La

finalidad de emplear esta técnica, es realizar una medición de las vulnerabilidades

usando dos variables (como se las denominó en este estudio), Vulnerabilidad y

Protección, que serán útiles para el proceso de análisis más adelante.

Se ha tomando en cuenta las opiniones de varios ayudantes que están vinculados a la

administración de los elementos que conforman la red, considerando como la ayuda

más importante la del Sr. Freddy Pincay quien es el administrador con más tiempo

laborando en el área y que posee mayor conocimiento sobre los equipos y técnicas

que se usan para la seguridad de la red de la CISC. Por otra parte, se decidió

entrevistar a varios usuarios finales, esto amplia el enfoque de la presente

investigación no solo ayudando a determinar los eventos desde un punto raíz

(Departamento Informático) sino también demostrando que los usuarios internos de

los servicios que ofrece la red de la CISC influyen mucho en la infraestructura de

seguridad de una red. Estas entrevistas permitirán alcanzar con éxito los objetivos

específicos planteados en la presente tesis y por supuesto serán base fundamental para

elaborar un diagnóstico del estado de la seguridad y vulnerabilidades de la red y sobre

120

todo que permita proponer y acoplar la introducción de la herramienta innovadora que

es motivo de esta tesis.

INSTRUMENTOS DE RECOLECCIÓN DE DATOS.

Para proceder a realizar las entrevistas con las personas mencionadas anteriormente,

se ha elaborado un guión de entrevista a base de preguntas claras y concisas (abiertas

y cerradas), que permiten al investigador autor de este trabajo, evaluar de manera

puntual e inmediata los elementos determinantes que puedan generar un grado

vulnerabilidad que afecte la red.

Como se mencionó anteriormente, el Departamento Informático maneja información

sensible, por lo que se ha previsto la realización de una solicitud dirigida al

Coordinador del Departamento de Graduación, Ingeniero Darwin Patiño. Solicitando

la autorización pertinente para proceder con el levantamiento de información en el

Departamento. La respuesta a esta solicitud llego inmediatamente, informando al

Coordinador de Hardware, Ingeniero Alfonso Guijarro que se autorizaba para

proceder con las entrevistas.

Cabe destacar que la información que se proyectaba obtener para evaluar los niveles

de Vulnerabilidad y Protección, no iba a ahondar mucho en lo que respecta a datos

sensibles, cuyo acceso está permitido solo por personal autorizado. Únicamente se

requería conocer lo básico con respecto a las herramientas y técnicas empleadas para

121

mantener el esquema de seguridad de manera funcional. El guión de entrevista que se

utilizó, se encuentra en los Anexos de esta investigación.

Una vez completado el proceso de entrevistas al personal del área del Departamento

Informático y usuarios finales, se realizará un análisis con la información obtenida.

Con este análisis se descubrirán resultados que vislumbraran el panorama real del

estado actual del esquema de seguridad que poseen las redes de la CISC, basado en

las dos variables que se han mencionado anteriormente, Vulnerabilidad y

Protección. Estos resultados serán factor primordial y determinante para exponer la

relación frente a la problemática existente entre las actuales herramientas de

seguridad y las nuevas amenazas que van apareciendo en el entorno aprovechándose

de las vulnerabilidades para burlar la seguridad de una red.

Es así que a través de este instrumento de recolección de datos se pretende mostrar e

informar cual es la ventaja que provee emplear una técnica novedosa de investigación

informática en la que se analiza al atacante y sus técnicas, para luego a base de este

conocimiento, las personas conocedoras y preparadas en el área de seguridad de

redes, los usen y puedan aplicar los correctivos necesarios a una infraestructura de

seguridad de redes mejorando así su desempeño.

122

PROCEDIMIENTOS DE LA INVESTIGACIÓN

Esta investigación se encuentra estructurada en las partes que se detallan a

continuación:

Capítulo I: El Problema

Planteamiento del Problema.

Evaluación del Problema.

Objetivo General de la Investigación.

Objetivos Específicos de la Investigación.

Alcances de la Investigación.

Justificación e Importancia.

Capítulo II: Marco Teórico

Antecedentes del Estudio.

Fundamentación Teórica.

Fundamentos de la Seguridad Informática.

Seguridad en Internet.

Introducción a la Tecnología Honeypot.

Fundamentación Legal.

Definiciones Conceptuales.

123

Capítulo II: Metodología

Diseño de la Investigación (Tipo de Investigación).

Instrumentos de Recolección de Datos.

Procedimiento de la Investigación.

Procesamiento y Análisis.

Criterios para la Elaboración de la Propuesta.

Capítulo IV: Marco Administrativo

Cronograma de Actividades.

Presupuesto.

Referencias Bibliográficas.

Anexos.

Capítulo V: Conclusiones y Recomendaciones

Conclusiones.

Recomendaciones.

124

PROCESAMIENTO Y ANÁLISIS

Una vez obtenidas las respuestas por parte de las personas entrevistadas se procede a

evaluarlas convencionalmente, transfiriendo las respuestas a la herramienta EXCEL

para la elaboración de gráficos. En la metodología aplicada para evaluar las

entrevistas, se otorga un valor de vulnerabilidad y de seguridad para cada una de las

preguntas, tal como se aprecia en el Cuadro 1, posteriormente se ha previsto crear

varios grupo con las preguntas de la entrevista (Defensa del Perímetro,

Autenticación, Administración y Control, Actualización y Evaluación), que

permitan identificar las principales áreas de un entorno sujeto al esquema de

seguridad que se trata evaluar. Los valores vulnerabilidad y protección de cada

pregunta serán útiles para desarrollar gráficos, a modo de visualizar de mejor forma

los resultados.

Cuadro 1

Formato escala de evaluación de preguntas

VULNERABILIDAD ESCALA RESPUESTA CANTIDAD

0 - 2 Sí - No lo se

PROTECCIÓN ESCALA RESPUESTA CANTIDAD

0 - 2 No

Elaboración: Gustavo Estrella Quijije.

La Cuadro No. 1muestra la escala de evaluación de la pregunta número 2 de la

entrevista hecha a los administradores y ayudantes.

125

¿Se permite el acceso ilimitado a los empleados para navegar en internet?

o Sí

o No

o No lo se

Dependiendo de la respuesta se asignará el valor máximo a la alternativa elegida y

mínimo a la rechazada, así como la cantidad de personas que respondieron a dicha

pregunta. Por ejemplo, si en la pregunta 4, responde “sí se permite el acceso ilimitado

a los empleados para navegar en Internet”, lo que es un peligro para los datos de

ambas parte, la tabla quedaría de la forma que se muestra en el Cuadro 2, en el caso

contrario se muestra en el Cuadro 3. Y por defecto se entregan como vulnerabilidad

a las respuestas “No lo sé”.

Cuadro 2

Evaluación pregunta 2 “No” “No lo sé”

Elaboración: Gustavo Estrella Quijije.

Cuadro 3

Evaluación pregunta 2 “Sí”

VULNERABILIDAD PROTECCIÓN

0 2

Elaboración: Gustavo Estrella Quijije.

VULNERABILIDAD PROTECCIÓN

2 0

126

Existen algunas preguntas que dependiendo del resultado permiten contestar

subpreguntas, la evaluación cambia en estos casos, observar el Cuadro 4, se otorga

mayor cantidad de puntos según la respuesta obtenida de las subpreguntas. Utilizando

como ejemplo la pregunta número 16, la cual si obtiene como respuesta Sí, se es

posible contestar otras tres preguntas.

Cuadro 4

Formato escala de evaluación de pregunta 16

VULNERABILIDAD ESCALA RESPUESTA CANTIDAD

0 - 2 Sí - No lo se

PROTECCIÓN ESCALA RESPUESTA CANTIDAD

0 - 5 No Elaboración: Gustavo Estrella Quijije.

¿Se utiliza firewalls u otros controles de acceso en los perímetros de la red para

proteger los recursos?

o Sí

o No

o No lo se

En caso de responder Si:

a. ¿Se aplica estos controles en todas las oficinas?

o Sí

o No

127

b. ¿Se hace uso de alguna red DMZ para separar redes internas y externas

de los servicios albergados en la CISC?

o Sí

o No

o No lo se

c. ¿Se comprueba periódicamente el Firewall para garantizar que funciona

según lo previsto?

o Sí

o No

En caso de responder “No”, la tabla se rellena de forma normal, tal como se muestra

en el Cuadro 5. Esto se debe a que no se puede contestar las subpreguntas.

Cuadro 5

Evaluación de pregunta 16 “No”

VULNERABILIDAD PROTECCIÓN

2 0

Elaboración: Gustavo Estrella Quijije.

En caso de responder “Sí” a la pregunta 16, se adicionan los resultados de las

subpreguntas, si los resultados son negativos en las subpreguntas, se evalúa solo con

un puntaje de 2. Si se aplica Firewall en todos los equipos de la CISC, se adiciona 1 a

la columna “protección”, si posee una red DMZ, se adiciona nuevamente 1 al puntaje

y si se comprueba periódicamente su funcionamiento se adiciona 1 más. Por ejemplo,

128

si tan posee firewall en todos los equipos, pero no posee una red DMZ y tampoco se

hace una revisión periódica, la evaluación luciría como observa en el Cuadro 6.

Cuadro 6

Evaluación de pregunta 16 “Si” y subpreguntas

VULNERABILIDAD PROTECCIÓN

0 3

Elaboración: Gustavo Estrella Quijije.

Preguntas A Usuarios

Para poder obtener una visión general de la seguridad de la red es necesario recurrir a

quienes la utilizan a diario, los usuarios finales de la CISC, los que poseen la mejor

apreciación del funcionamiento de la red.

Las preguntas realizadas a usuarios van en directa relación con el cuestionario

realizado para los administradores y ayudante, ya que dependiendo de las respuestas

obtenidas de esta sección se procederá a mantener o disminuir el puntaje de preguntas

que tengan relación con ellas en el cuestionario. Por ejemplo si el administrador en la

pregunta 25.a, respondió que existen controles para usuarios.

¿Para qué cuentas son aplicados estos controles de contraseñas?

o Administradores

o Usuarios

o Accesos remotos

Otros:_________________________________________________

129

Pero al realizar la pregunta 2 a los usuarios, estos responden “No”, esto implica que

no se está dando cumplimiento a los controles de contraseñas. En la evaluación de la

pregunta 25 se descontará puntaje, tal como se muestra en el Cuadro 7. El puntaje a

descontar depende del impacto de la vulnerabilidad, la escala variará desde 1 a 3, en

caso de respuesta satisfactoria se conservará la puntuación.

Cuadro 7

Descuento de puntaje evaluación de pregunta 25

VULNERABILIDAD PROTECCIÓN

VULNERABILIDAD PROTECCIÓN

0 4

0 3

Elaboración: Gustavo Estrella Quijije.

130

CUANTIFICACIÓN DE LOS RESULTADOS

Una vez obtenidas las respuestas de las entrevistas, estas se evalúan y cuantifican,

A continuación en el Gráfico 1 se muestra una visión general del estado actual de

vulnerabilidad de la CISC.

Elaboración: Gustavo Estrella Quijije. Fuente: Resultados obtenidos de las entrevistas (Anexos)

Análisis: Visión general del estado actual de vulnerabilidad de la CISC,

obsérvese que el nivel de protección evaluado es aceptable frente al nivel de

vulnerabilidad, pero esto está lejos de un óptimo rendimiento de seguridad.

Los datos que generan el Gráfico 2 se enfocan en un grupo de preguntas

clasificadas como Defensa de Perímetro de la Red. Aquí hay que mencionar que

no existe ningún control en lo que respecta al uso de dispositivos de

almacenamiento externo que utilizan los usuarios, esto puede ser causa de pérdida

131

o fuga de información relevante. Por otra parte se noto que varios usuarios

pudieron identificar algún tipo de virus como ellos lo llaman, causando molestias,

esto da a notar que no se está llevando un control en el software antivirus o si se

lo lleva no le prestan mucha atención. Se recuerda que tipos de malware como

Troyanos, Worms, Spyware, etc. Pueden aprovecharse de este descuido.

Elaboración: Gustavo Estrella Quijije. Fuente: Resultados obtenidos de las entrevistas (Anexos)

Análisis: Se puede apreciar la baja vulnerabilidad en comparación con las

medidas de protección existentes, la CISC cuenta con firewalls, segmentación,

IDS‟s, Proxy que son catalogadas como buenas medidas de seguridad, pero si

estas medidas no se manejas de manera correcta y no se las configura

adecuadamente; Generan una falsa sensación de seguridad, lo cual conlleva

riesgos inminentes para le red. Es recomendable que si se posee un sistema

que permita identificar a las intrusiones, se aproveche los beneficios que

ofrece, para de esta manera mantener una infraestructura de seguridad

completamente funcional y sin brechas que sean atractivas para los intrusos.

132

Con las respuestas obtenidas por parte de los responsables de administrar la red de

la CISC se podría decir que la institución cuenta con un buen sistema de

autenticación para el acceso a sus sistemas aunque no es el óptimo, debido a que

no existen controles para hacer cumplir las políticas de seguridad con respecto a

las contraseñas, esto se ratifico al observar las respuestas obtenidas por los

usuarios donde gracias a su colaboración se llego a determinar que no se les

obliga a cambiar sus contraseñas cada cierto tiempo (como debería ser) y si lo

hacen, es simplemente porque ellos ven la necesidad de realizar un cambio. Tal

como se puede apreciar en el Gráfico 3, existe un 24% de vulnerabilidad en lo

que a autenticación se refiere.

Elaboración: Gustavo Estrella Quijije. Fuente: Resultados obtenidos de las entrevistas (Anexos)

Análisis: La autenticación es uno de los factores principales que se deben

considerar en un la seguridad de la red, con la información obtenida de los

usuarios, se entiende que no se cumplen las normas de creación de contraseñas

ni el control de estas. Lo que deja gravemente abierto un punto frágil para que

133

cualquier intruso externo o interno tome control de un equipo corriendo el

riesgo de convertirse en una Bot, que puede ser usada como puente para lanzar

ataques a otros equipos e incluso puede ocurrir un Secuestro de Sesión o

Suplantación de identidad (Phishing).

Sin duda alguna, una de las mayores fortalezas de la CISC es la forma de

administración y control que posee sobre los sistemas, esto debido a que cuenta

con personal interno capacitado para mantener la red e incluso para atender los

incidentes que se presentan en las estaciones de trabajo de los usuarios, este

resultado se expresa en el Gráfico 4.

Elaboración: Gustavo Estrella Quijije. Fuente: Resultados obtenidos de las entrevistas (Anexos)

Análisis: La opinión que tienen los usuarios con respecto a los servicios de

atención por parte de soporte técnico es positiva, además que se afirmó por

parte de los entrevistados que en el Departamento Informático existe tanto

área de Software como de Hardware, cada una con su propio líder encargado

de administrarla adecuadamente y que también existen individuos capacitados

para una correcta administración de la red y los sistemas de seguridad. Se dio

a notar también que se llevan los controles debidos en lo que respecta a

pruebas de nuevos componentes de la red antes de pasar a producción.

134

En el Gráfico 5 se puede apreciar que gracias al nivel de actualizaciones y

evaluaciones tanto en aplicaciones, sistemas operativos y red que realizan dentro

de la CISC, se mantiene un bajo nivel de vulnerabilidad, sin embargo sería

conveniente recomendar que las evaluaciones de seguridad también sean hechas

no solo por personal interno, sino también, por un grupo externo capacitado. Esto

con el fin de ampliar la visión que se posee en del entorno y su seguridad.

Elaboración: Gustavo Estrella Quijije.

Fuente: Resultados obtenidos de las entrevistas (Anexos)

Análisis: La gestión de actualización se lleva a cabo de manera adecuada, lo

cual genera un índice aceptable de protección, esta gestión de actualización va

de la mano con las pruebas que se deben realizar antes de implementar un

elemento nuevo a la red, lo cual en cierto modo ayuda a reducir posibles fallos

en aplicaciones y sistemas operativos como Security Holes, Bugs, Exploits,

etc.

135

Con este análisis se puede concluir que las redes de la CISC posee una baja

vulnerabilidad, pero esto no implica que esté completamente asegurada, tal como

se muestra en el Gráfico 1, aún queda un 27% del total examinado que se debe

asegurar. Además es importante señalar que si alguna de estas vulnerabilidades es

detectada por atacantes, el sistema se puede ver completamente comprometido.

Ya que se tienen los resultados del análisis se está en posición de tomar

decisiones con respecto al mejoramiento de la seguridad para corregir los puntos

frágiles en su esquema; Por lo tanto es aquí donde se propone la introducción del

prototipo de Honeypot que es motivo de esta tesis.

La cual, explotando su principal característica de monitorear, identificar, analizar

y aprender de los intrusos y sus técnicas, permitirá a los administradores de la red

y expertos en seguridad aplicar de manera óptima y mediante análisis previo, las

mejoras que se puedan emplear para reducir las vulnerabilidades de las

herramientas de seguridad establecidas dentro la red de la CISC. Y no solo eso

sino que también podría ser usada como un instrumento de exploración para

determinar las tendencias de los intrusos, lo cual sería útil para cualquier curso de

investigación interesado en aprender y aprovechar el uso de esta herramienta

innovadora.

136

CRITERIOS PARA LA ELABORACION DE LA PROPUESTA

Se ha proyectado, para una mejor organización, el establecer varias fases que permita

identificar cada uno de los pasos que se den para que el desarrollo e implementación

del prototipo de la Honeypot Virtual de Alta Interacción concluya con éxito. En el

presente apartado se detallara cada una de estas fases.

A modo de proporcionar una visión general se exponen las fases que forman parte de

esta propuesta:

1. Fase de planificación: En esta fase se determinaran las herramientas y

mecanismos necesarios para la implementación de una Honeypot Virtual de

Alta Interacción, considerando elementos de Hardware y Software. También

se tratara de plantear los propósitos de la Honeypot y las necesidades que se

deben cubrir para alcanzar dichos propósitos.

2. Fase de diseño: Se define completamente cada uno de los elementos que

conformaran la Honeypot, funciones y esquemas de la arquitectura que se

usara para la implementación del prototipo planificado. Estos esquemas serán

de gran utilidad, puesto que así se entenderá de una manera más fácil que es lo

que se pretende realizar.

Además se procederá establecer el tipo de software y hardware que se usará y

la estructura que debe seguir en cuanto a funcionalidad.

137

3. Fase de implementación: En esta fase se procederá a instalar y configurar

cada una de las herramientas, para luego proceder a comprobar si trabajan

bien en conjunto, si se complementan y responden tal como se había

planificado. Pues como es de conocimiento, el uso de Software de diferente

origen puede suponer una fuente de incompatibilidades entre sí y con el

Sistema Operativo.

4. Fase de comprobación: Una vez implementado la Honeypot, se hace

necesario un periodo de prueba para demostrar si su funcionamiento es el más

estable y cumple con los requerimientos.

5. Fase de ejecución: Se pone en marcha todos los mecanismos que conforman

la Honeypot Virtual de Alta Interacción, procediendo ejecutar sus servicios en

un ambiente real (Producción). Es aquí donde se empezaran a realizar las

capturas de incidentes para posteriormente realizar los análisis necesarios.

6. Fase de análisis: En esta última fase se pretende observar y estudiar las

diferentes capturas de los datos que haya realizado la Honeypot, y de esta

manera permita establecer su provecho y extraer conclusiones útiles para esta

investigación.

138

FASE DE PLANIFICACIÓN

Es debido a la curiosidad por aprender y emprender el estudio en algo novedoso, que

en el entorno donde se desarrolla esta investigación prácticamente aun no se había

escuchado, este fue uno de los motivos que inspiraron la elaboración de esta tesis. Y

porque novedoso; Pues es simplemente que la idea que plantea este trabajo y que ha

estado en el medio, rompe conto todos los paradigmas y tabúes de la seguridad de

red, que en vez de prevenir los ataques hechos por los intrusos (como lo hacen las

típicas herramientas de seguridad), este método se centra en atraerlos con el fin de

estudiar su comportamiento, aprender de ellos y concluir aplicando mejoras en los

esquemas de seguridad. Por otra parte dada la repercusión de Internet como medio de

comunicación y el grave peligro que suponen los ataques informáticos en la

actualidad a través de este, sorprende la escasez de recursos asignados a un analizador

de este entorno, como son las Honeypot.

Actualmente y con respecto a la tecnología Honeypot, existen varias opciones

(software) que permiten construir una Honeypot sin ningún inconveniente, estas

herramientas se hallan en la página oficial del Honeynet Proyect (The Honeynet

Proyect, 1999), incluso existe una suite de instalación conocida como el “Honeywall

CDROM” (actualmente en la versión 1.4), que es un CD booteable el cual se instala

en el disco duro y viene con todas las herramientas que permiten la captura, control y

análisis de datos; con todas las funcionalidades para la implementación de una

Honeypot.

139

Cabe enfatizar que en primera instancia se avisto hacer uso de una Honeypot

prediseñada, pero la desventaja de estas es que poseen una arquitectura cerrada y no

permiten la personalización que se requería para el desarrollo del prototipo que

propone esta tesis. Sin embargo y gracias a la guía facilitada por uno de los

integrantes del Honeynet Proyect pertenecientes al Spanish Chapter (Spanish

Honeynet Proyect, 2010), cuyo líder y fundador es el Ingeniero en

Telecomunicaciones y Telemática Diego González Gómez, se logro definir para la

fase de planificación, la forma y herramientas con las que la Honeypot va a

interactuar. Por otra parte se hizo uso de un foro Ecuatoriano “ECUALUG.ORG”

(Ecualug.org, 2010), donde se tratan temas referentes a Linux, Servidores, Honeypots

y otras herramientas. Este foro fue mucha ayuda, y en el cual se hizo necesario abrir

un hilo de discusión sobre Honeypots para poder emprender el desarrollo del presente

prototipo.

Análisis de los objetivos del Prototipo de la Honeypot Virtual de Alta

Interacción

Se ha hecho necesario definir el objeto de análisis, es decir, que es lo que se pretende

estudiar con la implementación del prototipo de la Honeypot dentro del marco de la

seguridad. De esta manera es muy importante definir los recursos, servicios y el tipo

de sistema que se desean poner a prueba con el fin de ser comprometidos. Además se

debe elegir el tipo de datos que se quieren analizar, las amenazas y herramientas de

intrusión a las que se pretende exponer la máquina y el modo con el que se desea

140

recoger esta información de forma tal que sea útil y fácil de analizar. Igualmente se

debe reiterar una de las funcionalidades que ofrecen las Honeypot, como la

distracción frente a las intrusiones.

Es justamente a todo lo expuesto anteriormente que se llegó a definir para el

desarrollo del prototipo que plantea esta investigación crear una Honeypot de Alta

Interacción, porque abre un campo mucho más extenso en cuanto al modo de análisis.

Por otra parte y debido a que la configuración de este tipo de señuelos es mucho más

compleja y costosa en lo que respecta a mantenimiento y evaluación, se decidió

centrar el estudio en un solo sistema operativo y se eligió a Windows.

Análisis de componentes.

A continuación se mencionan algunos puntos que ayudaran a determinar las

herramientas y medios que se van a utilizar para la implementación del prototipo.

Anteriormente ya se estableció que para el diseño del prototipo se va a hacer

uso de una Honeypot de Alta Interacción para analizar un sistema Windows.

Decidir si la Honeypot será física o virtual.

Establecer el tipo de herramientas que interactuaran con ella y su entorno, y

también que se usara para la recogida de datos.

Tal y como se definió en los tipos de Honeypot, el uso de máquinas virtuales

supone un menor coste, tanto económico como de carga de trabajo para el

141

desarrollador. Así que se optó por el uso de este tipo de aplicaciones, puesto

que su versatilidad y utilidad resultan una buena opción.

Cuando la plataforma este lista, se deben agregar las herramientas necesarias

para la monitorización de la máquina trampa. Así, se recurre a los IDS que

formaran parte y trabajaran en combinación con otros elementos para formar

la Honeypot.

Hay que recordar que existen dos claros tipos importantes de IDS, ambos

necesarios para el diseño del prototipo.

o N-IDS (Sistema de detección de intrusiones de red), que se orienta a la

seguridad dentro de la red.

o H-IDS (Sistema de detección de intrusiones en el host), que se orienta

a la seguridad en el host.

Sistema de Detección de Intrusiones de Red (N-IDS).

En el presente apartado se detallan algunas características relevantes referentes a

los N-IDS:

Un N-IDS forma un sistema que puede verificar paquetes de información que

viajan por una red para descubrir si se ha producido alguna actividad

maliciosa o anormal.

El N-IDS pone uno o más de los adaptadores de red del sistema en modo

promiscuo. Éste es una especie de modo "invisible", en el que una

computadora conectada a una red compartida, captura todo el tráfico que

142

circula por ella. Este modo está muy relacionado con los packet sniffers que se

basan en este género para realizar su tarea.

En entornos de seguridad, es común encontrar diversos IDS en diferentes

partes de la red. Por lo general, se colocan fuera de la red para estudiar los

posibles ataques, así como también se colocan internamente para analizar

solicitudes que hayan pasado a través del Firewall o que se han realizado

desde adentro.

Los principales métodos utilizados por un N-IDS para informar y bloquear

intrusiones son:

Reconfiguración de dispositivos externos (Firewall en routers): Comando

enviado por el N-IDS a un dispositivo externo para que se reconfigure

inmediatamente y así poder bloquear una intrusión.

Envío de un correo electrónico a uno o más usuarios: envío de un correo

electrónico una intrusión seria.

Registro del ataque: se guardan los detalles de la alerta en una base de datos

central, incluyendo información como el registro de fecha, la dirección IP del

intruso, la dirección IP del destino, el protocolo utilizado y la carga útil.

Almacenamiento de paquetes sospechosos: se guardan todos los paquetes

originales capturados y/o los paquetes que dispararon la alerta.

Apertura de una aplicación: se lanza un programa externo que realice una

acción específica

143

Envío de un ResetKill: se construye un paquete de alerta TCP para forzar la

finalización de una conexión (sólo válido para técnicas de intrusión que

utilizan el protocolo de transporte TCP).

Notificación visual de una alerta: se muestra una alerta en una o más de las

consolas de administración.

Sistema de Detección de Intrusiones de Host (H-IDS).

Los H-IDS también poseen ciertas características que se mencionan a

continuación:

El H-IDS se encuentra en un host particular. Por lo tanto, su software cubre

una amplia gama de sistemas operativos como Windows, Solaris, Linux, Aix,

etc.

El H-IDS actúa como un daemon o servicio estándar en el sistema de un host.

Tradicionalmente, el H-IDS analiza la información particular almacenada en

registros (como registros de sistema, mensajes, logs).

También captura paquetes de la red que entran y salen del host para poder

verificar las señales de intrusión (como ataques DoS, Backdoors, troyanos,

intentos de acceso no autorizado, ejecución de Malware).

144

Herramientas de Análisis Forense.

El Análisis Forense es una metodología de estudio ideal para el análisis

posterior de incidentes, mediante el cual se trata de reconstruir cómo el intruso

ha penetrado en el sistema, y permite valorar los daños ocasionados.

Los servicios de análisis forense comprenden el estudio de los sistemas para

determinar el grado de compromiso y exposición, los datos de los presuntos

atacantes, el nivel de intrusión alcanzado y la recuperación de datos en caso de

pérdidas.

Permiten analizar los ataques sufridos, así como la necesidad de desvelar a los

atacantes o intrusos.

Ayudan a conocer qué herramientas y metodologías han empleado los

atacantes para entrar en el sistema, y todo ello orientado a planificar

adecuadamente planes que impidan que los ataques se repitan.

Realizar trabajos de análisis forense es necesario para asegurar,

principalmente, que las brechas de seguridad han sido resueltas y que el

incidente que se haya producido no vuelva a ocurrir.

Los datos de un análisis forense permiten trazar la identidad de los atacantes,

así como su localización, pudiendo obtener de estos datos información útil

para procesos judiciales o laborales.

145

FASE DE DISEÑO

En los apartados anteriores ya han quedado definidos los componentes necesarios

para desarrollar el Prototipo de la Honeypot Virtual de Alta Interacción, pero aun no

se ha establecido el tipo de Software que se ha de emplear para llevar a cabo cada una

de las tareas.

A modo de describir de manera general, a continuación se mencionan los

requerimientos necesarios para en el desarrollo del la Honeypot:

1. Conexión a Internet.

2. Una Máquina Física.

3. Un Router.

4. Un Programa Antivirus con Firewall.

5. Un Programa de Virtualización.

6. Un IDS de Red.

7. Un IDS de Host.

8. Un Programa de Análisis Forense.

REQUERIMIENTOS Y ESQUEMAS

1. Conexión a Internet.

Es de mucha importancia poseer una conexión a internet estable, que facilite la

navegación, esto permitirá realizar capturas de manera dinámica y sin

interrupciones o pérdida de conectividad. Para motivos de este estudio se utilizó

146

una conexión cuya velocidad es de 550 Kbps, aunque se lo recomendable seria

una conexión igual a 3 Mbps.

2. Máquina Física.

Se usara una computadora con las siguientes características:

Sistema Operativo: Microsoft Windows 7 Ultimate Edition.

Tipo de Sistema: Equipo basado en X86 de 32 bits

Procesador: X86 Intel Core 2 Duo E4500 2.20GHz.

Memoria RAM: DDR2 4GB.

Disco Duro: SATA 120GB.

Directorio de Windows: C:\Windows.

Directorio del Sistema: C:\Windows\System32.

Configuración Regional: Español.

Recomendaciones: Tener Firewall de Windows activado y actualizado.

Actualizar el Sistemas Operativo a la última revisión.

Particionar el disco duro.

3. Router.

Se ha previsto usar un Router que permita administrar la red que se pretende

hacer con la Máquina Física y las Máquinas Virtuales. Además este proveerá de

conexión a Internet a la Máquina Física a través de un cable Ethernet. En la

actualidad los Routers traen un Firewall incorporado, por lo que se recomienda

147

activarlo y configurarlo. Por otra parte hay señalar que la arquitectura que se va

emplear, es ubicar la Honeypot detrás del Firewall.

Para este caso se va a usar un Router D-Link Wireless 150 (Dir-600) de 4

Puertos.

4. Programa Antivirus con Firewall.

Se debe prescindir de un buen antivirus en la Máquina Física, que mantenga

monitoreado todo el sistema que se está ejecutando sobre dicha computadora para

impedir alguna infección que pase desapercibida e informe inmediatamente de

cualquier incidente. La Honeypot debe ser aislada del sistema real, se necesita

anular toda comunicación con la máquina real para evitar que ésta última sea

infectada por cualquier malware. Para ello, es necesario usar un Firewall, sea este

el del Router, el de Windows o el del Antivirus.

Para efectos de esta investigación se usara el antivirus McAfee INTERNET

SECURITY SYSTEM, el cual integra varias herramientas muy útiles para la

prevención de infecciones junto con una interfaz que facilita su administración,

entre las características más destacadas de este antivirus están:

Un Firewall Bidireccional muy fácil de configurar y administrar.

Protección Residente en Tiempo Real y Active Protection que brinda la

protección más rápida frente a amenazas perjudiciales.

Escudo de protección Online, Site Advisor

148

Modo invisible que vuelve el equipo invisible frente a los piratas

informáticos

Anti-Rootkit, Anti- Phishing, Anti-Spam, Anti-Spyware, Anti-Malware

Protección de identidad.

5. Programa de Virtualización.

Existen varias opciones en el medio con respecto a este tipo de Software, pero la

que más llamo la atención tanto por su flexibilidad y ventajas, fue VMware

Workstation Versión 6.5.2.

Este programa de gran versatilidad permite el arranque de varias máquinas

virtuales con funcionalidad completa o a elección del usuario. Además, incluye

multitud de herramientas para la gestión de las unidades virtuales, que se

mostraran más adelante; y que facilitan de sobremanera la gestión y

mantenimiento de la Honeypot.

6. IDS de Red.

En lo que respecta al IDS de Red, se utilizará Snort, ya que es un Software open

source (libre distribución) con grandes capacidades. La versión de Snort que se

usará es la 2.8.6 que es la más actual hasta este momento.

Snort trabaja a modo de Packet Sniffer, se basa en reglas para el monitoreo del

tráfico que está pasando sobre red, será el encargado de escuchar todo tráfico

sospechosos que circulen en la red, en el caso del presente estudio, estará

149

monitoreando los paquete que entre o salga de la máquina virtual trampa. En la

Ilustración 8 se muestra el flujo de datos entre Snort, la Red y la Máquina Virtual

Trampa.

Ilustración 8. Honeypot: Flujo de datos entre Máquina Virtual Trampa y Snort.

Snort permite monitorear uno o varios Host concretos en una red, avisando de los

posibles ataques que sobre él o ellos se efectúan. Puesto que por sí solo Snort

guarda todos los datos en ficheros a modo de log, se encuentra el problema al

momento de mostrar los resultados, pues revisar cada uno de los logs resulta

altamente tedioso e ineficiente. Es por ello que se ha previsto utilizar una base de

datos MySQL para guardar toda la información de forma ordenada.

Ilustración 9. Honeypot: Almacenamiento de datos capturados por Snort en MySQL.

SNORT MySQL

VMware

Máquina

Virtual Trampa

Windows XP

SNORT

Internet Router

150

Aun con el apoyo de una Base Datos para almacenar todo lo que capture Snort, el

proceso de revisión de esta información sigue siendo engorroso, porque habría

que consultarlo a través de SQL Querry. Para mejorar esto, se pretende usar la

herramienta ACID (Analysis Console for Intrusion Databases/Consola de

Análisis para Bases de Datos de Intrusiones), que es un instrumento gráfico

basado en Web que permite mostrar a través de un browser toda la información

almacenada en la base de datos MySQL de tal forma que sea comprensible para el

análisis.

Ilustración 10. Honeypot: Uso de ACID para muestra de datos almacenados en MySQL.

ACID al estar basado en Web fue creado en lenguaje PHP, por lo que requiere de

la coparticipación de PHP (Lenguaje Nativo) y un Servidor Web que interprete

este lenguaje, en este caso Apache.

Ilustración 11. Honeypot: Componentes relacionados con ACID.

MySQL ACID

ACID

PHP

APACHE

151

La Ilustración 12 muestra los componentes anteriormente mencionados y que

formarán parte del IDS de Red, así como el flujo de datos entre ellos.

Ilustración 12. Honeypot: Componentes y flujo de datos del IDS de Red.

7. IDS de Host.

Gracias a las recomendaciones y guías que se facilitaron por parte de los

miembros del Honeynet Proyect Spanish Chapter, se optó por utilizar Sebek

versión 3.0.5 como IDS de Host. Sebek Fue creado por el Honeynet Project, de

donde nació la idea de construir el prototipo que se diseñara en esta tesis.

Este programa está albergado en la propia Honeypot, pero necesita un

componente más para su funcionamiento: un servidor al que enviarle la

información, para el caso de la tecnología Honeypot, al servidor se lo conoce

como Honeywall Gateway. Así, debido a la baja capacidad de recursos, se tuvo

que configurar el servidor como otra máquina virtual, aun cuando la mayor

efectividad se obtiene por medio de otra computadora física que haga las veces de

SNORT MySQL ACID

PHP

APACHE

152

Servidor y Honeywall Gateway(1)

. Para este caso, el servidor consistirá en una

máquina Linux. La Ilustración 13 muestra los componentes y flujo de datos del

IDS de Host.

Ilustración 13. Honeypot: Componentes y flujo de datos del IDS de Host formado por Sebek.

8. Programa de Análisis Forense.

Para realizar el análisis posterior a la detección de incidentes, se usará un

programa llamado InstallWatch. Este es un programa de análisis forense,

también residente en la propia Honeypot. Este software permitirá llevar a cabo el

estudio de la Honeypot una vez comprometida y finalizado el proceso de captura

o exposición a las intrusiones, mostrando todos los componentes del sistema que

han sido alterados.

1Es un ordenador configurado para filtrar y observar el tráfico que generan una o varios Honeypot. El equipo que

hace este papel debe ser invisible para las Honeypots con el fin de estudiar en profundidad y sin interferir qué

hacen y cómo actúan los intrusos.

VMware

Máquina

Virtual Trampa

Cliente SEBEK

(Windows XP)

Servidor

SEBEK

(Linux)

153

Ilustración 14. Honeypot: Elementos que formaran la Máquina Virtual Trampa.

Con la finalidad de mostrar la arquitectura completa e interacción entre los distintos

programas que conformaran el Prototipo de la Honeypot Virtual de Alta Interacción

que se propone en la presente investigación, se ha construido un esquema como se

muestra en la Ilustración 15. Recordando que se empleará una Honeypot detrás del

Firewall.

VMware

Máquina

Virtual Trampa

Windows XP

Cliente Sebek

InstallWatch

154

Ilustración 15. Arquitectura del Prototipo de Honeypot detrás del Firewall

Firewall

Máquina Física

VMware

Máquina

Virtual Trampa

Cliente SEBEK

InstallWatch

Servidor

SEBEK

ACID

PHP APACHE

SNORT

MySQL

Internet Router

155

FASE DE IMPLEMENTACIÓN

En esta fase se explicara detalladamente y paso a paso el proceso de instalación y

configuración de los componentes del Prototipo de la Honeypot Virtual de Alta

Interacción. Se destacaran también los pasos más relevantes con ayuda de

ilustraciones, considerando el manejo de los componente y los ajustes necesarios para

la interconexión de todas las herramientas necesarias. Este apartado se podría

considerar como un manual de instalación.

La primera parte en esta fase de implementación, consiste en la instalación del

Software de Virtualización VMware Workstation y la configuración de la red entre

las máquinas virtuales y la máquina física.

Software de Virtualización VMware Workstation.

Para el desarrollo del prototipo se avisto el uso de máquinas virtuales y en este caso

se eligió como software de virtualización a VMware Workstation Versión 6.5.2.

VMware Workstation es un producto de software especializado de la empresa

VMware Inc., que permite tener instalado más de un sistema operativo de manera

simultánea sobre la misma máquina física. Este software permite a los usuarios armar

múltiples computadoras virtuales y usar una o más de esas computadoras virtuales

simultáneamente con el sistema operativo anfitrión o HostOS (es el sistema operativo

sobre el que se instala VMware). Cada instancia de máquina virtual puede ejecutar su

156

propio sistema operativo huésped o GuestOS (Es el sistema operativo que se instala

sobre VMware) como Windows, Linux, Unix, Solaris, etc.

Ilustración 16. VMware: Pantalla principal y la versión de VMware Workstation.

Ejecutar una máquina virtual es como abrir un programa cualquiera, sólo que en lugar

de centrarnos en el uso de las herramientas del programa como tal (aunque igual tiene

muchas opciones) lo que se hace es “arrancar” otro PC dentro de nuestro sistema

operativo o HostOS, entonces podremos ver cómo se expone la pantalla de booteo en

una ventana. Desde este punto ya tratamos a esta aplicación como si en realidad fuera

otro PC físicamente.

VMware Workstation es una opción de virtualización muy usada, está diseñada para

el usuario de escritorio y disponible para plataformas Linux y Windows. Las ventajas

de usar VMware Workstation para la implementación de la Honeypot Virtual son:

157

Opciones de red, VMware provee dos formas de manejar las redes. La primera es

en modo puente (Bridged), que permite a una Honeypot usar la tarjeta del

computador y parecer ser otra máquina en la red. La segunda opción es redes sólo

en la máquina (Host Only), con lo que se puede controlar mejor el tráfico con un

firewall, estos modos se explicaran con detalle en el proceso de creación y

configuración de la máquina virtual.

VMware crea una imagen de cada GuestOS, estas imágenes son simplemente

unos archivos, lo que le hace muy movible. Esto significa que pueden ser

transferidas a otros computadores. Para restaurar un Honeypot a su estado

original, basta con hacer una copia de seguridad (snapshot) en su lugar.

Fácil de usar, VMware viene con una interfaz gráfica (en Windows y en Linux)

que hace que sea muy simple instalar, configurar y ejecutar los sistemas

operativos.

La posibilidad de suspender una máquina virtual, se puede pausar la máquina

virtual y, cuando se activa de nuevo, todos los procesos continúan como si nada

hubiese pasado.

Al ser un producto comercial, VMware viene con soporte, actualizaciones, y

parches.

158

Un uso interesante de VMware, es la facilidad y rapidez de montar máquinas

virtuales. Una vez que la Honeypot es comprometida y se aprenda tanto como se

pueda de ella, se desearía empezar de nuevo. Así, bastaría con cargar una de las

copias o snapshots efectuadas previamente para regresar al estado deseado. Para

ello, VMware dispone del Snapshot Manager, que despliega el árbol de imágenes

de la máquina virtual guardadas, facilitando su gestión. Un ejemplo se muestra en

la Ilustración 17.

Otra característica de VMware es la capacidad de ejecutar varias redes detrás del

HostOS. Si sólo se tiene una máquina, se puede tener una Honeypot y el propio

computador personal en una máquina sin preocuparse de la contaminación de

datos de cada lado.

Ilustración 17. VMware: Snapshot Manager de VMware Workstation.

159

Algunas desventajas son:

El precio por licencia, VMware Workstation es bastante elevado, lo que limita

su accesibilidad.

Requerimientos del sistema, VMware debe ejecutarse bajo un entorno dado, y

cada máquina virtual necesitará su propia ventana. Así que además de la memoria

que se asigne a un sistema operativo Guest, tiene la sobrecarga de un sistema

operativo instalado HostOS.

Cantidad limitada de sistemas operativos Guest, con VMware sólo se puede

ejecutar un número pequeño de Máquinas Virtuales (1-4).

Reconocimiento, puede ser posible reconocer el software VMware en una

Honeypot, especialmente si las "VMware Tools" están instaladas en los sistemas.

Esto podría alertar a los intrusos. Sin embargo, VMware Workstation tiene

opciones que pueden hacer el reconocimiento más difícil, como la posibilidad de

establecer direcciones MAC para las interfaces virtuales. Esto se explicara con

más detalle en la configuración de la red.

160

Instalación y Configuración de VMware Workstation.

El proceso de instalación de VMware Workstation se lo realizó usando como HostOS

a Windows 7 Ultimate Edition, destacando que no hubo ningún problema de

compatibilidad durante el proceso; la instalación no conlleva mayor dificultad debido

a que usa el asistente de instalación paso a paso, con lo cual se hace fácil este

proceso.

Ilustración 18. VMware: Asistente de instalación de VMware Workstation.

Continúa con el tipo de instalación, se puede elegir entre:

Típica: Instala todas las características del programa (recomendada).

Personalizada: Permite elegir al usuario que características desea instalar y

donde ubicarlas (avanzada).

Se decidió elegir la opción típica, ya que se requería instalar todo los componentes

del programa.

161

Ilustración 19. VMware: Tipo de instalación de VMware Workstation.

Se debe configurar la carpeta de destino de donde se desea instalar todos los

componentes del programa, en este caso se eligió la dirección por defecto que el

asistente muestra.

Ilustración 20. VMware: Carpeta de destino de los componentes de VMware Workstation.

162

Se configura los atajos y accesos directos.

Ilustración 21. VMware: Configuración de atajos de VMware Workstation.

El asistente comienza con el proceso de instalación.

Ilustración 22. VMware: Estado de instalación.

Llenar los casilleros con la información de registro del producto.

Nombre de usuario: Persona que va a usar el producto.

Compañía: Organización a la que pertenece.

Numero de serie: Numero de registro del producto.

163

Ilustración 23. VMware: Información del registro de VMware Workstation.

Con esto el asistente finalizará la instalación de VMware y por último se debe

reiniciar la PC.

Ilustración 24. VMware: Finalización del asistente de instalación.

Una vez instalado VMware, ya se podrá proceder a instalar los GuestOS que se harán

uso para el desarrollo del proyecto y que formaran parte de las máquinas virtuales.

164

Instalación de GuestOS en VMware Workstation.

Para crear una máquina virtual simplemente se debe elegir la opción NEW VIRTUAL

MACHINE (Nueva Máquina Virtual) en la ventana principal de la aplicación.

Ilustración 25. VMware: Ventana Principal.

Se ejecuta el asistente de instalación de nuevas máquinas virtuales, muestra las

siguientes opciones:

Típica: Crea una máquina virtual en pocos paso (recomendada).

Personalizada: Crea una máquina virtual con opciones avanzadas (avanzada).

165

Ilustración 26. VMware: Asistente de instalación de nuevas máquinas virtuales.

Ahora se procede a la instalación del sistema operativo huésped (GuestOS), una de

las características de esta versión de VMware es que permite instalar el sistema

operativo desde una unidad CD o DVD y también desde imágenes de discos (ISO),

esto hace que la instalación del sistema operativo se más rápida e intuitiva.

Por otra parte se puede crear la máquina virtual e instalar el sistema operativo

después, que es la opción que se eligió para este caso, debido a que de esta manera

podemos personalizar la instalación de la máquina virtual.

Ilustración 27. VMware: Ventana de instalación del SO. Huésped (GuestOS).

166

Hay que elegir el sistema operativo huésped (GuestOS) que se instalará en la máquina

virtual, para este ejemplo se uso la instalación de una distribución Linux que es

Ubuntu en su última versión 10.04 LTS Lucid Linx Desktop 32 bits.

Ilustración 28. VMware: Selección del GuestOS.

Darle un nombre a la máquina virtual y la ubicación donde se instalara, estas

opciones pueden ser cambiadas de acuerdo a los requerimientos del usuario.

Ilustración 29. VMware: Nombre de la máquina virtual y ubicación.

Asignarle una capacidad del disco físico a la máquina virtual, el mínimo es de 8GB

(recomendado) aunque si se posee un disco con gran capacidad se le puede asignar

más, para este proyecto se va a usar una cantidad de 10GB y se recomienda dejar

marcada la opción de almacenar el disco virtual en un único archivo (Store virtual

167

disk as a single file), debido a que así se ahorrara espacio en el disco físico que será

necesario para guardar los log de alertas que se detallaran más adelante.

Ilustración 30. VMware: Especificar la capacidad del disco.

Se muestra un resumen de las configuraciones que se han ido realizando para la

máquina virtual que se está creando, además se encuentra la opción de Personalizar

Hardware (Customize Hardware), la cual permitirá cambiar algunas opciones y que

se uso para adaptar la máquina virtual a las necesidades de la investigación.

Ilustración 31. VMware: Configuraciones de la máquina virtual.

Las características de hardware que se pueden adaptar se muestran en el cuadro

Dispositivo (Device) y se detallan a continuación:

168

Memoria: Es la cantidad de memoria RAM que se le asignará a la máquina

virtual, la que viene por default es de 512MB, para el proyecto se uso una

cantidad de 1GB, esto determinara la velocidad de carga de procesos en la

máquina virtual que posee el sistema operativo huésped. Una desventaja de

usar demasiada memoria RAM para una máquina virtual, es que, se verá

afectado el rendimiento de la máquina física; por lo tanto se recomienda usar

la asignación de memoria RAM de manera que no afecte ni a la máquina

física anfitriona (Host) ni a las máquina virtuales huéspedes (Guest), que sea

equilibrada y que no reste demasiados recursos.

Unidades de cd/dvd y floppy: Estas unidades son detectadas

automáticamente por el asistente de creación de máquinas virtuales, así que no

implica mayores cambios

Ilustración 32. VMware: Configuración personalizada de hardware, memoria.

169

Adaptador de Red: VMware trae varios modos de conexión a red.

Modo Bridged (Recomendado): El modo bridge es muy útil si

queremos que la máquina virtual sea parte de nuestra red física y de esta

manera permitir acceder a recursos de nuestra red de manera directa, o por

ejemplo, permitir acceder a recursos que se encuentren en la máquina

como un servidor web, ficheros etc.

Modo NAT (Network Address Translation): Esta opción está disponible

para el primer adaptador de red en la máquina virtual. Permite a la

máquina virtual compartir una conexión a una red física TCP/IP con el

sistema operativo host. Si usa esta opción, la máquina virtual no aparecerá

como equipo independiente en la red. Suele usar de manera compartida la

dirección IP de la máquina física.

Host-Only: Ofrece conexión en red sólo entre máquinas virtuales. Este

tipo de conexión de red resulta útil si se desea preparar un canal para

comunicaciones en red para las máquinas virtuales en un equipo físico a la

vez que se aísla las máquinas virtuales de todas las redes externas, tanto

con cables como inalámbricas, y el sistema operativo host.

Custom: Permite personalizar el tipo adaptador de red que usara, los

principales son:

VMnet0 (Bridge).

VMnet1 (Host - Only).

VMnet8 (NAT).

170

Para efectos de la investigación el modo que se ha usado es el modo Bridge,

así se reconocerá a las máquinas virtuales como si fueran otros equipos de la

red y que estarán conectadas mediante un router.

Ilustración 33. VMware: Configuración del adaptador de red.

Con esto el asistente finalizará la creación de la máquina virtual y de manera

automática la mostrara en la barra que se encuentra en la parte izquierda de la ventana

principal de VMware.

Ilustración 34. VMware: Características de la máquina virtual con SO Ubuntu.

171

Después de la creación de la máquina virtual se procede a instalar el sistema

operativo huésped (GuestOS), no se explicara con detalle la instalación de un sistema

operativo debido a que este procedimiento no varía y es como instalarlo en una

máquina física; se recomienda seguir los pasos del asistente de instalación del sistema

operativo y configurarlo de la manera más adecuada para evitar problemas a futuro.

Ilustración 35. VMware: Bootscreen del SO Ubuntu ejecutándose en VMware.

Ilustración 36. VMware: SO Ubuntu versión 10.04 LTS Lucid Linx Desktop 32 bits.

172

Configuración de la Red.

Para desarrollo de esta investigación se ha usado 2 máquinas virtuales, una con el

Sistema Operativo Ubuntu versión 10.04 LTS Lucid Linx Desktop 32 bits y otra con

el Sistema Operativo Windows XP Professional Service Pack 2, esta máquina virtual

será la que actué de trampa dentro de la Honeypot y para este propósito se le ha

desactivado el Firewall, las Actualizaciones Automáticas y no posee antivirus; esto se

hizo con el fin de hacerla más vulnerable y así analizar las debilidades de un sistema

habitual frente a las infecciones externas.

Es de suma importancia tener un Firewall (Hardware o Software) y Antivirus eficaces

instalados en la máquina física, de modo que se inhiba la comunicación entre ésta y la

virtual, para evitar posibles contagios. En este caso, se ha hecho uso de AVG Internet

Security System Versión 9, que permite una gestión sencilla de reglas sobre las

comunicaciones de la máquina física y también un Firewall. Además se usará un

Router (D-Link Wireless 150 Dir-600), que también posee un Firewall, el cual será

configurado a modo de prevenir un ataque o infecciones en la máquina física.

Es aconsejable que todas las máquinas, sean estas Físicas y Virtuales se les asigne

una dirección IP fija, para evitar posibles fallos en la configuración de los programas

que componen la Honeypot.

173

Las siguientes recomendaciones en la configuración de red se aplicaron en la máquina

virtual que tiene como sistema operativo a Windows XP:

Se recomienda revisar la configuración de la red a través de Virtual Network

Editor, que se encuentra en el menú Edit de la ventana principal de VMware

Workstation.

En la pestaña Summary se muestran los adaptadores de red virtuales que el

software VMware ha creado cuando se lo instaló, se puede observar que cada

adaptador hace referencia a uno de los modos de conexión de red: Bridged, Host-

Only y NAT.

Ilustración 37. VMware: Adaptadores de red virtual creados por VMware.

Se recuerda que hay que configurar los adaptadores de red en modo Bridged, para

que simulen ser otros computadores de la red de modo que se les pueda asignar

una IP más adelante

174

En la pestaña Automatic Bridging debe estar marcada la opción automatic

bridging, ya que con esto se le obliga al programa a que reconozca de manera

automática la tarjeta de red de la máquina física.

Ilustración 38. VMware: Opción Automatic Bridging.

La pestaña Host Virtual Network Mapping muestra los adaptadores de red virtual

disponible, esto se configura de manera automática siempre y cuando se tome en

consideración el punto anterior.

Ilustración 39. VMware: Adaptadores de red virtual disponibles.

175

Ahora hay que proceder a configurar la máquina virtual que tiene como GuestOS

a Windows XP. Se le debe asignar una IP fija ya que el router usa DHCP y

también porque que la configuración del resto de elementos que conformaran la

Honeypot así lo requieren. Como se menciona antes, esta será la máquina trampa

y de la cual se procederá a realizar los análisis de los ataques que realicen los

intrusos. La configuración de red para esta máquina quedó de la siguiente manera:

Dirección IP: 192.168.0.104. (Rango de IP clase C).

Mascara de subred: 255.255.255.0.

Puerta de enlace predeterminada: 192.168.0.1 (IP del router).

Servidor DNS preferido: 192.168.0.1 (IP del router).

Ilustración 40. GuestOS XP: Direcciones IP de la máquina virtual Windows XP.

Para la asignación de las IP hay tener muy en cuenta el rango de direcciones,

en este caso y para efectos del desarrollo del prototipo se uso una red clase C.

Una vez asignadas las IP se procede a crear un grupo de trabajo, para de esta

forma establecer la comunicación entre la máquina anfitriona y las máquinas

virtuales. El grupo de trabajo en este caso se le denomino EMPRESARIAL.

176

Ilustración 41. GuestOS XP: Grupo de trabajo de máquina virtual Windows XP.

La máquina física con el HostOS Windows 7 Ultimate Edition también debe

pertenecer al mismo grupo de trabajo para poder visualizar al resto de equipos

de la red.

Ilustración 42. HostOS: Grupo de trabajo de la máquina con Windows 7.

También se le debe asignar una dirección IP fija.

Dirección IP: 192.168.0.104. (Rango de IP clase C).

Mascara de subred: 255.255.255.0.

177

Puerta de enlace predeterminada: 192.168.0.1 (IP del router).

Servidor DNS preferido: 192.168.0.1 (IP del router).

Ilustración 43. HostOS: Configuración de direcciones IP en Windows 7.

Con estas configuraciones ya será posibles ver todos los equipos pertenecientes al

grupo de trabajo, tanto en la máquina virtual como en la máquina física. Y para

finalizar se recomienda usar una ventana de comando en la máquina virtual y la física

para enviar paquetes de prueba ejecutan el comando PING, esta una forma determinar

si se ha configurado correctamente la red y existe comunicación entre los equipos.

178

DISEÑO DEL IDS DE RED BASADO SNORT

Snort es una herramienta cuya función general es la de un Packet Sniffer, a nivel de

seguridad de redes se lo usa en combinación con otras herramientas para formar un

Sistema de Detección de Intrusiones de Red (N-IDS). Snort Fue desarrollado por

Martin Roesch, este programa es capaz de ejecutar análisis de tráfico y

autentificación de paquetes en tiempo real en redes TCP/IP (Roesch, 2002).

Realiza análisis del contenido de paquetes y puede ser usado para detectar una

variedad de ataques y pruebas de intrusión. Los eventos detectados por Snort pueden

ser registrados en bitácoras, tanto en archivos de texto (syslog) o en alguna base de

datos como MySQL o Postgres, para el posterior análisis del administrador de red.

Así mismo existen herramientas de terceros que en combinación con Snort permiten

mostrar informes en tiempo real, tales como ACID (Analysis Console for Intrusion

Databases/Consola de Análisis para Bases de Datos de Intrusión) o para convertirlo

en un Sistema Detector y Preventor de Intrusos.

Snort dispone actualmente de unas 1.600 reglas y de multitud de aplicaciones para el

análisis de sus alertas, implementa un motor de detección de ataques y barrido de

puertos que permite registrar, alertar y responder ante cualquier anomalía

previamente definida (IETF, 2004). Usa un lenguaje de creación de reglas flexibles,

potentes y sencillas. Durante su instalación ya nos provee de cientos de filtros o

reglas para backdoor, DDoS, finger, FTP, Telnet, ataques web, Nmap.

179

Puede funcionar como sniffer (podemos ver en consola y en tiempo real qué ocurre en

nuestra red, todo nuestro tráfico), registro de paquetes (permite guardar en un archivo

los logs para su posterior análisis, o un análisis offline) o como un IDS normal.

Cuando un paquete coincide con algún patrón establecido en las reglas de

configuración, se registra en un log. Así se sabe cuándo, de dónde y cómo se produjo

el ataque.

Este programa está disponible bajo licencia GPL, gratuito y funciona bajo

plataformas Windows y UNIX/Linux. Dispone de una gran cantidad de filtros o

patrones ya predefinidos, así como actualizaciones constantes ante casos de ataques,

barridos o vulnerabilidades que vayan siendo detectadas a través de los distintos

boletines de seguridad (Snort, 2010).

Instalación y Configuración del N-IDS

WinPcap

Para comenzar, Snort hace uso de una librería denominada Pcap, creada por los

expertos en seguridad informática Van Jacobson, Craig Leres y Steven McCanne, del

Laboratorio Nacional Lawrence Berkeley. Esta librería tiene una versión para Linux

(LibpCap) aunque para esta investigación se usara la versión para Windows

denominada WinPcap, que es un driver de captura de paquetes, esto significa que

WinPcap puede tomar paquetes de una red y colocarlo en Snort.

180

La versión de WinPcap que se utilizó para el desarrollo del prototipo que propone

esta investigación fue la 4.1.2 descargable desde:

http://www.winpcap.org/install/default.htm

Para su instalación únicamente hay que ejecutar el programa de instalación (WinPcap

4.1.1.exe), este lanzará un asistente que guiara paso a paso a través de la instalación

de la librería; este proceso no conlleva mayor dificultad.

Snort llama a WinPcap de forma automática, por lo tanto si al momento de ejecutar

Snort, éste no funciona adecuadamente, puede ser que WinPcap no haya sido

correctamente instalado.

Snort

Tras la instalación de WinPcap se procede a la descarga de Snort desde la siguiente

dirección web:

http://www.snort.org/snort-downloads

Donde se encontraran las versiones disponibles, en este caso se ha descargado la

versión más reciente (Snort 2.8.6.1.exe) que se encuentra en la sección Binaries de

dicha página. Una vez descargado, se procede a instalar Snort desde el ejecutable,

aquí también estará disponible un asistente de instalación.

181

Ilustración 44. N-IDS: Asistente de Instalación de Snort.

En esta parte del proceso de instalación es recomendable seleccionar la opción “I do

not plan to log to a database, or I am planning to log to one of the databases listed

above”, al marcar esta opción permitirá que después se pueda realizar la conexión a

una base de datos definida por el administrador, para este caso será MySQL.

En la siguiente ventana se recomienda instalar todos los componentes que Snort

muestra, así que se deben seleccionar todos.

Ilustración 45. N-IDS: Componentes de Snort.

Para finalizar con la instalación se debe elegir la ruta donde se ubicara Snort y todos

sus componentes, se eligió la que el asistente ofrece por defecto C:/Snort.

182

Ilustración 46. N-IDS: Ruta de instalación de Snort.

Cuando Snort haya sido instalado, a continuación se debe descargar el fichero de

reglas que se encuentran en la página web de Snort desde la siguiente dirección:

http://www.snort.org/snort-rules

Para poder realizar esta descarga fue necesario registrarse en la página web oficial de

Snort, debido a que existen dos tipos de descargas: una para los Usuarios con

Subscripción (versión pago) y otra para los Usuarios Registrados (versión gratuita); la

diferencia entre ambas, radica en que las actualizaciones de las reglas para los

Usuarios Registrados (versión gratuita) salen 30 días después que las de los Usuarios

con Subscripción (versión pago). Así después de unos breves pasos donde se llena

una hoja de registro en la web de Snort, se procedió a descargar el archivo de reglas

(snortrules-snapshot-2853.tar.gz) y se lo descomprime en el directorio raíz de Snort

(C:\Snort).

183

Cuando se haya completado el proceso de instalación de Snort y las reglas, se debe

proseguir con la configuración. Lo primero que se debe hacer es acceder a la carpeta

C:\Snort\etc, en este directorio encontraremos un fichero llamado snort.conf que es

el fichero de configuración que se utilizará para adecuar Snort a las necesidades del

proyecto. Se puede acceder al contenido del fichero con un editor de texto que no

corrompa el formato original del archivo (Wordpad). En este fichero hay que

configurar tres módulos para poder adaptar Snort a las necesidades del N-IDS que se

pretende construir:

1. Configuración de la red.

En el fichero snort.conf, hay que buscar una línea como la que se presenta abajo,

donde podemos ver que la red que aparece por defecto es:

var HOME_NET any

Lo que se debe hacer es modificar esta variable. La podemos modificar de tres

modos dependiendo de lo que se quiera:

Una red clase C: var HOME_NET 192.168.1.0/24

Un Host específico : var HOME_NET 192.168.1.3/32

Varios Host: var HOME_NET 92.168.1.2/32,192.168.1.3/32,192.168.1.4/32

Para el presente caso lo que nos interesa es monitorizar un solo host, por lo que

utilizamos el segundo modo, quedando la variable así:

var HOME_NET IpdelHost/32

184

La IP del Host será la que se le configuro anteriormente a la maquina virtual que

posee como GuestOS Windows XP, quedando de esta manera:

var HOME_NET 192.168.0.104/24

2. Configuración de las reglas.

Para que Snort detecte y avise sobre posibles intentos de ataques es necesario que

se le asigne un conjunto de reglas a seguir. De forma predeterminada la base de

estas reglas está en la ruta C:\Snort\rules.

Para indicar esto, en el fichero snort.conf, se debe reemplazar la línea var

RULE_PATH\rules y var SO_RULE_PATH\so_rules respectivamente por:

var RULE_PATH c:\snort\rules y var SO_RULE_PATH c:\snort\so_rules

Casi al final del fichero snort.conf aparecen una serie de sentencias con el

siguiente formato:

include $RULE_PATH/name.rules

Se trata de las sentencias que incluyen las diferentes librerías de reglas. Las que

tienen el símbolo “#” delante son las que están comentadas, si se quiere que se

incluyan, solamente hay que quitarle el símbolo “#” de delante. Por ahora se les

quitará el símbolo “#” a todas.

185

3. Configuración de accesos a ficheros.

Solamente quedan por modificar las librerías dinámicas para acceso al análisis de

las reglas. Snort fue inicialmente desarrollado para Linux, de modo que, aunque la

versión anuncia un programa para Windows, se encuentran aun algunos partes del

código para la plataforma Linux. Por lo que existe un error en el código fuente, y

este reside en las rutas de acceso a dos directorios necesarios para la ejecución del

programa, pues estas se encuentran definidas de la forma en que es propia en

Linux, si no se corrige esto se genera un error a la hora de ejecutar el programa.

Para solucionar este problema es necesario cambiar las siguientes líneas de código

dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/ por

dynamicpreprocessor directory c:\snort\lib\snort_dynamicpreprocessor y

dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so por dynamicengine

c:\snort\lib\snort_dynamicengine\sf_engine.dll

Además se recomienda eliminar el archivo SF_SDF.DLL de la siguiente ruta

C:\snort\lib\snort_dynamicpreprocessor, debido a que este archivo resulta

incompatible con las configuraciones hechas hasta ahora, caso contrario causara

conflictos cuando se levanten los servicios de Snort.

Ahora ya se puede realizar una prueba; primero se recomienda iniciar la maquina

virtual que posee como GuestOS a Windows XP. Con toda la configuración realizada

anteriormente en el fichero snort.conf, ya se puede probar Snort desde una ventana de

186

comando; para ello una vez ubicado en el directorio C:\Snort\bin hay que escribir la

siguiente línea:

Snort –dev –c C:\Snort\etc\snort.conf –l C:\Snort\log –i3

Con esto se comenzará a ver el tráfico que circula por el host determinado en la

configuración. Si buscamos en el directorio C:\Snort\log, podemos ver como en el

fichero alert.ids (Se puede ver su contenido a través de Worpad) se han ido

almacenando las alertas que los ficheros de reglas tienen reconocidas como tráfico del

que deben de alertar. Las opciones que se han pasado en la línea de comandos a Snort

son:

-d: visualizar los campos de datos que pasan por la interface de red.

-e: Snort nos mostrará información más detallada.

-v: Iniciamos Snort en modo sniffer visualizando en pantalla las cabeceras de los

paquetes TCP/IP.

-c: Directorio del archivo que utilizará Snort como fichero de configuración.

-l: Directorio donde guardar las alertas y logs.

-i: Interfaz que monitorizaremos.

Para saber la interfaz que se desea monitorizar, se ejecuta en una ventana de comando

una vez ubicado en el directorio C:\Snort\bin la línea Snort –W, lo que dará un

listado de números y descripciones de las posibles interfaces. Puesto que VMware

genera dos adaptadores virtuales, en este caso aparecieron tres interfaces: los dos

adaptadores generados por VMware y el adaptador de la máquina real.

187

Para determinar cuál de las interfaces era necesaria asociar a Snort, se hizo uso de la

opción que da Snort para la creación de reglas. Por lo cual fue necesario crear una

regla que alertase de los ping hechos desde otro host hacia la máquina que se pretende

monitorizar y viceversa; de este modo, se probó a iniciar Snort con cada una de las

interfaces mostradas por el comando Snort -W y hacer ping desde otro host, y así

obtener la interfaz que detectase la alerta y, por tanto, la adecuada. Pero para ello, es

necesario conocer un poco más acerca de la configuración de reglas para Snort, y

poder desarrollar la regla para los ping.

Creación De Reglas En Snort

La definición de reglas convierte a Snort en una herramienta muy potente a la hora de

detectar intrusiones, por lo que resulta muy interesante el análisis de su creación.

Snort utiliza un lenguaje simple para la definición de las reglas. La mayoría de las

reglas están escritas en una sola línea. A continuación se describen los pasos que hay

que seguir para crear un fichero con reglas nuevas que se quieran utilizar.

El primer paso es crear el fichero “.rules” (se ha usado el nombre misReglas.rules),

en el que se debe introducir las reglas que se requieran, este fichero estará alojado en

la carpeta rules que se encuentra en el directorio raíz de Snort (c:\Snort\rules). Una

vez creado, hay que abrir al fichero de configuración snort.conf (c:\Snort\etc) y

después de la inclusión de los ficheros de reglas que nos proporciona Snort, hay que

introducir una sentencia del tipo:

include <fichero de reglas>

188

Que en caso será:

include $RULE_PATH/misReglas.rules

Con esta sentencia se le dice a Snort que cuando arranque, introduzca las reglas del

fichero misReglas.rules en su base de datos de reglas.

Lo que hay que hacer a continuación es acceder al fichero en el que se clasifican y se

priorizan las reglas, en el cual, se introducirá el nuevo tipo del conjunto de reglas que

se va a crear y le asignara prioridad. Este fichero se llama classification.config y se

encuentra en la carpeta etc (c:\Snort\etc), la misma que el fichero de configuración de

Snort. Como se puede observar, las diferentes clasificaciones de reglas tienen el

siguiente patrón:

config <directiva>: nombre, descripción, prioridad

Se creará una clasificación (directiva classification) de reglas que se la llamará user-

rules, cuya descripción será “tráfico que nos interesa”, y la prioridad será 5. Para

crearla, se introduce la siguiente línea en el fichero:

config classification: user-rules, Trafico que nos interesa, 5

Una vez que se ha realizado esto, solamente queda comenzar a crear las reglas que se

necesiten. Es importante comentar que para la creación de reglas se necesita unos

pequeños conocimientos sobre protocolos, como pueden ser ICMP, TCP.

Ahora se procede a crear una regla muy simple, que va a alertar de los ping que se

realizan desde la máquina que se pretende monitorizar de nuestra red hacia el exterior

y viceversa.

189

Se comienza abriendo el fichero misReglas.rules que se ha creado anteriormente, y se

debe introducir las reglas. Las reglas en Snort se componen de dos partes, la cabecera

y las opciones, teniendo la siguiente forma:

<cabecera> (<opciones>)

Cabecera:

Las cabeceras tienen el siguiente formato:

<acción> <protocolo> <redFuente con máscara> <puerto> --> <redDestino

con máscara> <puerto>

La acción que se va a crear es una acción del tipo alert.

El protocolo será ICMP.

La red fuente será la variable $HOME_NET que se modifico en el fichero de

configuración anteriormente, que tiene incluida la máscara de red.

El puerto será any, refiriéndonos a todos los puertos.

Como red destino se pone $EXTERNAL_NET, una red externa

De nuevo se toma como puerto a any

Opciones:

Una vez creada la cabecera, se pasa a rellenar las opciones. Existe un gran número

de opciones, pero aquí sólo se comentarán algunas de las más importantes:

msg: Escribe un mensaje de alerta.

itype: tipo ICMP.

icode: código ICMP.

190

flags: flags TCP (A, S, F, U, R y P).

sid: ID de la regla.

classtype: tipo de la regla, (el tipo creado en el fichero classification.config).

content: buscan un patrón en el contenido de los datos del paquete.

rev: número de revisión de la regla.

Las opciones que se utilizarán para la regla ping que se desea crear serán msg,

itype, icode, sid, rev y classtype. El código de un ping en el protocolo ICMP es 0,

y el tipo es 8, con lo cual el campo icode tendrá el valor 0 y el itype el 8.

Para finalizar se debe introducir la regla en el fichero misReglas.rules. La regla

será la siguiente:

alert icmp $HOME_NET any -> $EXTERNAL_NET any (msg:"PING que

se lanza desde mi máquina"; icode:0; itype:8; sid:10000;classtype:user-rules;

rev:0;)

Cuando ya se haya creado la regla, se ejecuta Snort con cada una de las interfaces, se

hace un ping desde la máquina y se comprueba si se ha capturado la alarma en el

fichero alert.ids.

C:\Snort\bin> snort -dev -c c:\Snort\etc\snort.conf -l C:\Snort\log –i3

Con todo esto, se obtuvo como resultado que la interfaz adecuada para la asociación

con Snort era la del adaptador de la máquina real (adaptador numero 3). Y así se

finaliza con la configuración de Snort.

191

Instalación y Configuración de la Dase de Datos MySQL.

Snort ofrece capacidades de almacenamiento de sus bitácoras tanto en archivos de

texto como en bases de datos de libre distribución. En este caso, se hará uso de la

base de datos MySQL, un sistema de gestión de base de datos relacional, multihilo y

multiusuario.

Lo primero que se debe hacer es descargar el driver ODBC debido a los problemas de

compatibilidad que se pueden encontrar, el nombre del archivo es Connector-ODBC

Versión 3.51.27. En la página oficial de este driver se pueden encontrar descargas

para las diferentes plataformas como Windows, Linux, Unix, Sun Solaris, Mac OS X

entre otras. Para este caso se eligió la plataforma Windows el nombre de la descarga

para esta plataforma es Windows (x86, 32-bit), MSI Installer Connector-ODBC, el

cual se encuentra en la siguiente dirección web:

http://dev.mysql.com/downloads/connector/odbc/3.51.html

Se procede a instalar el driver descargado haciendo uso del asistente de instalación.

Cuando haya finalizado la instalación de este driver se puede continuar con la

instalación de MySQL. Se descarga la base de datos de la página oficial de MySQL:

http://dev.mysql.com/downloads/mysql/

Aquí aparecerán varias versiones del instalador de la base de datos, en este caso se

eligió la versión para Windows de 32 bits, Windows (x86, 32-bit), MSI Installer

que es compatible con el HostOS que posee la maquina física Windows 7 Ultimate

Edition. Una vez descargado hay que proceder a ejecutar el instalador y aparecerá el

asistente de instalación.

192

Ilustración 47. MySQL: Asistente de instalación de MySQL.

En la siguiente ventana se elige el tipo de instalación. Para este caso se escogió la

opción Típica.

Ilustración 48. MySQL: Tipo de instalación MySQL.

Aparecen las carpetas y directorios que se van a crear durante el proceso de

instalación.

193

Ilustración 49. MySQL: Carpetas y Directorios de MySQL.

Después aparecerá el asistente de configuración de MySQL, nos muestra dos

opciones marcadas, la primera indica que se desea configurar MySQL ahora, esta

opción la dejamos marcada; y la segunda indica si se desea registrar a MySQL, por el

momento no se desea registrar así que desmarcamos esta opción.

Ilustración 50. MySQL: Asistente de configuración de MySQL.

Se muestra una ventana de donde se especifica qué tipo de configuración se va a

aplicar, se eligió la opción Configuración Detallada.

194

Ilustración 51. MySQL: Tipo de configuración de MySQL.

Dependiendo del uso que se quiera dar al equipo en el que se instala marcaremos una

de las tres opciones:

Developer Machine: marcaremos esta opción si en el equipo donde hemos

instalado MySQL Server se utiliza también para otras aplicaciones. MySQL

Server utilizará la memoria mínima necesaria.

Server Machine: marcaremos esta opción si vamos a utilizar el equipo para

algunas aplicaciones (no demasiadas). Con esta opción MySQL Server

utilizará un nivel medio de memoria.

Dedicated MySQL Server Machine: marcaremos esta opción sólo si

queremos utilizar el equipo como un servidor dedicado exclusivamente a

MySQL. Con esta opción MySQL Server utilizará el máximo de memoria

disponible. Se obtendrá un rendimiento elevado pero el equipo sólo servirá

para MySQL.

195

En este caso se marca Developer Machine.

Ilustración 52. MySQL: Instancia de MySQL.

Se debe elegir el uso que se le dará a la base datos, aquí se marco la opción Base de

datos multifuncional.

Ilustración 53. MySQL: Uso de la base de datos.

Seleccionar la unidad y la carpeta donde queramos guardar los ficheros de datos

(Tablespace) de la Base de Datos.

196

Ilustración 54. MySQL: Unidad de destino y carpetas de los ficheros de datos.

Ahora hay que determinar el número aproximado de conexiones concurrentes (varios

clientes conectados a la vez) que tendrá el servidor de MySQL. La primera opción

asume unas 20, la segunda unas 500 y la tercera permite especificarlas manualmente.

Este parámetro es aproximado no tiene por qué ser exacto:

Ilustración 55. MySQL: Número de conexiones concurrentes.

Se recomienda dejar marcadas las opciones "Enable TCP/IP Networking" si

queremos que los clientes se puedan conectar mediante TCP/IP al equipo servidor de

MySQL. Podremos cambiar el puerto por el que lo harán, por defecto se suele dejar

3306 (si tenemos instalado algún firewall deberemos abrir dicho puerto) y también

197

“Enable Strict Mode” para que la base de datos se comporte de a manera de una base

de datos tradicional.

Ilustración 56. MySQL: Opciones de red.

Seleccionar el juego de caracteres que se quiere utilizar, por defecto está marcado la

primera opción.

Ilustración 57. MySQL: Juego de caracteres.

El siguiente paso es importante pues nos pide que especifiquemos el tipo de

iniciación de los servicios de MySQL Server. Si seleccionamos la primera opción

“Install As Windows Service” el programa de instalación nos creará un Servicio que

será el encargado de ejecutar MySQL Server, también nos permite especificar el

198

nombre del servicio y si queremos que arranque automáticamente al iniciar el sistema

“Launch the MySQL Server automatically”. La segunda opción “Include Bin

Directory in Windows PATH” añadirá las variables de entorno necesarias para la

ejecución de los ficheros necesarios para iniciar MySQL. La opción recomendada es

“Install As Windows Service”.

Ilustración 58. MySQL: Tipo de Arranque de MySQL.

Introducir la contraseña para el usuario administrador (root) y marcar la opción

“Enable root access from remote machines” si se quiere que se pueda acceder como

administrador desde otros equipos aunque este no es el caso.

Ilustración 59. MySQL: Contraseña del administrador de la base de datos.

Por último pulsar en “Execute” para finalizar la configuración de MySQL.

199

Ilustración 60. MySQL: Ejecuta las configuraciones para MySQL.

Si no hay problemas mostrará esta ventana indicando que el proceso de instalación y

configuración de MySQL Server ha terminado y se ha instalado e iniciado el Servicio

que ejecutará MySQL:

Ilustración 61. MySQL: Ventana de confirmación de MySQL.

Una vez instalado MySQL, tenemos que crear la base de datos sobre la que se

trabajará. Para ello accedemos como root a la base de datos. Esto se hace desde la

carpeta bin del directorio raíz de MySQL mediante una ventana de comando:

C:\program files\MySQL\MySQL server 5.1\bin> mysql -u root –p

Describiendo la línea de comando anterior:

200

-u: nombre de usuario en este caso (root).

-p: contraseña del usuario root.

Una vez hecho esto, nos pedirá la clave del root. Acto seguido, tenemos que crear la

base de datos:

create database snort;

A continuación, se han de crear las tablas con las que trabajará Snort. Para ello se

necesita un fichero llamado create_MySQL. Este fichero contiene un script de

creación de las tablas que usara Snort para almacenar las alertas, se lo puede consultar

en los Anexos de esta investigación, aunque también se encuentra en el directorio de

Snort (C:\Snort\schemas). Snort trae por default estos scripts de creación de tablas

para diferentes Bases de Datos (Postgres, MySQL, DB2, Oracle, MsSQL), pero para

este caso se usara el script de MySQL. Se debe modificar una línea de este fichero de

creación de las tablas, debido a que, si no, sería imposible almacenar las alarmas que

crea un escaneo de puertos, ya que no pertenece a ninguna clase de reglas. La línea es

una de las pertenecientes a la creación de la tabla signature (línea 25):

sig_class_id INT UNSIGNED NOT NULL,

A la cual hay que cambiarla de la siguiente manera:

sig_class_id INT UNSIGNED,

Una vez hecho esto, desde la línea de comando nos ubicamos en el directorio de

MySQL (C:\program files\MySQL\MySQL server 5.1\bin) y se ejecuta la siguiente

línea:

201

mysql -u root -p -D snort < c:\Snort\schemas\create_mysql

Nos pedirá la clave del root, y se crearan las tablas necesarias.

Ahora tenemos que darle permisos al usuario con el que se modificará la base de

datos Snort de la siguiente manera (dentro de MySQL, habiendo accedido con el

root); lanzamos la sentencia GRANT, indicando los permisos que otorgamos, la base

de datos y los objetos de la misma sobre los que estamos asignando privilegios, el

nombre del usuario y el password, la sentencia queda de esta forma:

mysql> Grant INSERT,SELECT,UPDATE,CREATE,DELETE on snort.* TO

„gustavo‟@‟localhost‟ identified by 'gustavo';

En esta línea permitimos al usuario „gustavo‟, seleccionar (SELECT), insertar

(INSERT), actualizar (UPDATE), crear (CREATE) y borrar (DELETE) en todos los

objetos (*) de la base de datos Snort, además indicamos que el contexto sea la

máquina local de la base de datos (localhost), lo que impedirá que el usuario se

conecte desde otras máquinas, y finalmente asignamos un password mediante la

sentencia IDENTIFIED BY.

Se sale de MySQL (quit) y se accede con el usuario creado directamente a la base de

datos Snort:

mysql -u gustavo -D snort –p

De nuevo, pedirá la clave. Una vez dentro, se comprueba que se han creado todas las

tablas mediante la sentencia:

show tables;

202

En la figura se muestra el resultado de este comando una vez creadas las tablas que

posteriormente se utilizaran para la gestión de las alertas lanzadas por Snort.

Ilustración 62. MySQL: Tablas de la base de datos Snort.

Ahora hay que proceder a modificar el fichero snort.conf para que Snort interactúe

con MySQL, para lo que se descomenta la línea (se elimina el carácter „#‟):

#output database: log, <db_type>, user=<username> password=<password> test

dbname=<name> host=<hostname>

Y se introducen los valores de usuario, clave, nombre de la base de datos y Host,

puerto quedando de esta manera:

output database: log, mysql, user=gustavo password=gustavo dbname=snort

host=localhost port=3306 sensor_name=snort_sensor

Una vez realizados estos cambios, tan sólo queda comprobar que se ha procedido

adecuadamente, para lo que se enciende la maquina virtual con el GuestOS Windows

Xp, se levantan los servicios de Snort tal y como se ha hecho anteriormente:

C:\Snort\bin> snort -dev -c c:\Snort\etc\snort.conf -l C:\Snort\log –i3

Si hasta este punto se ha configurado bien todo, los servicios de Snort se levantaran

sin ningún problema. Se realiza alguna acción para que se creen alertas (por ejemplo,

203

se hace un ping desde otro host hacia la máquina con el GuestOS Windows Xp

aprovechando la regla que se creó para distinguir las interfaces):

Ping 192.168.0.104

Y accedemos a la base de datos Snort con el usuario que se creó:

C:\program files\MySQL\MySQL server 5.1\bin> mysql -u gustavo -D snort –p

Ejecutando a continuación en el directorio la siguiente sentencia donde muestra el

contenido de la tabla Event que es donde Snort almacena las alertas detectadas:

mysql> select * from event;

De este modo, se pueden ver, si todo ha sido correcto y si las alarmas que se han

producido se han almacenado en la base de datos creada.

Ilustración 63. MySQL: Contenido de la Tabla Event.

204

ACID (Analysis Console for Intrusion Databases/Consola de Análisis para Bases

de Datos de Intrusiones).

Una vez que se ha instalado y configurado el detector de intrusos Snort, y la forma de

cómo asociarlo a una base de datos, en la que se almacenara la información que sea

detectada. Hay que buscar la manera de mostrar dicha información debido a que esta

es muy abundante y si no se la trata de forma adecuada, es como si no se tuviera

nada.

La información que se encuentra almacenada en la base de datos es extensa y para

proceder a revisarla, se ha de acceder por medio de líneas de comando y sentencias

SQL lo cual llega a ser muy engorroso.

Así pues, se necesita de una herramienta que permita visualizar, trate los logs, haga

un resumen de la información y presente los resultados de una forma clara y fácil de

entender; de modo que sea sencillo para el usuario el darse cuenta si ha ocurrido o

está ocurriendo algo. Para realizar este fin, se ha tomado en consideración una

herramienta llamada ACID (Analysis Console for Intrusion Databases/Consola de

Análisis para Bases de Datos de Intrusiones).

ACID es un motor de análisis basado en el lenguaje de programación PHP, que

permite buscar y procesar una base de datos que registre eventos de seguridad

generados por varios IDS, firewalls y herramientas de monitoreo de red. Las

características que incluyen actualmente son:

205

Creador de Query y una interfaz de búsqueda, para encontrar alertas en

coincidencia con los metadatos (ejemplo, firmas, tiempo de detección), así como

pruebas de redes subyacentes.

Visor de paquetes (decodificador), muestra gráficamente los paquetes de

información de alertas de registro de las capas 3 y 4 (OSI)

Gestión de alertas, proporcionando lógicamente la construcción de grupos de

alertas de incidentes, eliminando los falsos positivos.

Cuadro y generación de estadísticas, basadas en tiempo, firmas, protocolos,

dirección IP, puertos TCP/UDP.

Instalación y Configuración de ACID y sus Complementos

ACID es un sistema basado en Web, creado con el lenguaje de programación PHP,

por lo que necesita de un servidor capaz de interpretar PHP, tener instalado PHP y

varias herramientas que permitan su ejecución. Para el caso del servidor, se optó por

Apache, debido a que es un producto de libre distribución y también por la

compatibilidad con varias de las herramientas que se usaron en el desarrollo del

prototipo.

206

Instalación de PHP.

Habrá que descargar desde el sitio web oficial de PHP:

http://www.php.net

En la sección “downloads” los binarios de Windows correspondientes al paquete

comprimido, en este caso, la versión 5.2.14

En esta página se encontraran dos versiones de ese mismo archivo: un zip y un

installer. Son varios los artículos y foros que recomendaban la descarga del archivo

zip, de modo que se descargó esta versión y se descomprimió en una carpeta creada

previamente en el directorio C:\php. Una vez descomprimido en el directorio

mencionado, dentro de esta carpeta encontraremos un archivo llamado “php.ini-

recomended”, y es el que se utilizará para la configuración de PHP.

Antes de realizar cualquier cambio al fichero es recomendable que se haga una copia

del mismo en cualquier otro lugar para trabajar con esta copia. Este fichero se abre

con un editor de texto y hay que llevar a cabo las siguientes modificaciones:

1. Especificar la ruta donde se guardan las extensiones de PHP (que dan soporte a

MySQL).

extension_dir = "C:\php\ext\"

2. Habilitar el soporte de MySQL descomentando las extensiones (quitando el

carácter „;‟) las siguientes líneas:

extension=php_mysql.dll

extension=php_mysqli.dll

207

3. Habilitar el modo de presentación grafico que usara ACID (quitando el carácter

„;‟ ) a la siguiente línea:

extension=php_gd2.dll

4. Modificar el tiempo máximo de ejecuciones por Script (esta en segundos).

max_execution_time = 60

5. Modificar el manejo de mensajes de errores para que únicamente muestre los

reportes de errores y no de avisos o advertencias.

error_reporting = E_ALL & ~E_NOTICE

Una vez hecho estos cambios se deben guardar el fichero con el nombre “php.ini”.

Se lo copia al directorio C:\php. Se recomienda reiniciar la máquina para que los

cambios surtan efecto.

Instalación de APACHE.

Hay que descargar el Web Server del sitio oficial de APACHE:

http://www.apache.org/

Ubicado en la sección “Apache Projects”, se encuentra el servidor HTTP se lo

selecciona y nos dirigirá para proceder a la descarga. El paquete de instalación del

servidor Web, en este caso es la versión 2.2.16-win32-x86-no_ssl.msi

208

Cuando se haya descargado hay que ejecutar el archivo, entonces aparecerá el

Asistente de instalación que nos guiara a través del proceso.

Ilustración 64. Apache: Asistente de instalación de APACHE.

En la siguiente ventana muestra el acuerdo de licencia, en la cual hay que aceptar los

términos del acuerdo.

Ilustración 65. Apache: Acuerdo de licencia de APACHE.

209

Ahora nos muestra algunas instrucciones sobre el servidor HTTP.

Ilustración 66. Apache: Instrucciones de APACHE.

A continuación habrá que ingresar cierta información para identificar nuestro servidor

HTTP.

Network Domain (Dominio de Red): localhost

Server Name (Nombre del Servidor): localhost

Administrator´s Email Address: gustavo@localhost

Seleccionar la opción For All Users, on Port 80, as a Service.

Ilustración 67. Apache: Información del servidor HTTP.

210

Elegir el tipo de instalación, para este caso se selecciona la opción Típica.

Ilustración 68. Apache: Tipo de instalación de APACHE.

Configurar la carpeta de destino, se dejo la que viene por defecto, recordar la ruta de

destino.

Ilustración 69. Apache: Carpeta de destino de archivos de APACHE.

211

Con esto y para finalizar se procede a la instalación del servidor HTTP.

Ilustración 70. Apache: Instalación de APACHE.

La última ventana muestra que la instalación ha concluido con éxito.

Ilustración 71. Apache: Finaliza la instalación APACHE.

212

Ahora veremos un icono (el de Apache Web Server) en la bandeja del sistema. Este

es el Monitor de Servicio de Apache (Apache Service Monitor), con el cual podemos

detener, iniciar o reiniciar los servicios de Apache.

Ilustración 72. Apache: Icono del monitor de APACHE.

Como se puede observar Apache está ejecutándose bajo Windows 7, como un

servicio más, y para comprobarlo abrimos una ventana del Web Browser (Internet

Explore) y escribimos en la barra de direcciones lo siguiente:

http://localhost

Con lo que se mostrara una ventana como esta.

Ilustración 73. Apache: Los servicios de APACHE están ejecutándose sin ningún problema.

213

Ahora que ha finalizado la instalación del servidor Apache con éxito a continuación,

se procede a la configuración de PHP como módulo de Apache Web Server (integrar

PHP con APACHE), para lo que se edita el archivo de configuración “httpd.conf” de

Apache Web Server ubicado en la ruta (C:\Program Files\Apache Software

Foundation\Apache2.2\conf), Para realizar estos cambios se recomienda detener los

servicios de nuestro servidor Apache Web Server desde el Monitor de Servicios

Apache. Cuando ya se hayan detenido los servicios hay que proceder a hacer las

siguientes modificaciones:

1. Agregar la ubicación del archivo php.ini y el módulo de PHP para Apache en la

sección LoadModule del archivo de configuración de Apache. Ubicar después del

ejemplo:

# Example:

# LoadModule foo_module modules/mod_foo.so

#

PHPIniDir "C:/php"

LoadModule php5_module "C:/php/php5apache2_2.dll"

2. Agregar el MIME correspondiente a los archivos de PHP al final de la carga del

módulo mime_module.

<IfModule mime_module>

.

AddType application/x-httpd-php .php

</IfModule>

214

Se guardan todos los cambios realizados en el archivo de configuración de Apache

Web Server, una recomendación es que reinicie la máquina para que los cambios

surtan efecto.

Realizando Pruebas De Conexión

Conexión entre PHP y APACHE

Ahora se procederá realizar una prueba para verificar si estas dos herramientas están

trabajando en conjunto. Para esto vamos a crear un archivo llamado “info.php”,

mediante un editor de texto, al cual le añadiremos las siguientes líneas de código

PHP:

<?php

phpinfo();

?>

Se guardan los cambios en el archivo, y se lo copia al directorio donde se encuentra la

carpeta “htcdocs” de Apache Web Server (C:\Program Files\Apache Software

Foundation\Apache2.2\htdocs).

Abrir una ventana del Web Browser Internet Explorer y en la barra de direcciones

escribir lo siguiente http://localhost/info.php o http://192.168.0.102/info.php en

ambos casos debe aparecer una ventana muy parecida a la que muestra la Ilustración

75.

215

Ilustración 74. Apache: Comprueba que Apache y PHP están integrados.

Demostrando así que la conexión entre PHP y Apache se ha realizado con éxito, caso

contrario se recomienda verificar las configuraciones.

La dirección IP en este caso, es la que se le asigno a la maquina física (HostOS

Windows 7 Ultimate), así que es recomendable usar la dirección IP que posea el

sistema donde se vaya a implementar esta herramienta.

Conexión entre PHP con MySQL.

Ahora hay que realizar la configuración para que PHP trabaje con la base de datos

MySQL.

Para esto, en la carpeta ubicada en (C:\php) se encuentra un archivo llamado

“libmysql.dll”, este archivo se lo copia a la siguiente ruta (C:\Windows\System32).

Hay que asegurarse de no sobrescribir cualquier archivo ya existente en esa carpeta.

216

En caso de que ya exista otro con el mismo nombre se recomienda renombrar dicho

archivo y luego proceder a copiar el nuevo.

Para comprobar la conexión entre PHP y MySQL se procede a crear un Script simple

que llamaremos “testmysql.php”, en el cual se debe añadir las líneas de código PHP

que se detallan a continuación. Para el caso del presente estudio quedo de la siguiente

manera, recordando que hay que cambiar el nombre del servidor (localhost), nombre

de usuario administrador de la base de datos (root) y la clave (gustavo).

<?PHP

//recuerde cambiar el password que configuró

//para conectarse a la base de datos MySQL como root

//first parameter is server name, 2nd username 'root', 3rd is password

$rst = @mysql_connect("localhost","root","gustavo");

if (!$rst){

echo( "<p>Unable to connect to database manager.</p>");

die('Could not connect: ' . mysql_error());

exit();

} else {

echo("<p>Successfully Connected to MySQL Database Manager!</p>");

}

if (! @mysql_select_db("mysql") ){

echo( "<p>Unable to connect database...</p>");

exit();

} else {

echo("<p>Successfully Connected to Database 'MYSQL'!</p>");

}

?>

217

Cuando ya se tenga creado el Script “testmysql.php” lo copiamos a la siguiente ruta

(C:\Program Files\Apache Software Foundation\Apache2.2\htdocs), y procedemos a

ejecutarlo abriendo una ventana de Internet Explorer y escribiendo lo siguiente en la

barra de direcciones, http://localhost/testmysql.php y debe mostrara una ventana

como la de la Ilustración 76, en la cual se expone que la conexión se ha realizado con

éxito (Successfully Connected to MySQL Database Manager! Successfully Connected

to Database 'MYSQL'!)

Ilustración 75. Apache Conexión entre PHP y MySQL realizada con éxito.

218

Instalación de ACID.

Sólo queda configurar ACID, para lo que, en primer lugar, hay que descargar dos

ficheros:

Adodb: http://sourceforge.net/projects/adodb/

PHPlot: http://sourceforge.net/projects/phplot/

Los archivos se descomprimen en el directorio raíz de Snort (C:\Snort) y se

recomienda cambiar el nombre de las carpetas dejándolas como “adodb y phplot”.

Para instalar ACID, hay que proceder a descargarlo, la versión que se uso es la

0.9.6b23.

http://acidlab.sourceforge.net/

Se descomprime el archivo en una carpeta que se llame “Acid” en el directorio raíz

del servidor web, que en este caso por haber instalado Apache es:

C:\Program Files\Apache Software Foundation\Apache2.2\htdocs

Ahora se comienza a modificar las siguientes líneas del fichero “acid_conf.php”, que

hacen referencia a los valores de configuración de host, conexión, base de datos y

contraseñas, este fichero se encuentra en la misma carpeta Acid que se creó para

descomprimirlo:

$DBlib_path = "C:\Snort\adodb";

/* Alert DB connection parameters

* - $alert_dbname : MySQL database name of Snort alert DB

* - $alert_host : host on which the DB is stored

219

* - $alert_port : port on which to access the DB

* - $alert_user : login to the database with this user, usuario que tiene

permisos para conectarse a la base de datos de Snort

* - $alert_password : password of the DB user, clave del usuario

*

* This information can be gleaned from the Snort database

* output plugin configuration.

*/

$alert_dbname= "snort";

$alert_host = "localhost";

$alert_port = "3306";

$alert_user = "gustavo";

$alert_password = "gustavo";

ACID crea tablas adicionales para que el usuario pueda archivar alertas importantes.

Se puede indicar otro usuario para acceder a ellas modificando los siguientes valores

del fichero:

/* Archive DB connection parameters */

$archive_dbname = "snort_archive";

$archive_host = "localhost";

$archive_port = "";

$archive_user = "user_archive";

$archive_password = "123456";

220

Con esto ya tenemos instalado ACID, es recomendable reiniciar todos los servicios.

Ahora para probarlo hay que abrir una ventana del navegador (Internet Explorer) y en

la barra de direcciones escribimos http://localhost/acid/acid_main.php, y nos

aparecerá una ventana como la que muestra la ilustración 76

Ilustración 76. ACID: Ejecución de ACID.

La primera vez que se accede a ACID muestra un error, debido a que todavía no se

han crea las nuevas tablas de almacenamiento para las Alert Group. Para proceder a

crear estas tablas se debe seleccionar la opción Select Setup Page, que mostrara una

ventana como la de la Ilustración 77.

221

Ilustración 77. ACID: Ventana de creación de las tablas de ACID.

Aquí se deberían crear las tablas ACID al que pulsar el botón Create ACID AG, pero

existe una incompatibilidad entre PHP 5 y el código php de ACID. Para corregir esta

incompatibilidad hay que llevar a cabo ciertos cambios en el código fuente de ACID.

Cambiando Código Fuente de ACID.

Para que las tablas de ACID puedan crearse sin ningún problema y que la consola de

este programa funcione; primero hay realizar algunos cambios en ACID para que este

sea compatible con los elementos instalados hasta ahora y sobre todo que el código

fuente usa dos funciones $HTTP_POST_VARS y $HTTP_GET_VARS que, para las

últimas versiones de PHP han cambiado con el nombre de $_POST y $_GET. Debido

esto, las variables no son reconocidas y algunos botones y enlaces no funcionan, por

lo que es necesario cambiar en el código fuente, en donde se hallen presentes las

funciones antiguas mencionados y proceder a cambiarlas por la nuevas funciones.

222

Los archivos sobre los cuales hay que trabajar para realizar las modificaciones son los

siguientes:

acid_log_error.inc

acid_state_common.inc

acid_state_criteria.inc

Estos archivos se encuentran en el directorio de ACID (C:\Program Files\Apache

Software Foundation\Apache2.2\htdocs\acid). Para más detalles, el código fuente de

estos archivos se encuentra en la sección Anexos.

Además hay que corregir otro error que se encuentra en el fichero “acid_db.inc”. En

él hay que cambiar las líneas de código 84 y 153 por las siguientes:

84: $sql = "SELECT vseq FROM `schema`";

153: $sql = "SELECT vseq FROM `schema`";

Pues de lo contrario se producir un error en la columna Signature de la base de datos

de ACID, que en vez de mostrar la descripción de la alerta muestra sólo una

numeración.

Cuando se hagan todos los cambios señalados anteriormente hay que reiniciar todos

los servicios para ejecutar nuevamente ACID en una ventana de Internet Explorer y

presionar el botón Create ACID AG, al hacerlo aparecerá una ventana como la que

muestra la Ilustración 78, donde se confirma la creación de las tablas de ACID.

223

Ilustración 78. ACID: Ventana que confirma la creación de las tablas de ACID.

Al ingresar otra vez a ACID y si Snort ha registrado movimientos en la red

almacenándolos en MySQL, se mostrara la ventana de Inicio de ACID con un

resumen de la actividad en la red.

Ilustración 79. ACID: Página de inicio de ACID.

224

Con esto se ha conseguido una configuración completa y manejable de un IDS de red

basado en Snort. Así, se obtendrán un resumen general de los incidentes detectados

como lo muestra la Ilustración 79, en la que se aprecia el tipo de tráfico

intercambiado y sus proporciones.

También se puede ver una enumeración de todas las alertas (Ilustración 80), de las

que se puede obtener más información detallada (longitud del paquete, contenido de

datos, flags, opciones, etc) con un clic click (Ilustración…..).

Ilustración 80. ACID: Muestra las alertas lanzadas por Snort.

225

Ilustración 81. ACID: Muestra la información sobre un paquete.

226

DISEÑO DEL IDS DE HOST BASADO EN SEBEK

Definición

Un IDS de host (H-IDS) es un sistema de detección de intrusos instalado en el

propio host perteneciente a una red, que busca detectar anomalías que indiquen un

riesgo potencial, revisando las actividades en la máquina. Puede tomar medidas

protectoras, pero en este caso no serán de interés, pues lo que se pretende es

permitir el ataque para ser analizado. Existen múltiples aplicaciones aptas para

este cometido, pero fue Sebek (un programa de código abierto) la que se eligió,

debido a su gran potencial y funcionamiento.

Sebek (diseñado principalmente para Win32 y Linux) es una avanzada y compleja

herramienta de captura de datos, diseñada para detectar las actividades del

atacante en una Honeypot, sin que él pueda saberlo. Algunas características se

mencionan a continuación:

Tiene dos componentes. El primero es un cliente que se ejecuta en las

Honeypot, su propósito es capturar todas las actividades hechas por los

atacantes (pulsaciones de teclado, carga de archivos, contraseñas), entonces

secretamente se enviar los datos al servidor, Se puede decir que Sebek es

básicamente un KeyLogger, pero con características mucho más avanzadas y

orientadas al monitoreo.

227

El segundo componente es el servidor que recoge los datos de las Honeypot.

El servidor normalmente se ejecuta en la Honeywall Gateway, pero también

puede funcionar de forma independiente.

El objetivo principal de Sebek es capturar datos que ayuden a recrear de forma

fiable los eventos sucedidos dentro de un equipo trampa. De gran utilidad para

determinar cuándo consiguió entrar el intruso, cómo lo hizo y qué hizo

después de conseguir acceso.

La información obtenida puede permitir saber quién es el intruso, cuáles son

sus motivos y con qué trabaja. Para prescribir qué hizo el atacante después de

la intrusión, también se necesitan los datos que proporcionan las pulsaciones

de teclado del intruso y el impacto de su ataque.

Funcionamiento de Sebek.

Sebek se puede integrar en una Honeypot de Alta Interacción, permitiendo a los

administradores recopilar actividades tales como las pulsaciones de teclado en el

sistema, incluso en entornos de cifrado (Wesley, 2003).

Cuando no se usa cifrado, es posible monitorizar las pulsaciones de teclas de un

intruso capturando el tráfico en la red y luego usando una herramienta como

228

Whireshark(1)

(antes conocido como Ethereal) para reensamblar el flujo TCP y

examinar los contenidos de la sesión. Esta técnica no solo permite saber qué

escribió el intruso, sino también lo que vio como salida. Las técnicas de

reensamblado de flujo proporcionan un método casi ideal para capturar las

acciones de un intruso cuando la sesión no va cifrada.

Pero cuando la sesión va cifrada, el reensamblado deja los contenidos cifrados de

la sesión. Muchos han demostrado que este camino es demasiado difícil. En vez

de romper el cifrado de una sesión, otros han buscado formas de esquivar el

cifrado. La información cifrada debe ser descifrada en algún punto para poder

usarla. El proceso de esquivar el cifrado implica capturar los datos después del

descifrado. La idea es dejar que los mecanismos habituales de descifrado hagan su

trabajo, y entonces, conseguir acceso a estos datos no protegidos. Los primeros

intentos de esquivar el cifrado tomaron forma de binarios troyanizados. Cuando

un intruso entra en un equipo trampa, él o ella accederán a la máquina

comprometida usando aplicaciones de cifrado como SSH(2)

.

1 Antes conocido como Ethereal, es un analizador de protocolos, capturador de paquetes de red (llamado a veces,

Sniffer). Utilizado para realizar análisis y solucionar problemas en redes de comunicaciones para desarrollo de

software y protocolos. Permitirá ver, a un nivel bajo y detallado, qué está pasando en la red.

2 Secure SHell, en español: intérprete de órdenes segura, es el nombre de un protocolo y del programa que lo

implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la

computadora mediante un intérprete de comandos.

229

Para contrarrestar el peligro de los binarios troyanizados, los intrusos comenzaron

a instalar sus propios binarios. Pareció muy evidente que el método más robusto

para capturar datos, era acceder a los datos desde el núcleo del sistema operativo.

Cuando se capturan datos desde el núcleo, el intruso puede usar los binarios que

quiera, y aún así, será posible registrar sus acciones. Más aún cuando el espacio

de usuario y el espacio del núcleo están divididos, tenemos una forma simple de

hacer la técnica más óptima, ocultando las propias acciones de todos los usuarios,

incluso del root.

Las primeras versiones de Sebek fueron diseñadas para recolectar las pulsaciones

de teclas directamente desde el núcleo. Esas primeras versiones eran una versión

modificada del Rootkit Adore1, que utilizaba una llamada sys_read troyanizada

para capturar las pulsaciones de teclado. Este sistema registraba las pulsaciones en

un fichero oculto y las exportaba a través de la red de forma que pareciera un

tráfico UDP cualquiera, como NetBIOS(2)

. Este sistema permite a los usuarios

monitorizar pulsaciones de teclas del intruso, pero era complejo, fácil de detectar

a través del uso de sniffers y tenía un rendimiento limitado. Esta última cuestión

hacía más difícil recolectar otro tipo de datos que no fueran pulsaciones de teclas.

1 Un Rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a sí misma y esconder

otros programas, procesos, archivos, directorios, claves de registro, y puertos que permiten al intruso mantener

el acceso a un sistema para remotamente comandar acciones o extraer información sensible.

2 NetBIOS, "Network Basic Input/Output System", es una especificación de interfaz para acceso a servicios de

red, es decir, una capa de software desarrollado para enlazar un sistema operativo de red con hardware

específico.

230

La siguiente versión de Sebek, la versión 2, fue diseñada no sólo para recolectar

pulsaciones de teclas, sino para todos los datos que pasaran por sys_read.

Recolectando todos los datos, se extendió la capacidad de monitorización a toda

actividad dentro del equipo trampa incluyendo, aunque no limitándose a, las

pulsaciones de teclas. Si se copia un fichero al equipo trampa, Sebek verá y

registrará el fichero, obteniendo una copia idéntica. Si un intruso lanza un cliente

de IRC(1)

o de correo, Sebek verá sus mensajes. Un objetivo secundario fue hacer

a Sebek más difícil de detectar, ocultar el tráfico de los registros completamente

de un atacante. Así, cuando un intruso ejecuta un rastreador para detectar tráfico

sospechoso, es incapaz de detectar el tráfico perteneciente a Sebek.

Sebek no es sólo una alternativa al reensamblado de sesiones TCP, para usarse

solo de cara al cifrado, sino que también proporciona la habilidad de monitorizar

los trabajos internos del equipo trampa de forma transparente, en comparación

con otras técnicas de caja negra. Si un intruso instala un malware y sale del

sistema, con Sebek podemos seguir el rastro de las acciones locales del software

maligno aunque no acceda a la red.

1 IRC (Internet Relay Chat) es un protocolo de comunicación en tiempo real basado en texto, que permite

conversaciones entre dos o más personas. Se diferencia de la mensajería instantánea en que los usuarios no deben

acceder a establecer la comunicación de antemano, de tal forma que todos los usuarios que se encuentran en un

canal pueden comunicarse entre sí, aunque no hayan tenido ningún contacto anterior.

231

Sebek versión 3 amplía esta funcionalidad interceptando un nuevo conjunto de las

llamadas al sistema. Además, se recupera el identificador de proceso padre

(PPID). Esta versión de Sebek es capaz de recopilar información acerca de

cualquiera de las comunicaciones y de establecer su relación con el proceso

específico que se ejecuta en la Honeypot. Esta información también ayudará a

correlacionar datos de Sebek con el tráfico de la red de datos capturados por un

Sniffer, en este caso, Snort. Además, si una conexión de red se asocia a un intento

de intrusión, es posible determinar directamente el proceso en peligro. Así, se

pueden identificar todos los archivos visitados durante una intrusión.

Arquitectura de Sebek.

Sebek se basa en una arquitectura cliente-servidor. El cliente está instalado en la

máquina trampa y el servidor es típicamente desplegado en el Honeywall

Gateway, es decir, la puerta de enlace a través de la que pasa todo el tráfico de la

Honeypot (Wesley, 2003).

El cliente Sebek captura los datos del equipo trampa y los envía a través de la red

donde son recolectados por el servidor. El servidor Sebek, a nivel de usuario,

contiene herramientas que permiten recolectar y mostrar información capturada y

exportada por el cliente Sebek, esto lo hace de dos posibles fuentes: la primera es

capturando paquetes directamente de la red, y la segunda es a través de un archivo

de captura de tráfico.

232

La Ilustración 82 muestra la implementación típica de Sebek, en la que el módulo

cliente se instala en el equipo trampa. Las actividades del intruso capturadas por

el equipo trampa se envían a la red (de forma oculta al intruso) y son recolectadas

de forma pasiva por la pasarela Honeywall.

Ilustración 82. SEBEK: Arquitectura típica de Sebek.

Así, el cliente Sebek es capaz de obtener las pulsaciones de teclado introducidas

por el atacante en el señuelo, incluyendo los comandos ejecutados. Una vez se

han recolectado los datos, se almacenan en una base de datos relacional o se

extraen inmediatamente las pulsaciones de teclas. Las comunicaciones usadas por

Sebek están basadas en UDP por ser no orientadas a conexión fiables.

233

Con la explicación detallada anteriormente se puede proceder a la instalación de

la última versión de Sebek en la Honeypot (cliente Sebek para Windows), así

como la creación de una nueva máquina virtual que haga las veces de servidor (en

este caso Linux), recolectando toda la información enviada por la máquina

trampa. El modo más óptimo y efectivo es instalar el servidor e incluso Snort en

el Honeywall, en el caso del prototipo de Honeypot que se propone en esta tesis,

se hizo todo ello sobre una sola computadora, implementando el servidor en una

nueva máquina virtual; debido a que el Honeywall requiere de una nueva máquina

física y los recursos económicos para el desarrollo de este proyecto no lo

permitían. Así, la arquitectura que se empleará será como la que se muestra en la

Ilustración 83:

Ilustración 83. SEBEK: Implementación de Sebek para el prototipo de Honeypot.

234

INSTALACIÓN DE SEBEK

La instalación tanto del cliente como del servidor no conllevan demasiada

complejidad, pero sí es aconsejable llevar a cabo algunos ajustes que mejorarán el

rendimiento. Los archivos necesarios para la instalación en ambos sistemas se pueden

encontrar en las siguientes direcciones:

https://projects.honeynet.org/sebek/ (Cliente)

http://old.honeynet.org/tools/sebek/ (Servidor)

Instalación del Cliente Sebek

Para la instalación de Sebek sobre una plataforma Windows como cliente, se

descargo el archivo comprimido (.zip) de la dirección mencionada arriba de este

apartado. La versión que se utilizó fue Sebek-win32-3.0.5. Se descomprime el

archivo, deben copiarse los dos archivos ejecutables, Configuration Wizard.exe y

Setup.exe a la máquina virtual trampa (Windows Xp). Hay que ejecutar el archivo

Setup.exe.

Ilustración 84. SEBEK: Asistente de instalación de Sebek Setup.exe.

235

Ahora aparecerá el acuerdo de licencia y aceptamos los términos.

Ilustración 85. SEBEK: Acuerdo de licencia de Sebek.

El asistente Setup.exe instala el controlador en la ubicación estándar de Windows,

C:\WINDOWS\system32\drivers en Windows XP.

Ilustración 86. SEBEK: Carpeta de destino de Sebek.

Mostrará que el nombre del driver es Sebek, lo cual habrá que cambiar más

adelante, este cambio se hace como contramedida para evitar que el intruso se dé

236

cuenta de que esta en la Honeypot. Hay que recordar que se debe borrar todo

rastro que delate la Honeypot.

Ilustración 87. SEBEK: Instalación de Sebek.

La instalación de Sebek finaliza con éxito.

Ilustración 88. SEBEK: Fin de la instalación de Sebek.

237

Configuración del cliente Sebek

Ahora hay que configurar Sebek antes de reiniciar la máquina de lo contrario no

funcionará correctamente. Para esto hay que ejecutar el archivo Configuration

Wizard.exe. Nos muestra una ventana de bienvenida don se muestra un resumen

de lo que va a configurar.

Ilustración 89. SEBEK: Asistente de Configuración Sebek.

Elegir la ubicación del driver Sebek, por defecto se ubica en la ruta

C:\WINDOWS\system32\drivers\SEBEK.SYS.

Ilustración 90. SEBEK: Asistente de Configuración Sebek.

238

Ingresar la “Destination MAC”, “Destination IP” y “Destination Port”, se

recomienda dejar estas variables tal y como lo muestra el asistente.

Destination Mac: La dirección MAC de la Gateway de red, no se recomienda

ponerla debido a que esto pondría en riesgo la red.

Destination IP: Es la IP del Honewall Gateway, tampoco se recomienda

ponerla porque esto delataría el servidor.

Destination Port: El que nos muestra el asistente es el 1101, por donde el

cliente enviara al servidor (de manera oculta) todo tráfico que sea sospechoso.

Ilustración 91. SEBEK: Variables de Sebek.

239

El magic value ayudara a identificar la Honeypot y sus paquetes, se recomienda usar

el botón Random Value para asignar otro valor.

Ilustración 92. SEBEK: Magic Value Sebek.

Seleccionar el adaptador de Red.

Ilustración 93. SEBEK: Adaptador de red.

240

Especificar el nombre del programa que se usara para la configuración, también

es recomendable cambiarlo, en este caso será “HP” por Honeypot.

Ilustración 94. SEBEK: Nombre del programa de configuración.

Por último muestra un resumen de todo el proceso de configuración.

Ilustración 95. SEBEK: Resumen de la configuración.

Una buena práctica es la de no guardar una copia de los ficheros de configuración

de Sebek en la propia máquina trampa, una vez haya sido instalado.

Cuando el programa se ha instalado, es oculto y sólo puede ser visitado y

reconfigurado utilizando el ejecutable Configuration Wizard.exe pero con el

241

nombre que se indica en una variable definida durante la configuración del

mismo. Se recomienda cambiar el nombre por defecto de la herramienta

Configuration Wizard.exe que sirve para gestionar Sebek, y, por tanto, el nombre

de esta variable, a un valor no estándar. Para finalizar hay que reiniciar la

maquina virtual trampa.

Preparando Maquina Virtual Servidor Linux

Ya se definió que se va usar una maquina virtual que haga de servidor (Honeywall

Gateway), y el sistema operativo que se eligió para este fin, fue la distribución Linux

de Ubuntu versión 10.04 LTS Lucid Linx Desktop 32 bits, descargable de la

siguiente dirección:

http://ubuntu.com.es/descargas.html

Se eligió esta distribución de Linux, por la afinidad y experiencia que posee el autor

de la presente tesis con este sistema operativo, además que desde el punto de vista del

autor de esta investigación; Ubuntu ofrece muchas características y herramientas

fáciles de utilizar y entender para aquellos que se están iniciando en el uso de los

sistemas operativos Linux, es un sistema operativo estable. A más de eso Ubuntu

ofrece un entorno gráfico (GNOME/LINUX) amigable e intuitivo que facilitara la

administración de la Honeypot desde el servidor.

Posee un sistema de descarga de paquetes conocido como SYNAPTIC, que facilitará

la descarga e instalación de ciertos complementos que serán necesarios para la

instalación de Sebek como servidor.

242

Antes de proceder con la instalación de Sebek como servidor se ha considerado hacer

una breve reseña de cómo configurar ciertos elementos en el Servidor Linux para

prepararlo antes de la implementación de Sebek.

Configurar IP Fija

Se recomienda asignar una IP fija a todas las máquinas que forme parte de la

Honeypot, es así que con el servidor Linux también hay que hacer lo mismo, y

para esto se debe hacer lo siguiente:

En una ventana de Consola o Terminal y digitar la siguiente línea:

#sudo nano –w /etc/network/interfaces

Pedirá que ingrese el password del usuario administrador, a continuación se abrirá

un fichero en el que hay que cambiar lo que tiene escrito por estas líneas:

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.0.106

netmask 255.255.255.0

gateway 192.168.0.1

En este caso, el Gateway es la dirección IP del Router que por lo general suele

ser 192.168.0.1, aunque si se posee otra dirección pues habría que cambiar esta

243

línea. Cuando ya se haya configurado todo se pulsa CTRL+X, preguntara que si

se desean guardar los cambios, escogemos Si y presionamos la tecla enter y se

guardaran nuestros cambios.

Ademas hay que proceder configurar el DNS que se necesita para poder tener

acceso completo a la red, para esto en una Terminal digitar la siguiente linea:

sudo nano /etc/resolv.conf

Con lo que se abrira una ventana de editor donde se debe cambiar la siguiente

linea agregando la IP del DNS:

nameserver 192.168.0.1

Esta es la IP (del router) que viene configurada por default, pero si es necesario

hay que cambiarla para poder tener acceso completo a la red. Se guardan los

cambios.

Por ultimo reiniciamos la red:

sudo /etc/init.d/networking restart

Ahora solo resta hacer una prueba de conectividad, haciendo un PING desde la

maquina física con Windows 7 a la virtual con Ubuntu y viceversa.

Actualizar Ubuntu.

Antes que nada, es posible que durante la instalación de Sebek en Ubuntu se

presenten errores, pero esto ocurre porque se necesita actualizar Ubuntu con

ciertos paquetes. Para realizar esta actualización de manera segura, se procede a

abrir una Terminal y digitamos lo siguiente.

244

sudo aptitude update && sudo aptitude safe-upgrade

Se pide el ingreso del password del administrador, buscara las actualizaciones e

instalara, esto puede tardar cierto tiempo. Ahora se procede a descargar algunos

paquetes complementarios. Así mismo hay que abrir una Terminal y digitar las

líneas.

sudo apt-get install subversion

sudo apt-get install make gcc automake autoconf libc6-dev patch linux-headers-server

sudo apt-get install build-essential

Todo esto con la finalidad de evitar errores al tratar de compilar el paquete de

Sebek en Linux.

LIBPCAP

Aun falta un último componente y es la librería LIBPCAP, esta permitirá

capturar los paquetes que envía el Cliente Sebek hacia el Servidor, poniendo la

tarjeta de red en modo promiscuo; así que hay que descargar todos los

componentes de esta librería. Para esto se usara SYNAPTIC que es un gestor de

búsqueda de paquetes y se lo encuentra en “Sistema>Administracion>Gestor de

paquetes Synaptic”. Hay que realizar una búsqueda con la palabra Libpcap, donde

aparecerán algunos resultados pero las que se necesitan son las siguientes.

Libpcap0.8-dbg

Libpcap0.8-dev

Libpacp0.8

245

SAMBA

Samba es un software que permite al ordenador con Ubuntu poder compartir

archivos e impresoras con otras computadoras en una misma red local. Utiliza

para ello un protocolo conocido como SMB/CIFS compatible con sistemas

operativos UNIX o Linux, como Ubuntu, pero además con sistemas Windows (7,

Vista, XP, NT, 98...), OS/2 o incluso DOS. También se puede conocer como

LanManager o NetBIOS.

Para instalar este servicio es necesario abrir una ventana de Consola o Terminal y

digitar la siguiente línea:

sudo aptitude install samba samba-client smbfs smbclient

Inmediatamente empezara la descarga del paquete. Una vez instalado Samba, solo

resta poner a la maquina que tiene Ubuntu en el mismo grupo de trabajo de las

otras dos Máquinas (Windows 7 y Xp), para hacer esto hay abrir el fichero de

configuración escribiendo la siguiente línea en una ventana de Consola:

$sudo nano /etc/samba/smb.conf

Abierto el fichero, buscamos (CTRL+W) la línea que diga algo como:

workgroup = MSHOME

Y reemplazamos MSHOME por el nombre de nuestro grupo de trabajo, en este

caso EMPRESARIAL. Se pulsa CTRL+X, pedirá que si se desean guardar los

cambios, escogemos Si y presionamos la tecla enter y se guardaran nuestros

cambios. Ahora ya todas las máquinas (Windows 7, Xp y Ubuntu) pertenecen al

mismo grupo de trabajo.

246

Configuración del firewall en Ubuntu.

Tanto la máquina física HostOS Windows 7 y la máquina virtual que hace de

servidor GuestOS Linux deben poseer un firewall. Toda distribución Linux ofrece

un firewall muy potente, flexible, fácil de configurar y adaptar a las necesidades

de los usuarios.

Para este cometido se hará uso de IPTABLES, que permite crear reglas para

configurar un firewall que proteja nuestro servidor. En primer lugar hay que

descargar el paquete de IPTABLES si aun no se encuentra instalado. Para esto en

una Terminal digitar la siguiente línea:

sudo apt-get install iptables

Instalado IPTABLES, hay que proceder a crear nuestro firewall. El siguiente paso

es crear un Script en el escritorio de Ubuntu el cual llamaremos Firewall.sh, el

contenido de este fichero con respecto a las reglas del firewall dependerá del

administrador de la red y las necesidades que él tenga, pero para el caso del

desarrollo del Prototipo que se presenta en esta tesis; se creó un conjunto de

reglas que permite cerrar todos los puerto, excepto los que usa Sebek y también

aísla toda comunicación con la maquina trampa, restringiendo su acceso al

servidor. Para más detalles del contenido de este Script consultar la sección de

Anexos.

Una vez que se posea el Script configurado hay que darle permiso de ejecución de

la siguiente manera:

247

sudo chmod +x firewall.sh

Ejecutar el fichero usando la siguiente línea de comando:

sudo sh firewall.sh

Procedemos a comprobar la salida generado por IPTABLES usando la siguiente

línea:

sudo iptables -L

Comprobado el firewall si cumple con los requerimientos, el último paso sería

hacer que el Firewall se cargue al iniciar Ubuntu, y para esto hay que copiar el

fichero firewall.sh al directorio /etc/init.d/, en base a las siguientes líneas de

comando:

sudo cp firewall.sh /etc/init.d/

sudo update-rc.d firewall.sh defaults

Se debe reiniciar la máquina para que los cambios surtan efecto.

Con estas configuraciones, Ubuntu ya está listo para cumplir la función de Honeywall

Gateway con Sebek como Servidor.

Instalación del Servidor Sebek.

Primero hay proceder a descargar Sebek desde la dirección dada anteriormente, el

fichero se encuentra en formato .tar.gz, para este caso se usar la versión Sebekd-

3.0.3 que es la versión servidor para Linux.

http://old.honeynet.org/tools/sebek/

248

Hay que copiar el fichero descargado al escritorio de la Máquina Virtual GuestOS

Ubuntu y a continuación procedemos a descomprimirlo vía Terminal.

gustavo@servidor1:~/Escritorio$ tar xvzf sebekd-3.0.3.tar.gz

Ahora hay que compilar la carpeta descomprimida. Para esto nos dirigimos al

directorio donde está la carpeta y usamos el comando ./configure

gustavo@servidor1:~/Escritorio/sebekd-3.0.3$ ./configure

Una vez compilado y comprobado que no existan errores ni falta de alguna

librería o paquete, es momento de instalarlo.

gustavo@servidor1:~/Escritorio/sebekd-3.0.3$ make

gustavo@servidor1:~/Escritorio/sebekd-3.0.3$ sudo make install

Después de esto en el directorio /usr/local/bin/ aparecerán unos módulos que

serán los que usaremos para extraer la información. Algunos de estos módulos

son:

sbk_extract: Lo invocaremos para extraer la información, posee entre otros

los flags –i para identificar la interfaz y -p para identificar el puerto.

sbk_ks_log.pl: permite extraer las pulsaciones de teclado.

sbk_upload.pl: sirve para almacenar los datos en la base de datos MySQL.

La principal herramienta de extracción se llama sbk_extract y se basa en Libpcap.

Simplemente captura tráfico en modo promiscuo filtrándolo por el puerto de

destino. Desde la línea de comandos del servidor, sbk_ks_log.pl permite visualizar

249

la actividad de pulsaciones de teclas en la máquina donde ha instalado el cliente

de Sebek. No necesita parámetros de ejecución y toma su entrada de sbk_extract.

Para ejecutar los servicios de Sebek solo basta con abrir una terminal y ubicarse

en el directorio /usr/local/bin$ y escribir la siguiente línea de comando:

gustavo@servidor1:/usr/local/bin$ sudo sbk_extract -i eth0 –p 1101 | sbk_ks_log.pl

En la Ilustración 96 se muestra el ejemplo de su aplicación.

Ilustración 96. SEBEK: Actividad en el GuestOS Windows XP.

En este ejemplo, sbk_extract está capturando datos en la interfaz eth0 y esperando

los registros en el puerto UDP 1101. Entonces envía estos registros a

sbk_ks_log.pl para la extracción de las pulsaciones de teclas.

250

HERRAMIENTA DE ANALISIS FORENSE

Definición.

El análisis forense, en criminalística, es una ciencia aplicada para hallar y

descubrir la verdad sobre un crimen cometido, tiene como punto de referencia tres

partes bien relacionadas entre sí también conocida como evidencia: Escena del

crimen, Sospechoso y la Victima.

En el ámbito digital (seguridad de redes) el análisis forense no difiere mucho de

este concepto; puesto que también se pretende analizar, en base a Evidencias, un

entorno de red (Escena del crimen) que se supone seguro y que el Intruso

(Sospechoso) ha tratado de vulnerar con el fin de alcanzar su objetivo (Victima).

El análisis forense va de la mano con un conjunto de procesos también conocido

como Gestión de Incidentes, donde se detalla lo siguiente:

1. Preparación de las herramientas de análisis.

2. Detección de incidentes.

3. Análisis Forense.

4. Selección de estrategia de respuesta a los incidentes.

5. Recuperación y Mejoramiento de esquemas de seguridad.

6. Seguimiento de incidentes.

251

Los objetivos que busca del análisis forense se describen a continuación:

Saber que ha sucedido.

Determinar la magnitud del incidente.

Determinar entidades implicadas.

Prevenir y mejorar la preparación para incidentes futuros.

Eliminar el riego y las posibles responsabilidades.

Si es necesario, denunciar.

Software Comercial.

Dentro del Software recomendado para análisis forense se encuentran:

Autopsy: Esta basado en la librería TSK (The Sleuth Kit), que es una

colección de herramientas en líneas de comando, que permiten realizar

análisis e investigar los volúmenes de las unidades de disco y los archivos de

datos del sistema. Autopsy es una herramienta que posee una interfaz gráfica a

manera de Browser con la misma funcionalidad de la librería TSK, juntas

permite investigar todos los sistemas de archivos y discos existentes en un

entorno determinado. Está disponible para plataformas Windows, Linux,

Unix. (AUTOPSY, 2003).

VMware: Es el Software de virtualización usado en el desarrollo del prototipo

de la presente tesis. La característica de capturar Snapshots de los estados de

una máquina, lo vuelve una herramienta útil para proceder a un análisis

252

forense donde se pueden determinar los cambios realizados retomando un

snapshot previo al incidente para comprobar que elementos han sido alterados

por el intruso.

Foremost: Es un programa de consola para recuperar archivos basándose en

sus cabeceras, pie de página y estructuras de datos internas. Este proceso se

conoce comúnmente como data carving (corte en capas de datos). Foremost

puede trabajar en archivos de imágenes o directamente en un disco duro. Las

cabeceras se pueden especificar en un archivo de configuración o utilizando

líneas de comandos para especificar los tipos integrados de archivos. Estos

tipos integrados permiten dar un vistazo a las estructuras de datos de un

formato de archivo dado que permite una recuperación más rápida y más

fiable. También está disponible para plataformas Windows, Linux, Unix.

(FOREMOST, 2010).

F.I.R.E.: Forensic Insident Responce Enviroment (Entorno de respuesta

forense a incidentes), es una distribución portátil basado en un CD booteable,

cuya finalidad es la de proveer un entorno que permita realizar análisis

forenses, respuesta a incidentes, recuperación de datos, escaneo de virus y

evaluación de vulnerabilidades.

253

También provee las herramientas necesarias para un análisis forense con solo

insertar el LIVE CD en sistemas Win32, SPARC Solaris y Linux X86.

(F.I.R.E, 2010).

InstallWatch: Es un software fácil de administrar que permite al usuario

monitorizar qué archivos y directorios se crean durante la instalación de un

paquete de software en tiempo real. Esto permite saber con exactitud lo que se

ha instalado en el sistema para efectos de un análisis forense posterior.

InstallWatch tiene la característica de detectar todo cambio hecho en el

Registro del Sistema, programas y archivos creados e instalados y cambios en

la configuración. Es compatible con plataformas Windows y también posee

una distribución para Linux.

Instalación y Configuración de InstallWatch.

El Software que se usará para las tareas de análisis forense será InstallWatch Pro

versión 2.5C. Por la fácil administración y compatibilidad con las herramientas

usadas hasta ahora. Este programa permite realizar snapshots de la máquina en la

que se instala para poder llevar a cabo la comparación de un estado inicial con

uno posterior, en el caso de la Honeypot, tras haber sido vulnerada.

De esta manera, cuando se compruebe por medio de los IDS‟s que la máquina

trampa ha sido comprometida y se han registrado todos los movimientos que se

crean necesarios, se llevará a cabo el análisis, obteniéndose todos los archivos y

254

registros del sistema de la máquina que hayan sido añadidos, modificados o

borrados. Así, se puede localizar el Software instalado como consecuencia de la

intrusión además del efecto que causan, y continuar con el análisis del modo en

que actúan.

La instalación de este programa no es de gran complejidad, puesto que es guiada

por el asistente de instalación del programa; se la realizara sobre la máquina

virtual trampa, en este caso, la que posee el Sistema Operativo Windows XP.

InstallWatch trabaja usando el Registro de Windows y lo que hace es tomar un

snapshot, como punto de partida cuando la máquina aun no ha sido

comprometida, para posteriormente realizar comparaciones en los cambios que se

han realizado en el registro. La idea es que InstallWatch recibirá el apoyo del

monitoreo del IDS de Red (Snort) y del IDS de Host (Sebek), con lo cual se

evitará los Falsos Positivos.

Una vez inicializado el programa, es recomendable tomar un snapshot. La

snapshot debe tomarse en un punto en el que se esté seguro de que el sistema esté

totalmente libre de malware. Se debe tener en cuenta que cualquier acción que se

efectúe en la máquina será almacenada en registros o archivos, por lo que es

preferible tenerla lista para no realizar cambios posteriores que puedan confundir

a la hora de hacer el análisis. La Ilustración 97 muestra a InstallWatch en

ejecución, resaltando el botón Snapshot.

255

Ilustración 97. InstallWatch: Toma de Snapshot.

Inmediatamente realizada la snapshot, ya es posible llevar a cabo el análisis tan

sólo haciendo click sobre la opción Analyze, se debe asignar un nombre a dicho

análisis para ser guardado.

Ilustración 98. InstallWatch: Realizar el Análisis.

256

En la Ilustración 99, se muestra un resumen de todos los cambios efectuados una

vez efectuado el análisis.

Ilustración 99. InstallWatch: Resumen de cambios tras el análisis.

Además, se puede verificar la cantidad de información sobre los archivos y

registros añadidos, borrados o modificados (Al ser este el primer Snapshot se

observan muy pocos cambios).

257

Ilustración 100. InstallWatch: Archivos añadidos.

De esta manera, se demuestra la ventaja del programa InstallWatch y el gran

potencial que posee, que será útil para estudiar los cambios detectados que se

produjeran durante algún ataque a la Honeypot.

Registro de Windows.

InstallWatch ofrece múltiple información sobre los cambios efectuados en los

registros. Es importante tener un cierto conocimiento sobre los registros de

Windows XP, ya que la Honeypot corre sobre este sistema operativo.

El Registro contiene información que Windows utiliza como referencia

continuamente, por ejemplo los perfiles de los usuarios, las aplicaciones

instaladas en el equipo y los tipos de documentos que cada aplicación puede

crear, las configuraciones de las hojas de propiedades para carpetas y los iconos

258

de aplicaciones, los elementos de hardware que hay en el sistema, los puertos que

se están utilizando.

En Windows XP, los archivos auxiliares de todas las secciones excepto

HKEY_CURRENT_USER están en la carpeta %SystemRoot%\System32\Config.

Los archivos auxiliares para HKEY_CURRENT_USER están en la carpeta

%SystemRoot%\Profiles\NombreUsuario. Las extensiones de los archivos de

estas carpetas indican el tipo de datos que contienen. A veces, la falta de

extensión también puede indicar el tipo de datos que contienen (Soporte

Microsoft, 2010).

Las características de seguridad de Windows XP permiten que un administrador

controle el acceso a las claves del Registro. Los tipos de datos definidos que se

usan en Windows XP son caracteres y el tamaño máximo del nombre de un valor

es de 16.383 de caracteres. Los valores largos (de más de 2.048 bytes) deben

almacenarse como archivos con el nombre almacenado en el Registro, lo que

contribuye a que el Registro se utilice eficazmente. El tamaño máximo de un

valor es el de la memoria disponible. (Soporte Microsoft, 2010).

En la siguiente tabla que se muestra a continuación se describe las claves

predefinidas que utiliza el sistema:

259

Cuadro 8

Claves predefinidas en Windows XP

Carpeta o clave o Clave

Predefinida Descripción

HKEY_CURRENT_USER

Contiene la raíz de la información de configuración del

usuario que ha iniciado sesión. Las carpetas del usuario,

los colores de la pantalla y la configuración del Panel de

control se almacenan aquí. Esta información está

asociada al perfil del usuario. La clave a veces aparece

abreviada como "HKCU".

HKEY_USERS

Contiene todos los perfiles de usuario cargados

activamente en el equipo. HKEY_CURRENT_USER es

una subclave de HKEY_USERS. HKEY_USERS puede

aparecer abreviada como "HKU".

HKEY_LOCAL_MACHINE

Contiene información de configuración específica del

equipo (para cualquier usuario). Esta clave a veces

aparece abreviada como "HKLM".

HKEY_CLASSES_ROOT

Es una subclave de

HKEY_LOCAL_MACHINE\Software.

La información que se almacena aquí garantiza que

cuando abra un archivo con el Explorador de Windows

se abrirá el programa correcto. Esta clave a veces

aparece abreviada como "HKCR".

La clave HKEY_CLASSES_ROOT proporciona una vista

del Registro que combina la información de estos dos

orígenes. HKEY_CLASSES_ROOT también proporciona

una vista combinada para los programas diseñados para

versiones anteriores de Windows. Para cambiar la

configuración del usuario interactivo, se deben realizar

los cambios en

HKEY_CURRENT_USER\Software\Classes en lugar de

en HKEY_CLASSES_ROOT. Para cambiar la

configuración predeterminada, se deben realizar los

cambios en

HKEY_LOCAL_MACHINE\Software\Classes. Si escribe

valores en una clave de HKEY_CLASSES_ROOT, el

sistema almacena la información en

HKEY_LOCAL_MACHINE\Software\Classes.

Si escribe valores para una clave en

HKEY_CLASSES_ROOT y la

clave ya existe en

HKEY_CURRENT_USER\Software\Classes, el sistema

almacenará la información ahí, en lugar de en

HKEY_LOCAL_MACHINE\Software\Classes.

HKEY_CURRENT_CONFIG Contiene información acerca del perfil de hardware que

utiliza el equipo local cuando se inicia el sistema.

Elaboración: Gustavo Estrella Quijije.

Fuente: Soporte Microsoft

260

FASE DE COMPROBACIÓN

Después de la instalación del último componente del Prototipo de la Honeypot, es

necesario realizar una comprobación, que permita determinar si los pasos que se han

realizado anteriormente están correctos, si los componentes instalados trabajan bien

en conjunto y en general, comprobar si la Honeypot funciona adecuadamente.

Para inicializar la Honeypot se han de seguir los siguientes pasos:

Paso 1. Se debe poner en marcha los servicios de IDS de red, Snort. Esto se lo

hace vía línea de comando ubicado en el directorio C:\snort\bin, donde se escribe

la siguiente línea de comando:

C:\snort\bin>snort –dev –c C:\snort\etc\snort.conf –l C:\snort\log –i3

Paso 2. Se enciende la máquina virtual que hace el papel de servidor Sebek y se

inicia Sebek. Desde una terminal hay que ubicarse en el directorio /usr/local/bin

escribe la siguiente línea de comando para iniciar los servicios de Sebek:

gustavo@servidor1:/usr/local/bin$ sudo sbk_extract -i eth0 –p 1101 |

sbk_ks_log.pl

Paso 3. Encender la máquina virtual trampa; se recomienda como buena práctica

hacer un snapshot con el Snapshot Manager que ofrece VMware, en un estado

en que la maquina esté preparada, es decir, con todo el software instalado; así en

caso de un ataque se puede volver al estado en el que la maquina se encontraba

libre de malware y lista para ser lanzada otra vez.

261

Otra recomendación es que no se debe ejecuta ningún tipo de tarea en esta

máquina, para evitar los falsos positivos. La monitorización por medio de los

IDS‟s irá informando de todo movimiento existente en la máquina.

Paso 4. Tomar un snapshot de la maquina virtual trampa con el programa

InstallWatch antes de que ésta acceda a la red y pueda ser infectada. Hay que

recordar que el cliente Sebek se inicia automáticamente cuando se enciende la

máquina trampa.

Con todo esto la Honeypot queda lista para ser vulnerada y observar los movimientos

de los intrusos que sean detectados por medio de los IDS‟s (Snort y Sebek).

Paso 6. Establecer un periodo de captura prudencial, dependiendo de la red las

capturas de intrusiones pueden tardar un tiempo en producirse, esto se debe, a que

una red Corporativa es mucho más atractiva para el atacante que una red Doméstica.

Se puede dar por finalizado un periodo de captura cuando se han detectado

intrusiones o la máquina virtual ya no responde por errores graves en el sistema

consecuencia de los ataques, entonces se toma una snapshot y se procede a hacer el

análisis con InstallWatch usando el botón Analize, para detectar e identificar el

malware encontrado. Con esto será posible realizar los análisis pertinentes sobre

dicho malware.

262

Metodología que se aplicó para el Análisis Forense

Con la finalidad de aprender mas acerca del malware hallado, se ha hecho uso de

la herramienta suministrada por www.virustotal.com, www.symantec.com,

es.mcafee.com y esp.sophos.com/security/analyses/viruses-and-spyware. Estas

páginas proveen de un servicio de análisis de archivos que permite identificar y

describen las características detalladas de virus, gusanos, troyanos y malware en

general recurriendo a las bases de datos de varios motores antivirus. Asi se puede

consultar la documentación que los distintos motores antivirus ofrecen, lo que

proporciona una gran ayuda para proceder con el análisis, así determinar un punto

de comparación con los resultados obtenidos.

Identificado el malware, se procede a ejecutarlo en la máquina virtual trampa.

Previamente hay que asegurarse de cargar la máquina virtual trampa desde un

snapshot en la cual esté libre de infecciones y, asimismo, haber tomado una

snapshot con InstallWatch para poder efectuar un analisis posteriormente.

Hay que permitir un tiempo de ejecución, durante el que se observa el tráfico de

red utilizando Snort, de modo que se pueda reconocer el posible tráfico generado.

A continuación se efectúa el análisis con InstallWatch. Asi se obtendrá

información del efecto que causo el malware sobre la máquina virtual trampa,

considerando como comparativa la documentación hayada en las direcciones web

anteriormente descritas. Dicha documentación no siempre coincidirá con los

resultados de nuestro análisis forense, pero será tomada como referencia de una

caracterización genérica del malware encontrado.

263

Prueba De Intrusión

Para demostrara la funcionalidad de la Honeypot fue útil realizar unas pruebas que

permitieron determinar si todo estaba funcionando como debía.

En este apartado se detallaran los pasos que dieron para realizar dichas pruebas,

tomando como premisa: Los primeros paso que haría un Intruso para atacar

remotamente un sistema.

Ataques Remotos

Un ataque remoto es cualquier ataque que se lanza desde un ordenador a otro

cualquiera, independientemente del lugar en el que se encuentren ambos. Puede ser

que se encuentren en una misma oficina, o que la distancia entre ambos sea muy

grande.

Anteriormente ya se habían analizado varios de los tipos de ataques que usan los

intrusos para vulnerar un sistema, pero ahora se limitara a hablar únicamente de los

ataques remotos más usados. Entre los cuales se destacan:

Escaneos de puertos

Spoofing

Negaciones de servicio (DoS)

Interceptación

Ataques a aplicaciones

Correo electrónico

Ataques vía web

264

Para el ejemplo de ataque remoto que se pretende realizar, se hará uso del Escaneo de

Puertos.

Escaneo De Puertos (Portscan)

Una de las primeras actividades que un potencial atacante realizará contra su

objetivo será sin duda un escaneo de puertos, un Portscan; esto le permitirá

obtener en primer lugar información básica acerca de qué servicios estamos

ofreciendo en nuestras máquinas y, adicionalmente, otros detalles de nuestro

entorno como qué sistema operativo tenemos instalados en cada host o ciertas

características de la arquitectura de nuestra red. Analizando qué puertos están

abiertos en un sistema, el atacante puede buscar agujeros en cada uno de los

servicios ofrecidos: cada puerto abierto en una máquina es una potencial puerta

de entrada a la misma.

Comprobar el estado de un determinado puerto es a priori una tarea muy sencilla;

incluso es posible llevarla a cabo desde línea de comando, usando una

herramienta tan genérica como Telnet o el comando netstat.

Por lo general, nadie con experiencia usaría Telnet para realizar un escaneo de

puertos masivo contra un sistema o contra toda una red; existen herramientas

como Strobe o Nmap (la más conocida) que pueden realizar esta tarea de una

forma más o menos cómoda y automatizable.

265

Evidentemente, ninguno de estos programas se dedica a lanzar telnets contra los

puertos de un sistema: los escaneadores de puertos actuales implementan

diferentes técnicas que permiten desde detectar la versión del sistema operativo

usado en la máquina atacada, hasta pasar inadvertidos ante diferentes sistemas de

detección de intrusos.

Existen diferentes aproximaciones para clasificar los escaneos de puertos, tanto en

función de las técnicas seguidas en el ataque como en función de a qué sistemas o

puertos concretos va dirigido. Por ejemplo:

Escaneo horizontal: Cuando el atacante busca la disponibilidad de determinado

servicio en diferentes máquinas de una red; como ejemplo, si el intruso dispone

de un exploit que aprovecha un fallo en la implementación de sendmail, es normal

que trate de averiguar qué máquinas aceptan peticiones SMTP en un determinado

segmento para posteriormente atacar a dichos sistemas.

Escaneo vertical: Suele denotar el interés del atacante en un host concreto; si

comprueba todos los puertos del sistema al escaneo se le denomina vanilla,

mientras que si sólo lo hace contra determinados puertos o rangos, se le denomina

strobe (en referencia al programa del mismo nombre).

266

Ejemplo De Ataque Remoto (Nmap)

En base a la técnica del escaneo de puertos, se iniciara con la prueba de intrusión.

Para esto se utilizo el programa NMAP, el cual es muy fácil de usar, simplemente con

poner la dirección IP del host y pulsar un botón, el programa automáticamente

mostrara información detallada del host que se pretende atacar. Antes de iniciar con la

prueba de intrusión se recuerda que la Honeypot debe estar activada y lista.

Para proceder con la demostración, se ha instalado el programa NMAP en un host

diferente al que se encuentra la Honeypot pero perteneciente a la misma red, es decir,

que será un ataque interno.

Ilustración 101. Prueba Intrusión: Ventana de Nmap.

Como se puede apreciar en la Ilustración 101, hay que escribir la dirección IP en el

cuadro de texto Target, y a continuación presionar el botón Scan, para que muestre la

267

información detallada de un host determinado; en este caso el objetivo será la

máquina trampa perteneciente a la Honeypot. Cuya dirección IP 192.168.0.104.

Ilustración 102. Prueba Intrusión: Resultados obtenidos después del escaneo.

Después del escaneo, Nmap nos muestra información útil para proceder con un

ataque, por ejemplo: Una lista detallada de los puertos que se encuentran abiertos

junto a su respectivo nombre y número, los protocolos a los que están vinculados y

también una descripción de la máquina con el sistema operativo que usa, el grupo de

trabajo al que pertenece y el usuario actual.

Con toda esta información y para continuar con el ejemplo de la utilidad de la

Honeypot, el IDS de Red conformado por Snort, MySQL y ACID han lanzado la

alerta respectiva de que se ha hecho un escaneo de puertos desde un host, como se

muestra en la siguiente Ilustración:

268

Ilustración 103. Prueba Intrusión: Alerta que muestra Snort mediante ACID.

Aquí se observa cómo Snort ha detectado tráfico sospechoso y lo identifica lanzando

un mensaje Warning: Nmap correspondiente al escaneo de puertos que se ha

realizado, muestra además la dirección fuente 192.168.0.101 y los puertos fuente

desde donde se lanzo el escaneo. También nos permite ver la dirección destino

(Máquina trampa) y los puertos por donde se realizó la acción junto con su respectivo

protocolo.

Para continuar con la segunda parte de la demostración, en lo que respecta al acceso

remoto a la máquina trampa, se ha tomado en consideración acceder a través del

puerto 22 correspondiente a SSH (Secure Shell). Previamente se ha instalado un

servidor SSH en la máquina trampa, con el fin de hacer el sebo más atractivo para los

intrusos. El servicio SSH que se uso para este fin fue OpenSSh compatible con

plataformas Windows. Aunque también existen versiones para Linux, Unix, Solaris.

La instalación de este nuevo servicio en la máquina trampa, hará como se dijo

anteriormente, que el sebo sea más atractivo al momento de implementar la Honeypot

en red de producción.

En esta demostración fue necesario configurar varios elementos del servicio SSH,

como por ejemplo los permisos de conexión para los usuarios administradores. En

este caso se ha creado un usuario denominado Intruso, el cual posee permisos de

269

administrador, mediante el cual accederemos remotamente para manipular el

contenido de la máquina trampa.

Con el fin de establece una sesión remota, se hará uso de un programa llamado Putty,

que se especializa en realizar conexiones remotas; sea usando el puerto 22 (SSH) o el

puerto 23 (Telnet) vía línea de comando en Windows, o mediante una terminal en

Linux.

Este programa es fácil usar, simplemente hay especificar el número de puerto

correspondiente por el cual se realizara la conexión.

Ilustración 104. Prueba Intrusión: Putty.

En el presente ejemplo se usara la dirección IP de la máquina trampa y el puerto 22

correspondiente al servicio SSH que está instalado en dicho host. Un vez que se

proceda con la conexión usando Putty, el servidor pedirá el nombre de usuario y la

contraseña para permitir el acceso remoto, se recuerda que se utilizará el usuario

Intruso y su respectivo password.

270

Putty utiliza líneas de comando, como si fuera un Command Window, para acceder a

los diferentes directorios de una computadora conectada a la red y que preste los

servicios SSH.

Ilustración 105. Prueba Intrusión: Command Window de Putty.

Cuando se ha realizado la conexión desde la máquina que hace de intruso hacia la

máquina trampa, el Servidor Sebek empieza a capturar todos los movimientos que el

atacante haga en los diferentes directorios. En el ejemplo que sigue, se puede

observar como el Servidor Sebek captura y muestra los movimientos del atacante, el

identificador de proceso PID, Interprete comandos que está usando para la conexión

(sshd y cmd), la hora, fecha y el host desde donde se hizo la conexión.

Ilustración 106. Prueba Intrusión: Sebek en acción.

Una observación que se hizo durante esta prueba, es que, cuando el intruso usaba un

comando por ejemplo el comando Dir, se pudo ver que las letras del comando se

duplicaban (ddiirr). Esto no es un error del programa, y se debe a que Sebek, en la

271

captura de interrupciones de teclado, asume que el intruso usa una Terminal o

Ventana de Comando; pero como las pruebas han sido realizadas desde un Cliente

SSH (Putty), Sebek también captura las líneas de comando que se ejecutan en estos

interpretes de comando, por lo que se duplican las letras del comando ingresado.

Esto no es impide o afecta el funcionamiento de Sebek, ya que el programa sigue

capturando los movimientos del intruso a través de los directorios de la máquina

trampa, incluso muestra las salidas por pantalla que el intruso observa con un simple

comando Dir.

Ilustración 107. Prueba Intrusión: Capturas de Sebek.

Para el siguiente paso se procederá a copiar a la máquina trampa, un archivo que

simulara ser un Malware se lo ha llamado troyano.exe y otro llamado keylogger.exe.

Para realizar esta acción se utilizo un programa de transferencias de archivos vía SSH

llamado FileZilla Client, el cual simplemente con ingresar la dirección IP del host, el

usuario, la contraseña y el puerto permitirá transferir archivos a cualquier host que

posea un servicio SSH.

272

En este ejemplo se transferirán los archivos antes mencionados al directorio Windows

del usuario administrador, esto permitirá demostrar el análisis forense con el

programa InstallWatch.

Ilustración 108. Prueba Intrusión: Transferencia con FileZilla.

Cuando se complete el proceso de transferencia llega el momento de verificar la

efectividad del programa InstallWatch, y simplemente con pulsar el botón Analize,

mostrara los cambios efectuados en la máquina trampa, en este cado los archivos

añadidos.

273

Ilustración 109. Prueba Intrusión: Información mostrada por InstallWatch.

Como se puede observar en la ilustración anterior InstallWatch ha detectado que dos

archivos han sido añadidos; InstallWatch muestra el directorio donde se añadieron, el

nombre de los archivos, el tamaño, los atributos, la fecha y hora.

La finalidad de esta prueba de intrusión, aparte de probar el funcionamiento de la

Honeypot, permite tener una visión más amplia del potencial que poseen el conjunto

de herramientas que la conforman y la utilidad que esta tecnología ofrece, así pues, el

Prototipo de Honeypot Virtual de Alta Interacción está listo para ser ejecutado.

274

Resultados De Una Honeypot Implementada En La UTPL

La información que se presenta a continuación fue extraída de un artículo de la

Pagina Oficial del Proyecto Honeynet de la UTPL (Universidad Técnica Particular de

Loja). (UTPL, 2010).

Todo esto con el fin de mostrar las estadísticas de la aplicación de esta tecnología no

solo en el ámbito educativo-investigativo, sino también, para dar a conocer el

potencial y los beneficios que ofrece esta herramienta.

Descripción

Actualmente las organizaciones disponen de información importante, fundamental en

el desarrollo y crecimiento de sus actividades, es por esto que deberían mantener una

infraestructura necesaria para la detección de posibles intentos de intrusión en los

sistemas que la organización maneja.

A nivel de Latinoamérica Brasil, México, Perú, Chile y Argentina cuentan con

equipos formales que trabajan en temas de seguridad y que reportan datos estadísticos

sobre los comportamientos detectados en cada país.

A nivel de Ecuador no existe un registro oficial y público sobre el número de

incidentes o ataques de seguridad que se presentan. Muchas empresas que ofrecen

servicios de seguridad manejan cifras que por cuestiones de confidencialidad no

pueden ser expuestas y, por tanto no permiten tener una visión sobre la situación

actual del país en cuanto a ataques o incidentes de seguridad.

275

Hoy por hoy se encuentra en desarrollo el Sitio Web Oficial del Honeynet Proyect

Capitulo Ecuador (www.honeynet.ec). Pero debido a la falta de conocimiento hacia

esta tecnología, por parte de las autoridades gubernamentales, e instituciones de

educación superior; No se ha logrado conseguir el apoyo para continuar con el

desarrollo de emprender y cambiar los paradigmas con esta tecnología innovadora.

Sin embargo, grupos de estudiantes en diferentes universidades del país, interesados

en los avances tecnológicos, han logrado de manera independiente llevar a cabo una

demostración de la funcionalidad de esta herramienta. Siendo ellos los canales de

información para dar a conocer las características y beneficios de la Tecnología

Honeypot a las autoridades pertinentes. Y es gracias a estos estudiantes

emprendedores y en busca de algo novedoso que contribuya tanto a sus universidades

como al país, que se ha visto en la Tecnología Honeypot una herramienta de

seguridad valiosa, no solo por aportar a una seguridad proactiva, sino por constituir

un potencial recurso de investigación que permite afrontar la seguridad desde una

perspectiva que se alinea a los objetivos de las Universidades.

Estadísticas de la Honeypot

A continuación se mostraran los resultados generales obtenidos actualmente con la

implementación de una Honeypot en la UTPL, tomando en consideración el factor de

incidencia y los protocolos de red que se ven afectados durante las intrusiones.

276

GRAFICO 6

Actividad generada por los diferentes protocolos

Representación del número de paquetes correspondientes a Sebek

Elaboración: Proyecto Honeynet UTPL. Fuente: Proyecto Honeynet UTPL.

Análisis: Se puede apreciar que la mayor incidencia de paquetes sospechosos,

se haya sobre el protocolo TCP, seguido del protocolo ICMP. Se logro obtener

estos resultados gracias a la herramienta Sebek en combinación con ACID que

proporciona una visión más clara de la cantidad de paquetes sospechosos

detectados.

GRAFICO 7

Actividad generada por los diferentes puertos

TCP

Elaboración: Proyecto Honeynet UTPL. Fuente: Proyecto Honeynet UTPL.

277

Análisis: Se presenta los puertos TCP más vulnerables y usados por los

intrusos para atacar un sistema. En este caso el puerto el 445 (Microsoft-ds)

que corresponde al Bloque de mensajes de servidor (Server Message Block,

SMB). SMB permite compartir archivos e impresoras (entre otras cosas) entre

nodos de una red. Este puerto está abierto por defecto y es utilizado

principalmente en ordenadores con Microsoft Windows y DOS para la

comunicación con sistemas remotos. Además se observa la incidencia sobre el

puerto 13 (DAYTIME), que proporciona un servicio horario enviado desde un

servidor Microsoft, pero al ser un puerto abierto por defecto se puede pensar

que no implica peligro, pero resulta atractivo para los intrusos y representa

vulnerabilidad para una red.

GRAFICO 8

Actividad generada por los diferentes puertos UDP

Elaboración: Proyecto Honeynet UTPL. Fuente: Proyecto Honeynet UTPL.

Análisis: Los ataques por NetBIOS, tanto en los puertos 137 (NetBIOS-ns

“Servicios de nombres NETBIOS utilizados en Red Hat Enterprise Linux por

Samba”) y 138 (Netbios-dgm “Servicios de datagramas NETBIOS utilizados

en Red Hat Enterprise Linux por Samba”), son más usuales de ser vulnerados.

Estos puertos comúnmente no son detectados como abiertos aun teniendo un

Firewall con la correspondiente advertencia, por lo que se hace difícil

determinar su estado a menos de que se proceda a administrarlos de forma

manual agregando restricciones.

Gracias a estos factores proporcionados por la UTPL en conjunto con la tecnología

Honeypot, un experto en seguridad de redes podría determinar en que debería trabajar

para mejorar la estructura de seguridad de redes de una organización.

278

Pero cada organización posee un esquema de seguridad distinto y es ahí donde se

muestra el potencial de esta herramienta que es adaptable, flexible y no afecta en lo

más mínimo una infraestructura ya establecida. Contribuye tanto a la investigación de

las tendencias de los intrusos, aplicando la filosofía que identifica a esta tecnología

“Conoce a tu enemigo”, así como en las mejoras que se pueden establecer para que

dicho esquema de seguridad de la red optimice su desempeño.

279

FASE DE EJECUCIÓN

Para la presente fase se considero implementar el prototipo a modo de prueba y para

realizar capturas de incidentes, en uno de los laboratorios de la CISC con la finalidad

de obtener datos reales de malware o trafico malicioso dentro de la red. Con los

permisos debidos se procedió a la implementación y puesta en ejecución de la

Honeypot.

Para cumplir con el cometido de esta fase, fue necesario adoptar y respetar las reglas

que se han establecido para el uso del Laboratorio de Graduación, con respecto a los

horarios de atención y uso de los equipos ahí existentes. A causa de esto no fue

posible mantener a la Honeypot en constante funcionamiento, sin embargo en las

pocas horas de trabajo y ejecución se pudo obtener datos interesantes, en lo que

respecta a Trafico Malicioso en la red. Más adelante se expone datos importantes y

resultados determinados gracias al análisis de la información lograda con las capturas

hechas por la Honeypot.

Para la obtención de esta información fue necesario emular ciertos servicios en la

máquina trampa, con el único propósito de hacerla más llamativa y también se

procedió a abrir puertos de comunicación de protocolos como TCP y UDP. Dentro de

los servicios emulados por la Honeypot e instalados en la maquina trampa se

implemento los siguientes:

280

FTP 21

SSH 22

TELNET 23

HTTP 80

Por otro lado hay q mencionar q no se hicieron mayores cambios en el Sistema

Operativo de la maquina trampa, dejando los puertos que vienen abiertos por defecto

en Microsoft Windows XP, entre estos puertos se encuentran:

135 EPMAP: Correspondiente al Mapeador de Windows.

139 Netbios-ssn: Comunicación recursos compartidos en redes Microsoft.

445 Microsoft-ds: SMB Server Message Block, parecido al Puerto 139.

2869 SSDP Simple (Service Discovery Protocol): Protocolo Simple de

Descubrimiento de Servicios, usado para búsquedas de dispositivos UPnP.

Gracias a estos servicios en ejecución, se pudo detectar tráfico sospechoso y varias

direcciones IP externas que trataban de acceder y hacer uso a los servicios antes

mencionados. A más del tráfico sospechoso e intentos de acceso, no se detecto

mayores cambios en la máquina trampa, debido a la contrariedad antes mencionado

con respecto a los horarios de atención en el laboratorio de la CISC.

Pero estos datos serán útiles para proceder a elaborar un análisis, en lo que respecta al

uso por parte de los intrusos sobre los puertos TCP Y UDP, para luego establecer

estadísticas que serán necesarias para la conclusión del presente proyecto;

demostrando así la factibilidad, capacidad y utilidad de esta herramienta.

281

FASE DE ANÁLISIS

Muestra y Análisis De Datos Obtenidos En La Fase De Ejecución

A continuación se mostrara cuadros correspondientes a un resumen y extracto de los

incidentes más significativos detectados por la Honeypot como tráfico sospechoso e

intentos de acceso, esta información en un inicio es mostrada en ACID., pero a

manera de ser interpretada se elaboraron los cuadros que se presentaran a

continuación. Estos cuadros serán usados para generar un análisis estadístico de las

incidencias notables durante la fase de ejecución.

Cuadro 9

Direcciones IP detectadas y cantidad de paquetes

NUMERO IP FUENTE PAQUETES

EN BITS UBICACIÓN IP

1 149.156.99.93 11252 POLONIA

2 193.2.91.26 10620 ESLOVENIA

3 200.17.168.123 8054 BRASL

4 62.94.205.130 6684 ITALIA

5 220.117.113.241 4497 EE.UU.

6 200.91.243.242 3225 COLOMBIA

7 210.231.97.142 2562 JAPON

8 209.152.165.211 2502 EE.UU.

9 59.160.169.8 2077 INDIA

10 202.133.250.97 1972 TAIWAN Elaboración: Gustavo Estrella Quijije.

Fuente: Insidentes detectados en el periodo de pruebas y ejecución dentro del Laboratorio de

Graduación del CISC (15 dias).

En el Cuadro 9 se muestran las direcciones IP mas recurrentes, que se detectaron al

querer acceder a la máquina trampa, así como el numero de paquetes enviados desde

la IP fuente hasta su destino, estos paquetes de datos fueron detectados por Snort y

282

mostrados por ACID como trafico malicioso. Además para determinar de qué lugar

provenían los paquetes de datos, fue necesario ubicar geográficamente las direcciones

IP, para esto se uso herramientas web que cumplen con esta función:

http://www.adslayuda.com/geolocalizacion.html

http://www.geolocalizacionip.com.ar/

En las Direcciones Web anteriores se puede acceder a un servicio de ubicación

geográfica de direcciones IP de manera gratuita y sin ninguna dificultad, solo basta

con ingresar la dirección IP y luego se muestra en un mapa la ubicación exacta.

GRAFICO 9

Elaboración: Gustavo Estrella Quijije.

Fuente: Cuadro 9

Análisis: La mayor cantidad de paquetes de datos sospechosos provienen de una IP

ubicada en Polonia, durante la detección de este incidente, Snort mostraba intentos

de conexión vía SSH y TELNET. Aparentemente el intruso quería hacerse con el

283

control de la máquina trampa. No se encontró evidencia de algún malware, pero

Sebek también fue capaz de identificar los intentos de acceso.

Cuadro 10

Incidentes Detectados por Puerto y Protocolo

Número Puerto/protocolo Paquetes

En Bits Nombre puerto

1 139/TCP 174040 NETBIOS

2 22/TCP 71818 SSH

3 135/TCP 34574 MAPEADOR DE

WINDOWS/EPMAP

4 80/TCP 24701 HTTP

5 21/TCP 15879 FTP

6 135/UDP 1053 MAPEADOR DE

WINDOWS/EPMAP

7 23/TCP 972 TELNET

8 25/TCP 895 SMTP

9 80/UDP 1 HTTP Elaboración: Gustavo Estrella Quijije.

Fuente: Obtenidos de los insidentes detectados en el periodo de pruebas y ejecución dentro del

Laboratorio de Graduación del CISC (15 dias).

La mayor cantidad de paquetes sospechosos que se detectaron usaban el Puerto 139

para el acceso, este puerto corresponde al NETBIOS-SSN que permite la

administración de los recursos en redes Microsoft, por lo general este puerto viene

abierto por defecto y el firewall no detecta ninguna anomalía en el uso de este puerto,

por lo que pasa por alto los intentos de intrusión a través de este puerto. En el

siguiente grafico se muestra un análisis comparativo de los puertos más usados por

los intrusos que fueron detectados en la CISC:

284

GRAFICO 10

Elaboración: Gustavo Estrella Quijije.

Fuente: Cuadro 10

Análisis: Antes se mencionó que el puerto más usado para accesos no autorizados

durante el periodo de ejecución de la Honeypot dentro de la CISC fue el Puerto

139/TCP, abierto por defecto y casi indetectable por las herramientas de seguridad

tradicionales. Sin embargo la Honeypot fue capaz de identificar gran cantidad de

tráfico sobre este puerto. Seguido de trafico sobre el puerto 22/TCP,

correspondiente al servicio SSH instalados en la máquina trampa. Además se

registro tráfico sobre otro de los puertos que vienen abiertos por defectos Windows,

este es el puerto 135.

NOTA: La falta de atención sobre los puertos que se encuentra abierto por defecto

en el SO Windows, no se debe al descuido de los administradores, sino mas bien, al

desconocimiento de incidencias sobre estos que como se dijo antes, estos puertos no

son detectados como maliciosos por el Firewall, a falta de configuración de

seguridad sobre ellos es necesario aplicar alguna política de negación de acceso o

limitar la conexión a usuarios autorizados.

285

Es debido a los datos capturados por el IDS de Red basado en Snort y al fácil

reconocimiento de estos por medio de ACID, que se puede extraer una muestra los

resultados de la actividad por protocolo como se observa en al Cuadro 11:

Cuadro 11

Porcentaje de Alertas por Protocolo

PROTOCOLO PORCENTAJE

TCP 61,5 %

UDP 18 %

ICMP 20,5 % Elaboración: Gustavo Estrella Quijije. Fuente: Resumen de insidencias mostrado por ACID

El Cuadro anterior facilita un análisis comparativo mediante estadística para

identificar el porcentaje de incidencias que ocurren en los protocolos detallados antes:

GRAFICO 11

Elaboración: Gustavo Estrella Quijije. Fuente: Cuadro 11

286

Análisis: Es fácil identificar que la mayor cantidad de incidentes detectada fue sobre

el protocolo TCP (Transmision Control Protocol), el cual también esta relacionados

con los puertos usados por los intrusos y descritos anteriormente. Las alertas ICMP

(Internet Control Message Protocol) están asociadas mayormente a intentos de

acceso fallidos. ICMP es un subprotocolo de notificación de errores. Las alertas TCP

y UDP están, por lo general, asociadas a accesos con éxito, sea para perpetrar el

ataque, para llevar a cabo un escaneo de puertos, etc.

Con toda esta información obtenida en un periodo de capturas de 15 días, no

constante pero suficiente, se demuestra que tan potente es el prototipo de Honeypot

que se ha desarrollado durante esta investigación. Una vez analizado los datos

obtenidos gracias a la Honeypot, es importante que el administrador encargado

busque la manera de mitigar los errores encontrados para proteger la red y optimizar

el esquema de seguridad a su cargo.

287

CAPÍTULO IV

MARCO ADMINISTRATIVO

PRESUPUESTO

Los gastos que se llevaron a afecto para el cumplimiento de los objetivos del proceso

de la presente investigación se detallan a continuación en el siguiente cuadro:

Cuadro 12

Detalles del presupuesto del Proyecto

Descripción PU Cantidad Subtotal

Monitor LCD LG Flatron L192WS $ 250,00 1 $ 250,00

Pc de escritorio 2GB RAM DDR2,

Mainboard Intel, Procesador Core 2 Duo,

Disco Duro 350 GB

$ 700,00 1 $ 700,00

Modulo de memoria RAM DDR2 2GB $ 85,00 1 $ 85,00

Router D-Link Dir-600 $ 50,00 1 $ 50,00

Cable UTP CAT 5 $ 0,30 5 $ 1,50

Conectores RJ-45 $ 0,10 4 $ 0,40

Ponchadora $ 18,00 1 $ 18,00

Impresora HP Deskjet D1660 $ 50,00 1 $ 50,00

Cartuchos de tinta negro $ 25,00 4 $ 100,00

Cartuchos de tinta a color $ 35,00 3 $ 105,00

Fotocopias $ 0,03 50 $ 1,50

Servicio de Internet $ 25,00 8 $ 200,00

Resma de papel bond A4 $ 3,50 4 $ 14,00

Empastado de Tesis $ 20,00 5 $ 100,00

Transporte $ 10,00 6 $ 60,00

Alimentación $ 2,00 35 $ 70,00

TOTAL

$ 1.805,40

288

CRONOGRAMA DE ACTIVIDADES

NUM NOMBRE DE TAREA DURACION COMIENZO FIN PREDECESORA

1 Etapa de preparación 49 días 21/04/2010 28/06/2010

2 Charlas del 2do Seminario de Fin de Carrera 21 días 21/04/2010 19/05/2010

3 Preparación del documento para la Propuesta de Tesis 4 días 20/05/2010 25/05/2010 2

4 Presentación de la Propuesta de Tesis al Dpto. de Graduación de la Carrera 1 día 26/05/2010 26/05/2010 3

5 Proceso de revisión y aprobación del tema propuesto por parte del Dpto. de Graduación 23 días 27/05/2010 28/06/2010 4

6

Diseño del prototipo de una Honeypot virtual que permita mejorar el esquema de

seguridad en las redes de la Carrera de Ingeniería en Sistemas Computacionales y

Networking de la Universidad de Guayaquil

143 días 29/06/2010 30/12/2010 5

7 Recolección de información bibliográfica sobre el tema. ALCANCE: Usar investigación

bibliográfica 15 días 29/06/2010 16/07/2010 5

8 Selección y organización de fuentes de información 10 días 29/06/2010 09/07/2010

9 Revisión de estudios similares. ALCANCE: Estudios realizados 5 días 12/07/2010 16/07/2010 8

10 Estructuración del Capítulo 1: Planteamiento del Problema 14 días 06/07/2010 23/07/2010 5

11 Presentación de avances al tutor 14 días 06/07/2010 23/07/2010

12 Correcciones del capítulo 14 días 06/07/2010 23/07/2010

13 Estructuración del Capítulo 2: Marco Teórico 26 días 31/07/2010 27/08/2010 10,7

14 Presentación de avances al tutor 26 días 31/07/2010 27/08/2010

15 Correcciones del capitulo 26 días 31/07/2010 27/08/2010

16 Entrevista al administrador de redes, ayudantes y usuarios finales de la Carrera

Ingeniería Sistemas Computacionales y Networking 5 días 30/08/2010 03/09/2010 13

17 Elaboración del modelo para la entrevista. ALCANCE: Crear entrevista 1 día 30/08/2010 30/08/2010

18 Proceder con las entrevistas 1 día 31/08/2010 31/08/2010 17

19 Realizar análisis de la entrevista. ALCANCE: Análisis 2 días 02/09/2010 03/09/2010 18

20 Estructuración del Capítulo 3: Metodología 26 días 06/09/2010 07/10/2010 16,13

21 Presentación de avances al tutor 26 días 06/09/2010 07/10/2010

289

22 Correcciones del capitulo 26 días 06/09/2010 07/10/2010

23 Planificación y Diseño del prototipo. ALCANCE: Planificación y Diseño 6 días 06/09/2010 13/09/2010 16

24 Análisis del tipo de software a usar 4 días 06/09/2010 09/09/2010

25 Análisis del tipo de hardware a usar 1 día 06/09/2010 06/09/2010

26 Definir las ventajas del software. ALCANCE: Tipo de Software 2 días 10/09/2010 13/09/2010 24

27 Selección de aplicaciones. ALCANCE: Selección software 2 días 14/09/2010 15/09/2010 23

28 Descargar instaladores de las aplicaciones y Sistema Operativo 2 días 14/09/2010 15/09/2010

29 Implementación del prototipo. ALCANCE: Implementación 14 días 16/09/2010 01/10/2010 27

30 Instalación y Configuración del hardware y software 14 días 16/09/2010 01/10/2010

31 Etapa de pruebas del prototipo 30 días 04/10/2010 12/11/2010 29

32 Comprobación del funcionamiento del prototipo 2 días 04/10/2010 05/10/2010

33 Captura de incidentes. ALCANCE: Capturas 20 días 06/10/2010 02/11/2010 32

34 Análisis de las capturas. ALCANCE: Análisis y conclusiones 4 días 03/11/2010 08/11/2010 33

35 Organización y análisis de resultados obtenidos del prototipo 4 días 09/11/2010 12/11/2010 34

36 Estructuración de los Capítulos 4 y 5: Marco administrativo, Conclusiones y

Recomendaciones 12 días 15/11/2010 30/11/2010 31

37 Presentación de avances 12 días 15/11/2010 30/11/2010

38 Corrección de los capítulos 12 días 15/11/2010 30/11/2010

39 Finaliza Tutorías del Segundo Curso de Fin de Carrera 1 día 30/11/2010 30/11/2010

40 Entrega de documentación y aportes adicionales 22 días 01/12/2010 30/12/2010 39

290

CAPÍTULO V

CONCLUSIONES Y RECOMENDACIONES

CONCLUSIONES

La detección de intrusos en redes de computadoras es una actividad compleja, debido

al incremento constante de vulnerabilidades explotadas y el aumento de la

complejidad de las tecnologias de software y hardware empleadas.

Por esta razon herramientas como las Honeypot, no pueden ser despreciadas, puesto

que podrían brindan una ayuda unica a los administradores de una red, cuando la

posibilidad de intrusos es cierta.

Durante la fase de Planificación y Diseño se elegio un Honeypot Virtual de Alta

Interacción. La selección de esta arquitectura fue definida por los recursos disponibles

para el proyecto, la seguridad, el riesgo y la facilidad para realizar la recolección de

datos. En la presente investigación se ha descrito el diseño completo de un Prototipo

de Honeypot Virtual de Alta Interacción, que en caso de ser implementada en un

ambiente de Producción real , y como ya se ha explidado a lo largo de este trabajo,

seria una herramienta útil para determinar posibles vulnerabilidades en el esquema de

seguridad de cualquier organización. El proceso de instalación y despliegue de la

Honeypot no fue tan sencillo como podría parecer a priori; La incompatibilidad del

software e incluso del sistema operativo, supuso un gran obstáculo al momento de

realizar el proceso de implementación del prototipo.

291

Las ventajas que brinda este enfoque novedoso y poco explotado, es la facilidad de

adaptación, administración e implementación en un entorno de trabajo, no requiere de

grandes recurso para ser diseñada y posee características únicas a diferencias de otros

métodos de seguridad que se basan en reglas para prevenir de cierto modo posibles

intrusos.

Esta característica propia de las Honeypot de atraer al intruso, la hacen una

herramienta muy útil de investigación, análisis y seguridad que ayuda complementar

un infraestructura de seguridad de redes, útil para determinar la forma de actuar del

intruso, sus herramientas y técnicas asi como las tendencias actuales que ellos poseen.

Aplicando esto conocimiento, aprendiendo del enemigo y analizando los datos

obtenidos, será factible que el administrador de una red proceder a mejorar los

esquemas de seguridad a su cargo y optimizar de forma positiva su rendimiento.

Gracias a la combinación de herramientas como IDS´s de Red (Snort) y Analsis

Forense (InstallWatch) en complento con el IDS´s de Host (Sebek) que trabaja de

manera oculta al intruso, hacen que la Honeypot se capaz de capturar, detectar y

reconocer toda clase de trafico sospechoso y no pasa por alto ninguna traza maliciosa

que pueda perjudicar a la Intranet de forma tal que se pueda disminuir la incidencia

de falsos positivos. La información obtenida de un ataque y capturada por la

Honeypot es muy detallada presenta desde la IP del intruso hasta que comandos uso y

el Malware que implanto en nuestros sistemas, haciendo fácil su reconocimiento.

292

Aunque el periodo de prueba de la Honeypot en un entorno real no fue muy extenso,

debido al ambiente de trabajo, horarios de atención no muy comodos y sobre todo el

cronograma de actividades planificado de acuerdo a las exigencias de la CISC, lo cual

no permitia extenderse mas alla de las fechas establecidas; Se pudo obtener capturas

de intrusiones relevantes como para demostrar el funcionamiento, realizar un análisis

y generar estadísticas que ayudaron a concluir con éxito esta investigación.

No obtstante, para futuras implementaciones y periodos de ejecución de la Honeypot

Virtual de Alta Interacción que se propuso en esta tesis, se recomienda que estos

periodos sean más extensos o incluso indefinidos, de acuerdo a las exigencias del

admistrador, debido a que la Honeypot es un recurso que debe estar en constante

funcionamiento para obtener mejores resultados y observar como evoluciona el

malware.

Por otro parte, durante el proceso del desarrollo de esta investigación se han

manifiestado las debilidades de algunas herramientas para detectar por sí solas los

ataques. Los multiples tipos y actividades del software malicioso se ponen en

evidencia, así como la tremenda tarea que hoy en día tienen las empresas anti-

malware para detectarlos y combatirlos.

Así, el uso de sniffers es sumamente extendido, incluso por usuarios particulares, pero

tal y como se ha confirmado, es insuficiente para este tipo de detecciones. De esta

manera, la implementación aquí desarrollada supone una alternativa para cubrir todas

estas carencias.

293

Por ultimo cabe destacar que el presente estudio no pretende desfavorecer o

discriminar los métodos de seguridad de redes existentes, sino, generar una propuesta

para integrar una herramienta innovadora al conjunto de métodos de seguridades que

se presentan en la actualidad. Proponer la utilización de la tecnología Honeypot como

complemento, con el fin de que esta herramienta proporcione la información

necesaria para aprender de los intrusos y ayude a los administradores de las redes de

la Carrera de Ingeniería en Sistemas Computacionales de la Universidad de

Guayaquil a determinar las posibles vulnerabilidades, para posteriormente emprender

las mejoras en el esquema de seguridad.

294

RECOMENDACIONES

A pesar que exista mucha información sobre las amenazas en Internet, los

documentos actuales en cuanto a las Honeypots no se encuentra en gran cantidad,

pues a pesar del tiempo, es un proyecto que aún no ha terminado de despegar. Con

este estudio se puede concluir que existe la necesidad de profundizar en un área de

suma utilidad para el combate de los ataques por parte de los intrusos; en un mundo

que cada dia se hace mas dependiente de la informática, donde un alto porcentaje de

los datos personales y de empresa se encuentran en bases de datos, archivos y

elementos contenedores gravemente expuestos a las actividades delictivas de estos

intrusos.

Con la experiencia adquirida en Honeypots se puede hacer las siguientes

recomendaciones:

En la presente investigación se propuso un analisis a pequeña escala, es decir, una

sola Honeypot. Si se pretende vislumbrar el verdadero potencial de esta

tecnología, entonces por que no desarrollar más, abriendo asi campo a las

HONEYNETS, con lo cual se podría obtener mayor cantidad de datos que

analizar para establecer patrones más consolidados de los ataques, lo que

facilitarían el combate de las amenazas informáticas.

295

Debido al uso de máquinas virtuales y a la gran cantidad de información recogida

por la Honeypot, se recomienda que la máquina donde se vaya a implementar sea

de buenas características, las más importantes Disco Duro, RAM y Procesador;

cumpliendo con los requerimientos planteados en esta investigación para que asi

la Honeypot tenga un funcionamiento optimo.

Con respecto a la compatibilidad y portabilidad de los programas usados, no

existió limitantes al momento de elegir el software, aunque en este proyecto se

utilizó tanto Sistemas Operativos Windows y Linux, varios de los softwares

descritos a lo largo de esta investigación son multiplataforma y de libre

distribución.

Para la máquina que actua de Honeywall Gateway, se recomienda usar una

distribución Linux, en este caso, se ha usado la distribución Ubuntu 10.04 X86 de

32bits y cuya versión del Kernel es 2.6.32, debido a la experiencia que el autor de

la presente tesis ha tenido con esta distribución, además de que facilitó la

administración y comunicación del Servidor Sebek con el Cliente instalado en la

máquina trampa. En conclusión, al momento de levantar los servicios de la

Honeypot se observo un comportamiento estable de todo el sistema.

Aislar cualquier comunicación de la máquina trampa del resto de los equipos que

conforman la red, para evitar posibles contagios.

296

Hacer la maquina trampa mas atractiva para los intrusos, agregandole servicios

adicionales (FTP, WEB, MAIL) adaptándola a las necesidades del administrador.

O incluso usar replicas de un servidor real en producción, evitando asi el riesgo de

que el verdadero servidor sea comprometido.

Con el fin de que el administrador pueda obtener mejores resultados para el

análisis e investigación de incidentes, es importante mantener a la Honeypot en

constante funcionamiento las 24 horas del dia, 7 dias a la semana o el tiempo que

el administrador crea prudente como para lograr los objetivos deseados.

Al momento de realizar capturas de intrusiones, una buena práctica es proceder

con la toma de Snapshots para el posterior análisis Offline.

Buscar actualizaciones de las reglas de Snort y de software que pueda ayudar al

análisis forense.

Gracias al análisis de los eventos detectados por el Prototipo de Honeypot de

prueba implementada en uno de los laboratorios de la CISC y presentado en este

documento, se recomienda a los administradores de red considerar las altas tasas

de usos en determinados puertos abiertos por defecto y especialmente los de

administración, con lo que se podría denegar el acceso a los mismos o bloquear

las IP‟s no registradas.

297

La implementación de una Honeypot Virtual de Alta Interacción en una

institución de educación, proporciona una visión más amplia en el campo de la

investigación en seguridad informática. Conjuntamente una Honeypot también

puede ser usada como una herramienta de aprendizaje e investigación para cursos

de seguridad informática, porque posee características como: portablididad,

facilidad de administración, seguridad e integridad en los datos recolectados.

Son muy bien conocidas las consecuencias de los intrusos y sus acciones tras un

ataque, pero no así, los procesos que hay detrás de sus actividades; en todo caso,

si se tomara en consideración este ultimo punto de una manera tal que se estudiara

dichas acciones y la forma de actuar del intruso, se evitaría en un futuro la gran

cantidad de secuelas, ya que, si se conoce el comportamiento, se puede proceder

de forma más óptima para su contención.

Con este proyecto se ofrece una guía no sólo para el administrador preocupado

por la seguridad de sus sistemas, sino tambien para aquel individuo interesado en

profundizar sus conocimientos en esta disciplina. Su aplicación se puede extender

a investigaciones como:

o Análisis de origen de SPAM.

o Monitoreo de ataques en redes Wireless.

o Análisis forense (FORENSIC).

o Perfiles de ataque, entre otros.

298

La implementación de Honeypots ha sido de gran utilidad en otros países como:

Brasil, México, España; es por ello que esta tecnología está siendo adoptada por

las organizaciones para mejorar su seguridad generando un aporte proactivo y

preventivo. Tambien se han convertido en elementos fundamentales, en especial

en organizaciones que investigan sobre seguridades.

En nuestro pais, se está iniciando el proyecto de Honeynet Capitulo Ecuador, ya

que instituciones educativas de prestigio como la ESPOL y UTPL han visto en

esta tecnología un gran potencial que se podría explotar, pero la falta de apoyo

institucional por factores externos a las unidades academicas, han hecho retrasar

el desarrollo de este proyecto. Sin embargo, hay personas que creen en la

capacidad de esta tecnología y con aportes propios han logrado mostrar solo una

parte de los beneficios que ofrece esta herramienta.

299

ANEXOS

GUIÓN DE PREGUNTAS PARA ENTREVISTA CON EL ADMINISTRADOR

DE LA RED Y AYUDANTES DEL DEPARTAMENTO INFORMATICO

Esta evaluación se ha diseñado para evaluar el riesgo en la red de la CISC y las

medidas de seguridad utilizadas para mitigar dicho riesgo. Se han desarrollado

preguntas con las que es posible realizar una evaluación de las tecnologías, los

procesos y el personal.

2. ¿Tienen conexión permanente a Internet?

o Sí

o No

3. ¿Se permite el acceso ilimitado a los empleados para navegar en internet?

o Sí

o No

o No lo se

4. ¿Cuántas áreas posee el Dpto. Informático?

5. ¿Cuántas personas tienen acceso al Dpto. Informático?

o Administradores

o Pasantes

o Otros

6. ¿Existe algún método de control que registre el acceso de los usuarios a los

servidores?

o Sí

o No

o No lo se

300

7. ¿Posee algún tipo de red privada o de uso confidencial, es decir limitada solo a

usuarios autorizados?

o Sí

o No

o No lo se

En caso de responder Sí:

a. ¿Se permite que los empleados accedan a esta red?

o Sí

o No

o No lo se

8. ¿Poseen medios para respaldo de la información?

o Sí

o No

En caso de responder Sí:

a. ¿Estos medios se encuentran dentro o fuera de las instalaciones de la

CISC?

o Dentro

o Fuera

o No lo se

9. Aparte de los medios de respaldo, ¿se permite a los empleados procesar

información relevante fuera de las instalaciones de la CISC?

o Sí

o No

o No lo se

10. ¿La CISC puede operar si la red de datos no está disponible?

o Sí

o No

o No lo se Ayuda a determinar si existe un plan de contingencia o si los procesos básicos seguirán dando servicios, en caso de que se vea afectada la red de datos.

11. ¿Se hace subcontratación para el mantenimiento o la propiedad de alguna parte

de la infraestructura tecnológica?

o Sí

o No Subcontratar la implantación de la infraestructura conlleva un mayor riesgo para el entorno debido a la dependencia generada en recursos externos.

12. ¿La red tiene más de un segmento?

o Sí

o No

o No lo se En caso de un ataque, la segmentación limita el daño posible.

301

13. ¿Tiene la CISC planificaciones para la selección y utilización de componentes de

nuevas tecnologías?

o Sí

o No

o No lo se La falta de planificación para la utilización de las tecnologías aumenta la posibilidad de tiempos de inactividad y de

ataques.

14. ¿Cree que la CISC participa en la adopción rápida de las nuevas tecnologías?

o Sí

o No

o No lo se

15. ¿Se limita el acceso a la información en función de los roles de los usuarios?

o Sí

o No

o No lo se El acceso a los datos y a las aplicaciones confidenciales debe limitarse conforme a los privilegios de las cuentas

individuales. Es importante dispones de mecanismos para el cumplimiento de estas limitaciones a fin de evitar traspasos de información no autorizados.

16. ¿Antes de implantar nuevos servicios o aplicaciones se realiza alguna evaluación

para determinar los posibles riesgos de seguridad?

o Sí

o No

17. ¿Se utiliza firewalls u otros controles de acceso en los perímetros de la red para

proteger los recursos?

o Sí

o No

o No lo se Los firewalls son un elemento importante para proteger las redes contra ataques. Es por ello que los firewalls, u

otros controles de acceso a nivel de red, son imprescindibles para la seguridad de la empresa.

En caso de responder Si:

a. ¿Se aplica estos controles en todas las oficinas?

o Sí

o No

b. ¿Se hace uso de alguna red DMZ para separar redes internas y externas

de los servicios albergados en la CISC?

o Sí

o No

o No lo se

c. ¿Se comprueba periódicamente el Firewall para garantizar que funciona

según lo previsto?

o Sí

o No

302

18. ¿Cuántos servidores poseen y de qué tipo son (Sistemas Operativos que usan)?

19. ¿Se usa firewall en los host para proteger los servidores?

o Sí

o No El firewall personal implementado en el host proporciona otra capa de defensa frente a las amenazas al extender

la funcionalidad del firewall hasta las computadoras de escritorios, equipos portátiles o servidores.

20. ¿Se usa hardware o software de detección de intrusos (IDS‟s) para identificar los

ataques a la seguridad?

o Sí

o No

21. ¿Se utiliza antivirus acorde con la cantidad de usuarios que hay en la CISC?

o Sí

o No

En caso de responder Sí:

a. Que sistemas lo usan:

o Mail server

o Host de perímetro (Gateway, Proxy, etc.)

o Computador de escritorio

o Servidores

o Otros:_______________________________________________

22. ¿Se puede acceder a la red de la CISC en forma remota?

o Sí

o No

En caso de responder Sí:

a. Quien se puede conectar a la red en forma remota

o Autoridades

o Empleados

o Terceros

b. ¿Se utiliza la tecnología VPN para las conexiones remotas?

o Sí

o No

303

23. ¿La red dispone de conexión inalámbrica?

o Sí

o No

En caso de responder Sí:

a. ¿Cuáles de los siguientes controles que menciono a continuación utiliza?

o Cambiar el nombre de la red predeterminado (conocido también

como SSID) de los puntos de acceso.

o Desactivar la difusión del SSID.

o Activar Wired Equivalent Privacy (WEP).

o Activar restricciones de direcciones MAC (filtrado por MAC).

o ¿Algún otro método? ___________________________________

24. ¿A parte de Firewall e IDS qué tipo de mecanismos de seguridad tienen

implementados actualmente para proteger las redes de la CISC?

25. ¿Con los mecanismos de seguridad que poseen actualmente, se ha logrado detectar

y mitigar algún tipo de intrusión?

o Sí

o No

o No lo se

En caso de responder Sí:

a. ¿Qué tipo de intrusiones han sido capaz de detectar los mecanismos de

seguridad que hay implementados (Spoofing, Sniffing, Rootkit)? Y

frecuencias.

b. ¿Existe algún método que Uds. usen para proceder analizar los ataques a la

seguridad que sufre la red ejemplo Análisis Forense?

o Sí

o No

c. ¿Una vez detectado la intrusión se realiza algún procedimiento para

corregir la vulnerabilidad existente?

o Sí

o No

o No lo se

304

26. ¿Hay controles para hacer cumplir las políticas de seguridad con respecto a las

contraseñas en todas las cuentas de los usuarios?

o Sí

o No

o No lo se

En caso de responder Sí:

a. ¿Para qué cuentas son aplicados estos controles de contraseñas?

o Administradores

o Usuarios

o Accesos remotos

o Otros:_________________________________________________ Las políticas para las contraseñas deben cumplirse en todas las cuentas, no solo en las de los administradores.

b. ¿El bloqueo de cuentas está activado para impedir el acceso a las cuentas

tras una serie de intentos de registro fallido?

o Sí

o No Para proteger frente a ataques por fuerza bruta, las cuentas deben configurarse para que no permitan el acceso

después de una cantidad determinada de intentos fallidos.

27. ¿Hay controles para hacer cumplir las políticas de contraseña con respecto a las

aplicaciones clave que usan dentro del establecimiento?

o Sí

o No

28. ¿Las aplicaciones clave del ambiente cuentan con mecanismos para limitar el

acceso a las funciones e información critica?

o Sí

o No El acceso a aplicaciones y datos sensibles debe limitarse conforme a los privilegios de cada cuenta.

29. ¿Las aplicaciones clave guardan mensajes en archivos como bitácoras o logs,

del uso para un posterior análisis y auditoria?

o Sí

o No

o No lo se Los archivos con la bitácora del uso son necesarios para auditar actividades sospechosas y anormales.

En caso de responder Sí:

a. Que tipos de eventos se registran:

o Intentos de autenticación fallidos

o Autenticaciones correctas.

o Errores de aplicación.

o Se denegó acceso a los recursos.

o Acceso a recursos permitido.

o Cambios a los datos.

o Cambios a las cuentas de usuarios.

305

30. ¿Los sistemas son configurados por personal interno o esta tarea la efectúan

otros proveedores o distribuidores de hardware?

o Configurada por personal interno o Configurada por un proveedor o distribuidor de hardware

31. ¿Cuáles de las soluciones siguientes se han instalado en las terminales de

trabajo y los equipos portátiles de los empleados?

o software de firewall personal

o software de detección y eliminación de spyware

o software de encriptación de discos

o software de administración/control remoto

o protector de pantalla protegido por contraseña

o Otros:____________________________________________________

o Ninguno

32. ¿Se han aplicado controles de seguridad físico para garantizar la seguridad de

la propiedad de la CISC?

o Sí

o No

o No lo se

33. ¿La CISC y los administradores conocen las vulnerabilidades de seguridad que

existen, tanto para las aplicaciones como para la red?

o Sí

o No

o No lo se

En caso de responder Sí:

a. ¿La carrera cuenta con los procedimientos para abordar dichas

vulnerabilidades?

o Sí

o No

34. En los últimos seis meses, ¿se ha sustituido radicalmente algún componente

tecnológico de gran importancia?

o Sí

o No

o No lo se

35. ¿Se cambia muy a menudo el personal técnico que apoya a las actividades

dentro del área?

o Sí

o No

306

36. ¿Existe un proceso establecido para las directivas de actualización y revisión?

o Sí

o No

En caso de responder Sí:

a. ¿Para qué componentes existen?

o Sistemas operativos

o Aplicaciones

o Ambos

37. ¿Se prueban las actualizaciones y revisiones antes de aplicarlas?

o Sí

o No

38. ¿Dentro del área existen individuos o grupos que sean responsables de la

seguridad de la red y sistemas?

o Sí

o No

o No lo se

En caso de responder Sí:

a. ¿Tienen estos individuos o grupos experiencia en el tema de la seguridad?

o Sí

o No

o No lo se

39. ¿Se realiza evaluaciones de la seguridad del entorno a través de terceros?

o Sí

o No

o No lo se Las evaluaciones de seguridad realizadas por terceros facilitan una visión más independiente y objetiva de sus soluciones de seguridad.

En el caso de responder Sí:

a. ¿Con que frecuencia se llevan a cabo estas evaluaciones?

o Semanal

o Mensual

o Trimestral

o Anual

o Cada 2 años más o menos

40. ¿Se realizan evaluaciones de la seguridad de forma interna?

o Sí

o No

o No lo se

En el caso de responder Sí:

307

a. ¿Con que frecuencia se llevan a cabo estas evaluaciones?

o Semanal

o Mensual

o Trimestral

o Anual

o Cada 2 años más o menos

GUIÓN DE PREGUNTAS PARA ENTREVISTA A USUARIOS FINALES

Este cuestionario ha sido elaborado para entrevistar a los usuarios de la red de la

CISC, con el fin de determinar los niveles de vulnerabilidad frente a los agentes

internos y sus respectivas estaciones de trabajo que usan los servicios que ofrece la

red.

1. ¿Tiene acceso ilimitado a cualquier página de internet?

a. Sí

b. No

2. ¿Cuándo va a iniciar la sesión en su estación de trabajo, se le pide que ingrese el

nombre de usuario y la contraseña?

a. Sí

b. No

3. ¿Cambia regularmente su contraseña?

a. Sí

b. No

4. ¿Su estación de trabajo ha sufrido ataques de virus?

a. Sí

b. No

5. ¿Usa dispositivos de almacenamiento tipo pendrive, flash memory u otro?

a. Sí

b. No

308

6. ¿Su estación de trabajo posee antivirus?

a. Sí

b. No

7. ¿Cómo considera la velocidad de procesamiento que posee su estación de trabajo?

o Excelente

o Muy buena

o Buena

o Regular

o Pésima

8. ¿Tiene permisos para instalar cualquier tipo de programas en su estación de

trabajo?

a. Sí

b. No

9. ¿Bloquea el equipo cuando debe ausentarse??

a. Sí

b. No

10. ¿Ha sido capacitado en seguridad en informática, ya sea en el cuidado al descargar

archivos o programas desde Internet?

a. Sí

b. No

11. ¿A parte de Ud. existe alguna otra persona que use su estación de trabajo?

a. Sí

b. No

12. ¿Ha sufrido pérdida de información en su estación de trabajo?

a. Sí

b. No

13. ¿Utiliza programas que no tienen relación con su labor?

a. Sí

b. No

14. ¿Cuando su estación de trabajo presenta algún problema Ud. lo reporta

inmediatamente a Soporte técnico?

a. Sí

b. No

309

15. La atención por parte del Soporte Técnico al problema que Ud. reporto es:

o Inmediata

o Se tarda poco

o Lo dejan de un día para otro

o No le prestan atención

16. ¿Una vez solucionado el problema, le ha vuelto a ocurrir lo mismo?

a. Sí

b. No

17. ¿Ocupa alguna computadora de uso personal, por ejemplo en su hogar, para

operar con información que maneja en su puesto de trabajo dentro del la CISC?

o Sí

o No

18. ¿Alguna vez ha notado, si los servicios que ofrece la red, por ejemplo: Conexión a

Internet, Uso de alguna Aplicación, Uso de una Impresora; han dejado de

funcionar, pero de manera general?

o Sí

o No

o No lo se

19. ¿Desde su punto de vista cómo calificaría el funcionamiento de la red interna y

sus servicios?

a. Excelente

b. Muy buena

c. Buena

d. Regular

e. Pésima

310

TABULACIÓN DE RESULTADOS DE LAS ENTREVISTAS

Defensa del Perímetro

PREG

UNTA VULNERAB

ILIDAD ESC

ALA RESPU

ESTA CANTI

DAD PROTE

CCIÓN ESC

ALA RESPU

ESTA CANTI

DAD

1 8 0 - 2 Sí 4

1 0 - 2 No ….

2 2 0 - 2 Sí - No

lo se 1

6 0 - 2 No 3

5 1 0 - 2 No - No

lo se ….

8 0 - 2 Sí 4

6 4 0 - 3 Sí 2

4 0 - 2 No - No

lo se 2

7 2 0 - 2 No 1

6 0 - 3 Sí 3

8 1 0 - 2 Sí ….

6 0 - 2 No - No

lo se 4

9 4 0 - 2 No - No

lo se 2

3 0 - 2 Sí 2

10 2 0 - 2 Sí 1

6 0 - 2 No 3

11 4 0 - 2 No - No

lo se 2

4 0 - 2 Sí 2

16 1 0 - 2 No - No

lo se ….

16 0 - 5 Sí 4

18 1 0 - 2 No ….

8 0 - 2 Sí 4

19 2 0 - 2 No 1

6 0 - 2 Sí 3

20 1 0 - 2 No ….

6 0 - 3 Sí 4

21 6 0 - 4 Sí 2

4 0 - 2 No 2

22 2 0 - 3 Sí 4

1 0 - 2 No ….

24 2 0 - 2 No - No

lo se 1

12 0 - 5 Sí 3

Total 43

97

311

Autenticación

PREG

UNTA VULNERAB

ILIDAD ESC

ALA RESPU

ESTA CANTI

DAD PROTE

CCIÓN ESC

ALA RESPU

ESTA CANTI

DAD

14 1 0 - 2 No - No

lo se ….

8 0 - 2 Sí 4

25 4 0 - 2 No - No

lo se 2

6 0 - 4 Sí 2

26 1 0 - 2 No ….

5 0 - 2 Sí 4

27 2 0 - 2 No 1

5 0 - 2 Sí 3

28 2 0 - 2 No - No

lo se 1

7 0 - 3 Sí 3

Total 10

31

Administración Y Control

PREG

UNTA VULNERAB

ILIDAD ESC

ALA RESPU

ESTA CANTI

DAD PROTE

CCIÓN ESC

ALA RESPU

ESTA CANTI

DAD

12 2 0 - 2 No - No

lo se 1

6 0 - 2 Sí 3

13 1 0 - 2 Sí ….

8 0 - 2 No - No

lo se 4

15 1 0 - 2 No - No

lo se ….

8 0 - 2 Sí 4

31 1 0 - 2 No - No

lo se ….

6 0 - 2 Sí 4

32 4 0 - 2 No - No

lo se 2

4 0 - 3 Sí 2

33 1 0 - 2 Sí ….

8 0 - 2 No - No

lo se 4

34 2 0 - 2 Sí 1

2 0 - 2 No 3

37 1 0 - 2 No - No

lo se ….

12 0 - 3 Sí 4

Total 13

54

312

Actualización y Evaluación

PREG

UNTA VULNERAB

ILIDAD ESC

ALA RESPU

ESTA CANTI

DAD PROTE

CCIÓN ESC

ALA RESPU

ESTA CANTI

DAD

35 1 0 - 2 No ….

10 0 - 3 Sí 4

36 1 0 - 2 No ….

8 0 - 2 Sí 4

38 8 0 - 2 No - No

lo se 4

1 0 - 3 Sí ….

39 2 0 - 2 No - No

lo se 1

6 0 - 3 Sí 3

Total 12

25

313

SCRIPT DE CREACIÓN DE TABLAS PERSONALIZADO PARA LA BASE

DE DATOS SNORT, ARCHIVO create_MySQL

#create_MySQL

# Copyright (C) 2000-2002 Carnegie Mellon University

#

# Maintainer: Roman Danyliw <[email protected]>,

<[email protected]>

#

# Original Author(s): Jed Pickel <[email protected]> (2000-2001)

# Roman Danyliw <[email protected]>

# Todd Schrubb <[email protected]>

CREATE TABLE `schema` ( vseq INT UNSIGNED NOT NULL,

ctime DATETIME NOT NULL,

PRIMARY KEY (vseq));

INSERT INTO `schema` (vseq, ctime) VALUES ('107', now());

CREATE TABLE event ( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

signature INT UNSIGNED NOT NULL,

timestamp DATETIME NOT NULL,

PRIMARY KEY (sid,cid),

INDEX sig (signature),

INDEX time (timestamp));

CREATE TABLE signature ( sig_id INT UNSIGNED NOT NULL

AUTO_INCREMENT,

sig_name VARCHAR(255) NOT NULL,

sig_class_id INT UNSIGNED,

sig_priority INT UNSIGNED,

sig_rev INT UNSIGNED,

sig_sid INT UNSIGNED,

sig_gid INT UNSIGNED,

PRIMARY KEY (sig_id),

INDEX sign_idx (sig_name(20)),

INDEX sig_class_id_idx

(sig_class_id));

CREATE TABLE sig_class ( sig_class_id INT UNSIGNED NOT NULL

AUTO_INCREMENT,

sig_class_name VARCHAR(60) NOT NULL,

PRIMARY KEY (sig_class_id),

INDEX (sig_class_id),

INDEX (sig_class_name));

# store info about the sensor supplying data

314

CREATE TABLE sensor ( sid INT UNSIGNED NOT NULL

AUTO_INCREMENT,

hostname TEXT,

interface TEXT,

filter TEXT,

detail TINYINT,

encoding TINYINT,

last_cid INT UNSIGNED NOT NULL,

PRIMARY KEY (sid));

# All of the fields of an ip header

CREATE TABLE iphdr ( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

ip_src INT UNSIGNED NOT NULL,

ip_dst INT UNSIGNED NOT NULL,

ip_ver TINYINT UNSIGNED,

ip_hlen TINYINT UNSIGNED,

ip_tos TINYINT UNSIGNED,

ip_len SMALLINT UNSIGNED,

ip_id SMALLINT UNSIGNED,

ip_flags TINYINT UNSIGNED,

ip_off SMALLINT UNSIGNED,

ip_ttl TINYINT UNSIGNED,

ip_proto TINYINT UNSIGNED NOT NULL,

ip_csum SMALLINT UNSIGNED,

PRIMARY KEY (sid,cid),

INDEX ip_src (ip_src),

INDEX ip_dst (ip_dst));

# All of the fields of a tcp header

CREATE TABLE tcphdr( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

tcp_sport SMALLINT UNSIGNED NOT NULL,

tcp_dport SMALLINT UNSIGNED NOT NULL,

tcp_seq INT UNSIGNED,

tcp_ack INT UNSIGNED,

tcp_off TINYINT UNSIGNED,

tcp_res TINYINT UNSIGNED,

tcp_flags TINYINT UNSIGNED NOT NULL,

tcp_win SMALLINT UNSIGNED,

tcp_csum SMALLINT UNSIGNED,

tcp_urp SMALLINT UNSIGNED,

PRIMARY KEY (sid,cid),

INDEX tcp_sport (tcp_sport),

INDEX tcp_dport (tcp_dport),

INDEX tcp_flags (tcp_flags));

# All of the fields of a udp header

CREATE TABLE udphdr( sid INT UNSIGNED NOT NULL,

315

cid INT UNSIGNED NOT NULL,

udp_sport SMALLINT UNSIGNED NOT NULL,

udp_dport SMALLINT UNSIGNED NOT NULL,

udp_len SMALLINT UNSIGNED,

udp_csum SMALLINT UNSIGNED,

PRIMARY KEY (sid,cid),

INDEX udp_sport (udp_sport),

INDEX udp_dport (udp_dport));

# All of the fields of an icmp header

CREATE TABLE icmphdr( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

icmp_type TINYINT UNSIGNED NOT NULL,

icmp_code TINYINT UNSIGNED NOT NULL,

icmp_csum SMALLINT UNSIGNED,

icmp_id SMALLINT UNSIGNED,

icmp_seq SMALLINT UNSIGNED,

PRIMARY KEY (sid,cid),

INDEX icmp_type (icmp_type));

# Protocol options

CREATE TABLE opt ( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

optid INT UNSIGNED NOT NULL,

opt_proto TINYINT UNSIGNED NOT NULL,

opt_code TINYINT UNSIGNED NOT NULL,

opt_len SMALLINT,

opt_data TEXT,

PRIMARY KEY (sid,cid,optid));

# Packet payload

CREATE TABLE data ( sid INT UNSIGNED NOT NULL,

cid INT UNSIGNED NOT NULL,

data_payload TEXT,

PRIMARY KEY (sid,cid));

# encoding is a lookup table for storing encoding types

CREATE TABLE encoding(encoding_type TINYINT UNSIGNED NOT NULL,

encoding_text TEXT NOT NULL,

PRIMARY KEY (encoding_type));

INSERT INTO encoding (encoding_type, encoding_text) VALUES (0,

'hex');

INSERT INTO encoding (encoding_type, encoding_text) VALUES (1,

'base64');

INSERT INTO encoding (encoding_type, encoding_text) VALUES (2,

'ascii');

# detail is a lookup table for storing different detail levels

316

CREATE TABLE detail (detail_type TINYINT UNSIGNED NOT NULL,

detail_text TEXT NOT NULL,

PRIMARY KEY (detail_type));

INSERT INTO detail (detail_type, detail_text) VALUES (0,

'fast');

INSERT INTO detail (detail_type, detail_text) VALUES (1,

'full');

# be sure to also use the Snortdb-extra tables if you want

# mappings for tcp flags, protocols, and ports

CREATE TABLE sig_reference (sig_id INT UNSIGNED NOT NULL,

ref_seq INT UNSIGNED NOT NULL,

ref_id INT UNSIGNED NOT NULL,

PRIMARY KEY(sig_id, ref_seq));

CREATE TABLE reference ( ref_id INT UNSIGNED NOT NULL

AUTO_INCREMENT,

ref_system_id INT UNSIGNED NOT NULL,

ref_tag TEXT NOT NULL,

PRIMARY KEY (ref_id));

CREATE TABLE reference_system ( ref_system_id INT UNSIGNED NOT

NULL AUTO_INCREMENT,

ref_system_name VARCHAR(20),

PRIMARY KEY (ref_system_id));

317

MODIFICACIÓN AL CÓDIGO FUENTE DE ACID

Archivo acid_log_error.inc

<?php

/*

* Analysis Console for Intrusion Databases (ACID)

*

* Author: Roman Danyliw <[email protected]>, <[email protected]>

*

* Copyright (C) 2000, 2001 Carnegie Mellon University

* (see the file 'acid_main.php' for license details)

*

* Purpose: debugging and logging routines

*

*/

function ErrorMessage ($message)

{

echo '<FONT COLOR="#FF0000">'.$message.'</FONT><P>';

}

function FatalError ($message)

{

echo '<FONT COLOR="#FF0000"><B>ACID FATAL ERROR:</B>

'.$message.'</FONT>';

die();

}

function PrintServerInformation()

{

echo '';

}

function PrintPageHeader()

{

GLOBAL $HTTP_SERVER_VARS, $DBtype, $ADODB_vers,

$HTTP_SESSION_VARS;

$tmp = session_encode();

if ( isset($HTTP_SERVER_VARS['HTTP_REFERER']) )

$http_referer = $HTTP_SERVER_VARS['HTTP_REFERER'];

else

$http_referer = "";

if ( isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) )

$http_user_agent = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];

318

else

$http_user_agent = "";

if ( isset($HTTP_SERVER_VARS['SERVER_SOFTWARE']) )

$server_software = $HTTP_SERVER_VARS['SERVER_SOFTWARE'];

else

$server_software = "";

echo "<PRE>

<B>URL:</B> '".$HTTP_SERVER_VARS["PHP_SELF"]."'

(<B>referred by:</B> '".$http_referer."')

<B>PARAMETERS:</B>

'".$HTTP_SERVER_VARS["QUERY_STRING"]."

<B>CLIENT:</B> ".$http_user_agent."

<B>SERVER:</B> ".$server_software."

<B>SERVER HW:</B> ".php_uname()."

<B>DATABASE TYPE:</B> $DBtype <B>DB ABSTRACTION

VERSION:</B> $ADODB_vers

<B>PHP VERSION:</B> ".phpversion()." <B>PHP API:</B>

".php_sapi_name()."

<B>ACID VERSION:</B> ".$GLOBALS['ACID_VERSION']."

<B>SESSION ID:</B> ".session_id()."( ".strlen($tmp)."

bytes )

</PRE>";

}

function PrintHTTPPost()

{

GLOBAL $_POST;

echo "<BR><B>HTTP POST Variables</B><PRE>";

print_r($_POST);

echo "</PRE>";

}

?>

319

Archivo acid_state_common.inc

<?php

/*

* Analysis Console for Intrusion Databases (ACID)

*

* Author: Roman Danyliw <[email protected]>, <[email protected]>

*

* Copyright (C) 2000-2002 Carnegie Mellon University

* (see the file 'acid_main.php' for license details)

*

* Purpose: routines to manipulate shared state (session

* information)

*

*/

/*

**************************************************************

*********

* Function: InitArray()

*

* @doc Defines an initializes a 1 or 2 dimensional PHP array.

*

* @param $a (in/out) array to initialize

* @param $dim1 number of elements of first dimension

* @param $dim2 number of elements of second dimension

* @param $value default value

*

**************************************************************

**********/

function InitArray(&$a, $dim1, $dim2, $value)

{

$a = "";

/* determine the number of dimensions in the array */

if ( $dim2 == 0 ) /* 1-dim */

for ( $i = 0; $i < $dim1; $i++ )

$a[$i] = $value;

else /* 2-dim */

for ( $i = 0; $i < $dim1; $i++ )

for ( $j = 0; $j < $dim2; $j++ )

$a[$i][$j] = $value;

}

/*

**************************************************************

*********

* Function: RegisterGlobalState()

*

320

* @doc Application-specific wrapper for PHP session_start().

It performs

* a couple of additional configuration checks (notably

for custom

* PHP session handlers).

*

**************************************************************

**********/

function RegisterGlobalState()

{

/* Deal with user specified session handlers */

if (session_module_name() == "user" )

{

if ( $GLOBALS['use_user_session'] != 1 )

{

ErrorMessage("PHP ERROR: A custom (user) PHP session

have been detected. However, ACID has not been ".

"set to explicitly use this custom

handler. Set <CODE>use_user_session=1</CODE> in ".

"<CODE>acid_conf.php</CODE>");

die();

}

else if ( $GLOBALS['user_session_path'] != "" )

{

if ( is_file($GLOBALS['user_session_path']) )

{

include_once($GLOBALS['user_session_path']);

if ( $GLOBALS['user_session_function'] != "" )

$GLOBALS['user_session_function']();

}

else

{

ErrorMessage("PHP ERROR: A custom (user) PHP

session hander has been configured, but the supplied ".

"hander code specified in

<CODE>user_session_path</CODE> is invalid.");

die();

}

}

else

{

ErrorMessage("PHP ERROR: A custom (user) PHP session

handler has been configured, but the implementation ".

"of this handler has not been specified

in ACID. If a custom session handler is desired, ".

"set the <CODE>user_session_path</CODE>

variable in <CODE>acid_conf.php</CODE>.");

die();

321

}

}

session_start();

if ( $GLOBALS['debug_mode'] > 0 )

echo '<FONT COLOR="#FF0000">Session

Registered</FONT><BR>';

}

/*

**************************************************************

*********

* Function: CleanVariables()

*

* @doc Removes invalid characters/data from a variable based

on a

* specified mask of acceptable data or a list of

explicit values.

*

* Note: only the mask or explicit list can be used a a

time

*

* @param item variable to scrub

* @param valid_data mask of valid characters

* @param exception array with explicit values to match

*

* @return a sanitized version of the passed variable

*

**************************************************************

**********/

function CleanVariable($item, $valid_data, $exception = "")

{

return $item;

/* Check the exception value list first */

if ( $exception != "" )

{

if ( in_array($item, $exception) )

return $item;

else

return "";

}

if ( $valid_data == "" )

return $item;

$regex_mask = "";

322

if ( ($valid_data & VAR_DIGIT) > 0 )

$regex_mask = $regex_mask . "0-9";

if ( ($valid_data & VAR_LETTER) > 0 )

$regex_mask = $regex_mask . "A-Za-z";

if ( ($valid_data & VAR_ULETTER) > 0 )

$regex_mask = $regex_mask . "A-Z";

if ( ($valid_data & VAR_LLETTER) > 0 )

$regex_mask = $regex_mask . "a-z";

if ( ($valid_data & VAR_ALPHA) > 0 )

$regex_mask = $regex_mask . "0-9A-Za-z";

if ( ($valid_data & VAR_SPACE) > 0 )

$regex_mask = $regex_mask . "\ ";

if ( ($valid_data & VAR_PERIOD) > 0 )

$regex_mask = $regex_mask . "\.";

if ( ($valid_data & VAR_OPAREN) > 0 )

$regex_mask = $regex_mask . "\(";

if ( ($valid_data & VAR_CPAREN) > 0 )

$regex_mask = $regex_mask . "\)";

if ( ($valid_data & VAR_BOOLEAN) > 0 )

$regex_mask = $regex_mask . "\)";

if ( ($valid_data & VAR_OPERATOR) > 0 )

$regex_mask = $regex_mask . "\)";

if ( ($valid_data & VAR_PUNC) > 0 )

$regex_mask = $regex_mask . "\!\#\$\%\^\&\*\_\-

\=\+\:\;\,\?\ \(\))";

if ( ($valid_data & VAR_USCORE) > 0 )

$regex_mask = $regex_mask . "\_";

if ( ($valid_data & VAR_AT) > 0 )

$regex_mask = $regex_mask . "\@";

return ereg_replace("[^".$regex_mask."]", "", $item);

}

323

/*

**************************************************************

*********

* Function: SetSessionVar()

*

* @doc Handles retrieving and updating persistant session

(criteria)

* data. This routine handles the details of checking

for criteria

* updates passed through POST/GET and resolving this

with values

* that may already have been set and stored in the

session.

*

* All criteria variables need invoke this function

before they are

* used for the first time to extract their previously

stored values,

* and process potential updates to their value.

*

* Note: Validation of user input is not performed by

this routine.

*

* @param $var_name name of the persistant session variable

to retrieve

*

* @return the updated value of the persistant session

variable named

* by $var_name

*

**************************************************************

**********/

function SetSessionVar($var_name)

{

GLOBAL $_POST, $_GET, $HTTP_SESSION_VARS;

if ( isset($_POST[$var_name]) )

{

if ( $GLOBALS['debug_mode'] > 0 ) echo "importing POST

var '$var_name'<BR>";

return $_POST[$var_name];

}

else if ( isset($_GET[$var_name]) )

{

if ( $GLOBALS['debug_mode'] > 0 ) echo "importing GET

var '$var_name'<BR>";

return $_GET[$var_name];

}

324

else if ( isset($HTTP_SESSION_VARS[$var_name]) )

{

if ( $GLOBALS['debug_mode'] > 0 ) echo "importing

SESSION var '$var_name'<BR>";

return $HTTP_SESSION_VARS[$var_name];

}

else

return "";

}

/*

**************************************************************

*********

* Function: ImportHTTPVar()

*

* @doc Handles retrieving temporary state variables needed to

present a

* given set of results (e.g., sort order, current

record). The

* values of these variables are never persistantly

stored. Rather,

* they are passed as HTTP POST and GET parameters.

*

* All temporary variables need invoke this function

before they are

* used for the first time to extract their value.

*

* Optionally, sanitization parameters can be set, ala

CleanVariable()

* syntax to validate the user input.

*

* @param $var_name name of the temporary state variable

to retrieve

* @param $valid_data (optional) list of valid character

types

* (see CleanVariable)

* @param $exception (optional) array of explicit values

the imported

* variable must be set to

*

* @see CleanVariable

*

* @return the sanitized value of the temporary state variable

named

* by $var_name

*

**************************************************************

**********/

325

function ImportHTTPVar($var_name, $valid_data = "", $exception

= "")

{

GLOBAL $_POST, $_GET, $debug_mode;

$tmp = "";

if ( isset($_POST[$var_name]) )

{

//if ( $debug_mode > 0 ) echo "importing POST var

'$var_name'<BR>";

$tmp = $_POST[$var_name];

}

else if ( isset($_GET[$var_name]) )

{

//if ( $debug_mode > 0 ) echo "importing GET var

'$var_name'<BR>";

$tmp = $_GET[$var_name];

}

else

$tmp = "";

return CleanVariable($tmp, $valid_data, $exception);

}

/*

**************************************************************

*********

* Function: ExportHTTPVar()

*

* @doc Handles export of a temporary state variables needed

to present a

* given set of results (e.g., sort order, current

record). This

* routine creates a hidden HTML form variable.

*

* Note: The user is responsible for generating the

appropriate HTML

* form code.

*

* Security Note: Only, temporary variables should make

use of this

* function. These values are exposed in

HTML to the

* user; he is free to modify them.

*

* @param $var_name name of the temporary state variable

to export

* @param $var_value value of the temporary state variable

326

*

* @see ImportHTTPVar

*

**************************************************************

**********/

function ExportHTTPVar ($var_name, $var_value)

{

echo "<INPUT TYPE=\"hidden\" NAME=\"$var_name\"

VALUE=\"$var_value\">\n";

}

?>

327

Archivo acid_state_criteria.inc

<?php

/*

* Analysis Console for Intrusion Databases (ACID)

*

* Author: Roman Danyliw <[email protected]>, <[email protected]>

*

* Copyright (C) 2001-2002 Carnegie Mellon University

* (see the file 'acid_main.php' for license details)

*

* Purpose: routines to manipulate shared state (session

* information)

*

*/

include_once("acid_state_common.inc");

include_once("acid_state_citems.inc");

class CriteriaState

{

var $clear_criteria_name;

var $clear_criteria_element;

var $clear_url;

var $clear_url_params;

var $criteria;

function CriteriaState($url, $params = "")

{

$this->clear_url = $url;

$this->clear_url_params = $params;

/* XXX-SEC */

GLOBAL $db;

$this->criteria['sig'] = new SignatureCriteria(&$db,

&$this, "sig");

$this->criteria['sig_class'] = new

SignatureClassificationCriteria(&$db, &$this, "sig_class");

$this->criteria['sig_priority'] = new

SignaturePriorityCriteria(&$db, &$this, "sig_priority");

$this->criteria['ag'] = new AlertGroupCriteria(&$db,

&$this, "ag");

$this->criteria['sensor'] = new SensorCriteria(&$db,

&$this, "sensor");

$this->criteria['time'] = new TimeCriteria(&$db, &$this,

"time", TIME_CFCNT);

328

$this->criteria['ip_addr'] = new IPAddressCriteria(&$db,

&$this, "ip_addr", IPADDR_CFCNT);

$this->criteria['layer4'] = new Layer4Criteria(&$db,

&$this, "layer4");

$this->criteria['ip_field'] = new IPFieldCriteria(&$db,

&$this, "ip_field", PROTO_CFCNT);

$this->criteria['tcp_port'] = new TCPPortCriteria(&$db,

&$this, "tcp_port", PROTO_CFCNT);

$this->criteria['tcp_flags'] = new TCPFlagsCriteria(&$db,

&$this, "tcp_flags");

$this->criteria['tcp_field'] = new TCPFieldCriteria(&$db,

&$this, "tcp_field", PROTO_CFCNT);

$this->criteria['udp_port'] = new UDPPortCriteria(&$db,

&$this, "udp_port", PROTO_CFCNT);

$this->criteria['udp_field'] = new UDPFieldCriteria(&$db,

&$this, "udp_field", PROTO_CFCNT);

$this->criteria['icmp_field'] = new

ICMPFieldCriteria(&$db, &$this, "icmp_field", PROTO_CFCNT);

$this->criteria['data'] = new DataCriteria(&$db, &$this,

"data", PAYLOAD_CFCNT);

/*

* For new criteria, add a call to the appropriate

constructor here, and implement

* the appropriate class in acid_stat_citems.inc.

*/

}

function InitState()

{

RegisterGlobalState();

$valid_criteria_list = array_keys($this->criteria);

foreach ( $valid_criteria_list as $cname )

$this->criteria[$cname]->Init();

}

function ReadState()

{

RegisterGlobalState();

/*

* If the BACK button was clicked, shuffle the

appropriate

* criteria variables from the $back_list (history) array

into

* the current session ($HTTP_SESSION_VARS)

*/

329

if ( ($GLOBALS['maintain_history'] == 1) &&

(ImportHTTPVar("back", VAR_DIGIT) == 1) )

{

PopHistory();

}

/*

* Import, update and sanitize all persistant criteria

variables

*/

$valid_criteria_list = array_keys($this->criteria);

foreach ( $valid_criteria_list as $cname )

{

$this->criteria[$cname]->Import();

$this->criteria[$cname]->Sanitize();

}

/*

* Check whether criteria elements need to be cleared

*/

$this->clear_criteria_name =

ImportHTTPVar("clear_criteria", "",

array_keys($this->criteria));

$this->clear_criteria_element =

ImportHTTPVar("clear_criteria_element", "",

array_keys($this->criteria));

if ( $this->clear_criteria_name != "" )

$this->ClearCriteriaStateElement($this-

>clear_criteria_name,

$this-

>clear_criteria_element);

/*

* Save the current criteria into $back_list (history)

*/

if ( $GLOBALS['maintain_history'] == 1 )

PushHistory();

}

function GetBackLink()

{

return PrintBackButton();

}

function GetClearCriteriaString($name, $element = "")

{

330

return '&nbsp;&nbsp;<A HREF="'.$this-

>clear_url.'?clear_criteria='.$name.

'&clear_criteria_element='.$element.$this-

>clear_url_params.'">...clear...</A>';

}

function ClearCriteriaStateElement($name, $element)

{

$valid_criteria_list = array_keys($this->criteria);

if ( in_array($name, $valid_criteria_list) )

{

ErrorMessage("Removing '$name' from criteria");

$this->criteria[$name]->Init();

}

else

ErrorMessage("Invalid criteria element");

}

}

/*

**************************************************************

*********

* Function: PopHistory()

*

* @doc Remove and restore the last entry of the history list

(i.e.,

* hit the back button in the browser)

*

* @see PushHistory PrintBackButton

*

**************************************************************

**********/

function PopHistory()

{

GLOBAL $HTTP_SESSION_VARS;

if ( $HTTP_SESSION_VARS['back_list_cnt'] >= 0 )

{

/* Remove the state of the page from which the back

button was

* just hit

*/

unset($HTTP_SESSION_VARS['back_list'][$HTTP_SESSION_VARS['back

_list_cnt']]);

331

/*

* save a copy of the $back_list because

session_destroy()/session_decode() will

* overwrite it.

*/

$save_back_list = $HTTP_SESSION_VARS['back_list'];

$save_back_list_cnt =

$HTTP_SESSION_VARS['back_list_cnt']-1;

/* Restore the session

* - destroy all variables in the current session

* - restore proper back_list history entry into the

current variables (session)

* - but, first delete the currently restored

entry and

* decremement the history stack

* - push saved back_list back into session

*/

session_unset();

if ( $GLOBALS['debug_mode'] > 2 )

ErrorMessage("Popping a History Entry from

#".$save_back_list_cnt);

session_decode($save_back_list[$save_back_list_cnt]["session"]

);

unset($save_back_list[$save_back_list_cnt]);

--$save_back_list_cnt;

$HTTP_SESSION_VARS['back_list'] = $save_back_list;

$HTTP_SESSION_VARS['back_list_cnt'] =

$save_back_list_cnt;

}

}

/*

**************************************************************

*********

* Function: PushHistory()

*

* @doc Save the current criteria into the history list

($back_list,

* $back_list_cnt) in order to support the ACID back

button.

*

* @see PopHistory PrintBackButton

*

332

**************************************************************

**********/

function PushHistory()

{

GLOBAL $HTTP_SERVER_VARS, $HTTP_SESSION_VARS, $_POST;

if ( $GLOBALS['debug_mode'] > 1 )

{

ErrorMessage("Saving state (into

".$HTTP_SESSION_VARS['back_list_cnt'].")");

}

/* save the current session without the $back_list into the

history

* - make a temporary copy of the $back_list

* - NULL-out the $back_list in $HTTP_SESSION_VARS (so

that

* the current session is serialized without these

variables)

* - serialize the current session

* - fix-up the QUERY_STRING

* - make a new QUERY_STRING that includes the

temporary QueryState variables

* - remove &back=1 from any QUERY_STRING

* - add the current session into the $back_list

(history)

*/

$tmp_back_list = $HTTP_SESSION_VARS['back_list'];

$tmp_back_list_cnt = $HTTP_SESSION_VARS['back_list_cnt'];

$HTTP_SESSION_VARS['back_list'] = NULL;

$HTTP_SESSION_VARS['back_list_cnt'] = -1;

$full_session = session_encode();

$HTTP_SESSION_VARS['back_list'] = $tmp_back_list;

$HTTP_SESSION_VARS['back_list_cnt'] = $tmp_back_list_cnt;

$query_string = $HTTP_SERVER_VARS["QUERY_STRING"];

if ( isset($_POST['caller']) ) $query_string .=

"&caller=".$_POST['caller'];

if ( isset($_POST['num_result_rows']) ) $query_string .=

"&num_result_rows=".$_POST['num_result_rows'];

if ( isset($_POST['sort_order']) ) $query_string .=

"&sort_order=".$_POST['sort_order'];

if ( isset($_POST['current_view']) ) $query_string .=

"&current_view=".$_POST['current_view'];

if ( isset($_POST['submit']) ) $query_string .=

"&submit=".$_POST['submit'];

333

$query_string = ereg_replace("back=1&", "", $query_string);

++$HTTP_SESSION_VARS['back_list_cnt'];

$HTTP_SESSION_VARS['back_list'][$HTTP_SESSION_VARS['back_list_

cnt']] =

array ("PHP_SELF" =>

$HTTP_SERVER_VARS["PHP_SELF"],

"QUERY_STRING" => $query_string,

/*$HTTP_SERVER_VARS["QUERY_STRING"], */

"session" => $full_session );

if ( $GLOBALS['debug_mode'] > 1 )

{

ErrorMessage("Insert session into slot

#".$HTTP_SESSION_VARS['back_list_cnt']);

echo "Back List (Cnt =

".$HTTP_SESSION_VARS['back_list_cnt'].") <PRE>";

print_r($HTTP_SESSION_VARS['back_list']);

echo "</PRE>";

}

}

/*

**************************************************************

*********

* Function: PrintBackButton()

*

* @doc Returns a string with the URL of the previously viewed

* page. Clicking this link is equivalent to using the

browser

* back-button, but all the associated ACID meta-

information

* propogates correctly.

*

* @see PushHistory PopHistory

*

**************************************************************

**********/

function PrintBackButton()

{

GLOBAL $HTTP_SESSION_VARS;

if ( $GLOBALS['maintain_history'] == 0 )

return "<FONT>Back</FONT>";

334

$criteria_num = $HTTP_SESSION_VARS['back_list_cnt'] - 1;

if (

isset($HTTP_SESSION_VARS['back_list'][$criteria_num]["PHP_SELF

"]) )

return "<FONT><A

HREF=\"".$HTTP_SESSION_VARS['back_list'][$criteria_num]["PHP_S

ELF"].

"?back=1&".

$HTTP_SESSION_VARS['back_list'][$criteria_num]["QUERY_STRING"]

."\">Back</A></FONT>";

else

return "<FONT>Back</FONT>";

}

?>

335

ARCHIVO DE CONFUGURACIÓN DEL FIREWALL

EN UBUNTU 10.04 USANDO IPTABLES

Archivo firewall.sh

#!/bin/bash

#-s Especifica una direccion de origen

#-d Especifica una direccion de destino

#-p Especifica un protocolo

#-A Especifica una interfaz de entrada

#-o Especifica una interfaz de salidad

#-i Especifica la accion a ejecutar sobre el paquete

#--sport Puerto de origen

#--dport Puerto de destino

echo -n Aplicando reglas de firewall...

#Borrar todas la reglas

iptables -F

iptables -X

#Politica General.

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

#Permite conexion establecida por paquetes que vienen de otras

pc

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j

ACCEPT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j

ACCEPT

#Acepta todo de local host

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

##OTRAS PROTECCIONES##

# Quitamos los pings.

/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# No respondemos a los broadcast.

/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Para evitar el spoofing nos aseguramos de que la direccion

origen del paquete viene del sitio correcto.

for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do

/bin/echo "1" > ${interface}

done

# Los ICMPs redirigidos que pueden alterar la tabla de rutas.

for interface in /proc/sys/net/ipv4/conf/*/accept_redirects;

do

/bin/echo "0" > ${interface}

Done

336

# No guardamos registros de los marcianos.

/bin/echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

# Asegurar, aunque no tenga soporte el nucleo, q no hay

forward.

/bin/echo "0" > /proc/sys/net/ipv4/ip_forward

###Reglas de los puertos####

# Permitimos la comunicación con el servidor dns

iptables -A INPUT -p UDP --dport 53 -j ACCEPT

iptables -A INPUT -p TCP --dport 53 -j ACCEPT

#Permiso para SEBEK

iptables -A INPUT -p UDP --dport 1101 -j ACCEPT

iptables -A INPUT -p TCP --dport 1101 -j ACCEPT

#No permitir que nada mas entre

iptables -A INPUT -i eth+ -p udp -j DROP

iptables -A INPUT -i eth+ -p tcp -m tcp --syn -j DROP

#Permitimos todo el trafico de la LAN

iptables -A INPUT -s 192.168.0.102 -j ACCEPT

iptables -A INPUT -s 192.168.0.106 -j ACCEPT

echo "OK verifique lo que se aplica con: sudo iptables -L"

#Fin del script

337

REFERENCIAS BIBLIOGRÁFICAS

LIBROS

Aguilar, G. (2007). Sistema de Detección de Intrusos para una red inalambrica

de una PYME. México DF: Instituto Politécnico Nacional, Escuela Superior de

Ingeniería Mecánica y Eléctrica.

Aldegani, G. (1997). Seguridad Informática. Argentina: MP Ediciones.

Alfaro, J. (2009). Implantación de un N-IDS en la Universidad de Valencia.

España: Universidad de Valencia.

Ander-Egg, E. (1990). Técnicas de Investigación Social (1 era ed.). Alicante,

España: Editora Gráfica Díaz.

Avilés, J. (2009). Captura y Análisis que sufren las redes de datos de la ESPOL,

Implantando una Honeynet . Guayaquil, Ecuador: ESPOL, Facultad de Ingeniería

en Electricidad y Computación.

Berenguela, A. (2006). Metodología de medición de vulnerabilidades en redes de

datos de organizaciones. Chile: INACAP, Ingeniería en Conectividad y Redes.

Borghello, C. (2001). Seguridad Informática, sus implicancias e implementación.

Buenos Aires, Argentina: NN.

Cifuentes, J. (2004). Manual de Detección de vulnerabilidades en redes TCP/IP.

Cali, Colombia: Universidad del Valle, Facultad de Ingeniería, Escuela de

Ingeniería Eléctrica y Electrónica.

Fernandez, H. (2008). Detección y Limitaciones de ataques clásicos con

Honeynets virtuales. Argentina: Universidad Nacional de Comahue.

338

Ferrero, J. A. (2009). Sistema híbrido para la detección de código malicioso.

España: Universidad Complutense de Madrid, Facultad de Informática, Sistemas

Informáticos.

Gonzalez, V. (2009). Sistema de detección de intrusos basado en sistema experto.

México DF: Instituto Politécnico Nacional, Centro de investigación en

computación.

Kuehl, K. (2000). The Honeynet Project: Advancements in Honeypot tools.

Estados Unidos.

López, D. (2009). Análisis inicial de la anatomía de un ataque a un sistema

informático. México: UNAM (Universidad Autónoma de México).

Martínez, B. (2009). Honeypot Virtual de Alta Interacción para Windows XP.

España: Universidad Carlos III de Madrid.

Northcutt, S. (1999). Network Intrusion Detection: An analyst’s handbook .

Estados Unidos: New raiders.

Norton, P. (2000). Introducción a la Computación (Tercera ed.). México:

MacGraw-Hill.

Ramos, D. (2009). Simulación de un Sistema de Protección Y Seguridad de

Servidores WEB y de Correo Electrónico. Quito: Universidad Politécnica

Nacional. Facultad de Ingeniería Eléctrica y Electrónica.

Ranum, M. (1992). TIS Firewall Tooolkit. Estado Unidos.

339

Rutinel, J. U. (1997). Diccionarios de Investigación Científica. Santo Domingo,

República Dominicana: Editora Universitaria UASD (Univesidad Autonoma de

Santo Domingo).

Sabino, C. (1978). El proceso de la investigación. Buenos Aires, Argentina:

Editorial El Cid Editor.

Sandeep, K. (1995). Classification and Detection of Computers Intrusions. West

Lafayette, Estados Unidos: Tesis de PhD de la Purdue University.

Simpson, G. (1991). Practical UNIX Security. California, Estados Unidos:

O'Reilly ans Associates.

Spitzner, L. (2003). Definitions and value of Honeypots. EE.UU.

Stoll, C. (1990). The cuckoo's egg: Tracking a spy throught the maze of computer

espionage. Estados Unidos: Doubleday.

Verdejo, G. (2003). Seguridad en redes IP. España: Universidad Autónoma de

Barcelona, Departamento de Informática: Doctorado en Informática.

Vieites, A. G. (2007). Enciclopedia de la Seguridad Informática. México:

Alfaomega Grupo Editorial.

Winkler, I. (2007). Zen an the Art of Information Security. Estados Unidos:

Syngress Publishing.

Zurutaga, U. (2009). Estado del Arte Sistemas de Detección de Intruso. País

Basco, España: Universidad de Mondragón.

340

PUBLICACIONES

Cheswick, W. (2000). Firewalls and Internet Security. New Jersey, Estados

Unidos: NN.

Cotal, S. (2009). Honeypots y Honeynets. Argentina: Dpto. Ciencias de la

Computación, Universidad Nacional de Comahue .

Espinoza, M. (s.f.). UTPL (Universidad Técnica Particular de Loja). Recuperado

el 15 de Septiembre de 2010, de Honeynet como Apoyo a la Investigación de

Seguridad de Redes en entornos Universitarios:

http://www.utpl.edu.ec/honeynet/wp-content/uploads/2009/09/proyecto-honeynet-

utpl.pdf

Even, L. (2000). Honeypot System Explained. Recuperado el 18 de Agosto de

2010, de SANS: The most trusted source for computer security training,

certification and research: http://www.sans.org/security-

resources/idfaq/honeypot3.php

Grajales, T. (2000). Tipos de Investigación . Recuperado el 15 de Junio de 2010,

de Documento que muestra los tipos de investigación:

http://tgrajales.net/investipos.pdf

Levine, J. (2003). The use of honeynets to detect exploited systems across large

enterprise. Recuperado el 18 de Agosto de 2010, de IEEE Workshop on

Information Assurance: http://www.tracking-hackers.com/papers/gatech-

honeynet.pdf

341

Papers Honeynet Proyect, Universidad de Michigan. (2008). Recuperado el 10

de Agosto de 2010, de Guia de Introducción a las Honeypot:

http://niels.xtdnet.nl/papers/honeynet/mgp00001.html

Ramírez, R. (2003). Honeypot Honeynet: señuelos y máquinas trampa, conozca a

su enemigo. SIC: Revista de seguridad en informática y comunicaciones (56), 62-

64.

Metodología de la Investigación. (2010). Recuperado el 10 de Agosto de 2010,

de Tesis y Monografías: Metodología de la Investigación:

http://www.mistareas.com.ve/

Weley, A. (2001). The Honeynet Proyect. Recuperado el 23 de Julio de 2010, de

Papers: Know Your enemy: http://www.project.honeynet.org/papers

Wesley, A. (13 de Septiembre de 2003). Conoce a tu enemigo: Sebek 2.

Recuperado el 11 de Septiembre de 2010, de Papers Honeynet Proyect:

http://his.sourceforge.net/honeynet/papers/sebek/

342

DIRECCIONES WEB

A.C.I.D. (Analysis Console for Intrusion DataBase). (2010). Recuperado el 15

de Septiembre de 2010, de Pagina Oficial de ACID:

http://www.andrew.cmu.edu/user/rdanyliw/snort/snortacid.html

ABCdatos. (2010). Recuperado el 17 de Julio de 2010, de Guia de Intalación y

Configuración de VMware workstation 6:

http://foros.abcdatos.com/viewtopic.php?t=16671

ALEGSA. (2010). Recuperado el 20 de Julio de 2010, de Conceptos de VMware

worstation: http://www.alegsa.com.ar/Dic/vmware%20workstation.php

Analysis Console for Intrusion Databases (ACID). (s.f.). Recuperado el 27 de

Agosto de 2010, de Sitio Web para descargar ACID:

http://acidlab.sourceforge.net/

Apache Software Foundation. (1999). Recuperado el 27 de Agosto de 2010, de

Sitio Web de Apache Software Foundation, Descarga de APACHE WEB

SERVER: http://www.apache.org/

AUTOPSY. (2003). Recuperado el 13 de Octubre de 2010, de Sitio web oficial de

AUTOPSY, Programa de análisis forence: http://www.sleuthkit.org/autopsy/

CEPEU. (2010). Recuperado el 20 de Septiembre de 2010, de Seguridad

Informática: Pilares Básicos:

http://www.cepeu.edu.py/LIBROS_ELECTRONICOS_3/lpcu082%20-%2001.pdf

343

Comunidad Underground de México. (08 de Junio de 2010). Recuperado el 12

de Agosto de 2010, de Paper Cyber Crimen y el Nacimiento de la Informática

forense + HoneyPots :

https://www.underground.org.mx/index.php?action=printpage;topic=25638.0

CONATEL. (17 de Abril de 2002). Reglamento a la Ley de comercio

electrónico, firmas electrónicas y mensajes de datos. Recuperado el 2010 de

Agosto de 2010, de Sitio Web del CONATEL:

http://www.conatel.gov.ec/site_conatel/index.php?option=com_content&view=art

icle&catid=48%3Anormas-del-sector&id=99%3A-reglamento-a-la-ley-de-

comercio-electronico-firmas-electronicas-y-mensajes-de-datos&Itemid=103

CONESUP. (s.f.). Ley de Educacion Superior. Recuperado el 26 de Agosto de

2010, de Sitio Web del CONESUP: http://www.conesup.net/leyes.php

Configuracion de Redes en VMware. (Agosto de 2008). Recuperado el 25 de

Julio de 2010, de Guía de Configuración en modo Bridged VMware:

http://dacosta51.wordpress.com/2008/08/07/vmware-configuracin-de-red-en-

modo-bridge/

Cristalab. (2010). Recuperado el 22 de Julio de 2010, de Guía Básica Práctica de

VMware Worstation : http://foros.cristalab.com/guia-basica-practica-de-vmware-

workstation-t6051/

Ecualug.org. (2010). Recuperado el 17 de Septiembre de 2010, de Foro de

discusion Ecualug.org: http://www.ecualug.org

344

F.I.R.E. (2010). Recuperado el 13 de Octubre de 2010, de Sitio web oficial de

Forensic Insident Responce Enviroment (F.I.R.E): http://fire.dmzs.com/

FOREMOST. (2010). Recuperado el 13 de Octubre de 2010, de Sitio web oficial

de FOREMOST: http://foremost.sourceforge.net/

Honeyd. (2010). Recuperado el 07 de Septiembre de 2010, de Virtual Honeypots:

http://www.honeyd.org

Honeypots. (2010). Recuperado el 5 de Septiembre de 2010, de Herramientas de

seguridad de la Información: http://honeypots.wordpress.com/

IETF. (2004). Recuperado el 27 de Julio de 2010, de IDWG - Intrusion Detection

Working Group: http://datatracker.ietf.org/wg/idwg/charter/

Kuehl, K. (2002). The Honeynet project: Advancements in Honeypot tools.

Recuperado el 23 de Julio de 2010, de Presentacion sobre The Honeynet project:

Advancements in Honeypot tools:

http://www.google.com.ec/url?sa=t&source=web&cd=1&ved=0CBQQFjAA&url

=http%3A%2F%2Fwinfingerprint.sourceforge.net%2Fpresentations%2Fhoneynet

_project-

mexico2003.ppt&ei=KNpJTIT8MIP_8AbkqtzBDg&usg=AFQjCNE4MiwXqBPT

UuTSzWr3SsM3Xfdg1A&sig2=JTZH4gUIidpX48C51qISfA

Microsoft TechNet. (2010). Recuperado el 30 de Julio de 2010, de TechCenter de

clientes Windows, Máquinas Virtuales: http://technet.microsoft.com/es-

es/library/ee449441%28WS.10%29.aspx

345

Reglamento de la Investigación Científica y Tecnológica de la Universidad de

Guayaquil. (5 de Julio de 2006). Recuperado el 26 de Agosto de 2010, de

Documento de Sitio web de la Universidad de Guayaquil:

http://www.ug.edu.ec/dipacad/descargas/general/Reglam_Inv_Cient.pdf

Roesch, M. (2002). Snort. Recuperado el 27 de Julio de 2010, de Snort - The

Open Source Intrusion Destection System: http://www.snort.org/

Segobia, A. (30 de Abril de 2010). Security Artwork. Recuperado el 16 de Agosto

de 2010, de Honeynets II: Honeypots (Para aprender, perder… o no):

http://www.securityartwork.es/2010/04/30/honeypots-ii-para-aprender-

perder%E2%80%A6-o-no/

SICE. (s.f.). Ley de la Propiedad Intelectual. Recuperado el 19 de Agosto de

2010, de Sitio Web del SICE :

http://www.sice.oas.org/int_prop/nat_leg/ecuador/L320ind.asp

Snort. (2010). Recuperado el 27 de Julio de 2010, de Sitio Web Home de Snort:

http://www.snort.org/

Soporte Microsoft. (2010). Recuperado el 13 de Octubre de 2010, de Sitio web

Oficial del Soporte Microsoft (Descripcion del Registro del Sistema):

http://support.microsoft.com/kb/256986/es

Soporte producto VMware Workstation. (2010). Recuperado el 2010 de Julio de

15, de Soporte a usuarios de VMware Worstation:

http://www.vmware.com/support/product-support/workstation/

346

Source Forge. (s.f.). Recuperado el 27 de Agosto de 2010, de Sitio Web para

descargar Adodb: http://sourceforge.net/projects/adodb/

Source Forge. (s.f.). Recuperado el 27 de Agosto de 2010, de Sitio Web para

descargar PHPlot: http://sourceforge.net/projects/phplot/

Spanish Honeynet Proyect. (2010). Recuperado el 15 de Julio de 2010, de Sitio

Web Home del Honeynet Proyect: Spanish Chapter: http://honeynet-es.org/

Spitzner, L. (2002). Honeypot: Tracking Hackers. Recuperado el 12 de Agosto

de 2010, de The Honeynet Proyect: http://www.honeynet.org/

The Honeynet Proyect. (1999). Recuperado el 23 de Junio de 2010, de Sitio Web

Home del Honeypot Proyect: http://www.honeynet.org/

The Honeynet Proyect. (2010). Recuperado el 23 de Julio de 2010, de Capitulos o

Chapters de diversos paises: http://www.project.honeynet.org/og

UBUNTU. (2010). Recuperado el 1 de Agosto de 2010, de Sitio web oficial de

Ubuntu Español: http://ubuntu.com.es/

UNAM CERT (Universidad Autónoma de México). (2010). Recuperado el 5 de

Septiembre de 2010, de PAPERS Proyecto Honeynet UNAM:

http://www.honeynet.unam.mx/es/papers.pl

UTPL (Universidad Técnica Particular de Loja). (2010). Recuperado el 10 de

Septiembre de 2010, de Proyecto Honeynet: http://www.utpl.edu.ec/honeynet/