Professional Documents
Culture Documents
233008
CONTENIDO DIDACTICO DEL CURSO
Elaborado por:
Ing. Carlos Alberto Amaya Tarazona
DUITAMA (Boyac).
Enero de 2013
@Copy Right
Universidad Nacional Abierta y a Distancia
ISBN
2005
Centro Nacional de Medios para el aprendizaje
2008
Actualizacin: No aplica
2
CONTENIDO
Pg
INTRODUCCION:
UNIDAD I: INTRODUCCION A LA SEGURIDAD EN APLICACIONES WEB
CAPITULO 1: CONCEPTOS BSICOS DE SEGURIDAD EN
APLICACIONES WEB
9
11
11
14
15
16
19
21
22
22
23
25
27
28
28
29
30
31
32
43
45
45
46
46
47
3
48
49
51
51
52
53
8.1 La Autenticacin
8.2 La Autorizacin
53
55
55
55
56
57
58
58
59
60
60
62
64
66
67
67
67
68
68
68
69
70
70
4
72
77
77
78
78
78
78
81
83
84
86
88
89
90
91
92
93
94
95
99
101
102
103
104
105
105
107
109
110
111
112
112
112
113
114
114
115
116
119
119
120
120
122
123
124
125
129
129
133
134
134
136
137
139
GLOSARIO DE TERMINOS
ANEXOS
FUENTES DOCUMENTALES
143
152
153
LISTADO DE TABLAS
Pg
20
65
103
118
131
132
141
142
LISTADO DE FIGURAS
Pg
13
14
16
18
22
24
26
31
32
33
34
39
40
41
42
44
47
61
66
76
82
86
88
90
110
111
115
116
117
120
121
126
127
128
128
129
130
133
134
135
136
138
139
INTRODUCCIN
Tanto el auge de internet , las Telecomunicaciones, el mundo digital y todo lo que
engloba el manejo de datos, han tenido un crecimiento significativo , exponencial y
paralelos a las temticas que tienen que ver con la privacidad formacin tanto
personal como profesional. En la web encontramos funcionando a tiendas en
lnea, redes sociales, negocios que mueven grandes cantidades de dinero, redes
de los servicios que habilitan el comercio a nivel internacional que contienen
informacin muy delicada de la vida privada de sus miembros.
Para dar inicio a este universo de la privacidad y seguridad de la informacin que
en la web viaja, el presente contenido acadmico hace relevancia a la necesidad
de implementar procedimientos seguros cuando se desarrollan aplicaciones web
para compartir y publicar informacin pueden haber muchos puntos de vista pero
uno de los ms ms crticos de la seguridad del Internet, lo tienen las piezas que
intervienen de forma directa con las masas de usuarios, los servidores web.
Para poder abordar el siguiente contenido acadmico, es necesario tener como
base muchos de los conceptos de seguridad abordados en redes de
telecomunicaciones, sistemas operativos e informtica forense. Es por ello que el
tema de seguridad se debe asimilar como un engranaje en el que intervienen
muchas reas y tcnicas cuando se trata de proteger la integridad de la
informacin y la privacidad de los datos de los usuarios.-
Las reas crticas del diseo de aplicaciones web demostrarn que van desde la
misma infraestructura en telecomunicaciones, el entorno de implementacin, hasta
el cdigo c y los lenguajes de programacin usados para la puesta en marcha de
las aplicaciones web. Todo es parte de un ciclo de vida de desarrollo web pero
teniendo en cuanta aspectos de seguridad que protegen la forma y el fondo de las
aplicaciones.- No se trata de disear y de implementar aplicaciones que solo den
una buena imagen y gusto al cliente, sino tambin aspectos de seguridad que
minimicen el riesgo de prdida de informacin o de manipulacin de la misma.
9
10
PRIMERA UNIDAD
INTRODUCCION A LA SEGURIDAD EN APLICACIONES WEB
CAPITULO I:
1. CONCEPTOS BSICOS DE SEGURIDAD EN APLICACIONES WEB
11
12
no es una tarea fcil, ya que requiere por parte del programador, no nicamente
mostrar atencin en cumplir con el objetivo funcional bsico de la aplicacin, sino
una concepcin general de los riesgos que puede correr la informacin contenida,
solicitada y recibida por el sistema.
No quiere decir esto que en los dems niveles no se presenten amenazas y
vulnerabilidades que afecten a los sitios web. E la Leccin 25, trataremos aspectos
de seguridad en otros niveles y protocolos de la capa OSI que afectan
aplicaciones web.
En la figura1, se puede identificar los niveles superiores del modelo OSI donde
son tpicas las vulnerabilidades en aplicaciones web.
En la actualidad, aunque existen muchos documentos, publicaciones, estudios
basados en prueba y error, comunidades de desarrollo sobre todo en cdigo
abierto (comunidades libres), que permiten formar un criterio sobre el tema, no
existen acuerdos bsicos sobre lo que se debe o no se debe hacer, y lo que en
algunas publicaciones se recomienda, en otras es atacado. Sin embargo, en lo
sustancial s existen algunas recomendaciones que son generales y sern las que
describo en este documento junto con los ataques ms comunes a aplicaciones
web y las tcnicas de defensa a las inicialmente el profesional puede aplicar en
primera instancia. Es tarea del profesional que aborde estas temticas, que
13
14
10
15
Existen ocho verbos que permiten que un cliente pueda dialogar con el
servidor. Los tres ms utilizados son: GET, para recoger un objeto, POST,
para enviar informacin al servidor y HEAD, para solicitar las caractersticas
de un objeto (por ejemplo, la fecha de modificacin de un documento
HTML).
16
Cada operacin HTTP implica una conexin con el servidor, que es liberada
al trmino de la misma. Es decir, en una operacin se puede recoger un
nico objeto. Con la versin HTTP 1.1 se ha mejorado este procedimiento,
permitiendo que una misma conexin se mantenga activa durante un cierto
periodo de tiempo de forma que sea utilizada en sucesivas transacciones.
Este mecanismo, denominado HTTP Keep Alive, es empleado por la
mayora de los clientes y servidores modernos.
Cada objeto al que se aplican los verbos del protocolo est identificado a
travs de un localizador uniforme de recurso (URL) nico.
Cada vez que un cliente realiza una peticin a un servidor, se ejecutan los
siguientes pasos:
1. Un usuario accede a una URL, seleccionando un enlace de un documento
HTML o introducindola directamente en el navegador.
2. El cliente web descodifica la URL, separando sus diferentes partes. As
identifica el protocolo de acceso, la direccin DNS o IP del servidor, el
puerto (de carcter opcional; el valor por defecto es 80) y el objeto
requerido del servidor.
Al realizar la peticin al sitio web, el servidor nos manda el cdigo de respuesta [2]
200. Los cdigos de rango 2xx indican que la operacin se ha realizado con xito,
Cache-Control: Genera las directivas que deben ser usadas por cualquier
mecanismo a lo largo de la peticin/respuesta.
Connection: Indica que la conexin se cierra, no se mantiene como en keep-alive
Date: Fecha y hora actual.
Server: Indica el tipo de S.O que corre en el servidor (Vease /.0x07)
18
ACCION
OK
Created
202
Accepted
204
No Content
301
Moved
Pemanently
302
Found
304
Not Modified
400
401
Bad Request
Unauthorized
403
Forbidden
404
500
Not Found
Internal Server
Error
Not
Implemented
Bad Gateway
501
502
503
Service
Unavailable
DESCRIPCION
Operacin realizada satisfactoriamente
La operacin ha sido realizada correctamente, y como resultado se ha creado
un nuevo objeto, cuya URL de acceso se proporciona en el cuerpo de la
respuesta. Este nuevo objeto ya est disponible.
La operacin ha sido realizada correctamente, y como resultado se ha creado
un nuevo objeto, cuya URL de acceso se proporciona en el cuerpo de la
respuesta. El nuevo objeto no est disponible por el momento. En el cuerpo
de la respuesta se debe informar sobre la disponibilidad de la informacin.
La operacin ha sido aceptada, pero no ha producido ningn resultado de
inters. El cliente no deber modificar el documento que est mostrando en
este momento.
El objeto al que se accede ha sido movido a otro lugar de forma permanente.
El servidor proporciona, adems, la nueva URL en el campo Location de la
respuesta.
El objeto al que se accede ha sido movido a otro lugar de forma temporal. El
servidor proporciona, adems, la nueva URL en el campo Location de la
respuesta. El cliente no debe modificar ninguna de las referencias a la URL
errnea.
Se devuelve cuando se hace un GET condicional y el documento no ha sido
modificado
La peticin tiene un error de sintaxis y no es entendida por el servidor.
La peticin requiere una autorizacin especial, que normalmente consiste en
un nombre y clave que el servidor verificar. El campo WWW-Autenticate
informa de los protocolos de autentificacin aceptados para este recurso.
Est prohibido el acceso a este recurso. No es posible utilizar una clave para
modificar la proteccin.
La URL solicitada no existe, no est disponible o no se encuentra.
El servidor ha tenido un error interno, y no puede continuar con el
procesamiento.
El servidor no tiene capacidad, por su diseo interno, para llevar a cabo el
requerimiento del cliente.
El servidor, que est actuando como proxy o pasarela, ha encontrado un error
al acceder al recurso que haba solicitado el cliente.
El servidor est actualmente deshabilitado y no es capaz de atender el
requerimiento.
20
Los recursos u objetos que actan como entrada o salida de un comando HTTP
estn clasificados por su descripcin MIME, que se especifica en el campo de
cabecera Content-Type. De esta forma, el protocolo puede intercambiar
cualquier tipo de dato sin preocuparse de su contenido. La identificacin MIME
permitir que el receptor trate adecuadamente los datos. Existen nueve tipos
definidos por la IANA: 12 application, audio, example, image, message, model,
multipart, text y video. Dentro de cada tipo existen multitud de subtipos: (text/html,
image/gif, image/jpeg, audio/x-mpeg, video/quicktime).
Existen tres mtodos bsicos de codificacin:
11
12
7 bit: Utilizado por defecto, supone que los archivos son de texto.
Quoted-printable: Se usa para codificar texto con caracteres que excedan
de los 7 bits utilizados en US-ASCII. Con esto podremos representar
caracteres de otros alfabetos como los idiomas procedentes del latn. Se
codifica en 3 caracteres de 7 bits. Por ejemplo, la letra se corresponder
con los caracteres =F1.
Base64: Se utiliza para codificar contenido no legible por humanos, como
por ejemplo archivos multimedia. Cada 3 octetos se codifican en 4
caracteres que pertenecen a un subconjunto de 64 caracteres imprimibles
del US-ASCII.
21
22
Esta nueva capa de abstraccin, consta de un servidor que aloja una interfaz de
programacin de aplicaciones (API) para exponer la lgica de negocio y procesos
de negocio para uso de los servidores Web. Adems, el servidor de aplicaciones
23
25
13
y que es de
La gua completa del Top 10, es parte del anexo de este mdulo:
No se detenga en el Top 10. Existen cientos de problemas que pueden afectar la seguridad
14
general de una aplicacin web tal como se ha discutido en la Guia de Desarrollo OWASP. Este
documento es de lectura esencial para cualquiera desarrollando aplicaciones web hoy en da. Una
efectiva orientacin en como encontrar vulnerabilidades en aplicaciones web es suministrada en la
13
26
Cambio constante. Este Top 10 continuara cambiando. Incluso sin cambiar una lnea de
cdigo en su aplicacin, la misma puede ser vulnerable a algo que nadie haya pensado
anteriormente. Por favor revise los consejos detallados al final del Top 10 Prximos pasos para
Desarrolladores, Verificadores y Organizaciones para mayor informacin.
Piense positivamente. Cuando se encuentre preparado para dejar de buscar
vulnerabilidades y focalizarse en establecer controles seguros de aplicaciones, OWASP ha
17
como una gua para
producido el Application Security Verification Standard (ASVS)
organizaciones y revisores de aplicaciones que detalla los controles de seguridad a verificar en una
aplicacin.
SDLC Seguro. Aplicaciones Web seguras son solo posibles cuando se utiliza un SDLC Seguro.
Para orientacin sobre como implementar un SDLC Seguro, leer el Open Software Assurance
Maturity Model (SAMM), 18 el cual es una actualizacin significativa al OWASP CLASP Project. 19
27
cdigo abierto. Estas herramientas son fundamentales para el trabajo con las
cabeceras http.
Existen otras formas de trabajar con las cabeceras sin tener que sniffearlas para
modificarlas, como por ejemplo aprovechar algn programa que haga
negociaciones TCP, como por ejemplo pueden ser Telnet, Putty, o los populares
Netcat y CryptCat.
$f_user= or 1=1 --
20
30
31
Una de las muchas tcnicas que existen para levantar este tipo de informacin con
respecto al levantamiento de una huella identificativa, es el uso de Escuchas de
Red o escaners de puertos como la herramienta nmap, con miras a establecer un
posible ataque. En la Figura 10 se muestra un escaneo a un host de una red local
en busca de su huella identificativa. Se ha identificado informacin con el nmero
de puertos cerrados que tiene la vctima, en este caso con la direccin IP
10.1.1.16, los puertos en servicio abiertos, la identificacin del sistema Operativo y
la direccin fsica de la interfaz de red. Se ha ejecutado en una consola haciendo
uso de nmap como herramienta de exploracin.
Figura 10: Uso de un Escucha de Red para hallar huellas identificativas de un host en la red
Ethernet
Fuente: El autor
33
Figura 11: Uso de un Escucha de Red para hallar huellas identificativas de un host remoto
Fuente: El autor
21
34
3.1
FIABILIDAD
DE
LOS
VULNERABILIDADES WEB
ANAIZADORES
AUTOMATICOS
DE
35
36
40
Figura 14: Funciones de auditora en escneres de aplicaciones web para SQL Injection
Fuente: <Proyecto OWASP>
41
42
23
El cliente hace las peticiones bsicas del sitio y accede a los links que solo
le referencia la pgina o sitio (se asume que el cliente no escarba dentro
del sitio).
HTML admite el uso de tags (etiquetas) que manipulan la entradas a la
aplicacin, por ejemplo si la aplicacin utiliza campos ocultos para enviar
informacin sensible estos pueden ser fcilmente manipulados desde el
cliente.
43
La validacin solo se puede realizarse nicamente del lado del cliente con
JavaScript (esto es falso) si no se efecta ninguna validacin del lado del
servidor, cualquier atacante que evite esta validacin (para nada difcil de
lograr) tendr acceso total a toda la aplicacin.
Cuando se tiene un sistema y entorno seguro no hay riesgo de
vulnerabilidades. El uso de firewalls es suficiente - como explicamos
anteriormente, si el firewall tiene que habilitar los puertos 80 y/o 443 para
que la aplicacin sea accesible al exterior, no podr hacer nada para
detectar entradas maliciosas del cliente, y por supuesto no es proteccin
contra ataques internos.
El uso de SSL es una solucin suficiente - SSL simplemente cubre el
request/response HTTP dificultando la intercepcin del trfico entre cliente y
servidor, pero no agrega seguridad al servidor ni evita el envo de cdigo
malicioso desde el cliente.
44
46
24
47
A pesar de que las informaciones que podemos obtener del anlisis de los ficheros
de log son numerosas, hay unas cuantas que no podemos obtener. De ellas,
algunas resultaran de especial inters:
48
3. Protocolo S-HTTP
El protocolo Secure HTTP fue desarrollado por Enterprise Integration
Technologies, EIT, y al igual que SSL permite tanto el cifrado de documentos
como la autenticacin mediante firma y certificados digitales, pero se diferencia de
SSL en que se implementa a nivel de aplicacin. Se puede identificar rpidamente
a una pgina web servida con este protocolo porque la extensin de la misma
pasa a ser .shtml en vez de .html como las pginas normales.
4. Protocolo SET
SET se basa en el uso de certificados digitales para asegurar la perfecta
identificacin de todas aquellas partes que intervienen en una transaccin on-line
basada en el uso de tarjetas de pago, y en el uso de sistemas criptogrficos de
clave pblica para proteger el envo de los datos sensibles en su viaje entre los
diferentes servidores que participan en el proceso. Con ello se persigue mantener
el carcter estrictamente confidencial de los datos, garantizar la integridad de los
mismos y autenticar la legitimidad de las entidades o personas que participan en la
transaccin, creando as un protocolo estndar abierto para la industria que sirva
de base a la expansin del comercio electrnico por Internet.
50
51
52
53
54
8.2 LA AUTORIZACIN: 25
Se refiere a la gestin del acceso a los recursos protegidos y al proceso de
determinar si un usuario est autorizado a acceder a un recurso particular. Por
ejemplo, muchas aplicaciones web cuentan con recursos que slo estn
disponibles para los usuarios autenticados, recursos que slo estn disponibles
para los administradores, y los recursos que estn disponibles para todos. As, al
establecer privilegios de acceso a los usuarios podemos asegurar la
confidencialidad y disponibilidad de la informacin; pero, adems, podemos:
25
55
56
57
58
61
Entendemos por aplicaciones web a todo aqul software que interacciona con el
usuario utilizando el protocolo HTTP. Por su parte, los servicios web son un
conjunto de funciones empaquetadas dentro de una entidad nica y publicadas
dentro de la red para que puedan ser utilizadas por las aplicaciones web.
27
63
Un control simple de objeto en una aplicacin web puede ser el solo simple hecho
de comprobar el tipo de dato. La validacin de datos garantiza la correccin y
precisin de todos los valores de datos de la aplicacin. Estas acciones se pueden
disear utilizando distintos enfoques: cdigo de interfaz de usuario, cdigo de
aplicacin o restricciones de bases de datos.
Un ejemplo de validacin de control de objetos es el cdigo de servicio con tipo
de datos "character" slo puede admitir caracteres alfabticos de la A a la Z; el
resto de caracteres no sera vlido. Otro tipo de control tpico es el que se aplica al
validar un control TextBox y mostrar un mensaje personalizado cuando se produce
un error en la validacin.
De manera predeterminada, la validacin se realiza al hacer clic en un control de
botn, como Button, ImageButton o LinkButton. Hay varios tipos de validacin de
datos:
28
29
64
DESCRIPCION
ControlToValidate
Display
EnableClientScript
Enabled
ErrorMessage
ForeColor
IsValid
Text
65
Direccin IP de Origen
Direccin IP de Destino
Tipo de mensaje ICMP
66
La mayora de las aplicaciones web son usadas como un conducto entre muchas
fuentes de datos y el usuario, esto es, las aplicaciones web son usadas
frecuentemente para interactuar con una base de datos.
Aunque el tema de la seguridad en las bases de datos merece un tratamiento
diferente al de las aplicaciones web, se encuentran ntimamente relacionados.
Toda entrada al sistema debe ser filtrada, y toda salida escapada. Lo mismo aplica
cuando las entradas o salidas son de o hacia una base de datos.
67
69
70
Ante todo esto, el W3C desarroll un nuevo lenguaje (XML), que proporciona:
Extensibilidad: se pueden definir nuevas marcas y atributos segn sea necesario.
Estructura: se puede modelar cualquier tipo de datos que est organizado
jerrquicamente.
Validez: podemos validar automticamente los datos (de forma estructural).
Independencia del medio: podemos publicar el mismo contenido en multitud de
medios.
XML no es un lenguaje, sino un meta-lenguaje que permite definir multitud de
lenguajes para propsitos especficos. Estas definiciones, e incluso las
definiciones de programas de traduccin y transformacin de ficheros XML, se
definen en XML, lo que da una muestra de la potencia de XML. En XML se ha
definido gran nmero de lenguajes. De hecho, el fichero de configuracin de
algunos de los programas ms usados en la web (Tomcat, Roxen, etc.) est
definidos con XML. Hay muchos ficheros de datos, de documentos, etc., que
tambin lo usan para su definicin.
Algunos de los lenguajes definidos con XML ms conocidos son:
El ejemplo de la URL anterior utiliza los parmetros GET en lugar de POST de parmetros
para facilitar la ilustracin. Parmetros POST son tan fciles de manipular, sin embargo,
esto generalmente implica el uso de otro componente, como una herramienta de
manipulacin de trfico, navegador Web plug-in o aplicacin proxy en lnea
Esta vez, la sentencia de SQL que el script de PHP genera y ejecuta, devolver
todos los productos en la base de datos, independientemente de su precio. Esto
se debe a que se ha modificado la lgica de la pregunta. Esto sucede porque los
resultados de la instruccin del operando de consulta siempre devuelve true, es
decir, 1 siempre ser igual a 1. Esta es la consulta que fue construida y ejecutada:
SELECT * FROM ProductsTbl WHERE Price < '100.00' OR '1'='1' ORDER BY ProductDescription;
Hay muchas maneras para aprovechar las vulnerabilidades de inyeccin SQL para
lograr una gran variedad de objetivos, el xito del ataque es generalmente
altamente dependiente de la base de datos subyacente y de los sistemas
interconectados que estn bajo ataque. A veces puede tomar una gran cantidad
de habilidad y perseverancia para explotar una vulnerabilidad en todo su potencial.
73
rows
the database
$rowcount
74
76
77
78
Tipo 0: Tambin conocido como basado en el DOM o Local. Con este tipo de
vulnerabilidad, el problema existe en el script del lado del cliente.
Si un cdigo de JavaScript accede a una URL como un parmetro de una peticin
al servidor y utiliza esta informacin para escribir HTML en la misma pgina sin ser
codificada empleando entidades HTML, existe un agujero XSS, dado que estos
datos escritos sern interpretados por los navegadores como cdigo HTML que
puede incluir en si cdigo adicional del lado del cliente.
Los ataques de este tipo pueden devenir en la ejecucin remota de comandos. En
el caso de que el atacante suba un sitio malicioso, que contenga un link a una
pgina vulnerable en el sistema de archivos del cliente, resultando en la ejecucin
con privilegios del navegador del sistema. De esta manera no slo se pasan las
restricciones de comunicacin entre dominios.
80
Concepto:
Permiten suplantar la informacin de un usuario determinado.
Ejemplo la cuenta del Administrador para sabotear controles de autorizacin y
registro. Otra caracterstica es el acceso no autorizado a informacin que se
encuentre almacenada en el servidor o los servicios que han sido comprometidos.
Cuando se presentan:
81
Formas de proteccin:
Cierre de sesin correctamente mediante los enlaces del sitio para ello (no
cerrar ventanas)
Gestin de contraseas
Tiempo de desconexin.
Eliminar la opcin recordar contrasea en los navegadores
Pregunta secreta.
Actualizacin de cuentas.
Utilizar conexiones SSL.
Ingreso de identificadores no validos.
82
83
URL: https://www.ejemplo/cuentas.php?cuenta=1234567890
Con esto se cargaran los movimientos de dicha cuenta propiedad del usuario. Si
se introduce otro nmero de cuenta cercano por arriba o abajo del nuestro, por
ejemplo 1234567891, en principio, si todo se hubiera hecho correctamente,
debera mostrar un error al estar introduciendo una cuenta ajena, pero si somos
vulnerable a la referencia directa de objetos de forma insegura, mostrar los datos
de esta cuenta sin ser nuestra.
URL: http://www.banco.com/descarga.php?dir=nomina&file=10234765.pdf
Con tan solo modificar un nmero en la cdula del usuario, se podra estar
descargando la informacin de otro usuario,
La referencia directa insegura a objetos, es incluido en el proyecto OWASP dentro
de su Top 10.31
31
84
Los impactos:
Como evitarlo:
Verificar la arquitectura
Verificar la implementacin
85
Entornos afectados
Todos los entornos de aplicaciones Web son vulnerables a las fallas de
restricciones de acceso a URL.
Caractersticas:
Explotacin fcil: Explotacin es fcil porque solo basta con cambiar la URL
sin privilegios a una pgina con privilegios.
Prevalencia Poco comn: La deteccin de esta falla porque para el atacante
es difcil identificar que URLS tienen esta vulnerabilidad
Deteccin media: Suele pasar inadvertida esta vulnerabilidad por los
escneres. Los escneres de vulnerabilidades y los motores de anlisis
esttico tienen dificultades con la verificacin de control de acceso a URLs,
pero por razones diferentes. Los escneres de vulnerabilidades tienen
dificultades para adivinar las pginas ocultas y determinar qu pginas se
deben permitir para cada usuario, mientras que los motores de anlisis
esttico batallan para identificar los controles de acceso personalizado en el
cdigo y vincular la capa de presentacin con la lgica de negocio.
Impacto moderado: El impacto de esta falla es moderado porque permite el
acceso no autorizado a funciones administrativas de la aplicacin.
Vulnerabilidad:
El mtodo primario de ataque para esta vulnerabilidad es llamado "navegacin
forzada", que abarca adivinado de enlaces y tcnicas de fuerza bruta para
encontrar paginas desprotegidas. Las aplicaciones permiten con frecuencia que el
cdigo de control de acceso se desarrolle y se separe a travs de cdigo fuente,
dando como resultado un modelo complejo que sea difcil de entender para los
desarrolladores y para los especialistas de la seguridad tambin. Esta complejidad
hace que sea probable que se produzcan errores de pginas perdidas, dejndolas
expuestas
Algunos ejemplos comunes de estos defectos incluyen:
87
Proteccin.
Bloquear o eliminar pginas mediante un archivo robots.txt
88
Para eliminar estas premisas, la tendencia actual y que se debe seguir para
aplicar el ciclo de desarrollo, enmarca aspectos como:
Participacin de Seguridad Informtica desde el comienzo de todos los proyectos
de desarrollo.
Incorporar seguridad a lo largo de todas las etapas del ciclo de vida del desarrollo
de software (SDLC).
89
90
Durante esta etapa de diseo se suelen aplicar tcnicas para analizar el riesgo,
como:
Anlisis de riesgo Threat Modeling: Tcnica formal, estructurada y repetible
que permite determinar y ponderar los riesgos y amenazas a los que estar
expuesta nuestra aplicacin.
Consta de las siguientes etapas:
1) Conformar un grupo de anlisis de riesgos
2) Descomponer la aplicacin e identificar componentes clave.
3) Determinar las amenazas a cada componente de la aplicacin.
4) Asignar un valor a cada amenaza.
91
Requisitos. de autenticacin
Requisitos. de complejidad de contraseas Bloqueo automtico de cuentas
Funcionalidad de captchas
Restricciones de acceso segn diseo
Mecanismos de registro y logging
Mensajes de error especificados
93
Servicios innecesarios
Usuarios y contraseas default
Configuracin de intrpretes
Proceso de implementacin
Separacin de ambientes
Administracin de implementacin y mantenimiento
Releases y Patches
Firma de cdigo
94
96
Diseo
En esta etapa del ciclo de desarrollo de los sistemas, el analista de sistemas usa
la informacin que recolect con anterioridad y elabora el diseo lgico del
sistema de informacin. El analista disea procedimientos precisos de captura
de datos, con el fin de que los datos que se introducen al sistema sean los
correctos. Ei analista tambin disea accesos
efectivos al sistema de
informacin, mediante el uso de las tcnicas de diseo de formularios y de
pantallas.
Una parte del diseo lgico del sistema de informacin es el diseo de la interfaz
con el usuario. La interfaz conecta al usuario con el sistema, y evidentemente, es
de suma importancia. Seran ejemplos de interfaces para el usuario: el uso del
teclado para introducir preguntas o respuestas, el uso de mens en la pantalla,
con las opciones que tiene el usuario, el uso de dispositivos como el ratn (mouse)
y muchos otros.
La etapa del diseo tambin incluye e! diseo de los archivos o la base de datos
que almacenar aquellos datos requeridos por quien toma las decisiones en la
organizacin. Una base de datos bien organizada es fundamental para cualquier
sistema de informacin. En esta etapa, el analista disea la salida (en pantalla o
impresa) hacia el usuario, de acuerdo con sus necesidades de informacin.
98
Los modelos tradicionales de ciclo de vida del software incluan la fase de pruebas
como un proceso que haba que llevar a cabo una vez finalizado el desarrollo.
Esto se ha probado que resulta altamente contraproducente, no slo por el coste
de arreglar fallos o deficiencias una vez terminado el desarrollo, sino por la
naturaleza evolutiva de muchos proyectos (sobre todo en entornos de software
libre), en los que la fase de desarrollo no termina nunca estrictamente hablando.
As pues, se tiende a incorporar las pruebas (o los mecanismos para llevarlas a
cabo de modo automatizado) en el desarrollo desde el primer momento.
Tecnologas como las pruebas unitarias o modelos como el pair-programming o el
peer-testing nos ayudarn a mantener una disciplina en el desarrollo y a aumentar
la calidad del resultado del proyecto.
32
32
100
Integridad: los recursos pueden ser modificables slo por los usuarios
autorizados.
Disponibilidad: los recursos accesibles estn disponibles.
Muy frecuentemente, la seguridad de un proyecto ir ms all del mismo,
afectando al sistema en el que ste se va a implantar, y por lo tanto deberemos
asegurar que su implantacin deja al sistema final en un estado seguro.
Es por esta razn por lo que, en la fase de diseo del proyecto, se debe tener en
cuenta la seguridad del mismo, primero de forma general mediante un anlisis de
riesgos y de actividades destinadas a mitigarlos, y ms adelante mediante la
ampliacin de los casos de uso segn los principios bsicos de la seguridad
comentados anteriormente
El anlisis de riesgos consistir, de forma muy resumida, en las siguientes
actividades:
Recopilacin de los recursos que deben ser protegidos. La informacin, todo un
sistema, un slo dispositivo, etc.
Clasificacin de los actores del proyecto. Cules son sus casos de uso y qu roles
representan.
Recopilacin de requisitos legales y de negocio. Certificaciones que hay que
cumplir, restricciones de encriptacin por exportacin a determinados pases o
bien reglas de negocio ms especficas como la aceptacin o no de la repudiacin
por parte de los usuarios.
Con la informacin recopilada, deberamos ser capaces de construir una tabla en
la que, para cada riesgo, estimramos el coste que tiene por incidente, y a partir
de una estimacin de incidentes por ao, nos permitiera decidir sobre la estrategia
que hay que implantar (aceptar el riesgo tal como es y definir un plan de
contingencia en caso de producirse, o bien mitigarlo mediante desarrollos
adicionales, otras herramientas o cambios en el diseo que lo permitan).
33
JOANCOMARTI, Jordi Herrera. Aspectos Avanzados de seguridad en redes. Seg edicin. Barcelona Espaa
2005. 62p
102
Amenazas
Consecuencias
INTEGRIDAD
Datos modificados
Informacin perdida
Caballo de Troya
Maquina penetrada
Memoria cambiada
Mensajes modificados
Perdida de privacidad
Anlisis de trafico
103
Molestias
Llenado de discos
Denegacin a servicios
Aislamiento de la red
AUTENTIFICACION
Identidades falsas
Datos falsos
Herramientas de Gestin Nagios, Nessus [web en lnea]. Disponible desde Internet en:
<http://www.csi.map.es/csi/tecnimap/tecnimap_2006/01T_PDF/monitorizacion.pdf>
104
105
106
37
107
40
108
41
109
En la Figura 25, se explica una denegacin del servicio tpica. Que se produce
cuando la vctima (V) recibe un malicioso flujo de paquetes obligndola a evitar
recibir algn recurso o servicio de los clientes legtimos C1, y C2. Una
caracterstica de estos ataques es que los atacantes rara vez utilizan sus propias
mquinas para llevar a cabo los ataques por lo que la mquina A se convierte en
un agente o participante involuntario
43
110
VERDEJO. G. Seguridad en Redes IP. Universitat Autnoma de Barcelona. Barcelona Sep. 2003. p,36
111
Agentes externos: Este grupo hace referencia a los no usuarios del sistema. De
esta forma se consigue acceso al recurso o servicio sin necesidad de ser un
usuario legtimo (un sistema que no controle la autenticacin de usuarios, un
sistema que presente un bug conocido...). En este grupo usualmente se falsea la
direccin de origen (faked/spoofed IP) con el propsito de evitar el origen real del
ataque.
Antes de diferenciar algunos ataques y principalmente el que se va a tratar en esta
tesis, es conveniente identificar como actan o las fases previas a un ataque.
26.3 PLATAFORMAS AFECTADAS:
El enfoque que abarca estos contenidos acadmicos para el curso, comprende
escenarios en los que se presenten ataques de servicio en redes IP. La
trascendencia de estos ataques est dada por su independencia de plataformas
en las que pueden perpetrarse y hacer efectivos estos ataques.
26.4 CARACTERZACION DE LOS ATAQUES DOS:
Dependiendo de la tcnica usada o las caractersticas del ataque, se debe
proyectar su defensa o estrategia de proteccin. Es por ello importante
identificarlas para proyectar su anlisis en busca de proponer una mejor solucin
como se indica a continuacin:
26.4.1 Uso de IP Source Spoofing: En la que los atacantes utilizan la
suplantacin o falseo de una direccin IP durante el ataque emitiendo informacin
falsa desde el mismo origen del ataque ocultando informacin de la cabecera de
los paquetes IP. Una de las caractersticas de este ataque es que las mquinas
Agente o las que envan el ataque, son difciles de rastrear, incluso con la
informacin que capturan y la direccin oculta de donde se realiza el ataque, se
pueden realizar ataques futuros.
La otra caracterstica que tiene esta falsificacin de direcciones IP, es la que le
permite a los atacantes hacer una reflexin del ataque que consiste que las
solicitudes a un determinado servicio que realiza el atacante en nombre de la
vctima, genera muchas respuestas de un tamao pequeo. A medida que realice
ms solicitudes, estas obtendrn ms respuestas que son recibidas por la vctima.
Puede extender su ataque enviando solicitudes a servidores pblicos que otorgan
mayor nmero de respuestas.
112
113
Para poder realizar el ataque a la red local, o a una aplicacin web o a una URL
especfica, se identificaron unas etapas previas o fases que se realizan para poder
perpetrar un ataque (DoS) de nivel de seguridad a una red TCP/IP que permitan
identificar estrategias con miras a determinar un sistema de alarmas que
minimicen el riesgo y que lo identifiquen de forma especfica y concreta.
27.1 ACTIVIDADES PREVIAS AL ATAQUE (DOS):
114
Ibid, p. 13
115
116
ICMP tambin permite obtener informacin como la franja horaria del sistema
destino o la mscara de red. La simple ejecucin del comando ping contra la
direccin IP asociada a un nombre de dominio ofrece al atacante informacin de
gran utilidad. Para empezar, esta informacin le permitir determinar la existencia
de uno o ms equipos conectados a la red de este dominio.
Una explicacin sencilla de como se identifican equipos conectados la da un
servicio de entrega basado en el mejor intento (best effort) que adopta IP. Significa
que cuando se detecta un error en la transmisin o funcionamiento irregular ya sea
por tiempo de entrega de paquetes, tamaos, tipos de servicios, direcciones
origen o destino, se contempla un sistema muy simple de tratamiento de errores.
Este mecanismo de control de errores viene regulado por el protocolo ICMP
(Internet Control Message Protocol).
Generalmente la vctima (equipo, host o cliente), descarta los datagramas y
enviara un mensaje de error ICMP al ordenador de origen sin encargarse de la
retransmisin del datagrama, lo que no implica fiabilidad. La cabecera del
protocolo ICMP tiene un tamao de 8 bytes que contiene varios campos que
permiten la identificacin del mensaje. En la Figura 29 se muestran estos campos
que dan informacin del Tipo de Mensaje, un cdigo de identificacin y la
ubicacin del campo de 16 bits chkeksum expuesta en el texto del [RFC793] que
documenta acerca del clculo del campo del checksum para TCP.
El Tipo (Type) indica el carcter del mensaje enviado, ya que el protocolo permite
especificar una gran variedad de errores o mensajes de control de flujo de las
comunicaciones
La tabla 4 muestra el tipo de mensajes que el protocolo ICMP emite y los cdigos
de error utilizados para su identificacin. Estos cdigos estn ordenados en la
117
18
Cdigos de error
0
1
2
3
4
5
6
8
9
10
11
12
Poder identificar los errores en el campo de Cdigo (Code) que indica el cdigo de
error dentro del tipo de error indicado en el campo tipo agrupando los mensajes
en tipos y dentro de cada tipo especificando el cdigo concreto al que se refiere,
ayudan a determinar alertas sobre los fallos en la red o posibles ataques.
118
119
La seguridad en aplicaciones web, debe llevar a los profesionales que traten esta
temtica, poder identificar ataques DoS en redes Ethernet. Se trata entonces de
obtener informacin de un sistema concreto y de alguna vulnerabilidad especfica.
Esto se hace obteniendo su huella identificativa respecto de la pila TCP/IP de los
equipos atacados. Esta tcnica es la que se conoce como Fingerprinting y la
informacin que puede brindar esta tcnica dentro de las muchas opciones que
tiene de descubrir datos de la vctima es la de permitir descubrir de forma muy
fiable el sistema operativo que se ejecuta en la maquina analizada.
Un anlisis previo de esta Pila TCP/IP permite ver como es de vulnerable esta
implementacin:
El mecanismo es el siguiente:
46
1. En primer lugar, el host que desea iniciar la conexin ejecuta una primitiva
CONNECT especificando la direccin IP y el puerto con el que se desea conectar,
el tamao mximo del segmento que est dispuesto a aceptar y opcionalmente
otros datos, como alguna contrasea de usuario. Entonces la primitiva CONNCET
hace una apertura activa, enviando al otro host un paquete que tiene el bit SYN
(ver formato de un segmento TCP ms abajo) activado, indicndole tambin el
nmero de secuencia inicial "x" que usar para enviar sus mensajes.
46
<http://neo.lcc.uma.es/evirtual/cdd/tutorial/transporte/twhandshake.html>
121
2. El segundo paso contina con el host receptor que recibe el segmento revisa si
hay algn proceso activo que haya ejecutado un LISTEN en el puerto solicitado,
es decir, preparado para recibir datos por ese puerto. Si lo hay, el proceso a la
escucha recibe el segmento TCP entrante, registra el nmero de secuencia "x" y,
si desea abrir la conexin, responde con un acuse de recibo "x + 1" con el bit SYN
activado e incluye su propio nmero de secuencia inicial "y", dejando entonces
abierta la conexin por su extremo. El nmero de acuse de recibo "x + 1" significa
que el host ha recibido todos los octetos hasta e incluyendo "x", y espera "x + 1" a
continuacin. Si no desa establecer la conexin, enva un contestacin con el bit
RST activado, para que el host en el otro extremo lo sepa.
TCP Xmas Tree scan. Esta tcnica es muy similar a la anterior, y tambin
se obtiene como resultado un paquete de reset si el puerto est cerrado. En
este caso se envan paquetes FIN, URG y PUSH.
.
28.2.1 Exploracin de puertos UDP: Para poder detectar si existe un sistema de
filtrado o cortafuegos, los sistemas de Deteccin de intrusos (IDS) utilizan el
protocolo UDP para mandar paquetes UDP con 0 bytes en el campo datos, si el
puerto est cerrado se debe recibir un ICMP Port Unreachable. Si el puerto est
abierto, no se recibe ninguna respuesta. Si se detectan muchas puertas abiertas,
puede haber un dispositivo de filtrado (firewall) en el medio. Para verificar esto, se
enva un paquete UDP al puerto cero, si no se recibe una respuesta ICMP Port
Unreachable, entonces hay un dispositivo de filtrado de trfico.
Para un anlisis de vulnerabilidades en aplicaciones web que detecte ataques de
denegacin de servicio (DoS) en el caso de usar paquetes UDP para la
exploracin de puertos, hay que tener en cuenta que a diferencia de las
exploraciones TCP, se trata de un proceso mas lento puesto que la recepcin de
123
124
Los firewall y los IDS deberan tener en cuenta este tipo de trfico, y manejarlo
con cuidado, ya que si un firewall simplemente no deja volver paquete ICMP
parameter problem, entonces un atacante puede detectar la existencia del mismo.
47
125
Para el siguiente ejemplo en un sistema tipo UNIX se identifica una MTU de 1500
bytes por defecto:
root@bt:~# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:a0:d1:9b:b4:56
inet addr:10.1.1.10 Bcast:10.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::2a0:d1ff:fe9b:b456/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:32429 errors:0 dropped:0 overruns:0 frame:0
TX packets:42772 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13248489 (13.2 MB) TX bytes:11158515 (11.1 MB)
Interrupt:16
root@bt:~#
126
Continuando el anlisis con una MTU bsica o tpica de 1500 bytes, en una
peticin de echo request del protocolo ICMP (ping) con un envo de tres paquetes
como se muestra a continuacin y con un datagrama de 4028 bytes, se puede
identificar como el protocolo ICMP separa los 8 bytes correspondiente a la
cabecera ICMP:
root@bt:~# ping -c 3 -s 4020 10.1.1.11
PING 10.1.1.11 (10.1.1.11) 4020(4048) bytes of data.
4028 bytes from 10.1.1.11: icmp_seq=1 ttl=128 time=4.73 ms
4028 bytes from 10.1.1.11: icmp_seq=2 ttl=128 time=1.29 ms
4028 bytes from 10.1.1.11: icmp_seq=3 ttl=128 time=1.28 ms
--- 10.1.1.11 ping statistics --3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.281/2.436/4.735/1.625 ms
root@bt:~#
127
Figura 35. Fragmentacin y Reensamblado de 4028 bytes con una MTU de 1500 bytes. Analizado
en Wireshark
Fuente: El autor
128
129
DESTINO
IP=1.2.3.4 SYN
IP=10.1.1.11
IP=1.2.3.4 SYN/ACK
IP=10.1.1.11
DESCRIPCION
10.1.1.11
IP de la Victima
--rand-source
--debug
-S
--destport
--faster
.w 2048
Las opciones de envo o inundacin de peticiones que hacen de este ataque uno
de los mas perpetrados en redes Ethernet son comprobadas mediante el
incremento del envo de paquetes por cada segundo que pasa. Debe inundarse la
red con muchos paquetes por segundo para que el ataque sea efectivo. Estas
opciones se ejecutan con los siguientes comandos:
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu1000000, para 1 paquete por segundo
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu500000, para 2 paquetes por segundo
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu333333, para 3 paquetes por segundo (*)
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu250000, para 4 paquetes por segundo (*)
# hping2 10.30.30.45 -rand-source S -destport 80 -faster --debug w 2048
-iu200000, para 5 paquetes por segundo (*)
Tipo de datagramas: La inundacin de datagramas IP puede ser de diferentes
tipos:
UDP: Generar peticiones sin conexin a cualquiera de los 65535 puertos
disponibles. En muchos sistemas operativos, las peticiones masivas a puertos
especficos UDP (ECHO, WINS) causan el colapso de los servicios que lo
soportan.
ICMP: Generacin de mensajes de error o control de flujo malicioso. En este caso
el objetivo es doble, degradar el servicio de red con la inundacin de peticiones y/o
conseguir que los sistemas receptores quede inutilizados por no poder procesar
todas las peticiones que les llegan.
132
TCP: Genera peticiones de conexin con el objetivo de saturar los recursos de red
de la mquina atacada. Este protocolo es orientado a conexin, y como tal
consume recursos de memoria y CPU por cada conexin. El objetivo es el de
saturar los recursos de red disponibles de los ordenadores que reciben las
peticiones de conexin y degradar la calidad del servicio.
29.2 Ataque Broadcast IP Flooding:
Es una variante del ataque IP Flloding. Anlogamente, IP tambin tiene un sistema
de radiodifusin (broadcast) [RFC919] que permite la comunicacin simultnea
con todos los ordenadores de la misma red. En este tipo de ataque se utiliza la
direccin de identificacin de la red IP (broadcast address) como direccin de
destino del paquete IP. De esta forma, el router se ve obligado a enviar el paquete
a todos los ordenadores pertenecientes a la red, consumiendo ancho de banda y
degradando el rendimiento del servicio.
Tambin existen variantes dnde se envan peticiones de PING a varios
ordenadores falseando la direccin IP de origen y substituyndola por la direccin
de broadcast de la red a atacar. De esta forma, todas las respuestas individuales
(Figura 38) se ven amplificadas y propagadas a todos los ordenadores
pertenecientes a la red amplificndolas y propagndolas consiguiendo una alta
efectividad en el ataque.
133
29.3 Smurf: Este tipo de ataque se basa en falsear las direcciones de origen y
destino de una peticin ICMP de ECHO (ping). La Figura 39 muestra la topologa
del ataque que como direccin de origen utiliza la direccin IP de la mquina que
va a ser atacada. En el campo de la direccin de destino se ubica la direccin
broadcast de la red local o red que se utilizar como lanzadera para colapsar al
sistema elegido. Con esta peticin fraudulenta, se consigue que todas las
mquinas de la red contesten a la vez a una misma mquina, consumiendo el
ancho de banda disponible y saturando al ordenador elegido.
29.4 STeardrop: Este tipo de ataque aprovecha las deficiencias que presenta el
reensamblado de paquetes IP cuando son fragmentados. Por definicin del
protocolo, un paquete IP tiene un tamao mximo de 64K (65.535Bytes).
root@bt:~# ping -c 3 -s 70000 10.1.1.16
Error: packet size 70000 is too large. Maximum is 65507
root@bt:~#
134
Cada red por la que transitan los paquetes IP tiene un tamao mximo de paquete
(MTU, Maximum Transfer Unit), es por ello que se necesitan fragmentar los
paquetes IP en varios trozos que sern reconstruidos al llegar al destino.
El protocolo IP especifica unos campos en la cabecera encargados de sealar si el
paquete IP est fragmentado (forma parte de un paquete mayor) y que posicin
ocupa dentro del datagrama original. En la Figura 40 se observan los campos que
intervienen en la fragmentacin.
135
136
137
48
138
139
HERRAMIENTAS
FUNCION
HERRAMIENTAS DE
MONITOREO DE
RED
NOMBRE
DESCRIPCION
141
ANALIZADOR DE
PROTOCOLOS
HERRAMIENTAS DE
SEGURIDAD
Wireshark:
Fuente:
http://www.wireshark.org/
Fuente: http://www.snort.org/
TCPDump: Paquetes de red
basado en texto..
Fuente:
http://www.tcpdump.org/
GESTION DE MIBS
Apache
Fuente:
http://httpd.apache.org/
Servidor Web
MySQL
Fuente:
http://www.mysql.com/
Interprete PHP
Fuente:
http://www.php.net/
Servidor JFFNMS
Fuente:
http://www.jffnms.org/
Generador de grficos
RRDtool
Fuente:
http://oss.oetiker.ch/rrdtool/
GESTIN DE
DIRECCIONES DE
RED
Hping
Fuente: http://www.hping.org/
Sipcalc
ADMINISTRADOR
DE SERVICIOS
Fuente:
http://www.routemeister.net/pr
ojects/sipcalc/
Webmin
Fuente
http://www.webmin.com/
142
GLOSARIO DE TERMINOS:
Cookie: Pequea cantidad de datos enviados por el servidor web, a una web de
un cliente, que puede ser almacenada y recuperada en un momento posterior.
Tpicamente se utilizan cookies para realizar un seguimiento de un estado de los
usuarios a medida que usan, navegan o interactan con un sitio web.
Cookie Poisoning: (Obsoleto). Vea Manipulacin Cookie.
Cross-Site Scripting: (acrnimo - XSS) Una tcnica de ataque que obliga a un
sitio web para hacerse eco de los datos suministrados por el cliente, que se
ejecutan en un navegador web por parte del usuario. Cuando un usuario
interacta entre varios sitios y aplicaciones que estn haciendo eco de datos
entre s, el atacante tendr acceso a todo el contenido navegador web (cookies,
historial, versin de la aplicacin, etc). Vase tambin "Client-Side Scripting".
CSMA/CD (Carrier Sentido acceso mltiple / Deteccin de Colisin) es el protocolo
usado en Ethernet en red para garantizar que slo un nodo de red se transmite en
el cable de red en cualquier momento.
CONFIDENCIALIDAD: Que la informacin solo sea vista por los lentes
involucrados en la comunicacin y que un tercer no pueda ingresar.
CONTROL DE ACCESO Y AUTORIZACIN: el proceso de determinar los
recursos y servicios que puede usar una entidad.
CORTAFUEGOS: Elemento de prevencin que realizara un control de acceso
para proteger una red de los equipos del exterior (potencialmente hostiles).
DENEGACIN DE SERVICIO (DoS): ataque que hace una apropiacin exclusiva
de un recurso o servicio con la intencin de evitar cualquier acceso a terceras
partes. En ingls, deny of service.
Debug Commands: Los comandos de depuracin: Son caractersticas de
depuracin de aplicaciones o comandos que ayudan a identificar los errores de
programacin durante el proceso de desarrollo de software.
Directory Traversal:
Una tcnica utilizada para explotar sitios web al
acceder a los archivos y los comandos ms all del directorio raz de los
documentos que forman la estructura del sitio. La mayora de los sitios web deben
restringir el acceso de usuarios a una parte especfica del sistema de archivos
que normalmente se denomina el directorio raz de documentos o de raz CGI
directorio.
Estos
directorios
contienen
los
archivos
ejecutables
destinados al uso pblico. En la mayora de los casos, un usuario no debera
poder acceder a los archivos ms all de este punto.
145
146
147
149
150
151
ANEXOS
ANEXO 1:
OWASP Top 10. Traducido al espaol: Documento pdf de 22p.
152
FUENTES DOCUMENTALES
LUIS GMEZ FERNNDEZ Y ANA ANDRS LVAREZ . Gua de aplicacin de la Norma UNEISO/IEC 27001 sobre seguridad en sistemas de informacin para pymes. 2. edicin
Autores: AENOR (Asociacin Espaola de Normalizacin y Certificacin), 2012 Todos los
derechos reservados. AENOR. ISBN: 978-84-8143-7 - Impreso en Espaa Edita:
AENOR Maqueta y diseo de cubierta: AENOR
Disponible en internet http://site.ebrary.com/lib/unadsp/Doc?id=10637105&ppg=2 Con
acceso Noviembre de 2012
Miguel Colobran Huguet, Josep Maria Arqus Soldevila y Eduard Marco Galindo. Editorial
UOC Primera edicin en lengua castellana: noviembre 2008. Espaa: Editorial UOC, 2008.
p 4.
Disponible en Internet < http://site.ebrary.com/lib/unadsp/Doc?id=10638510&ppg=5>
con acceso Octubre de 2012
JUSTIN, CLARKE. SQL Injection Attacks and Defense. Syngress Publishing, Inc. Elsevier,
Inc. 30 Corporate Drive ISBN 13: 978-1-59749-424-3.
CUI-MEI, B. Intrusion Detection Based on One-class SVM and SNMP MIB data.
Shandong University of Technology Zibo. China 2009. Fifth International
Conference on information Assurance and Security, p. 346-351.
154