Logo Studenta

Propuesta-de-una-estrategia-para-la-deteccion-de-vulnerabilidades-de-tipo-CrossSiteScripting-en-un-sitio-Web

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD 
NACIONAL AUTONOMA 
DE MÉXICO 
 
FACULTAD DE ESTUDIOS SUPERIORES 
ARAGÓN 
 
"Propuesta de una Estrategia para la detección de 
vulnerabilidades de tipo Cross-Site-Scripting en un 
sitio Web" 
 
 
T E S I S 
 
Para obtener el título de: 
 
 INGENIERO EN COMPUTACIÓN 
 
 
P r e s e n t a: 
 
Karla González López 
 
 
Asesor de tesis: 
 
Asesor M. en C. Jesús Hernández Cabrera 
 
 
Febrero 2007 
 
 
 
 
UNAM – Dirección General de Bibliotecas 
Tesis Digitales 
Restricciones de uso 
 
DERECHOS RESERVADOS © 
PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL 
 
Todo el material contenido en esta tesis esta protegido por la Ley Federal 
del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). 
El uso de imágenes, fragmentos de videos, y demás material que sea 
objeto de protección de los derechos de autor, será exclusivamente para 
fines educativos e informativos y deberá citar la fuente donde la obtuvo 
mencionando el autor o autores. Cualquier uso distinto como el lucro, 
reproducción, edición o modificación, será perseguido y sancionado por el 
respectivo titular de los Derechos de Autor. 
 
 
 
 
Agradecimientos: 
 
 
A mis hijos: 
Gracias por su amor que hace que el más duro de los esfuerzos sea tan ligero 
como una pluma, cuando existe amor mi alma esta llena de energía, en 
especial si ustedes están a mi lado. 
 
 
A mi esposo: 
Tú amor, comprensión y apoyo me han ayudado a realizar las metas que me 
he fijado en la vida, gracias por ser más que mi esposo. 
 
 
A mis padres y hermanos: 
En el camino de mi vida las enseñanzas a su lado han sido muchas, pero lo 
que más me hace feliz es saber que gracias a ustedes soy una persona de 
bien, que cumple cada una de sus metas que se propone por sobre todas las 
cosas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
En este mundo, la felicidad, cuando llega, llega 
incidentalmente, si la perseguimos, nunca la 
alcanzamos. En cambio, al perseguir otro objetivo, 
puede ocurrir que nos encontremos con ella cuando 
menos lo esperábamos. 
 
Recuerda siempre, aquí y ahora es 
Tu vida, vívela intensamente construyendo tu futuro. 
 
 
 ÍNDICE 
 
 
Índice: 
 
 
Introducción 
 
Capítulo1. Fundamentos y Antecedentes. 
 
1. Internet……………………………………………………………………………...1 
1.1. Elementos de Comunicaciones……………………………………………..2 
1.1.1. Modelo OSI……………………………………………………………..2 
1.1.2. Protocolos de comunicación TCP/IP………………………………...4 
 
1.2. Situación actual de Internet………………………………………………….5 
1.2.1. Nombres de dominio…………………………………………………..7 
1.2.2. Herramientas para explotar la Internet………………………………7 
1.2.3. Amenazas y riesgos en la Internet…………………………………..8 
1.2.4. Vulnerabilidades en Internet………………………………………….9 
1.2.5. Análisis de vulnerabilidades en los sistemas…………………......12 
 
1.3. Desarrollo de los sistemas y aplicaciones Web………………………….14 
1.3.1. Ciclo de desarrollo de sistemas…………………………………….14 
1.3.2. Definición básica de seguridad……………………………………..16 
1.3.3. Auditoria Informática…………………………………………………16 
1.3.4. Herramientas de la auditoria Informática………………………….17 
1.3.4.1. Listas de Verificación………………………………………...18 
1.3.5. Metodología de Evaluación de los sistemas………………………20 
1.3.6. Ethical hacking tests…………………………………………………20 
 
1.4. Propuesta de Estrategia de Seguridad……………………………………21 
 
 
Capítulo2. Ataques de tipo Cross Site. 
 
2. Nombre y descripción general de vulnerabilidades…………………………..24 
2.1. Ataques derivados de las vulnerabilidades Cross Domain Scripting.....25 
2.1.1. Descripción técnica…………………………………………………..26 
2.1.2. Proceso de ataque…………………………………………………...27 
2.1.3. Elementos y ambientes afectados………………………………….28 
2.1.4. Impacto, riesgos y afectación……………………………………….28 
2.1.5. Prevención y soluciones…………………………………………….29 
 
2.2. Ataques derivados de las vulnerabilidades Cross Site tracing…………29 
2.2.1. Descripción técnica…………………………………………………..29 
2.2.2. Proceso de ataque…………………………………………………...30 
2.2.3. Elementos y ambientes afectados………………………………….31 
2.2.4. Impacto, riesgos y afectación……………………………………….31 
2.2.5. Prevención y soluciones…………………………………………….32 
 
 
 
 ÍNDICE 
 
 
 
2.3. Ataques derivados de las vulnerabilidades Cross Site Scripting………32 
2.3.1. Descripción técnica…………………………………………………..34 
2.3.2. Proceso de ataque…………………………………………………...35 
2.3.3. Elementos y ambientes afectados………………………………….36 
2.3.4. Impacto, riesgos y afectación……………………………………….36 
2.3.5. Prevención y soluciones…………………………………………….36 
 
2.4. Ataques derivados de las vulnerabilidades Cross Frame Scripting……37 
2.4.1. Descripción técnica…………………………………………………..37 
2.4.2. Proceso de ataque…………………………………………………...37 
2.4.3. Elementos y ambientes afectados………………………………….38 
2.4.4. Impacto, riesgos y afectación……………………………………….38 
2.4.5. Prevención y soluciones…………………………………………….38 
 
 
Capítulo3. Propuesta de una Estrategia adaptable para la detección de 
vulnerabilidades de tipo Cross-Site-Scripting en un sitio Web. 
 
3. Evaluación de sistemas………………………………………………………….41 
3.1. Estándares Web……………………………………………………………..42 
3.1.1. Diagrama de flujo en el proceso de verificación de la seguridad.42 
3.1.2. Puntos fundamentales de la lista de verificación del modelo……44 
3.1.3. Técnicas de verificación……………………………………………..44 
 
3.2. Lista de verificación sugerida para la detección de vulnerabilidades de 
tipo Cross Site……………………………………………………………….44 
3.2.1. Personas involucradas………………………………………………53 
 
3.3. Validación de código Script en sitios Web………………………………..53 
 
3.4. Proceso de evaluación e identificación de resultados…………………..54 
3.4.1. Reporte Final………………………………………………………….56 
 
 
Capítulo4. Aplicación de la Estrategia para la detección de 
vulnerabilidades de tipo Cross-Site-Scripting en el sitio SMC ELITE 
PARTNER PROGRAM. 
 
4. Introducción……………………………………………………………………….58 
 
4.1. Aplicación de la Estrategia…………………………………………………58 
 
4.2. Formas de utilización de la estrategia…………………………………….58 
4.2.1. Aplicación de la estrategia durante la fase de desarrollo del sitio 
Web………………………………………………………………………59 
 
4.3. Identificación de resultados………………………………………………...59 
 
 
 
 ÍNDICE 
 
 
4.4. Informes y recomendaciones………………………………………………60 
 
4.5. Casos de estudio…………………………………………………………….60 
4.5.1. Descripción del Sitio SMC ELITE PARTNER PROGRAM 
 de la empresa Networks de México, 
S.A. de C.V……………………………………………………………61 
4.5.1.1. Aplicación de la estrategia…………………………………..68 
4.5.1.2. Resultados obtenidos y su interpretación…………………85 
 
4.6. Algunas recomendaciones de las Formas actuales de protección contra 
ataques……………………………………………………………………….89 
 
Conclusiones. 
 
 
 
 
 
 
 INTRODUCCIÓN 
 
 
ANTECEDENTES 
 
Actualmente la Internet es un medio de comunicación accesible a millones de 
personas en todo el mundo y sobre la que se sustentan diversas formas de 
presentación e intercambio de datos. Una de las más utilizadas es la que se 
conoce como la World Wide Web (WWW) la cual permite ver y enlazar 
documentos de hipertexto apoyándose en una aplicación llamada “navegador” 
(browser). 
 
La WWW adquiere forma por los enlaces que se establecen entre los equipos 
dedicados a responder peticiones para ver documentos y seguir enlaces entre 
éstos. Dichas peticiones son atendidas por programas que implementan 
diversos protocolos como por ejemplo el protocolo http. 
 
El protocolo http fue diseñado para la publicación de documentos de hipertexto 
empleando el Hyper Text Markup Lenguaje (HTML). Estos programas reciben 
el nombre de “servidores web” y cuando proporcionan una funcionalidad más 
compleja y transaccional son “servidores de aplicaciones web”. La combinación 
del protocolo HTTP, los servidores y los documentos que entregan es lo que al 
final da vida a la WWW. 
 
La popularidad, flexibilidad y universalidad de esta forma de comunicación ha 
dado lugar al desarrollo de aplicaciones que no estaban siquiera contempladas 
inicialmente, muchas de las cuales llevan información de naturaleza sensible.Actualmente las organizaciones que ocupan la Internet como medio de 
comunicación están expuestas a huecos en los accesos de control de sus 
aplicaciones y dispositivos. 
 
Existe una empresa líder en seguridad Web para aplicaciones llamada 
WebCohort1, la cual realizó pruebas a un aproximado de 300 aplicaciones web 
del año 2000 al 2004. Las pruebas demostraron que tan solo el 10% de las 
aplicaciones web eran seguras ante cualquier tipo de acceso mal intencionado 
o ataque. Desde esa fecha hasta el presente el entorno no ha cambiado 
mucho. 
 
Si bien es cierto que los requisitos de seguridad se han incrementado, muchos 
problemas ya han sido solucionados y usuarios y desarrolladores perciben el 
mundo digital bajo otra perspectiva, esto no quiere decir que los problemas de 
seguridad han terminado y son cosa del pasado. 
 
