Clase 5 - Desarrollo Seguro de Aplicaciones Web
Clase 5 - Desarrollo Seguro de Aplicaciones Web
Clase 5 - Desarrollo Seguro de Aplicaciones Web
Índice de Contenidos
2
Repaso Sesión Anterior
3
Repaso Sesión Anterior
4
Introducción
5
Introducción
La otra cara de la moneda es que, dado que estas aplicaciones están disponibles
desde cualquier lugar y por cualquier persona; son particularmente vulnerables
a los ataques. Cualquier organización que expone sus servicios informáticos a
redes de acceso tendrán que realizar un esfuerzo significativo para asegurar
que la información y recursos están protegidos.
9
Desarrollo Seguro de Aplicaciones Web
10
Desarrollo Seguro de Aplicaciones Web
14
Desarrollo Seguro de Aplicaciones Web
20
Desarrollo Seguro de Aplicaciones Web
26
Desarrollo Seguro de Aplicaciones Web
27
Desarrollo Seguro de Aplicaciones Web
32
Desarrollo Seguro de Aplicaciones Web
https://www.servidor.com/ver_elemento.php?id=3
36
Desarrollo Seguro de Aplicaciones Web
Cualquier sistema que tenga usuarios que pueden acceder a cierta información,
pero no a toda, o que puedan efectuar ciertas acciones sobre objetos (como su
consulta), pero no otras (como su modificación o eliminación), es susceptible de
este tipo de vulnerabilidad.
https://www.servidor.com/privado/lista_documentos.php
39
Desarrollo Seguro de Aplicaciones Web
https://www.servidor.com/privado/docs/documento1.pdf
46
Desarrollo Seguro de Aplicaciones Web
47
Desarrollo Seguro de Aplicaciones Web
48
Desarrollo Seguro de Aplicaciones Web
49
Desarrollo Seguro de Aplicaciones Web
50
Desarrollo Seguro de Aplicaciones Web
• Primero deben tener código PHP, ya que permite enlace a archivos remotos.
Actualmente se calcula que tres cuartas partes de las webs contienen código
PHP, entre ellas Facebook, Wikipedia, WordPress, etc.
52
Desarrollo Seguro de Aplicaciones Web
Seguridad en el navegador
Ningún aspecto de la seguridad de nuestra aplicación debe estar en el lado
cliente, en nuestro caso representado por el navegador web. Cualquier tipo de
filtrado, codificación, ofuscamiento, encriptación, validación, etc. es nulo en el
navegador.
Seguridad en el navegador
Debe recalcarse el hecho de que es indiferente que la petición sea "GET" o
"POST", ya que es un error común entre los programadores pensar que sólo los
parámetros "GET" son vulnerables o accesibles porque son visibles en la URL;
la realidad es que la forma de acceso tanto a unos como a otros presenta la
misma dificultad y los dos son igualmente manipulables.
Seguridad en el navegador
Tampoco suele funcionar intentar ofuscar el código, lo que puede hacerse de
dos maneras. La primera, modificar el código Javascript antes de servirlo, de
modo que los nombres de variables y funciones no tengan sentido alguno para
un humano si los lee. Y la segunda, modificar la estructura del código para
eliminar en lo posible espacios en blanco, tabuladores, saltos de línea, etc., con
intención de complicar el trabajo de alguien que intente averiguar qué hace
este código.
Seguridad en el navegador
Un segundo tipo de ofuscación consiste en convertir o codificar el código en
algo ilegible y sin interpretación algorítmica. Una vez el código se ha cargado en
el cliente, se utiliza una función inversa para devolver el código a su estado
legible e interpretarlo mediante alguna función como eval en Javascript o
similar. El problema es que esta función de inversión del código se encuentra en
el cliente, y por lo tanto puede ser utilizada por el atacante para conseguir el
mismo propósito, con lo que tampoco es una buena solución.
Seguridad en el navegador
Sin embargo, la asunción de que el código fuente no está disponible es
incorrecta. No está disponible en "Ver código fuente" en el navegador, pero las
tecnologías de applets como Java se basan en bytecodes fácilmente reversibles,
para los que hoy día hay muchos recursos en Internet o aplicaciones que a
partir de un applet permiten obtener su código fuente.
58
Desarrollo Seguro de Aplicaciones Web
Todo el equipo de desarrollo debe ser consciente del peligro potencial que
supone esta fuga de información, y por lo tanto las políticas y las guías de
desarrollo deben prohibir que se presenten mensajes de control de la
aplicación por pantalla. Si el programa produce una excepción y el programador
la captura y muestra un mensaje informativo por pantalla con detalles de por
qué se ha producido una excepción, el efecto es casi el mismo.
60
Protección de Datos Personales
61
Protección de Datos Personales
El progresivo aumento en el uso que han tenido en la última década las nuevas
tecnologías ha generado diversas industrias estructuradas en base al
tratamiento masivo de datos personales. Esta masificación en el tratamiento de
datos, junto con la complejidad y vulnerabilidad de los sistemas informáticos en
que operan, ha llevado a un aumento relevante en los riesgos para la seguridad
de esos datos y, junto con ello, para los derechos de las personas, a la vida
privada o la inviolabilidad de sus comunicaciones.
62
Protección de Datos Personales
64
Protección de Datos Personales
65
Protección de Datos Personales
67
Recuerde utilizar los foros de cada módulo
68
CLASE 5