Anda di halaman 1dari 8

INSTITUTO TOLIMENSE DE FORMACION TECNICA PROFESIONAL “ITFIP”

Establecimiento público de Educación Superior, adscrito al M.E.N


Redefinido por ciclos propedéuticos mediante Resolución No. 1895 de 2007
NIT 800.173.719.0

MICROCLASE PARA LA ASIGNATURA SEGURIDAD EN APLICACIONES WEB

Fecha de envío: VIERNES 15 de junio

ÁREA (S): Seguridad en aplicaciones Web

DOCENTE: Javier Felipe Quijano Rodríguez

SEMESTRE: 8º

TIEMPO DE DESARROLLO: 80 minutos

CONOCIMIENTOS PREVIOS: Sistemas operativos, virtualización, bases de datos,


programación de sitios Web y fundamentos de seguridad informática.

METODOLOGÍA DE TRABAJO: Colaborativo.

OBJETIVO: Esta clase tiene como propósito que el estudiante comprenda cómo funcionan las
aplicaciones web, cuáles son sus principales vulnerabilidades y conocer algunas de las
herramientas que permiten identificarlas.

MOTIVACION: Se abre la clase con la explicación de infografías acerca de cómo tener un plan
de aprendizaje, del trabajo en equipo, uso de la estrategia S.Q.A, aclaración de conocimientos
previos y un video de la plataforma Platzi (reconocida como una de las mejores plataformas de
educación online del mundo en el Venture Awards de ASU+GSV Summit del año 2018) con su
temática “Cómo hacen los sitios más populares para estar siempre en línea”; luego el docente
realizará una ilustración a los alumnos acerca del Open Web Application Security Project y un
ejercicio práctico que involucra el objetivo de la clase.

INTRODUCCION DEL TEMA: Desde hace un buen tiempo las aplicaciones web han empezado
a ser vulneradas, diferentes agentes no autorizados están logrando acceso a información
confidencial y ocasionando pérdida de la misma.

Esta época que se vive, se puede considerar como la de la información, entonces son los datos
el activo más relevante de cualquier organización, incluso de una persona natural, de tal forma,
que en una sociedad globalizada e interconectada, las aplicaciones web deben contar con
niveles altos de seguridad, integridad y confiabilidad, algo esencial para las procedimientos de
cualquier negocio.

Otro de los componentes que siguen en esta problemática es la falta de saneamiento a


nivel empresarial en lo que respecta a la seguridad de los datos y aplicaciones que administran,
no hay estrategia clara ni correctamente documentada en tópicos relacionados a la información
segura, y además tan solo unas pocas consideran esto dentro de los riesgos en sus planes.

Aun así, la seguridad informática en aplicaciones Web ha escalado enormemente, a tal punto,
que muchas organizaciones de tecnología están empezando a tomar con mucha seriedad y a
invertir para prevenir y crear planes de contingencia contra los ataques a los que se vean
expuestas, tratando de disminuir en lo que les sea posible la materialización de algún riesgo.

INICIO:

- En el campo de la tecnología siempre se debe estar en constante aprendizaje, por ello el


docente explica a los alumnos, la importancia de este, a través de una infografía:

Plan de aprendizaje

Fuente: https://www.facebook.com/pg/platzi/photos
- El docente explica la importancia del trabajo en equipo, resaltando a los estudiantes el
ejemplo de parejas que han triunfado creando plataformas tecnológicas, con la siguiente
infografía:

Trabajo en equipo

Fuente: https://www.platzi.com/

- En grupos de 4 estudiantes, a través de la estrategia S.Q.A, se registrará inicialmente los


conceptos previos del tema para conectar con el nuevo conocimiento, únicamente los
campos ¿Que sé? y ¿Qué Quiero saber:?
DESARROLLO:

- Se aclaran conocimientos previos (DNS y Pentesting), dónde el docente explica las


siguientes infografías:

¿Qué es un DNS?

Fuente: https://www.facebook.com/pg/platzi/photos

Proceso de Pentesting

Fuente: https://www.facebook.com/pg/platzi/photos
- Terminado, el proceso anterior, se reproduce el video: Cómo hacen los sitios más
populares para estar siempre en línea”,
https://www.youtube.com/watch?v=7EiSiIIXAQQ&list=FLFbVnK52o9CL39ax8yz7AXg&ind
ex=23&t=9s

Cómo hacen los sitios más populares para estar siempre en línea

Fuente: https://www.youtube.com/channel/UC55-mxUj5Nj3niXFReG44OQ

