Sie sind auf Seite 1von 43

Resumen - Seguridad en redes de computadores

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.

Resumen - Seguridad en redes de computadores

Identificacin de respuestas TCP


Aunque el objetivo original de ICMP es el de notificar errores y condiciones inusuales, es
posible hacer un uso indebido de este para obtener huellas identificativas de un sistema
remoto.
ICMP echo: el campo TTL utilizado en este intercambio de paquetes echo de
ICMP, suele ser inicializado de forma distinta segn el SO que haya detrs del
equipo. Las respuestas a un ping enviado por difusin tambin varia de un SO a
otro.
ICMP timestamp: mediante la transmisin de un paquete ICMP timestamprequest, si un sistema esta activo, se recibir un paquete de tipo timestamp-reply
indicando que es posible conocer la referencia de tiempo en el sistema de destino.
La decisin de responder o no a estos paquetes, depende de la implementacin, por
lo que segn si responden o no, apuntaran a un SO u a otro.
ICMP information: la finalidad de los paquetes ICMP de tipo information-request
y information-reply, consiste en permitir que ciertos equipos que no tienen HD
puedan extraer su propia configuracin en el arranque, como cada SO tiene una
respuesta distinta, esas diferencias se usaran para confeccionar la huella
identificativa.
Exploracin de puertos
Es una tcnica que se usa para identificar los servicios que ofrecen los sistemas objetivo.
Una vez averiguado los servicios, se pueden buscar exploits que aprovechen las
vulnerabilidades de dichos servicios.
Hay varios tipos de escaneo de puerto TCP:

TCP connect scan: mediante el establecimiento de una conexin TCP completa


(tres vas), la exploracin puede ir analizando todos los puertos posibles. Si la
conexin se realiza correctamente, se anota el puerto como abierto.
TCP SYN scan: enviando nicamente paquetes de inicio de conexin (SYN) por
cada uno de los puertos que se quiere escanear, se puede determinar si estos estn
abiertos o no. Recibir como respuesta un paquete RST_ACK significa que no
existe ningn servicio que escuche por este puerto. Sin embargo, si se recibe un
SYN-ACK podemos afirmar que el puerto esta abierto. En este caso se enviara un
paquete RST-ACK para no establecer conexin y no ser registrados por el sistema
objetivo.
TCP FIN scan: al enviar un paquete FIN a un puerto, deberamos recibir un
paquete de reset(RST) si dicho puerto esta cerrado.
TCP Xmas Tree Scan:. en estos casos se envan paquetes FIN, URG y PUSH. Si
se obtiene como resultado un paquete de reset es que el puerto esta cerrado
TCP Null Scan: en el caso de poner a cero todos los indicadores de la cabecera
TCP, la exploracin debera recibir como resultado un paquete de reset en los
puertos no activos

En la exploracin UDP se envan datagramas UDP sin ninguna informacin al campo de


datos. En el caso de que el puerto este cerrado, se recibir un mensaje ICMP de puerto
inalcanzable. Si el puerto esta abierto, no se recibir ninguna respuesta.

Resumen - Seguridad en redes de computadores

En el caso de detectar un elevado nmero puertos UDP abiertos, el atacante podra


concluir que hay un cortafuegos. Para confirmar esto, se puede enviar un datagrama UDP
al puerto 0, esto tendr que generar una respuesta ICMP de puerto no alcanzable. No
recibir esta respuesta significa que existe un dispositivo que filtra el trfico.
SNIFFERS
Uno de los primeros ataques contra las dos primeras capas del modelo TCP/IP son las
escuchas en la red, estas se hacen con aplicaciones (sniffers) que se encargan de capturar e
interpretar tramas y datagramas en entornos de red.
Hay varias tecnicas de sniffing:

Eavesdropping: intercepta el trafico de forma pasiva, es decir, no modifica el


contenido de la informacin.
Snooping: se caracteriza por el almacenamiento de la informacin capturada en el
ordenador del atacante mediante una conexin remota establecida durante toda la
sesin de captura. Aqu tampoco se modifica la informacin..

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.

Resumen - Seguridad en redes de computadores

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.

Resumen - Seguridad en redes de computadores

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:

Ipflooding: Se basa en una inundacin masiva de la red mediante datagramas IP


(UDP, TCP o ICMP). Este ataque se suele hacer normalmente en redes LAN.
Consiste en la generacin de trafico basura con el objetivo de reducir el ancho de
banda disponible para ralentizar las comunicaciones existentes de toda la red.
El trfico generado en este tipo de ataque puede se:
o Aleatorio: cuando la direccin de origen o destino del paquete IP es ficticia
o falsa.
o Definido o dirigido: cuando la direccin de origen, destino, o ambas, es la
de la maquina que recibe el ataque. El objetivo de este ataque es dejar fuera
de combate la red y colapsar el equipo de destino.
Una variante de este ataque consiste en la utilizacin de la direccin de difusin de
la red como direccin de destino de los datagramas. De esta forma, el
encaminamiento de la red se vera obligado a enviar el paquete a todos los
ordenadores de la misma.

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

Resumen - Seguridad en redes de computadores

direccin de origen se pone la direccin IP de la maquina que debe ser atacada y en


el campo de la direccin IP de destino se pone la direccin de difusin de la red.
Con esto se consigue que todos las maquinas de la red respondan a la vez a una
misma maquina consumiendo todo el ancho de banda y saturando el equipo
atacado.

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.

Teardrop: este ataque intentara realizar una utilizacin fraudulenta de la


fragmentacin IP para poder confundir al sistema operativo en la reconstruccin
del datagrama original y colapsar as el sistema. El atacante realizara
modificaciones en los campos de posicin y longitud para introducir incoherencias
cuando se reconstruya el datagrama original. De esta manera, al reensamblarse
producir un error de buffer-overrun.

Snork: este ataque se basa en una utilizacin malintencionada de dos servicios


tpicos en sistemas Unix: el servicio CHARGEN y el servicio ECHO y consiste en
el cruce de los servicios ECHO y CHARGEN, mediante el envo de una peticin
falsa al servicio CHARGEN, habiendo colocado previamente como direccin de
origen la direccin IP de la maquina que hay que atacar (con el puerto del servicio
ECHO como puerto de respuesta). De esta manera, se inicia un juego de ping-pong
infinito. Este ataque se puede realizar con distintos pares de equipos de la red
obteniendo un consumo masivo de ancho de banda hasta degradar el rendimiento
de la misma . Tambin se puede hacer contra una maquina para consumir los
recursos de esa maquina.

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:

TRIN00: es un conjunto de herramientas master-slave utilizadas para sincronizar


distintos equipos que cooperaran, de forma distribuida, en la realizacin de un
ataque DoS.

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

Firewalls: con unas pocas reglas se pueden permitir o denegar protocolos,


puertos o servicios.
Switches: muchos tienen listas de control de acceso (ACL) y permiten limitar el
ancho de banda.
Router: utilizando las mismas funcionalidades que los switches. IPS. Sistemas de
prevencin intrusin.

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:

Encaminadotes con filtrado de paquetes: son dispositivos que encaminan el


trafico TCP/IP sobre la base de una serie de reglas de filtrado que deciden que
paquetes se encaminan a travs suyo y cuales se descartan.
Los encaminadotes trabajan a nivel de red, pueden aceptar o denegar paquetes
fijndose en las cabeceras del protocolo (IP, UDP, TCP,..)
Las reglas de filtrado se encargan de determinar si un paquete le esta permitido
pasar de la parte interna de la red a la parte externa y viceversa, verificando el
trafico de datos legitimo entre ambas partes. Cada paquete que llegue al router ser
comparado con las reglas, comenzando por el principio de la lista hasta que
encuentre una coincidencia. Si no hay coincidencia, se consultara la poltica por
defecto.

Resumen - Seguridad en redes de computadores

Las ventajas de un firewall basado en un encaminador de paquetes es que es


realmente econmico y ofrece un alto rendimiento a redes con una carga de trabajo
elevada, adems, esta tecnologa permite la implantacin de la mayor parte de las
polticas de seguridad necesarias.
Algunas desventajas puede ser lo complejas que pueden llegar a ser las reglas de
filtrado o que su capacidad de actuacin se puede llegar a deteriorar a causa de la
utilizacin de un filtro muy estricto

Pasarelas a nivel de aplicacin (proxy): no encamina paquetes a nivel de red sino


que acta como retransmisor a nivel de aplicacin. El servicio Proxy se encargara
de realizar las conexiones solicitadas con el exterior y, cuando reciba una
respuesta, se encargara de retransmitirla al equipo que haba iniciado la conexin.
As, el servicio Proxy ejecutado en la pasarela aplicara las normas para decidir si se
acepta o rechaza una peticin de conexin.

Una pasarela separa completamente el interior del exterior de la red en la capa de


enlace, ofreciendo nicamente un conjunto de servicios a nivel de aplicacin. Esto
permite la autenticacin de los usuarios. Por ello, los proxy ofrecen una mayor
seguridad que los encaminadotes sin embargo, la penalizacin es mucho mayor,
sobre todo en redes con gran volumen de trafico auque ambos son compatibles.
Otras ventajas de las pasarelas a nivel de aplicacin es que el protocolo tambin se
puede filtrar, prohibiendo el uso de subservicios y que tambin pueden implantar un
filtrado de paquetes basado en direcciones IP.
En definitiva, el proxy ofrece mas (seguridad) control sobre los servicios pero ofrece
un menos rendimiento.

Pasarelas a nivel de circuito: es un dispositivo similar al proxy, donde el usuario


establece primero una conexin con el sistema cortafuegos y este establece la
conexin con el equipo destino. Son un hibrido entre los filtrado de paquetes y
proxys.
La funcin de seguridad que ofrece este tipo de dispositivo consiste en determinar
que conexiones estn permitidas, antes de bloquear conexiones hacia el exterior.
Esta forma de trabajar es mucho mas rpida que un sistema tradicional, ya que las
conexiones pueden ser restringidas a nivel de usuario sin necesidad de analizar
todo el contenido de los paquetes transmitidos.

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

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

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.

Crear una nueva cadena (-N)


Borrar una cadena vaca (-X)
Cambiar la poltica de una cadena de uso interno (-P)
Listar las reglas de una cadena (-L)
Vaciar de reglas una cadena (-F)
Poner a cero todos los contadores de paquetes y bytes de todas las reglas de una
cadena (-Z)

Las reglas de una cadena se pueden manipular de varias maneras:


1.
2.
3.
4.
5.

Aadir una regla a una cadena vaca (-A)


Insertar una nueva regla en alguna posicin de la cadena (-I)
Mover una regla a otra posicin dentro de una cadena (-R)
Borrar una regla de un sitio en particular de una cadena (-D)
Borrar la primera regla que coincida con los parmetros dados en una cadena (-D).

Para poder especificar la direccin de origen usaremos s y la de destino -d. Para


negar una regla usaremos , por ejemplo, -p!TCP, que significara los paquetes que no
sean TCP.
Para especificar la interfaz usaremos -i(in) para el trafico que entra y -o(out) para el
trafico que sale. Los paquetes que pasan por la regla INPUT no tienen interfaz de salida,
con lo que nunca se activara una regla que use -o. De igual manera que los paquetes que
atraviesan OUTPUT no tienen interfaz de salida, de manera que ninguna regla que use -i
funcionara. Solo los paquetes que pasan por FORWARD tienen entrada y salida. Tambin
se puede especificar una interfaz que no existe en este momento, la regla no ser activada
hasta que la interfaz empiece a funcionar. Esto e sutil para las interfaces ppp. SI aparece
con el carcter + significa que podra ser ppp0, ppp1, ppp2, etc. Es como el comodn de
Windows
Para aplicar polticas por defecto:
Iptables P INPUT <DROP> | <ACCEPT>
iptables P OUTPUT <DROP> | <ACCEPT>

Restringe los paquetes que llegan a la mquina


Restringe los paquetes que enva la mquina
firewall

Iptables P FORWARD <DROP> | <ACCEPT>

Restringe los paquetes que llegan al


firewall para otras maquinas

Iptables t nat P PREROUTING ACCEPT

12

Resumen - Seguridad en redes de computadores

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

Iptables A FORWARD p udp d 192.12.1.1 --dport 53 J ACCEPT

Iptables A FORWARD p tcp --dport 80 J ACCEPT

Iptables A INPUT m state--state ESTABLISHED, RELATED j ACCEPT

Iptables A INPUT s 10.0.0.1 p tcp --dport 20:22 J ACCEPT

Iptables A INPUT p tcp s 10.0.0.1 --sport 90 d 20.0.0.1 --dport 80 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

Iptables t nat A POSTROUTING s 10.0.0.0/10 o eth0 j MASQUERADE

Se descarta
cualquier
fragmento
dirigido a
10.0.0.1

Iptables A OUTPUT f d 10.0.0.1 j DROP

13

Resumen - Seguridad en redes de computadores

