Resumen Temario UOC Asignatura SRC/SXC
Resumen Temario UOC Asignatura SRC/SXC
Resumen Temario UOC Asignatura SRC/SXC
TEMA 1
Actividades previas a la realizacin de un ataque
Antes de atacar un equipo es necesario conocer al objetivo. Para recopilar toda la
informacin posible, existen una serie de tecnicas y herramientas como ping, traceroute,
whois, finger, etc que pueden usarse para recopilar informacin, por ejemplo, el comando
ping ayuda a detectar equipos activos y con un traceroute se puede detectar los
cortafuegos.
Otra herramienta importante para averiguar los nombres de usuarios que tienen acceso a
un equipo es el finger, una vez conseguido estas cuentas se puede probar distintas
contraseas para intentar acceder mediante Telnet o ssh.
A parte de recopilar informacin sobre los equipos, tambin se suele recopilar informacin
sobre la organizacin o empresa a atacar. Para empezar se puede empezar a consultar la
informacin de dominio mediante consultas DNS con Whois. Si los servidores de DNS
estn mal configurados, se podran hacer transferencias zona para obtener toda la
informacin de traducciones de direcciones IP a nombre de maquina.
Otra fuente de informacin pueden ser las cadenas de texto que generalmente aparecen al
conectarse a un determinado servicio. Estas cadenas de texto pueden indicar el nombre y
la versin de la aplicacin que se esta ejecutando en el equipo.
Tambin se puede sacar informacin haciendo consultas en grupos de noticias y
buscadores, por ejemplo, hacer una bsqueda @visctima.com en google.com puede
ofrecer al atacante detalles de inters, como los SO existentes en la red, tecnologas y
servidores utilizados, etc.
A parte de la utilizacin de las herramientas anteriores, existen tecnicas mas avanzadas
que permiten extraer informacin mas precisa de un sistema de red, a estas tecnicas se las
conoce como fingerprinting (bsqueda de huellas identificativas), por ejemplo:
Identificacin de mecanismos de control TCP
La huella identificativa que un atacante querra obtener de los sistemas de una red hace
referencia a toda aquella informacin de la implementacin de pila TCP/IP.
En primer lugar, esta informacin le permitira descubrir de una manera muy fiable el SO
que se esta ejecutando en la maquina analizada, permitiendo de esta manera, que el
atacante use exploits que aproveche algn bug en el software detectado antes.
La mayor parte de las tecnicas para obtener esta huella identificativa se basan en la
informacin de la pila TCP/IP que puede obtenerse a partir de los mecanismos de control
del establecimiento de tres vias de TCP/IP. Como la interpretacin de la RFC varan de un
SO a otro, la probabilidad de acertar un SO es muy elevada.
Para poder capturar el trfico, el sniffer desactiva su filtro MAC poniendo la tarjeta en
modo promiscuo. Una solucin para evitar este ataque consiste en la segmentacin de la
red con conmutadores (switches).
Al segmentar la red y los equipos, el nico trafico que tendran que ver las maquinas seria
el que les pertenece, aun as, existen tecnicas como la de suplantacin de ARP para
capturar el trafico en entornos conmutados. Esta consiste en que envenenando la tabla
ARP de los equipos involucrados en la comunicacin que se quiere capturar, se puede
conseguir que el conmutador les haga llegar los paquetes. Si el engao es posible, cuando
las dos maquinas empiecen la comunicacin, enviaran sus paquetes hacia la maquina
donde esta el sniffer. Este, para no descubrir el engao, se encargara de encaminar el
trfico interceptado hasta sus destinos.
Una posible solucin para este ataque es usar direcciones MAC estticas.
Fragmentacin IP
La fragmentacin puede causar varios problemas de seguridad permitiendo burlar las
tecnicas bsicas de inspeccin de datagramas. Un atacante puede provocar
intencionadamente una fragmentacin en los datagramas que enva a nuestra red con el
objetivo de que pasen desapercibidos por diferentes dispositivos de prevencin y deteccin
de ataques que no tienen implementado el proceso de fragmentacin y reensamblado de
datagramas IP. Por ejemplo, los routers, las decisiones para bloquear paquetes suelen estar
basadas en la informacin de cabecera de los paquetes (puertos, banderas de TCP, etc).
Esto significa que los paquetes TCP y UDP fragmentados son susceptibles de burlar
aquellos dispositivos que no implementen el proceso de reensamblado.
Para evitar este ataque se puede implementar o activar el proceso de fragmentacin y
reensamblado de paquetes en dispositivos de prevencin y deteccin, aunque esto seria
muy costoso en recursos.
La MTU por defecto de un datagrama IP para una red Ethernet es de 1500 bytes. As pues,
si un datagrama IP es mayor a este tamao y necesita circular por este tipo de red, sera
necesario fragmentarlo por medio del encaminador que dirige la red.
La cabecera IP siempre valdr 20 bytes por lo que nos queda 1480 bytes para los datos si
no es ICMP, si fuera un paquete ICMP habra que restar 8 bytes de la cabecera ICMP con
lo que nos quedara 1472 bytes de datos ICMP. La cabecera IP original se clonara para que
contenga un identificador de fragmentos idntico tanto para el primer como para el resto
de fragmentos.
El primer fragmento es el nico que contendr la cabecera del mensaje ICMP. Esta no ser
clonada en los fragmentos posteriores.
Ejemplo:
Dibujad la estructura de todos los fragmentos que resultarn de la comunicacin del
siguiente datagrama IP a travs de una red con MTU de 550 bytes, detallando el valor
de los campos de la cabecera relacionados con la fragmentacin (*offset, longitud y bit
de ms fragmentos).
Explicacin:
Tenemos que mandar un paquete de 2000 bytes (2000-20 bytes) = 1980 bytes de datos. El
tamao de la MTU es de 550 bytes.
550 bytes -20 = 530
Comprobamos si 530 es mltiplo de 8:
530 /8 =66.25 No vale
528 /8 = 66 Si vale. Por tanto enviaremos todo el tiempo que se pueda 528 bytes
El campo Longitud especifica los datos que se envan en cada paquete(hasta 1980 bytes)
El campo Offset es la suma de la primera longitud.
MF es siempre 1 menos el ultimo fragmento.
1. FRAGMENTO
Offset=0
Longitud =528
MF=1
2. FRAGMENTO
Offset =528
Longitud = 528
MF = 1
3. FRAGMENTO
Offset = 1056
Longitud = 528
MF =1
4. FRAGMENTO
Offset = 1584
Longitud 396
MF=0
DoS
Definimos denegacin de servicio como la imposibilidad de acceder a un recurso o
servicio por parte de un usuario legitimo. Un ataque DoS puede ser provocado por
usuarios internos o externos. Hay distintos tipos de ataques DoS:
Smurf: es una variante del anterior pero realizando una suplantacin de las
direcciones de origen y destino de una peticin ICMP del tipo echo-request. Como
Tcp/syn flooding: este ataque se aprovecha del nmero de conexiones que estn
esperando para establecer un servicio en particular para conseguir la denegacin
del servicio. Cuando un atacante configura una inundacin de paquetes SYN de
TCP, no tiene ninguna intencin de complementar el protocolo de intercambio, ni
de establecer la conexin. Su objetivo s exceder los limites establecidos para el
numero de conexiones que estn a la espera de establecerse para un servicio dado.
Esto hace que el equipo victima sea incapaz de establecer cualquier conexin
adicional para este servicio hasta que las conexiones que estn a la espera bajen el
umbral. Como el nico propsito de la tcnica es saturar la cola se suele falsificar
la ip_origen.
Ping of death: este se basa en construir un datagrama IP mayor que 65535 bytes,
fragmentado en N trozos con el objetivo de provocar incoherencias en el proceso
de reensamblado y causar la degradacin total del sistema atacado.
Ataques distribuidos
Es un ataque DoS en el que existen mltiples equipos sincronizados de forma distribuida
que se unen para atacar un mismo objetivo. Algunos ejemplos son:
El primer paso para realizar un ataque con TRIN00 consiste en la instalacin de las
herramientas en los equipos desde los que partir el ataque. Para ello, el atacante
necesitara obtener privilegios de administrador en estos equipos.
La comunicacin entre las distintas herramientas ser TCP para atacante-master, y
con conexiones UDP para la parte master-slave y siempre ser con contrasea.
Los demonios de TRIN00 situados en los equipos master y slave permiten la
ejecucin de comandos para iniciar, detener y controlar ataques DoS tradicionales.
Tribe flood network (TFN): es muy parecido a TRINI las nicas diferencias es
que la comunicacin con los demonios es sin contrasea y el control de la red TFN
se consigue con la ejecucin directa de comandos utilizando conexiones clienteservidor basadas en paquetes ICMP de tipo echo-reply para as pasar desapercibido
para los mecanismos de deteccin de ataques.
Shaft: es otro grupo de herramientas, similar a las anteriores. Los master se llaman
shaftmasters que gobiernan a su vez diversos slave (Shaftnodes).
El atacante se conecta mediante un programa cliente a los Shaftmasters desde
donde se inicia, controla y finaliza los ataques distribuidos.
Shaft utiliza mensajes UDP para transmitir informacin entre los Shaftmaster y
Shaftnodes. Por eso usa tickets para poder mantener ordenada la comunicacin y
asignar a cada paquete una orden de secuencia. Por otra parte, el atacante se
conecta va Telnet a un ShaftMaster utilizando TCP. Una vez conectado, utilizara
una contrasea para autorizar su acceso.
Tribe Flood Network 2000: es una revision de la herramienta TFN igual que las
anteriores, lo unico es que tiene algunas caracteristicas adicionales como que todos
los comandos van cifrados o la comunicacin es por TCP , UDP o ICMP o los tres
a la vez.
EJERCICIOS
Un ataque de denegacin de servicio (DoS) es un incidente en el cual un usuario u
organizacin es privado de los servicios de un recurso. En lo referente a este tema,
responded de forma razonada a las siguientes cuestiones:
1.1 Por qu los ataques de denegacin del servicio son tanto peligrosos?
La peligrosidad de los ataques de denegacin de servicio viene dada por independencia
de plataforma. Como sabemos, el protocolo IP permite una comunicacin homognea
(independiente del tipo de ordenador o fabricante) a travs de espacios heterogneos
(redes Ethernet, ATM, . . . ). Por ello, un ataque con xito contra el protocolo IP se
convierte inmediatamente en una amenaza real para todos los equipos conectados a la
red, independientemente de qu plataforma utilicen.
1.2 Indica qu dispositivos utilizaras para evitarlos
1.3 Busca y explica con tus palabras qu son los Backscatters. Crees que se
podran utilizar de forma positiva?
Se conoce por Backscatter a los paquetes de respuesta que enva un equipo que
est bajo un DoS. Estos Backscatter normalmente son enviados a un conjunto de
mquinas con IPs falseadas por el atacante.
Si, se pueden utilizar de forma positiva. Si observamos un gran nmero de paquetes
backscatters que vienen desde una misma mquina, podemos saber que esta
mquina est sufriendo un DoS. Una tcnica para detectarlo fcilmente es el uso de
greynets o sparse darknets (conjuntos de redes de IPs que no se usan pero se
observa que empiezan a recibir trfico).
TEMA 2
Cortafuegos
Los sistemas cortafuegos son un mecanismo de control de acceso sobre la capa de red
Estos estn encargados de separar redes informticas, efectuando un control del trafico
existente entre ellas, permitiendo o bloqueando el paso de una red a otra.
Las tecnologas mas utilizadas para construir un cortafuego son:
Zonas desmilitarizadas
Un equipo bastin es un equipo que ha sido fuertemente protegido para soportar los
supuestos ataques desde un lugar hostil y que acta como punto de contacto entre el
interior y el exterior de una red.
Una arquitectura de cortafuegos dual-homed se construye mediante el uso de un equipo
dual-homed con la capacidad de encaminamiento desactivada. De esta forma, los paquetes
IP de un extremo de la red (la parte hostil) no sern encaminados hacia la parte protegida,
y viceversa, a no ser que se indique lo contrario.
Mediante esta arquitectura, los equipos de la red interna se pueden comunicar con el
equipo dual-homed, los equipos de la red externa pueden comunicarse con el equipo dualhomed, pero los equipos de la red interna y externa no se pueden poner en contacto
directamente.
Esto hace que un cortafuego con arquitectura dual-homed sea un punto crtico en la
seguridad. Si un atacante consigue comprometer a cualquiera de los servidores que se
encuentra detrs, las otras maquinas podrn ser atacadas sin ninguna restriccin desde el
equipo que acaba de ser comprometido. Para evitar esto, habra que introducir una zona
DMZ para que en el caso de que un atacante consiguiese entrar en uno de los servidores de
la zona DMZ, no podra atacar una estacin de trabajo.
En la siguiente figura vemos el uso de un encaminador con filtrado de paquetes junto con
un servidor intermedio para el establecimiento de una DMZ.
10
Otra forma de solucionar los mismos problemas consiste en utilizar un sistema que
implemente inspeccin de estados en el filtro de paquetes.
La inspeccin de estados combina el rendimiento de los filtros de paquetes con la
seguridad adicional que presenta la utilizacin de servidores intermedios.
En la siguiente figura se ilustra la implantacin de un equipo bastin con arquitectura de
cortafuegos dual-homed y con implantacin de inspeccin de estados.
A parte de proporcionar seguridad, los cortafuegos tambin ofrecen otros servicios como:
Filtrado de contenidos.
Red privada virtual (VPN)
NAT
Balanceo de carga
Tolerancia a fallos
Deteccin de ataques e intrusiones
Autenticacin de usuarios
11
IPTABLES
El ncleo empieza con tres listas de reglas llamadas cadenas. Estas son, INPUT, OUTPUT
y FORWARD. La cadena INPUT es para el trafico que entra a la propia maquina
cortafuegos, la cadena OUTPUT es para todo el trafico que sale y la cadena FORWARD es
para todo el trafico que va a otras maquinas.
Las cadenas de uso interno INPUT, OUTPUT y FORWARD no se pueden borrar. Tambin
podemos crear cadenas nuevas. Con ellas podemos hacer:
1.
2.
3.
4.
5.
6.
12
Vaca de reglas
una cadena
Borra una
cadena vaca
Crea una nueva
cadena
Pone los
contadores a
cero
Borra la
primera regla
de la cadena
INPUT
Iptables F
Iptables X
Iptables N
Iptables Z
Iptables D INPUT 1
Iptables t nat F
Iptables A OUTPUT p icmp --icmp-type 0 J ACCEPT
Iptables A INPUT p icmp --icmp-type 8 J ACCEPT
Estas dos
reglas permiten
hacer ping
Permite
consultas DNS
al servidor
192.12.1.1
Permite el
trafico a
Internet
Permite el
establecimiento
de conexiones
Permitimos a
10.0.0.1 las
conexiones
TCP en los
puerto del 2022(FTP)
Permite todo el
trafico TCP 90
de entrada que
venga de la
direccin
10.0.0.1 y vaya
a la 20.0.0.1
del puerto 80
Se descarta
cualquier
fragmento
dirigido a
10.0.0.1
13
EJERCICIOS
Enunciado
Pregunta 1 (25%) (Teora)
14
TEMA 3
La criptografa estudia desde el punto de vista matemtico como proteger la informacin y
el criptoanlisis estudia como romper la criptografa. Estas dos disciplinas se llaman
cristologa.
Cuando queremos proteger la informacin, es decir, cuando queremos confidencialidad
utilizamos el cifrado.
Criptografa de clave simtrica
En estos la clave de cifrado y descifrado es la misma. Por tanto, la seguridad del sistema
recae en mantener en secreto la clave.
Dentro de la criptografa de clave simtrica tenemos dos tipos de algoritmos distintos:
15
16
Con el cifrado, si dos bloques de texto en claro son iguales y se utiliza la misma
clave, los bloques cifrados tambin sern iguales. Para evitar esto, se pueden
aplicar distintos modos de operacin:
o El modo ECB: consiste en dividir el texto en bloques y cifrar cada uno de
ellos de forma independiente. Este modo parte del problema de dar bloques
iguales cuando en la entrada existen bloques iguales. Si hay un error en un
bloque cifrado, solamente se ve afectado ese bloque.
o Modo CBC: se suma a cada bloque de texto en claro, antes de cifrarlo, el
bloque cifrado anterior. Al primer bloque s ele suma un vector de
inicializacin, que es un conjunto de bits aleatorios de la misma longitud
que un bloque. Escogiendo vectores distintos cada vez, aunque el texto en
claro sea el mismo, los datos cifrados seran distintos. Con este mtodo si
hay un error en el cifrado, este se propaga.
o Modo CFB: el algoritmo de cifrado no se aplica directamente al texto en
claro sino a un vector auxiliar. Del resultado del cifrado se toman n bits que
se suman a n bits del texto en claro para obtener n bits de texto cifrado.
Estos bits cifrados tambin se utilizan para actualizar el vector auxiliar.
o Modo OFB: opera como el CFB pero en lugar de actualizar el vector
auxiliar con el texto cifrado, se actualiza con el resultado obtenido del
algoritmo de cifrado. La propiedad que distingue este modo de los demas
consiste en que un error en la recuperacion de un bit cifrado afecta
solamente al descifrado de este bit.
Existe otra tecnica para evitar que textos de entrada iguales produzcan textos
cifrados iguales y es aadiendo bits de sal a la clave simetrica antes de usarla para
cifrar
Funciones hash seguras
Hay algoritmos que se usan para garantizar la autenticidad de los mensajes como las
funciones hash seguras (funciones de resumen de mensaje).
Una funcin hash nos permite obtener una cadena de bits de longitud fija (relativamente
corta), a partir de un mensaje de longitud arbitraria.
Para poderla aplicar a un sistema de autenticacin, la funcin x debe ser segura. Una
funcin hash es segura si:
18
identifican mediante un atributo distintivo. A nivel global, cada objeto se identifica con un
nombre distintivo (DN), que no es ms que la concatenacin de los atributos distintivos
que hay en la raz del rbol y el objeto en cuestin. Algunos ejemplos de tipos de atributos
que se pueden usar como atributos distintivos en un DN son: cn(country name),l
(localidad) , o(organizacin), cn(common name) .
Un certificado tiene los siguientes campos:
generar
secuencialmente,
aleatoriamente
IPSEC
Ipsec aade servicios de seguridad a IP. Ipsec usa dos protocolos:
El trafico ipsec puede pasar por nodos intermedios que no soporten ipsec. La relacin que
se establece entre dos nodos que se envan datagramas se llama asociacin de seguridad
(SA) y esta asociacin puede ser:
Protocolo AH
Next header Payload Reservado
SPI
Nsecuencia
Datos autenticaciom
Next header: sirve para indicar a que protocolo corresponden los datos que viene a
continuacin de la cabecera AH.
Payload: indica la longitud de la cabecera
SPI: es el numero que identifica a la SA
Nsecuencia: se usa para dar el servicio de proteccin contra repeticin
Datos autenticados: contiene un cdigo de autenticacin, por ejemplo un cdigo
MAC, calculado segn el algoritmo que corresponda a esta SA.
Protocolo ESP
SPI
Nsecuencia
Payload+padding
Datos autenticaciom
21
La arquitectura de IPSEC define dos modos de uso y depende de cmo se incluyan las
cabeceras en el datagrama IP. Estos son:
En el caso de que haya 2 SA entre los mismos nodos de origen y destino una con AH y
otra con ESP es aconsejable aplicar primero ESP y luego AH, de esta manera la
autenticacin se extender a todo el datagrama.
AH en modo transporte
Cabecera IP Cabecera AH Datos
ESP en modo transporte
Cabecera IP Cabecera ESP Datos Trailer ESP Autenticacin ESP
AH en modo tunel
Cabecera IP nueva Cabecera AH Cabecera IP original Datos
Cabecera IP
nueva
Cabecera
ESP
Trailer
ESP
Autenticacin
ESP
SSL/TLS
Ssl proporciona proteccin a la capa de transporte (TCP 443). El objetivo de este es
proteger las conexiones entre clientes y servidores Web con el protocolo http.
Los servicios de seguridad que proporciona ssl son:
El protocolo de registros es el que permite que los datos protegidos sean convenientemente
codificados por el emisor e interpretados por el receptor. Este se encarga de formar cada
registro con sus campos correspondientes, calcular el MAC, y cifrar los datos.
Formato de los registros SSL/TLS
Tipo de contenido Versin SSL Longitu Datos MAC Padding LP
d
23
El campo contenido tendr unos determinados campos dependiendo del tipo de mensaje
que son:
1. Peticin de saludo (Hello Request)
Cuando se establece una conexin, el servidor normalmente espera que el cliente
inicie la negociacin, pero puede enviar este mensaje para indicar al cliente que
esta preparado para empezar
2. Saludo de cliente (Client hello)
El cliente enva este mensaje para empezar o respuesta al anterior, este mensaje
tiene la siguiente informacin:
se usara como secreto pre-maestro, cifrada con la clave pblica del servidor.
Entonces, cliente y servidor calculan el secreto maestro aplicando funciones hash
al secreto pre-maestro. A partir del secreto maestro se obtiene la dos claves
simtricas, las dos claves MAC y los dos vectores de inicializacin para el cifrado
en bloque.
9. Verificacin de certificado (Certificate Verify)
Si el cliente ha mandado un certificado, ya puede autenticarse demostrando que
tiene la clave privada. Este mensaje tiene una firma, generada con la clave privada
del cliente.
10. Finalizacin (Finished)
Cada parte manda a la otra una notificacin de cambio de cifrado seguida de un
mensaje Finished. La notificacin de cambio de cifrado sirve para indicar que el
siguiente mensaje ser el primero enviado con los nuevos algoritmos y claves. Este
mensaje lo enva normalmente primero el cliente.
SSl esta preparado para resistir los siguientes ataques:
Lectura de los paquetes: los paquetes van cifrado y las claves simtricas que se
usan para cifrar el trafico ha sido intercambiada con certificado publico por lo que
es mas que difcil escuchar el trafico, sin embargo, si no hay autenticacin cliente
ni servidor, si seria posible capturar las claves secretas con hombre en el medio
Suplantacin de servidor o cliente: Cuando se realiza la autenticacin de servidor
o cliente, el certificado digital debidamente firmado por la CA sirve para verificar
la identidad de su propietario. Un atacante que quiera hacerse pasar por el servidor
(o cliente) autentico debera obtener su clave privada, o bien la de la autoridad de
certificacin que ha emitido el certificado para poder generar otro con una clave
publica diferente y que parezca autentico.
Alteracin de los paquetes: si un atacante alterase un paquete, el receptor
detectara que el paquete ha sido alterado porque el cdigo MAC . Si la alteracin
se realizase en los mensajes de negociacin cuando aun no se aplica ningn cdigo
MAC, seria detectada en la verificacin de los mensajes Finished.
Repeticin, eliminacin o reordenacin de paquetes: si un atacante reenva un
paquete, o suprime o los cambia de orden, el receptor lo detectara porque los
cdigos MAC no coincidirn con el valor esperado ya que en el calculo MAC se
utiliza un numero de secuencia que se va incrementando en cada paquete.
VPN
Una VPN es una red logica o virtual creada sobre una infraestructura compartida, pero que
proporciona los servicios de proteccion necesarios para una comunicacin segura.
Hay tres tipos de VPN:
VPN entre redes locales o intranets: el cliente conecta las redes locales de
diferentes sedes. En esta en cada intranet hay una pasarela VPN que se conecta la
25
red local con Internet. Esta pasarela se comunica con las otras intranets, aplicando
el cifrado y las protecciones que sean necesarias. Cuando los paquetes llegan a la
intranet de destino, la pasarela correspondiente los descifra y los reenvia por la red
local hasta el ordenador.
VPN de acceso remoto o VPDN: un empleado se conecta desde su casa a la
intranet de la empresa usando un porttil o un PC usando cualquier acceso a
Internet. El ordenador del usuario ha de disponer de software cliente VPN para
comunicarse con la pasarela VPN de la intranet y llevar a cabo la autenticacin,
cifrado, etc.
VPN extranet: la empresa permite que clientes o gente de fuera se conecte a la
intranet de la sede. En esta, el control de acceso es mas restrictivo.
Hay protocolos que pueden ser utilizados para establecer los tneles, dependiendo del
nivel de la comunicacin al cual se quiera realizar la proteccin:
Tneles a nivel de red: se suele usar IPSEC en modo tnel, con ESP para cifrar y
opcionalmente con AH para autenticar los paquetes.
Tneles a nivel de enlace: en el caso de las VPN de acceso remoto o VPDN existe
la posibilidad de encapsular tramas PPP, que son las que transmite normalmente un
cliente VPN de este tipo, sobre datagramas IP. Hay diversas opciones para
encapsular PPP sobre IP:
o PPTP: especifica una tcnica para el encapsulamiento de tramas PPP pero
no aade servicios de autenticacin.
o L2F: es parecido al PPTP pero tambin puede trabajar con SLIP a mas de
PPP. Para la autenticacin puede utilizar protocolos auxiliares como
RADIUS
o L2TP: combina las funcionalidades que ofrecen PPTP y L2F.
Tneles a nivel de transporte: ssh puede redirigir puertos TCP sobre un canal
seguro
EJERCICIOS
a) En qu consisten los modos de operacin ECB y CBC. Cul es la ventaja del
segundo con respecto al primero?
El modo de operacin ECB (Electronic CodeBook) consiste en dividir el texto en bloques
y cifrar cada uno de manera independiente.
En el modo de operacin CBC (cifra Block Chaining), antes de cifrar cada bloque de
texto en claro se le suma (bit a bit con XOR) el bloque cifrado anterior. En el primer
bloque se le suma un vector aleatorio.
A diferencia del ECB, bloques iguales darn cifrados diferentes.
b) Qu hace que una funcin de hash sea considerada segura?
Se entiende que una funcin hash o resumen es segura si cumple estas condiciones:
26
TEMA 4
SSH
Es una herramienta de acceso remoto que ofrece los siguientes servicios de seguridad:
27
Capa de transporte
Ssh se divide en dos subcapas.
La compresin
El cdigo MAC
El cifrado
son los de intercambio de claves, y depende del algoritmo escogido(ssh solo Diffie
Hellman). Una vez finalizado el intercambio de claves cada parte enva un mensaje
NEWKEYS para indicar que el siguiente paquete ser el primero que utilizara los nuevos
algoritmos y claves. Si se produce algn error en el intercambio de claves, se generara un
mensaje DISCONNECT y se cerrara la conexin. Otros mensajes que s epueden
intercambiar son:
Protocolo de autenticacin
Ssh contempla varios mtodos de autenticacin:
Protocolo de conexin
Gestiona las sesiones interactivas para la ejecucin remota de comandos, mandando los
datos de entrada de cliente a servidor y los de salida en sentido inverso. Tambin se
encarga de redireccin de puertos TCP
Cada sesion interactiva, conexin TCP redirigida o conexin a un agente es un canal.
Pueden existir distintos canales abiertos en una misma conexin ssh, cada uno identificado
con un numero en cada extremo.
Ssh ofrece catorce tipos de mensajes que se pueden enviar durante la fase de conexin.
Estas son algunas de las funciones que permiten realizar los mensajes:
Abrir un canal: se pueden abrir canales de distintos tipos: sesin interactiva, canal
de ventanas X, conexin TCP redirigida o conexin con un agente de
autenticacin.
Configurar parmetros de un canal: antes de empezar una sesin interactiva el
cliente puede especificar si necesita que s ele asigne un pseudoterminal en el
servidor, como hace rlogin y si es as, con que parmetros.
Empezar sesin interactiva: una vez configurados los parmetros necesarios, el
cliente puede dar el nombre de un comando que se deba ejecutar en el servidor, o
bien indicar que quiere ejecutar un interprete de comandos
29
Enviar datos: existen dos tipos de mensaje con este fin: uno para enviar datos
normales en cualquier sentido y para cualquier canal, y otro para enviar datos
especiales.
Cerrar canal: cuando termina la ejecucin normal del proceso o interprete de
comandos, el servidor enva un mensaje indicando el cdigo de salida. Si ha
terminado a causa de una seal, en ssh2 enva un mensaje con el nmero de seal.
Otras operaciones: el cliente puede pedir que las conexiones que lleguen a un
determinado puerto TCP del servidor le sean redirigidas, para poderlas reenviar a
otra direccin.
Este protocolo esta diseado para que un atacante no pueda leer el contenido de los
mensajes ni alterarlos, y tampoco cambiar la secuencia de los mismos. La confidencialidad
queda garantizada con el mtodo de intercambio de claves basado en criptografa pblica
que protege contra ataque como el de hombre en el medio. Adems, este mtodo
permite que el cliente se asegure de que se esta conectando al servidor autentico. Para
comprobar que la clave publica que enva el servidor es realmente la suya, se pueden usar
los certificados, o bien una base de datos local del cliente en la que estn guardadas las
claves de los servidores reconocidos. Para autenticar al usuario mediante clave pblica
tambin existen otras dos posibilidades: certificados o una base de datos de claves en el
servidor.
Si no se usan certificados, el protocolo contempla la posibilidad de dar por buena la clave
publica de un servidor la primera vez que se establece una conexin, sin necesidad de
ninguna comunicacin previa. Esto no es recomendable porque representa una
vulnerabilidad a ataque de hombre en el medio.
Una caracterstica interesante aadida a ssh2 es que las longitudes de los paquetes se
envan cifradas pero es recomendable deshabilitar algunas caractersticas como el mtodo
de autenticacin de usuario, redireccin de puertos TCP, etc.)
Para proteger una conexin a un servidor http mediante un tnel ssh, suponiendo que
podamos autenticarnos ante este servidor:
Ssh L 5678:localhost:80 www.lejos.com
Una vez realizada esta operacin, podemos introducir la direccin http://localhost:5678 en
cualquier navegador y nos llevara automticamente a la direccin www.lejos.com con una
conexin cifrada
30
PEM: fue uno de los primeros, solo contemplaba el envo de mensajes de texto
ASCII
MOSS: fue la primera especificacin que uso el formato MIME para representar la
informacin relacionada con la seguridad. Estaba basado en el sistema PEM.
PGP: uno de los sistemas ms populares.
S/MIME: utiliza la tecnologa MIME, en este caso basado en la sintaxis definida
por el estndar PKCS#7
Los servicios que proporcionan los sistemas de correo electrnico seguro son dos:
decir, firmas digitales. Con estas, la firma de un mensaje puede ser verificada por
cualquiera que lo reciba y conozca la clave publica del firmante, dando el servicio
de no repudio.
Cada uno de estos dos servicios puede basarse en clave simtrica o clave publica.
SMTP define una representacin para los mensajes que puede ser distinta de la
representacin local de cada sistema. El proceso que se encarga de enviar los mensajes
tiene que transformarlos del formato local al formato SMTP en el momento de
transferirlos. Y a la inversa, cuando llega un mensaje va SMTP normalmente se convierte
al formato local antes de almacenarlo en el buzn de los destinatarios. Por lo tanto, cuando
se deben aplicar operaciones criptogrficas a un mensaje, es preciso hacerlo sobre una
codificacin cannica que sea convertible al formato local de forma no ambigua.. De este
modo, si tenemos que mandar un mensaje confidencial, cifraremos la forma cannica del
mensaje para que cuando el receptor la descifre pueda convertirla a su formato local. Y si
tenemos que calcular un cdigo MAC o una firma, tambin lo haremos sobre la forma
cannica. Cada sistema de correo puede definir su codificacin cannica.
S/mime
Es una especificacin de correo seguro basada en la norma PKCS#7 que utiliza la tcnica
MIME para transmitir mensajes protegidos criptogrficamente segn el formato PKCS#7
aunque la versin 3 usa el CMS en vez de PKCS#7.
Un mensaje S/MIME es un mensaje MIME con las siguientes caractersticas:
Formato PKCS#7
Tipo
contentType
content(opc)
identificador nico
Data
SignedData
EnvelopedData
SignedAndEnvelopedData
DigestedData, o EncryptedData
32
1. Data: sirve para representar datos literales, sin aplicarles ninguna proteccin
criptogrfica. no esta estructurado de ningn modo especial, sino que simplemente
consiste en una secuencia de bytes. Cuando se utiliza en S/MIME, su contenido
debe ser una parte de mensaje MIME, con sus cabeceras y su cuerpo en forma
cannica. Siempre se usa en combinacin con algn otro PKCS#7 ( SignedData o
con EnvelopedData).
2. SignedData: representa datos firmados digitalmente.
3. EnvelopedData: representa un mensaje con sobre digital
4. SignedAndEnvelopedData: representa datos firmados y cerrados en un sobre
digital
5. DigestedData: representa datos a los cuales se les aade un resumen o hash
6. EncryptedData: representa datos cifrados con clave secreta.
Pero solo se usan los tres primeros.
PGP
Es un software que proporciona funciones criptogrficas y de gestin de claves. Una de las
caractersticas distintivas de PGP es el mtodo que utiliza para certificar la autenticidad de
las claves publicas. En lugar de recurrir a autoridades de certificacin, cada usuario puede
certificar directamente las claves que esta convencido que son autenticas. Otra
caracteristica es la eficiencia en el intercambio de los mensajes ya que, siempre que sea
posible, los datos se comprimen antes de cifrarlos y/o despus de cifrarlos.
Los datos que procesa PGP se codifican con unas estructuras de datos llamadas paquetes
PGP. Un mensaje PGP esta formado pues por uno o mas paquetes PGP.
Un paquete PGP es una secuencia de bytes, con una cabecera que indica de que tipo de
paquetes se trata y su longitud y, a continuacin, unos campos de datos que dependen del
tipo del paquete.
El formato V3 define diez tipos de paquetes, a continuacin veremos los principales:
1. Paquete de datos literal: sirve para representar datos en claro, sin cifrar
2. Paquete de datos comprimidos: en este tipo de paquete hay un campo que indica
el algoritmo de compresin, y otro que tiene una secuencia de bytes comprimida.
Cuando se descomprimen estos bytes, el resultado debe ser uno o ms paquetes
PGP.
3. Paquetes de datos cifrados con clave simtrica: el contenido de este paquete es
directamente una secuencia de bytes cifrados con un algoritmo simetrico. Los
paquetes de este tipo se usan para enviar un mensaje de correo cifrado con sobre
digital, o bien cuando el usuario quiere simplemente cifrar un fichero.
4. Paquetes de datos cifrados con clave publica: en este tipo de paquetes hay un
campo que sirve para identificar la clave publica utilizada, otro que indica el
algoritmo de cifrado, y otro con los datos cifrados. Normalmente este paquete se
utilizaba para cifrar una clave de sesion, con la cual se habra generado un paquete
de datos cifrado simtricamente, para enviar un mensaje con sobre digital. La clave
publica utilizada en este caso es la de cada uno de los destinatarios.
33
34
Encapsulacion RFC 934: consiste en concatenar los mensajes que hay que
combinar, ponindolos simplemente uno a continuacin de otro, y utilizando
delimitadores de encapsulacion para indicar donde empieza cada uno y donde
termina el ultimo. EL texto que haya antes del primer delimitador se considera
como un prologo y el que hay despus del ultimo delimitador se considera como
un epilogo, pero ninguna de los dos forma parte del mensaje encapsulado.
PGP/MIME: para incorporar PGP MIME, inicialmente se defini el tipo de
contenido MIME applidcation/pgp. Mas tarde, sin embargo, este tipo de contenido
se abandono a favor del metodo RFC 1847, que es el mismo que utiliza S/MIME
para los mensajes firmados en claro
TEMA 5
La deteccin de intrusiones es el proceso de identificacin y respuesta ante las actividades
ilcitas observadas contra uno o varios recursos de una red. IDES fue uno de los primeros
sistemas de deteccin en tiempo real, este utilizaba perfiles para describir los sujetos del
sistema y reglas de actividad para definir las acciones que tenian lugar.
Un segundo sistema de deteccin de ataque en tiempo real fue Discovery, capaz de
detectar e impedir problemas de seguridad en bases de datos. Aunque uno de los sistemas
a destacar fue MIDAS, este fue creado para monitorizar el Dockmaster en el que se
ejecutaba uno de los sistemas operativos mas seguros de la poca. Adems, este fue uno de
los primeros sistemas de deteccin conectado a Internet.
Un detector de intrusiones esta dividido en varias partes:
1. Recolectores de informacin (sensores)
Un sensor es el responsable de la recogida de informacin de los equipos
monitorizados por el sistema de deteccin. Esta informacin ser analizada
posteriormente por los procesadores de informacin. Es importante garantizar su
integridad frente a posibles ataques. Hay varios tipos de sensores: los sensores
basados en equipo, que se encargan de recoger informacin del SO, estos pueden
coger informacin de calidad y son fcilmente configurables Los sensores basados
en red, que son los que recogen informacin de la red. Estos tienen la ventaja de
que pueden trabajar de forma no intrusiva y los sensores de aplicacin son los que
recogen la informacin de las aplicaciones.
2. Procesadores de eventos
Estos trabajan sobre la informacin recogida por los sensores. Para poder detectar
intrusiones, estos deben implementar algn esquema de deteccin. Dos de los
esquemas mas utilizados para realizar la deteccin son:
o Usos indebidos: este esquema tiene una base de datos con secuencias y
actividades deshonestas (como una firma vrica). De esta manera, la
informacin mandada por los sensores es comparada con la base de datos
de firmas de ataques. En el momento de detectar concordancia, el
componente lanzara una alarma.
35
4. Elementos de almacenamiento
En algunas situaciones, el volumen de informacin recogida por los sensores estn
elevado que es necesario un proceso de almacenamiento. Una posibilidad es la
clasificacin de la informacin en trminos de anlisis a corto y largo plazo.
En el caso de anlisis a corto plazo, la informacin es almacenada directamente en
los propios sensores (buffer internos).
En el caso de anlisis a medio plazo, los datos almacenados sern almacenados en
dispositivos secundarios.
36
37
Sistemas de decepcin
Los sistemas de decepcin (honeypots), en vez de neutralizar las acciones de los atacantes,
utilizan tcnicas de monitorizacin para registrar y analizar estas acciones, tratando de
aprender de los atacantes. De esta manera, sus administradores podrn analizar como se
comportan los elementos de seguridad implementados en la red.
Estos equipos suelen estar diseados para imitar el comportamiento de equipos de
produccin reales, adems, el intruso no se debe dar cuenta de que esta siendo engaado
y monitorizado.
Celdas de aislamiento
Las celdas de aislamiento son parecidos a los equipos de decepcin. Mediante el uso de un
dispositivo intermedio (con capacidades de deteccin y encaminamiento) todo el trfico
etiquetado como malicioso es dirigido hacia un equipo de decepcin. Al igual que el
equipo de decepcin, una celda de aislamiento ofrece al atacante un entorno
aparentemente idntico a un equipo real. No obstante, la celda de aislamiento est
protegida de tal manera que no pueda poner en riesgo al resto de la red
Redes de decepcin
Un enfoque ms avanzado que los anteriores consiste en la construccin de todo un
segmento de red formado nicamente por equipos de decepcin, preparados todos ellos
para engaar a los intrusos
Prevencin de intrusos
Los sistemas de prevencin de intrusos son el resultado de unir las capacidad de bloqueo
de los mecanismos de prevencin (encaminadotes con filtrado de paquetes y pasarelas)
con las capacidades de anlisis y monitorizacin de los sistemas de deteccin de
intrusiones de tal manera que pueden detener un ataque antes de que cause dao.
Hay dos tipos:
A continuacin haremos un breve repaso sobre los modelos existentes ms relevantes para
construir un sistema de prevencin tal como acabamos de definir
38
39
Conmutadores hbridos:
Es una combinacin de los conmutadores de nivel siete y de los cortafuegos a nivel
de aplicacin que acabamos de presentar. Su mtodo de deteccin esta basado en
polticas, como el de los sistemas cortafuegos a nivel de aplicacin. Por lo tanto,
estos conmutadores analizaran el trafico de red para poder detectar informacin
definida en las polticas que tienen configuradas.
La combinacin de un sistema cortafuegos a nivel de aplicacin junto con su
conmutador de nivel siete permite reducir problemas de seguridad asociados a una
programacin deficiente, as como la posibilidad de detectar ataques a nivel de
aplicacin.
Snort
Un IDS es una herramienta de seguridad que intenta detectar o monitorizar los eventos
ocurridos en un determinado sistema informtico.
Hay varios tipos de IDS:
Decodificador de paquetes o sniffer: este recoger los paquetes que mas adelante
sern examinados y clasificados por el resto de componentes.
Preprocesador: este obtiene los paquetes sin tratar del decodificador y los
verificara en busca de ciertos comportamientos que le permita determinar su tipo.
Una vez determinado el comportamiento del paquete, este ser enviado hacia el
motor de deteccin.
Motor de deteccin: este contrastara los datos que le pasa el preprocesador con su
base de reglas. Si alguna de las reglas coincide con la informacin obtenida, el
motor de deteccin se encargara de avisar al sistema de alertas indicando la regla
que ha saltado. El motor de deteccin se basa en una deteccin de usos indebidos.
Sistema de alertas e informes: se encarga de enviar, almacenar en bd o generar
las alertas generadas por el motor de deteccin.
40
Si colocamos el IDS antes del cortafuegos capturaremos todo el trafico de entrada y salida
pero la posibilidad de falsas alarmas es grande. Pero si colocamos el IDS detrs del
cortafuegos monitorizara todo el trafico que no se parado por el cortafuegos. Tambin
podemos colocar el IDS en la misma maquina que el cortafuegos. En este caso actuara en
paralelo con el cortafuegos.
Para usar snort en modo sniffer haremos:
Snort v
De esta manera visualizaremos solo las cabeceras, si quisiramos visualizar los campos de
datos que pasan por la interfaz de red, aadiremos d (snort dv). Aadiendo la opcin e,
snort nos mostrara informacin mas detallada. Nos mostrara las cabeceras a nivel de
enlace.
Con estas opciones y dependiendo del trafico en nuestra red veremos gran cantidad de
informacin pasar por nuestra pantalla, con lo cual seria interesante registrar, guardar estos
datos a disco para su posterior estudio. Para ello haramos:
Snort dev l /tmp
La opcin l indica a snort que debe guardar los log en un directorio determinado, en este
caso /tmp.
Podemos indicar la ip de la red a registrar con la opcin -h y que el formato de los log sea
en modo binario con la opcin b
Snort dev l /tmp h 10.0.0.2/8
Para leer el archive generado por snort:
Snort r <nombre_fichero>
Para indicar que interfaces de red usar, usaremos la opcin i. Para averiguar las interfaces
de que disponemos, en Win32 usaremos snort W
Para usar snort en modo de deteccin de intrusos de red se activa aadiendo a la lnea de
comandos de snort la opcin -c snort.conf. En este archivo se guarda toda la
configuracin de las reglas.
Las reglas snort las podemos dividir en dos secciones lgicas: cabecera de la regla y
opciones.
La cabecera contiene la accin de la regla en si (protocolo, IP, mascara, puertos, etc.). La
seccin opciones contiene los mensajes y la informacin necesaria para la decisin a tomar
por parte de la alerta. Por ejemplo:
Alert tcp $EXTERN_NET any ->$HOME_NET
any(msg:escaneo;flags:A;ack:0;referente:arachnids,28;classtype:attempted-recon;sid:628;rev:1;)
41
CABECERA
OPCIONES
Mensaje: msg
Opciones: flags:A;ack:0;referente:arachnids
Donde
Flags:A : establece el contenido de las flags o banderas tcp en este caso ACK
Ack:0 :Caso particular para valor ACK=0, es el valor que pone nmap para TCP
ping scan.
Reference:arachnids,28: Referencia un advisory, alerta tipo Bugtra
Clastype: attempted-recon: categora de la alerta segn unos niveles predefinidos y
prioridades
Sid.628: Identificacin nica para esta regla snort segn unos tramos determinados
Rev:1: Identificacin de la revisin o versin de la regla
Gid: se usa para identificar que parte de snort genera un evento cuando se activa la
regla
Content: busca un determinado patrn en el contenido del paquete
Nocase: para la opcin content y hacemos que el contenido sea independiente del
uso de mayusculas/minusculas.
Depth: extensin del tamao de datos que se ha de inspeccionar. Se especifica en
bytes y se cuenta a partir del valor de offset que se especifique. Si no se especifica
offset se hace desde el principio.
Offset: modificador de contect que indicara a partir de donde se ha de inspeccionar
el contenido, por ejemplo:
Alert tcp any any->any 80(content:cgi-bin;offset:4;depth:20;)
Inspeccionar 20 bytes a partir del byte 4 del paquete TCP
42
NMAP
Opciones mas importantes:
43