La acelerada evolución tecnológica provoca que esto sea un ciclo continuo en 
el que tecnología y productos son introducidos, problemas de seguridad son 
identificados, éstos son corregidos y posteriormente nuevos productos ocupan 
 
 
 
 
1 Only 10% of Web Applications are Secured Against Common Hacking Techniques 
http://www.webcohort.com/web_application_security/company/news/020204.html
 I
 
 
 INTRODUCCIÓN 
 
el lugar de los primeros. Un proceso en el que nuevos problemas son 
identificados y resueltos y algunos otros algunos son reintroducidos. 
 
Los problemas relacionados con la seguridad (vulnerabilidades) crean 
situaciones que pueden poner en riesgo datos y servicios de muchas formas 
(ataques). La combinación de ataques y vulnerabilidades es lo que da lugar al 
concepto de “vulnerabilidades de la Web” que son las consecuencias de la falta 
de revisión, atención por parte de los desarrolladores y sobre todo que en 
algunas organizaciones todavía no se esta conciente del impacto que puede 
causar este tipo de problemas en sus sistemas, poniendo en riesgo a la 
organización y sus negocios. Esto da como consecuencia que los sitios Web 
sean atacados por dichas vulnerabilidades que desgraciadamente no pueden 
ser detectadas por algún software específico en un tiempo determinado. 
 
Existen diversas vulnerabilidades de tipo y magnitud, una de las más conocidas 
actualmente es la llamada vulnerabilidad Cross Site Scripting (XSS2) , dicha 
vulnerabilidad es sencilla de explotar y peligrosa. 
 
En los estudios realizados por la empresa llamada WebCohort quedó claro que 
el XSS era uno de los problemas que más afligían a las aplicaciones Web. A 
través de los ataques XSS era posible burlar las protecciones de antivirus que 
ofrecen ciertos servicios como por ejemplo Hotmail. 
 
Una definición de XSS es la siguiente: 
 
Cross Site Scripting es un tipo de brecha en la seguridad de una computadora 
donde la información de un contexto puede ser insertado en otro contexto, 
permitiendo que un acceso o uso no autorizado pueda ser llevado el segundo 
desde el primero. 
 
Los ataques de tipo XSS se pueden dar de diversas formas como por ejemplo: 
 
- Almacenados.- Se le llama así porque el código que se inyecta es 
almacenado en el servidor objetivo. La inyección de código se realiza en 
campos comentados, bases de datos, foro de mensajes, etc. De esa 
manera el usuario victima recupera el script malicioso del servidor 
cuando solicita alguna información almacenada. 
 
- Reflejados.- Se llevan a cabo cuando el código malicioso es manifestado 
desde el servidor como si fuera un mensaje de error de un resultado de 
una búsqueda o alguna otra respuesta que sea consecuencia de 
alguna petición al servidor. Estos ataques se envían mediante otra ruta 
como por ejemplo el correo electrónico o algún otro servidor web. El 
usuario da clic al enlace malicioso, el código inyectado viaja por el 
servidor web vulnerable y este es reflejado en el navegador del usuario.3 
 
 
2 Para evitar confusiones con las siglas de las hojas de estilo (CSS, Cascade Styling Sheet), se suele denominar XSS a 
este concepto, por una alusión y juego de palabras con el término “cross”. 
3 OWASP The Open Web Application Security project 
 II
 
 
 INTRODUCCIÓN 
 
Por medio de esta brecha los ataques se formalizan cuando una aplicación 
Web se envía con un script (conjunto de instrucciones), que se activa al 
momento de que un navegador o alguna aplicación vulnerable lo lee. Dado que 
los sitios dinámicos dependen de la interacción del usuario por medio de 
herramientas como pueden ser: sistemas de encuestas, buscadores, foros, 
etcétera, es posible adherir un script malicioso a la página en ventanas que 
pertenecen a diferentes dominios (de aquí el término cross site). Lo que se 
puede realizar con cualquier sitio Web o con cualquier archivo de tipo local. 
 
A finales del año 2004 fue publicado por el Instituto de Seguridad de Internet, 
un artículo sobre Cross Site Scripting4 donde se menciona que los ataques de 
este tipo se facilitan en mayor grado cuando los usuarios navegan en las 
páginas de Internet, que a los servidores que proporcionan estos servicios. 
Esto se identifica como una consecuencia de la mala verificación por parte de 
los desarrolladores de los sitios Web en cuanto a sus aplicaciones y los 
formularios. 
 
Existen diversas páginas Web que cuentan con entradas dinámicas para un 
usuario como por ejemplo formularios de opinión; en dichos formularios pueden 
ser insertados scripts, dichos scripts pueden ser insertados con códigos no 
permitidos y ser ejecutados por el navegador del usuario dentro del contexto de 
seguridad de la página Web visitada. Estos scripts como consecuencia pueden 
interceptar entradas del usuario víctima. 
 
El problema es considerablemente grande y complejo debido a la diversidad de 
vulnerabilidades, ataques y situaciones en la que datos privados o personales 
pueden quedar comprometidos. La complejidad se incrementa por el entorno 
dinámico y evolutivo en el que se desenvuelve. 
 
Es imposible dar una receta de solución general y aunque fuera posible esta 
tendría un periodo de vida limitado hasta que nuevos productos, tecnología y 
usos hicieran su aparición. En relación a este problema el trabajo no busca 
proporcionar dicha solución general sino establecer una estrategia de la que 
pueden generarse y adaptarse soluciones prácticas y poder evolucionar con 
los productos y tecnologías recientes. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 Este artículo se encuentra en la dirección http://www.instisec.com/publico/xss.asp 
 III
 
 
 INTRODUCCIÓN 
 
MARCO DE DESARROLLO 
 
 
Ubicación del Problema. 
 
Hoy en día se emplea una gran variedad de técnicas para poder atacar los 
sistemas de cómputo, estos ataques pueden ser del nivel red hasta el nivel de 
aplicación. 
 
Solucionar los ataques es algo temporal ya que conforme nuevos productos, 
usos y tecnología aparecen generan el aumento de problemas ya trabajados o 
nuevos. Así también la solución no se limita a aspectos técnicos, hay acciones 
que corresponden a los desarrolladores así como también a la cultura de los 
usuarios. 
 
Una actitud reactiva ante el problema no es la solución, se requiere una actitud 
preventiva esencialmente, una actitud que parte del diseño de la aplicación y 
que se extiende hasta la vida operativa de la misma. 
 
Objetivos. 
El presente trabajo de investigación tiene como objetivos: 
 Comprender el concepto de vulnerabilidades en sitios Web para 
identificar amenazas existentes en dichos sitios y clasificarlas. 
 Distinguir la diferencia entre la aplicación de medidas de seguridad. 
 Identificar y fijar responsabilidades del equipo de trabajo. 
 Tener presente que las vulnerabilidades en los sitios Web pueden 
reaparecer. 
 Conocer la importancia de la implementación de una estrategia de 
seguridad adaptable al sitio Web creado. 
 Mejorar métodos y procedimientos de la organización. 
 Definiruna Estrategia adaptable que guíe de una forma estructurada el 
proceso de diseño y evaluación de un sitio Web. 
 
 
Beneficios que se obtienen con la solución planteada en este trabajo. 
 
Dada su popularidad, la seguridad en Internet es ya un tema de suma 
importancia para el desarrollador y el usuario. Como resultado de este trabajo 
se contemplan las siguientes aportaciones al tema: 
 
 Mantener los sitios Web actualizados y contar con diferentes alternativas 
de seguridad para una organización. 
 Descripción de las alternativas de seguridad adaptables a los 
requerimientos de la empresa. 
 
 IV
 
 
 INTRODUCCIÓN 
 
 Avisos continuos de fechas en las que se debe de reforzar las 
estrategias de seguridad de los sitios Web. 
 Ahorro de tiempo, dinero y recursos. 
 Mejora de los sitios web en su funcionalidad. 
 
 
Alcances y limitaciones.- 
 
La estrategia de seguridad propuesta es aplicable para la evaluación de 
cualquier proyecto de aplicaciones web de nueva creación de igual forma se 
puede adaptar a aplicaciones que ya están generadas. 
 
Se pueden establecer distintos parámetros de evaluación para los resultados, 
para este trabajo se van a tomar en cuenta los siguientes: 
• Reducido.- áreas de actuación 
• Medio.- conclusiones y recomendaciones 
 
Conforme van cambiando los objetivos de la empresa, esta estrategia puede 
ser modificada con la finalidad de la vigencia permanente de lo contrario esta 
estrategia de seguridad solo será vigente por algún tiempo, mientras no 
cambien los requerimientos de las empresas que la aplican. 
 
 
Metodología.- 
 
Para resolver el problema se propone una estrategia de seguridad, dicha 
estrategia hará referencia a un conjunto de acciones o comportamientos que se 
pueden definir como un plan a trabajar durante el diseño de la aplicación o 
durante la revisión de algún sitio ya creado. Es importante conocer un poco la 
naturaleza de la empresa con la finalidad de estar concientes de la importancia 
de su información y datos. 
 
Teniendo el conocimiento previo de la empresa para la cual se va a realizar el 
estudio de vulnerabilidades, es importante conocer a grandes rasgos los 
problemas de seguridad con respecto a sus aplicaciones que han detectado a 
lo largo del diseño o de su uso. En el caso especifico de esta trabajo los 
problemas de seguridad se van a detectar cuando el sitio este en marcha. 
 
 A partir de aquí se formulará un modelo que de lugar a los elementos 
esenciales que serán refinados para conformar la estrategia que se busca. 
 
El caso de estudio será seleccionado para mostrar la forma en que la estrategia 
deberá aplicarse y la manera en la que se puede realizar una evaluación del 
sistema web en cuanto a seguridad se refiere. 
 
Finalmente ya contando con los resultados de la aplicación de la estrategia se 
hará un breve análisis sobre la interpretación de resultados y la forma en que 
se deberán reportar los resultados a través de un reporte final. 
 V
 
 
 INTRODUCCIÓN 
 
 
 
Resultados esperados.- 
 
El resultado de este trabajo de investigación es proporcionar una estrategia de 
seguridad que forme un proceso formal y estructurado que servirá como una 
guía para la evaluación y diseño de sitios web. 
 
En esta guía se pretende ser lo suficientemente clara para que sea utilizada por 
empresas como una herramienta para la toma de decisión de proyectos de esta 
naturaleza. 
 