- Ilustración del docente a los alumnos acerca del Open Web Application Security Project:

La meta principal de la seguridad informática será la de conservar la integridad,


disponibilidad y confidencialidad en sus aspectos fundamentales. En lo que respecta a
los sitios web, la organización Open Web Application Security Project (OWASP) elaboró
una guía para el desarrollo de Aplicaciones Web Seguras y Servicios Web Seguros,
tomando vulnerabilidades como Inyección SQL, suplantación de identidad, sesiones,
además del cumplimiento de reglas y cuestiones de privacidad. Lo anterior con el fin de
apoyar los desarrolladores, testers e ingenieros a manejar un modelo para evitar
problemas en el desarrollo que generen arquitecturas inseguras.

OWASP Top 10: Inicialmente el objetivo del proyecto OWASP Top 10, era sencillamente
servir como guía para concienciar a los desarrolladores, diseñadores, arquitectos y
gerentes organizacionales a cerca de las consecuencias de las vulnerabilidades más
comunes e importantes para la seguridad de las webapps, pero ha pasado a convertirse
en un estándar de seguridad de facto, que suministra técnicas básicas para
salvaguardarlas y brindar orientación sobre qué hacer.

La última versión de esta lista es la 2017, la anterior fue en el año 2013, dónde se ha
mejorado aspectos metodológicos, sumando los cambios significativos en la tecnología
base y arquitectura de las aplicaciones web, como lo son:

- Microservicios escritos en node.js y Spring Boot están substituyendo las aplicaciones


monolíticas habituales, estos a su vez traen consigo retos en lo que se refiere a
seguridad, que engloba el establecimiento de confianza entre microservicios,
contenedores, entre otros. Por otro lado, su código se encuentra accesible en Internet,
detrás de un API o servicio RESTful, esperando a ser consumido por SPAs (aplicaciones
de una sola página) y móviles.

- Las SPAs, escritas en frameworks JavaScript como Angular y React, admiten la


creación de
interfaces de usuario modulares con múltiples características, son funcionalidades en el
lado del cliente que crean problemas de seguridad.

Diferencias entre el Top 2013 Y 2017

PRINCIPALES VULNERABILIDADES EN LA WEB DE ACUERDO AL OWASP TOP 2017:


A continuación, la explicación de los riesgos más comunes y críticos:

OWASP Top 10 2017 - Riesgos en Seguridad de Aplicaciones


A1:2017 Inyección Las fallas de inyección, como SQL, NoSQL, OS o
LDAP ocurren cuando se envían datos no confiables a
un intérprete, como parte de un comando o consulta.
Los datos dañinos del atacante pueden engañar al
intérprete para que ejecute comandos involuntarios o
acceda a los datos sin la debida autorización.
A2:2017 Pérdida de Las funciones de la aplicación relacionadas a
Autenticación autenticación y gestión de sesiones son
implementadas incorrectamente, permitiendo a los
atacantes comprometer usuarios y contraseñas, token
de sesiones, o explotar otras fallas de implementación
para asumir la identidad de otros usuarios (temporal o
permanentemente).
A3:2017 Exposición de Muchas aplicaciones web y APIs no protegen
datos sensibles adecuadamente datos sensibles, tales como
información financiera, de salud o Información
Personalmente Identificable (PII). Los atacantes
pueden robar o modificar estos datos protegidos
inadecuadamente para llevar a cabo fraudes con
tarjetas de crédito, robos de identidad u otros delitos.
Los datos sensibles requieren métodos de protección
adicionales, como el cifrado en almacenamiento y
tránsito.
A4:2017 Entidades Muchos procesadores XML antiguos o mal
Externas configurados evalúan referencias a entidades externas
XML (XXE) en documentos XML. Las entidades externas pueden
utilizarse para revelar archivos internos mediante la
URI o archivos internos en servidores no actualizados,
escanear puertos de la LAN, ejecutar código de forma
remota y realizar ataques de denegación de servicio
(DoS).
A5:2017 Pérdida de Las restricciones sobre lo que los usuarios
Control autenticados pueden hacer no se aplican
de Acceso correctamente. Los atacantes pueden explotar estos
defectos para acceder, de forma no autorizada, a
funcionalidades y/o datos, cuentas de otros usuarios,
ver archivos sensibles, modificar datos, cambiar
derechos de acceso y permisos, etc.
A6:2017 Configuración La configuración de seguridad incorrecta es un
de problema muy común y se debe en parte a establecer
Seguridad la configuración de forma manual, ad hoc o por
Incorrecta omisión (o directamente por la falta de configuración).
Son ejemplos: S3 buckets abiertos, cabeceras HTTP
mal configuradas, mensajes de error con contenido
sensible, falta de parches y actualizaciones,
frameworks, dependencias y componentes
desactualizados, etc.
A7:2017 Secuencia de Los XSS ocurren cuando una aplicación toma datos no
Comandos en confiables y los envía al navegador web sin una
Sitios validación y codificación apropiada; o actualiza una
Cruzados (XSS) página web existente con datos suministrados por el
usuario utilizando una API que ejecuta JavaScript en el
navegador. Permiten ejecutar comandos en el
navegador de la víctima y el atacante puede
secuestrar una sesión, modificar (defacement) los
sitios web, o redireccionar al usuario hacia un sitio
malicioso.
A8:2017 Deserialización Estos defectos ocurren cuando una aplicación recibe
Insegura objetos serializados dañinos y estos objetos pueden
ser manipulados o borrados por el atacante para
realizar ataques de repetición, inyecciones o elevar
sus privilegios de ejecución. En el peor de los casos, la
deserialización insegura puede conducir a la ejecución
remota de código en el servidor.
A9:2017 Componentes Los componentes como bibliotecas, frameworks y
con otros módulos se ejecutan con los mismos privilegios
vulnerabilidades que la aplicación. Si se explota un componente
conocidas vulnerable, el ataque puede provocar una pérdida de
datos o tomar el control del servidor. Las aplicaciones
y API que utilizan componentes con vulnerabilidades
conocidas pueden debilitar las defensas de las
aplicaciones y permitir diversos ataques e impactos.
A10:2017 Registro y El registro y monitoreo insuficiente, junto a la falta de
Monitoreo respuesta ante incidentes permiten a los atacantes
Insuficientes mantener el ataque en el tiempo, pivotear a otros
sistemas y manipular, extraer o destruir datos. Los
estudios muestran que el tiempo de detección de una
brecha de seguridad es mayor a 200 días, siendo
típicamente detectado por terceros en lugar de por
procesos internos.
- En los mismos grupos de 4 alumnos y con instrucción del docente:

