Tema 4. Seguridad en Aplicaciones Web. Introducción
Tema 4. Seguridad en Aplicaciones Web. Introducción
Ciberseguridad Web
Tema 4. Seguridad en
aplicaciones web.
Introducción
Índice
Esquema
Ideas clave
A fondo
MEAN Stack
Test
Esquema
Ciberseguridad Web 3
Tema 4. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Este tema estudia las medidas que son necesarias para implementar la seguridad de
las aplicaciones web para que, una vez desplegadas online, se comporten de la
forma esperada, tanto por parte de los propietarios como de los usuarios, y puedan
aplicación online, como, por ejemplo, los distintos tipos de análisis y las operaciones
nivel, debe seguir este SGSI de forma coordinada para conseguir el objetivo de
desde las primeras fases del ciclo de vida del desarrollo de las aplicaciones.
Ciberseguridad Web 4
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
una de sus fases, como pueden ser el análisis y gestión del riesgo de forma
Las aplicaciones web son, por excelencia, el principal tipo de aplicación online
tableta o un móvil, entre otros, característica que también posibilita que sean
información, etc. Por tanto, en este tema es necesario introducir las características
empleado en la comunicación.
de este.
Ciberseguridad Web 5
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
recursos de este.
recursos de este.
haya producido.
Ciberseguridad Web 6
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
cada una de las fases, se han de realizar prácticas que tienen que ver con el diseño,
Ciberseguridad Web 7
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Accede al vídeo:https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?
id=0d45b4a5-8cfc-423a-991b-ae5d00af876d
En un proceso SSDLC hay que llevar a cabo diversas actividades. En primer lugar,
hay que derivar los requisitos de seguridad en función del resultado obtenido en la
política de seguridad.
Ciberseguridad Web 8
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
el riesgo.
pruebas pueden conducir a un ciclo volviendo a la primera fase para definir nuevos
debe contar con un equipo que permita implantar el SSDLC asesorando y realizando
Ciberseguridad Web 9
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
▸ Revisión de código.
▸ Pruebas de penetración.
Ciberseguridad Web 10
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
▸ Casos de abuso.
▸ Requisitos de seguridad.
▸ Operaciones de seguridad.
▸ Revisión externa.
prácticas en empresas que tienen gran cantidad de softwares. Por esa razón, la
revisión de código viene antes del análisis de riesgos arquitectónicos. Hay que
resaltar que estas actividades hay que repetirlas a lo largo del ciclo de vida, lo que
Ciberseguridad Web 11
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
otras funcionalidades.
en niveles permite que se pueda distribuir entre varios servidores, mejorando, por lo
Ciberseguridad Web 12
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
responsabilidades.
Las capas de las que se compone una aplicación web en una arquitectura clásica
son:
Ciberseguridad Web 13
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
un conjunto de tecnologías que incluyen JavaScript asíncrono junto con XML, XSLT,
Ciberseguridad Web 14
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
De esta forma, el usuario no queda esperando la respuesta del servidor, que tiene la
percepción de que no hay tiempos de recarga. Los toolkits AJAX han permitido a los
con poco esfuerzo, generando un nuevo nivel de interactividad con los usuarios,
como el que otorga, por ejemplo, Google Maps, Google Docs, Flickr, etc.
motor AJAX en su lugar. Para cualquier respuesta a una acción del usuario que no
requiera un viaje de vuelta al servidor, tal como la validación de datos simple, edición
solo de servir el código HTML, CSS y JS. Si el motor necesita algo del servidor con el
Ciberseguridad Web 15
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Uno de los patrones de diseño lógico de las aplicaciones web más comunes es
MVC articula el código de una aplicación web en tres capas diferenciadas: modelo,
Ciberseguridad Web 16
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
vista y controlador.
Modelo
El modelo es la capa de la aplicación que se ocupa de los datos que necesita y los
[SGBD], repositorio XML) y, para ello, solicitan el servicio a un JavaBean o EJB, que
información.
Vista
web. La vista se compone de páginas HTML que componen la interfaz del usuario.
script por parte del navegador. Si se permite, hay que validar por qué constituyen una
potencial fuente de ataque (Scambray et al. 2010; Sullivan et al. 2012; Moeller,
Ciberseguridad Web 17
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Controlador
los Java Server Pages (JSP), que integran código HTML y código Java, los
correspondiente a la petición.
Ciberseguridad Web 18
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
firma digital y cifrado de datos. Asimismo, hay que prestar atención al servicio de
logging (los mensajes que deben aparecer deben ser los que realmente aportan
información de la necesaria en cada caso que pudiera ser útil a los atacantes para
Ciberseguridad Web 19
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
El protocolo HTTP implementa una serie de métodos especificados en HTTP 1.1 rfc
▸ HEAD: pide una respuesta idéntica a la que correspondería a una petición GET,
▸ GET: pide una representación del recurso especificado. Por seguridad, no debería
ser usado por aplicaciones que causen efectos, ya que transmite información a
través de la URI agregando parámetros a la URL.
GET
GET /index.php?page=main&lang=es
▸ POST: envía los datos para que sean procesados por el recurso identificado (URL).
Ciberseguridad Web 20
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
camino más eficiente para subir archivos a un servidor, ya que en POST utiliza un
mensaje multiparte que es decodificado por este. En contraste, el método PUT
PUT
Ciberseguridad Web 21
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
▸ OPTIONS: devuelve los métodos HTTP que el servidor soporta para una URL
Ciberseguridad Web 22
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
En una petición GET, los parámetros que se incluyen en la cadena de la URL pueden
petición.
Ciberseguridad Web 23
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Para que sea más seguro, se debe de utilizar POST en lugar de GET:
Figura 11. Procedencia de peticiones cross-site request forguery (CSRF). Fuente: Chess y West, 2007.
Ciberseguridad Web 24
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Para prevenirlo, se puede incluir algún campo que la aplicación pueda validar:
Figura 13. Procedencia de peticiones. Protección CSRF. Fuente: Chess y West, 2007.
HTTP response splitting, que consiste en incluir caracteres \r\n de retorno de carro y
de línea para generar una respuesta doble (Acunetix, 2020), que se ejecutará en el
Ciberseguridad Web 25
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
mismo es sin estado. Como HTTP es sin estado, construir casi cualquier tipo de
Los identificadores de sesión pueden ser pasados hacia adelante y hacia atrás como
parámetros URL, pero, hoy, la mayor parte de las aplicaciones manejan cookies, que
en la memoria del navegador con un espacio de 4096 bytes. La razón más común de
de ello y debe ser muy difícil para un atacante averiguar u obtener el identificador de
sesión para un usuario autenticado. Una buena gestión de sesión HTTP escoge
Ciberseguridad Web 26
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
Se recomienda visualizar la clase magistral Proyectos seguridad web, que repasa las
Accede al vídeo:https://unir.cloud.panopto.eu/Panopto/Pages/Embed.aspx?
id=e6ee03aa-ae9b-4061-a338-ae5d00af8813
Ciberseguridad Web 27
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
binitamayekar, 2019. (2019). Explain in detail AJAX Web Application Model with neat
diagram. https://www.ques10.com/p/29472/explain-in-detail-ajax-web-application-
model-wit-1/
Wesley.
https://ptgmedia.pearsoncmg.com/images/9780321424778/samplepages/978032142
4778.pdf
http://www.jtech.ua.es/j2ee/publico/spring-2012-13/sesion03-apuntes.html
http://www.swsec.com/resources/touchpoints/
Moeller, J. P. (2016). Security for web developers: using JavaScript, HTML and CSS.
O’Reilly Media.
Ciberseguridad Web 28
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave
https://www.owasp.org/index.php/Category:OWASP_CLASP_Project/es
content/uploads/2010/05/J2EEOPuntoNetVersionWeb.pdf
https://programacion.net/articulo/manual_basico_de_struts_156
McGraw Hill.
Ciberseguridad Web 29
Tema 4. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo
Ciberseguridad Web 30
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo
iDESWEB UA. (17 de noviembre de 2013). Ejecución de una aplicación web: modelo
Ciberseguridad Web 31
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo
binitamayekar. (2019). Explain in detail AJAX Web Application Model with neat
diagram. https://www.ques10.com/p/29472/explain-in-detail-ajax-web-application-
model-wit-1/
Ciberseguridad Web 32
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo
MEAN Stack
v=F_Mi3WHPrDw
AngularJS y Node.js.
Ciberseguridad Web 33
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo
Fazt. (15 de julio 2017). ¿What is the MVC Patter?, Simple explanation [Vídeo].
YouTube. https://www.youtube.com/watch?v=ANQDmqBYwns
Ciberseguridad Web 34
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo
de Vicente Mohino, J., Bermejo Higuera, J., Bermejo Higuera, J. R. y Sicilia Montalvo,
J. A. (2019). The Application of a New Secure Software Development Life Cycle (S-
1218. https://www.mdpi.com/2079-9292/8/11/1218
Hoy en día, los modelos ágiles están en auge. Se definen por la forma en que logran
de software que dé prioridad a los aspectos de seguridad en cualquier fase del ciclo
previsto para el proyecto, sin tiempo ni costos adicionales para el cliente, y aumentan
también de calidad.
Ciberseguridad Web 35
Tema 4. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test
disponibilidad e integridad.
D. A y B son correctas.
A. SDL.
B. CLASP.
C. Touchpoints.
3. ¿En qué fase se debe realizar un test de penetración a una aplicación web?
A. Diseño.
B. Desarrollo.
C. Despliegue o pruebas.
D. Producción.
B. El análisis de riesgos.
D. La A y la B.
Ciberseguridad Web 36
Tema 4. Test
© Universidad Internacional de La Rioja (UNIR)
Test
5. Antes del test de penetración, ¿qué actividades de seguridad hay que llevar a
cabo?
B. Modelado de amenazas.
A. SSDLC.
B. SGSI.
C. SQLI.
D. OWASP.
A. PUT.
B. GET.
C. POST.
D. CONNECT.
8. ¿Qué método HTTP permite obtener solo las cabeceras de la aplicación web?
A. PUT.
B. HEAD.
C. POST.
D. GET.
Ciberseguridad Web 37
Tema 4. Test
© Universidad Internacional de La Rioja (UNIR)
Test
A. GET.
B. POST
C. PUT
D. La A y la B son correctas.
Ciberseguridad Web 38
Tema 4. Test
© Universidad Internacional de La Rioja (UNIR)