Se va a dar una visión global de la seguridad y diseño de las aplicaciones Web, 
qué pasos se deben seguir, para lograr que nuestra información llegue al 
mayor número de usuarios y sobre todo desarrollar un medio en el cual sea 
posible el intercambio universal de información, sin barreras ni fragmentación 
tanto para los humanos como para las máquinas. 
 
 
 
 
 
 
 
 
 VI
 
 
 
Capítulo 1: 
 
 
 
 
Fundamentos y 
Antecedentes 
 
 
 
 
 
 
 
 
 
 
 
 
 CAPÍTULO 1 
 
 
Fundamentos y antecedentes. 
 
 
Las personas y todos los grupos sociales humanos necesitan comunicarse para 
poder existir. A lo largo del tiempo diversas formas de comunicación han sido 
desarrolladas. El siglo pasado se caracterizó por el desarrollo de medios 
masivos de comunicación electrónicos y dicho siglo concluyó con el nacimiento 
del medio de comunicación que ahora es tema de este trabajo, Internet. 
 
En la década de los 60’s, como un proyecto de investigación, en plena guerra 
fría, el departamento de la Defensa Americano (DoD) llegó a la conclusión de 
que su sistema de comunicaciones presentaba diversas vulnerabilidades. 
 
ARPANET1 (Advanced Research Projects Agency NET) era una red de 
conmutación que trabajaba por medio de paquetes de información, dicha red 
sirvió como base para el desarrollo de redes modernas. 
 
La Internet surge como un proyecto militar con el nombre de ARPANET, cuya 
finalidad era mantener la comunicación con instituciones académicas y la 
industria en caso de un ataque en gran escala contra USA. Tras múltiples 
cambios de nombre y reorganizaciones, y con el fin de la guerra fría, la agencia 
pasa a ser civil y la red que administra pública. 
 
En la década de los 80, la NFS (National Science Foundation) toma control del 
proyecto y adopta el protocolo TCP/IP como plataforma de comunicaciones, así 
nace entonces “la Internet” como la conocemos actualmente. 
 
1. Internet. 
 
La Internet se ha convertido en un medio masivo de comunicación muy 
importante para todo tipo de empresas ya que por medio de ésta se pueden 
realizar acciones de diferentes tipos. Una definición de Internet es la siguiente: 
 
“Red informática mundial, descentralizada, formada por la conexión directa 
entre computadoras u ordenadores mediante un protocolo especial de 
comunicación”2
 
A través de dicha red se permite la comunicación de equipos de cómputo que 
cuentan con diferentes sistemas operativos o diferentes plataformas, esta 
comunicación se logra utilizando el mismo protocolo para unir desde equipos 
individuales hasta otras redes de cómputo. Por ello se le ha llamado la red de 
redes ya que a su alrededor se ha creado una base tecnológica muy extensa. 
 
 
1 http://www.google.com.mx/search?hl=es&lr=&defl=es&q=define:ARPANET&sa=X&oi=glossary_definition&ct=title 
2 Real Academia Española http://www.rae.es/
 
 1
 
 
 CAPÍTULO 1 
 
 
1.1. Elementos de comunicaciones. 
 
Como una necesidad de resolver problemas de comunicación entre equipos de 
diferentes fabricantes, en la década de los 80´s una organización llamada ISO 
(International Organization for Standardization) propuso un modelo llamado 
Modelo de referencia OSI, dicho modelo consta de 7 capas que se utilizan para 
la interconexión de sistemas abiertos, donde cada capa que se construye está 
basada en la anterior. 
 
 
1.1.1. Modelo OSI 
 
Como se mencionó anteriormente el modelo OSI cuenta con 7 capas que se 
encuentran divididas en 2 grupos. Las primeras 4 capas (números 1 al 4), están 
dedicadas al trasporte de Información, mientras que las tres últimas al servicio 
de soporte del usuario. 
 
 
Capa 1 
Capa 2 Dedicadas al trasporte de Información. 
Capa 3 
Capa 4 
 
 
 
Capa 5 
Capa 6 Dedicadas al servicio de soporte del usuario 
Capa 7 
 
 
Las capas que conforman el modelo OSI están generadas en forma de pila, a 
manera de ir generando una dependencia entre ellas. La arquitectura del 
modelo OSI es la siguiente: 
 
 
Número de capa Capa 
1 Capa de aplicación 
2 Capa de presentación 
3 Capa de sesión 
4 Capa de transporte 
5 Capa de red 
6 Capa de enlace 
7 Capa física 
Tabla 1.1. Capas del modelo OSI 
 2
 
 
 CAPÍTULO 1 
 
 
Cada unas de las capas mostradas anteriormente realizan funciones 
específicas, a grandes rasgos las funciones de cada una de estas capas son las 
siguientes: 
 
- Capa física.- Aquí se ubican los medios materiales para la comunicación 
como por ejemplo, conectores, cables, etc. Esta capa también se ocupa 
de la transmisión de bits a lo largo deun canal de comunicación y debe 
garantizar que dichos bits lleguen con los mismos valores. 
 
- Capa de enlace.- Trasforma la línea de transmisión común en una línea 
sin errores para la siguiente capa, esto se hace dividiendo la entrada de 
los datos en tramas de asentamiento, entiendo por tramas como los 
datos que se organizan en unidades y constan de una cabecera; la capa 
de enlace también soluciona otros problemas como la duplicidad cuando 
existe una destrucción de tramas, mensajes duplicados y se encarga del 
control de tráfico. 
 
- Capa de red.- Esta capa se ocupa del control de la operación de la 
subred, encamina cada paquete a su destinatario, soluciona problemas 
de protocolos diferentes o direcciones que no son iguales, encamina los 
paquetes fuente a su destino final evitando la congestión y manejando 
saltos cuando los paquetes fuente y destino se encuentran en diferente 
red. 
 
- Capa de transporte.- Esta capa se encarga de aceptar los datos de la 
capa superior y dividirlos en pequeñas unidades para posteriormente 
transportarlos a la capa de red, asegurando que cada una de estas 
pequeñas unidades lleguen correctamente, esto se realiza independiente 
del hardware. Para realizar estas actividades de transporte se pueden 
multiplexar varias conexiones. 
 
- Capa de sesión.- Esta capa permite a los usuarios tener acceso a un 
sistema con tiempos compartidos, transferir archivos entre dos 
máquinas, vigila el tráfico de la información, administra tareas, sincroniza 
operaciones. 
 
- Capa de presentación.- Esta capa se ocupa de la sintaxis y semántica de 
la información que se tiene que transmitir. 
 
- Capa de aplicación.- Esta capa se ocupa de la transferencia de archivos 
solucionando problemas de incompatibilidad entre máquinas ya que 
cuenta con una variedad de protocolos que se necesitan para ello, 
maneja servicios de propósito general así como sistema de correo 
electrónico, en general asegura la estandarización de las aplicaciones en 
la red. 
 
 
 
 3
 
 
 CAPÍTULO 1 
 
 
1.1.2. Protocolos de comunicación TCP e IP. 
 
Cuando existen ordenadores con diferente hardware y software no pueden ser 
conectados a una red, por ello surge la necesidad de contar con un protocolo 
único que resuelva problemas de comunicación y de compatibilidad entre éstos. 
Dicho protocolo fue llamado TCP/IP, TCP significa Transmisión Control 
Protocol, mientras que IP significa Internet Protocol. 
 
Cuando se habla de TCP/IP se hace referencia a un conjunto de protocolos que 
permiten la comunicación en un entorno con diferentes equipos y proporcionan 
acceso a una red y a todos sus recursos. El protocolo TCP/IP es conocido 
como protocolo de interconexión de redes es decir su formación es de una red a 
través de la cual se intercomunican redes más pequeñas. 
 
El protocolo TCP/IP cubre algunas capas del modelo de referencia OSI pero 
TCP/IP tiene que funcionar de forma transparente a cualquier tipo de red, un 
ejemplo de dichas funciones se encuentran en los programas de aplicación 
como pueden ser: correo electrónico, páginas web, etcétera. 
 
Para la arquitectura TCP/IP a diferencia del modelo OSI, se propone un modelo 
de 5 capas. La capa de sesión y presentación se unen a la capa de aplicación 
y en lo que respecta a la capa de enlace de datos y capa física son unidas a la 
capa de Interfase de red. 
 
A continuación se presenta una tabla en donde se muestra el modelo de 
referencia TCP/IP, mencionando para cada una de las capas un ejemplo de las 
aplicaciones que utilizan: 
 
 
Nombre de la capa Capa 
Capa de aplicación HTTP, SMTP, FTP, 
TELNET... 
Capa de presentación Capa de presentación 
Capa de sesión Capa de sesión 
Capa de transporte UDP, TCP 
Capa de red IP 
Capa de acceso de red Ethernet, Token Ring... 
Capa física Cable coaxial, par 
trenzado... 
Tabla 1.2. Modelo de Arquitectura TCP/IP 
 
 
Es importante saber a grandes rasgos como funciona el protocolo TCP/IP para 
poder entender el porque es considerado como un protocolo necesario en la 
conexión a Internet. 
 4
 
 
 CAPÍTULO 1 
 
 
El protocolo TCP/IP cuenta con una arquitectura cliente/servidor dicha 
arquitectura se apoya en los llamados sockets. Se le llama socket a aquellos 
elementos que cuentan con la dirección del nodo y el número de puerto que 
identifica al servicio. El número de puerto se ocupa para hacer referencia a la 
localización de alguna aplicación o proceso que se encuentre en una máquina 
en específico. Mediante los sockets se establece conexión con los hosts y si es 
necesario se garantiza la entrega de datos pero si no es necesario garantizar la 
entrega de la información se elige un servicio no orientado a la conexión. 
 
Para que la arquitectura TCP/IP funcione de manera correcta con la finalidad de 
transmitir los datos de forma adecuada y confiable, tiene que cumplir con varias 
características, a continuación se mencionan algunas de ellas: 
 
