Title: ACI
1ACI 425SEGURIDAD INFORMÁTICA
- Unidad 4
- Seguridad en redes y sistemas operativos
2Objetivos Específicos
- Aplicar los conceptos de seguridad informática a
redes de computadoras en las organizaciones con
vistas a detectar posibles fallos y mejorar la
seguridad tanto en la red interna como en la
posible red externa.
3Contenidos
- Conceptos preliminares Repaso básico de redes.
- Traducción de direcciones de red (Network Address
Translation NAT). - Cortafuegos (Firewalls).
- Proxys.
- Redes privadas virtuales (Virtual Private
Networks VPN). - Control de Acceso.
- Seguridad en intranet/extranet.
- Capa de conexión segura (Secure Socket Layer -
SSL). - Tipos de ataques a redes
- sniffing,
- spoffing y
- buffer overflow.
4Tunneling
- Internet se construyó desde un principio como un
medio inseguro. - Muchos de los protocolos utilizados hoy en día
para transferir datos de una máquina a otra a
través de la red carecen de algún tipo de
encriptación o medio de seguridad que evite que
nuestras comunicaciones puedan ser interceptadas
y espiadas. - HTTP, FTP, POP3 y otros muchos protocolos
ampliamente usados, utilizan comunicaciones que
viajan en claro a través de la red. - Esto supone un grave problema en todas aquellas
situaciones en las que queremos transferir entre
máquinas información sensible, como pueda ser una
cuenta de usuario (nombre de usuario y
contraseña), y no tengamos un control absoluto
sobre la red, con el objetivo de evitar que
alguien pueda interceptar nuestra comunicación
por medio de la técnica del hombre en el medio
(man in the middle), como es el caso de la Red de
redes.
5Qué es el tunneling?
- El problema de los protocolos que envían sus
datos en claro, sin cifrarlos, es que cualquier
persona que tenga acceso físico a la red en la
que se sitúan nuestras máquinas puede ver dichos
datos. - Es tan simple como utilizar un sniffer, que
básicamente, es una herramienta que pone nuestra
tarjeta de red en modo promiscuo (modo en el que
las tarjetas de red operan aceptando todos los
paquetes que circulan por la red a la que se
conectan, sean o no para dicha tarjeta). - De este modo, alguien que conecte su máquina a
una red y arranque un sniffer recibirá y podrá
analizar por tanto todos los paquetes que
circulen por la misma. - Si alguno de esos paquetes pertenece a un
protocolo que envía sus comunicaciones en claro y
contiene información sensible, dicha información
se verá comprometida. - Si por el contrario, ciframos las comunicaciones
con un sistema que permita entenderse sólo a las
dos máquinas que participan de la comunicación,
cualquiera que intercepte desde una tercera los
paquetes, no podrá hacer nada con ellos, al no
poder descifrar los datos.
6Qué es el tunneling? (2)
- Una forma de evitar el problema sin dejar de
utilizar todos aquellos protocolos que carezcan
de medios de encriptación, es usar una útil
técnica llamada tunneling. - Básicamente, esta técnica consiste en abrir
conexiones entre dos máquinas por medio de un
protocolo seguro, como puede ser SSH (Secure
SHell), a través de las cuales se realizaran las
transferencias inseguras, que pasarán de este
modo a ser seguras. - De esta analogía viene el nombre de la técnica,
siendo la conexión segura (en este caso de ssh)
el túnel por el cual enviamos nuestros datos para
que nadie más, aparte de los interlocutores que
se sitúan a cada extremo del túnel, pueda verles.
- Este tipo de técnica requiere de forma
imprescindible que se tenga una cuenta de acceso
seguro en la máquina con la que se quiere
comunicar.
7SSL - TLS
- Secure Sockets Layer (SSL) y Transport Layer
Security (TLS) -Seguridad de la Capa de
Transporte-, su sucesor, son protocolos
criptográficos que proporcionan comunicaciones
seguras en Internet. - Existen pequeñas diferencias entre SSL 3.0 y TLS
1.0, pero el protocolo permanece sustancialmente
igual. - La implementación comúnmente empleada es OpenSSL.
8SSL
- SSL proporciona autenticación y privacidad de la
información entre extremos sobre Internet
mediante el uso de criptografía. - Habitualmente, sólo el servidor es autenticado,
es decir, se garantiza su identidad, mientras que
el cliente se mantiene sin autenticar. - La autenticación mutua requiere un despliegue de
infraestructura de claves públicas (PKI) para los
clientes. - Los protocolos permiten a las aplicaciones
cliente-servidor comunicarse de una forma
diseñada para prevenir escuchas (eavesdropping),
la falsificación de la identidad del remitente y
mantener la integridad del mensaje.
9Pila del protocolo SSL
10Fases básicas en SSL
- SSL implica una serie de fases básicas
- Negociar entre las partes el algoritmo que se
usará en la comunicación. - Intercambio de claves públicas y autenticación
basada en certificados digitales. - Encriptación del tráfico basado en cifrado
simétrico. - Durante la primera fase, el cliente y el servidor
negocian qué algoritmos criptográficos se van a
usar. - Las implementaciones actuales proporcionan las
siguientes opciones - Para criptografía de clave pública RSA,
Diffie-Hellman, DSA (Digital Signature Algorithm)
o Fortezza - Para cifrado simétrico RC2, RC4, IDEA, DES,
Triple DES o AES - Funciones hash MD5 o alguna de la familia SHA.
11Funcionamiento de SSL
- El protocolo SSL intercambia registros.
Opcionalmente, cada registro puede ser
comprimido, cifrado y empaquetado con un código
de autentificación del mensaje (MAC). - Cada registro tiene un campo de content_type que
especifica el protocolo de nivel superior que se
está usando. - Cuando se inicia la conexión, el nivel de
registro encapsula otro protocolo, el protocolo
handshake, que tiene el content_type 22.
12Operación del protocolo Record
13Estructuras handshake
- El cliente envía y recibe varias estructuras
handshake en SSL - Envía un mensaje ClientHello especificando una
lista de conjunto de cifrados, métodos de
compresión y la versión del protocolo SSL más
alta permitida. Éste también envía bytes
aleatorios que serán usados más tarde (llamados
Challenge de Cliente o Reto). Además puede
incluir el identificador de la sesión. - Después, recibe un registro ServerHello, en el
que el servidor elige los parámetros de conexión
a partir de las opciones ofertadas con
anterioridad por el cliente. - Cuando los parámetros de la conexión son
conocidos, cliente y servidor intercambian
certificados (dependiendo de las claves públicas
de cifrado seleccionadas). Estos certificados son
actualmente X.509, pero hay también un borrador
especificando el uso de certificados basados en
OpenPGP. - El servidor puede requerir un certificado al
cliente, para que la conexión sea mutuamente
autenticada. - Cliente y servidor negocian una clave secreta
común llamada master secret, posiblemente usando
el resultado de un intercambio Diffie-Hellman, o
simplemente encriptando una clave secreta con una
clave pública que es desencriptada con la clave
privada de cada uno. Todos los datos de claves
restantes son derivados a partir de este master
secret (y los valores aleatorios generados en el
cliente y el servidor), que son pasados a través
una función seudo aleatoria cuidadosamente
elegida.
14Esquema del handshake
Fase 1 Establecimiento de las capacidades de
seguridad, incluyendo versión del protocolo, ID
de sesión, suite de cifrado, método de compresión
y los números aleatorios iniciales. Fase 2 El
servidor puede enviar un certificado, intercambio
de clave y solicitud de certificado. El servidor
señala el final de la fase del mensaje hello.
Fase 3 El cliente envía certificado, si se le
solicita, el intercambio de clave, y puede que
envíe la verificación de certificado. Fase
4 Intercambio de suite de cifrado y fin del
protocolo handshake.
15Medidas de seguridad
- TLS/SSL poseen una variedad de medidas de
seguridad - Numerando todos los registros y usando el número
de secuencia en el MAC. - Usando un resumen de mensaje mejorado con una
clave de forma que solo con dicha clave se pueda
comprobar el MAC. Esto se especifica en el RFC
2104). - Protección contra varios ataques conocidos,
incluidos ataques man in the middle attack, como
los que implican un degradado del protocolo a
versiones previas y por tanto, menos seguras, o
conjuntos de cifrados más débiles. - El mensaje que finaliza el protocolo handshake
(Finished) envía un hash de todos los datos
intercambiados y vistos por ambas partes. - La función seudo aleatoria divide los datos de
entrada en dos mitades y las procesa con
algoritmos hash diferentes MD5 y SHA. Después
realiza sobre ellos una operación XOR. De esta
forma se protege a sí mismo de la eventualidad de
que alguno de estos algoritmos se revelen
vulnerables en el futuro.
16Aplicaciones de SSL
- SSL se ejecuta en una capa entre los protocolos
de aplicación como HTTP, SMTP, NNTP y sobre el
protocolo de transporte TCP, que forma parte de
la familia de protocolos TCP/IP. - Aunque pueda proporcionar seguridad a cualquier
protocolo que use conexiones de confianza (tal
como TCP), se usa en la mayoría de los casos
junto a HTTP para formar HTTPS. - HTTPS es usado para asegurar páginas World Wide
Web en aplicaciones de comercio electrónico,
utilizando certificados de clave pública para
verificar la identidad de los extremos. - Aunque un número creciente de productos clientes
y servidores pueden proporcionar SSL de forma
nativa, muchos aún no lo permiten. - En estos casos, un usuario podría querer usar una
aplicación SSL independiente como Stunnel para
proporcionar encriptación. - No obstante, el Internet Engineering Task Force
recomendó en 1997 que los protocolos de
aplicación ofrecieran un forma de actualizar a
TLS a partir de una conexión sin encriptación
(plaintext), en vez de usar un puerto diferente
para encriptar las comunicaciones esto evitaría
el uso de envolturas (wrappers) como Stunnel. - SSL también puede usarse para tunelar una red
completa y crear una red privada virtual (VPN).
17Comando de openssl para crear llave
- root_at_mail1 /etc/postfix openssl req -new
-outform PEM -out postfix.cert -newkey rsa2048
-nodes -keyout postfix.key keyfo rm PEM -days
999 -x509 - Generating a 2048 bit RSA private key
- .........................
- ..........................................
- writing new private key to 'postfix.key'
- -----
- You are about to be asked to enter information
that will be incorporated - into your certificate request.
- What you are about to enter is what is called a
Distinguished Name or a DN. - There are quite a few fields but you can leave
some blank - For some fields there will be a default value,
- If you enter '.', the field will be left blank.
- -----
- Country Name (2 letter code) AU CL
- State or Province Name (full name) Some-State
Region Metropolitana - Locality Name (eg, city) Santiago
- Organization Name (eg, company) Internet Widgits
Pty Ltd uamericas - Organizational Unit Name (eg, section)
informatica - Common Name (eg, YOUR name) profe
18SASL
- La capa de seguridad y autenticación simple
(Simple Authentication and Security Layer SASL)
es un entorno de trabajo para autenticación y
autorización en protocolos de Internet. - Separa los mecanismos de autenticación de los
protocolos de la aplicación permitiendo, en
teoría, a cualquier protocolo de aplicación que
use SASL usar cualquier mecanismo de
autenticación soportado por SASL. - A pesar de que mediante SASL sólo se maneja la
autenticación y que se requieren otros mecanismos
--como por ejemplo TLS-- para cifrar el contenido
que se transfiere, SASL proporciona medios para
un uso negociado del mecanismo elegido. - Un mecanismo SASL se modela como una sucesión de
retos y respuestas.
19Mecanismos SASL
- Los mecanismos definidos por SASL incluyen
- "EXTERNAL", aquí la autenticación está implícita
en el contexto (p.ej. para protocolos que ya usan
IPsec o TLS). - "ANONYMOUS", para el acceso de invitados sin
autentificar. - "PLAIN", un mecanismo de contraseña simple en
texto claro. - "OTP" para el sistema que evolucionó de S/KEY y
que está definido en RFC 2289. - "NTLM".
- Se prevé soportar los mecanismos GSSAPI en una
familia de nomenclatura de mecanismos. - Lo protocolos definen su representación de
intercambios SASL con un perfil. - Un protocolo tiene un nombre de servicio como
"LDAP" en un registro compartido con GSSAPI y
Kerberos. - Entre los protocolos que ahora mismo usan SASL se
incluyen IMAP, LDAP, POP3, SMTP y XMPP.
20Gestión de seguridad en redes TCP/IP SNMP
- El Protocolo Simple de administración de red o
SNMP (RFC 1157) es un protocolo de la capa de
aplicación que facilita el intercambio de
información de administración entre dispositivos
de red. - Es parte de la suite de protocolos TCP/IP.
- SNMP permite a los administradores supervisar el
desempeño de la red, buscar y resolver sus
problemas, y planear su crecimiento. - Las versiones de SNMP más utilizadas son dos
- SNMP versión 1 (SNMPv1) y
- SNMP versión 2 (SNMPv2).
- Ambas versiones tienen varias características en
común, pero SNMPv2 ofrece mejoras. - SNMP en su última versión (SNMPv3) posee cambios
significativos con relación a sus predecesores,
sobre todo en aspectos de seguridad, sin embargo
no ha sido aceptado mayoritariamente por la
industria.
21Componentes básicos de SNMP
- Una red administrada a través SNMP consiste de
tres componentes claves - Dispositivos administrados.
- Agentes.
- Sistemas administradores de red (NMSs)
- Un dispositivo administrado es un nodo de red que
contiene un agente SNMP y reside en una red
administrada. Estos recogen y almacenan
información de administración, la cual es puesta
a disposición de los NMSs usando SNMP. Los
dispositivos administrados, a veces llamados
elementos de red, pueden ser routers, servidores
de acceso, switches, bridges, hubs, computadores
o impresoras. - Un agente es un módulo de software de
administración de red que reside en un
dispositivo administrado. Un agente posee un
conocimiento local de información de
administración, la cual es traducida a un formato
compatible con SNMP. - Un NMS ejecuta aplicaciones que supervisan y
controlan a los dispositivos administrados. Los
NMSs proporcionan el volumen de recursos de
procesamiento y memoria requeridos para la
administración de la red. Uno o más NMSs deben
existir en cualquier red administrada.
22Contexto del protocolo SNMP
23Comandos básicos de SNMP
- Los dispositivos administrados son supervisados y
controlados usando cuatro comandos SNMP básicos - lectura,
- escritura,
- notificación y
- operaciones transversales.
- El comando de lectura es usado por un NMS para
supervisar elementos de red. El NMS examina
diferentes variables que son mantenidas por los
dispositivos administrados. - El comando de escritura es usado por un NMS para
controlar elementos de red. El NMS cambia los
valores de las variables almacenadas dentro de
los dispositivos administrados. - El comando de notificación es usado por los
dispositivos administrados para reportar eventos
en forma asincrónica a un NMS. Cuando cierto tipo
de evento ocurre, un dispositivo administrado
envía una notificación al NMS. - Las operaciones transversales son usadas por el
NMS para determinar qué variables soporta un
dispositivo administrado y para recoger
secuencialmente información en tablas de
variables, como por ejemplo, una tabla de rutas.
24Base de información de administración SNMP (MIB)
- Una base de información de administración (MIB)
es una colección de información que está
organizada jerárquicamente. - Las MIBs son accedidas usando un protocolo de
administración de red, como por ejemplo, SNMP. - Un objeto administrado (algunas veces llamado
objeto MIB, objeto, o MIB) es uno de cualquier
número de características específicas de un
dispositivo administrado. Los objetos
administrados están compuestos de una o más
instancias de objeto, que son esencialmente
variables. - Existen dos tipos de objetos administrados
Escalares y tabulares. Los objetos escalares
definen una simple instancia de objeto. Los
objetos tabulares definen múltiples instancias de
objeto relacionadas que están agrupadas
conjuntamente en tablas MIB. - Un ejemplo de un objeto administrado es atInput,
que es un objeto escalar que contiene una simple
instancia de objeto, el valor entero que indica
el número total de paquetes AppleTalk de entrada
sobre una interfaz de un router. - Un identificador de objeto (object ID) únicamente
identifica un objeto administrado en la jerarquía
MIB. La jerarquía MIB puede ser representada como
un árbol con una raíz anónima y los niveles que
son asignados por diferentes organizaciones.
25Jerarquías asignadas por las diferentes
organizaciones
26Árbol MIB (2)
- Los identificadores de los objetos ubicados en la
parte superior del árbol pertenecen a diferentes
organizaciones estándares, mientras los
identificadores de los objetos ubicados en la
parte inferior del árbol son colocados por las
organizaciones asociadas. - Los vendedores pueden definir ramas privadas que
incluyen los objetos administrados para sus
propios productos. - Las MIBs que no han sido estandarizadas
típicamente están localizadas en la rama
experimental. - El objeto administrado atInput podría ser
identificado por el nombre de objeto
iso.identified-organization.dod.internet.private.e
nterprise.cisco.temporary.AppleTalk.atInput o por
el descriptor de objeto equivalente
1.3.6.1.4.1.9.3.3.1.
27MIB - 2
- El corazón del árbol MIB se encuentra compuesto
de varios grupos de objetos, los cuales en su
conjunto son llamados mib-2. - Los grupos son los siguientes
- System (1)
- Interfaces (2)
- AT (3)
- IP (4)
- ICMP (5)
- TCP (6)
- UDP (7)
- EGP (8)
- Transmission (10)
- SNMP (11)
28Mensajes SNMP
- Para realizar las operaciones básicas de
administración, el protocolo SNMP utiliza un
servicio no orientado a la conexión (UDP) para
enviar un pequeño grupo de mensajes (PDUs) entre
los administradores y agentes. - Utilizar un mecanismo de este tipo asegura que
las tareas de administración de red no afectarán
al rendimiento global de la misma, ya que se
evita la utilización de mecanismos de control y
recuperación como los de un servicio orientado a
la conexión (TCP). - Los puertos asignados por la IANA para SNMP son
- Puerto Protocolo Descripción
- 161 tcp SNMP
- 161 udp SNMP
- 162 tcp SNMP-trap
- 162 udp SNMP-trap
29Mensajes SNMP (2)
- GetRequest A través de este mensaje el NMS
solicita al agente retornar el valor de un objeto
de interés mediante su nombre. En respuesta el
agente envía una respuesta indicando el éxito o
fracaso del requerimiento. Si el requerimiento
fue adecuado, el mensaje resultante también
contendrá el valor del objeto solicitado. Este
mensaje puede ser usado para recoger un valor de
un objeto, o varios valores de varios objetos, a
través del uso de listas. - GetNextRequest Este mensaje es usado para
recorrer una tabla de objetos. Una vez que se ha
usado un mensaje GetRequest para recoger el valor
de un objeto, puede ser utilizado el mensaje
GetNextRequest para repetir la operación con el
siguiente objeto de la tabla. Siempre el
resultado de la operación anterior será utilizado
para la nueva consulta. De esta forma un NMS
puede recorrer una tabla de largo variable hasta
que haya extraído toda la información para cada
fila existente. - SetRequest Este tipo de mensaje es utilizado por
el NMS para solicitar a un agente modificar
valores de objetos. Para realizar esta operación
el NMS envía al agente una lista de nombres de
objetos con sus correspondientes valores. - GetResponse Este mensaje es usado por el agente
para responder un mensaje GetRequest,
GetNextRequest, o SetRequest.
30Mensajes SNMP (3)
- Trap Un trap es generado por el agente para
reportar ciertas condiciones y cambios de estado
a un proceso de administración. - SNMP inicialmente soportó un número limitado de
traps desde los dispositivos administrados - Cold start Indica que el agente ha sido
inicializado o reinicializado. - Warm start Indica que la configuración del
agente ha cambiado. - Link down Indica el cambio en el estado (fuera
de servicio) de una interfaz de comunicación. - Link up Indica el cambio en el estado (en
servicio) de una interfaz de comunicación. - Authentication failure Indica que el agente ha
recibido un requerimiento de un administrador no
autorizado. - EGP neighbor loss Indica que en sistemas en que
los routers están utilizando el protocolo EGP, un
equipo colindante se encuentra fuera de servicio.
- Todos los nuevos traps que son incluidos por los
vendedores se encuentran clasificados en la
categoría enterprise. - GetBulkRequest Este mensaje es usado por un NMS
que utiliza la versión 2 del protocolo SNMP
típicamente cuando es requerida una larga
transmisión de datos, tal como la recuperación de
largas tablas. En este sentido es similar al
mensaje GetNextRequest usado en la versión 1 del
protocolo, sin embargo, GetBulkRequest es un
mensaje que implica un método mucho más rápido y
eficiente, ya que a través de un solo mensaje es
posible solicitar valores de múltiples objetos
administrados. - InformRequest Un NMS que utiliza la versión 2
del protocolo SNMP transmite un mensaje de este
tipo a otro NMS con las mismas características,
para notificar información sobre objetos
administrados.
31SNMP v3
- Define capacidades de seguridad en conjunto para
emplear sobre SNMP v1 y v2
32Tipos de ataques a redes
- Exploit (explotar, aprovechar) es el nombre con
el que se identifica un programa informático
malicioso, o parte del programa, que trata de
forzar alguna deficiencia o vulnerabilidad de
otro programa. - El fin puede ser la destrucción o inhabilitación
del sistema atacado, aunque normalmente se trata
de violar las medidas de seguridad para poder
acceder al mismo de forma no autorizada y
emplearlo en beneficio propio o como origen de
otros ataques a terceros. - Los exploits se pueden caracterizar según las
categorías de vulnerabilidades utilizadas - de desbordamiento de buffer.
- de condición de carrera (race condition).
- de error de formato de cadena (format string
bugs). - de Cross Site Scripting (XSS).
- de Inyección SQL.
- de Inyección de Caracteres (CRLF).
- de denegación del servicio (DoS)
- de Inyección múltiple HTML (Multiple HTML
Injection). - de ventanas engañosas o mistificación de ventanas
(Window Spoofing).
33Sniffing
- Un sniffer (un sniffer de paquetes), se define
como una pieza de software o hardware que se
conecta a una red informática y supervisa todo el
tráfico que pasa por la misma. - Registra la información que envían los
periféricos, así como la actividad realizada en
un determinado ordenador. - Al igual que los dispositivos de intervención de
teléfonos que usan las autoridades para escuchar
conversaciones de otras personas, un programa de
sniffing permite a alguien escuchar las
conversaciones entre ordenadores que fluyen por
las redes.
34Riesgos
- Son una amenaza grave para la seguridad no sólo
de una máquina sino también de toda una red. - Lamentablemente, una gran cantidad de tráfico
confidencial viaja en claro, sin ningún tipo de
cifrado, por las redes de la mayoría de las
empresas. - Ese es el entorno ideal para un sniffer, que
puede acceder de forma transparente a esa
información, y permitir que alguien abuse de su
conocimiento. - Por eso es muy importante realizar búsquedas
periódicas de sniffers dentro de las redes de
cualquier empresa, no sólo por el daño que puedan
causar, sino también porque encontrarlos es señal
de que se ha producido y explotado una grave
brecha y hay que tomar medidas inmediatas. - Existen casos en los que un sniffer no es
peligroso. A veces, explorando una red en busca
de sniffers se detectará que hay algunos, por
ejemplo, en máquinas que dependen del
departamento de administración de redes. - Esto puede ocurrir porque, en realidad, un
sniffer no se diferencia demasiado de una
herramienta de monitorización y diagnosis del
tráfico de red que puede estar siendo
legítimamente utilizada por personal encargado de
la administración de la red. - Otros dispositivos, especialmente routers y hub,
suelen producir falsos positivos que hay que
tener en cuenta.
35Usos típicos de un sniffer
- Captura automática de contraseñas enviadas en
claro y nombres de usuario de la red. Esta
capacidad es utilizada en muchas ocasiones por
hackers para atacar sistemas a posteriori. - Conversión del tráfico de red en un formato
entendible por los humanos. - Análisis de fallos para descubrir problemas en la
red, tales como por qué el computador A no
puede establecer una comunicación con el
computador B? - Medición del tráfico, mediante el cual es posible
descubrir cuellos de botella en algún lugar de la
red. - Detección de intrusos, con el fin de descubrir
hackers. - Existen programas específicos llamados Sistemas
de Detección de intrusos (Intrusion Detection
System - IDS ), que son prácticamente sniffers
con funcionalidades específicas. - Creación de registros de red, de modo que los
hackers no puedan detectar que están siendo
investigados.
36Búsqueda de sniffers
- Hay diferentes aproximaciones sobre cómo detectar
un sniffer, según se tenga acceso local a la
máquina, o bien haya que descubrirlos desde
alguna máquina remota. - El objetivo que la mayoría de pruebas tratan de
conseguir es que la máquina que tiene la tarjeta
de red en modo promiscuo se traicione a sí misma,
revelando que ha tenido acceso a información que
no iba dirigida a ella y que, por tanto, tiene un
sniffer. - Éste es un objetivo ambicioso y complejo que,
lamentablemente, puede no ser alcanzado, ya que a
veces resulta completamente imposible detectar un
sniffer. - Por ejemplo, si el sniffer ha sido diseñado
exclusivamente para esta tarea (generalmente
dispositivos hardware), entonces no devolverá
jamás un paquete, no establecerá nunca una
comunicación, sino que permanecerá siempre en
silencio y su detección remota será, simplemente,
imposible. - La detección de este tipo de sniffers sólo puede
hacerse por inspección directa de los
dispositivos conectados a la red.
37Técnicas de detección local
- Aunque no se trata de una tarea trivial, ésta es,
con mucho, la situación en que resulta más
sencillo localizar un sniffer. - Normalmente basta con revisar la lista de
programas en ejecución para detectar alguna
anomalía ( CTRLALTSUPR o psauxmore ). - Otro buen sitio donde mirar es en la lista de los
programas que se inician automáticamente al
encender el PC archivos /etc/rc.d/rcX.d/ o
.bashrc, etc... en un sistema Unix y autoexec.bat
o ciertas claves del Registry en una máquina
Windows) o las tareas programadas (cron, at). - Es importante destacar que los ejemplos
anteriores son sólo triviales y no pretenden ser
una enumeración exhaustiva. - Hay decenas de posibilidades, algunas muy
ingeniosas y nada elementales. - Cualquier novedad o anomalía debe ser investigada
en profundidad porque podría revelar no sólo un
sniffer en funcionamiento sino también otros
programas que supongan una grave amenaza virus,
troyanos, gusanos, etc... - Herramientas de detección local En una máquina
con alguno de los sistemas operativos de la
familia Unix se dispone de una utilidad que
resulta especialmente valiosa en la lucha contra
los sniffers ifconfig, que informa del estado de
todas las interfaces de red del sistema e indica
si alguna de ellas se encuentra en modo
promiscuo. Evidentemente, esta metodología de
detección local de sniffers depende del buen
funcionamiento de ifconfig.
38Detección remota desde el mismo segmento de red
- Es en este entorno donde el administrador de
seguridad tiene que realizar su investigación con
mayor frecuencia. - Existen técnicas heurísticas útilies, aunque
tienen limitaciones Puede que exista un sniffer
en la red que no sea detectado (falso negativo) o
que máquinas o usuarios completamente inocentes
sean detectados como sniffers (falsos positivos).
- Por su ámbito de aplicación, estas técnicas se
pueden dividir en dos grupos - Dependientes del sistema operativo. Como su
propio nombre indica, estas técnicas usan algún
fallo o característica propia de determinados
sistemas operativos (o parte de ellos, como el
subsistema TCP/IP) para reconocer a una tarjeta
de red en modo promiscuo. La ventaja que tienen
es su excelente rendimiento cuando se exploran
máquinas que tienen justamente la versión del
sistema operativo del que la técnica obtiene
partido. La desventaja fundamental es el gran
número de falsos negativos que ocasiona debido a
que en muchos casos las implementaciones de la
pila TCP/IP varían entre versiones del mismo
sistema operativo con la acción a nivel físico,
es volver a inspeccionar la MAC de destino,
aunque también se puede hacer a nivel de IP. - No dependientes del sistema operativo. En general
son menos fiables y menos concluyentes. Suelen
basarse en suposiciones sobre el comportamiento
de determinados sniffers, que pueden no darse en
casos concretos, convirtiendo alguna de estas
técnicas en completamente inútiles. Otras son más
generales, pero poco resolutivas, porque no
clasifican, simplemente dan indicios que en
muchos casos no son suficientes. No suelen
proporcionar muchos falsos positivos, aunque
pueden ser burladas y utilizadas para inculpar a
terceras personas. Tampoco falsos negativos,
aunque la última generación de sniffers ya
incorpora técnicas de evasión bastante
sofisticadas que evita su detección.
39Spoofing
- Uso de técnicas de suplantación de identidad
generalmente con usos maliciosos o de
investigación. En general, se puede englobar
dentro de spoofing cualquier tecnología de red
susceptible de sufrir suplantaciones de
identidad. - Existen diferentes tipos
- IP spoofing Sustituir IP origen de un paquete
TCP/IP por otra IP a la cual se desea suplantar. - ARP spoofing Construcción de tramas ARP de
solicitud y respuesta falseadas con el objetivo
de falsear la tabla ARP (relación IP-MAC) de una
víctima y forzarla a que envíe los paquetes a un
host atacante en lugar de hacerlo a su destino
legítimo. - DNS spoofing Falsear relación "Nombre de
dominio-IP" ante una consulta de resolución de
nombre resolver con una dirección IP falsa un
cierto nombre DNS o viceversa. Esto se consigue
falseando las entradas de la relación Nombre de
dominio-IP de un servidor DNS, mediante alguna
vulnerabilidad del servidor en concreto o por su
confianza hacia servidores poco fiables. Las
entradas falseadas de un servidor DNS son
susceptibles de infectar (envenenar) el caché DNS
de otro servidor diferente (DNS Poisoning).
40Spoofing (2)
- Web spoofing Enruta la conexión de una víctima a
través de una página falsa hacia otras páginas
WEB con el objetivo de obtener información de
dicha víctima (páginas WEB visitas, información
de formularios, contraseñas etc.). La página WEB
falsa actúa a modo de proxy solicitando la
información requerida por la víctima a cada
servidor original y saltándose incluso la
protección SSL. El atacante puede modificar
cualquier información desde y hacia cualquier
servidor que la víctima visite. La víctima puede
abrir la página Web falsa mediante cualquier tipo
de engaño, incluso abriendo un simple LINK. Es
difícilmente detectable, quizá la mejor medida es
algún plugin del navegador que muestre en todo
momento la IP del servidor visitado, si la IP
nunca cambia al visitar diferentes páginas Web
significará que probablemente estemos sufriendo
este tipo de ataque. - e-mail spoofing Usada para enviar e-mails hoax,
como suplemento perfecto para el uso de phising y
para SPAM. Es tan sencilla como usar un servidor
SMTP configurado para tal fin. Para protegerse se
debería comprobar la IP del remitente, para
averiguar si realmente esa ip pertenece a la
entidad que indica en el mensaje y la dirección
del servidor SMTP utilizado. Otra técnica de
protección es el uso de firmas digitales.
41Desbordamiento de búfer
- Un desbordamiento de búfer (buffer overflow) es
un error de software que se produce cuando se
copia una cantidad más grande de datos sobre un
área más pequeña sin interrumpir la operación,
sobrescribiendo otras zonas de memoria. - En algunas ocasiones eso puede suponer la
posibilidad de alterar el flujo del programa
pudiendo hacer que éste realice operaciones no
previstas. - Esto es posible dado que en las arquitecturas
comunes de ordenadores, la memoria no tiene
separación entre la dedicada a datos y a
programa. - Si el programa que tiene el error en cuestión
tiene privilegios especiales se convierte además
en un fallo de seguridad. - El código copiado especialmente preparado para
obtener los privilegios del programa atacado se
llama shellcode.
42Referencias en Internet(Conjunto mínimo en
español)
- Seguridad en UNIX y Redes (otro link)
- Criptonomicon
- Secure Socket Layer (SSL)
- Transport Layer Security
- Centro de información de SSL - VeriSign, Inc.
- Firewalls, Routers y Proxys
- BULMA iptables y NAT para vagos
- SASL
- SNMP
- Introducción al arte del sniffing
- Guía breve de detección de sniffers en una red
- Spoofing
43Referencias en Internet (en Inglés)
- Network Access Control Learning Guide
- Information Security Learning Guides
- Página oficial de SNMP
- Net-SNMP
- Página oficial de OpenSSL
- Guide to IP Layer Network Administration with
Linux V0.4.4 Martin A. Brown
44Bibliografía en Textos
- Eric Maiwald Fundamentos de Seguridad de Redes
Parte III. Tecnologías de seguridad. - William Stalings Fundamentos de Seguridad en
Redes Aplicaciones y Estándares Segunda Parte.
Aplicaciones de seguridad en redes. - Richard Bejtlich El Tao De La Monitorización De
La Seguridad De Redes Prentice Hall 1ra ed.
2005, ISBN 8420546003