Tema 5: fileC++, o Visual basic) u Bytecode Java 1. Java, JavaScript y Authenticode 1. Java,...

16
Elvira Baydal Cardona 08/05/00 Tema 1: Introducción 1 1 T e m a Tema 5: WWW 1. Java, JavaScript y Authenticode 2. Seguridad en Navegadores 3. Seguridad del servidor www 4. Servidores seguros con SSL Índice del tema 2 T e m a Fuentes n Garfinkel, Cap. 16 n En español: u http://www.dat.etsit.upm.es/~mmonjas/cripto u SSL http://www.iti.upv/seguridad n En inglés: u www.w3.org/Security Fuentes de consulta

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

Elvira Baydal Cardona 08/05/00

Tema 1: Introducción 16

31

Te

ma

4

:

Se

gu

ri

da

d

en

T

CP

/I

P

Cómo ver el certificado de unservidor

n Navigatoru View ⇒

Page Infon IExplorer

u Archivos ⇒Propiedades⇒Certificados

4. Servidores seguros