1. IP se encarga de mover los paquetes de un lado a otro, mientras TCP se 
asegura que los datos se envíen de forma correcta. 
2. Las líneas de comunicación pueden ser compartidas ya que los paquetes 
se puede transmitir al mismo tiempo. Al llegar a su destino se 
acomodarán en el mismo orden en que fueron enviados. 
3. Los paquetes transmitidos viajan por la línea más idónea en ese 
momento. 
4. TCP se encarga de dividir los datos en paquetes, los ordena, agrega 
cierta información para control de errores y los envía. La recepción de 
paquetes la realiza también TCP; verifica si hay errores y los convierte en 
los datos originales. En caso de existir algún error envía un mensaje 
solicitando únicamente los paquetes que se tienen que enviar de nuevo. 
El protocolo TCP/IP actualmente es la base de todas las máquinas en lo que 
ha software se refiere y trata de cumplir con uno de sus objetivos principales 
como es, el de poder contar con un mejor servicio de Internet y realizar diversas 
funciones dentro de las cuales encontramos la transferencia de archivos, el uso 
de correo electrónicos, etcétera. 
1.2. Situación actual de Internet 
 
Actualmente Internet es un medio de comunicación accesible a millones de 
personas en todo el mundo, sobre éste se sustentan diversas formas de 
presentación e intercambio de datos. Una de las formas más utilizadas es la 
que se conoce como la World Wide Web (WWW), la cual originalmente tenía 
como finalidad compartir textos de tipo científico mediante un sistema de 
hipertexto. 
 
Se le llama hipertexto al documento que cuenta con elementos adicionales 
(enlaces o ligas) por medio de los cuales se puede acceder a otras secciones 
de texto o datos de otra naturaleza (imagen estática, audio o video). El uso de 
un documento de hipertexto sólo puede lograrse a través de una aplicación que 
provea los mecanismos necesarios para hacer uso de los enlaces y presentar 
los diversos elementos directamente o a través de una aplicación especializada. 
Un ejemplo de dichas aplicaciones son los browsers. 
 5
 
 
 CAPÍTULO 1 
 
 
Se han realizado diversos estudios para saber como ha crecido el uso del 
servicio de Internet, dentro de dichos estudios figura “Hábitos de los usuarios de 
Internet en México”3, realizado por la firma Select en el año 2005 para la 
Asociación Mexicana de Internet (AMIPCI), con la finalidad de saber cuales son 
las cifras del uso del servicio en los últimos años. El reporte señala lo siguiente: 
 
 
Año Número de usuarios de Internet en México
2002 10 millones, 032 mil, 270 
2003 12 millones, 250 mil, 300 
2004 14 millones, 901 mil, 700 
2005 17 millones, 140 mil 
 Tabla 1.3. Usuarios de Internet en México 2002-20054
Confirmando las cifras que en un artículo con el nombre de “En México más de 
14 millones de personas usan Internet”, publicado el día 12 de julio del 2004 por 
La Comisión Federal de Telecomunicaciones (Cofetel)5 reportaba: en el año 
2003 la cifra estimada de usuarios de Internet fue aproximadamente de 12 
millones 218mil 830, los cuales utilizaban el servicio de la siguiente manera: 
cuatro millones 632 mil 62 personas que ingresaron a la red desde su hogar, 
dos millones 288 mil 848 que ingresaron desde cualquier otro lugar y cinco 
millones 297 mil 920 usuarios que entraron al servicio de Internet sin contar con 
una máquina personal. Estas cifras dan una idea de la importancia de este 
medio de comunicación masivo. 
 
Actualmente el servicio de Internet se ha convertido en un medio de 
comunicación indispensable con la facilidad de poder interactuar con el usuario, 
de una forma amigable, apoyándose de diversas aplicaciones como el correo 
electrónico y otros más. El servicio de Internet brinda una variedad de 
entretenimientos, facilidad para la comunicación con personas que se 
encuentran en diversas partes del mundo, investigación de temas con mayor 
profundidad, realización de campañas publicitarias a bajo costo, entre otras. 
 
La WWW se ha convertido en una tecnología en constante evolución por los 
lenguajes script con que cuenta y que le permiten abarcar desde la aplicación 
visual hasta poder interactuar con el servidor. Dentro de los lenguajes que se 
ocupan para la realización de aplicaciones que trabajen en la Internet, existen 
diversos siendo el más representativo Java, de la compañía Sun Microsystems, 
con el cual se pueden incluir programas ejecutados en la máquina del cliente. 
 
Para facilitar el uso de la Internet, ésta ha sido organizada para que sus 
elementos puedan ser agrupados y reconocidos por “nombres de dominio”. 
 
3 http://www.razonypalabra.org.mx/anteriores/n51/oislas.html. 
4 (Elaboración propia, con base en la información que arrojó el estudio “Hábitos de los usuarios de Internet en 
 México”, realizado por Select para la Asociación Mexicana de Internet, AMIPCI.). 
 http://www.razonypalabra.org.mx/anteriores/n51/oislas.html
5 Información obtenida de la página http://www.cofetel.gob.mx/ 
 6
 
 
 CAPÍTULO 1 
 
 
1.2.1. Nombres de Dominio. 
 
Se entiende por dominio la designación usada para identificar algún sitio de 
Internet y éste forma parte de una red que desciende de una raíz que a su vez 
forma parte de una subred, de la misma forma que las ramas de un árbol. Uno 
de los nombres que es ya conocido que se utiliza para identificar una dirección 
es IP. 
 
Existen dos grupos de dominio, los genéricos que son para los usuarios de 
Internet y los de código de país que fueron creados para cada país. 
Regularmente un dominio esta formado por varios grupos separados por 
puntos, se trata de evitar la duplicidad de direcciones. Dentro de los dominios 
que se manejan en Internet se van a mencionar están: 
 
com Establecimientos comerciales 
net Infraestructura de red 
gob Gobierno 
edu Educación 
info Información 
 Tabla1. 4. Ejemplos de dominios 
1.2.2. Herramientas para explotar la Internet. 
 
Como se mencionó anteriormente las aplicaciones conocidas como 
navegadores son aplicaciones por medio de la cuales podemos visualizar los 
documentos web6. Dentro de los navegadores que existen se encuentran 
algunos de los siguientes: 
 
1. Navegador modo en línea.- Este navegador es muy poco amigable para 
los usuarios ya que se maneja a base de comandos. Por ejemplo el Lynx 
creado para plataformas UNIX. 
 
2. Navegador de pantalla completa.- Este trabaja mediante ligas para 
dirigirse a los documentos solicitados. 
 
3. Navegadores gráficos.- mediante estos navegadores el usuario puede 
ver gráficos, textos, etc. Dentro de estos navegadores encontramos 
Amaya, Internet Explorer, Firefox, Mozilla, Netscape Navigator, Opera, 
Konqueror, Safari, ICab, OminiWeb, Dillo, IBrowse, AWeb, Voyager, 
Espial Escape, Hotjava. 
 
La WWW obtiene forma por los enlaces que se establecen entre los equipos 
dedicados a responder peticiones de vistas a documentos y seguimiento a 
enlaces entre éstos. Dichas peticiones son atendidas por los protocolos, como 
 
6 http://www.definicion.org/browser 
 7
 
 
 CAPÍTULO 1 
 
 
por ejemplo el protocolo HTTP (Hyper Text Transfer Protocol). El protocolo 
HTTP fue diseñado para la publicación de documentos de hipertexto empleando 
el lenguaje HTML (Hyper Text Markup Language) y algunos otros. 
 
Por otro lado cabe mencionar que el protocolo HTTP se apoya en los llamados 
“servidores web”. Se le conoce como servidor, a la máquina cuyo propósito es 
proveer de datos a otras máquinas que se conectan a ella, también permite el 
acceso a programas, archivos y otra información. Cuando nos referimos a la 
web, un servidor es un ordenador que es utilizado por el protocolo HTTP 
mediante el cual se envían páginas Web a la computadora de un usuario, 
cuando dichas páginas sean solicitadas el usuario. La combinación del 
protocolo HTTP, los servidores, y los documentos que entregan es lo que al 
final da vida a la WWW. 
 
1.2.3. Amenazas y riesgos en la Internet. 
 
La popularidad y facilidad de acceso a la Internet propició la proliferación de 
herramientas y aplicaciones. Desafortunadamente también facilitó la 
proliferación de problemas relacionados con la seguridad. Dentro de estos 
problemas encontramos los que pueden ser categorizados como “amenazas”, 
“riesgos” y “vulnerabilidades”. 
 
Se le llama amenaza porque hace referencia a un elemento, lugar o su 
combinación por el que se puede tener acceso a los recursos internos del sitio u 
organización y así estar en posibilidad de provocar algún daño. 
 
Dentro de las amenazas que pueden afectar a los sistemas que trabajan en 
Internet, existen varias pero sólo se van a mencionar algunas: 
 
1. Existen grupos de personas que se dedican a atacar y buscar los huecos 
de seguridad en los sistemas existentes con la finalidad de explotarlos y 
ocasionar problemas: Los llamados hackers. Dentro de los hackers se 
conocen dos tipos de ellos. 
a. Los hackers que se dedican a explotar sus conocimientos para 
dañar los sistemas. Se menciona que los llamados crackers y 
script kiddies, son un ejemplo de los que realmente se dedican a 
ocasionar los problemas. 
b. Los hackers que se dedican a colaborar en el crecimiento de la 
tecnología para la solución de problemas en específico. 
 
2. Por otro lado las empresas basan generalmente su seguridad en contar 
con una instalación de antivirus ya que otra amenaza son los virus. Los 
virus se aprovechan de las vulnerabilidades detectadas en los sistemas 
para afectar las computadoras pero el problema radica cuando en 
diversas ocasiones esos virus o gusanos se reproducen y el usuario no 
se da cuenta hasta que dicho virus o gusano ha afectado su sistema, 
existe una gama muy amplia de virus en la actualidad. 
 
 8
 
 
 CAPÍTULO 1 
 
 
3. Con cierta semejanza a los virus existen los llamados troyanos que son 
pequeños programas que se encuentran escondidos dentro de otro que 
aparentemente es normal y se activa al ejecutarse el programa principal. 
 
4. Hoy en día lo que más se ocupa es el correo electrónico. Por vía correo 
electrónico se da mucho el envió de correos no solicitados por el usuario, 
a estos correos se le llama SPAM. El problema no es que no solicitemos 
el correo, si no que son muchos los enviados y pueden causar problemas 
con la red, como por ejemplo colapsarla. La problemática del SPAM ha 
crecido debido a que no hay forma de detenerla ya que es justificada 
como marketing sin imaginar que puede causar mucho daño y por la 
parte del marco legal no se puede tomar ninguna acción en contra de 
ello. 
 
