Tema 5: fileC++, o Visual basic) u Bytecode Java 1. Java, JavaScript y Authenticode 1. Java,...
Transcript of Tema 5: fileC++, o Visual basic) u Bytecode Java 1. Java, JavaScript y Authenticode 1. Java,...
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 1
1
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Tema 5: WWW
1. Java, JavaScript y Authenticode2. Seguridad en Navegadores3. Seguridad del servidor www4. Servidores seguros con SSL
Índice del tema
2
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Fuentesn Garfinkel, Cap. 16n En español:
u http://www.dat.etsit.upm.es/~mmonjas/criptou SSL ⇒ http://www.iti.upv/seguridad
n En inglés:u www.w3.org/Security
Fuentes de consulta
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 2
3
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Objetivosn Conocer y comprender las diferencias - en
cuanto a riesgos de seguridad - dediferentes herramientas utilizadas en la weby como configurar los navegadores paraevitarlas
n Aprender los principales riesgos deseguridad en los servidores web
n Aprender lo que significan los servidoresseguros www y cómo identificarlos
Objetivos del tema
4
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Java y JavaScriptn Lenguajes de programación que permiten
escribir páginas web interactivasn Los programas pueden ejecutarse en el
cliente o en el servidorn Tienen una sintaxis muy parecida al C++n Poseen diferentes implicaciones de
seguridad
1. Java, JavaScript y Authenticode
1. Java, javascript y Authenticode
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 3
5
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Java - Componentesn Máquina Virtual Java (JVM)
u Ejecuta el código en un entorno protegidou El ámbito de actuación está definido en el cliente
por una política de seguridad:F URL origenF Firma digital del código
n Conjunto de bytecodes interpretados por la JVMu Permiten ejecutar el mismo código en clienetes
con distinto s.o.n Lenguaje de alto nivel orientado a objetos
u Similar al C, pero sin punteros
1. Java, JavaScript y Authenticode
1. Java, javascript y Authenticode
6
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
JavaScriptn Lenguaje de programación de propósito generaln Desarrollado por Netscape para dotar de
animación y otras formas de interacción a laspáginas html
n Permite (entre otras cosas):u Crear nuevas ventanasu Modificar el contenido de páginas html
n Pero no permite ... en principio:u Acceder directamente al sistema de ficheros del
computador clienteF Agujero Netscape: www.nat.bg/∼joro/nsfind.html
u Abrir conexiones a otro computador en la red1. Java, javascript y Authenticode
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 4
7
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Problemas de seguridad conJavaScript
n Ataques de denegación de servicion Vulneraciones de la privacidad
u Al ejecutarse en el navegador tiene acceso a lamisma información que él y puede enviarla através del correo
F Listas de URLs visitados, direcciones e-mailF Demo:
http://www.iec.csic.es/criptonomicon/enviomail.htmln Suplantaciones
u Mediante ventanas con un identificador equívoco
1. Java, javascript y Authenticode
8
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
ActiveXn Colección de tecnologías, protocolos y
APIS desarrollados por Microsoftn Permiten cargar código ejecutable desde
Internet, en un único fichero ⇒ controlActiveX
n El fichero tiene la extensión OCXn Pueden contener:
u Código máquina nativo. (Escritos en C,C++, o Visual basic)
u Bytecode Java
1. Java, JavaScript y Authenticode
1. Java, javascript y Authenticode
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 5
9
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Authenticoden Tecnología que permite firmar digitalmente
controles ActiveXn Iexplorer puede configurarse para:
u Rechazar controles ActiveX no firmadosu Aceptar sólo los firmados por fabricantes
de software específicosu Aceptar los firmados por cualquier
fabricante de software registrado
1. Java, javascript y Authenticode
10
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
2. Seguridad en el cliente (I)n Los visores asociados al navegador
pueden ejecutar código de formaautomáticau Posibilidad de virus y caballos de Troya
F Por ejemplo: código psn Cookies, ¿riesgo para la privacidad?n Fallos de seguridad de Java, JavaScript,
ActiveX
2. Seguridad en el cliente
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 6
11
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Seguridad en el cliente (II)n El propio navegador permite acceder a
información sobre nuestro sistema local:u Tipo de navegador, sistema operativo,
dirección e-mail, etc.u Demos:
F http://www.iec.csic.es/criptonomicon/info.htmlF http://www.anonymizer.com/3.0/snoop.cgi
n Solución:u Servicios de navegación anónima
F http://www.anonymizer.com/3.0/snop.cgiu Proxys
2. Seguridad en el cliente
12
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
¿Qué son las cookies?n Herramienta utilizada por los servidores web para
almacenar información sobre sus visitantesu Permiten conservar información entre peticiones del
cliente:F Preferencias del usuario para visualizar la página,
nombre y contraseña, productos de interés, etc.
n Fichero de texto que el servidor solicita al navegadorque escriba en nuestro disco durou El cliente devolverá la información al servidor cuando
éste se lo soliciten Sólo pueden leerlas las máquinas correspondientes
al dominio de la cookie
2. Seguridad en el cliente
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 7
13
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Un fichero de cookies conNavigator
2. Seguridad en el cliente
14
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Cookies - Riesgosimaginariosn No pueden:
u Introducir virus en el ordenadorF No contienen código ejecutable
u Extraer datos de nuestro disco duroF Dirección e-mail o información sobre
archivosu Hacer que el servidor web escriba en
nuestro disco duroF Es el navegador el que realiza las acciones
de escribir y enviar posteriormente la cookie
2. Seguridad en el cliente
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 8
15
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Cookies - Riesgo deseguridad
n Permiten acceder - físicamente o a travésde la red local - a información almacenadaen nuestro servidor y acceder a losservicios a los que esta da acceso
n Permiten el almacenamiento de perfilespersonalizados de usuario para establecerperfiles de ventas
2. Seguridad en el cliente
16
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Aplicaciones de las cookiesn Usos bien vistos:
u Personalización de las páginas web según losgustos del usuario
u Elección del idiomau Tiendas electrónicasu Carritos de la compra
n Usos no tan bien vistos:u Seguimiento de las visitas a un webu Carteles publicitariosu Marketing personalizadou Almacenamiento de santo y señau Almacenamiento de información sensible
2. Seguridad en el cliente
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 9
17
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
3. Seguridad del servidor wwwn Presenta muchos problemas:
u Un atacante puede aprovechar errores delservidor o de los programas CGI paraconseguir acceso al sistema
u Información confidencial almacenada en elservidor puede distribuirse a usuarios noautorizados
u Posibles escuchas de informaciónconfidencial mientras se transmite entrecliente y servidor
3. Seguridad del servidor
18
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
CGI’s (Common Gateway Interface)
n Protocolo que permite ejecutar programas(o scripts) en el servidor a petición delcliente
n ¿Conflictivos? …Síu La mayoría aceptan parámetros que pueden
suponer riesgos de seguridad:F Ejecución de comandos imprevistosF Revelación de información del servidor
3. Seguridad del servidor
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 10
19
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
CGI’s seguros - Objetivosn El programa debe ejecutar SOLAMENTE
las aplicaciones para las que ha sidoconcebido
n No se debe revelar más información alcliente que la que deliberadamente sedesee suministrar
n No se debe confiar en la informaciónsuministrada por el cliente
n Se debe minimizar el daño al sistema si seproduce un ataque con éxito
3. Seguridad del servidor
20
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Para asegurar el servidorn El servidor será más seguro si:
u El servidor se ejecuta sólo y no en compañíade otras aplicaciones otras aplicaciones
u No tiene accesibles lenguajes scriptu No soporta loggins remotos
F Si los soporta los usuarios no deben poderejecutar órdenes del shell ni progarmas
u Por todo lo anterior, como s.o. una elecciónmejor que Unix o Windows es Apple
u Los CGIs que se ejecuten ejecutan la funciónesperada o devolver un mensaje de error
3. Seguridad del servidor
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 11
21
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
El UID del servidorn ¿Con qué usuario ejecutamos el servidor?
u La mayoría se lanzan como root parapoder acceder al puerto 80 y escribir losficheros log
u Al establecer la conexión lanzan unproceso hijo que se encarga de atenderla
F NO DEBEN atenderse las peticiones comoroot
F El proceso hijo cambia su ID de usuarioefectivo a “nobody” (o similar) antes deatender la petición
3. Seguridad del servidor
22
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Permisos de los directoriosn Al crear (o modificar) un directorio en el
servidor hay que asignar unos permisosde acceso
Contenido del directorio Permisos
Páginas estáticas y recursos(imágenes, iconos, fondos, etc.)
Lectura
Bases de datos Lectura y escritura
Progs. CGI, ISAPI, etc. Ejecución
Páginas ASP Lectura y ejecución
3. Seguridad del servidor
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 12
23
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Acceso restringido al servidorn Tres posibilidades:
u Por direcciones IP, subredes o dominiosDNS
u Usuarios particulares que se autenticanmediante un password
u Acceso controlado mediante clave públicay certificado
3. Seguridad del servidor
24
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
5. Servidores segurosn Utilizan criptografía para asegurar la
privacidad y la integridad de la informaciónu Para ello pueden emplear SSL (lo más
frecuente)u S-HTTP (poco utilizado)
n Requieren el uso de certificados
4. Servidores seguros
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 13
25
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Cómo estar seguro de laidentidad del servidor seguron Enviar nuestros datos a un impostor - aunque
estén cifrados - puede resultar peligroson La identidad del servidor puede asegurarse
mediante un certificado de una autoridad decertificación (AC) FIABLE
n El certificado se concede después decomprobar una serie de referenciasu Se construye a partir de la clave pública del
servidor solicitante, incluye datos básicos delmismo (nombre, etc.) y se firma con la claveprivada de la AC
4. Servidores seguros
26
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Requisitos para poder trabajarcon un servidor seguron Un certificado de una autoridad de
certificación fiable extendido a su nombren Una implementación adecuada del
navegadoru SSL 3.0 la v2.0 no es recomendable
n Un sistema de cifrado simétrico robustou RC4 o similar (RC2 no es recomendable)u con clave lo bastante larga (al menos 128
bits)
4. Servidores seguros
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 14
27
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Añadiendo nuevas ACs alnavegadorn Si el certificado del servidor no fue firmado
por una AC incluida en el navegadorexiste la posibilidad de añadir el certificadode dicha ACu Esto permite verificar los certificados de
servidor emitidos por esa autoridad
4. Servidores seguros
28
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Páginas SSL en el navegador
n ¡OJO! El candado cerrado no garantiza unacomunicación segura. Es necesario comprobarel certificado
Elvira Baydal Cardona 08/05/00
Tema 1: Introducción 15
29
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
SSL e IE 4.01
30
Te
ma
4
:
Se
gu
ri
da
d
en
T
CP
/I
P
Problemas con el certificado deun servidor
n Fechas de inicio devalidez y de caducidad
n Nombre de dominioerróneo
u Posibilidad de ataquemediante DNS spoofing
F IExplorer ⇒ Activarcomprobación denombres
5. Seguridad en WWW