Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Toaz - Info-Actividad-Evaluativa-Eje-4 - PR

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
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
Abstract: “security breaches are the seguridad en las aplicaciones que
main vulnerabilities of the different comprometen el negocio llegando, incluso,
companies designed for web content, a provocar pérdidas importantes (pérdidas
where they distribute these applications tanto de información como pérdidas
commercially, for these, intrusion monetarias). Los usuarios debemos
processes must be incorporated for the sentirnos seguros y tener cierta confianza
quality and integrity of development en que nuestros datos que estamos
and thus improve the security of the evidenciando van a ser protegidos contra
different applications in the current posibles ataques (aunque lo que también
market in order to achieve the tenemos que tener presente es que nuestra
maintenance of security in companies seguridad es siempre algo que va a estar en
and clients in this sense, receive a el punto de mira).
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
aplicar metodologías que nos permitan II. MARCO TEÓRICO
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
La seguridad es un tema vital a la hora de momento de su realización cuál es la
desarrollar cualquier tipo de aplicación, y situación exacta de sus sistema de
aún más si esta cuenta con información información en cuanto a protecció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
de vulnerabilidad estas se deben tener La metodología OWASP plantea dos fases
presente en las pruebas que se van a principales:
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...”
Con base en el ejercicio de ataque Soto, M. A. L., Burgueño, A. M. D.,
realizado con la herramienta ZAP, se Ramírez, M. I. T., & Garzón, J. F. P.
pretende revisar los diez riesgos más (2018). PROTECCIÓN ANTE
relevantes descritos en la documentación ATAQUES DE INYECCIÓN SQL EN
de OWASP Testing Guide. APLICACIONES WEB. Revista Digital
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
JDBC, usar Prepared Statement o Callable A continuación se dará una breve mención,
Statement, con parámetros descripción y solución planteada de los
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
'exec', 'exec immediate', o su funcionalidad de variables que sean usadas como
equivalente! consulta evitando usar cadenas de código
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
uso de la cabecera de respuesta X- Las vulnerabilidades son una de las
Powered-By para fugar información en maneras las significativas de obtener la
sitios HTTP con lo que se le facilita a un información.
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
puede tener en ella. OWASP es No se debe configurar en “Safe mode”.
probablemente el grupo más importante y (Modo seguro)
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
Una auditoría web en la que se evalúan los mindset(mentalidad) que debe tener un
controles del TOP 10 de OWASP es la tester de seguridad, por más que el trabajo
recomendable cuando se estudia la diario de uno no sea enfocado
seguridad de una aplicación web por específicamente en esta área, creo que
primera vez o cuando la seguridad de este aporta muchísimo la visión de un
entorno no es crítica para la empresa. Ingeniero.
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
Se realizó un ejercicio haciendo uso de la demostrado que las aplicaciones Web son
herramienta ZAP (en el modo ataque por susceptibles a sufrir ataques por
defecto), en el cual se ingresa una URL y vulnerabilidades que pueden pasar por alto
la aplicación inicialmente adquiere la lista como pueden ser cadenas de código
de posibles request que puede realizar obsoletas, opciones predeterminadas
(realizando un crawling automático a partir quedan activadas u opciones avanzadas de
de la URL provista) para luego tratar seguridad se encuentran desactivadas por
generar ataques sobre las mismas que lo que en conjunto diseñadores y
confirmen vulnerabilidades, como también programadores Web se recomendaría que
verificar configuraciones correctas de los brinden opiniones basados en experiencias
headers http según el contenido de los y lo demandado por el mercado actual.
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