5. De las amenazas más recientes se habla de los Dialers, por medio de los 
Dialers se pueden realizar conexiones de una PC a Internet, pero por 
medio de un número telefónico con más costo de lo normal. Estas 
conexiones se realizan vía web y desgraciadamente el usuario se 
percata del daño hasta se ve reflejado en su recibo telefónico. 
 
Existen más amenazas que dañan los sistemaspero ya se comienzan a utilizar 
combinaciones de ellas y esto aumenta en forma muy importante los ataques, 
propagándolos en grandes cantidades. 
 
Durante la primer mitad del año 2003 Symantec7 publicó un artículo en la red en 
el cual se comenta que las amenazas combinadas aumentaron en un 20% 
comparados con las del año anterior, una amenaza de este tipo puede afectar 
sistemas de todo el mundo, ya que la propagación en Internet se da de una 
manera muy rápida y en corto tiempo. 
 
1.2.4. Vulnerabilidades en Internet 
 
Así como la Internet se ha convertido en un medio de comunicación primordial y 
evoluciona constantemente, también crecen las vulnerabilidades que se 
presentan en este medio. Las vulnerabilidades en la Internet se dan por 
diversas causas, dentro de las cuales encontramos: 
 
• La realización de aplicaciones sin cuidar detalles de seguridad. 
• Equipo o software (sistemas operativos, por ejemplo) sobre sql que 
funcionan las aplicaciones creadas. 
 
La mayor parte de las aplicaciones cuentan con scripts o programas de 
instalación para facilitarle el trabajo al usuario e inclusive existen ocasiones en 
que se habilitan componentes de más, con la finalidad de ser utilizados 
posteriormente, como se vayan requiriendo por los usuarios. Muchos usuarios 
 
7 http://www.symantec.com/region/mx/enterprisesecurity/threat_report/volIV/
 
 9
 
 
 CAPÍTULO 1 
 
 
no están consientes de lo que está instalado en sus equipos, ni que puertos son 
los que están abiertos y dejan una posibilidad muy amplia de vulnerabilidad en 
los sistemas. 
 
Aún cuando el uso de cuentas y contraseñas se ha vuelto algo común, su 
efectividad depende de los usuarios y de los administradores de los equipos y 
sistemas ya que se ha detectado que muchas veces debido a la falta de 
atención del usuario, se ocupan contraseñas o cuentas comunes y que dejan en 
cierta forma el sistema muy vulnerable. 
 
Cuando se requiere de algún servicio de la Internet, la salida se genera por los 
puertos de la computadora pero muchas veces ni si quiera se tiene la noción de 
cuales son los que van a ser ocupados y se tiene abiertos todos. Lo que es un 
descuido se vuelve un problema mayor: el defecto de una aplicación sumada al 
mal uso de las medidas básicas de seguridad da lugar a las vulnerabilidades. 
 
Así, lo que hemos venido llamando vulnerabilidad podemos describirlo con 
mayor formalidad como "Factor de riego interno de un sistema expuesto a una 
amenaza, con peligro de sufrir alguna pérdida parcial o total de información”8. 
El uso de estas vulnerabilidades para tratar de lograr un uso o acceso no 
autorizado es lo que se denomina ataque. 
 
Del año 2003 al 2004 existieron muchas vulnerabilidades que han afectado a 
varios navegadores, por ello SANS Institute, FBI y NIPC realizo una lista de 
vulnerabilidades por plataforma que se muestra a continuación en la siguiente 
tabla. 
 
 
Windows 
 
 
Unix 
Internet Information Services (IIS) BIND Domain Name System 
Microsoft SQL Server (MSSQL) Remote Procedure Calls (RPC) 
Windows Authentication Apache Web Server 
Internet Explorer (IE) General UNIX Authentication Accounts with 
No Passwords or Weak Passwords 
Windows Remote Access Services Clear Text Services 
Microsoft Data Access Components (MDAC) Sendmail 
Windows Scripting Host (WSH) Simple Network Management Protocol 
(SNMP) 
Microsoft Outlook Express Secure Shell (SSH) 
Windows Peer to Peer File Sharing (P2P) Misconfiguration of Enterprise Services 
NIS/NFS 
Simple Network Management Protocol 
(SNMP) 
Open Secure Sockets Layer (SSL) 
 Tabla 1.5. Vulnerabilidades en plataformas Windows y Unix9
 
8 http://www.google.com.mx/search?hl=es&lr=&defl=es&q=define:Vulnerabilidad&sa=X&oi=glossary_definition&ct=title 
9 http://www.sans.org/top20/ 
 10
 
 
 CAPÍTULO 1 
 
 
Diversas son las empresas que se dedican a estudiar el desempeño de las 
aplicaciones en la Web y sus vulnerabilidades. Por mencionar otro dato la 
empresa líder en seguridad Web de aplicaciones llamada WebCohort10, realizó 
pruebas a un aproximado de 300 aplicaciones web en los últimos cuatro años 
(del año 2000 al 2003). En estas pruebas se demuestra que tan solo el 10% de 
las aplicaciones web de comercio electrónico, banca online, sitios de 
administración, etcétera son seguras ante cualquier tipo de ataque. 
 
Dentro de las vulnerabilidades mas frecuentes encontradas en dicho estudio 
realizado por el Centro de Defensa de aplicación de Webcohort se detectaron 
un gran número de ellas. Dentro de las vulnerabilidades más importantes se 
mencionan las siguientes11: 
 
 
Vulnerabilidad Porcentaje de 
Vulnerabilidad
Cross Site Scripting 80% 
SQL injection 62% 
Parameter tampering 60% 
Cookie poisoning 37% 
Database server 33% 
Web Server 23% 
Buffer overflow 19% 
 
Tabla 1.6. Resultados de los estudios de Webcohort. 
 
 
Diversos son los tipos de vulnerabilidades que dan lugar a los ataques en los 
sistemas que funcionan sobre la Internet, en muchos casos no son más que las 
consecuencias de una falta de revisión adecuada o constante de los sitios web, 
por otro lado también se dan por la falta de atención por parte de los 
desarrolladores de los sitios en cuanto a seguridad se refiere. En algunas 
organizaciones, todavía no están concientes del impacto que puede causar este 
tipo de problemas en sus sistemas, afectando a la organización y así a sus 
negocios que pueden ser evitadas o arregladas para minimizar su efecto. 
 
La combinación de ataques y vulnerabilidades es lo que da lugar al concepto de 
“vulnerabilidades de la web” y que da lugar a todas aquellas amenazas a las 
que están expuestos los sitios o servidores web. 
 
 
10 Only 10% of Web Applications are Secured Against Common Hacking Techniques 
 http://www.webcohort.com/web_application_security/company/news/020204.html
11 El tipo de ataque se deja en inglés debido a que es la forma en que más se conoce e identifica a éste en la 
comunidad informática e Internet. 
 11
 
 
 CAPÍTULO 1 
 
 
Una organización conocida como CERT, realizó un estudio en el cual demostró 
por medio de una gráfica, cuanto es lo que han aumentado las vulnerabilidades 
en los sistemas entre los año de 1995 y 200312. 
 
 
Vulnerabilidades por Años
http:// www.cert.org )(Data Source: CERT
0 
500 
1000 
1500 
2000 
2500 
3000 
3500 
4000 
4500 
1995 1996 1997 1998 1999* 2000 2001 2002 2003
 
 
 
 
 
 
 
 
 
 
 
 
 
 Figura 1 1 Vulnerabilidades en los sistemas
 
 
Diversas son las vulnerabilidades encontradas en los sistemas de información, 
dentro de ella encontramos las vulnerabilidades de tipo cross site, el término 
cross-site se deriva de la forma en que la vulnerabilidad es explotada, a partir 
de un sitio o dominio confiable desde donde se liga o accede en forma o con 
código malicioso13. 
 
 
1.2.5. Análisis de vulnerabilidades en los sistemas. 
 
En los últimos años ha crecido tanto el servicio de la Internet que por segura 
utilización surge la importancia de crear mecanismos de defensa y protección 
para ello, con la finalidad de saber con que vulnerabilidades cuentan los 
sistemas y si dichas vulnerabilidades se pueden evitar o prevenir. Para ello se 
lleva a cabo el llamado análisis de vulnerabilidades y existen diversos tipos, 
algunos de ellos son: 
 
- Análisis de vulnerabilidades para la red interna, que como su nombre lo 
dice el análisis se realiza para la red y sistemas internos; en dichos 
análisis se simula ser un usuario interno más ya que muchas de las faltas 
al sistema son realizadas por ellos. 
 
- Análisis de vulnerabilidades de tipo externo, que se efectúan desde 
Internet y por medio de este análisis, se realizan pruebas a los sistemas 
 
12 http://download.microsoft.com/download/6/b/b/6bb2637c-b5f6-44dc-9da3-c2cbcad14efd/442,11,Vulnerabilidadespor 
Años 
13 Tomado a partir de las definiciones del tema en los sitios www.whatis.com y www.wikipedia.org. 
 12
 
 
 CAPÍTULO 1 
 
 
operativos, dispositivos de comunicaciones visibles desde Internet y de 
las herramientas de seguridad con las que se cuentan. 
 
- Análisis de vulnerabilidades para aplicaciones Web, con éste se verifica 
tecnologías utilizadas para la implementación, esquemas, etcétera. 
 
Los análisis que se utilizan para detectar vulnerabilidades en Internet o en algún 
otro servicio tienen como objetivo, realizar mediciones y cálculos que nos den 
un resultado que sirva como parámetro para aplicar medidas de protección para 
los sistemas es recomendable realizar dichos análisis periódicamente ya que 
las vulnerabilidades van surgiendo día con día. 
 
Profundizando en estos análisis de riesgos, lo primero que se tiene que hacer 
es un estudio de los procesos de la organización con la finalidad de eliminar 
todos los servicios redundantes y dejar con mejor funcionamiento los que se 
utilizan de manera frecuente; así como poner énfasis en los servicios que deben 
de estar funcionando por encima de cualquier circunstancia. Dicho estudio es 
necesario para tener presentes las amenazas que se pueden materializar pero 
sobre todo el impacto que causas dichas vulnerabilidades dentro de la 
organización. 
 
