Está en la página 1de 36

Fundación Universitaria del Área Andina

INGENIERÍA DE SISTEMAS
SEGURIDAD EN BASES DE DATOS
ACTIVIDAD EJE IV – Auditoría de Seguridad.

Nombre: José John Kennedy Bustamante Riaño

Cristian Jacobo Riascos Cortes

Wilton Mauricio Ocampo Villabon

Luis Alejandro Avellaneda Vázquez

José Gildardo Gutiérrez Pico

Fecha: 08 de junio 2020

Profesor: Ángel Alberto Varón Quimbayo

1 Fundación Universitaria Área Andina


APLICACIÓN DE OWASP A UNA PLATAFORMA WEB USANDO ZAP

Resumen—“las brechas de seguridad achieve the objectives and


son las principal vulnerabilidad de las methodologies using technologies
diferentes empresas diseñadoras de against the possible limitations in its
contenido Web, donde estas distribuyen structure, in the qualify the risks and
estas aplicaciones de forma comercial, thus propose measures to mitigate it ”.
para estos se debe incorporar procesos
de intrusión testing para garantizar la
calidad e integridad del desarrollo y así
mejorar la seguridad de las diferentes
aplicaciones en el mercado actual para Keywords
así logra el mantenimiento de la OWASP - AJAX Testing web services -
seguridad en las empresas y clientes en IoT device Kali Linux - Hacktivism
este sentido se dará a conocer unas Penetration Tests - JDBC - ZAP: (Zed
etapas de análisis para lograr los Attack Proxy).
objetivos y metodologías utilizando
tecnologías frente posibles amenazas en INTRODUCCIÓN
su estructura, en la cual identificar los
riesgos y así proponer medidas para La seguridad es un tema vital a la hora de
mitigarlo”. desarrollar cualquier tipo de aplicación (y
más si es una aplicación que contiene
Palabras Claves datos personales o de gran impacto social
y mucho más si, además, va a estar
OWASP - Pruebas AJAX expuesta como aplicación web accesible a
Servicios web - dispositivo IoT un gran número de personas). Muchas
kali Linux - pruebas de penetración veces, es un aspecto al que no se le dedica
Hacktivismo - JDBC - ZAP: (Zed todo el esfuerzo y el cariño que se merece.
Attack Proxy). Es por esto que hay numerosos fallos de
seguridad en las aplicaciones que
Abstract: “security breaches are the
comprometen el negocio llegando, incluso,
main vulnerabilities of the different
a provocar pérdidas importantes (pérdidas
companies designed for web content,
tanto de información como pérdidas
where they distribute these applications
monetarias). Los usuarios debemos
commercially, for these, intrusion
sentirnos seguros y tener cierta confianza
processes must be incorporated for the
en que nuestros datos que estamos
quality and integrity of development
evidenciando van a ser protegidos contra
and thus improve the security of the
posibles ataques (aunque lo que también
different applications in the current
tenemos que tener presente es que nuestra
market in order to achieve the
seguridad es siempre algo que va a estar en
maintenance of security in companies
el punto de mira).
and clients in this sense, receive a
knowledge of stages for the analysis to

2 Fundación Universitaria Área Andina