EJERCICIOS

Enunciado
Pregunta 1 (25%) (Teora)

En el mdulo didctico de la asignatura, se menciona tres tipos de sistema cortafuegos:


encaminador con filtrado de paquetes, pasarela a nivel de aplicacin y pasarela a nivel de
circuito. Responded cada uno de los apartados siguientes de manera autocontenida. Es
decir, la respuesta de un apartado no puede
hacer referencia a los otros.
a) Qu es una pasarela a nivel de circuito? Detallad un ejemplo donde sea adecuada
su utilizacin.
Una pasarela a nivel de circuito es un dispositivo que acta como intermediario en las
comunicaciones entre las mquinas de la red interna y el exterior. Su funcin es determinar
si una determinada comunicacin est permitida o no. nicamente en el caso de que est
permitida, la comunicacin se podr establecer. A partir de este momento, su contenido no
ser inspeccionado.
Se podra utilizar, por ejemplo, en una organizacin donde la navegacin por Internet
solamente se permite desde unas mquinas determinadas. Desde estas mquinas se puede
acceder a Internet sin ninguna limitacin. En este caso, la pasarela a nivel de circuito
solamente permitira el establecimiento de conexiones con el exterior si stas provienen de
las mquinas autorizadas.
b) Qu es un encaminador con filtrado de paquetes? Detallad un ejemplo donde sea
adecuada su utilizacin.
Es un dispositivo que encamina trfico TCP/IP. Dispone de unas reglas que especifican
qu paquetes pueden ser encaminados y cules no. Se podra utilizar para restringir el
acceso a un servidor localizado en nuestra red. Por ejemplo, si nuestro servidor ofrece
servicio web, el cortafuegos solamente le encaminara el trfico dirigido en los puertos
TCP 80 y 443. El resto de trfico dirigido hacia el servidor sera filtrado.

14

Resumen - Seguridad en redes de computadores

c) Qu es una pasarela a nivel de aplicacin? Detallad un ejemplo donde sea


adecuada su utilizacin.
Una pasarela a nivel de aplicacin es un dispositivo que acta como intermediario en las
comunicaciones entre las mquinas de la red interna y el exterior. Este tipo de pasarela
inspecciona el contenido de los paquetes a nivel de aplicacin. Se podra utilizar en una
organizacin donde a las mquinas de la red interna no se les permite descargar imgenes
en formato JPG procedentes de la web. La pasarela estara configurada para filtrar las
peticiones HTTP que contengan la cadena JPG.

Pregunta 2 (25%) (Teora)


Explicad los inconvenientes que presenta una arquitectura dual-homed que hacen que sea
preferible utilizar una arquitectura con zona desmilitarizada.
Una arquitectura dual-homed sita un cortafuegos entre la red interna y el exterior. En la
red interna, tenemos un nico segmento de red compartido entre los servidores y las
estaciones de trabajo. En el caso de que uno de los servidores se vea comprometido, desde
l se podr atacar el resto de mquinas.
La arquitectura de zona desmilitarizada divide la red interna en dos segmentos de manera
que se separa los servidores de las estaciones de trabajo. De esta manera, si uno de los
servidores se ve comprometido, desde l no se podr acceder directamente
a las estaciones de trabajo. De esta manera, las estaciones de trabajo estn
mejorprotegidas.

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:

Algoritmo de cifrado en flujo: este consiste en la combinacin (suma) de un texto


en claro M con un texto de cifrado S que se obtiene a partir de la clave simtrica k.
Para descifrar, solo se requiere realizar la operacin inversa (resta).

15

Resumen - Seguridad en redes de computadores

La ventaja de este mtodo es que son sencillos y baratos. Es apropiado para


entornos que se necesite un rendimiento alto y los recursos sean limitados como en
comunicaciones mviles, Wreles, etc. Un ejemplo puede ser RC4, usado por WEP
(LANs inalmbricas)

Algoritmo de cifrado en bloque: el algoritmo de cifrado o descifrado se aplica


separadamente a bloques de entrada de longitud fija, y para cada uno de ellos el
resultado es un bloque de la misma longitud.
Para cifrar un texto en claro debemos dividirlo en bloques de x bits cada uno y
cifrar estos bloques uno a uno.
Muchos de los algoritmos de cifrado en bloque combinan dos operaciones bsicas:
sustitucin y transposicin.
o La sustitucin: consiste en traducir cada grupo de bits de la entrada a otro
de acuerdo con una permutacin determinada, como por ejemplo el cifrado
de Cesar.
o La transposicin: consiste en reordenar la informacin del texto en claro
segn un patrn determinado. Un ejemplo podra ser la formacin de
grupos de cinco letras y reescribir cada grupo en otro orden.
Dos de los ejemplos mas famosos de algoritmo de cifrado en bloque es DES y
3DES.
El DES (Data Encryption Standard) admite una clave de 64 bits, pero slo 7 de
cada 8 bits intervienen en el cifrado, teniendo pues una longitud de clave efectiva
de 56 bits.
La parte central del algoritmo consiste en dividir la entrada en grupos de bits, hacer
una sustitucin diferente sobre cada grupo y, a continuacin, una transposicin de
todos los bits. Esta transformacin se repite 16 veces: en cada iteracin, la entrada
es una transposicin diferente de los bits de la clave sumada bit a bit con la salida
de la iteracin anterior. El principal inconveniente de DES es la vulnerabilidad a
los ataques de fuerza bruta. Si en los aos 70 era muy costoso hacer una bsqueda
entre las 256 combinaciones posibles de clave, la tecnologa actual permite romper
el algoritmo en un tiempo cada vez ms corto.
El triple DES consiste en aplicar el DES tres veces consecutivas, bien utilizando
tres claves diferentes (K1, K2, K3) o dos (K1, K2, K1).

Otro ejemplo de algoritmo de cifrado en bloque es AES. Este puede trabajar en


bloques de 128, 192 256 bits y la longitud de la clave puede ser tambin de 128,
192 256 bits

16

Resumen - Seguridad en redes de computadores

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:

Es unidireccional: es imposible encontrar el mensaje a partir del resumen


Es resistente a colisiones: es imposible encontrar otro mensaje que de el mismo
resumen.

El mensaje de entrada se divide en bloques de la misma longitud, y a cada uno se le aplica


una serie de operaciones junto con el resultado obtenido en el bloque anterior. El resultado
que queda despus de procesar el ltimo bloque es el resumen del mensaje.
Hasta hace poco el, el algoritmo mas usado ha sido MD5 pero como el resumen es de solo
128 bits es mas seguro usar otros algoritmos como SHA1 que da resmenes de 160 bits
aunque otras variantes de este algoritmo generan resmenes de 256, 384 y 512 bits
17