Para tener presentes las vulnerabilidades con las que cuenta los sistemas lo 
que se sugiere hacer, es averiguar cada uno de los puntos frágiles del sistema, 
con la finalidad de detectar los problemas que pueden desencadenar un ataque 
hacia la seguridad de los mismos. La mayoría de vulnerabilidades pueden ser 
controladas con soluciones sencillas para que el impacto del daño sea menor. 
Por ello es recomendable realizar estos análisis a distintas partes del sistema. 
 
Existe gran número de vulnerabilidades en los sitios de Internet, conforme va 
pasando el tiempo, algunas son detectadas y reparadas. Pero van generándose 
nuevas vulnerabilidades e inclusive aparecen nuevamente las ya detectadas en 
los navegadores. 
 
Por otra parte las vulnerabilidades se manifiestan en todos los navegadores, por 
ejemplo en el navegador Internet Explorer existe una vulnerabilidad que 
permite imitar la dirección que aparece dicho navegador. Esta vulnerabilidad fue 
detectada en el mes de Agosto del año 200414, y requiere que el usuario cuente 
con una conexión de manera rápida a la Web. La dirección a la que accede el 
usuario es falsa y las páginas que visita dicho usuario son una copia de lo que 
se encuentra en el servidor del atacante, de manera que permite el robo de sus 
datos por parte del atacante. Esta vulnerabilidad se ha tratado de corregir y en 
los sistemas de Windows XP parece ser que ya no aparece pero ha sido 
detectada de nuevo en otras versiones de Internet Explorer aún contando con 
los parches instalados. 
 
 
14 http://www.hispasec.com/unaaldia/2123 
 13
 
 
 CAPÍTULO 1 
 
 
El problema radica en que los parches que se sugieren para la seguridad en los 
sistemas no son para todas las versiones, puede ser que un parche de 
seguridad no sea compatible con versiones distintas de navegadores. En el 
navegador de Internet Explorer por ejemplo el 29%15 de las vulnerabilidades 
que existen en no cuentan con algún parche, el 12% cuentan con un parche 
parcial, esto es preocupante para los usuarios de este navegador, ya que no 
tienen una seguridad en su información. De igual manera el 8% de las 
vulnerabilidades en Mozilla Firefox se encuentran sin algún parche. 
 
Después de haber realizado análisis similar a los anteriores es importante 
contar con un manual, dicho manual debe de contener los reportes de los 
resultados de las evaluaciones realizadas, se recomienda entregar un reporte 
final con algunas recomendaciones y acciones para poder solucionar o 
minimizar las vulnerabilidades que se presenta en el desarrollo de los sistemas 
y aplicaciones ya implementadas. 
 
 
1.3. Desarrollo de los sistemas y aplicaciones Web. 
 
Cuando se habla de un sistema de información nos referimos al conjunto de 
recursos que se encargan de gestionar, recoger, controlar y propagar la 
información dentro de una empresa u organización. Los sistemas de 
información para poder cumplir con sus objetivos se apoyan de diversas 
utilidades como son bases de datos, sistemas de gestión de las bases de datos, 
programas de aplicación, dispositivos físicos, así como el personal que utiliza y 
desarrolla dichos sistemas, a estos pasos se les conoce como ciclo de vida de 
los sistemas de información. 
 
 
1.3.1. Ciclo de vida de los sistemas. 
 
Al ciclo de vida de los sistemas de información también se le llama ciclo de vida 
del desarrollo del software, este ciclo cuenta con diferentes etapas para el 
cumplimiento de sus objetivos, dentro de las etapas que conforman este ciclo 
son: 
 
 
 
 
 
 
 
 
 
 
 
 
15 http://bitc.wordpress.com/2005/12/06/vulnerabilidades-en-internet-explorer/ 
 14
 
 
 CAPÍTULO 1 
 
 
- Planificación. 
Figura 1.2. Ciclo de vida de los sistemas 
Planificación
Análisis de Datos
Diseño
Prototipos 
Implementación
Pruebas
Liberación
Mantenimiento
Muerte
- Análisis de datos. 
- Diseño. 
- Prototipos. 
- Implementación. 
- Pruebas. 
- Liberación. 
- Mantenimiento. 
- Muerte. 
 
El ciclo de vida enfatiza en la 
identificación de funciones de la empresa 
y en el desarrollo de sus aplicaciones ya 
que sigue un enfoque orientado a sus 
funciones. 
 
Para este trabajo de investigación se va a 
hacer énfasis el la etapa de Diseño de la 
aplicación ya que en dicha etapa es en 
donde se generan los programas que se 
van a utilizar para el procesamiento de la 
información, en esta etapa hay que 
asegurarse de que se cumplen con todos 
los requisitos del usuario, también se 
realizan los diseños de las interfaces de 
los usuarios. En la figura 2 se muestra el 
ciclo de vida16: 
 
La etapa de diseño de la aplicación consta de dos partes muy importantes: 
 
1. Diseño de transacciones.- Este diseño es en donde se definen y 
documentan las transacciones de nuestro sistema, esto se lleva a cabo 
al inicio del diseño del sistema, con la finalidad de garantizar el esquema 
lógico. Dentro de las transacciones que se pueden realizar en nuestro 
sistema se encuentran17: 
o Transacciones de recuperación: Informes que nos permiten el fácil 
acceso a los datos. 
o Transacciones de actualización: Actualizan la información en las 
bases de datos. 
o Transacciones mixtas: Combinación de las anteriores. 
 
2. Diseño de la interfaz de usuario.- En este punto se toman en cuenta 
ciertas recomendaciones por parte del usuario con la finalidad de tener 
un acceso rápido y de una manera fácil a la información. 
 
 
16 www.microsoft.com/.../roadmap_arq/heterodox.asp
17 http://www3.uji.es/~mmarques/f47/apun/node73.html 
 15
 
 
 CAPÍTULO 1 
 
 
Los sistemas informáticos mal diseñados pueden convertirse en una 
herramienta muy peligrosa para las empresas ya que las empresas no pueden 
depender de un software y hardware mal diseñados, por ello surge la necesidad 
de auditar. La auditoria contiene elementos de análisis, verificación y 
exposición de debilidades. 
 
 
1.3.2. Definición básica de seguridad informática. 
 
La expansión de las nuevas tecnologías en las empresa conllevan también a la 
proliferación de nuevos peligros, un ejemplo claro se da en los sistemas de 
información, ya que se han vuelto demasiado vulnerables a cualquier tipo de 
ataque que se presente. Se ha tratado en gran medida proteger los sistemas y 
por ello se habla de la seguridad. 
 
La seguridad informática trata de asegurar cada uno de los recursos de los 
sistemas que se tienen en una empresa o institución, de posibles ataques o 
vulnerabilidades. La seguridad informática se apoya de varias opciones para 
poder realizar los estudiosde vulnerabilidades correctos como por ejemplo la 
auditoria informática. 
 
 
1.3.3. Auditoria Informática. 
 
En primera instancia la auditoria informática tiene como alcance un informe final 
en donde quede asentado perfectamente hasta donde se ha llegado y se quiere 
llegar. Los Sistemas Informáticos han de protegerse de modo global y 
particular: a ello se debe la existencia de la Auditoria de Seguridad Informática 
en general.
 
La auditoria informática nos ayuda a verificar lo que se están haciendo para 
validar las medidas de control aplicables a los sistemas, de una manera 
apropiada, con la finalidad de mantener la integridad de la información y 
prevenir los sistemas de diversos riesgos. 
 
Existe la llamada Auditoria de páginas Web, que se entiende como el análisis 
externo de la web, comprobando vulnerabilidades como la inyección de código 
sql, Verificación de existencia y anulación de posibilidades de Cross Site 
Scripting (XSS), etcétera18. 
 
Cuando se realiza una auditoria informática para Internet, es con la finalidad de 
detectar fallas en las aplicaciones, uno de sus principales objetivos es contar 
con una evaluación de riesgos, vulnerabilidades y arquitecturas de seguridad 
implementadas. Dentro de los principales objetivos que se persiguen con la 
auditoria informática son: 
 
 
18 http://www.hispasec.com/corporate/auditoria.html 
 16
 
 
 CAPÍTULO 1 
 
 
1. Control de las funciones informáticas. 
2. Análisis de la eficiencia de los sistemas informáticos. 
3. Verificar que se cumplen las normas de la empresa. 
4. Gestión de los recursos materiales y humanos. 
 
Para poder cumplir con los puntos anteriores en necesario auxiliarse con 
herramientas que pueden ayudar a evitar o a minimizar las vulnerabilidades en 
los sistemas o sitios Web, ya que cuando existe un sistema de información mal 
diseñado se puede convertir en algo muy peligroso para la empresa o 
institución. 
 
Existen diversos tipos de auditoria pero para poder detectar vulnerabilidades de 
tipo cross site, nos enfocaremos a la auditoria que se le realiza al desarrollo de 
proyectos o aplicaciones. A grandes rasgos esta auditoria cuenta con los 
siguientes pasos. 
 
 
Prerrequisitos 
del entorno 
 Análisis 
Funcional 
 Diseño 
 
 Análisis en la 
Programación 
 
 
 
 
 
 Figura 1.3. Pasos de la auditoria 
Alta de proceso 
Pruebas 
 
 
Para poder llevar a cabo los pasos de la auditoria se deben de tomar en cuenta 
las siguientes consideraciones: 
 
- Revisión de tecnologías utilizadas si es posible de forma modular 
- Control de las aplicaciones. 
- Estudio de viabilidad de la aplicación. 
- Satisfacción del usuario. 
- Control de los procesos de las aplicaciones. 
 
 
1.3.4. Herramientas de la auditoria Informática. 
 
Cuando se habla de una auditoria informática es con la finalidad de contar con 
información necesaria para cualquier cambio en nuestros sistemas o cualquier 
actualización, la manera correcta de realizarla una auditoria informática es 
recabando información y documentos de todo tipo. 
 17
 
 
 CAPÍTULO 1 
 
 
Una de las formas de recabar información es enviando cuestionarios impresos a 
las personas que se creen adecuadas para contestar y que son responsables 
del área. Los cuestionarios aplicados para que puedan cumplir con su objetivo 
deben de ser muy específicos a situaciones concretas. 
 
