paper desarrollo web lucesrivas

4
Seguridad en Aplicaciones Web L uces M i guel, Rivas Ge thsil ys . Uni ve rsidad Nacional Experimental de Guayana Pr oye cto de Carr e r a: Ing. I nf orm á ti ca Asignatura: Des arr ollo Web [email protected]  [email protected]  Abstract- El presente trabajo tiene por objetivo dar a conocer lo que es la seguridad en las aplicaciones web y la importancia que tiene para las organizaciones o personas que hacen usos de ellas. La integridad, disponibilidad, y confidencialidad constituyen el marco principal del objetivo de la seguridad web, este objetivo es alcanzable aplicando ciertos métodos, herramientas y técnicas que  permiten minimizar las vulnerabilidades de cualquier aplicación  bajo ambiente web. También se ven reflejados alguno de los ataques y vulnerabilidades más comunes como el Cross Site Scripting (XSS), inyección SQL, autenticación y gestión inapropiada de sesiones, autorización insuficiente entre otras. Teniendo en cuenta estos puntos a desarrollar, se presenta una idea básica de los riegos que corren las aplicaciones web y los datos e información que en ellas se manejan. 1. Introducción Hoy en día se aprecia el auge de las aplicaciones web, su utilización por parte de los desarrolladores y organizaciones ha crecido notablemente. En ellas han dirigido el enfoque para la administración de sus procesos en los cuales se gestiona información, muchas veces de carácter privado, concerniente a ellos y/o a los usuarios de sus aplicaciones. Es por esto que es fundamental aplicar medidas de seguridad en las aplicaciones web  para poder velar por la integridad, disponibilidad y confidencialidad tanto de los datos e información como de sistema en sí. 2. Definición de Seguridad en la Web. Antes de definir seguridad web es importante saber la definición de seguridad de información, según Garfinkel (1999) la define como la protección de ventajas de información de la revelación no autorizada, de la modificación o d e la destrucción, o accidental o intencional, o la incapacidad para procesar esa información. La seguridad en la web se compone de esta serie de medidas para disminuir o evitar cualquier acción que ponga en riesgo la integridad de un sistema que funciona en la web. Una definición más formal de seguridad web la hace Garfinkel (ob.cit) a continuación, es un conjunto de  procedimientos, prácticas y tecnologías para proteger a los servidores y usuarios de la web y las organizaciones que lo rodean. La seguridad es una protección contra un comportamiento inesperado. 3. ¿Por qué es Requerida la Seguridad en la Web? A continuación se presenta una lista de las razones de la importancia de la seguridad web.  Los Hacker pueden acceder a las mismas computadoras que los servidores y obtener información privada.  Las organizaciones de hoy en día utilizan con mayor frecuencia la Word Wide Web (WWW) para la  publicación de información importante y para realizar transacciones importantes.  Los servidores son un componente de software complicado y suelen presentar variedad de fallas de seguridad potenciales.  Es mucho más costosa, en tiempo y esfuerzo, la recuperación de un incidente de seguridad que aplicar medidas para la prevención del mismo. 4. ¿Por qué es Importante Preocuparse por la Seguridad Web? 4.1. Publicidad. Los servidores son importantes para la publicidad de las organizaciones, por ello un ataque exitoso a un servidor es un acto público que puede ser visto por miles de usuarios en un corto periodo de tiempo. Los ataques pueden tener objetivos de carácter religiosos, ideológicos, políticos o simples actos vandálicos. 4.2. Comercio. Muchas organizaciones utilizan servidores con  propósitos comercial es. Algunos protocolos criptográficos integrados fueron incluidos en navegadores para permitir a los usuarios enviar números de tarjetas de crédito por internet sin tener la preocupación de ser interceptados. Esto convierte a los servidores dedicados a esta actividad en repositorios de información financiera confidencial por lo cual son un blanco atractivo para los atacantes. 4.3. Acceso a las Redes. Cuando un servidor es u sado tanto fuera como dentro de la organización, él sirve de puente entre la red interna de la organización y las redes externas. Su posición privilegiada en cuanto a las conexiones de red lo convierte en un blanco ideal para ser atacado debido a que un servidor web violado  puede emplearse como base para atacar desde allí a las computadoras de la organización. 4.4. Soporte Complicado. Los navegadores necesitan servicios internos como DNS y el enrutamiento del protocolo IP para funcionar bien. La robustez y confiabilidad de tales servicios pueden ser desconocidas y vulnerables a errores de programación, accidentes y subversión, la subversión de un servicio de más  bajo nivel puede causar problemas también a los navegadores.

Upload: miguel-luces

Post on 01-Mar-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paper Desarrollo Web LucesRivas