Las empresas deben ser responsables de dónde está estará expuesta en las
ofrecer un servicio seguro y poner todos plataformas web es necesario brindar una
los esfuerzos posibles en hacer que así sea. buena integridad disponibilidad y
La seguridad debería ser el primer aspecto privacidad en cuanto control y autenticidad
a tener en cuenta a la hora de desarrollar de la información manejaba en la web.
cualquier aplicación y el desarrollo, por
tanto, debería estar guiado o basado en
II. MARCO TEÓRICO
aplicar metodologías que nos permitan
realizar aplicaciones seguras. Analizar vulnerabilidades es importante
Muchas veces, no es siempre posible pero ser capaz de estimar el riesgo
controlar que todo el desarrollo de las asociado para la empresa es igualmente
aplicaciones sea seguro (es una formación importante, al principio del ciclo de vida
muy específica y hay empresas que no se puede identificar problemas de
invierten suficiente en dicha formación), seguridad en la arquitectura o diseño
pero lo que sí es posible es realizar utilizando modelos de amenazas
auditorías de seguridad sobre las posteriormente se pueden encontrar
aplicaciones ya desarrolladas para problemas de seguridad utilizando revisión
descubrir los posibles fallos de seguridad y de código o pruebas de penetración los
tomar medidas en consecuencia. problemas podrían no ser descubiertos
Tan importante es una auditoría de código hasta la aplicación esté en producción y
como una auditoría de seguridad. De poco sea comprometida, se debe destacar la
nos sirve que nuestra aplicación tenga una severidad que estos errores percuten de
calidad elevada de código si tiene unos manera negativa a la empresa la
fallos de seguridad importantes a través de metodología OWASP donde esta
los cuales se puede obtener información promueve el uso del desarrollo de software
sensible de los usuarios o comprometen de manera segura y gratuita, orientada a la
nuestro negocio web mejorando todo tipo de seguridad a
Es importante, por tanto, poder disponer través de código abierto definiendo
de algún medio de referencia sobre la modelos básicos de seguridad donde en
seguridad en aplicaciones web y aquellos esta se analiza el riesgo la probabilidad y
fallos de seguridad más comunes dentro de el impacto determinando la gravedad
las mismas. También, sería deseable poder general del riesgo, la cual esta propone
disponer de herramientas que nos permitan dos fases que busca entender el
analizar nuestras aplicaciones y obtener funcionamiento del sistema que son la fase
información de las vulnerabilidades que pasiva y la fase activa identificando los
tienen. Menos mal que, afortunadamente, fallos en los ataque diarios que estás
estamos de suerte y existe OWASP expuesto a la web.

Además, las Auditorías de Seguridad


I. OBJETIVOS informática nos permiten conocer en el
momento de su realización cuál es la
La seguridad es un tema vital a la hora de
situación exacta de sus sistema de
desarrollar cualquier tipo de aplicación, y
información en cuanto a protección,
aún más si esta cuenta con información
control y medidas de seguridad, conocer el

3 Fundación Universitaria Área Andina


alcance de seguridad con el que se cuenta por OWASP en su informe Top 10 del año
en cuestiones seguridad de su sistema 2013.
informático (Servidores, Puestos de
Trabajo y Red), utilizando todo tipo de Para revisar estos riesgos se auditarán un
herramientas y técnicas para averiguar identificarán una serie de problemas de
cuáles son los problemas a los que su seguridad presentes en la aplicación web
sistema se ha de enfrentar, presentarlos objetivo de la auditoría y se realizarán una
serie de recomendaciones para mejorar la
en un informe y proponer las medidas que seguridad.
sería necesario aplicar para solucionarlos.

Teniendo en cuenta la metodología de sus III. METODOLOGÍA


10 subcategorías planteadas de las pruebas
La metodología OWASP plantea dos fases
de vulnerabilidad estas se deben tener
principales:
presente en las pruebas que se van a
desarrollar buscando los factores de riesgo. Fase pasiva en la que se busca comprender
Recopilación de información, Pruebas de la lógica de funcionamiento del sistema e
gestión de la configuración , Pruebas de la identificar posibles túneles de ataques o
lógica del negocio, Pruebas de vulnerabilidades.
autenticación, Pruebas de autorización,
Pruebas de gestión de sesiones Pruebas de Fase activa en la que se realiza un análisis
validación de datos, Pruebas de minucioso e implementación de diferentes
denegación de servicio Pruebas de pruebas de autorización, sesiones,
servicios web y Pruebas AJAX, vale la configuración, lógica del negocio,
pena resaltar que estas validaciones juegan denegación del servicio, AJAX, validación
un papel importante en la implementación y servicios web.
de la seguridad al momento de auditar una
aplicación por cada una de ellas, se La herramienta OWASP ZAP permite
recogen los elementos y agentes que realizar ataques pentesting (pruebas de
intervienen en esta vulnerabilidad, cómo penetración) o ataques de penetración al
prevenirla y ejemplos de escenarios de sistema, con el fin de generar una auditoría
ataques para probar si somos vulnerables de las posibles vulnerabilidades
encontradas en la aplicación web o sistema
Mientras otras metodologías recogen pasos de información que se esté analizando.
genéricos para cualquier auditoría de
seguridad OWASP cuenta con diferentes Es evidente entonces, desde el surgimiento
documentos y proyectos enfocados al del Internet y la posibilidad que nos brinda
elemento a auditar como hemos visto en mantenernos siempre conectados,
anteriormente, no es lo mismo auditar la entender como la información y los
seguridad de una aplicación móvil que de medios por la que se transmite toman un
una página web o dispositivo IoT, se valor crítico en la sociedad actual,
revisarán los diez riesgos más importantes importancia que muchas veces pasa
presentes en aplicaciones web descritos desapercibida permitiendo la aparición de
nuevas vulnerabilidades que pueden ser
explotadas en caso de no conocerse, o no