Resumen - Seguridad en redes de computadores

Algoritmos de clave publica


En este algoritmo se usan claves distintas para el cifrado y el descifrado. La clave pblica
se puede obtener fcilmente a partir de la clave privada pero es muy difcil obtener la
clave privada a partir de la clave pblica.
Lo normal es que para cifrar se use la clave publica y para descifrar la clave privada.
Los algoritmos de clave publica son mas lentos que el cifrado con clave simtrica por eso,
este mtodo se suele usar para cifrar la clave simtrica y poderla enviar a la otra parte y
para la autenticacin con no repudio (firmas digitales).
Las firmas digitales funcionan de la siguiente manera: la clave privada se usa para cifrar y
la clave publica para descifrar, de esta manera todo el mundo podr descifrarlo y
comprobar que solo lo ha podido firmar el que sabe la clave privada. Pero por cuestiones
de eficiencia, lo que se cifra no directamente el mensaje sino un resumen calculado con
una funcin hash segura.
Cuando A quiera mandar un mensaje firmado, tendr que obtener su resumen y cifrarlo
con la clave privada. Para verificar la firma, el receptor tiene que descifrarla con la clave
publica y comparar el resultado con el resumen del mensaje: si son iguales, quiere decir
que el mensaje lo ha generado Ay nadie lo ha modificado ya que se supone que la funcin
de resumen es resistente a colisiones y un atacante no podra modificar el mensaje sin que
la firme deje de ser valida.
Infraestructura de clave publica
Como hemos visto hasta ahora, la criptografa de clave pblica permite resolver el
problema del intercambio de claves, utilizando las claves publicas de los participantes.
Pero se plantea otro problema: y si alguien afirma ser A y su clave publica es x,Cmo se
puede realmente saber que la clave publica es de A? Una posible solucin a este problema
es que exista una entidad de confianza que nos asegure que, efectivamente, las claves
publicas pertenecen a sus supuestos propietarios. Esta entidad puede firmar un documento
que afirme la clave publica de A es x y publicarlo para que todos los usuarios lo sepan.
Este tipo de documento se llama certificado de clave pblica o certificado digital.
Un certificado de clave publica o certificado digital consta de tres partes bsicas:

Una identificacin de usuario, por ejemplo, su nombre.


La clave publica
La firma de las dos partes anteriores.

El formato de certificado mas usado es el X.509 especificado en la definicin del servicio


de directorio X500.
El directorio X500 permite almacenar y recuperar informacin, expresada como atributos,
de un conjunto de objetos. Los objetos X500 pueden representar por ejemplo, ciudades,
pases, universidades, etc. Todos estos objetos estn organizados jerrquicamente en forma
de rbol (en cada nodo del rbol existe un objeto) y, dentro de cada nivel, los objetos se

18

Resumen - Seguridad en redes de computadores

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:

Versin: es el numero de versin del formato, puede ser 1,2 3


SerialNumber: es el numero de serie del certificado
Signatura: indica el algoritmo utilizado por la CA para formar el certificado
Issuer: es la CA que ha generado el certificado..
Validity: indica el periodo de validez del certificado
Subject: es el nombre distintivo (DN) del sujeto a nombre del cual esta emitido el
certificado, es decir, el titular de la clave publica.
SubjectpublicKeyInfo: es la clave publica, a que algoritmo corresponde y su
valor.
IssuerUniqueIdentifier y SubjectUniqueIdentifier: no se utilizan.
Extensions: se introdujo en la versin 3 y es una lista de atributos adicionales del
certificado. El subcampo extnid indica de que extensin se trata. El subcampo
critical indica si la extensin es critica o no.

Un certificado nos soluciona el problema de la autenticidad de la clave publica, pero y si


la CA no la conocemos?. Existe la posibilidad que una CA tenga un certificado que
garantice la autenticidad de su clave publica, firmado por otra CA y esa otra CA por otra y
as sucesivamente.
Un posible tipo de extensin de los certificados X.509 es basicConstraints, y un campo de
su valor indica si el certificado es de CA o no. Si lo es, otro subcampo
(pathLenConstraint) permite indicar el nmero mximo de niveles de jerarqua que se
sitan por debajo de esta CA.
La lista de revocacin de certificados (CRL) sirve para publicar los certificados que han
dejado de ser validos antes de su fecha de caducidad. Cuando un certificado caduca ya no
se incluir en la CRL.
El campo issuer identifica la CA que emite la CRL, y en el campo revoked-Certificates se
encuentra la lista de los certificados revocados.
Sistemas de autenticacin

Hay dos tipos de autenticacin:

Autenticacin de mensaje: permite confirmar que el originador A de un mensaje


es autentico, es decir, que el mensaje no ha sido generado por un tercero Z.
Adems, tambin proporciona el servicio de integridad de datos, que permite
confirmar que nadie ha modificado el mensaje.
Existen dos grupos de tcnicas para proporcionar autenticacin de mensaje:
19

Resumen - Seguridad en redes de computadores

o Cdigos de autenticacin de mensaje o MAC: un cdigo de autenticacin de


mensaje o MAC se obtiene con un algoritmo x que tiene dos entradas: un
mensaje M de longitud arbitraria, y una clave secreta k compartida. El
algoritmo MAC debe garantizar que sea imposible inviable encontrar un
mensaje distinto que de el mismo cdigo MAC
o Firmas digitales: los cdigos MAC solo tienen sentido para quienes conocen
la clave compartida, adems, si A denegase la autora del mensaje, B no podra
demostrar que ha sido A el que lo genero. Sin embargo, si A autentica los
mensajes adjuntndoles la firma digital calculada con su clave privada, todo el
mundo podra verificarlo con su clave publica y adems A no podra negar
que el ha generado el mensaje (servicio de no repudio).

Autenticacin de entidad: permite confirmar la identidad de un participante A en


una comunicacin. Normalmente esta autenticacin es un requisito para acceder a
un recurso restringido.
Hay dos tcnicas para la autenticacin de entidad:
o Contraseas: un usuario manda su identidad seguida de una contrasea
secreta, y el verificador comprueba que es la correcta. La lista de usuarios que
tiene el verificador tiene que estar restringida o cifrada de alguna manera y las
contraseas deben cumplir unas reglas mnimas de seguridad como que no sea
palabra de diccionario, que tengan una longitud mnima, usar caracteres AlfaNumricos. Tambin s ele pueden aadir bits de sal para codificarla.
o Reto-respuesta: el problema de las contraseas es que cada vez que se
autentica se tiene que enviar el mismo valor al verificador, si alguien consigue
interceptar ese valor, cualquiera podra suplantar al usuario.
Para evitar esto se puede usar los protocolos de reto-respuesta que consisten en
que B enva un reto a A entonces A calcula la respuesta con su clave
sobre el reto y se lo enva a B. La clave puede ser simtrica o clave publica.
Los retos se pueden
cronolgicamente.