7/26/2019 Paper Desarrollo Web LucesRivas

http://slidepdf.com/reader/full/paper-desarrollo-web-lucesrivas 1/4

Seguridad en Aplicaciones Web

Luces M iguel, Rivas Gethsil ys.

Uni versidad Nacional Experimental de GuayanaProyecto de Carr era: I ng. I nf ormática

Asignatura: Desarr ollo [email protected] [email protected]

Abstract- El presente trabajo tiene por objetivo dar a conocer loque es la seguridad en las aplicaciones web y la importancia quetiene para las organizaciones o personas que hacen usos de ellas.La integridad, disponibilidad, y confidencialidad constituyen elmarco principal del objetivo de la seguridad web, este objetivo esalcanzable aplicando ciertos métodos, herramientas y técnicas que permiten minimizar las vulnerabilidades de cualquier aplicación bajo ambiente web. También se ven reflejados alguno de losataques y vulnerabilidades más comunes como el Cross SiteScripting (XSS), inyección SQL, autenticación y gestióninapropiada de sesiones, autorización insuficiente entre otras.Teniendo en cuenta estos puntos a desarrollar, se presenta unaidea básica de los riegos que corren las aplicaciones web y losdatos e información que en ellas se manejan.

1. IntroducciónHoy en día se aprecia el auge de las aplicaciones web, su

utilización por parte de los desarrolladores y organizaciones hacrecido notablemente. En ellas han dirigido el enfoque para laadministración de sus procesos en los cuales se gestionainformación, muchas veces de carácter privado, concerniente aellos y/o a los usuarios de sus aplicaciones. Es por esto que esfundamental aplicar medidas de seguridad en las aplicaciones web para poder velar por la integridad, disponibilidad y

confidencialidad tanto de los datos e información como desistema en sí.

2. Definición de Seguridad en la Web.Antes de definir seguridad web es importante saber la

definición de seguridad de información, según Garfinkel (1999) ladefine como la protección de ventajas de información de larevelación no autorizada, de la modificación o de la destrucción, oaccidental o intencional, o la incapacidad para procesar esainformación. La seguridad en la web se compone de esta serie demedidas para disminuir o evitar cualquier acción que ponga enriesgo la integridad de un sistema que funciona en la web.

Una definición más formal de seguridad web la haceGarfinkel (ob.cit) a continuación, es un conjunto de procedimientos, prácticas y tecnologías para proteger a losservidores y usuarios de la web y las organizaciones que lorodean. La seguridad es una protección contra un comportamientoinesperado.

3. ¿Por qué es Requerida la Seguridad en la Web?A continuación se presenta una lista de las razones de la

importancia de la seguridad web. Los Hacker pueden acceder a las mismas computadoras

que los servidores y obtener información privada.

Las organizaciones de hoy en día utilizan con mayofrecuencia la Word Wide Web (WWW) para la publicación de información importante y para realiztransacciones importantes.

Los servidores son un componente de softwarcomplicado y suelen presentar variedad de fallas dseguridad potenciales.

Es mucho más costosa, en tiempo y esfuerzo, lrecuperación de un incidente de seguridad que aplica

medidas para la prevención del mismo.4. ¿Por qué es Importante Preocuparse por la

Seguridad Web?4.1. Publicidad.

Los servidores son importantes para la publicidad de lorganizaciones, por ello un ataque exitoso a un servidor un acto público que puede ser visto por miles de usuarios un corto periodo de tiempo. Los ataques pueden teneobjetivos de carácter religiosos, ideológicos, políticos simples actos vandálicos.

4.2. Comercio.Muchas organizaciones utilizan servidores co

propósitos comerciales. Algunos protocolos criptográficintegrados fueron incluidos en navegadores para permitirlos usuarios enviar números de tarjetas de crédito pointernet sin tener la preocupación de ser interceptados. Esconvierte a los servidores dedicados a esta actividad erepositorios de información financiera confidencial por cual son un blanco atractivo para los atacantes.

4.3. Acceso a las Redes.Cuando un servidor es usado tanto fuera como dentro

la organización, él sirve de puente entre la red interna de organización y las redes externas. Su posición privilegiaen cuanto a las conexiones de red lo convierte en un blancideal para ser atacado debido a que un servidor web viola puede emplearse como base para atacar desde allí a la

computadoras de la organización.4.4. Soporte Complicado.

Los navegadores necesitan servicios internos comDNS y el enrutamiento del protocolo IP para funcionar bieLa robustez y confiabilidad de tales servicios pueden sdesconocidas y vulnerables a errores de programacióaccidentes y subversión, la subversión de un servicio de m bajo nivel puede causar problemas también a lonavegadores.