4 Fundación Universitaria Área Andina


solucionarse, poniendo en riesgo la
integridad de unos de los bienes más
valiosos que existen hoy.

Las amenazas surgen a partir de la


existencia de vulnerabilidades, las cuales
pueden ser explotadas por usuarios de alto
nivel en conocimientos técnicos los cuales
generalmente buscan aprovecharse de
estos fallos en los sistemas, impulsados Figura 1. Para el ejercicio con la
por razones como el espionaje industrial herramienta ZAP de OWASP, escogimos
hasta un simple desafío personal o de la el sitio http://asociacionpyme.pe/ , la cual
comunidad hacktivista; es decir que una es una agremiación de pequeños
amenaza sólo puede existir si existe una empresarios, tiene por finalidad impulsar
vulnerabilidad que pueda ser aprovechada, el fortalecimiento institucional del sector
e independientemente de que se de la pequeña empresa en el país Peruano.
comprometa o no la seguridad de un Por tal razón, es una iniciativa abierta a
sistema de información. todos los gremios PYMES de las
diferentes regiones del país Suramericano.
Para gestionar una adecuada planeación de
la auditoría es necesario, seguir una serie
de pasos previos que permitirán
dimensionar el tamaño y características de
área dentro del organismo a auditar sus
sistemas organización y equipo.

Empleando técnicas de Kali Linux para


hacer la respectiva verificación y auditoría
evaluando los sistemas de información en Figura 2. Una vez iniciada nuestra
general desde sus entradas, máquina virtual Kali Linux, corriendo en
procedimientos, controles, archivos, Virtual Box, procedemos a iniciar la
seguridad y obtención de información, la Herramienta ZAP, la cual fue instalada
cual es importante determinar las fallas y como paquete desde el sitio
revisar el buen desempeño de las https://owasp.org/www-project-zap/.
aplicaciones que iremos a revisar ya que
esta herramienta nos proporciona los
controles especializados para que esta
revisión sea confiable haciendo está bien
complejo para captar la información que se
necesita para esta auditoría.

IV DESARROLLO

· Herramienta kali Linux Figura 3. Escogemos la opción Automatic


Scan.

5 Fundación Universitaria Área Andina


Figura 4. Digitamos la dirección
http://asociacionpyme.pe/, a la cual vamos
a efectuar el escaneo pasivo de seguridad.
Figura 7. El escaneo nos muestra una
bandera roja con alerta de falla por
inyección SQL, High Medium

Figura 5. Una vez ingresada la dirección,


damos click en el botón atacar. Figura 8. Terminado el escaneo
procedemos a generar un reporte, en la
figura se produjo en la opción HTML,
mostrando resultados que se verán más
adelante en el archivo Pdf.

Figura 6. El escaneo va mostrando las


diferentes vulnerabilidades, en la barra
inferior

6 Fundación Universitaria Área Andina


Figura 9. Procedemos a generar el informe
en archivo Pdf Informe Zap Scanning
Report

“Se ha llegado a la conclusión de que los