o Desde una máquina virtual ejecutar el sistema operativo Kali Linux.

o Diseñar e implementar una aplicación web para pruebas: base de datos mysql y
aplicación desarrollada en php 5 o inferior, que tenga un formulario con matriz CRUD
(Create, Read, Update y Delete), es decir, almacenar, actualizar, eliminar y consultar
información haciendo uso del método GET y que esta se guarde en la base de datos.

o En seguida, se realizan las siguientes prácticas en la base de datos creada,


haciendo uso de la herramienta SqlMap del sistema operativo Kali Linux:

1) Ejecutar el comando “sqlmap -u webapp_víctima --dbs”, ¿Qué información


devuelve?

2) Ejecutar el comando “sqlmap -u webapp_víctima -D dbname --tables”, ¿Cuál


es el resultado?

3) Ejecutar el comando “sqlmap -u webapp_víctima -D dbname -T tablename --


columns” ¿Qué muestra?

o Completar el último campo de la tabla S.Q.A, ¿Qué aprendí?

CIERRE:
- Los grupos deberán compartir los resultados de la estrategia S.Q.A a toda la clase.

- Retroalimentación por parte de docente de acuerdo a las actividades grupales realizadas.

- Actividad extra-clase: Cada grupo debe investigar el uso de las siguientes herramientas,
1 por grupo, para evaluar la seguridad de las aplicaciones web: NIKTO, SQLNINJA,
ACUNETIX, WEBSECURIFY.

RECURSOS:
- Sala de cómputo de la institución con conexión a internet de mínimo 6 MB
- Software para Virtualización: VirtualBox (https://www.virtualbox.org/wiki/Downloads)
- Máquina virtual Kali Linux previamente configurada (https://www.kali.org/downloads/,
https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-hyperv-image-download/
- XAMMP (https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/)

BILBLIOGRAFÍA:
- Cómo hacen los sitios más populares para estar siempre en línea, Extraído el 13 de Junio de
2018, del canal de Youtube de Platzi: Cursos online profesionales de tecnología

- Open Web Application Security Project, Extraído el 13 de Junio de 2018, de


https://owasp.org/

- Official Kali Linux Documentation, Extraído el 13 de Junio de 2018, de


https://www.kali.org/kali-linux-documentation/

- Sqlmap Usage, Extraído el 13 de Junio de 2018, de


https://github.com/sqlmapproject/sqlmap/wiki/Usage

Anda mungkin juga menyukai