Page 2: Paper Desarrollo Web LucesRivas

7/26/2019 Paper Desarrollo Web LucesRivas

http://slidepdf.com/reader/full/paper-desarrollo-web-lucesrivas 2/4

5. Objetivos de la Seguridad Web.5.1. Integridad.

Un sistema contiene información que debe ser protegidacontra acciones que impliquen cambio en su contenido. Esnecesario asegurar que dicha información no se modifique por medios no autorizados, imprevistos o accidentales ya quela pérdida de integridad puede ocasionar fraudes, toma dedecisiones equivocadas o paso a otros ataques.

5.2. Disponibilidad.El Sistema siempre debe estar disponible para cualquier

actividad que se desee realizar, debido a que en él seencuentran servicios e información que deben estar siempre ala mano para satisfacer requisitos o evitar pérdidasimportantes y así evitar la ineficiencia y baja productividad.

5.3. Confidencialidad.Un sistema debe hacer frente a cualquier intento de

difusión no autorizada de dato como por ejemploinformación parcial de informes, personal o comercial patentada. La pérdida de confidencialidad puede acarreargraves problemas legales, perdida del negocio o decredibilidad.

6. Estrategias de Seguridad Web.La metodología de seguridad está diseñada para cumplir con

los tres objetivos principales. Dentro de una organización es devital importancia para los administradores de recursos deinformación, directores de seguridad informática y para todosaquellos especializados en aplicar directivas de seguridad.

6.1. Identificar Métodos, Herramientas, y Técnicasde Ataques Probables.

Conociendo las amenazas los administradores deseguridad de las organizaciones pueden identificar métodos,herramientas y técnicas de ataques para contrarrestar dichasamenazas. Los métodos pueden ser desde virus hastadescifrar contraseñas e intercepción de correo electrónico. Esde mucha importancia que los administradores esténactualizados en el área en cuestión para que evolucionen a la par con los métodos, herramientas y técnicas.

6.2. Establecer Estrategias Reactivas y Proactivas.Los métodos están compuestos por un plan de seguridad

el cual siempre debe contener una estrategia proactiva y unareactiva.

Para el caso de la estrategia proactiva o de previsión se busca establecer un protocolo que ayuda a reducir las probabilidades de que un ataque ocurra y a desarrollar planesde contingencia.

La estrategia reactiva o posterior al ataque comprendeun protocolo para tratar, reparar o implementar un plan de

contingencia sobre el ataque una vez que este haya ocurrido,se miden y evalúan los daños ocasionados por el ataque y se busca que las funciones regresen a la normalidad lo antes posible.

6.3. Pruebas.Las pruebas y la revisión de resultado es el último

componente de las estrategias de seguridad. Estas se realizanuna vez que se hayan puesto en marcha las estrategiasreactivas y proactivas. Una herramienta importante es lasimulación, a través de ella se puede estudiar el sistema en

cuestión bajo distintos escenarios y evaluar fortalezas debilidades del mismo, y así, ajustar las vulnerabilidadencontradas en él. Cabe destacar que las simulaciones ndeben realizase sobre los sistemas reales debido a que no sabe a ciencia cierta las consecuencias que puede acarrea pudiendo terminar en un caos.

6.4. Equipos de Respuestas a Incidentes.Para una organización es altamente recomendable l

creación de un equipo de respuestas a incidentes el cutrabaja en conjunto con las estrategias proactivas. Laactividades que realiza son:

Desarrollo de instrucciones para controlar incidentes Identificación de las herramientas de software par

responder a incidentes y eventos. Investigación y desarrollo de otras herramientas d

seguridad. Realización de actividades formativas y de

motivación. Realización de investigaciones acerca de virus. Ejecución de estudios relativos a ataques al sistema.

Dichas actividades nutren de información a l

organización que puede usar la misma para distribuirla anty durante un ataque.

7. Ataque y Vulnerabilidades más Comunes.7.1. Cross Site Scripting (XSS).