Otra forma de recabar información es por medio de entrevistas con las 
personas encargadas de los proyectos o aplicaciones, dicha entrevista no tiene 
que seguir un protocolo. 
 
Otra forma de recabar información es ocupando listas de verificación (checklist) 
que son un conjunto de pasos, preguntas y actuaciones que se deben de seguir 
para lograr un objetivo, estos pueden ser de memoria o leídos con la finalidad 
de obtener una descripción completa del sistema y asegurarse de que no se ha 
saltado ningún paso, para que dicho sistema sea seguro. 
 
1.3.4.1. Listas de verificación. 
 
Las listas de verificación se aplican a los sistemas que trabajan sobre Internet. 
Cuando los sistemas que funcionan por la Internet corren el riesgo de ser 
atacados debido a los diferentes tipos de vulnerabilidades que existen, es 
importante tomar en cuenta alguna forma de análisis que nos permita evitar o 
prevenir riesgos. Para ello se ocupan las listas de verificación que tienen los 
siguientes objetivos: 
 
• Conocer las vulnerabilidades en las aplicaciones que se manejan en la 
empresa. 
• Estar al tanto de que la empresa cuenta con estrategias para la 
prevención o corrección de vulnerabilidades, en caso de que se 
presenten. 
• Tomar en cuenta el impacto que dichas vulnerabilidades generan en 
nuestras organizaciones. 
 
Cuando a un sistema se le aplica una lista de verificación, se hace con la 
finalidad de calificarlo o evaluarlo, se utiliza en cualquier momento que se 
necesita asegurar los datos y acciones de un sistema. 
 
Las listas de verificación pueden estar dentro un rango preestablecido es decir 
contar una calificación para cada acción, que evalué los sitios Web, dichas 
listas de verificación son tomadas en consideración como parte de una escala 
para realizar evaluaciones del mismo tipo en otros sistemas. 
 
Un ejemplo claro de lo que puede ser una lista de verificación, es el siguiente: 
 
 
 
 
 
 18
 
 
 CAPÍTULO 1 
 
 
 
1.- A tu parecer el sistema 
es: 
 
a) Muy Eficiente 
b) Eficiente 
c) Deficiente 
d) Muy deficiente 
 
 
2.- La programación del 
sistema es: 
 
a) Muy Eficiente 
b) Eficiente 
c) Deficiente 
d) Muy deficiente
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Figura 1.4. Ejemplo de una lista de verificación. 
 
Son diversas las listas de verificación que se aplican ya que son de acuerdo a la 
empresa y sus requerimientos pero en general existen dos formas muy 
comunes de realizar evaluaciones de este tipo 19: 
 
1. Listes de verificación binaria.- Que están constituidas por preguntas 
cerradas en donde la respuesta sea un “si” o un “no” y estas equivaldrían 
a un “uno” o “cero” respectivamente en nuestra escala de evaluación. 
 
2. Listas de verificación de rango.- En ellas se tienen preguntas que 
pertenecen a un rango preestablecido, son muy adecuados siempre y 
cuando el equipo que esta evaluando las aplicaciones sea muy pequeño 
y tenga criterios uniformes. Las listas de verificación no se presentan de 
forma estándar para todas las empresas cada una tiene alguna lista de 
verificación dependiendo de sus aplicaciones. 
 
Las listas de verificación se aplican de acuerdo a cada meta de cada institución, 
organización o lo que lo requiera. Por su efectividad es el instrumento que se va 
a utilizar para determinar ataques de tipo Cross Site en los sistemas ya que se 
van a contar con determinados escenarios específicos. 
 
Finalmente las listas de verificación pasan por un procesamiento interno de 
información, con el objetivo de obtener respuestas confiables que permitan la 
descripción de los puntos fuertes y débiles de los sistemas. 
 
Dentro de las ventajas que se encuentran para aplicar una lista de verificación 
son que existen de una forma libre, se aplican de una manera muy fácil, se 
pueden resumir y comparar, hasta cierto punto son flexibles. Los análisis que se 
realizan de las aplicaciones se hacen de manera rápida y se pueden aplicar 
medidas correctivas de forma inmediata. 
 
19 http://www3.uji.es/~coltell/Docs/ITIG_F13/F13_2003_T02.pdf 
 19
 
 
 CAPÍTULO 1 
 
 
Todo procedimiento de evaluación tiene sus desventajas, en el caso particular 
de las listas de verificación es que son de manera arbitraria y sugestiva, 
necesitan actualización constante y hasta pueden no tratar necesidades de un 
sistema en particular, todo depende de las personas que realicen las auditorias 
a los sistemas. 
 
1.3.5. Metodología de evaluación de los sistemas 
 
Las evaluaciones a un sistemaes recomendable realizarlas en un trabajo de 
investigación concreto ya que tienen como finalidad orientar al desarrollo 
general de los sistemas y establecer la validez y efectividad del mismo, 
comparándolo con otros servicios existentes. 
 
Dentro de los puntos que se toman en cuenta para poder efectuar una 
evaluación de sistemas son20: 
1. Interfaz general.- Esta etapa evalúa la arquitectura de acceso de manera 
muy general, así como los accesos a los sistemas, gráficos, capacidad de 
acceso a la información, esquemas de búsqueda, sistema de ayuda a los 
usuarios entre otros. 
2. Valoración sobre las categorizaciones y secciones.- En esta evaluación se 
detectan fallas en cada una de las secciones y si el modelo del sitio es el 
más adecuado. 
3. Valorización sobre los resúmenes.- Si el contexto del contenido es adecuado 
a la empresa que pertenece. 
 
1.3.6. Ethical hacking tests 
 
Cuando se habla de Ethical hacking tests es necesario tener una definición de 
lo que es la ética: 
 
“Parte de la filosofía que trata de la moral y de las obligaciones del hombre”.21
 
Y la definición de ética profesional es la siguiente: 
 
“Conjunto de normas morales que rigen la conducta humana”. 22
Estas dos definiciones se toman como referencia para saber que papel que 
juega un hacker ético, el cual debe de contar con ciertos principios y mantener 
algún código de conducta. Existen muchas personas que se llaman hackers y 
que utilizan la programación en nombre de distintos beneficios, uno de ellos es 
para buscar soluciones a problemáticas reales y el otro es para tener acceso 
ilegal a los medios actuales como Internet y otros. Pero los llamados hacker 
éticos son aquellos que tienen el conocimiento de la programación para resolver 
problemas que aporten algo en beneficio de la sociedad y cuentan con su 
código de conducta. 
 
20 http://www.ucm.es/info/multidoc/multidoc/revista/num9/prensa/jime-chacon.htm 
21 Real Academia Española http://www.rae.es/
22 Real Academia Española http://www.rae.es/
 20
 
 
 CAPÍTULO 1 
 
 
Cuando se hace referencia al termino Ethical hacking tests estamos hablando 
de pruebas de penetración que se le realizan a los sistemas de una empresa o 
institución y que cuenta con Internet para el funcionamiento de su negocio. 
 
1.4. Propuesta de Estrategia de seguridad. 
 
El propósito de este trabajo es la formulación de una estrategia de seguridad 
que sirva como una guía para ser utilizada en algunas partes del proceso de 
desarrollo de sitios Web ya existentes así como los de nueva creación. 
 
Se pensó en una estrategia antes que en una metodología ya que la 
metodología implica un conjunto de métodos que siguen una investigación 
científica completa, es algo más que una notación, un proceso, y herramientas. 
Una definición de estrategia es la siguiente: 
 
“Es un proceso regulable, conjunto de reglas que aseguran una decisión óptima 
en cada momento”23
Una estrategia de seguridad puede ahorrar mucho tiempo a la organización o 
institución y proporcionar importantes recomendaciones de lo que se debe 
hacer es mucho más sencilla y flexible de implementar que una metodología. 
Las actividades que se describen en este documento suelen requerir 
actualizaciones periódicas o las revisiones correspondientes, algo rápido de 
realizar bajo el concepto de lo que es una estrategia a lo que implica una 
metodología. Estos cambios se realizan cuando las configuraciones, otras 
condiciones y circunstancias cambian considerablemente o cuando hay que 
modificar las leyes y normas organizativas. Éste es un proceso nunca termina y 
debe revisarse y probarse con periodicidad. 
El establecimiento de un conjunto de controles de seguridad requiere el uso de 
un método para determinar los puntos vulnerables que existen en nuestros 
sistemas y aplicaciones. El estado actual de la seguridad informática se puede 
determinar mediante la revisión de ciertos parámetros y en dicha revisión se 
debe tomar nota de las áreas en las que hay problemas como por ejemplo: 
• Controles de acceso físico. 
• Directivas de seguridad de la red como por ejemplo, correo electrónico e 
Internet. 
• Aplicaciones. 
• Planes y pruebas de contingencias y de recuperación de desastres. 
• Conocimiento y formación en seguridad informática. 
Finalmente están las pruebas y el estudio de sus resultados, que se lleva a 
cabo después de que se han puesto en marcha los controles de seguridad. La 
 
23 Real Academia Española http://www.rae.es/
 
 21
 
 
 CAPÍTULO 1 
 
 
realización de ataques simulados en sistemas de pruebas o en laboratorios 
permite evaluar los lugares en los que hay puntos vulnerables para ajustar las 
directivas y los controles de seguridad. 
La realización de pruebas y de ajustes en las directivas y controles de 
seguridad en función de los resultados de las pruebas es un proceso iterativo, 
nunca termina, debido a que en la red siguen apareciendo ataques y aunque 
algunos ya son solucionados tienden ha reaparecer con más fuerza, por ello 
debe evaluarse y revisarse de forma periódica para poder implementar mejoras 
continuas. 
 22
 
Capítulo 2: 
 
 
 
 
Ataques de tipo 
Cross Site 
Scripting 
 
 
 
 
 
 
 
 
 
 
 
 CAPÍTULO 2 
 
 
Ataques de tipo Cross 
Site Scripting. 
 
Durante los últimos años las aplicaciones, servidores y equipos web se han 
convertido en blanco perfecto para usuarios maliciosos, quienes se aprovechan 
de las configuraciones incorrectas o de la creación de aplicaciones no seguras 
para poder infiltrarse en ellas y obtener datos para su beneficio. 
 