generar

secuencialmente,

aleatoriamente

IPSEC
Ipsec aade servicios de seguridad a IP. Ipsec usa dos protocolos:

Protocolo AH: ofrece servicio de autenticacin.


Protocolo ESP: puede ofrecer confidencialidad, autenticacin, o los dos a la vez.

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:

SA de extremo a extremo: se establecen entre el nodo que origina los datagramas


y el nodo al cual van destinados
SA con pasarela segura: al menos uno de los nodos es una pasarela segura.
20

Resumen - Seguridad en redes de computadores

Las SA son unidireccionales, es decir, si A enva datagramas a B y B enva


datagramas a A, tendramos dos SA. Una por cada sentido. Adems, cuando se establece
una SA entre dos nodos, se utiliza uno de los dos protocolos bsicos IPSEC: o AH o ESP.
Si se quiere utilizar ambos a la vez, se deber establecer dos SA, una para cada protocolo.
Cada nodo guarda la informacin sobre sus SA en la base de datos de asociaciones de
seguridad o SAD. A cada SA le corresponde un numero llamado SPI, este SPI debe ser
diferente. Por tanto, cada SA queda identificada por su SPI y direccin de destino.
Para cada datagrama que llega a un nodo IPSEC, se consulta una base de datos (SPD) para
ver cual de las tres siguientes acciones se debe realizar:

Procesarlo como AH o ESP


Tratarlo como un datagrama IP normal
Descartar el datagrama

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

SPI: es el numero que identifica a la SA


Nsecuencia: se usa para dar el servicio de proteccin contra repeticin
Payload: si se utiliza un algoritmo de cifrado en bloque, habra que aadir bytes
adicionales(padding) para conseguir que el numero de bytes a cifrar sea mltiplo
de la longitud de bloque
Padding: indica exactamente el nmero de bytes que se han aadido.

21

Resumen - Seguridad en redes de computadores

La arquitectura de IPSEC define dos modos de uso y depende de cmo se incluyan las
cabeceras en el datagrama IP. Estos son:

Modo transporte: la cabecera AH o ESP se incluyen despus de la cabecera IP


convencional, y a continuacin van los datos del datagrama. Solo se permite este
modo en las SA de extremo a extremo ya que la fragmentacin IP hace que cada
fragmento vaya por un sitio y una SA entre pasarelas seguras, algunos fragmentos
podran quedar sin proteger o quedar indescifrarles porque no han pasado por la
pasarela que los tenia que descifrar/cifrar
En modo tnel: el datagrama original se encapsula entero dentro de otro
datagrama. Este otro datagrama tendr un cabecera IP en las cual las direcciones de
origen y destino sern las de los nodos inicio y final de la SA. Este modo se puede
usar con cualquier SA.

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

ESP en modo tnel


Cabecera IP
Datos
original

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:

Confidencialidad: los datos se intercambian cifrados mediante clave simtrica. Al


inicio de cada sesin cliente y servidor se ponen de acuerdo en que claves
utilizaran para cifrar los datos. Siempre se utilizan dos claves: una para los
paquetes enviados del cliente al servidor y la otra para los datos enviados en
22

Resumen - Seguridad en redes de computadores

sentido contrario. El intercambio de claves simtricas se hace un intercambio


seguro basado en clave pblica.
Autenticacin de entidad: el cliente confirma la identidad del servidor con un
protocolo de reto-repuesta basado en firmas digitales.
Autenticacin de mensaje: cada paquete lleva un cdigo MAC para que el
destinatario compruebe que nadie ha modificado el paquete.

Adems, ssl tambin ofrece:

Eficiencia: se puede reutilizar los parmetros previamente acordados para una


nueva sesin. Adems, tambin permite comprimir los datos, aunque ssl 3.0 y TLS
1.0 no incorporan ningn algoritmo concreto.
Extensibilidad: ssl deja la puerta abierta para aadir nuevos algoritmos si se
descubren otros mejores.

La capa de transporte seguro que proporciona SSL/TLS se divide en 2 subcapas:

Subcapa superior: se encarga de negociar los parmetros de seguridad y de


transferir los datos de la aplicacin. Tanto los datos de negociacin como los de
aplicacin se intercambian en mensajes.
Subcapa inferior: estos mensajes son estructurados en registros a los cuales se les
aplica, compresin, autenticacin y el cifrado.

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

Tipo de contenido: indica cual es el tipo de contenido de los datos (error,


notificacin, datos, etc.).
Versin SSL: indica la versin ssl
Longitud: indica la longitud del resto del registro
Datos: son los datos comprimidos si se ha acordado algn protocolo de
compresin.
MAC: es el cdigo de autenticacin MAC
Padding: la longitud de este campo depende del algoritmo de MAC que se haya
acordado usar. Si se usa un algoritmo en bloque es preciso aadir bytes adicionales
a cada registro.
LP: indica la longitud del padding

El protocolo de negociacin se encarga d eautenticar al cliente y/o servidor, y acordar los


algoritmos y claves que se utilizaran.
Formato de los mensajes de negociacin SSL/TLS
Tipo
Longitud
Contenido del mensaje

23

Resumen - Seguridad en redes de computadores

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:

La versin del protocolo que el cliente quiere usar.


La lista de algoritmos criptograficos que el cliente quiere usar.
El id de sesin anterior si el cliente quiere volver a utilizar los parmetros
acordados
Lista de algoritmos de compresin.

3. Saludo del servidor (Server hello)


Como respuesta, el servidor enva este mensaje que contiene la siguiente
informacin:

La versin que se usara.


El id de sesin actual.
Los algoritmos de encriptacin elegidos por el servidor.

4. Cerificado de servidor (Certifcate)


El servidor enva el certificado X509
5. Peticin de certificado (Certifcate request)
En el caso de que el cliente se autentique, el servidor le pide el certificado al
cliente.
6. Fin saludo de servidor (Server Hello Done)
Para terminar esta primera fase de dialogo, el servidor enva este mensaje.
7. Certificado de cliente (certifcate)
Si el cliente tiene certificado, el cliente lo enva aqu.
8. Intercambio de claves de cliente (Client key Exchange)
El cliente enva este mensaje cuyo contenido depende del mtodo de intercambio
acordado. En el caso de ser RSA, en este mensaje hay una cadena de 48 bytes que
24

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

