Professional Documents
Culture Documents
Lenguaje de
Programacin III
Docente: Ing. Cristian Villalta Lagos
Tema:
C ONTENIDO
1.
Introduccin .................................................................................................................................... 3
2.
3.
4.
5.
6.
6.1.1.
6.1.1.1.
6.1.1.2.
6.1.1.3.
6.1.1.4.
6.1.1.5.
6.1.1.6.
6.1.1.7.
6.1.1.8.
6.1.1.9.
6.1.1.10.
7.
8.
Conclusiones ................................................................................................................................. 20
9.
Recomendaciones ......................................................................................................................... 22
2
Alumno: LEN ANFOSSI, Marcelo R. M.
1. I NTRODUCCIN
La seguridad de aplicaciones Web es una rama de la Seguridad de la Informacin que se
ocupa especficamente de la seguridad de los sitios web y aplicaciones web. Se diferencia de
las otras ramas de la seguridad de la informacin en que la seguridad de aplicaciones web se
centra en las vulnerabilidades en el cdigo de la aplicacin que se expone durante una
sesin de usuario en la web. Las otras reas de seguridad de la informacin -que no se
discuten directamente en este documento- son de seguridad de red, seguridad de la
infraestructura, la seguridad de base de datos, y de la seguridad operacional.
La mayora de los ataques contra servidores web son a travs de firewalls de red y a travs
de los puertos http (80) o HTTPS (443). Algunas de las tcnicas de hacking ms utilizados son
la denegacin de servicio (DDoS), las fugas, Cross-site Scripting,
Inyeccin de SQL y
divulgacin
Debido a la complejidad de las aplicaciones web y sus arquitecturas de apoyo (es decir,
sistemas operativos, bases de datos, artculos de media, etc.), los ataques web pueden ser
muy sofisticados, con graves consecuencias de largo alcance. La complejidad de las
aplicaciones web tambin puede hacer de la seguridad de aplicaciones web una tarea ms
difcil que otras ramas de la Seguridad de la Informacin.
Los hackers apuntan sus ataques a las aplicaciones web, debido a que pueden llegar a ser
muy lucrativos para los que lo hagan. Por ejemplo, un ataque exitoso al servidor web de un
banco podra generar miles de nmeros de cuentas bancarias e informacin de contraseas
de usuarios. El hacker podra utilizar esa informacin para ganar una fortuna por hacer
transferencias y retiros de dinero no autorizados.
Este trabajado est escrito como una introduccin a la seguridad de aplicaciones web para
personas con formacin tcnica y profesional. Mi intencin es educar sobre los riesgos
inherentes a las aplicaciones web, las amenazas que enfrentan y las vulnerabilidades ms
comunes que contienen. Como resultado final de este trabajo, espero dar un conocimiento
bsico del tema y para que los desarrolladores sean capaces de construir sobre esta
informacin un mayor esfuerzo por proteger sus propias aplicaciones web.
3
Alumno: LEN ANFOSSI, Marcelo R. M.
2. V ISIN G ENERAL
La Internet se ha convertido en un lugar enorme donde nos comunicamos, hacemos nuestras compras, nuestras
operaciones bancarias, leemos las noticias, etc. Las empresas venden sus productos o servicios entre s y hacia los
consumidores. La continuacin de su funcionamiento y la salud ha llegado a depender de este comercio en lnea.
Para la mayora de la gente de su visin de Internet llega a travs de un navegador, los sitios web de las que estn
conectados y su correo electrnico. Los consumidores esperan que sus transacciones en lnea sean seguras, de lo
contrario no estaran haciendo compras o banca en lnea. Pero qu tan seguro son estos sitios web?
La mayora de los ingenieros de software dirn que todo software contiene errores. La mayora del software se
desarrolla con el enfoque en la funcionalidad y caractersticas. Las empresas son capaces de mantener una ventaja
competitiva al ofrecer un uso ms fcil o capacidades que sus competidores no tienen. El tiempo de entrega de un
nuevo desarrollo es tambin una gran ventaja competitiva, por ello, el tiempo para que los desarrolladores
encuentren y corrijan errores es limitado. Los planes de pruebas se basan solamente en asegurarse de que la
aplicacin hace lo que se supone que debe hacer cuando se les da una buena informacin.
La mala noticia es que hay una serie de personas afuera que estn probando su aplicacin web, as es, pero con una
intencin diferente. Estas personas envan deliberadamente informacin errnea a su sitio con la esperanza de que
encuentren errores que usted no conoce. Dado que la aplicacin web est siempre en lnea, los chicos malos
tienen la libertad de tiempo ilimitado para empujar y provocar errores en ella. Comprueban su servidor web para
ver si es vulnerable a fallas sin parches. Ponen a prueba sus campos de texto y mens desplegables para ver si
existen debilidades en la validacin de las entradas. Es probable que no quieran tomar su sitio o romper su
capacidad para funcionar. Pero ellos tienen un objetivo y utilizarn todo lo que puedan para llegar a ella. Si ellos son
ms inteligentes, lo harn de una manera que no revelan quines son o incluso algunos ms osados le alertaran de
que estn ah.
Esta es la esencia de la seguridad de las aplicaciones web. Qu tan bien se sostiene nuestra aplicacin web en
contra de estos ataques? Nos brinda informacin de seguridad con facilidad? Se confa en que el usuario slo
enviara datos que agradables? En resumen, debemos centrarnos en qu hacer cuando se utiliza de una manera
a la cual no estaba destinada?
4
Alumno: LEN ANFOSSI, Marcelo R. M.
3. L OS ATAQUES W EB EN N MEROS
Segn estadsticas solo en los Estados Unidos entre los aos 2005 al 2011, se registraron 297
infracciones de seguridad de las aplicaciones web conocidas pblicamente. De estos 297
incidentes se estima que 297,573,821 registros fueron comprometidos. El 70% de las
infracciones registradas fueron descubiertas por un tercero (no por la organizacin que fue
violada).
Uno de los casos ms sonados se produjo en 2010 en la Universidad de Maine, Orono,
Estados Unidos. Los hackers comprometieron la informacin personal de 4,585 estudiantes
que recibieron servicios de centro de orientacin de la universidad. (El centro de
asesoramiento proporciona a los estudiantes el apoyo y los servicios de salud mental.) La
informacin sobre en los Servidores inclua, nombres, nmeros de seguro social, y la
informacin clnica sobre cada estudiante que solicita los servicios de orientacin del centro
entre 08 de agosto 2002 y 21 de junio 2010.
Otro caso muy comentado ocurri en 2010 e involucr Small Dog Electronics en Waitsfield,
Vermont. Un hacker rompi el sitio web y comenz a robar informacin de los clientes de
tarjetas de crdito, luego de que la empresa comenz la recoleccin de las donaciones de
sus clientes para la ayuda solidaria en Hait.
Una de las violaciones ms notorias ocurri en noviembre de 2008, cuando los hackers
descubrieron la vulnerabilidad en la red de RBS WorldPay, una filial del Royal Bank of
Scotland. La vulnerabilidad fue explotada para obtener un nombre de usuario y la
contrasea que haya concedido el acceso a una base de datos que contena los nmeros de
cuenta y PINs de las tarjetas de dbito de nmina.
Los hackers luego accedieron a las cuentas y aumentaron las lneas de crdito en dlares de
cada tarjeta, y aumentaron la disponibilidad de dinero en cada una de ellas. Cuarentaicuatro
tarjetas de dbito falsas fueron generadas y distribuidas a 280 ciudades de todo el mundo a
una red previa de "casas de cambio". El 8 de noviembre, las casas de cambio en 280
ciudades de todo el mundo comenzaron a acceder a los cajeros automticos utilizando las
5
Alumno: LEN ANFOSSI, Marcelo R. M.
I LUSTRACIN 1 L A V ULNERABILIDAD
DE LAS
A PLICACIONES W EB
6
Alumno: LEN ANFOSSI, Marcelo R. M.
I LUSTRACIN 2 E NTRADA
S ALIDA
DE
P AQUETES TCP/IP
7
Alumno: LEN ANFOSSI, Marcelo R. M.
I LUSTRACIN 3 E SQUEMA
DE UN
A TAQUE
CON
XITO
8
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.
E L OWASP T OP 10
El OWASP Top 10 es un conjunto de clases de vulnerabilidades que son de muy
alto riesgo. Los programadores pueden verificar si sus aplicaciones cumplen las
mejores prcticas, en funcin de si cuenta o no con los servicios de proteccin
contra estas vulnerabilidades. El Top 10 de OWASP representa un amplio
consenso en cuanto a las vulnerabilidades ms crticas para la seguridad de las
aplicaciones web. Una variedad de expertos en seguridad de todo el mundo
contribuyen con su experiencia para producir la OWASP Top 10.
Las siguientes
gravedad decreciente,
9
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.1.
A1 V ULNERABILIDAD
POR I NYECCIN
I LUSTRACIN 4 E JEMPLO
DE
A TAQUE
POR I NYECCIN
10
Alumno: LEN ANFOSSI, Marcelo R. M.
A2
S ECUENCIA
CRUZADOS (XSS)
DE
COMANDOS
EN
SITIOS
I LUSTRACIN 5 E JEMPLO
DE
A TAQUE XSS
un
sitio
web
de
trucos:
<TABLE
11
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.3.
A3 P RDIDA
DE AUTENTICAC IN Y GESTIN DE
SESIONES
los
hackers
pueden
ser
capaces
de
I LUSTRACIN 6 E JEMPLO
DE
EL
USO FORZADO DE UN
ID
DE SESIN
C ONOCIDO
12
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.4.
A4 R EFERENCIA
13
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.5.
A5 F ALSIFICACIN
CRUZADOS (CSRF)
14
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.6.
A6 D EFECTUOSA
CONFIGURAC IN DE S EGURIDAD
15
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.7.
A7 F ALLA
URL
las
aplicaciones
web
necesitan
realizar
6.1.1.8.
A8 R EDIRECCIONES
Y REENV OS NO VALIDADOS
16
Alumno: LEN ANFOSSI, Marcelo R. M.
I LUSTRACIN 7 E JEMPLO
6.1.1.9.
DE
UN
A9 A LMACENAMIENTO
M ALWARE
Conozcamos
como
los
datos
personales,
privados,
17
Alumno: LEN ANFOSSI, Marcelo R. M.
6.1.1.10.
A10 P ROTECCIN
INSUFICIEN TE EN LA CAPA DE
TRANSPORTE
18
Alumno: LEN ANFOSSI, Marcelo R. M.
DE
R IESGO
19
Alumno: LEN ANFOSSI, Marcelo R. M.
Al poner las fallas en el formato Top 10, una organizacin puede calcular los factores de riesgo y
proporcionar un marco para reducir la exposicin global al riesgo.
El Top 10 de OWASP es amplio, pero hay otros riesgos importantes de seguridad en aplicaciones web
que constantemente se estn descubriendo. Debemos tener en cuenta que aun un nmero ilimitado
de vulnerabilidades no se han identificado.
8. C ONCLUSIONES
La seguridad de aplicaciones web es un esfuerzo serio que requiere una planificacin y compromiso por
parte del equipo de desarrollo y toda la organizacin. El conocimiento del problema es cada vez mayor
as como el incremento de las divulgaciones pblicas de informacin. Las empresas estn tomando ms
seriamente el problema general de la seguridad y como resultado estn descubriendo ms sobre la
seguridad de aplicaciones web. Esto es en parte un hecho positivo que ha salido de una legislacin que
exija la divulgacin y sanciones para las infracciones. Sin embargo, todava hay mucho por hacer. La
mayora de la informacin sobre el desarrollo web destaca la funcionalidad y nuevas caractersticas con
poca mencin de la seguridad. Una bsqueda en Amazon.com sobre "Web Development" muestra
cerca de 40,000 resultados. Una bsqueda de "Web Application Security" revela unos 5,000 ttulos.
Como notamos la diferencia es muy grande, no existe mucha informacin sobre la seguridad en
aplicaciones webs, incluso luego de revisar las 2 primeras pginas de los resultados nos daremos
cuenta que los temas subsiguientes son muy generales.
Uno de los retos que tiene la seguridad de la informacin, en general, es que tiene que responder a dos
aspectos que cambian muy rpidamente: la tecnologa y los criminales. Ninguno de los dos est quieto.
Las nuevas tecnologas se estn apresuraron en su implementacin con la misma rapidez como lo
fueron en los das de las puntocom. Temas como la inteligencia de negocios, AJAX, los servicios web 2.0
y estn por todas partes en noticias de tecnologa. Las empresas pueden ejercer una inmensa presin
para implementar las nuevas tecnologas en la lucha para ganar cualquier ventaja competitiva posible.
Al mismo tiempo el elemento criminal est aumentando su actividad y puede ser increblemente
innovador en respuesta a las situaciones cambiantes. Ms dinero se est moviendo en lnea y ms
personas estn aprendiendo que pueden robar sin salir de su silla. Se ha generado una dependencia
20
Alumno: LEN ANFOSSI, Marcelo R. M.
21
Alumno: LEN ANFOSSI, Marcelo R. M.
9. R ECOMENDACIONES
Como sea mencionado, la seguridad web implica la integracin de la seguridad en el ciclo de vida de
desarrollo de software y adems de la aplicacin de las siguientes herramientas: codificacin segura,
pruebas de escaneo y vulnerabilidad, y los cortafuegos de aplicacin web. Es decir, la base de la
seguridad web se compone de medidas de seguridad de tecnolgica que cuenta con una larga data.
C ODIFICACIN
SEGU RA :
Ninguna aplicacin es completamente segura, pero debera de contar con los siguientes principios
para reducir los riesgos:
Minimizar la superficie de ataque (tapar los agujeros y minimizar los puntos de acceso)
Establecer y aplicar configuraciones de seguridad por defecto que cuenten con vencimientos de
contrasea, contraseas seguras, tiempos de espera, etc.
Poner en prctica el principio de "Menos Privilegios"; es decir no dar a los usuarios acceso a las
cosas que no se necesitan para hacer su trabajo.
Implementar "una defensa en profundidad" con re autenticacin, tokens, identificadores ocultos,
etc.
Las solicitudes deben fallar de forma segura.
No confiemos en los servicios o terceras partes.
Implementar "separacin de tareas" (por ejemplo, un administrador no es un auditor - y
viceversa).
Evitar la seguridad por oscuridad ("ocultar" es slo una solucin temporal).
Mantenga sencilla la seguridad.
P RUEBAS
DE
E SCAN EO
V ULNERABILIDAD :
22
Alumno: LEN ANFOSSI, Marcelo R. M.
C ORTAFUEGOS
DE
A PLICACIN W EB (WAF S )
Un cortafuego de aplicaciones Web (WAF) se utiliza como un dispositivo de seguridad para proteger al
Servidor Web de Ataques. Se encuentra entre un cliente web y un servidor web, analizando los
mensaje enviados por la Capa 7, y restringe los que producen violaciones de la poltica de seguridad
programada.
Los WAF a menudo son llamados "cortafuegos inspeccin profunda de paquetes, porque ellos
observan cada solicitud y cada respuesta dentro de las capas de servicio HTTP/HTTPS/SOAP/XMLRPC/web (por lo general a travs de los puertos 80 y 443).
Algunos WAF observan si hay ciertas firmas de ataque para tratar de identificar a un ataque
especfico que un intruso puede estar enviando, mientras que otros buscan un comportamiento
anormal que no encaja en los patrones normales de trfico del sitio web. Algunas de las tecnologas y
arquitecturas ms comunes en los WAFs son: Reverse Proxy, Transparent Proxy, Layer 2 bridge,
Network Monitor / Out of Band, Host/Server.
S EGUIR
Afortunadamente, hay organizaciones que existen con el propsito de ayudar a los individuos, grupos
y empresas sobre este tema. OWASP ha publicado la "Gua para Construir Aplicaciones Web seguras,
que es un recurso valioso para las organizaciones que buscan informacin sobre las aplicaciones web.
La gua se basa en el fundamento de que la seguridad es ms un proceso que algo depende de una
determinada plataforma o lenguaje de programacin. OWASP establece que para una aplicacin web
para estar seguro que necesita como mnimo la siguiente.
Nuestras empresas deben aspirar a contar con:
23
Alumno: LEN ANFOSSI, Marcelo R. M.
Si una organizacin trabaja para alcanzar y seguir estos cuatro elementos, se encontrar con las
defensas especficas que son necesarias para mitigar las vulnerabilidades descritas en este documento.
Un plan de seguridad por escrito ayuda a asegurarse de que los objetivos de seguridad de una
organizacin son claros y equilibrados.
Dado que la seguridad se implementa en el desarrollo de metodologa de los desarrolladores, estos
obtendrn la conciencia y el conocimiento que para prevenir posibles vulnerabilidades. Tambin ayuda
a garantizar que se toman las medidas de proteccin consistente en todo el proceso de desarrollo.
Por ltimo, la liberacin segura y ayuda gestin de la configuracin mantienen las cosas seguras
durante la liberacin y ms all. Una organizacin que invierte el tiempo para aprender estos procesos
y hacerlos reales y efectivos estarn en una slida posicin para aprovechar los beneficios de una
aplicacin segura.
24
Alumno: LEN ANFOSSI, Marcelo R. M.
25
Alumno: LEN ANFOSSI, Marcelo R. M.