ataques de inyección SQL, son causados
en mayor parte por falta de control de los
Figura 10. Encabezado del reporte de datos que se ingresan en los campos de
escaneo con ZAP, nos muestra un resumen texto de los formularios en aplicaciones
de alertas según clasificación, alta, media web, logrando insertar código malicioso
y baja. mediante el uso del lenguaje SQL,
alterando de esa manera la estabilidad de
la base de datos que recibe el ataque...”
Soto, M. A. L., Burgueño, A. M. D.,
Con base en el ejercicio de ataque
realizado con la herramienta ZAP, se Ramírez, M. I. T., & Garzón, J. F. P.
(2018). PROTECCIÓN ANTE
pretende revisar los diez riesgos más
relevantes descritos en la documentación ATAQUES DE INYECCIÓN SQL EN
APLICACIONES WEB. Revista Digital
de OWASP Testing Guide.
de Tecnologías Informáticas y Sistemas,
Es de recomendar al cliente, que el 2(1).
funcionamiento de un ERP requiere del
uso de una base de datos y está en este
caso se ve comprometida en su seguridad
ya que por la baja calidad en la
codificación hace que se presenten
vulnerabilidades como la descrita en el
documento resultante de la auditoría.

7 Fundación Universitaria Área Andina


V. RESULTADO

8 Fundación Universitaria Área Andina


9 Fundación Universitaria Área Andina
10 Fundación Universitaria Área Andina
11 Fundación Universitaria Área Andina
12 Fundación Universitaria Área Andina
13 Fundación Universitaria Área Andina
14 Fundación Universitaria Área Andina
15 Fundación Universitaria Área Andina
16 Fundación Universitaria Área Andina
17 Fundación Universitaria Área Andina
18 Fundación Universitaria Área Andina
19 Fundación Universitaria Área Andina
20 Fundación Universitaria Área Andina
21 Fundación Universitaria Área Andina
22 Fundación Universitaria Área Andina
23 Fundación Universitaria Área Andina
24 Fundación Universitaria Área Andina
25 Fundación Universitaria Área Andina
26 Fundación Universitaria Área Andina
27 Fundación Universitaria Área Andina
28 Fundación Universitaria Área Andina
29 Fundación Universitaria Área Andina
30 Fundación Universitaria Área Andina
31 Fundación Universitaria Área Andina
32 Fundación Universitaria Área Andina
VI. DISCUSIÓN Aplique el privilegio mínimo posible al
usuario de la base de datos de los
Se identificó que en el sitio web la privilegios usados.
vulnerabilidad de inyección sql puede ser
explotada por personas ajenas que se den En particular evitar el uso del usuario de
cuenta de esa puerta trasera abierta y que base de datos 'sa' o 'db-owner'. Esto no
puede ser atacada la página, elimina la

No confíe en los valores de entrada del Inyección SQL, pero minimiza su impacto.
lado del cliente, incluso si en el lado del
cliente se realice una validación, en Conceder el mínimo acceso de base de
general, comprobar todos los datos de datos que es necesario para la aplicación
entrado en el servidor, si la aplicación usa
A continuación se dará una breve mención,
JDBC, usar Prepared Statement o Callable
descripción y solución planteada de los
Statement, con parámetros
tres mensajes de alerta y el mensaje
Pasados por '?' informativo que se hacen presentes en el
encabezado del reporte de resultados
Si la aplicación utiliza ASP, usar ADO obtenidos después de ejecutar el escaneo
Command Objects con una fuerte de vulnerabilidades mediante la aplicación
comprobación de tipos de consultas y ZAP.
parámetros.
Alto (High): Inyección SQL puede ser
Si la Base de Datos puede usar Stored posible con esto se llega determinar que se
Procedures (Procedimientos puede quebrantar los controles de acceso
Almacenados), úselos. al código SQL e insertar código malicioso
que altere el comportamiento de la
¡NO concatenar cadenas en los query plataforma o la inhabilite, medidas para
(consultas) en los procedimientos mitigar las posibles apariciones de este
almacenados, o utilizar ataque son la parametrización y definición
de variables que sean usadas como
'exec', 'exec immediate', o su funcionalidad
consulta evitando usar cadenas de código
equivalente!
como MySQL_Connect o query que son
No crear consultas SQL dinámicas usando vulnerables.
una sencilla concatenación de cadenas.
Medio (Medium): META X-Frame-
Aplique aun lista blanca (whitelist) de Options (XFO), definiendo XFO mediante
caracteres permitidos, o una lista negra una etiqueta TAG es explícitamente no
(blacklist) de compatible con la especificación (RFC
7034) y el encabezado X-Frame_options
Caracteres no permitidos en la entrada no está incluido en la respuesta HTTP para
(input) del usuario. proteger ante ataques 'ClickJacking'. Ya
que la cabecera XFO es la encargada de
permitir o negar la ejecución de Frames en