Es unidireccional, es decir, si tenemos H = h (M) es computacionalmente


inviable encontrar M a partir del resumen H.
Es resistente a colisiones, es decir, dado un mensaje M cualquiera es
computacionalmente inviable encontrar un mensaje M ' M tal que h (M') = h
(M).
c) Se utiliza el siguiente sistema de autenticacin de mensajes entre los usuarios A y B.
Para enviar un mensaje M se enva (M, h (M)), donde h () es la funcin de resumen SHA1 de 160 bits de salida. Responde, justificando la respuesta, si se garantiza la deteccin
de que alguien haya modificado el mensaje.
No se garantiza. Aunque la funcin SHA-1 es segura, un atacante ve el mensaje M y es
capaz de calcular su resumen. Por lo tanto, podr modificar el mensaje y enviar un
resumen falso.

TEMA 4
SSH
Es una herramienta de acceso remoto que ofrece los siguientes servicios de seguridad:

Confidencialidad: los datos van cifrados. Se utiliza un algoritmo simtrico y el


intercambio de claves es seguro. Se pueden usar algoritmos distintos en los dos
sentidos de la comunicacin. La autenticacin del usuario se hace cuando los
paquetes ya se mandan cifrados. Tambin oculta la longitud real de los paquetes.
Autenticacin de entidad: la autenticacin del servidor suele realizarse
conjuntamente con el intercambio de claves.
Autenticacin de mensaje: se usa un cdigo MAC calculado con una clave
secreta
Eficiencia: ssh permite comprimir los datos pero no permite reutilizar las claves de
otras sesiones.
Extensibilidad: se puede usar con otros algoritmos

27

Resumen - Seguridad en redes de computadores

Capa de transporte
Ssh se divide en dos subcapas.

Protocolo de paquetes ssh


Este se encarga de construir e intercambiar las unidades del protocolo, que son los
paquetes ssh. En el momento de enviar datos, a los mensajes de los niveles superiores se
les aplica (por este orden):

La compresin
El cdigo MAC
El cifrado

En la recepcin se le aplica el procedimiento inverso.


Protocolo de capa de transporte ssh
Este se encarga del establecimiento de la conexin de transporte, de la autenticacin del
servidor y intercambio de claves, y de las peticiones de servicio de los dems protocolos.
El cliente se conecta al servidor con TCP 22, una vez conectado se negocia la versin y
despus se produce el intercambio de claves. En ssh2 cada parte envia un mensaje
KEXINIT que contiene una cadena de 16 bytes aleatorios llamada cookie, y las listas de
algoritmos soportados por orden de preferencia. Los paquetes que vienen a continuacin
28

Resumen - Seguridad en redes de computadores

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:

IGNORE: su contenido debe ser ignorado.


DEBUG: sirven para enviar mensajes informativos
UNIMPLEMENTED: se enva en respuesta a mensajes desconocidos

Protocolo de autenticacin
Ssh contempla varios mtodos de autenticacin:

Autenticacin nula: el servidor permite que el usuario acceda directamente.


Autenticacin basada en listas de acceso: a partir de la direccin del sistema
cliente y el nombre del usuario el servidor consulta una lista para determinar si el
usuario esta permitido. Solo se usa en ssh1 por su elevada vulnerabilidad.
Autenticacin basada en listas de acceso con autenticacin de cliente: es igual
que el anterior, pero el servidor verifica que el sistema cliente sea efectivamente
quien dice ser
Autenticacin basada en contraseas: el servidor permite el acceso si el usuario
da una contrasea correcta.
Autenticacin basada en clave publica: el usuario se autentica demostrando que
posee la clave privada correspondiente a una clave publica reconocida por el
servidor.

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

Resumen - Seguridad en redes de computadores

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.)

Ssh admite redireccin de puertos, se hace de la siguiente manera:


Desde un ordenador llamado cerca:
Ssh L 5555:srv.lejos.com:23 l admin. Medio
De esta manera nos hemos conectado al ordenador medio como usuario admin. Y adems
cualquier conexin al puerto 5555 de cerca (telnet cerca 5555) estar redirigida al puerto
23 del ordenador srv.lejos.com.

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

Resumen - Seguridad en redes de computadores

CORREO ELECTRONICO SEGURO

La seguridad en el correo electrnico consiste en aplicar funciones criptogrficas al


mensaje antes d entregarlo a los agentes de transferencia del servicio de correo.
Algunos sistemas de correo electrnico seguro son:

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:

Confidencialidad: mediante tcnicas de cifrado. Para que un originador A pueda


enviar un mensaje cifrado a un destinatario B, es preciso que ambos hayan
acordado el uso de una determinada clave de intercambio. Esto se puede hacer con
una comunicacin segura fuera de lnea o bien con un mecanismo de
distribucin de claves. La clave de intercambio puede ser simtrica o clave publica.
Para cifrar un mensaje de correo se utiliza siempre un algoritmo de cifrado de clave
simtrica, dado que los de clave publica son mucho mas costosos.
El mtodo que se usa para enviar un mensaje cifrado se llama sobre digital, y
consiste en:
1. Generar aleatoriamente una clave de cifrado simtrica distinta para cada
mensaje. Esta clave se llamara clave de sesin.
2. Cifrar el mensaje con esta clave simtrica
3. Para cada destinatario del mensaje, cifrar la clave de sesin con la clave
publica de este destinatario.
4. Construir un nuevo mensaje aadiendo al mensaje cifrado todas las claves
cifradas
5. Enviar a los destinatarios este mensaje (el mismo para todos).

En la recepcin, cada destinatario deber seleccionar la clave correspondiente a su


clave publica, descifrarla con su clave privada para obtener la clave de sesin y
finalmente descifrar el mensaje con esta clave.

Autenticacin de mensaje: para esto se pueden usar claves simtricas o pblicas.


Las tcnicas simtricas consisten en aadir al mensaje un cdigo MAC, calculado
con una clave secreta compartida con el destinatario. Esto significa que se debe
calcular un cdigo MAC distinto para cada destinatario, y adems, que no hay
proteccin contra un repudio del originador. Por este motivo, los sistemas de
correo seguro actuales utilizan las tcnicas de autenticacin de clave pblica, es
31

Resumen - Seguridad en redes de computadores

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:

Su tipo de contenido (campo Content-Type) es application/pkcs7-mime


En su cuerpo hay una estructura PKCS#7 codificada segn la notacin ASN.1

Formato PKCS#7

PKCS#7 es un formato para representar mensajes protegidos criptogrficamente. Cuando


la proteccin est basada en criptografa de clave publica, en PKCS#7 se utilizan
certificados X509 para garantizar la autenticidad de las claves.
La estructura general de un mensaje PKCS#7 es:
Campo

Tipo

contentType
content(opc)

identificador nico
Data
SignedData
EnvelopedData
SignedAndEnvelopedData
DigestedData, o EncryptedData

32

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

5. Paquete de firma: un paquete de este tipo contiene campos con la siguiente


informacin:
Clase de firma
Otros campos aadidos en el formato V4
6. Paquete de clave publica: este tipo de paquete contiene la siguiente informacin
relativa a una clave publica:
o La fecha de creacin de la clave
o El algoritmo al que corresponde la clave
o Los valores de los componentes de la clave.
7. Paquete de nombre de usuario: el contenido de un paquete de este tipo es
simplemente una cadena de caracteres, que se utiliza para identificar el propietario
de una clave publica Es como el DN en los certificados.
8. Paquetes de clave privada: este sirve para guardar los componentes de la clave
privada de un usuario. Para asegurar la confidencialidad, en el fichero donde se
guarde este paquete los componentes secretos de la clave debern estar cifrados ,
normalmente con una clave simtrica derivada de una passphrase
9. Paquete de nivel de confianza en una clave: este tipo de mensaje tampoco se
enva nunca sino que solamente se guarda en el almacn de claves propio de cada
usuario, ya que solo tiene significado ara quien lo ha generado

La certificacin de claves en PGP no sigue un modelo jerrquico, como los certificados


X509, sino un modelo descentralizado de confianza mutua, a veces llamada malla de
confianza.
Cuando un usuario genera un par de claves (pblica y privada), a la clave pblica le tiene
que asociar un nombre de usuario y, a continuacin, tiene que autocertificar esta
asociacin, es decir, firmar con su clave privada la concatenacin de la clave pblica y el
nombre. El paquete de la clave publica, el del nombre de usuario y el de la firma forman
un bloque de clave. Opcionalmente, el usuario puede asociar mas de un nombre a la clave
(por ejemplo, si tiene diversas direcciones de correo). El usuario puede enviar este bloque
a otros con los que tenga que mantener correspondencia. Cada receptor, si esta convencido
de que la clave efectivamente corresponde al usuario originador, la certificara. De esta
manera, cada usuario tendr un almacn de claves pblicas certificadas (keyring) que
podr usar para cifrar mensajes y verificar firmas digitales. En este almacn tambin
puede haber firmas de revocacin para invalidar una clave o para anular un certificado.
Otra posibilidad para realizar la distribucin es a travs de un servidor de claves PGP. Pero
es importante aadir que los servidores PGP no son autoridades de certificacin, cualquier
clave pblica que se les envi ser aadida al almacn sin realizar ninguna verificacin
respecto a la identidad del propietario.
Para facilitar el intercambio y la certificacin de claves, PGP asigna a cada clave publica
una huela (fingerprint), que es simplemente un hash del valor de la clave. Esta huella se
usa para que un usuario pueda comprobar que la clave que ha recibido de otro, o de un
servidor de claves, sea efectivamente la que quera y no una falsificacin.
Para enviar mensajes a travs de correo electrnico se pueden usar dos tcnicas:

34

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

A la hora de implantar un esquema basado en usos indebidos, dos de los


modelos mas utilizados son los analizadores basados en el reconocimiento de
patrones( if -then else) y los analizadores basados en transiciones de estado.
Este modelo hace uso de autmatas finitos para representar los ataques.
o Deteccin de anomalas: estos trataran de identificar actividades
sospechosas comparando el comportamiento de un usuario, proceso o
servicio, con el comportamiento de un perfil clasificado como normal.
La ventaja mas destacable es la posibilidad de detectar ataques
desconocidos pero tambin tiene algunas desventajas, como, la falta de
garanta en el proceso de deteccin: un intruso podra realizar sus acciones
lentamente para ir provocando cambios en el perfil de usuario y asi pasar
desapercibido o como segundo inconveniente podemos destacar la
dificultad que aparece a la hora de clasificar y describir con precisin los
ataques detectados.
Adems, la tasa de falsos positivos y negativos que pueden darse es un gran
inconveniente ya que no siempre una desviacin respecto al perfil esperado
es un ataque o intento de intrusin.
3. Unidades de respuesta
Estas se encargan de iniciar acciones de respuestas en el momento en que se
detecta un ataque o intrusin. Estas acciones pueden ser automticas (respuesta
activa), como por ejemplo bloquear el acceso por red o requerir intervencin
humana (respuesta pasiva) donde se limitan a lanzar una alarma (sms, correo, etc.)
para informar y describir el ataque detectado. El problema de las respuestas activas
es que pueden acabar en una denegacin de servicio contra usuarios o sistemas
legtimos por una falsa alarma.
Hay dos tipos de unidades de respuesta:
o Unidades de respuesta basadas en equipo: actan a nivel de OS
o Unidades de respuesta basadas en red: actan a nivel de red cortando
intentos de conexin, filtrando direcciones sospechosas, etc.

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

Resumen - Seguridad en redes de computadores

El tiempo de almacenamiento de una informacin a medio plazo puede ser del


orden de 2 tres das aunque despus de comprimirla podra continuar almacenada
durante meses o aos
Los escaners de vulnerabilidades son un conjunto de aplicaciones que nos permiten
realizar pruebas o test de ataque para determinar si una red o equipo tienen deficiencias de
seguridad.
Estos tienen una estrecha relacin con las herramientas de deteccin utilizadas por los
sistemas de deteccin de intrusos. Esto es as porque dentro de los mecanismos de
deteccin podemos distinguir entre elementos de deteccin dinmico (IDS) y elementos de
deteccin de tipo esttico (escaners de vulnerabilidades). En los primeros se trabaja de
forma continua (como una cmara de video) mientras que en los segundos se concentran
en intervalos de tiempo determinados (como una cmara fotogrfica). A causa de este
aspecto esttico, los escaners de vulnerabilidades nicamente pueden detectar aquellas
vulnerabilidades contenidas en su base de conocimiento.
El funcionamiento general de un escner de vulnerabilidades se podra dividir en tres
etapas:

Durante la primera etapa se realiza una extraccin de muestras del conjunto de