Según Grossman (2007), el Cross Site Scripting (XSconsiste en la posibilidad de introducir código JavaScript una aplicación web, lo que permite realizar una serie dacciones maliciosas en la misma.

Este ataque es de tipo inyección de código, es muhabitual en aplicaciones web. Normalmente toma la forma un hiperenlace que contiene código malicioso cuycontenido se suele ofuscar para no dar pistas evidentes de sintenciones al usuario. Este ataque tiene un funcionamiensencillo, basta con que el usuario haga clic sobre uhiperenlace que puede haber llegado a él mediante correelectrónico, mensajería instantánea o una inserción en locomentarios de algún blog, red social o foro. Al hacer clic dicho enlace se ejecuta en el cliente web el código ecuestión que puede llevar al secuestro de su sesión, redirigsu navegador a una web maliciosa con aspecto legítimincluso tomar el control del cliente web aprovechando alguvulnerabilidad del mismo. Habitualmente se inyecta códigJavaScript aunque podría ser utilizado código en cualquiotro lenguaje que sepa interpretar el cliente web del usuarafectado. La mejor manera de proteger las aplicaciones wcontra este tipo de vulnerabilidad consiste en el filtrado dlos metacaracteres clásicos correspondientes a la sintaxis dlos lenguajes que se utilizan para la inyección, como locaracteres “<”, “>”, “#”, “&” y las comillas simples y dobles, por citar algunos.

7.2. Inyección de Código SQL.Este tipo de ataque funciona inyectando código SQL e

aplicaciones que sean vulnerables con el fin de obteneacceso indiscriminado a información sensible qunormalmente se encuentra en la base de datos. Puede actuartravés de las entradas de datos a la aplicación (parámetros URL, campos de formulario, cabeceras HTTP). Es habituver como el código SQL es insertado en tiempo de ejecució

Page 3: Paper Desarrollo Web LucesRivas

7/26/2019 Paper Desarrollo Web LucesRivas

http://slidepdf.com/reader/full/paper-desarrollo-web-lucesrivas 3/4

de la aplicación, insertando directamente los datosintroducidos por el usuario para finalmente ordenar suejecución al sistema gestor de base de datos (SGBD). Encaso de que la información introducida por el usuario en elformulario web no se filtre de manera correcta, se posibilitala introducción de comandos SQL que interrumpen el flujonormal de ejecución de sentencias SQL de la aplicación y permite realizar acciones malintencionadas como, porejemplo, el salto de una pantalla de identificación sinnecesidad de introducir la contraseña, el borrado de datos dela base de datos y la obtención de información almacenadaen la misma.

Un método para prevenir la inyección de código SQLconsiste en el uso de procedimientos almacenados. El códigode estos procedimientos ha sido preprocesado por el sistemagestor de base de datos por lo que los datos recibidos setratan como tales y no se utilizan para construir y posteriormente analizar, optimizar y ejecutar la sentenciaSQL correspondiente. La precaución que hay que tomar, porrazones obvias, es no utilizar nunca procedimientos queejecuten una sentencia SQL pasada como parámetro quesoportan algunos sistemas gestores de bases de datos. Porotro lado, la utilización de procedimientos almacenados presenta ventajas adicionales. Al no necesitar ser analizada lasintaxis de cada sentencia y optimizar el camino de ejecuciónde la misma por parte del sistema gestor de base de datos seobtiene un ahorro de tiempo considerable, especialmente enaquellas aplicaciones que hacen uso intensivo de la base dedatos.

Además de las medidas a tomar en el desarrollo delcódigo para evitar estos ataques se debe tener en cuentaconfigurar adecuadamente el sistema gestor de base de datos.Por un lado es necesario realizar una correcta gestión de losusuarios de base de datos que utilizará la aplicación web pararealizar su trabajo, así como de los permisos que tiene cadauno de ellos. En caso de no ser esto posible se debe ponerespecial cuidado en que sea utilizado solamente por unusuario específico para ello y en los puntos de la aplicaciónen los que sea estrictamente necesario.

7.3. Autenticación y Gestión Inapropiada deSesiones.

Para el grupo de expertos de Web Application SecurityConsortium, la autenticación insuficiente ocurre cuando unsitio web permite a un atacante acceder a contenido sensibleo funcionalidades sin haberse autenticado correctamente. Eluso de sistemas de autenticación débiles, o las escasasmedidas de seguridad que puedan adoptar estos sistemas, sonlas causas de accesos no autorizados a zonas privadas de lasaplicaciones. Además, una implementación deficiente delsistema de gestión de sesiones permite la suplantación deusuarios y el acceso a datos confidenciales, mediante el usode técnicas como intercepción, predicción, fuerza bruta o

fijación de IDs de sesión.7.4. Autorización Insuficiente.

Según la experiencia de MNEMO, empresa detecnología y seguridad, este es uno de los problemas deseguridad más habituales, el cual consiste en acceder ainformación o funcionalidades restringidas que, además deestar correctamente identificado, exigen que el usuario tengalos permisos necesarios. Sin embargo, en ocasiones se producen olvidos en la introducción de mecanismos deautorización en las aplicaciones que abren la puerta a ciertas

funcionalidades que pueden ser utilizadas por un posibatacante que en condiciones normales tendría vetadas. Digual modo, en ocasiones ni siquiera se introducemecanismos de autorización en determinadas páginas, sinque se confía en que solamente accederán aquellas personcuyo acceso les aparece en forma de opción en ecorrespondiente menú. Si no se protege el canal mediancifrado, un simple sniffer (analizador de paquetes) permitia un atacante conocer la forma de acceder a estas páginarestringidas, algunas veces incluso sin estar identificado enaplicación.

8. Conclusión.La seguridad en entornos web es de gran relevancia en

actualidad, es debido a esto que en dicha investigación se expuuna serie de interrogantes, que en el transcurso de la lectura vsiendo resueltas. Entre estas preguntas se encuentra él porque necesaria la seguridad en la web; brevemente se puede decir qes de vital importancia para evitar el acceso de hackers al servidque pueden causar estragos en el mismo. Además se planteotras incógnitas como la importancia de preocuparse por seguridad web a nivel de publicidad, comercio, acceso a redeslas complicaciones que existen en el soporte.

Otro de los puntos que aquí fueron recalcados son loobjetivos principales de la seguridad web, los cuales básicamenestán divididos en tres; Integridad que consiste en asegurar qlos datos no sean alterados (evitando fraudes), Disponibilidad qesencialmente habla de que los servicios estén siempre activ(evitar ineficiencia y baja productividad), y Confidencialidad qen si significa evitar difusiones no autorizadas (pérdida credibilidad).

Todo lo anteriormente descrito (Integridad, DisponibilidaConfidencialidad) es requerido para aplicar las metodologíasestrategias de seguridad web, las cuales consisten en identificmétodos, herramientas, y técnicas de ataques probables, estableestrategias proactivas y reactivas, aplicar pruebas para ver lfortalezas y debilidades del sistema y formar un equipo drespuestas a incidentes.

Por ultimo pero no menos importante se estudiaron algunde los ataque más comunes en el ámbito de la seguridad wcomo son el Cross Site Scripting (basado en inyección de códigque consiste en introducir código JavaScript normalmente forma de hipervínculo con contenido malicioso, Inyección código SQL el cual inyecta código SQL en app vulnerables paconseguir información delicada en bases de datos, también autenticación que si es aplicada de forma débil puede dar lugaraccesos no autorizados.

Cabe resaltar que estos solo son algunos de los ataques dvulnerabilidad a los servidores existentes, otro muy popular cual no se expone en este trabajo, es nombrado en el piloto deserie de televisión Mr Robot que es el ataque de denegación servicio (DDos) y consiste en bombardear un servidor c peticiones como quien llama al mismo tiempo a todas las puer

y ventanas de un edificio hasta que genera un colapso del sistemy se abre una grieta por el que colarse. Ya que el contenido dseguridad es muy amplio queda de parte del lector indagar sobeste ataque previamente mencionado si es de su interés y de otrque puedan existir además de la forma de evitarlos.

Referencias.Aguilera V. (2005) VULNERABILIDADES [Fecha dconsulta: 10 de Marzo de 2016]. Disponible en

Page 4: Paper Desarrollo Web LucesRivas

7/26/2019 Paper Desarrollo Web LucesRivas

http://slidepdf.com/reader/full/paper-desarrollo-web-lucesrivas 4/4

http://www.vicenteaguileradiaz.com/pdf/SIC-65_in-seguridad-aplicaciones-web.pdf Cebrián J. (2009) ATAQUES A APLICACIONES WEB[Fecha de consulta: 14 de Marzo de 2016]. Disponible en:https://www.exabyteinformatica.com/uoc/Informatica/Seguridad_en_bases_de_datos/Seguridad_en_bases_de_datos_ %28Modulo_2%29.pdf Flores L. (2012) SEGURIDAD EN PAGINAS WEB

[Fecha de consulta: 13 de Marzo de 2016]. Disponible en:http://premios.eset-la.com/universitario/images/Premio_Universitario_2012/Luis_Santiago_Flores_Kanter_PUE_2012.pdf Garfinkel (1999) SEGURIDAD INFORMÁTIVA:CONCEPTOS BASICOS [Fecha de consulta: 11 de Marzode 2016]. Disponible en:www.scoop.it/doc/download/cvdXLLFB5B3H35NMF97_qdw Villa F. (2007) SEGURIDAD EN APLICACIONES WEBEN EL AMBITO DE LA E-ADMÍNISTRACION [Fechade consulta: 13 de Marzo de 2016]. Disponible en:http://docplayer.es/2800511-Seguridad-en-aplicaciones-

web-en-el-ambito-de-la-e-administracion-problemas-mas-comunes-y-principales-contramedidas.html