Vulnerabilidades de Aplicaciones Web Según Owasp: Rojas Jorge Universidad Piloto de Colombia
Vulnerabilidades de Aplicaciones Web Según Owasp: Rojas Jorge Universidad Piloto de Colombia
Resumen—En este artículo se presentan las vulnerabilidades más que la información importante se guardaba en grandes equipos
comunes de las aplicaciones web que más afectan y causan problemas que almacenaban los datos mas no se usaba la red en sí misma
en un entorno aplicado en la red, ya sea interna o externa. Se quiere para su acceso. Con el paso del tiempo, los entornos de
hacer énfasis en las características de una aplicación web desde el
desarrollo fueron mucho más amigables y evolucionaron de tal
punto de vista del desarrollo de esta misma –teniendo en cuenta la
manera que las aplicaciones interactúan de una forma dinámica
usabilidad y la seguridad–, debido a que la aplicación en sí puede tener
un código redundante y robusto, pero sin los protocolos o políticas con el usuario, no solo en el intercambio de información de
necesarias puede llegar a ser un gran problema que se puede representar interés general sino en el tipo de información sensible como lo
en pérdidas de dinero y equipos o en la afectación de los usuarios son datos bancarios, registro de usuarios, contraseñas, bases de
dentro de una compañía. El problema de seguridad se da en un datos y demás –por eso es importante entender las
principio por el desconocimiento de las fallas en la configuración de la características de las aplicaciones basadas en web–. De esta
aplicación y de los protocolos de las distintas capas, como las formas forma, el presente artículo expone lo qué es una aplicación web,
de acceso o filtración de la información. Estos problemas se pueden tipos de aplicaciones web y principales características de
tratar no como una solución total o completa, pero si basado en unas
ataques basados en el top 10 de OWASP.
políticas como un método de mitigación a fallas de errores.
Desde la invención del internet, este ha tenido una serie de Este, responde a un modelo centralizado donde se publica en
retos y uno de ellos es la seguridad. En un principio, esto no era un lugar común para todos los dispositivos, así no es necesario
más que el cambio de información –la deformación de las descargar periódicamente nuevas actualizaciones, sino que al
páginas web o el robo de datos–. Este tipo de comportamientos acceder a la URL se dispone siempre del último contenido.
se daba porque las aplicaciones eran muy rígidas y estáticas, por Además, todos los desarrollos son multiplataforma lo que
ello tenían cero interacción con el usuario, provocando que la permite el acceso a la aplicación o el uso del mismo desde
mitigación de este tipo de fallas no fuera de gran relevancia ya
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 2
cualquier sistema operativo o móvil. Este tipo de software no se preferir usar una versión más antigua hasta que la nueva sea
instala en el dispositivo puesto que el propio navegador procesa probada.
e interpreta la información recibida desde un servidor web. 10) En teoría el desarrollador de la aplicación web puede
Sin embargo, en términos de lenguaje y desarrollo se podría rastrear cualquier actividad que el usuario haga, esto puede
decir que no se diferencia mucho de un sitio web puesto que traer problemas de privacidad en los datos que se
trabaja de forma similar. Es decir, un sitio web puede albergar manipulan. [1][2]
aplicaciones o páginas, entre otros elementos, básicamente para
la visualización de la misma; mientras que una aplicación web B. Tipo de aplicaciones web
tiene la funcionalidad de realizar una acción en específico por Las aplicaciones web se usan con mayor notoriedad en
el cliente como, por ejemplo, transacciones bancarias, smartphones y tablets, sin dejar de lado los computadores.
visualización de correo electrónico, compras online, entre otras. Existen aplicaciones nativas como un tipo de software que se
Lo anterior, conlleva a pensar qué tipo de conexión o adapta a una plataforma determinada, o también aplicaciones
arquitectura posee, aunque no es el tema central de este artículo web que es otro tipo de software que tiene lugar en el navegador
si es primordial entender qué es una aplicación cliente/servidor, web y guarda ciertas diferencias con respecto a las denominadas
en donde el cliente es un navegador y el servidor es la máquina aplicaciones nativas. Las aplicaciones web se aplican en
en donde se aloja la web, la cual se presenta por medio del entornos como:
protocolo HTTP; es decir, los datos o los archivos que son 1) Web mail
solicitados por el cliente son procesados y almacenados dentro Sistemas de acceso al correo electrónico por medio de un
de la web, lo que se traduce en que el trabajo se realiza en los navegador web.
servidores y bases de datos y no es necesario ser instalados en 2) Wikis
el computador, solo se requiere contar con un navegador web. Sitios y aplicaciones web cuyas páginas y contenidos pueden
Algunas características son: ser editados directamente por los usuarios finales.
1) Los navegadores web se comportan como un cliente ligero 3) Weblogs
en un sistema que trabaja en una arquitectura de red en Sitios y aplicaciones web cuyas páginas y contenidos son de
modo cliente/servidor dado que la lógica del programa fácil actualización, de tal manera que permite a sus autores
entre estos dos es mínima, debido a que el servidor central publicar contenidos con presionar un solo botón.
realiza todas las tareas de procesamiento. 4) Tiendas online
2) Siendo una aplicación que depende del navegador es Tipo de comercio que se usa como medio principal para
independiente del sistema operativo que se use –ya sea en realizar transacciones desde un sitio web o una aplicación
un computador o en un dispositivo móvil–. conectada a internet en la que los usuarios y clientes pueden
3) Por su naturaleza de no estar necesariamente instalado en realizar sus compras. [1][3]
un hardware del lado del cliente, las actualizaciones se dan
de forma casi instantáneas y sin necesidad de ser III. CARACTERÍSTICAS Y VULNERABILIDADES DE LAS
reinstalado o redistribuido el software. APLICACIONES WEB
4) La conexión está orientada a ser online, así se permite el
acceso del cliente en cualquier momento, lugar o Para entender la naturaleza de las vulnerabilidades y sus
dispositivo, solo basta con tener conexión a internet; sin características se debe partir del escenario de la aplicación, la
embargo, hay aplicaciones que permiten trabajar de manera cual se aloja en una plataforma completa montada sobre un
offline. sistema operativo con un motor de base de datos, lenguajes de
5) Ahorro de tiempo para realizar tareas sin necesidad de programación, certificados digitales, entre otros elementos. Se
instalar un software adicional, por lo que implícitamente es hace referencia del lado del servidor web en sí; de esta manera,
un ahorro en recursos de equipos por parte del cliente. las vulnerabilidades que tendrá desde ese punto de vista serán:
6) Restricción en el acceso a ciertas características hardware 1) Configuración débil.
del dispositivo. 2) Comunicación insegura entre cliente y servidor.
7) Las aplicaciones web requieren navegadores totalmente 3) Software desactualizado.
compatibles para funcionar, incluso muchas veces Se puede decir que, uno de los puntos más críticos de la
requieren las extensiones apropiadas y actualizadas para seguridad en internet son las herramientas que interactúan de
operar. forma directa con los usuarios, en este caso los servidores web.
8) Muchas no son de código abierto, perdiendo flexibilidad. La mayoría de los problemas detectados en servicios web no son
9) El usuario en general no tiene libertad de elegir la versión provocados por fallas de los sistemas de protección de los
de la aplicación web que quiere usar. Un usuario podría servidores, sino por problemas que se generan por malas
prácticas por parte de los programadores.
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 3
Cuando una aplicación web tiene la capacidad de recibir terminal se puede emplear el modelo híbrido, es decir entre
llamadas HTTP, estos mensajes pueden contener ataques dentro aplicación web y nativa, que cuenta con una variedad de
de las mismas y aunque pasen a través de los cortafuegos, filtros, funciones y procedimientos llamados API, los cuales cumplen
entre otros sistemas de control de intrusos no generan ningún bastante bien su función de comunicación entre componentes
tipo de alerta, puesto que se supone que están dentro de llamadas del software pero están en desventaja en lo que respecta a un
HTTP legales; inclusive usando certificados SSL se permiten funcionamiento impecable.
las llamadas recibidas a través del túnel seguro. Esto se da Así que, para poder entender las vulnerabilidades de las
porque la naturaleza del entorno de desarrollo del código de aplicaciones web se debe tener claro si lo que se desea es tener
aplicación web es parte del perímetro de seguridad, lo que una herramienta 100% orientada a la web o si debe tener en
conlleva a pensar que el número, tamaño y complejidad de la cuenta en algún punto un elemento nativo. Tal es el caso de
aplicación se incremente y de igual forma se exponga el Facebook o Gmail, las cuales son aplicaciones web que se
perímetro. acceden desde la URL en un navegador, pero también se
Como se puede ver, el entorno en el desarrollo de las desarrollan en una aplicación multiplataforma, debido a que un
aplicaciones web da para que se genere una serie de errores –no sistema terminal móvil no usa el navegador web como programa
referenciando los errores en cuanto a la usabilidad de la para ingresar al sistema de Facebook, si no que usa la aplicación
aplicación sino en el control de la seguridad del perímetro– adaptada a este tipo de dispositivos para poder conectarse al
puesto que una cosa es el código útil de funcionalidad de la servidor web y acceder a los contenidos.
aplicación y otra el código de seguridad, por esto la protección Teniendo en cuenta esto, es necesario conocer el punto de
del perímetro de seguridad debe ser clara. Cabe resaltar que, si partida de los tipos de ataques según el desarrollo, el lenguaje
no se tiene claro cuáles pueden ser los posibles ataques o en su de programación, los servidores, terminales, plataforma y
defecto se deja de hacer comprobaciones de seguridad, se debe demás. [4][5][6]
ir de la mano con el equilibrio de que la herramienta sea útil para
el usuario final, puesto que el desarrollo web está fundado del IV. PRINCIPALES ATAQUES WEB
lado del servidor y no del cliente.
Teniendo en cuenta lo anterior, la aplicación web de una Sabiendo ya lo que es una aplicación web y el escenario
organización que exterioriza sus servicios a redes de acceso donde se presenta una falla de seguridad –como mantener
como una VPN o una extranet o internet tendrá que asegurar que parámetros que no son verificados, roles sin controlar,
la información y los recursos estén protegidos, puesto que es un desbordamientos que se producen en la memoria, entre otros–,
factor primordial en la comunicación y también un evidente requiere entonces que se genere un análisis de las
riesgo potencial de acceso y mal uso de los servicios e vulnerabilidades potenciales, el cuál es clave y básico para el
información disponible. Indudablemente, se catalogan sistemas incremento de la seguridad en las aplicaciones web y así poder
más críticos que otros donde su seguridad debe ser muy realizar actualizaciones constantes para asegurar la reparación
significativa, pero en general, todas las aplicaciones web deben de bugs que se van encontrando en el tiempo de vida de las
estar protegidas y aseguradas ante los principales ataques que aplicaciones. Con frecuencia, se asemeja la seguridad de una
vienen en crecimiento y que comprometen a las organizaciones aplicación con la seguridad de la plataforma donde se ejecuta;
en cuanto a: lo que se ubica en un escenario actual de la siguiente manera:
1) Disponibilidad 1) El 75% de los ataques ocurren en aplicaciones web.
2) Autenticidad 2) 3 de 4 servidores son vulnerables a ataques.
3) Integridad 3) Los datos personales tienen cada día más importancia como
4) Confidencialidad fenómeno, hay más interesados en este tipo de información
5) Trazabilidad a ser adquirida de forma fraudulenta.
4) La vulnerabilidad en aplicaciones web representa un 45%
Si se observan las necesidades de la naturaleza en el del total de otras vulnerabilidades.
desarrollo de la aplicación en función de las necesidades de los 5) Las vulnerabilidades más explotadas se dan en: SQL
programadores y de los usuarios se debe iniciar con un balance injection, Cross-site scripting (XSS) y Cross-site request
entre cuán importante es el rendimiento. Un ejemplo, sería el forgery (CSRF).
desarrollo de una página de algún periódico puesto que 6) El de mayor porcentaje en ataques a vulnerabilidades web
contienen textos y pocos gráficos, esta funcionalidad es SQL injection con un porcentaje del 68%; sin embargo,
perfectamente la puede ofrecer una web app. No obstante, si la Cross-site scripting (XSS) tiene más tiempo y menos
aplicación es un poco más compleja y requiere de más recursos porcentaje está en incremento.
se puede pensar en intentar conseguir una buena aplicación
nativa; pero si lo que se quiere es acceso total al hardware del
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 4
Este escenario se da cuando nuestro sistema permite posible realizar un mapa interno de la organización,
información no confiable a través de formularios o comandos consiguiendo desde los equipos cliente con los usuarios de cada
que son interpretados por queries en nuestra base de datos y que uno, hasta los servidores de los que se dispone, pasando por
puede resultar en robo o pérdida de nuestra información. Otra impresoras, etc. [7][8][9][10]
falla se da por desplegar en el navegador datos no confiables
proporcionados por usuarios, generalmente inyectando código V. PROYECTO OWASP
Javascript malicioso. Estos datos pueden secuestrar el sitio web
permitiendo que los usuarios sean redireccionados a sitios A. Definición
maliciosos o descarguen malware –este ataque es conocido El proyecto abierto de seguridad en aplicaciones web es una
como Cross-site scripting (XSS) –. comunidad abierta dedicada a facultar a las organizaciones en
Otro tipo de falla se da por exponer referencias a objetos de desarrollar, adquirir y mantener aplicaciones que pueden ser
implementación interna como archivos, directorios y bases de confiables de cara al usuario; además, está dedicada a mejorar
datos, por lo que pueden ser manipulados. Por otro lado, un la seguridad de las aplicaciones y del software en general. Su
problema muy latente por parte de los desarrolladores es una misión es hacer que la seguridad dentro de las aplicaciones sea
configuración errónea de seguridad, debido a un parámetro mal más visible, para que las organizaciones y los particulares
especificado se puede permitir el acceso a nuestras aplicaciones; puedan tomar decisiones sobre conceptos de seguridad
tan importante es que no se tiene en cuenta cifrar información basándose en información verídica y contrastada.
sensible en nuestra base de datos. Es importante destacar que cualquiera puede participar en
OWASP y que todos sus proyectos, materiales y documentación
están disponibles de forma gratuita. Algo importante, es que
todos los productos y servicios recomendados no son productos
comerciales, sino que son productos libres y de código abierto.
OWASP cada cierto tiempo realiza un informe recogiendo las
vulnerabilidades más comunes dentro de las aplicaciones web.
Con este se puede estar al tanto de dichas vulnerabilidades y se
puede emplear para comprobar si una aplicación en particular
tiene alguna vulnerabilidad de las que aparecen en dicho
informe. También, ofrecen herramientas de detección y
consejos sobre medidas a tomar para mitigar dicha debilidad.
En relación con esto, el objetivo del proyecto top 10 es crear
Gráf. 1. Frecuencia de ataques a aplicaciones web al 2017. [17] conciencia acerca de la seguridad en aplicaciones mediante la
identificación de algunos de los riesgos más críticos que
La gráfica 1 evidencia que SQL injection sigue siendo una de enfrentan las organizaciones. El proyecto top 10 es referenciado
las técnicas de ataques contra sitios web más usadas y se emplea por múltiples estándares, libros, herramientas, y organizaciones,
para obtener acceso a las tablas de bases de datos, incluyendo incluyendo MITRE, PCI DSS, DISA, FCT, entre otras. La
información del usuario y contraseñas. Este tipo de ataques son versión 2013 de OWASP top 10 marca el aniversario número
particularmente comunes en los sitios de empresas y de diez de este proyecto de concientización sobre la importancia de
comercio electrónico, donde los atacantes buscan grandes bases los riesgos de seguridad en aplicaciones.
de datos para luego extraer la información sensible y en El proyecto está orientado a conseguir desarrollos de
ocasiones cobrar alguna cantidad de dinero para no publicarla. software más seguros mediante:
Esto permite verificar que las aplicaciones web son un punto 1) El desarrollo de herramientas útiles para identificar y
de ataque muy importante puesto que estos ataques, en muchos corregir fallos.
casos, son utilizados para propagar malware a través de sitios 2) La definición de estándares.
con renombre y buena reputación; por esto, es recomendable
3) El aprendizaje de los grupos involucrados en los desarrollos
realizar auditorías de seguridad sobre este tipo de aplicaciones.
para evitar que se produzcan fallos.
Otra fuente de información importante que externos desean
4) La discusión de fallos o problemas por parte de la
conseguir de forma fraudulenta son las fugas de datos que se
comunidad. [10][11][12][13]
producen por culpa de los metadatos, los cuales van incluidos
en los documentos que se publican en internet. Con esta
B. ¿Qué es OWASP 10?
información es posible conocer nombres de usuario, equipos,
Dentro de estas iniciativas se encuentra el proyecto OWASP
sistemas operativos, versiones de software, etc., que se utilizan
top 10, donde se recogen los 10 riesgos de seguridad más
en la organización. Si no se tiene cuidado con estos datos es
importantes en el mundo de las aplicaciones web. En este se
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 5
enumeran de 1 a 10 –en orden de importancia– los riesgos más C. Pruebas de seguridad OWASP
críticos que un proyecto web debe atacar. El OWASP top 10 Los ataques de aplicaciones web son ahora el patrón más
desde 2013 se basa en 8 conjuntos de datos de 7 firmas frecuente en las infracciones confirmadas; sin embargo, muchas
especializadas en seguridad de aplicaciones, de las cuales 4 organizaciones luchan por implementar un programa de
empresas son consultoras y 3 son proveedores de herramientas. seguridad de aplicaciones, todo porque simplemente no saben
Las vulnerabilidades del top son seleccionadas y priorizadas por dónde empezar. Establecer políticas basadas en la
de acuerdo con datos de prevalencia en combinación con eliminación de las vulnerabilidades de OWASP top 10 es un
estimaciones consensuadas de explotabilidad, detectabilidad e excelente punto de partida, estas vulnerabilidades son
impacto. ampliamente aceptadas como las más probables de ser
Los proyectos que desarrolla OWASP se dividen en 4 explotadas y su corrección disminuirá considerablemente su
categorías: construcción de aplicaciones, educación, riesgo de incumplimiento (para obtener más detalles se debe
verificación y comunidad. Para efectos prácticos del escrito, la consultar la última guía para empezar a utilizar la seguridad de
categoría de la cual se parte para hacer el top es educación. aplicaciones; una exploración única o prueba de lápiz de un
Este top es publicado y difundido como otros elementos que conjunto de aplicaciones críticas para el negocio no es una
hacen parte del proyecto, así como herramientas para el seguridad de aplicación efectiva).
desarrollo de la seguridad como es el caso de Webscarab. Este Un programa que evalúa continuamente las aplicaciones que
se da para evidenciar los 10 riesgos de seguridad más críticos en una organización construye, compra o ensambla desde el inicio
aplicaciones web. La guía cuenta con una explicación y hasta la producción es una seguridad de aplicación efectiva
clasificación del riesgo, consejos de cómo determinar si se está (para obtener más información sobre conceptos erróneos sobre
siendo atacado o en riesgo de serlo, cómo mitigar, evaluar y la seguridad de las aplicaciones se puede consultar la guía de
prevenir y, a su vez, contiene ejemplos específicos. falacias y realidades de seguridad de aplicaciones).
Una forma de ver los riesgos es a través de la gráfica 2 que se A medida que la velocidad de desarrollo se ha incrementado,
muestra a continuación, que fue tomada de la X jornada de también se ha dependido de aplicaciones de terceros y códigos;
seguridad informática la cual hace una comparación del top 10 sin embargo, las aplicaciones de terceros también continúan
entre el 2004 y el 2010. presentando un número significativo de vulnerabilidades de
OWASP top 10. Esta figura refuerza el hecho de que las
organizaciones deben tener políticas que requieren que el
software de terceros se adhiera a los mismos estándares que el
software desarrollado internamente. Muchas organizaciones
recurren cada vez más a expertos en seguridad externos que
pueden trabajar con sus cadenas de suministro de software para
garantizar que se cumplan estas políticas.
En OWASP se encontrará con material como:
1) Herramientas y estándares de seguridad
2) Listas de correo
3) Conferencias alrededor del mundo
Gráf. 2. Comparación del top 10 de vulnerabilidades del año 2004 hasta el
4) Controles de seguridad
año 2010. [16]
5) Libros
Las 10 amenazas dentro del top 10 de OWASP son: 6) Aplicaciones
1) A1 Inyección.
Por lo tanto, todas las herramientas y libros son gratuitos y
2) A2 Pérdida de autenticación y gestión de sesiones.
abiertos a cualquiera que esté interesado en mejorar la seguridad
3) A3 Secuencia de comandos en sitios cruzados (XSS).
en aplicaciones, puesto que la idea general es tener una
4) A4 Referencia directa insegura a objetos.
comunidad, un punto de partida en la seguridad como un
5) A5 Configuración de seguridad incorrecta.
problema de personas, procesos y tecnologías. El proyecto ha
6) A6 Exposición de datos sensibles.
sido enormemente exitoso en términos de reputación y ahora se
7) A7 Ausencia de control de acceso a las funciones.
considera la fuente primaria de conocimiento y verdad cuando
8) A8 Falsificación de peticiones en sitios cruzados (CSRF).
se trata de seguridad de aplicaciones web.
9) A9 Uso de componentes con vulnerabilidades conocidas.
Sin embargo, se debe destacar un punto clave en la versión
10) A10 Redirecciones y reenvíos no validados.
2017, los nuevos elementos de la lista A7 protección de ataque
insuficiente y A10 API desprotegidas. Concretamente sobre A7,
se menciona uno de los productos clave de Contrast Security,
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 6
que es una solución RASP (Runtime Application Self En primer lugar, se tienen los ataques de inyección donde se
Protection), el cual es el nuevo proyecto de la OWASP top 10 encuentran fallas tales como la inyección de SQL, OS, XXE y
2017 como una posible forma de abordar el nuevo riesgo A7 de LDAP; estas se producen cuando se envían datos no confiables
protección de ataque insuficiente. [14][15] a un intérprete como parte de un comando o consulta. Esta
técnica se emplea para la infiltración del código dentro de las
VI. TOP 10 OWASP aplicaciones que emplean motores de bases de datos, con el fin
de conseguir información y la alteración de esta misma; los
En el OWASP de 2017 regresa la categoría control de acceso códigos son aplicados en campos de validación de entradas que
interrumpido –las de referencia directa insegura a objetos y generan errores de sintaxis SQL, en estos campos se emplean
ausencia de control de acceso a las funciones se vuelven a varias técnicas para obtener de forma abusiva la información
integrar en la categoría–. Durante mucho tiempo, OWASP tuvo contenida en ellas.
previsto incluir los problemas de defensas de las aplicaciones Al respecto, los códigos maliciosos insertados a la hora del
web contra ataques automatizados. En la actualidad, el análisis empleo de la táctica de inyecciones en ocasiones permiten
de los datos recopilados demostró que la mayoría de las API no conseguir el acceso a los servidores, siendo esto uno de los
posee medidas elementales para detectar, prevenir y responder métodos más usados por piratas de red debido al alto número de
de forma manual y automatizada los ciberataques; además, aplicaciones y sistemas de información que se encuentran
carecen de mecanismos que permitan aplicar parches de manera alojadas en internet, los cuales usan los sistemas de gestión de
inmediata. Para este top, el enfoque también se da en las bases de datos en el desarrollo de sus actividades.
categorías de vulnerabilidad, estas categorías se asignarán a uno En segundo lugar, están los ataques que se producen por una
o más Common Weakness Enumeration (CWE) donde sea mala gestión de la autenticación o de la gestión de las sesiones.
posible, el sistema de puntuación para el top 10 se actualizará Las funciones de aplicación relacionadas con la autenticación y
para aprovechar el Common Weakness Scoring System la gestión de sesiones se implementan de forma incorrecta,
(CWSS) tanto como sea factible, al igual que el Common permitiendo a los atacantes comprometer contraseñas, claves,
Vulnerability Scoring System (CVSS) para vulnerabilidades y tokens de sesión o explotar otras fallas de implementación para
exposiciones comunes (CVE) específicas; tiene la intención de asumir las identidades de otros usuarios.
usar CWSS para las categorías de vulnerabilidad. En el En tercer lugar, los populares ataques de XSS (Cross-site
escenario donde hay múltiples CWE, se usa la marca de agua scripting) que siguen generándose constantemente dentro de
alta si hay una categoría de vulnerabilidad sin una CWE métodos HTTP GET y POST, o en formato HTML Injection.
coincidente y se denota un gran esfuerzo por alinear una Las fallas de XSS ocurren cada vez que una aplicación incluye
puntuación de CWSS. datos no confiables en una nueva página web sin validación o
Por otro lado, la tendencia hacia la interacción con las escape apropiados, o se actualiza una página web existente con
aplicaciones web a través de agentes de usuarios, diferentes a datos proporcionados por el usuario usando una API de
los clásicos navegadores, cada vez gana más importancia puesto navegador que puede crear Javascript. XSS permite a los
que a diario se accede a más contenidos a través de aplicaciones atacantes ejecutar scripts en el navegador de la víctima, que
móviles basadas en Android, iOS y otras. Este comportamiento pueden llegar a secuestrar las sesiones de usuarios, deshacerse
muchas veces oculta lo que está detrás, recibiendo y enviando de los sitios web o redirigir al usuario a sitios maliciosos.
datos en una aplicación web y donde el protocolo de Hay que mencionar que, esta técnica no se limita solo a sitios
comunicación, por supuesto, es HTTP. web en internet ya que puede haber aplicaciones dentro de redes
Aunque el top 10 de OWASP está parcialmente orientado a locales vulnerables a este ataque; incluso los navegadores web
los datos, también está orientado en pensar hacia el futuro. En existentes hoy en día contienen diferentes fallos de seguridad
la cumbre de OWASP se concertó que para la edición 2017, que permiten la ejecución de los códigos maliciosos.
ocho de los diez primeros serían de la convocatoria pública de Estas vulnerabilidades se pueden presentar de dos formas:
datos y dos de los diez primeros serían orientados hacia el futuro directa e indirecta, a continuación, se expone cada una en
conducido a partir de una encuesta de profesionales de la particular.
industria. El top 10 de OWASP identificaría claramente los 1) XSS Indirecto
elementos que miran hacia el futuro, al utilizar la puntuación de También llamado reflejado, es un tipo de inserción de código
CWSS de estos ítems (si existe un CWE para el problema) o al en la que éste no se ejecuta con la aplicación web, pero se
implementar un juicio que se ajuste sobre dónde se clasificaría origina cuando la víctima carga la URL con el código embebido
el asunto entre los 10 primeros. A pesar de que ya está en esta. Este tipo de ataques generalmente se utilizan para el
publicado, aún está en proceso de debate y es susceptible de robo de las cookies de sesiones de la víctima,
tener modificaciones; a continuación, se presenta lo más redireccionamiento de URL –técnica conocida como phishing–
relevante del OWASP top 10. , secuestro del navegador donde se ejecuta el script, así como
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 7
tratar de acceder al historial de visitas y cambiar el contenido de explotación. Los propietarios de aplicaciones también deben ser
la web que visita la víctima. capaces de implementar parches rápidamente para protegerse
2) XSS Directo contra los ataques.
También denominado persistente, es un tipo de XSS En la octava posición, fallos de Cross-site request forgery. Un
comúnmente filtrado que consiste en insertar código HTML ataque CSRF obliga al navegador de una víctima conectada a
peligroso en sitios que lo permitan; generalmente se produce en enviar una solicitud HTTP falsificada, incluyendo la cookie de
aquellas aplicaciones que permiten a los usuarios guardar algún sesión de la víctima y cualquier otra información de
tipo de dato. Este tipo de vulnerabilidades permite tomar el autenticación incluida automáticamente a una aplicación web
control del navegador de la víctima, capturar información sobre vulnerable. Este ataque permite al atacante forzar al navegador
las aplicaciones, realizar defacement (desfiguración de páginas), de la víctima a generar peticiones, las cuales la aplicación
al igual que permite ejecutar comandos del sistema basados en vulnerable toma como peticiones legítimas del usuario víctima.
fallos del navegador. En la novena posición, se encuentra el uso de componentes
En cuarto lugar, está el Broken Access Control, o lo que es lo con vulnerabilidades conocidas. Esto es algo que se ha visto
mismo zonas de la aplicación que no están correctamente hasta en grandes compañías como Apple, que utilizaban para el
protegidas, en la cual usuarios no autenticados pueden acceder servicio de iTunes librerías con vulnerabilidades conocidas; los
a ella y realizar acciones que no tienen permitidas. Las componentes como bibliotecas, marcos y otros módulos de
restricciones sobre lo que se permite a los usuarios autenticados software se ejecutan con los mismos privilegios que la
no se aplican correctamente, los atacantes pueden aprovechar aplicación. Si un componente vulnerable es explotado, un
estas fallas para acceder a funcionalidades y/o datos no ataque de este tipo puede facilitar la pérdida de datos graves o
autorizados, como acceder a cuentas de otros usuarios, ver la toma de control del servidor. Las aplicaciones y las API que
archivos sensibles, modificar los datos de otros usuarios o utilizan componentes con vulnerabilidades conocidas pueden
cambiar los derechos de acceso. socavar las defensas de las aplicaciones y permitir varios
En el quinto puesto, se encuentran los fallos de la ataques e impactos.
configuración de seguridad, que van desde problemas en los Por último, en la décima posición se tiene una novedad que
mensajes de error hasta fallos en la configuración del servidor lleva años explotándose, se trata de las API mal protegidas. En
web. Una buena seguridad requiere tener una configuración las aplicaciones móviles utilizando Tacyt se logra localizar gran
segura definida y desplegada para la aplicación, marcos, cantidad de backends con las API totalmente expuestas. Las
servidor de aplicaciones, servidor web, servidor de bases de aplicaciones modernas a menudo implican aplicaciones ricas de
datos, plataforma, etc. Las configuraciones seguras deben ser cliente y API, como Javascript en el navegador y aplicaciones
definidas, implementadas y mantenidas ya que los valores por móviles que se conectan a una API de algún tipo; estas API a
defecto son a menudo inseguros. menudo no están protegidas y contienen numerosas
En sexto lugar, se ubica la exposición de datos sensibles; es vulnerabilidades.
decir, para entornos en los que los datos personales, datos En la siguiente tabla se muestra el OWASP top 10 2017, el
médicos, etc., no están correctamente protegidos en las cuál reúne las 10 principales causas que hace que los aplicativos
aplicaciones. Muchas aplicaciones web y API no protegen webs sean inseguros. Esta, muestra un comparativo entre el top
adecuadamente los datos confidenciales como los financieros, de 2013 y el de 2017; la actualización de 2017 modifica una
de atención médica y PII (información personal identificable), categoría y agrega dos nuevos tipos de vulnerabilidades:
los atacantes pueden robar o modificar tales datos débilmente 1) Control de acceso insuficiente
protegidos para realizar fraudes con tarjetas de crédito, robo de 2) Prevención y detección insuficiente de ataques (nueva)
identidad u otros delitos. Los datos sensibles merecen una 3) API desprotegidas (nueva)
protección adicional, como cifrado en reposo o en tránsito, así
como precauciones especiales cuando se intercambian con el
navegador.
En la séptima posición se exponen las protecciones frente a
ataques insuficientes, en donde se habla de la carencia de
mecanismos de seguridad en las áreas de prevención, de
detección de ataques y de respuesta, puesto que la mayoría de
las aplicaciones y API carecen de la capacidad básica para
detectar, prevenir y responder a los ataques manuales y Tabla 1. Comparación del top 10 del 2013 con el 2017. [18]
automatizados. La protección contra ataques va mucho más allá Estas dos nuevas categorías nacieron de la fusión de las dos
de la validación de entrada básica e implica la detección categorías anteriores de control de acceso insuficiente (2013-A4
automática, registro, respuesta e incluso bloqueo de intentos de y 2013-A7).
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 8
Es importante destacar que esta versión de OWASP se enfoca API como un modelo para las API de seguridad, necesario para
en la autenticación y la gestión de sesiones que incluyen la producir aplicaciones web seguras.
verificación de credenciales de usuario y la gestión de sus También, el modelo de garantía de la madurez del software
sesiones activas. La autenticación y el manejo de sesiones rotas OWASP, Software Assurance Maturity Mode. Según OWASP
se producen cuando las credenciales no se pueden autenticar y es para mejorar el proceso que la organización ha decidido
los identificadores de sesión no se pueden iniciar debido a la implementar en el desarrollo de las aplicaciones ayudando a
falta de cifrado y/o la administración de sesión débil. Estos formular e implementar estrategias para el software seguro,
defectos crean vulnerabilidades que no solo ponen en riesgo los adaptado a los riesgos específicos para su organización.
datos confidenciales sino también los sistemas y redes de la Por otro lado, los proyectos OWASP WebGoat,
empresa por parte de los usuarios que representan a otros. Por WebGoat.net, OWASP Broken Web Application Project, entre
ejemplo: toma solo un permiso robado para infiltrarse y dañar otros; son herramientas que proporciona OWASP de forma
la viabilidad de su empresa. gratuita como parte de la formación para ayudar a educar
desarrolladores en seguridad en aplicaciones web y así no solo
VII. PROCESOS PARA MITIGAR PROBLEMAS DE generar conciencia si no toda una comunidad en el área de la
SEGURIDAD seguridad que vaya más allá de permitir o divulgar la
información.
Para poder dar un buen servicio de seguridad en una Concluyendo, dentro de un proceso de mitigación hay
aplicación web se debe tener claro que ningún sistema es algunos procesos que han aparecido en versiones previas del
cerrado, por más que se piense en todas las posibles formas de OWASP top 10 y otros no, incluyendo nuevas técnicas de
ataques siempre quedará una por fuera, ya sea por nivel de ataque que están siendo identificadas constantemente. Otros
seguridad, por políticas, desconocimiento o simplemente riesgos de seguridad de aplicación importantes que se deberían
porque no se contempla. considerar serían:
Con el fin de lograr reducir los riesgos de seguridad se 1) Anti-automatización insuficiente
muestran algunos de los muchos recursos que OWASP ha 2) Clickjacking
producido para ayudar a las organizaciones a generar 3) Denegación de servicio
aplicaciones web seguras. 4) Ejecución de archivos maliciosos
En el proceso de producir dichas aplicaciones web se debe 5) Fallas de concurrencia
definir qué significa seguro para esa aplicación, basado en unas 6) Falta de detección y respuesta a las intromisiones
políticas preestablecidas por la organización. Como parte de una 7) Filtración de información y manejo inapropiado de errores
guía no de usuario sino de seguridad, OWASP recomienda usar 8) Inyección de expresiones de lenguaje
estándar de verificación de seguridad para ajustar los requisitos 9) Privacidad de usuario
de seguridad de las aplicaciones. Estos estándares, según 10) Registro y responsabilidad insuficientes
OWASP están implementados en sus herramientas; por lo tanto, 11) Vulnerabilidad de asignación masiva
un punto de partida podría ser usar las herramientas
desarrolladas por ellos. Otro componente para tener en cuenta –para terminar de
Hay que mencionar que, es mucho más rentable diseñar la mitigar uno de los aspectos más relevantes que a simple vista
seguridad desde el principio que añadirla a las aplicaciones y no sería un problema de protocolos, que es la clave para resolver la
tener que esperar hasta el final para poder dar cuenta de la falta autenticación rota y la administración de sesiones– es que los
de seguridad, puesto que no solo es un desgaste para el personal, controles de autenticación deben implementarse de forma
sino que puede ser la reinvención de todo el proyecto; por lo que centralizada; esto evitará muchos problemas, ya que todos los
es preferible tener desde el diseño de los casos de uso, los servidores web, servidores de aplicaciones y otros entornos
modelos UML y los protocolos de seguridad. Al respecto, informáticos tendrán solo una ubicación que establezca y
OWASP recomienda la guía de desarrollo OWASP y las hojas alimente el proceso de autenticación y gestión de sesiones. Esto
de prevención de trampas OWASP como puntos de inicio sumado al hecho de los procesos de salida de información, son
óptimos para guiar a los desarrolladores en el diseño de la los que de fondo podrían afectar a una organización de forma
seguridad. casi irreparable, puesto que es importante siempre considerar el
Por otro lado, construir controles de seguridad que sean significado que pueda tener la información enviada en su nuevo
fuertes y utilizables es excepcionalmente difícil, por ello se contexto y en el caso de poder crear problemas de interpretación
recomienda un conjunto de controles estándar que simplifican de las salidas, escaparlas para preservarlas. Al igual que en el
radicalmente el desarrollo de aplicaciones seguras, como un proceso de filtrado, es importante mantener un control sobre la
paquete de aplicaciones que simplifiquen el desarrollo de la codificación que tienen los datos antes de enviarlos a su nuevo
seguridad. OWASP recomienda el proyecto Enterprise Security contexto.
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 9
De esta manera, es claro que se deben tener unas políticas de prácticas para realizar pruebas de seguridad en los aplicativos
desarrollo y de seguridad en pro de un buen desarrollo basado web e identificar vulnerabilidades que pueden aparecer desde
en las buenas prácticas. De este modo se garantiza, y si el tiempo las primeras fases del ciclo de desarrollo. Esta guía debe ir de la
lo amerita, realizar unas pruebas antes de sacar el producto al mano con la guía de prácticas de desarrollo, pues la tarea de
mercado –sería lo ideal–; de no ser así, que es lo más común realización de pruebas difiere de la de desarrollo, pero también
debido al tiempo de vida en el desarrollo de la aplicación se requiere de un conocimiento y experiencia específica.
puede tomar la decisión de hacer reportes de las herramientas y El enfoque de OWASP, además de ser orientado a las pruebas
basados en los análisis de esos reportes, tanto en usabilidad de seguridad en todo el ciclo de desarrollo, también se centra en
como en seguridad, se aplicarán los correspondientes cambios o las pruebas de intrusión o caja negra; que es la manera como la
transformaciones. Todo esto se debe basar en las pruebas de mayoría de los atacantes pueden tener acceso a la aplicación. Lo
seguridad, que se podrían definir como el conjunto de anterior, se traduce en que cada edición debe contener un
actividades que se llevan a cabo para encontrar fallas y consejo claro y eficaz sobre la remediación, la disuasión, el
vulnerabilidades en aplicaciones web buscando disminuir el retraso y la detección que pueden ser adoptadas por cualquier
impacto de ataques a ellas y pérdida de información importante. equipo de desarrollo, no importa que tan pequeño o grande sea.
Este proceso debe estar contemplado en todas las fases del ciclo También, debido a que las 10 categorías principales de
de desarrollo del software, básicamente desde el esquema vulnerabilidad de OWASP son importantes, desde el punto de
general UML del proyecto el cual comúnmente consta del vista de la metodología se está buscando tomar lecciones
análisis de requerimientos, el diseño, la implementación, aprendidas a partir de 2017 y llegar a un mejor proceso para el
verificación y despliegue. OWASP top 10 en 2020.
De este modo, debería establecerse y/o referenciarse en
modelos de calidad del software que se basen en este ciclo, VIII. CONCLUSIONES
aunque en realidad las compañías implementan el proceso de
pruebas solamente en la fase de verificación –debido a múltiples El top 10 no es un documento final, concertado y aprobado,
factores, que en la mayoría de los casos es por tiempos, políticas por ahora lo que se tiene es un borrador de los ataques más
y/o malas prácticas– cuando el producto está finalizado y es frecuentes de 2014 a 2017; a continuación, se muestra un
difícil enmendar los errores que se originaron desde un resumen de los cambios:
principio. Esto mismo sucede con las pruebas de seguridad solo 1) El top 10 se enfocará en categorías de vulnerabilidad.
que con un impacto mayor; muchas vulnerabilidades de las 2) Los comentarios sobre la lista de correo se han trasladado a
aplicaciones web se encuentran al principio del ciclo y la la lista de problemas.
seguridad de la información requiere una visión más proactiva 3) El contenido del documento se extraerá para facilitar las
que se base en la gestión de riesgos y prevención de fallas. traducciones.
Por lo tanto, para generar una buena política entre el área de 4) El puntaje para las entradas del top 10 se basa en el
desarrollo y los ejecutivos, se debe iniciar con el pensamiento Common Weakness Scoring System (CWSS).
de que la mejor forma de reducir el coste de vulnerabilidades de 5) Para la edición 2017, se seleccionarán 8 de 10
aplicaciones y sitios web es evitar que permanezcan, se vulnerabilidades a partir de los datos enviados a través de
conviertan en amenazas y finalmente en ataques que deriven en la convocatoria de datos y 2 de 10 se seleccionarán de una
multas, pérdidas de ingresos y la sombra de la mala reputación. encuesta clasificada en la industria.
Los piratas informáticos las aprovechan para colarse en 6) Una encuesta clasificada está ahora disponible para que los
servidores, bases de datos, aplicaciones web y otros recursos profesionales de la industria seleccionen dos nuevas
TIC, comprometiendo información crítica. categorías de vulnerabilidad para su inclusión en el top 10
Según un estudio de Symantec, Reducing the Cost and 2017. La fecha límite para la encuesta fue el 30 de agosto
Complexity of web Vulnerability Management, existen decenas de 2017.
de miles de vulnerabilidades conocidas y su número crece 7) La llamada de datos se vuelve a abrir para permitir la
exponencialmente año tras año, un incremento facilitado por el recopilación de datos adicionales para el análisis. El nuevo
auge de los scripts automatizados y los kits de herramientas de plazo para la ampliación de la llamada de datos es el 18 de
ataque web. Estos paquetes de malware están creados septiembre de 2017.
específicamente para aprovechar las vulnerabilidades web y 8) Los 10 mejores 2017 RC2 se publicarán para su revisión y
facilitar el lanzamiento de ataques generalizados. comentarios el 9 de octubre de 2017.
Entonces, ¿OWASP cómo entra en este ámbito?, no hay una 9) El lanzamiento final del top 10 2017 está previsto para el
respuesta clara, concreta y segura, pero, así como actualmente 18 de noviembre de 2017.
no existe gran variedad de modelos para pruebas de aplicaciones Por otra parte, la administración de seguridad es un campo de
web seguras, el proyecto OWASP presenta una serie de buenas constante actualización que requiere un estudio muy complejo
Universidad Piloto de Colombia. Rojas Jorge. VULNERABILIDADES DE APLICACIONES WEB SEGÚN OWASP 10
y muchas veces complicado; sin embargo, la seguridad de los incompetencia de seguridad común y los peligros que
sistemas es un desafío y una solución de problemas que tratados inherentemente poseen al explorar con éxito. Algunas de las
de la forma correcta no dan una solución exacta y certera, pero mejoras significativas se hacen con cada lanzamiento de la lista
en términos de negocios genera grandes ventajas sobre la OWASP top 10 y la comunidad OWASP está ansiosa por la
competencia y sobre la utilidad. Con esto en mente, es edición final de 2017 que se publicará en los próximos meses.
importante dedicarle tiempo a conocer las vulnerabilidades y a Por otro lado, dentro de los protocolos de mitigación de
conocer también los mecanismos para corregirlas. Del mismo vulnerabilidades se debe estar testeando la herramienta de una
modo, concientizar al uso de las distintas herramientas que forma periódica, gestionando varios métodos y aplicando
proporciona OWASP para realizar análisis de las aplicaciones, distintos modelos de ataque. Realizar la parte técnica de la
tanto en la etapa de desarrollo como en la etapa post producción evaluación es solo la mitad del proceso global de evaluación, el
donde se tiene un constante trabajo y desarrollo de la producto final es la realización de un reporte informativo y bien
herramienta como parte de la administración de esta. escrito. Cabe mencionar que, un informe debería ser fácil de
Además, el top 10 son solo las vulnerabilidades más latentes entender, remarcar todos los riesgos encontrados durante la fase
dentro de un periodo de tiempo, lo que implica que estas son de evaluación y poder dirigirse tanto al personal técnico como a
solo algunas de las vulnerabilidades de seguridad a las que están dirección. El informe debe tener tres secciones principales y ser
sometidas las modernas aplicaciones web. Sin embargo, creado de modo que permita separar e imprimir cada sección y
siguiendo los consejos proporcionados por la comunidad darlas al equipo adecuado, como los desarrolladores o
OWASP y mediante el uso de software de seguridad avanzado, administradores de sistema. Dicho informe debería contener:
los administradores de sitios web pueden encontrar, corregir y resumen ejecutivo, consideraciones técnicas generales y
evitar estas y otras amenazas de seguridad web. Por lo tanto, hay hallazgos realizados durante la evaluación.
que considerar que el OWASP top 10 es un potente documento También, un análisis de los datos hasta hoy recopilados
de sensibilización para la seguridad de las aplicaciones web. demostró que la mayoría de las API no posee medidas
Este representa un amplio consenso sobre los riesgos de elementales para detectar, prevenir y responder de forma
seguridad más críticos para las aplicaciones web y es un manual y automatizada a los ciberataques. Por lo que, no solo
excelente punto de partida, sin desconocer otras basta con validar una entrada, si no que, por ejemplo, se necesita
vulnerabilidades que pueden no ser tan latentes como las del top que la aplicación sea capaz de detectar algunos de los ataques
10 pero que pueden afectar de manera considerable la aplicación más comunes –también carecen de mecanismos que permitan
de la aplicación web que se esté desarrollando o aplicar parches de manera inmediata–.
implementando; de esta manera, las herramientas e De esta forma, la tendencia es hacia la interacción con las
investigaciones que se puedan obtener dan cuenta de un punto aplicaciones web a través de agentes de usuarios diferentes a los
de partida en la administración de la seguridad. clásicos navegadores web. A diario se usan más contenidos a
Por consiguiente, la clave para resolver la autenticación rota través de aplicaciones móviles basadas en Android, iOS y otras;
y la administración de sesiones es que los controles de este comportamiento muchas veces oculta lo que está por detrás,
autenticación deben implementarse de forma centralizada. Esto recibiendo y enviando datos sobre una aplicación web y el
evitará muchos problemas, ya que todos los servidores web, protocolo de comunicación HTTP, lo que conlleva a que las
servidores de aplicaciones y otros entornos informáticos tendrán aplicaciones web modernas y API tipo Javascript en el
solo una ubicación que establezca y alimente el proceso de navegador o aplicaciones de móviles se conecten con alguna
autenticación y gestión de sesiones. API tipo SOAP/XML, por mencionar una entre varias, y estas a
Es importante entender que, las defensas de seguridad menudo están desprotegidas y son vulnerables a ataques.
tradicional son como cerraduras que detienen a los atacantes,
pero no tienen forma de detectar o manifestar que están siendo REFERENCIAS
atacados, y las aplicaciones no tienen una forma rápida y fácil
de aplicar parches para responder a un ataque. Dado lo difícil [1] Wiboo media. (2017). ¿Qué son las aplicaciones web?
que es evitar que las vulnerabilidades entren en el código, Ventajas y tipos de desarrollo web. Madrid, España.
simplemente no se puede confiar únicamente en tratar de lograr [Online]. Disponible en:
un código perfecto. Actualmente, los atacantes pueden atacar https://wiboomedia.com/que-son-las-aplicaciones-web-
con impunidad, sin ser detectados ni bloqueados; eventualmente ventajas-y-tiposde-desarrollo-web/
esa es una receta para el desastre. [2] GCFAprendeLibre. (1998-2016). Aplicaciones móviles.