atributos del sistema, para poder almacenarlas posteriormente en un contenedor de
datos seguro.
En la segunda etapa, estos resultados son organizados y comparados con, al menos,
un conjunto de referencia de datos. Este conjunto de referencia podra ser una
plantilla con la configuracin ideal generada manualmente, o bien ser una imagen
del estado del sistema realizada con anterioridad.
Finalmente, se genera un informe con las diferencias entre ambos conjuntos de
datos.

A la hora de clasificar este tipo de herramientas encontramos dos categoras:

Escaners basados en maquina: estos se usan para detectar vulnerabilidades como


por ejemplo, errores en permisos de ficheros, cuentas de usuario abiertas por
defecto, etc.
Escaners basados en red: estos realizan pruebas de ataque va red y registran las
respuestas obtenidas. Dos de las tcnicas mas utilizadas para la evaluacin de
vulnerabilidades basadas en red son las siguientes:
o Pruebas por explotacin: consiste en lanzar ataques reales contra el
objetivo. Esto es bastante agresivo sobre todo con ataques DoS.
o Mtodos de inferencia: se buscan indicios que indiquen posibilidades de
ataque, por ejemplo, comprobar la versin del sistema para determinar si
existe alguna vulnerabilidad, o comprobar el estado de algunos puertos.
Uno de los productos mas utilizados actualmente como escner de vulnerabilidades
basado en red es Nessus. El trabajo de explorar y probar ataques lo hace el servidor
nessus (nessusd) mientras que las tareas de control, generacin de informes y
presentacin de los datos son gestionados por el cliente (nessus)

37

Resumen - Seguridad en redes de computadores

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:

Basados en maquina: suelen utilizar aplicaciones instaladas directamente en la


maquina que hay que proteger.
Basadas en red: suelen ser dispositivos de red con al menos dos interfaces (una de
monitorizacin interna y otra de monitorizacin externa), integrando en el mismo
producto las capacidades de filtrado de paquetes y motor de deteccin.

A continuacin haremos un breve repaso sobre los modelos existentes ms relevantes para
construir un sistema de prevencin tal como acabamos de definir

38

Resumen - Seguridad en redes de computadores

Sistemas de deteccin en lnea:


Estos trabajan a nivel de red de TCP/IP, la mayora de los productos y dispositivos
de monitorizacin y deteccin de ataques en red se basan en la utilizacin de dos
dispositivos de red diferenciados. Por una parte, uno de los dispositivos se encarga
de interceptar el trfico de su segmento de red, mientras que el otro se utiliza para
efectuar tareas de gestin y administracin. Una de las herramientas que podemos
usar para esto es hogwash. Esta utiliza el procesador de eventos de snort para
anular todo aquel trfico malicioso encaminado contra la red que se quiere
proteger. Adems, implementa las capacidades de deteccin y de bloqueo de
trfico.

Conmutadores de nivel siete (aplicacin):


Estos se suelen utilizar para realizar tareas de balanceo de carga de un aplicacin
entre varios servidores. Para tomar decisiones de encaminamiento, examinan la
informacin a nivel de aplicacin (http, ftp, dns, etc.). Adicionalmente, estos
dispositivos podrn proporcionar proteccin frente a ataques contra las redes que
conmutan, como por ejemplo, descartar trfico procedente de una denegacin de
servicio.
Los ataques que mejor reconocen estos conmutadores son los ataques DoS ya que
suelen basarse en la deteccin de usos indebidos.
Una de las primeras ventajas de trabajar con estos dispositivos es la posibilidad de
realizar detecciones de ataques en redes de alta velocidad conmutadas. Otra
ventaja, que no se encuentra en otros sistemas de prevencin, es la posibilidad de
redundancia. Esta redundancia se puede conseguir con la utilizacin de sistemas
secundarios configurados para activarse en caso de que fallen los dispositivos
primarios

Sistemas cortafuegos a nivel de aplicacin:


Estos trabajan a nivel de aplicacin del OSI. Estos se pueden instalar directamente
sobre el sistema final que se quiere proteger. A parte de realizar un anlisis sobre el
trfico de red, estos dispositivos se pueden configurar para analizar eventos tales
como la gestin de memoria, las llamadas al sistema o intentos de conexin del
sistema donde han sido instalados.
Para realizar estos anlisis, los cortafuegos se basan en la utilizacin de perfiles
estadsticos. Esta tcnica consiste en una primera fase de inicializacin de perfiles
(fase de entrenamiento) y una segunda fase en la que las acciones son comparadas
por el sistema contra estos perfiles.
Durante la fase de entrenamiento, se procede a registrar la actividad de las
aplicaciones para elaborar un modelo de comportamiento que sirva para la
deteccin de posibles intrusiones, junto con una serie de polticas de seguridad.
As, todas las acciones que no hayan sido definidas durante la creacin de perfiles
sern identificadas como maliciosas por el dispositivo y podrn ser bloqueadas.

39

Resumen - Seguridad en redes de computadores

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:

HIDS: este protege a un nico equipo.


NIDS: este protege a un sistema basado en red. Estos actan sobre una red
capturando y analizando paquetes de red, es decir, son sniffers del trfico de red.
Luego analizan los paquetes capturados buscando patrones que supongan algn
tipo de ataque.

Por el tipo de respuesta podemos clasificarlos en:

Pasivos: estos notifican a la autoridad competente o administrador de red mediante


una alerta, sms, mail, etc.
Activos: generan algn tipo de respuesta sobre el sistema atacante o fuente de
ataque como cerrar la conexin.

La arquitectura bsica de snort se basa en los siguientes cuatro componentes:

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

Resumen - Seguridad en redes de computadores

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

Resumen - Seguridad en redes de computadores

CABECERA

Accion de la regal: alert


Protocolo: tcp
IP_origen: $EXTERNAL_NET (toda la red)
Puerto origen: any
Ip_destino: $HOME_NET (toda nuestra red)
IP destino: any
Direccin de la operacin: (puede ser <>)

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

A parte de estas opciones, tambin podemos usar las siguientes:

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

Resumen - Seguridad en redes de computadores

NMAP
Opciones mas importantes:

-O: activa la deteccin del sistema operativo


-p: sondea los puertos especificados
-sP:sondeo ping
-sS/sT/sA/sW/sM: analisis TCP SYN/connect/ACK/Windows/maimon
-sN/sF/sX: analisis TCP null/ FIN/Xmas
-P0: asume que todos los host estn vivos
-sU: escaneo UDP

43

Das könnte Ihnen auch gefallen