33 Fundación Universitaria Área Andina


la estructura de páginas Web que dan paso ataque de falsificación de petición a sitios
a ataques de ClickJacking por los cuales se cruzados por lo que una página de terceros
da la filtración de datos personales del puede obtener el acceso a cookies de la
usuario, una de las mejores formas de página a la que desean atacar, la solución
mitigar errores con las etiquetas es no sería darles el estado de estricto a las
crear metadatos duplicados con el cookies.
contenido raíz y declararlas
específicamente en función de su Informativa (Informational): Timestamp
ejecución. Disclosure - Unix la vulnerabilidad
presente es que los cambios realizados en
Bajo(Low): No se encuentra encabezado la base de datos se guardan como una
X-Content-Type-Options Header, Absence marca de tiempo por lo que si el atacante
of Anti-CSRF Tokens y Inclusión de accede a las marcas de tiempo previas
archivos de origen JavaScript Cross- podrá ver modificaciones a la seguridad,
Domain que son vulnerabilidades por lo que la solución sería hacer la marca
responsables de producir los ataques por de tiempo no confidencial y no se pueden
falsificación de petición a sitios cruzados agregar datos para revelar
que produce un enlace de sitios seguros a vulnerabilidades. Information Disclosure -
sitios de terceros con inyección de código Suspicious Comments en este apartado la
malicioso que aprovechan la autenticidad página web le proporciona al atacante
del usuario registrado para ejecutar la indicios de probables vulnerabilidades que
acción con sus credenciales, la forma más podría explotar, deshabilitar la aparición
eficaz de reducir estos ataques es de comentarios que contengan algún dato
implementar un sistema de Token con el sensible.
cual se valida la petición realizada por el
usuario. Server Leaks Information vía "X- VII. CONCLUSIONES
Powered-By" HTTP Response Header
Field(s) es una vulnerabilidad que hace
Las vulnerabilidades son una de las
uso de la cabecera de respuesta X-
maneras las significativas de obtener la
Powered-By para fugar información en
información.
sitios HTTP con lo que se le facilita a un
atacante conocer los componentes del Es importante dedicarle tiempo a conocer
entorno de trabajo del sitio Web y sus las vulnerabilidades y a conocer también
vulnerabilidades, la solución para esta los mecanismos para corregirlas
vulnerabilidad es restringir las acciones de
la cabecera X-Powered-By. Cookie No Teniendo en cuenta los resultados
HttpOnly Flag esta vulnerabilidad afecta obtenidos realizando el análisis mediante
las cookies de las que hace uso una página el software ZAP podemos concluir que en
Web con lo que ya no son exclusivas de proceso de desarrollo a la página Web
HTTP y ahora pueden ser accedidos encontramos muchas vulnerabilidades lo
mediante Java, la solución para esta cual no se encuentra cumplimiento con los
vulnerabilidad es predeterminar las protocolos de seguridad que establecen las
cookies para ser usadas por HTTP. Cookie normas.
Without SameSite Attribute al igual que el

34 Fundación Universitaria Área Andina