Dentro de las formas más comunes para poder explotar las vulnerabilidades de 
los sistemas o aplicaciones, se encuentran las siguientes1: 
- Ejecución de código de manera remota. 
- Inyección SQL. 
- Vulnerabilidades asociadas a cadenas. 
- Cross Site Scripting. 
 
De las formas mencionadas anteriormente para este estudio se va a hacer 
énfasis en los ataques de tipo Cross Site, por medio de los ataques de este tipo 
se pueden infiltrar en un sistema generando códigos arbitrarios en lenguaje 
HTML que son ocupados en páginas Web estáticas u otros tipos, dichos 
códigos introducen información no invalida en campos permitidos para 
interactuar con el usuario, provocando afectar a las aplicaciones en incluso la 
caída de un servidor. 
 
El problema aumenta porque actualmente las empresas buscan contar con 
páginas Web que les ofrezcan servicios e información actualizada como son: 
comercio electrónico, catálogos en línea, portales, etcétera. Las empresas lo 
hacen con la finalidad de tener mayor contacto con sus clientes, proveedores, 
empleados, etcétera. 
 
Actualmente existe un equipo de seguridad que se dedica a la coordinación de 
emergencias de redes telemáticas llamado esCERT/TB-Security2 el cual 
realizó un estudio a finales del año 2005 con el nombre de “Balance 2005: Los 
virus y el phishing de nuevo son las estrellas” en dicho estudio demostró que 
los atacantes y los códigos maliciosos se dan principalmente por la ingeniería 
social y vulnerabilidades de los programas. 
 
Dicho estudio hace mención del aumento de vulnerabilidades en un 15% para 
Internet Explorer, Microsoft Office y Outlook entre otras. Mediante dicho estudio 
se percataron de que siguen apareciendo un gran número de vulnerabilidades 
en sistemas como Microsoft Windows, Internet Explorer entre otros y que 
dichas vulnerabilidades son consecuencia de fallas en el diseño de los 
sistemas. 
 
1 http://www.hispasec.com/corporate/noticias/94 
2 http://www.tb-security.com/prensa_not_009.htm
 23
 
 
 CAPÍTULO 2 
 
 
2. Nombre y descripción general de vulnerabilidades. 
 
Para este trabajo de investigación se va a hacer énfasis en las vulnerabilidades 
que se aprovechan por los ataques de tipo cross site. Dentro de los ataques 
que se consideran de este tipo,encontramos los siguientes: 
 
a) Cross Domain Scripting. 
 
Existen múltiples vulnerabilidades en los navegadores y una de ellas se da 
cuando es deficiente la verificación de los controles utilizados para los dominios 
de seguridad definidos, a esto se le conoce como cross-domain. 
 
Una definición de cross domain scripting es la siguiente: 
 
“Consecuencia de ser invocado un frame en algún otro dominio de 
seguridad, si se trata de un dominio local, mediante el cual se permiten 
ejecutar códigos arbitrarios de un dominio diferente y tener mayores 
privilegios sobre el sistema atacado3” esto quiere decir que se encuentra 
abierta la posibilidad de ejecutar código malicioso en el equipo usando los 
permisos del usuario activo. 
 
b) Cross Site Tracing. 
 
Actualmente la mayor parte de los negocios debido al crecimiento de la 
tecnología requieren de un navegador Web común y de un método. Este 
navegador y método lo solicitan con la finalidad de poder mantener una sesión 
de un usuario abierta mientras se realizan algunas transacciones necesarias 
para dichos negocios, empresas u organizaciones. 
 
En general los ataques de tipo Cross Site Tracing son manipulados para 
obtener información exacta de algún usuario cuando se le envía la respuesta 
del servidor. 
 
Una definición de cross site Tracing es la siguiente: 
 
“Manejo del atributo Only del protocolo HTTP por medio de una conexión 
entre un cliente/servidor para poder robar información confidencial del 
usuario”. 
 
El protocolo HTTP se ocupa con la finalidad de poder mantenerse en el 
servidor en estado activo almacenando la información en las cookies, dichas 
cookies contienen la información del usuario. Las cookies permiten que el 
cliente y el servidor mantengan conexión mediante una sesión pero esto es 
peligroso porque accediendo a las cookies del usuario se puede tomar 
información confidencial del mismo. 
 
 
3 www.us-cert.gov/cas/techalerts/TA04-163A.html
 24
 
 
 CAPÍTULO 2 
 
 
c) Cross Site scripting. 
 
Otra de las vulnerabilidades de tipo cross site es la llamada cross-site scripting 
(XSS4); En los estudios realizados por WebCohort, quedó claro que el XSS era 
uno de los problemas que más afligían a las aplicaciones Web. Como ejemplo 
de su peligrosidad, a través de los ataques XSS fue posible burlar las 
protecciones de antivirus que ofrecen ciertos servicios como por ejemplo 
Hotmail. 
 
Una definición de XSS es la siguiente: 
 
Cross Site Scripting es un tipo de “Ataque en la seguridad de una 
computadora, donde la información de un contexto puede ser insertado 
en otro contexto, permitiendo que un acceso o uso de código de marca 
sea ejecutable en la máquina del cliente o del servidor con la finalidad de 
realizar ataques de diversos tipos”. 
 
d) Cross Frame scripting. 
 
Finalmente hablamos de los ataques de tipo Cross-frame scripting que se dan 
cuando “Existe la posibilidad de enmascarar un sitio Web como un marco 
dentro de otro sitio Web de confianza para robar la información del 
usuario”. 
 
Para los generadores de sitios Web actualmente trabajan con ventanas y sus 
secciones son manejadas por medio del HTML dinámico. La generación de 
numerosas ventanas y secciones es con la finalidad de poder mostrar 
documentos de manera reciproca pero este tipo de sitios peligran con respecto 
a la integridad de los datos y la información. 
 
 
2.1. Ataques derivados de las vulnerabilidades Cross 
Domain Scripting. 
 
Existen diversas organizaciones dedicadas a estudiar las vulnerabilidades que 
existen en los sistemas, dentro de las organizaciones preocupadas por la 
seguridad de los sitios web se encuentra US-CERT que ha confirmado que 
siguen existiendo ataques de tipo Cross Site Domain para Microsoft Internet 
Explorer. 
 
Un ejemplo de un ataque de tipo Cross Domain Scripting se da de la siguiente 
forma: Cuando un script que contenga código malicioso sea descargado sin 
autorización por medio de Internet, en el momento que dicho usuario está 
ejecutando alguna página en algún navegador, como por ejemplo Internet 
Explorer. El script malicioso por lo regular se descarga en zonas conocidas 
 
4 Para evitar confusiones con las siglas de las hojas de estilo (CSS, Cascade Styling Sheet), se suele denominar XSS a 
este concepto, por una alusión y juego de palabras con el término “cross”. 
 25
 
 
 CAPÍTULO 2 
 
 
como puede ser Mi PC. El problema radica en que dichos scripts con código 
malicioso, se descargan con los mismos privilegios que el usuario dando como 
consecuencia el robo de información confidencial. 
 
Para comprender un poco más como se explotan las vulnerabilidades con un 
ataque de tipo Cross Domain Scripting, es necesario tener presente el 
concepto de dominio, ya que los ataques se basan en los dominios. Mientras la 
seguridad del dominio tenga en cuenta la prevención de la interacción con el 
usuario la aplicación será segura de lo contrario se corre el riesgo de poder 
manipular la información dando paso a los ataques de usuarios 
malintencionados. 
 
Por medio de los ataques de tipo cross domain scripting lo que se hace es 
detectar si existen zonas no son seguras del browser, esto se detecta cuando 
el usuario esta abriendo cualquier dominio. Si el dominio que está consultando 
el usuario es inseguro esto es aprovechado por los atacantes enviando 
códigos maliciosos a los servidores y a otros dominios que están conectados 
con el que esta siendo visto por el usuario. Generalmente el problema afecta 
dominios que no están protegidos. 
 
2.1.1. Descripción Técnica. 
 
Las vulnerabilidades encontradas por los ataques de tipo Cross Domain 
Scripting (en español dominio cruzado) permiten cierto código en un 
determinado dominio, los dominios pueden ser accedidos en otros dominios 
diferentes y con privilegios similares a los asignados en la primer zona, dicha 
zona puede ser un sitio remoto. 
 
Cuando se detectan los ataques de tipo Cross Domain Scripting en 
navegadores de Microsoft en el caso del sistema operativo Windows, es porque 
no determinan la zona de seguridad de un marco que se encuentra abierto en 
un dominio y redireccionado a un servidor Web en un dominio diferente. 
 
Para poder llevar acabo un ataque de tipo Cross Domain Scripting, se puede 
lanzar un evento con algún lenguaje de programación, como por ejemplo java 
script, dicho evento será invocado en la página nueva haciendo posible el 
ataque siempre y cuando las páginas pertenezcan a diferentes dominios. 
 
Por ejemplo en el navegador Mozilla hay una parte que se encarga de prevenir 
la explotación de documentos zombie, pero lo mas importante es que verifica 
todo el código de un script antes de ser ejecutado; esto lo hace con la finalidad 
de evitar ataques de tipo cross site. El problema se da en los manejadores de 
eventos conocidos como “event handlers” utilizados en códigos de 
documentos HTML, ya que los event handlers son códigos que se ejecutan 
como respuesta a ciertos eventos como pueden ser acciones de usuario de 
mover el Mouse, escribir, etcétera. 
 
 26
 
 
 CAPÍTULO 2 
 
 
2.1.2. Proceso de Ataque. 
 
Los ataques de tipo Cross Domain Scripting se puede dar de diversas formas, 
una de ellas es basándose en los elementos OBJECT, permitidos en el 
lenguaje de programación HTML, dichos objetos permiten insertar objetos 
externos a las páginas Web. 
 
Algunos ejemplos de los elementos OBJECT que son insertados pueden ser los 
controles Active X como Web Browser, imágenes, applets, aplicaciones y 
algunos otros. El elemento OBJECT permite realizar las especificaciones lo que 
necesita un agente de usuario para la representación de un objeto, es decir: 
valores, códigos fuente y datos de los tiempos de ejecución. 
 
El problema comienza algunas veces en los controles Web Browser que están 
incluidos en las etiquetas OBJECT ya que en estos controles se pueden evadir 
restricciones de seguridad

Continuar navegando