La seguridad de software es algo muy conocimiento formal de seguridad,
importante y que día a día aumenta el simplemente se ingresa una URL y se da
impacto de los riesgos que se generan a clic en el botón atacar.
partir de las vulnerabilidades. Es por esto
por lo que el uso de herramientas como La herramienta ZAP hace una simulación
ZAP se vuelve fundamental, ya que no de ataque, pero a fin de cuentas es un
solo son útiles para poder detectar estas ataque. Entonces, puede generar daños en
vulnerabilidades, sino que fue desarrollado los datos o su funcionalidad. Por esto se
por una comunidad de expertos en el área, debe hacer en un ambiente de pruebas, o si
lo cual incrementa la confianza que se
No se debe configurar en “Safe mode”.
puede tener en ella. OWASP es
(Modo seguro)
probablemente el grupo más importante y
referencia en lo que se refiere a temas de realizar este tipo de ejercicios son
seguridad en páginas web. sumamente útiles para entender el
mindset(mentalidad) que debe tener un
Una auditoría web en la que se evalúan los
tester de seguridad, por más que el trabajo
controles del TOP 10 de OWASP es la
diario de uno no sea enfocado
recomendable cuando se estudia la
específicamente en esta área, creo que
seguridad de una aplicación web por
aporta muchísimo la visión de un
primera vez o cuando la seguridad de este
Ingeniero.
entorno no es crítica para la empresa.
Ofrece un buen equilibrio en cuanto a Con la información suministrada por el
esfuerzo, costes y resultados. informe de la aplicación ZAP se ha
demostrado que las aplicaciones Web son
Se realizó un ejercicio haciendo uso de la
susceptibles a sufrir ataques por
herramienta ZAP (en el modo ataque por
vulnerabilidades que pueden pasar por alto
defecto), en el cual se ingresa una URL y
como pueden ser cadenas de código
la aplicación inicialmente adquiere la lista
obsoletas, opciones predeterminadas
de posibles request que puede realizar
quedan activadas u opciones avanzadas de
(realizando un crawling automático a partir
seguridad se encuentran desactivadas por
de la URL provista) para luego tratar
lo que en conjunto diseñadores y
generar ataques sobre las mismas que
programadores Web se recomendaría que
confirmen vulnerabilidades, como también
brinden opiniones basados en experiencias
verificar configuraciones correctas de los
y lo demandado por el mercado actual.
headers http según el contenido de los
mismos y de su cuerpo.

Esta herramienta detecta el problema, y


además sugiere soluciones al mismo en las
diferentes etapas del ciclo de vida de la
aplicación web, ya sea durante el diseño,
desarrollo, arquitectura, etc.

Importante también el hecho de que la


herramienta puede ser utilizada sin ningún

35 Fundación Universitaria Área Andina


VIII. BIBLIOGRAFÍA

Catoira, F. (01 de 03 de 2013). Top 10 de vulnerabilidades de OWASP para el 2013.


ObtenidodeWelivesecurity.combyESET:

https://www.welivesecurity.com/la-es/2013/03/01/top-10-de-vulnerabilidades-de-owasp-
para-el-2013/

DiazSecurity. (04 de 2017). Introducción y ejemplos de OWASP Zap -


DiazSecurity.com[Archivo de video]. Recuperado el 28 de 05 de 2020, de
https://youtu.be/I951MaqAkB4

OWASP. (2020). OWASP Top Ten. Obtenido de OWASP: https://owasp.org/www-project-


top-ten/

Universidad Miguel Hernández de Elche. (08 de 01 de 2015). Cómo escribir un artículo


científico. Recuperado el 05 de 2020, de https://youtu.be/-D9WtGVi4cM

Wichers, D. (2013). Owasp top-10 2013. OWASP Foundation, February.

Wichers, D., & Williams, J. (2017). Owasp top-10 2017. OWASP Foundation.

Soto,M.A.L, Burgueño, A.M.D., Ramirez, M.I.T., & Garzón, J.P.F. (2018).


PROTECCIÓN ANTE ATAQUES DE INYECCIÓN SQL EN APLICACIONES WEB.
Revista Digital de Tecnologías Informáticas y Sistemas, 2(1).

36 Fundación Universitaria Área Andina

También podría gustarte