Seguridad Informatica en 8 TEMAS

172
TEMA 1. INTRODUCCIÓN A LA SEGURIDAD INFORMÁTICA 1.1 Modelos de referencia Protocolo- conjunto de reglas que hay que observar y cumplir para la operación que llevemos a cabo tenga éxito. Coordinan el intercambio de información. Capas o Niveles- Nos permiten reducir la complejidad de un diseño. Cada capa se construye sobre la inferior, de tal forma que cuando se necesite un servicio, se solicitará a la capa inferior. Interfaz- Una interfaz define que operaciones y servicios ofrece la capa inferior a la capa superior. Arquitectura de red- Es un conjunto de capas y protocolos. Servicios- Un servicio NO ES un protocolo. Es un conjunto de primitivas. Hay 4 primitivas: o Petición (Request) o Indicación (Indication) o Respuesta (Response) o Confirmación (Confirmation) *Ejemplo: María a través del teléfono invita a Pedro a ir al cine. FASE CONEXIÓN (servicio confirmado) 1- Conexión (María marca el número de teléfono de Pedro)/Connect request M 2- Suena el teléfono en casa de Pedro/ Connect indication P 3- Transferencia de información (Pedro descuelga el teléfono)/ Connect response P 4- El teléfono deja de llamar/ connect confirmation M FASE DE TRANSFERERNCIA DE INFORMACIÓN O DATOS (servicio no confirmado) 5- María invita a Pedro a ir al cine/ data request 6- Pedro escucha la invitación/ data indication 7- Pedro contesta que sí/ data request 8- María escucha la respuesta/ data indication... ... FASE DE DESCONEXIÓN (servicio no confirmado) N-1- María cuelga el teléfono/ disconnect request N- Pedro escucha que María colgó/ disconnect indication Servicio no confirmado Servicio confirmado

Transcript of Seguridad Informatica en 8 TEMAS

Page 1: Seguridad Informatica en 8 TEMAS

TEMA 1. INTRODUCCIÓN A LA SEGURIDAD

INFORMÁTICA

1.1 Modelos de referencia

Protocolo- conjunto de reglas que hay que observar y cumplir para la

operación que llevemos a cabo tenga éxito. Coordinan el intercambio de

información.

Capas o Niveles- Nos permiten reducir la complejidad de un diseño. Cada

capa se construye sobre la inferior, de tal forma que cuando se necesite un

servicio, se solicitará a la capa inferior.

Interfaz- Una interfaz define que operaciones y servicios ofrece la capa

inferior a la capa superior.

Arquitectura de red- Es un conjunto de capas y protocolos.

Servicios- Un servicio NO ES un protocolo. Es un conjunto de primitivas.

Hay 4 primitivas:

o Petición (Request)

o Indicación (Indication)

o Respuesta (Response)

o Confirmación (Confirmation)

*Ejemplo: María a través del teléfono invita a Pedro a ir al

cine.

FASE CONEXIÓN (servicio confirmado)

1- Conexión (María marca el número de teléfono de Pedro)/Connect request M

2- Suena el teléfono en casa de Pedro/ Connect indication P

3- Transferencia de información (Pedro descuelga el teléfono)/ Connect response

P

4- El teléfono deja de llamar/ connect confirmation M

FASE DE TRANSFERERNCIA DE INFORMACIÓN O DATOS

(servicio no confirmado)

5- María invita a Pedro a ir al cine/ data request

6- Pedro escucha la invitación/ data indication

7- Pedro contesta que sí/ data request

8- María escucha la respuesta/ data indication...

...

FASE DE DESCONEXIÓN (servicio no confirmado)

N-1- María cuelga el teléfono/ disconnect request

N- Pedro escucha que María colgó/ disconnect indication

Servicio no confirmado

Servicio confirmado

Page 2: Seguridad Informatica en 8 TEMAS

1.2 Modelo OSI

Antes de la aparición de las redes, el problema más notorio que teníamos que solucionar era

lo de "compartir" (datos, periféricos...), con lo cuál

lo ideal era volver a tener unas conexiones como las que teníamos con los mainframes pero

con la diferencia que las terminales ya no son "terminales tontas",

serían terminales independientes.

A la hora de montar las redes, cada fabricante tenía su propia arquitectura y ello suponía que

entre distintos fabricantes los equipos fuesen incompatibles.

Ante esta situación se planteó hacer un modelo de forma que si todos los fabricantes lo

asumiesen no hubiera ese problema: 1978 Open System Interconnection OSI creado por

International Organization for Standarization IOS/ISO en 1983 y mientras éste estaba

creándose se formaba TCP/IP. El modelo OSI no se llegó a implementar pero nos ha quedado

como modelo para el estudio de las redes.

Servicios de información distribuida

Servicio de intercambio de mensajes

independientes de la sintaxis

Servicio de intercambio de mensajes

independientes de la red

Conexiones físicas con el equipo

terminal de red

Proceso de aplicación de usuario final

Transferencia, acceso y gestión de archivos,

intercambio de documentos y mensajes,

transferencia y manipulación de trabajos

Negociación de sintaxis de transferencia,

transformaciones de representación de

datos (protección de datos)

Control y sincronización de diálogos para

entidades de aplicación

Transferencia de mensajes de extremo a

extremo (gestión de conexiones, control de

errores, fragmentación, control de flujo)

Enrutamiento, direccionamiento,

preparación de llamadas y liberación de la

red

Control de enlace de datos (entramado,

transparencia de datos, control de errores)

Definiciones de interfaces de redes

mecánicas y eléctricas

Red de comunicaciones de datos

Capa de aplicación

Capa de presentación

Capa de sesión

Capa de transporte

Capa de red

Capa de

aplicació

Capa de enlace

Capa física

Page 3: Seguridad Informatica en 8 TEMAS

CAPAS

Conceptos a tener en cuenta:

Cabecera: en inglés Header, obtenemos la letra "h" del término inglés para asociarlo a cada capa con su primera sigla (también en inglés)

Aplicación- Aplication (HA); Presentación- Presentation (HP); Sesión- Sesion (HS); Transporte- Transport (HT); Red- Network (HN); Enlace- Link (HL)

; Fisica- Phisical (A tener en cuenta en los Protocolos, no lleva cabecera el mensaje aquí).

Cola: en inglés Trailer o Tail. De ahí que en la capa de Enlace y red aparezca "TL" (Trailer Link).

Encapsular: se trata de la acción de poner una cabecera.

Desencapsular: acción de quitar una cabecera.

Page 4: Seguridad Informatica en 8 TEMAS

Mensaje / SDU: Conocido como SDU (Service Data Unit).

SAP: Service Access Point. Es el punto de acceso para entrar en cada capa, como por ejemplo la IP en la capa de Red o el Número de Puerto en la

capa de Transporte.

ICI: Interface Control Information. Información entre capas. Se trata de una información para esa capa y es en ella donde desaparece.

IDU: ICI + SDU. Interface Data Unit.

PCI: Protocol Control Information. Son las "H" del esquema anterior.

PDU: PCI + SDU. Protocol Data Unit

Page 5: Seguridad Informatica en 8 TEMAS

* Las direcciones físicas son solo válidas en el enlace.

COLISIÓN - Se trata donde pueden "chocar" los paquetes

DOMINIO

DIFUSIÓN - Está formado por todos aquellos equipos que son capaces de escuchar las difusiones.

* Para romper el dominio de difusión hay que llegar a la capa de red y para romper el dominio de colisión hay que llegar a la capa de enlace.

MULTICAST- Dirigida (Ejemplo: a todos los componentes de una subred)

BROADCAST - A todos (Global)

Básicamente a la hora de acceder al medio tenemos dos posibilidades, utilizar un método que use testigos o no. En el caso de que use testigos no hablamos

de dominios de colisión. El testigo (token) es una trama que se suele utilizar en redes estilo “anillo”.

Por cada puerto del Router tenemos un dominio de difusión y uno de colisión.

Page 6: Seguridad Informatica en 8 TEMAS

DOMINIOS DE COLISIÓN Y DIFUSIÓN

Page 7: Seguridad Informatica en 8 TEMAS

ENTORNOS

IMPORTANTE: El modelo OSI (Open System Interconnection) es también conocido como el ISO 7498 u ITU –T X200. A continuación se muestran distintos

modelos de los cuales es importante saber a quién pertenece cada uno

Page 8: Seguridad Informatica en 8 TEMAS

MODELOS DE REFERENCIA Aplicación

Servicios de

transacción

Aplicación

DNA

FTP,

SMTP

Protocolo principal de

Netware

AppleShare Bloques del mensaje

del servidor

Sistema de archivos de red

Servicios de

presentación

Presentación

NFS, DNS

AFP

Control de

sesión de la

DNA Sesión

TELNET Conductores

nominados

NetBIOS ASP ADSP ZIP PAP NetBIOS Conductores

nominados

SMTP FTP TELNET SNMP

Control del

flujo de

datos

Transporte

Transporte TCP, UDP SPX ATP NBP AEP RTMP NetBEUI TCP

Control de la transmisión

Red

Red IP, ARP IPX DDP IP

Control de trayecto

Enlace de

datos

Subnivel

LLC

IEEE

802.2

Enlace de

datos

Controladores LAN Controladores LAN Controladores LAN Controladores LAN

Control de

enlace de datos Subnivel

MAC

ODI NDIS Local-

Talk

Ether-

Talk

Token-

Talk

NDIS MAC

Físico

Físico

Control físico Físico Físico Físico Físico Físico

OSI Modelo Especif. SNA DNA TCP/IP NetWare AppleTalk LAN Manager UNIX

IEEE IEEE

http://www.ieee802.org/dots.shtml

IEEE: Institutos de Ingenieros de Electricidad y Electrónica; SNA (Systems Network Architecture- IBM) La segunda generación de SNA es APPN (Advanced Peer to Peer

Network). En esta segunda generación toma mayor importancia los dispositivos intermedios (como los Routers), abandonando el entorno de mainframe; DNA (Digital Network

Architecture)- Digital Equipment Corporation ahora parte de HP. ; TCP/IP (Protocolo de Control de Transmisión/Protocolo de Internet) Departamento de defensa (ARPANET); Netware (Novell); AppleTalk (Macintosh Apple) 1983 destacaríamos de este modelo la asignación dinámica de direcciones. Cuando se enciende una máquina se le asigna

automáticamente un número de red y un número de nodo. El número de red está comprendido entre 65280 y 65534 y un número de nodo entre el 1 y 253. La máquina se

pone en contacto con el router que esté en la misma red y éste comprueba si ese número de red sirve para su red, si no da el visto bueno, se asigna un nuevo número de red. En el momento en el que número de red es correcto, difunde un mensaje por la red para comprobar si el número de nodo ha sido cogido. Otra propiedad que las caracteriza

son las zonas. Zonas: un conjunto de dispositivos que no tienen por qué estar físicamente cercanos. Para poder conectar un ordenador Apple a una red “no Apple” lo que se

hace es utilizar la implementación correspondiente (Ej: Ether Talk). ; LAN Manager (Local Area Network Manager) (Microsoft); UNIX (UNIX/LINUX) (AT&T utilizó como

compañía de hardware a Digital) 1993 AT&T vendió la patente a Novell, éste atravesó serios problemas y traspasó la patente original a SCO (Santa Cruz Operation), paralelamente otras empresas como SUN le fueron copando mercado.

IEEE 8

02

.3

...¨

¨

Page 9: Seguridad Informatica en 8 TEMAS

DOMINIOS DE UNA LAN

1/ DOMINIOS DE ACCESO AL MEDIO

Dominio de colisión

Dominio de misión de testigo

2/ DOMINIOS DE DIFUSIÓN

Dominio de colisión: Está formado por todos aquellos dispositivos cuyos paquetes puede colisionar.

Dominio de transmisión de testigo: Está formado por todos aquellos dispositivos que transmiten testigos.

Dominio de difusión: Está formado por todos aquellos dispositivos que “escuchan” las difusiones.

1.3- ARQUITECTURA DE SEGURIDAD OSI-RM (Open System Interconnection /

Reference Model)

ISO 7498 International Organization for Standarization ITU X-200 International Telecommunication Union.

Se desarrolló un modelo pero, además de tener sus ventajas, tenía un gran inconveniente que era la seguridad.

Debido a ello se definió un nuevo modelo en 1988 el ISO 7498-2 (ITU X-800). Aunque no todas las

arquitecturas de interconexión siguen esta normativa nos valdrá para establecer equivalencias entre lo que los

servicios de una capa ofrecen a otra capa.

El ISO 7498 trata de la arquitectura de seguridad del modelo de referencia OSI, proponiendo

fundamentalmente un conjunto de servicios y de mecanismos para proteger los datos durante la

transmisión.

Los mecanismos se pueden usar para proporcionar, ya sea total o parcialmente, varios servicios.

Page 10: Seguridad Informatica en 8 TEMAS

SEGURIDAD

Servicios Mecanismos

Autenticación

o

Autentificación

Control

de

Acceso

Confidencialidad

de los

Datos

Integridad

de los

Datos

No

repudio

De seguridad

Específicos

De seguridad

Generalizados

Cifrado

Firma Digital

Control de Acceso

Integridad de Datos

Intercambio de

Autenticación

Relleno de Tráfico

Control de

Encaminamiento

Certificación

Funcionalidad de

Confianza

Etiquetas de

Seguridad

Detección de Eventos

Traza de Auditoria de

Seguridad

Recuperación de

Seguridad

Page 11: Seguridad Informatica en 8 TEMAS

SEGURIDAD

Servicios

Autenticación

o

Autentificación

Control

de

Acceso

Confidencialidad

de los

Datos

Integridad

de los

Datos

No

repudio

Par o de la Pareja

Del origen de los

Datos

Prueba de

Conocimiento

Prueba de la

Posesión

Prueba de la

Propiedad

Orientados a

Conexión (CO)

No orientados a

Conexión (CL)

En campos

Seleccionados

De Flujo de Tráfico

CO con

recuperación de

Datos

CO sin recuperación

de Datos

CO en campos

Seleccionados

No orientados a

Conexión (CL)

CL en campos

Seleccionados

Con prueba de

origen

Con prueba de

destino

Page 12: Seguridad Informatica en 8 TEMAS

INTRODUCCIÓN A LA SEGURIDAD DE LA INFORMACIÓN (SI)

Actualmente la seguridad de la información es un elemento que ha tomado una gran relevancia dado que su no

aseguración puede llevar a la paralización de una empresa.

¿Qué es la seguridad? Se trata de proteger los bienes. “Calidad relativa resultado del equilibrio entre el riesgo y

las medidas adoptadas para apaliarlo” A mayor riesgo mayores medidas de protección lo que da lugar a la

proporcionalidad.

¿Qué es el riesgo? El riesgo es una combinación de amenazas a la seguridad de vulnerabilidades y del valor del

elemento en cuestión. Sobre las amenazas no podemos actuar ni sobre el valor de los elementos pero si

podemos actuar sobre las vulnerabilidades tomando unas medidas de seguridad.

La seguridad de las comunicaciones va a tener como objetivo la protección de las mismas tanto a nivel local

como durante su transmisión a través de las redes.

ISO 7498-2 define servicio de seguridad como “la prestación de un sistema basado en tecnología de la

información que contribuye a incrementar la seguridad del mismo”, sin embargo los expertos prefieren más que

trabajar con una definición, trabajar con unos objetivos que son los siguientes:

La confidencialidad (la información solo sea revelada a los usuarios autorizados)

La integridad (que la información no sea modificada)

La disponibilidad (se refiere a que la información esté disponible cuando y como lo requiera los

usuarios autorizados)

Desde el punto de vista general entonces podríamos decir que la seguridad se centra básicamente en 2

aspectos, por un lado las herramientas y por otro lado el factor humano.

Las herramientas pueden ser tanto lógicas (ejemplo contraseña) como físicas (ejemplo el servidor metido en

una caja de hierro)

Ingeniería social es una muestra de confianza para conseguir información.

Medidas de protección

La seguridad supone integrar distintas medidas:

Medidas Lógicas (medidas técnicas): Se utilizan para proteger el software y los datos y se pueden

implementar mediante dispositivos hardware o software.

o Criptografía: La criptografía es cifrar la información. Es la base de la mayoría de los servicios de

seguridad.

o Los sistemas operativos: Los sistemas operativos son los que me van a garantizar disponer de

los recursos y me van a garantizar la integridad de los datos.

o Las bases de datos: Los sistemas gestores de bases de datos me van a garantizar aquellos

aspectos que no me garantizan los sistemas operativos.

o La seguridad en las redes: El hecho de conectar el ordenador a otros implica que nos

exponemos a una serie de peligros y hoy en día no nos podemos plantear evitar.

Medidas Físicas: Son las primeras que se adoptan porque su costo no suele ser exagerado y porque no

adoptarlas suele conllevar consecuencias drásticas. Ejemplos: Inundaciones, incendios…

Medidas administrativas: Son cuestiones organizativas y que están relacionadas con: Establecer una

política de seguridad, Análisis de riesgos, Política de personal, Asignación de responsabilidades…

Normativa legal: Son las disposiciones regales que regulan y protegen la información y los equipos.

(ver tema 9)

Page 13: Seguridad Informatica en 8 TEMAS

Estrategias de seguridad

La estrategia de seguridad tiene como objetivo introducir a la Dirección (empresa, organización…) en la

importancia de la seguridad de la información y su ineludible compromiso con ella.

Supone en primer lugar definir y formalizar el papel de la Dirección en la seguridad consiguiendo un

nivel de compromiso.

En segundo lugar, definir el modelo organizativo con el que se gestionará la seguridad.

La seguridad no es un concepto aislado si no que es un proceso cíclico que influye en la política y la estrategia

de los sistemas de información.

Política de seguridad

Una política de seguridad es un conjunto de principios y de reglas donde se especifica como se va a gestionar la

protección de la información de forma efectiva. Por ello, las políticas de seguridad deben:

- Alinear los requisitos de seguridad de la información con las necesidades de negocio de la empresa u

organización

- Fomentar el apoyo de la Dirección a la seguridad

- Planificar y presupuestar la seguridad para hacerla posible y fácil de implantar

- Establecer las responsabilidades en la gestión de la seguridad

- Promocionar la divulgación, educación y formación en seguridad

- Dejar patente a los usuarios la necesidad de la seguridad de la información y como ellos pueden contribuir

a alcanzar los objetivos de seguridad

- Facilitar la implantación de los procedimientos y mecanismos de seguridad

Veremos ahora lo que establecen al respecto 2 instituciones de referencia: La OCDE y el ISSA.

OCDE (Organización de Cooperación y Desarrollo Económico): Estableció unos servicios de seguridad que son:

- Principio de contabilidad: La responsabilidad del uso de recursos debe ser explícita y exigible.

- Principio de concienciación: De que los propios usuarios sean conscientes y sensibles a las amenazas.

- Principio de ética: Es utilizar la información observando unos códigos de conducta.

- Principio de multidisciplinariedad: Las medidas afectan a varias disciplinas.

- Principio de proporcionalidad: Las medidas serán proporcionales a los riesgos.

- Principio de integración: Las medidas han de estar integradas entre sí.

- Principio de acompasamiento: Hace referencia a las substituciones públicas, privadas, nacionales o

internacionales tienen que actuar coordinadamente.

- Principio de reevaluación: Hay que evaluar la seguridad periódicamente.

- Principio de democracia: Hay que tener en cuenta los derechos de todos los individuos involucrados.

ISSA (Information Systems Security Association) Estableció unos servicios de seguridad que son:

- Principio del mínimo privilegio: Cada usuario, administrador, programa, sistema, o lo que sea, solo

debe tener los privilegios que necesita para cubrir la tarea que le ha sido asignada.

- Principio de separación de tareas y responsabilidades: Separar a los que tienen que cumplir las

normas de los que tienen que vigilar que se cumplan.

- Principio de continuidad: Las medidas deben ser continuas en el tiempo.

- Principio de anticipación: Las políticas de seguridad deben prevenir lo que es aceptable que ocurra.

Page 14: Seguridad Informatica en 8 TEMAS

1.4- Tipos de amenaza a la seguridad

Las vamos a distinguir entre físicas, basadas en el medio de transmisión, autenticación, programación y puertas

falsas:

Físicas:

o Robo: Puertas de seguridad, Atornillar el servidor, Encerrar el servidor en una caja, Tener

personal de seguridad…

o Dumpster diving (Rebuscar en la basura): No tirar en la basura discos de información usados

o Espionaje: Se considera un robo y es una amenaza con la que podemos optar por diferentes

medidas; formación del personal, autenticándonos para los recursos, captación de señales…

o Identificadores falsos: Comprobar robos de identidad añadiendo dispositivos biométricos

que nos permitirán evitar identidades falsas; huellas dactilares, control de retina, iris, rostro,

termograma del rostro, geometría de la mano, venas de las manos (vascular), voz, firma…

Sistemas Biométricos:

Page 15: Seguridad Informatica en 8 TEMAS

Análisis de vulnerabilidades de los sistemas biométricos:

1 Sensor

Los ataques a este nivel consisten en presentar una característica biométrica falsa. Por ejemplo, en un sistema de reconocimiento de

locutores, se puede burlar el sistema presentando una grabación del locutor genuino.

2 Transmisión entre el sensor y el extractor de características

Los ataques en este nivel consisten en inyectar datos biométricos almacenados previamente. Esta posibilidad es especialmente importante en aplicaciones remotas, en las que un ordenador cliente proporciona datos biométricos a un host remoto que lleva a cabo el reconocimiento. Esta situación es especialmente delicada en aplicaciones de Internet.

3 Extractor de características

En los ataques de este nivel, se fuerza al extractor de características a proporcionar valores escogidos por el impostor, en vez de las medidas reales extraídas a partir de la señal original capturada por el sensor biométrico. Este ataque suele consistir en insertar un programa que reemplaza al verdadero extractor de características.

4 Transmisión de las características extraídas

Este ataque consiste en reemplazar las características extraídas por otras falsas, o por un conjunto de características que han sido

adquiridas previamente de forma ilegal. Es parecido al ataque del punto 2.

5 Clasificador

Los ataques sobre el clasificador pretenden que éste proporcione puntuaciones (scores) mayores o menores a las reales, de forma que se

fuerce la aceptación o rechazo de un determinado usuario. Es un ataque similar al descrito en el punto 3.

6 Base de datos

El resultado de la autenticación depende de la comparación entre las plantillas o modelos almacenados en la base de datos y las

características extraídas de la muestra de entrada. Si se altera la base de datos de alguna forma, el sistema será craqueado de forma

permanente. De forma alternativa, en vez de alterar la base de datos, es posible almacenar modelos que pertenezcan a un usuario no

autorizado.

7 Transmisión de los datos de la BBDD al clasificador

Este nivel es análogo a los niveles 2 y 4. Sin embargo, aquí la suplantación de los datos reales afecta a la comunicación de los modelos (o

plantillas) almacenados en la base de datos hacia el clasificador. Puede ser importante cuando la base de datos sea remota y, por ejemplo,

compartida por varios sistemas de acceso que trabajan sobre una misma base de datos común a todos ellos.

Page 16: Seguridad Informatica en 8 TEMAS

8 Decisión

El último nivel consiste en saltarse todo el sistema biométrico y reemplazar su decisión. Por ejemplo, en un sistema de control de accesos

basado en reconocimiento biométrico, seguramente habrá un par de terminales que enviarán el resultado del sistema biométrico hacia un

actuador. El actuador puede ser tan simple como un relé que abre o cierra un circuito en función de la tensión aplicada. Actuar sobre estos

cables e inyectarles una tensión de activación sería suficiente para burlar todo el sistema biométrico, por muy seguros que sean todos los

otros puntos.

Basadas en el medio de transmisión(cables):

o Escuchas: Interceptar o “pinchar” la transmisión. A veces no es ni siquiera necesario actuar

físicamente sobre el medio si no que se pueden captar las señales que van por fuera del medio

de transmisión.

o Marcación de un número de teléfono: Se ven sobre todo cuando se emplean módems.

o Imitación: Hacer que una máquina parezca otra máquina (“gemelo maligno”)

Identificación:

o Captura de contraseñas: Se trata de sacar una pantalla exactamente igual que cuando nos

identificamos para que la persona tecle ahí su información y capturar sus datos.

o Averiguación de contraseñas: Buscar por medio de los conocimientos o deducciones lógicas

o Suposiciones basadas en algoritmos: Buscar de forma matemática que descarte por medio de

distintas posibilidades las no válidas.

o Edición de contraseñas: Parte de una brecha de seguridad interna (alguien nos pasa los datos)

y se crea una cuenta ficticia o cambiándole la contraseña a una cuenta inactiva.

Programación (malware- malicious software): Se considera malware todo software que tenga como

finalidad provocar un daño en el sistema (el ejemplo más común son los Virus). Es necesario distinguir

entre el malware (que siempre es mal intencionado) de los propios fallos del software (bugs – agujeros

de seguridad) que no son intencionados. Vamos a analizar:

o Virus: Es una secuencia de código que se inserta en otro código ejecutable de forma que cuando

se ejecuta ese código también lo hace el virus. Los virus no son programas independientes, no se

pueden ejecutar por sí solos.

El primer virus conocido se llamaba “Creeper” (Enredadera) en 1972 creado por Morris para un

IBM 360. Sacaba un mensaje que era “Hola soy una enredadera…Atrapame si puedes”. Esto dio

lugar a un antivirus (el primero que se conoce) llamado “Reaper” (Segadora). Un virus puede

entrar en el equipo a través de un correo electrónico, pendrive, dispositivo de memoria, etc.

Tipos de virus:

Virus de programas: son virus que se instalan sobre programas ejecutables y modifican

el código de ese programa sobrescribiéndolo con su propio código. Dentro de estos, se

distinguen los virus :

1. “autorun.inf” (fichero de arranque de medios extraíbles). Para evitar los

autorun.inf deberíamos eliminarlo (pero quedaríamos sin el arranque) o crear

una carpeta autorun.inf porque así no podrá generarse un archivo con el mismo

nombre.

2. Virus del registro: Las alteraciones sobre el registro que realice el virus puede

provocar que el equipo no funcione.

Los virus en el sector de arranque (también conocidos como virus boot): atacan al MBR

(Master Boot Record) que carga la BIOS para las particiones de cada disco (Se puede

regenerar con fdisk) y hace que se cargue el virus en la RAM.

Virus de BIOS (Basic Input Output System): virus que infectan la BIOS del sistema. La

BIOS es hardware porque está en un chip y es software (firmware) porque también es

un programa que está en un lenguaje de programación y que se almacena en una

memoria ROM.

Virus de Macros: puede que sean los más habituales. Forman parte de programas

sobre todo ofimáticos.

o Códigos bomba: Se llaman también bombas lógicas. Las bombas lógicas son amenazas que

permanecen latentes y que se activan por la ocurrencia de un evento como puede ser el llegar a

una determinada fecha o bien que alguien haga algo

o Caballos de Troya: Son programas que se ocultan bajo una determinada apariencia para que

hagan algo que no es lo que piensa el usuario que está haciendo.

Page 17: Seguridad Informatica en 8 TEMAS

o Gusanos (worms): Los gusanos son programas que se pueden ejecutar de forma independiente

y que van viajando por la red de nodo en nodo. Pueden hacer que parte de ellos se ejecuten en

muchas máquinas diferentes. Una vez que están dentro del equipo se comportan como un virus o

como un caballo de Troya.

o Las bacterias: Las bacterias son programas que de forma explícita no dañan ningún fichero, su

objetivo es replicarse. Terminarán ocupando todo el espacio en disco o toda la capacidad del

procesador, negando que los usuarios puedan acceder a los recursos. El establecimiento de

cuotas sería la solución a este problema.

o Otros:

Adware (advertisement): Es un software malicioso que se utiliza para mostrar publicidad

no deseada.

Backdoors (puertas traseras): Entran en un equipo sin permiso y conceden a un

programa o a ese programa derechos de administrador. Se suelen usar para espiar y para

instalar otros programas con algún fin maligno.

Botnets (bot de robot y net de network): Son redes de ordenadores que se controlan

de forma remota, se suelen utilizar para ataques masivos a un determinado servidor

mediante la técnica de denegación de servicio (“DoS” Denial of Service)

Dialers (Marcar): Programas de marcado. Establecen conexiones telefónicas

(generalmente por internet) sin consentimiento del propietario y sin que se dé cuenta de

ello.

Exploit : Software malicioso que atacan vulnerabilidades de un sistema operativo o

agujeros del sistema (bugs).

Hijacker (secuestro): son programas que se dedican a cambiar la configuración de los

navegadores, cambiando la página de inicio

Hoax(engaño): Son mensajes que nos facilitan mentiras o noticias falsas.

Joke (bromas): Son programas que simulan el comportamiento de virus pero no lo son,

simplemente son bromas.

Keyloggers (contraseñas): Son los que registran las pulsaciones del teclado.

PC-Zo-mbie: Se dice que un equipo es un zombie cuando permite que pueda ser

empleado para entrar en otros.

Phishing: Consiste en tratar de conseguir información del usuario para obtener algún

rendimiento económico como por ejemplo suplantar páginas de bancos y obtener las

cuentas y contraseñas de los clientes.

Pop ups (ventanas emergentes): Son ventanas que nos aparecen por lo general con

publicidad aunque a veces actúan también como spyware (software espia)

Rogue Software (software bandido): Es el que intenta hacer creer que el equipo está

infectado y se nos ofrecen a limpiarlo.

Rootkits: Es un software malicioso que se instala en el equipo para encubrir accesos no

permitidos u otro tipo de malware.

Spam (correo basura): Envío masivo de e-mails que no se han solicitado (normalmente

utilizados como publicidad)

Spyware (software espia): Es un software que envía información de nuestro equipo sin

nuestro consentimiento.

http://cert.inteco.es/software/Proteccion/utiles_gratuitos/

o Actualizaciones:

Es una forma habitual de acceso no autorizado al ordenador aprovechando las actualizaciones

que obligatoriamente debemos descargar.

Puertas de escape (backdoors): una puerta de escape o puerta trasera son trozos de código escritos

dentro de la aplicación o del sistema operativo para facilitar al programador el acceso sin tener que

autenticarse. Ejemplos:

Piggybacking: un usuario termina la comunicación y por alguna razón el puerto queda

abierto, lo cual es aprovechado por un atacante.

Servicios no seguros: hay servicios del sistema operativo en que muchas veces se salta

el sistema de seguridad de una máquina para facilitar una tarea.

Inicialización del sistema: por mantenimiento muchas veces es necesario reiniciar el

sistema y hay servicios de seguridad que, o no se inicializan bien, o no lo hacen

inmediatamente.

Page 18: Seguridad Informatica en 8 TEMAS

1.5- Soluciones generales a las amenazas contra la seguridad

Sistemas de detección de intrusos (Intrusion Detection System “IDS”):

Es una herramienta que tiene como objetivo proteger datos y los servicios, proporcionando disponibilidad y

privacidad. Consiste en monitorizar procesos y recursos del sistema para, analizando los datos obtenidos, llegar

a establecer si se está cometiendo o pretende cometer una intrusión.

Para saber si hay una intrusión existen unas bases de datos que contienen lo que se llaman “signaturas o

firmas” de los ataques, se analizan los procesos de los usuarios para determinar si hacen más cosas que las

que tienen permitidas hacer, y también se realiza un análisis estadístico con el fin de buscar patrones que me

indiquen actividades anómalas.

Terminología:

¿Qué es un intruso?: Un intruso es un usuario no autorizado que se hace pasar por uno que si lo es. Ejemplos:

hackers, crackers.

¿Qué es una intrusión?: Una intrusión es un conjunto de acciones para conseguir acceder al sistema

Funcionalidad de un IDS.

Un IDS puede:

Monitorizar y analizar la actividad de los usuarios y del sistema, con supervisión mínima del administrador

o usuario para su configuración

Auditar las configuraciones del sistema y vulnerabilidades

Evaluar la integridad de ficheros de datos y sistemas críticos

Reconocer patrones para identificar ataques conocidos

Analizar de forma estadística patrones con una actividad anómala

Reconocer actividades que reflejan violaciones a una política de seguridad

Emitir alertas sobre posibles incidentes

Para realizar estas tareas las ha de hacer teniendo en cuenta:

o Que se use lo mínimo de los recursos disponibles para que no afecte al desarrollo del sistema.

o Conseguir una tasa de alertas falsas positivas baja.

o Resistencia a ataques para que pueda seguir funcionando…

Por último aclarar que un IDS es un sistema pasivo porque solo detecta, si queremos detectar y tomar medidas

deberíamos utilizar un IPS (Intrusion Prevention System). Por ejemplo cuando se detecta un ataque se puede

cerrar la conexión. Por otro lado están los IDPS que realizan las dos funciones (Intrusion Detection Prevention

System)

Page 19: Seguridad Informatica en 8 TEMAS

Tipos de IDS´s

Clasificación de acuerdo con la fuente de información

Network-based IDS (NIDS): Supone utilizar un dispositivo de red configurado en modo promiscuo

(escucha todo el tráfico que pasa por su canal aunque no él no sea el destinatario) que pueda por lo tanto

“ver” todos los paquetes buscando patrones que puedan indicar un ataque.

Ejemplos:

o Snort (www.snort.org): el snort puede actuar en los siguientes modos:

Modo Sniffer: similar a “tcpdump” de Windows. Recibiendo y mostrando todos los paquetes.

Modo Logger de paquetes: registra los paquetes recibidos en un fichero.

Modo de Detección y prevención de intrusos: supone monitorizar todas las fuentes de

información para identificar ataques y en base a la comparación con determinados

patrones.

o Bro

o Suricata

o Einstein

Host-based IDS (HIDS): Si en lugar de escuchar el tráfico de la red escuchamos el de un host

determinado, obviamente nos estaremos refiriendo a un HIDS. Los HIDS fueron los primeros IDS que se

desarrollaron por la industria de seguridad informática.

Ejemplos: OSSEC, Tripwire, SWATCH, Verisys

Clasificación según tipo de análisis

Detección por anomalías: Se buscan eventos anómalos en el comportamiento del sistema. Lógicamente

esto da pie a que puedan saltar alarmas falsas. Se consideran que si de entre 20 falsas 1 es buena, el

sistema es bueno.

Detección por patrones de ataques: Supone comparar la información obtenida con unas bases de datos.

Esas bases de datos contendrán unos patrones o “signaturas / firmas” que han de estar actualizadas

constantemente.

Clasificación según tiempo de detección y granularidad de procesamiento

In-line (en tiempo real o muy cercano)

Off-line (cuando existe una demora)

Si tenemos un sistema que realice las dos funciones, tenemos un sistema hibrido.

Page 20: Seguridad Informatica en 8 TEMAS

Componentes de la arquitectura de un IDS

Para los componentes de una arquitectura de un IDS existen diversas propuestas, pero siempre van a tener los

siguientes componentes:

Fuente de información (también conocido como generador de eventos): consiste en obtener los eventos

del sistema tan pronto ocurren, estos eventos se almacenan en una base de datos o registro.

Motor de análisis (también conocido como sensor): es el que identifica el ataque. Es el cerebro del IDS.

Puede usar también una base de datos de patrones (signaturas).

Módulo de respuesta: ¿Qué hacemos cuando se detecta un ataque?

o Por ejemplo se pueden utilizar medidas pasiva como una alerta, un correo al administrador,

escribir un log…

o O utilizar medidas activas como por ejemplo bloquear un puerto, deshabilitar una cuenta de

usuario, ejecutar un software de seguridad, apagar el equipo…

1.6- Políticas de seguridad informática

Una PSI es una herramienta organizativa para concienciar a los miembros de una organización sobre la importancia y la sensibilidad de la

información y de los servicios críticos que va a permitir a una empresa desarrollarse y mantenerse en un determinado negocio. Se trata

pues de una serie de directrices que hay que seguir para asegurar la confidencialidad de su sistema.

RFC 1244 (http://www.ietf.org/rfc/rfc1244.txt) (RFC- Request for comments)

“Una declaración de intenciones de alto nivel, que cubre la seguridad de los sistemas informáticos, y que proporciona las bases para definir

y delimitar responsabilidades para las diversas actuaciones técnicas y organizativas que se requerirán”.

Las PSI deben considerar entre otras los siguientes elementos:

Alcance de las políticas, incluyendo facilidades, sistemas y personal sobre la cual se aplican

Objetivos de la política y descripción clara de los elementos involucrados en su definición

Responsabilidades por cada uno de los servicios y recursos informáticos a todos los niveles de la organización

Requerimientos mínimos para configuración de la seguridad de los sistemas

Definición de violaciones y de las consecuencias del no cumplimiento de la política

Responsabilidades de los usuarios con respecto a la información a la que tienen acceso

Page 21: Seguridad Informatica en 8 TEMAS

Parámetros para establecer las PSI:

Efectuar un ejercicio de análisis de riesgos informáticos

Involucrar a las áreas propietarias de los recursos o servicios

Comunicar a todo el personal involucrado en el desarrollo de las PSI, los beneficios y riesgos relacionados con los recursos y bienes,

y sus elementos de seguridad

Identificar quien tiene la autoridad para tomas decisiones

Hacer explícitos y concretos los alcances y propuestas de seguridad

Revisar periódicamente las directrices en el hacer de la organización

Etapas de desarrollo: Para llevar a cabo el desarrollo de una PCI se han de realizar 11 etapas que se pueden agrupar a su vez en 4

fases. Estas son:

Fase de desarrollo: Es la fase en la que se crea, se revisa y se aprueba una política.

Creación

Revisión

Aprobación

La fase de implementación: Es la fase en la que la política se lleva a cabo*

Comunicación: La comunicación se ha de adaptar a la situación geográfica, al idioma.

Cumplimiento: Hay que conseguir que se entienda, realizar un seguimiento y medir su impacto

Excepciones: A veces falta coordinación, personal, etc. Por ello cuando no se cumplen las políticas hay que anotar porqué

determinando si hay que hacer una excepción o bien es algo temporal subsanable.

La fase de mantenimiento: Es la que va a permitir que esa política se pueda seguir cumpliendo actualizándola si es necesario

Concienciación: Se trata de que las personas conozcan y asuman las políticas.

Monitorización: Se trata de realizar un seguimiento de los resultados. Esa información puede partir del personal de la

empresa/usuarios o de un auditor que realice dicha función.

Garantía de cumplimiento: Se trata de incluir acciones correctivas que garanticen el cumplimiento de lo que está estipulado.

Mantenimiento: Se trata de mantener la política actualizada.

La fase de eliminación: Es la fase que supone retirar la política porque ya no se va a emplear más.

Retiro: Una vez que la política cumple su finalidad y ya no es necesaria, por ejemplo por nuevas circunstancias, ésta hay que

eliminarla.

Estas 11 etapas deben ser realizadas y en algún caso, como por ejemplo la de mantenimiento, concienciación, monitorización y garantía del

cumplimiento se deben ejecutar de forma cíclica.

Page 22: Seguridad Informatica en 8 TEMAS

Recomendaciones:

A la hora de escribir una PCI y garantizar que tenga éxito, cuando la implementemos, deberíamos incluir:

La declaración de la política

Nombre y cargo de quién autoriza o aprueba la política

A quién está dirigida y quién es el responsable de garantizar su cumplimiento

Indicadores del grado de cumplimiento

Políticas y regulaciones en las cuales se soporta o con las que tiene relación

Proceso para solicitar excepciones

Pasos necesarios para solicitar cambios o actualizaciones en la política y acciones que se seguirán en caso de que se produzcan

Fecha a partir de la cual tiene vigencia la política

Fecha acerca de cuándo se revisará la política

Page 23: Seguridad Informatica en 8 TEMAS
Page 24: Seguridad Informatica en 8 TEMAS
Page 25: Seguridad Informatica en 8 TEMAS

Seguridad de servicios ISO7498-2

a) Autenticación o Autentificación. Corrobora la veracidad de la fuente de una

unidad de datos.

• Autenticación de entidad par o de la pareja. Proporciona la capacidad de verificar que la

contraparte de una asociación es quien dice ser. Se comprueban dos aspectos: 1- Que en

el momento en que se inicia la transmisión, ambas partes son quien dicen ser. 2- Que

ningún tercero suplanta la identidad de uno de los dos pares, ya sea durante la conexión

o ya sea recuperando una conexión anterior.

• Autenticación del origen de los datos. Permite reclamar el origen de las fuentes de los

datos recibidos; no proporciona protección contra la duplicación o la modificación de

unidades de datos.

b) Control de acceso. Se utiliza para evitar el uso no autorizado de los recursos.

Tanto en este caso como en el caso anterior se suele llevar a cabo utilizando técnicas que

pueden ser: prueba de conocimiento (preguntarme por algo que tengo que saber.

Ejemplo: contraseña*), prueba de posesión (Ejemplo: tarjeta), prueba de propiedad

(Características biométricas. Ejemplo: escáner de retina, huella dactilar, voz).

* En relación a las contraseñas se recomienda seguir las siguientes consideraciones:

1- Contraseñas largas

2- Combinación de caracteres alfabéticos y numéricos

3- No utilizar palabras que tengan sentido

4- No utilizar la misma contraseña en todos los sistemas

5- No utilizar nombres propios…

...- No utilizar contraseñas difíciles de recordar

c) Confidencialidad de datos. Proporciona protección contra la revelación

deliberada o accidental de los datos en una comunicación. Hay 4 modalidades:

• Servicios de confidencialidad orientados a conexión (CO- Connection Oriented – me

proporciona confidencialidad de todos los mensajes desde que comienza hasta que

finaliza una conexión). Proporcionan confidencialidad a los datos transmitidos durante su

conexión.

• Servicios de confidencialidad no orientados a conexión (CL-datagramas). Proporcionan

confidencialidad de paquetes de datos.

• Servicios de confidencialidad en campos seleccionados. Proporcionan confidencialidad

de campos específicos de los datos durante una conexión.

• Servicios de confidencialidad de flujo de tráfico. Proporcionan protección de información

que de otra forma podría resultar comprometida u obtenida indirectamente mediante un

análisis del tráfico. Esta información puede ser observada y así, un atacante podría

conseguir información.

d) Integridad de datos. Garantiza que los datos recibidos coinciden con los datos

enviados. Se trata de que no exista duplicaciones, modificaciones o destrucciones de la

información.

Page 26: Seguridad Informatica en 8 TEMAS

• Servicios de integridad orientados a conexión con recuperación de datos (CO con

recuperación de datos). Proporcionan integridad de los mismos durante una conexión. Si

es posible, permiten la recuperación de fallos de integridad.

• Servicios de integridad orientados a conexión sin recuperación de datos. Proporcionan

integridad a los mismos durante una conexión. No se recuperan los fallos de integridad.

• Servicios de integridad de campo seleccionado orientado a conexión. Proporcionan

integridad de campos específicos en los datos durante la conexión.

• Servicios de integridad no orientados a conexión(CL). Proporcionan integridad a

unidades de datos.

• Servicios de integridad en campos seleccionados no orientados a conexión.

Proporcionan integridad de campos específicos dentro de las unidades de datos.

e) No repudio. Proporciona la prueba, ante una tercera parte, de que cada una de

las entidades comunicantes han participado en una comunicación. El principal mecanismo

para el “no repudio” es la firma digital.

• Servicios de no repudio con prueba de origen. Sirven para proporcionar al destinatario

una prueba del origen de los datos. Protege frente a la intención del emisor de negar

falsamente un envío o el contenido de los datos.

• Servicios de no repudio con prueba de destino. Sirven para proporcionar al emisor una

prueba de que los datos se han entregado al destinatario. Este caso sería lo mismo pero

desde el punto de vista del destinatario.

Page 27: Seguridad Informatica en 8 TEMAS

Mecanismos de seguridad ISO7498-2

Para proporcionar un servicio se necesita un mecanismo. Los mecanismos se subdividen entre

los que son específicos y los que son generales.

Mecanismos de seguridad específicos:

a) Cifrado: Se utiliza para proteger la confidencialidad de los datos ya sea en reposo o

en flujo, así como para dar soporte o complementar otros mecanismos de seguridad.

b) Firma digital: Se emplean para proporcionar una analogía electrónica a la firma

manuscrita en documentos electrónicos; de forma similar a las firmas manuscritas, las firmas

digitales no deben ser falsificables. Los receptores deben ser capaces de verificarlas, y el

firmante no debe poder rechazarlas posteriormente.

c) Control de acceso: Este mecanismo se utiliza para autenticar las capacidades de

una entidad, con el fin de asegurar los derechos de acceso a recursos que posee. El control de

acceso se puede realizar en el origen o en un punto intermedio, y se encarga de asegurar si el

emisor está autorizado a comunicarse con el receptor así como a hacer uso de los recursos de

comunicación requeridos. Si una persona intenta acceder a un recurso al que no tiene acceso

además de denegarle el acceso se puede desencadenar un aviso de advertencia y/o una

anotación en un registro.

d) Integridad de datos: Se encarga de proteger la integridad de los datos, de los

paquetes de datos, de las secuencias de los paquetes de datos, así como de los campos

correspondientes a dichas secuencias. Como ejemplo tenemos CRC (Cyclical Redundancy

Checksum). Para la integridad en el caso de que no exista conexión (CL), además del uso del

CRC es necesario tener alguna forma de ordenar los campos (ejemplo numerándolos). Si de lo

que se trata es de la integridad de una serie de mensajes consecutivos, también

necesitaremos establecer su orden.

e) Intercambio de autenticación: Su finalidad es verificar la identidad de las

entidades en comunicación antes de iniciar el intercambio de información. Existen dos grados

en el mecanismo de autenticación:

• Autenticación simple. El emisor envía su nombre distintivo y una contraseña al receptor.

• Autenticación fuerte. Se basa en el uso de técnicas criptográficas para proteger los

mensajes que se intercambiarán; utiliza las propiedades del cifrado asimétrico.

f) Relleno de tráfico: Se utiliza para brindar protección contra ataques de análisis de

tráfico. El término relleno de tráfico se refiere a la generación de ejercicios de comunicación,

paquetes de datos, y de datos espurios (bastardos) dentro de dichos paquetes. Se suele basar

en incluir tráfico redundante protegido por mecanismos de confidencialidad.

g) Control de encaminamiento: Este mecanismo permite la selección dinámica o

preestablecida de rutas específicas para la transmisión de los datos. Se trata de localizar rutas

seguras y emplear con los mensajes un cierto nivel de seguridad.

h) Certificación (Registro): Mecanismo cuya función es asegurarse de ciertas

propiedades de los datos que se comunican entre dos o más entidades, entre los que

destacan su integridad, origen, tiempo o destino. La certificación la realiza una tercera

entidad de confianza (TTP), que es la que da testimonio de la autenticidad.

Mecanismos de seguridad generalizados:

Page 28: Seguridad Informatica en 8 TEMAS

a) Funcionalidad de confianza (Funcionalidad Certificada): Se trata de poner

en práctica un concepto que se utiliza para ampliar o extender otros mecanismos de

seguridad o para establecer su efectividad.

b) Etiquetas de seguridad: Mecanismo asociado directamente con los recursos

del sistema, ya que un nivel de seguridad puede implicar datos adicionales que se

asocian a los datos transmitidos o puede ser implícito, y su uso primordial se da en los

datos en tránsito. Se usa de forma específica para el nivel de seguridad.

c) Detección de eventos: Se trata de un mecanismo relevante para la seguridad

ya que su función es detectar violaciones aparentes de la seguridad.

d) Traza de auditoría de seguridad: Este mecanismo se encarga de la revisión y

examen independiente de los registros y las actividades del sistema para probar la

operatividad de los controles, asegurar el cumplimiento de las políticas y procedimientos

operacionales establecidos y recomendar los cambios adecuados en el control, política y

procedimientos.

e) Recuperación de seguridad: Se relaciona directamente con mecanismos

gestores de eventos y funciones de gestión, y se encarga de realizar acciones de

recuperación con base en las políticas de seguridad establecidas. Para la recuperación

hay 3 tipos de acciones de recuperación:

Inmediata (Ejemplo: Si alguien viola la política de seguridad lo desconecto al instante)

Temporales: Se consideran inválidas durante un corto periodo de tiempo (Ejemplo: No

poder realizar una acción hasta cambiar de departamento)

A largo plazo: (Ejemplo: Anotar a un elemento o persona a una lista negra)

Page 29: Seguridad Informatica en 8 TEMAS

Servicio

Nivel OSI

1 2 3 4 5 6 7

Autenticación

Autenticación de entidad par o

de la pareja

Autenticación del origen de los

datos

Control de acceso

Confidencialidad

Servicios de confidencialidad

orientados a conexión

Servicios de confidencialidad

orientados a no conexión

Servicios de confidencialidad

en campos seleccionados

Servicios de confidencialidad

de flujo de tráfico

Integridad

Servicios de integridad

orientados a conexión con

recuperación de datos

Servicios de integridad

orientados a conexión sin

recuperación de datos

Servicios de integridad de

campo seleccionado orientado a

conexión

Servicios de integridad no

orientados a conexión

Servicios de integridad en

campos seleccionados no

orientados a conexión

Page 30: Seguridad Informatica en 8 TEMAS

No repudio

Servicios de no repudio con

prueba de origen

Servicios de no repudio con

prueba de destino

*La capa de sesión no proporciona ningún servicio mientras que la de aplicación proporciona en todas.

*El servicio de confidencialidad orientado a conexión aparece reflejado en más capas.

SERVICIOS Y MECANISMOS DE SEGURIDAD EN EL MODELO OSI

Servicio

MECANISMO

Cifrado Firma Control

de

acceso

Integridad

de los

datos

Relleno

de

tráfico

Control

de

encaminam.

Certificad

o

Autenticación

Autenticación de entidad par o

de la pareja

Autenticación del origen de los

datos

Control de acceso

Confidencialidad

Servicios de confidencialidad

orientados a conexión

Servicios de confidencialidad

orientados a no conexión

Servicios de confidencialidad

en campos seleccionados

Servicios de confidencialidad

de flujo de tráfico

Integridad

Servicios de integridad

orientados a conexión con

recuperación de datos

Servicios de integridad

orientados a conexión sin

Page 31: Seguridad Informatica en 8 TEMAS

recuperación de datos

Servicios de integridad de

campo seleccionado orientado a

conexión

Servicios de integridad no

orientados a conexión

Servicios de integridad en

campos seleccionados no

orientados a conexión

No repudio

Servicios de no repudio con

prueba de origen

Servicios de no repudio con

prueba de destino

*No hay ningún mecanismo que pueda implementar todos los servicios.

*El mecanismo de cifrado es el que nos facilita el uso de más servicios, es decir, que el

cifrado sería la solución más oportuna para conectar redes seguras. Y en el otro sentido

está el control de acceso y al relleno de tráfico como los que menos servicios

complementan.

Page 32: Seguridad Informatica en 8 TEMAS

TEMA 2: IMPLANTACIÓN DE MECANISMOS DE

SEGURIDAD 2.1 - HERRAMIENTAS PARA EL MANTENIMIENTO DE LA INTEGRIDAD

DE LOS DATOS

2.1.1 - Copias de seguridad (backup)

Cuando se ha de realizar una copia de seguridad se ha de ponderar una serie de factores

como son:

La cantidad de datos que hay que copiar

El coste del medio físico en el que vamos a hacer la copia

El rendimiento del medio físico

La fiabilidad del medio físico

La facilidad del almacenamiento fuera de nuestras instalaciones

Dispositivos físicos:

Las cintas magnéticas: tienen gran capacidad, su coste no es muy elevado y son las

más habituales. Lógicamente no son medios de acceso directo. Si ocupamos más de una

cinta se puede utilizar lo que se llaman autocargardores y bibliotecas de cintas. Entre los

distintos tipos de cintas tenemos:

o DDS (Digital Data Storage)

o DAT (Digital Audio Tape)

o DLT (Digital Lineal Tape)

o LTO (Lineal Tape Open)…

Los medios ópticos:

o CD

o DVD

o Blu-ray…

Unidades de disco duro: Las copias suelen funcionar en unión a otros métodos (por

ejemplo una copia en cinta magnética). Cuando hablamos de copias en HDD tenemos que

recordar los métodos de almacenamiento que existen que son tres y muy empleados

actualmente:

o DAS (Direct Attached Storage): Almacenamiento de conexión directo. Es el método de

almacenamiento más sencillo. Se trata de que el medio esté conectado físicamente al sistema

del que vayamos a realizar la copia.

o NAS (Network Attached Storage): Almacenamiento de conexión por red. En este caso

las aplicaciones hacen las peticiones de los datos a sistemas de forma remota, mediante

protocolos de red como por ejemplo FTP. Si tenemos una red pequeña o de tamaño medio,

nosotros podemos utilizar esta opción para que la información sea almacenada en otra

ubicación en lo que llamaríamos una máquina virtual.

o SAN (Storage Area Network): Red de área de almacenamiento. Los dispositivos de

almacenamiento están conectados a una red de alta velocidad y resuelven las peticiones que

se realicen.

Medios de estado sólido: Son todos aquellos no volátiles, que no tienen partes

móviles. Son medios ideales para almacenar datos cuando la rapidez es lo más importante.

o Aceleración de bases de datos

o Edición de videos

o Las redes SAN…

Los dispositivos de este tipo que se emplean hoy en día son muy caros y todavía no están

muy desarrollados pero se espera que a corto plazo esta situación cambie (SSD).

COPIAS DE SEGURIDAD EN WINDOWS 7

Se puede realizar desde Mi equipo, botón derecho del ratón sobre el

disco/propiedades/herramientas/hacer una copia de seguridad ahora\Configurar copias de

seguridad o Panel de control \Copias de seguridad y restauración\Configurar copias de

Page 33: Seguridad Informatica en 8 TEMAS

seguridad y seguimos sus pasos. El problema de este sistema solo permite realizar copias

totales o completas.

Métodos para realizar copias de seguridad

Comunes:

Copias de seguridad completas (Full Backups)

Copias de seguridad diferenciales (Differential Backups)

Copias de seguridad incrementales (Incremental Backups)

Delta o copias de seguridad a nivel de bloque (Delta Block-level Backups)

Copias de seguridad espejo (copia simple) (Mirror Backup)

Otros métodos:

Parche binario (Binary Patch)

Sintético (Synthetic)

Hard Linked (vinculado)

Copias de seguridad completas

Copia de seguridad completa de todos los datos que el usuario selecciona a la hora de

configurar una tarea de respaldo.

Los ficheros copiados se colocan generalmente en un fichero único comprimido, para ayudar

a ahorrar espacio. El problema es que a menudo hay sólo unos pocos ficheros nuevos o

modificados, por lo que su realización supone una gran cantidad de almacenamiento adicional

y una pérdida de tiempo, además del desgaste extra en los discos duros y la cantidad de

ancho de banda que se utiliza para hacerlas.

Es mejor hacer una copia de seguridad completa de vez en cuando, y luego encontrar una

forma para copiar sólo los ficheros nuevos o modificados, de forma más frecuente.

Pero, si el volumen de datos de la copia de seguridad no es muy elevado (menos de 4 GB), lo

más práctico es realizar siempre copias totales ya que en caso de un desastre, tan solo se

ha de recuperar la última copia.

Ventajas y desventajas de copias de seguridad completas:

Una restauración más rápida de todos los ficheros

Page 34: Seguridad Informatica en 8 TEMAS

Ocupan espacio y requieren mucho tiempo para su realización. No son adecuadas para

copias de seguridad periódicas, como las que se realizan por hora o por día.

Copias de seguridad diferenciales

Copia de todos los ficheros que han cambiado desde la última copia de seguridad total que se haya realizado.

Ejemplo, si se hace una copia de seguridad total el día 1 de cada mes y una copia de seguridad diferencial el resto de

los días, cada copia diferencial guardará los ficheros que se hayan modificado desde el día 1. La ventaja es que se

requiere menos espacio que la copia total y que en el proceso de restauración únicamente se necesitará la última

copia total y la última copia diferencial, pues una copia diferencial anula a la copia diferencial anterior. Pero se

consume más tiempo en realizar la copia y también más espacio, que en el caso de una copia incremental.

Page 35: Seguridad Informatica en 8 TEMAS

Si el volumen de datos de la copia de seguridad es muy elevado (mayor de 50 GB), pero el volumen de datos que se

modifican no es elevado (sobre 4 GB), lo más práctico es realizar una primera copia total y posteriormente realizar

siempre copias diferenciales. Así, en caso de desastre, tan solo se ha de recuperar la copia total y la última

diferencial. Periódicamente se debe realizar una copia total y así empezar de nuevo.

Ventajas y desventajas de copias de seguridad diferencial:

Más rápida para restaurar que en otros métodos

Redundancia de datos

Cada diferencial posterior crece de manera significativa hasta que se hace necesario

crear una copia de seguridad completa

Copias de seguridad incrementales

Se hace una copia de seguridad sólo de los ficheros que han cambiado desde la última copia de seguridad realizada.

Ejemplo, si se hace una copia de seguridad total el día 1 de cada mes y una copia de seguridad incremental el resto

de los días, cada copia incremental solo guardará los ficheros que se hayan modificado ese día. Si tenemos que

realizar la restauración de ficheros ante un desastre, debemos disponer de la copia total y de todas las copias

incrementales que se hayan realizado desde la copia total.

Page 36: Seguridad Informatica en 8 TEMAS

Si el volumen de datos de nuestra copia de seguridad es muy elevado (mayor de 50 GB) y el volumen de datos que

se modifican también lo es, las copias diferenciales ocuparán mucho espacio, por lo tanto en este caso lo más

práctico será realizar una primera copia total y posteriormente realizar siempre copias incrementales, ya que son

las que menos espacio ocupan. El problema es que en caso de desastre debemos recuperar la última copia total y

todas las incrementales realizadas desde que se hizo la última copia total. En estos casos, conviene hacer copias

totales más a menudo para no tener que mantener un número muy elevado de copias incrementales.

En grandes compañías donde la realización de copias de seguridad está perfectamente planificada, se suelen utilizar

sistemas mixtos. Por ejemplo en un caso típico se realizarían las siguientes tareas:

Todos los días 1 de cada mes, a las 23:00 horas: copia de seguridad total

Todos los viernes a las 23:00 horas: copia de seguridad diferencial desde la copia de

día 1

Todos los días (excepto los viernes y el día 1) a las 23:00 horas: copia de seguridad

incremental desde la copia del día anterior.

Con ésta planificación nos aseguramos disponer de copia de seguridad diaria. En caso de

desastre deberíamos recuperar la copia total, la última diferencial y todas las incrementales

desde la última diferencial.

Ventajas y desventajas de copias de seguridad incrementales:

Se pueden completar más rápido que los respaldos (backup) diferenciales, debido a

que hay menos datos redundantes que se copian

Las copias de seguridad incrementales son más pequeñas que las de respaldos

diferenciales

Page 37: Seguridad Informatica en 8 TEMAS

El número de copias de seguridad incrementales sucesivas que se puede hacer entre

copias de seguridad completas, sin dejar de ser manejable, es mucho mayor que con las

diferenciales

Se puede tardar mucho más tiempo para hacer las restauraciones completas de copias

de seguridad diferenciales, porque hay que fusionar todos los ficheros individuales, uno por

uno con la copia de seguridad completa.

Una copia de seguridad incremental puede fallar si una de las copias de seguridad en

la secuencia se pierde o se daña

Delta o copias de seguridad a nivel de bloque

El término "delta", cuando se combina con otros términos como "copia de seguridad Delta",

“Copia de seguridad de Delta Block" o " Copia de seguridad Delta-Style", por lo general, se

refiere al mismo método de copia de seguridad básica. Se puede describir Delta como

tecnología a nivel de bloque, mientras que las copias incrementales y las

diferenciales son tecnologías a nivel de fichero.

Es importante tener en cuenta que las técnicas Delta sólo se aplican a los ficheros

modificados, no a los ficheros nuevos. El fichero modificado se divide en bloques de tamaño

fijo y los bloques se comparan con el fichero original (el tamaño de bloque que se maneja

depende del programa en particular, o es un tamaño elegido por el usuario, oscilando

generalmente entre 1 y 32 kilobytes).

Hay Delta diferencial y Delta incremental, y trabajan con el mismo principio que las copias de

seguridad diferencial y las copias seguridad incrementales explicadas anteriormente, pero a

un nivel mucho más granular. Del mismo modo, cada tipo de Delta heredaría el mismo tipo

de ventajas y desventajas.

Page 38: Seguridad Informatica en 8 TEMAS

Es una tecnología especialmente ventajosa cuando se realizan copias de seguridad de los

ficheros inmediatamente después de creados o modificados, lo que se conoce como copia de

seguridad en tiempo real o protección continua de datos, y también cuando se utiliza para los

ficheros de copia de seguridad en redes con ancho de banda limitado o en servidores

remotos, como el almacenamiento en línea.

Ventajas y desventajas de copias de seguridad estilo Delta:

Son muy rápidas debido a la pequeña cantidad de datos que se transfiere

Produce una redundancia mucho menor, y las copias de seguridad son marginalmente

menores que las producidas por las copias de seguridad incrementales o diferenciales,

reduciendo drásticamente la demanda de almacenamiento y ancho de banda

Son más lentas para restaurar los ficheros individuales, porque éstos deben ser

reconstruidos

Copias de seguridad espejo

Son, básicamente, el tipo más sencillo de copia de seguridad. Los ficheros replicados en

general permanecen en el mismo estado en el que se encuentran en la fuente, no se

comprimen.

Las copias de seguridad espejo, sin compresión, son apropiadas para usar cuando se realiza

una copia de seguridad de ficheros ya comprimidos. Por ejemplo, ficheros de música en

formato MP3 o WMA, imágenes en formato jpg o png, videos en formato dvix, mov, flv, y la

mayoría de programas de instalación.

Page 39: Seguridad Informatica en 8 TEMAS

Si se incluyen estos ficheros en una copia de seguridad normal que ya aplica compresión, se

notará en la lentitud del proceso, obteniendo una compresión adicional poco considerable. Lo

mejor es establecer por separado las tareas de respaldo de ficheros comprimidos y de los

ficheros no comprimidos, utilizando programas de respaldo que permitan tal diferenciación.

Ventajas y desventajas de copias de seguridad espejo:

Son mucho más rápidas si se trabaja con ficheros comprimidos

Dado que los ficheros duplicados no se colocan en ficheros individuales, hay menos

preocupación por su corrupción

Dado que las copias de seguridad espejo por lo general no utilizan la compresión,

pueden requerir una gran cantidad de espacio de almacenamiento, a menos que se empleen

también otras técnicas como hard linked

Funciona bastante bien para la clonación de discos, donde todo se traslada a una

unidad de reemplazo, pero no es un solución muy práctica para la copia de seguridad

periódica de un sistema

Copias de seguridad parche binario (FastBit)

Ésta tecnología fue desarrollada originalmente, como una manera para que los

desarrolladores de software pudiesen actualizar fácilmente sus programas en los clientes a

través de Internet, mediante el envío de "parches" que reemplacen las partes de los ficheros

que necesitan modificación. Recientemente se ha comenzado a adaptar ésta tecnología a las

copias de seguridad.

El ejemplo más relevante es una tecnología de copia de seguridad denominado FastBittm.

Las copias de seguridad de parches binarios funcionan de manera similar a Delta, la principal

diferencia es que son aún más granulares: Delta trabaja a nivel de bloque, mientras que los

parches binarios trabajan a nivel binario, copiando sólo los bytes del código binario que han

cambiado.

Page 40: Seguridad Informatica en 8 TEMAS

Ventajas y desventajas de copias de seguridad de parches binarios:

Elimina virtualmente toda la redundancia de datos

Utiliza menos ancho de banda que Delta

No hay información acerca de cómo se maneja la reconstrucción de ficheros y qué tan

eficiente es

Copias de seguridad completas sintéticas

(El término sintético se refiere a que no es una copia de seguridad creada a partir de datos

originales)

Copia de seguridad completa sintética es, más que un método de respaldo, una

tecnología que se puede aplicar a uno de los métodos anteriores, para hacer una

restauración más eficiente y en menos tiempo.

Se suele aplicar sólo en sistemas de respaldo tipo cliente-servidor: un equipo cliente puede

realizar una copia de seguridad por cualquier método, y luego transferirla al servidor. En

algún momento, el servidor combina varios ficheros individuales de copia de seguridad, y

forma la copia de seguridad completa sintética. Una vez realizada la copia de seguridad

completa inicial, el equipo del cliente sólo tiene que realizar copias de seguridad de ficheros

nuevos o modificados.

Los beneficios de este enfoque son de dos tipos. En primer lugar, la velocidad de copia de

seguridad de tecnologías como la diferencial, no se degrada con el tiempo debido al tamaño

creciente de los ficheros acumulativos, puesto que una copia sintética se hará sobre una base

regular. En segundo lugar, cuando una restauración completa debe hacerse en una máquina

Page 41: Seguridad Informatica en 8 TEMAS

cliente, no se necesita hacer la reconstrucción de los ficheros o partes de ficheros, dado que

la misma ya ha sido realizada por el servidor, agilizando el proceso en el cliente.

Ventajas y desventajas de copias de seguridad completas sintéticas:

Requieren menor cantidad de tiempo para realizar la copia de seguridad

Mejoran la eficiencia de restauración (menos tiempo, menos coste)

Copias de seguridad hard linked, Hardlink o vinculadas

Cierto software de respaldo, tiene la capacidad de emplear varios enlaces fijos para preservar

el espacio, cuando se quieren guardar varias copias de seguridad completas espejo del

mismo conjunto de ficheros.

Para entender que es un enlace fijo, hay que considerar cómo se almacenan los ficheros en

un disco duro. Cuando se graba un fichero, los datos físicos se pueden escribir en cualquier

lugar en el disco. A continuación, el sistema de ficheros hace una referencia o enlace fijo a

esos datos físicos con el nombre del fichero especificado. Con algunos sistemas de ficheros,

es posible crear más de una referencia a esos datos físicos. Usando múltiples enlaces fijos, es

posible asignar cualquier número de nombres de fichero en carpetas diferentes, a los mismos

datos físicos.

Al utilizar los programas de copia de seguridad que apoyan la creación de vínculos fijos para

hacer varias copias de seguridad de los mismos ficheros, el programa construirá vínculos fijos

para todos los ficheros que no han cambiado. Por ejemplo, si se crean dos copias de una

carpeta que contiene 100 MB de datos, normalmente terminan usando 200 MB de espacio.

Con enlaces fijos sólo se utilizarían 100 MB de espacio. Si se ha cambiado un fichero de 2 MB

antes de hacer la segunda copia utilizando los enlaces fijos, las dos carpetas consumirán

102MB de espacio: la primera carpeta contendrá el fichero original de 2 MB, mientras que la

segunda contendrá la modificación.

El explorador de Windows no informa del espacio del fichero, como cabría esperar cuando se

utilizan enlaces fijos. Si un fichero de 100 MB tiene dos enlaces fijos, ambos enlaces se

considerará como que consumen 100 MB de espacio para un total de 200 MB utilizados. Sin

embargo, el espacio ahorrado por los enlaces fijos se refleja en la cantidad de espacio libre

en el disco, sólo 100MB se han consumido.

Cabe mencionar que si se desea eliminar una de las copias de seguridad que contienen los

enlaces fijos, no es un problema pues los otros enlaces fijos no se verán afectados. El fichero

Page 42: Seguridad Informatica en 8 TEMAS

físico en el disco sólo es eliminado cuando todos los enlaces fijos se eliminan. También los

enlaces fijos sólo pueden existir dentro del mismo volumen, no pueden extenderse a lo largo

diferentes particiones o discos. Los sistemas de ficheros NTFS, admiten enlaces fijos,

mientras que los FAT no.

Ventajas y desventajas de copias de seguridad vinculadas:

Reducen el ancho de banda WAN y el espacio de almacenamiento necesario

Programas especializados en copias de seguridad

Areca Backup (http://www.areca-backup.org/)

Es un software de backup de fuente libre y abierta. Soporta los típicos métodos de backup:

completa, diferencial, incremental y espejo, con varios modos de almacenamiento

adicionales, incluyendo el modo delta block.

http://cert.inteco.es/software/Proteccion/utiles_gratuitos/Utiles_gratuitos_listado/?idLabel=2

230218&idUser=&idPlatform

2.1.2 – TOLERANCIA A FALLOS LÓGICA

¿Qué es la tolerancia a fallos? La tolerancia a fallos supone implementar unas técnicas que

permitan recuperarse rápidamente ante un fallo. Las hay de dos tipos:

Software (Tolerancia a fallos lógica): Normalmente se emplean los niveles RAID

Hardware (Tolerancia a fallos física):

RAID

N

i

v

e

l

Técnica usada Tol

er

an

cia

0 División en disco sin

paridad

Nin

gu

na

*

Page 43: Seguridad Informatica en 8 TEMAS

1 Copia o duplicación Bu

en

a

2 Copia de disco con

comprobación de errores

Mu

y

alt

a

3 División a nivel de byte

con disco de paridad

dedicado

Bu

en

a

4 División en bloques con

disco de paridad dedicado

Bu

en

a

5 División en bloques

paridad distribuida

Bu

en

a

6 División en bloques con

dobles datos distribuidos

Mu

y

bu

en

a

7 Propietario

1

0

Combina RAID 0 y RAID

1

Bu

en

a

5

0

Combina RAID 1 y RAID

5

Ext

re

ma

da

Page 44: Seguridad Informatica en 8 TEMAS

me

nte

alt

a

BÁSICOS (IMPORTANTE CONOCERLOS BIÉN):

RAID 0 (data striping) (datos divididos)

Los datos se distribuyen entre varios discos en bloques, sin guardar información sobre la

paridad

Raid 0

RAID 1 (data mirroring) (datos reflejados)

Los datos se copian directamente en una segunda unidad de disco duro

Raid 1

RAID 2

Los datos se distribuyen entre varios discos de bit en bit, utilizando corrección de error

(generalmente tipo Hamming) en lugar de paridad; éste nivel ha desaparecido

RAID 3

Los datos se dividen entre varios discos en bytes, con un disco utilizado para almacenar la

información sobre paridad

Raid 3

Page 45: Seguridad Informatica en 8 TEMAS

RAID 4

Los datos se dividen entre varios discos en bloques de datos, con un disco utilizado para

almacenar la información sobre paridad

RAID 5

Los datos se dividen entre varios discos en bloques de datos, con la paridad distribuida por

igual entre todos los discos

Raid 5

Otros estándares RAID propietario o variaciones de los niveles básicos:

RAID 6

Los datos se dividen entre varios discos (mínimo 4) en bloques de datos, con dos conjuntos

de bloques de paridad distribuidos por igual entre todos los discos

RAID 0 + 1

Proporciona redundancia por escribir todos los datos sobre cuatro o más unidades

Raid 0 + 1

RAID 10

Duplica los datos en dos arrays idénticos de unidades RAID 0

Page 46: Seguridad Informatica en 8 TEMAS

Raid 10

RAID 50

Se reproducen en espejo dos conjuntos RAID 5

2.1.2.1 – ARCHIVADO

El significado de archivado depende del contexto en el que se use, en nuestro caso nos

referimos a borrar el almacenamiento online para ubicarlo en dispositivos de almacenamiento

a largo plazo.

2.1.2.2 - CUSTODIA

Hace referencia al proceso de almacenamiento de la información copiada y su disponibilidad.

Cuando se produce un desastre se pone en marcha un protocolo de actuación que, entre

otras cosas va a implicar saber que datos se han de restaurar y sobre todo donde están

organizados.

2.1.2.3 - HSM

HSM (Hierarchical Storage Management) Administración jerárquica del almacenamiento. Es

un sistema automatizado de almacenamiento y de recuperación de ficheros entre el

almacenamiento online y el almacenamiento de datos de uso frecuente. Está relacionado con

el archivado, pero presenta beneficios y también riesgos adicionales.

2.1.2.4 - CHEQUEO DE PARIDAD

Se utiliza para asegurar que los fallos de memoria inesperados no tengan como consecuencia

la caída del servidor o la perdida de integridad de los datos.

2.1.2.5 - PLANIFICACIÓN ANTE UN DESASTRE

Un desastre es una situación que requiere la puesta en práctica de un protocolo de actuación.

Este protocolo tiene que conseguir recuperar el sistema desde cero. Partimos lógicamente de

unas copias de seguridad, las cuales han de estar perfectamente localizables de cara a poder

instaurar una serie de servicios que han de estar disponibles de forma inmediata. Los

servicios que han de estar disponibles de forma inmediata son:

Las bases de datos

Los servidores de aplicaciones

Los servidores de administración del sistema

La Web

Los directorios

Almacenes de datos

Cuando se trata de diseñar un plan de recuperación de desastres se han de conocer las

necesidades de la organización, y para ello, se ha de realizar:

Una evaluación de las vulnerabilidades (Ejemplo: ¿qué es vulnerable a un incendio, y a

una inundación?)

Una evaluación de riesgos (Se suele hacer una lista con los 10 desastres potenciales

más importantes y los efectos asociados)

La concienciación de la directiva

Establecer un grupo de planificación que se encarguen de desarrollar e implementar

las estrategias que configurarán ese plan de desastres

Priorización (Para cada escenario posible de desastre asignar prioridades)

2.1.2.6 - ANÁLISIS PREDICTIVO DE FALLOS

No es normal que los fallos aparezcan de forma espontánea, lo que es normal es que haya

síntomas previos que si fuesen observados nos hubieran permitido evitarlos.

Page 47: Seguridad Informatica en 8 TEMAS

2.1.3 - TOLERANCIA A FALLOS FÍSICOS

Cambio en caliente: Un cambio en caliente consiste en utilizar unidades que cuando

se averían se pueden cambiar sin necesidad de desconectar el equipo.

Repuesto en caliente: Consiste en una variante de la anterior en la que las unidades

substitutas ya están instaladas de forma que cuando falle una unidad el cambio se realiza

automáticamente.

SAI: Sistema de Alimentación Ininterrumpida (inglés UPS, Uninterruptible Power

Supply) Este es un dispositivo que me permite proteger las máquinas más importantes del

sistema contra picos de tensión o cortes eléctricos.

o Componentes:

Batería: trabaja con corriente continua

Cargador de Batería

Inversor de corriente

Existen SAI de diversos tipos.

2.1.4 – IMPLEMENTACIÓN DE TÉCNICAS DE SEGURIDAD

Cuentas de usuarios sin privilegios: Las cuentas de usuario solo deben tener los

privilegios mínimos y necesarios

No instalar programas sospechosos

Mantener el Sistema Operativo actualizado

Protección contra el Malware: Destacamos protección antivirus, los más habituales

son:

o Los virus acompañante

o Los virus de macro

o Los virus polimórficos: modifican su apariencia cada vez que se reproducen

o Los virus camuflados

*Ver lista de tipos de malware

Relacionado con el navegador:

o Utilizar Navegadores Seguros

o Configurarlos Adecuadamente

o No navegar por sitios sospechosos

Utilizar contraseñas seguras

Utilizar cortafuegos (Firewall): Discriminan paquetes en función de una serie de reglas.

Balanceo de carga: Se puede efectuar vía hardware o software, consiste en repartir las

peticiones que hacen los clientes a distintos servidores que estén conectados, para ello utiliza

unos algoritmos que se llaman “Round Robin” que permite repartir la carga de forma

equilibrada. Además nos va a permitir direccionar el tráfico en un momento determinado

hacia un servidor como consecuencia del fallo en otro de ellos.

Ejemplos de balanceadores de carga:

o ISA server

o NAT32 Windows Software Router: En el ejemplo que nos muestra aparece una

unificación de 2 o más conexiones con salidas hacia internet en una sola. De esta forma

podemos repartir la carga en función de la velocidad, fiabilidad, etc.

o Kerio Winrouter

Llevar registros de eventos y revisarlos: Analizándolos podíamos averiguar:

o Los intentos de entrada

o Conexiones y desconexiones de recursos

o Terminación de la conexión

o Desactivación de clientes

o Apertura y cierre de ficheros

o Modificaciones realizadas en los ficheros

Page 48: Seguridad Informatica en 8 TEMAS

o Creación y borrado de directorios

o Modificación de directorios

o Modificaciones de las contraseñas…

Utilización de un sistema de ficheros seguro: Como por ejemplo el NTFS

Utilizar equipos sin disco

Los factores humanos: De nada nos vale controlar factores ambientales (temperatura,

humedad, ventilación), si las personas que van a hacer uso de ese sistema no adoptan unas

medidas lógicas de comportamiento como: Llevar plantas, Llevar cuadros, Vasos de bebidas,

Estufa debajo de los pies, Cajas o muebles de almacenamiento

Los factores ocultos: Son aquellos que no vemos pero lógicamente pueden provocar

fallos de seguridad, como por ejemplo el tendido eléctrico.

Los factores industriales: Ruido, Interferencias electromagnéticas, vibraciones, los

entornos corrosivos o explosivos…

Cifrado: Hacer que la información no sea legible, para ello tenemos herramientas

como:

o Truecript: Pasos:

Crear volumen nuevo

Crear un contenedor de ficheros encriptado

Tipo de volumen: Estándar

Ubicación del volumen

Algoritmo: Dejamos el valor por defecto

Tamaño de volumen: 1 MB

Contraseña

Se mueve el cursor en Aleatorio para conseguir una seguridad mayor unos 30

segundos y se acepta

Volumen creado

Una vez creado el volumen lo que tenemos es que montarlo, seleccionamos una letra

de unidad que no se está utilizando, se selecciona el fichero y se da “montar”.

Imágenes de respaldo: Las imágenes son ficheros que contienen la información de un

disco, de una partición o de un dispositivo de almacenamiento. Utilizaremos programas como

por ejemplo:

o Drive Image

o Nero

o Acronis

o Norton Ghost…

2.1.5 - TOLERANCIA A FALLOS FÍSICOS

El análisis forense está relacionado con técnicas de investigación que permiten reconstruir

una secuencia de eventos. Los dos aspectos más importantes del análisis forense se basan en

lo que la gente o usuarios tienen en sus propios ordenadores en primer lugar y lo que hacen

en otros ordenadores de forma remota en segundo lugar.

En cuanto a lo que tenemos en el ordenador cubriría:

Recuperar ficheros borrados

Buscar cierto tipo de ficheros

Buscar ciertas frases dentro de los ficheros

Decodificar…

En los ordenadores de forma remota cubre:

La lectura de los ficheros de eventos (log)

Reconstruir las acciones realizadas

Rastrear la fuente…

Page 49: Seguridad Informatica en 8 TEMAS

Existen programas comerciales que podemos instalar para tal fin, o bien utilizar las

herramientas propias del sistema operativo. Al respecto indicar que existen páginas web con

contenidos para comparar los datos obtenidos como por ejemplo:

www.samspade.org en la sección de “Library” y ahí se podrá ver como sacar

información de las cabeceras de los e-mails, ver como son los falsificados, etc.

http://www.dshield.org/ en la que se podrá analizar los ataques que sufre el firewall y

obtener patrones (signatures)

Page 50: Seguridad Informatica en 8 TEMAS

TEMA 3: INTRODUCCIÓN A LAS TÉCNICAS

CRIPTOGRÁFICAS

Criptología = Criptografía (técnicas) + Criptoanálisis (métodos)

Criptología proviene de Kryptos (oculto) y logos (palabras), por tanto podemos

decir que se trata de la ciencia de las palabras ocultas. Se trata de cifrar y descifrar

la información mediante unas técnicas que van a permitir el intercambio de

mensajes de una forma más segura.

La criptografía, a partir de una información original llamada texto plano o texto

llano (plain text), efectúa una conversión que lo hace ilegible (texto cifrado).

El criptoanálisis efectúa el paso contrario, descifrando el texto cifrado para

obtener el texto plano.

HISTORIA

El uso de la criptología deriva de tiempos antiguos.

Tras la caída del Imperio Romano y hasta el Renacimiento, la criptología sólo

registra avances significativos en los califatos islámicos, en particular el abasí. En

su capital, Bagdad, nace en el siglo IX d. C, el moderno criptoanálisis, al

descubrirse de que cada lengua tiene una frecuencia característica de aparición de

sus letras.

En 1.480 G. di Lavinde, secretario oficial de las comunicaciones secretas del Papa,

escribe su “Trattati in cifra”. Su sistema de cifrado consiste en utilizar determinados

códigos para sustituir palabras del mensaje en claro. Éste tipo de cifrado era

bastante usado en el siglo XV y XVI.

Por esa época, aparece el primer secretario de cifra conocido en España, Miguel

Pérez Alzamán, consejero de los reyes Isabel y Fernando, quién adopta un sistema

de criptografía que transforma el texto en números romanos.

Pero es Felipe II quién en 1556, introduce uno de los mejores sistemas de cifrado

de la época (lo cual no impidió que Inglaterra conociese por anticipado los planes

Page 51: Seguridad Informatica en 8 TEMAS

de la Armada invencible), poniéndolo bajo la responsabilidad del secretario de cifra

Luis Valle de la Cerda. Su sistema suponía la existencia de la Cifra General, para

sus comunicaciones con secretarios, embajadores y militares de alta graduación, y

de la Cifra Particular, para sus comunicaciones más confidenciales para con los

anteriores.

En Inglaterra, Isabel I contaba para éstos menesteres con Francis Walsinghan, y en

Francia, Enrique III y Enrique IV, contaban con François Viète.

Donde más se avanzó fue entre la primera y segunda guerras mundiales, y fueron

donde empezaron a aparecer las máquinas para el cifrado de información como por

ejemplo ENIGMA de los alemanes. Con la aparición de los ordenadores, esa

necesidad de asegurar la información se acrecentó en el momento en el que los

instalábamos en red. Si bien con los ordenadores se mejoraron muchos los

métodos existentes para cifrar también se hacía para descifrar.

Hoy en día muchos de los métodos que se empleaban para el cifrado de la

información han quedado inoperantes pero su estudio nos permite comprender a lo

que tenemos hoy en día.

ESCRITURA SECRETA

Se plantean dos grandes apartados:

Criptografía

Esteganografía (se verá más adelante)

La criptografía se llevará a cabo con dos técnicas:

o Sustitución: La técnica de substitución supone cambiar el significado

de los elementos del mensaje (letras, dígitos o símbolos), es decir,

consiste en que un carácter o un conjunto de caracteres se

substituya por otro carácter u otro conjunto de caracteres. Se podrá

realizar con:

Códigos: cuando la substitución se haga a nivel de palabras o

frases.

Cifras: cuando hacemos substitución a nivel de letras.

Page 52: Seguridad Informatica en 8 TEMAS

Estrictamente hablando cifrar es ocultar un mensaje utilizando cifra y

codificar sería ocultar un mensaje utilizando un código. Descrifrar si el

mensaje está cifrar y Descodificar si está codificado. Lo que sucede es que

en la realidad no se suele realizar esta distinción.

o Transposición: Supone reordenar los elementos del mensaje, es

decir, se cambia el orden de los caracteres originales del mensaje.

A su vez podemos hacer otra clasificación distinguiendo:

o Cifrado en bloque: el texto se divide en bloques de un determinado

tamaño y cada bloque se cifra de forma independiente.

o Descifrado de flujo: en lugar de realizarlo bloque a bloque se realiza

bit a bit, byte a byte, carácter a carácter…

CÓDIGOS Y CIFRAS EN LA LITERATURA

Código de la Biblia: En 1997 apareció un libro con dicho título de Michael Drosdin

y su teoría es que en la biblia hay mensajes ocultos que se pueden descubrir

buscando secuencias de letras equidistantes (Equidistant Letters Sequency- ELS o

EDLS). El texto es muy amplio por tanto variando el lugar inicial y el número de

saltos no es de extrañar que puedan salir frases con sentido.

Manuscrito Voynich

Matias Sandorf (Las aventuras de los hombres danzantes)

El escarabajo de oro:

Los papeles de Beale

MÉTODOS DE SUBSTITUCIÓN

Monoalfabética-Monográfica

o Atbash (espejo): es un método de substitución monoalfabética (un

carácter se substituye siempre por otro, por lo tanto el mensaje

Page 53: Seguridad Informatica en 8 TEMAS

original y el cifrado tendrán la misma longitud) utilizada por los

hebreos. Consiste en substituir un carácter por el carácter opuesto en

el alfabeto. Ejemplo: ROSA ILHZ

o Cifrado de Cesar: es un método de substitución monoalfabética que

aparece en el siglo I antes de Cristo y consiste en desplazar 3

espacios hacia la derecha los caracteres del texto plano. Ejemplo:

ESTO ES UN SECRETO HVWR HV XQ VHFUHWR. Este sistema se

puede generalizar, por ejemplo: MFMCGQZ TAK MX QZQYUSA –

ATAQUEN AL ENEMIGO clave= 12.

Monoalfabética-Poligráfico

En un criptosistema poligráfico los textos en claro se dividen en bloques con

igual número de letras. A continuación, cada uno de estos bloques se

reemplaza por otro de signos del alfabeto de cifrado, siguiendo las reglas

que indique el criptosistema y haciendo uso de la clave. La concatenación de

los bloques que resultan, es el texto cifrado. Los bloques de texto en claro

no tienen por qué tener la misma longitud que los del texto cifrado, aunque

es común que ello suceda.

Tal longitud suele ser un número pequeño; si es dos, el cifrado se dice

digráfico; si es tres, trigráfico; etc..

Es decir, que en lugar de sustituir una letra por otra, la sustitución

poligráfica permite sustituir digramas, trigramas, etc. de letras, al objeto de

destruir las frecuencias de los monogramas, cifrando un n-grama de una

vez, con lo que se consigue una mayor seguridad.

Playfair: Inventado por Charles Wheatstone en 1854, para comunicaciones

telegráficas secretas. Fue utilizado por el Reino Unido como cifra de campo

en la guerra de los Boer (Imperio Británico contra los colonos de origen

holandés en Sudáfrica) y en la Primera Guerra Mundial. También lo utilizaron

varias armadas como cifra de emergencia en la Segunda Guerra Mundial.

Toma su nombre del científico Lyon Playfair, primer barón Playfair de St.

Andrews, quien lo dio a conocer al gobierno británico.

Page 54: Seguridad Informatica en 8 TEMAS

Es el primer criptosistema poligráfico, en concreto de cifrado de sustitución

digrámica, en el que la clave viene dada por una matriz de 5 x 5, en la que

se distribuyen 25 letras del alfabeto, omitiéndose las letras J y Ñ. Al objeto

de poder memorizar fácilmente dicho cuadro, se recurre al uso de una

palabra clave, que se sitúa en las primeras filas del cuadro, eligiéndose dicha

palabra sin letras repetidas. A continuación de ella, se sitúan el resto de las

letras del alfabeto que no están en la palabra clave.

Luego se divide el mensaje en pares de letras o dígrafos, m1 y m2, y se

siguen las siguientes reglas:

1. Si m1 y m2 están en la misma fila, c1 y c2 son los situados a su derecha

2. Si m1 y m2 están en la misma columna, c1 y c2 son los situados a

continuación en la columna (de arriba abajo, circularmente)

3. Si m1 y m2 están en distinta fila y columna, se toman los de la diagonal

opuesta

m1 c1

c2 m2

4. Si m1 = m2 se inserta un carácter sin significado, por ejemplo X, entre

m1 y m2 para evitar la repetición de éstos

Si hay un número impar de letras se añade al final del texto en claro,

otra sin significado

*Usando el cuadro de playfair y usando la palabra CHISME se cifre el

siguiente texto: “La fuente del texto”

Cifrado de Hill: Debe su nombre al Lester S.Hill quién en 1929 propone

usar las reglas de el álgebra de matrices en criptografía. Es un método de

substitución monoalfabético y poligrámico.

Pigpen (no se va a ver, usado por los templarios…)

Criptoanálisis para cifrados Monoalfabéticos

Pretende descifrar un texto que tenemos cifrado.

Fuerza bruta: Consiste en probar todas las posibilidades. Ejemplo: CESAR

Page 55: Seguridad Informatica en 8 TEMAS

Análisis de frecuencias: Consiste en determinar la frecuencia de las letras

del texto cifrado y tratar de buscar su equivalente a letras cuya frecuencia

es similar en el texto original.

E - 16,78% R - 4,94% Y - 1,54% J - 0,30%

A - 11,96% U - 4,80% Q - 1,53% Ñ - 0,29%

O - 8,69% I - 4,15% B - 0,92% Z - 0,15%

L - 8,37% T - 3,31% H - 0,89% X - 0,06%

S - 7,88% C - 2,92% G - 0,73% K - 0,00%

N - 7,01% P - 2,77% F - 0,52% W - 0,00%

D - 6,87% M - 2,12% V - 0,39% -

Método de la palabra probable: Por lo general los textos incluyen unos

vocablos que suelen ser frecuentes en el contexto en el que se sitúan, por

ejemplo, si se trata de órdenes militares hay ciertas palabras que se puede

considerar fija su existencia o aparición. Si se localiza una de esas palabras,

tratamos de desentrañar el resto.

Cualquiera que sea la técnica utilizada nos dará pie a diferenciar

distintos niveles de seguridad, así tendremos:

o Criptosistemas incondicionales: si es seguro frente ataques con tiempo y

recursos limitados

o Criptosistemas Computacionales: es un sistema que es seguro cuando la

información es más valiosa que el esfuerzo y por ello el tiempo dedicado a

desentrañarlo está en consonancia a ello.

Page 56: Seguridad Informatica en 8 TEMAS

o Criptosistemas Probables: se trata de un sistema donde no se demuestra

que no sea inseguro

o Criptosistemas Condicionales: si es seguro mientras no se tiene recursos

suficientes para atacarlo.

Criptoanálisis para cifrados Monoalfabéticos

Polybius: NO

El cifrador de Polybios o cifrado bífido

Siglo II a.C.

Polybio era miembro de la Liga Aquea dirigida por Filipémenes, que fue

derrotada por los romanos en Pidna. Fue llevado como rehén a Roma, para

ser maestro de Escipión Emiliano. Presenció la destrucción de Cartago, y

posiblemente estuvo en el sitio de Numancia.

El cifrador, que es el cifrador de sustitución más antiguo que se conoce, fue

realizado en Grecia y usaba el alfabeto Griego en su versión original, aunque

se ha adaptado a los demás alfabetos. Se utilizó en los siglos XIX y XX por

los nihilistas (negación de toda creencia) rusos, y ha servido de base para

otros sistemas de cifrado.

Consiste en tener una tabla de 5 x 5, que debía ser secreta y solo la

conocerían el emisor y el receptor del mensaje, en cuyos ejes se ponían

diferentes combinaciones de letras o números, y en el interior de la tabla se

escribían las letras del alfabeto. Al cifrar un mensaje, las letras se sustituían

por lo que indicaban las coordenadas en la tabla.

El receptor del mensaje debería tener la misma tabla para poder descifrarlo.

Al reducir el número de símbolos utilizados para la codificación, hace su

análisis más difícil.

Alberti o cifrado de disco:

Leone Battista Alberti inventó el primer artificio de cifrado: el cifrado de

disco. Realilzó un manuscrito de 25 páginas (Modus scribendi in ziferas,

1.466)que establecía un cifrado que él consideraba “digno de reyes”.

Modus scribendi in ziferas, 1.466:

Page 57: Seguridad Informatica en 8 TEMAS

“Hago dos discos con dos láminas de cobre. Uno, el mayor, será fijo y el otro

móvil. El diámetro del disco fijo será superior en un noveno al disco móvil.

Divido la circunferencia de los discos en 24 partes iguales llamadas sectores.

En cada uno de los sectores del disco grande escribo en orden alfabético

normal una letra mayúscula roja: primero la A, seguida de la B, después la

C, etc, omitiendo H y K que no son indispensables

Como en latín no existen las letras J, U, W, Y, rellena por este método

solamente 20 sectores. En los otros cuatro escribe los números 1, 2, 3, 4”.

Prosigue con su relato de como rellenar el disco pequeño:

“... una letra minúscula, pero no en su orden normal como en el disco fijo,

sino en un orden incoherente. De esta forma se puede suponerse que la

primera letra será la a, la segunda la g, tercera la q y así hasta rellenar los

24 sectores, porque el alfabeto latino consta de 24 caracteres, siendo el

vigésimocuarto & (et). Efectuadas estas operaciones, se coloca el disco

pequeño sobre el grande de modo que una aguja pasada por los dos centros

sirva como eje común alrededor del cual girará el disco móvil”.

¿Cómo determinamos donde coincidir esos discos? Tanto el emisor como el

receptor deben tener discos idénticos y ponerse de acuerdo en una letra del

disco móvil. Suponemos que la letra es “k”. Para cifrar el emisor elige una

letra en el disco exterior y esa letra la va a escribir en mayúsculas al

comienzo del texto para que el receptor sepa dónde situar la “k”.

EJERCICIO 1:

Page 58: Seguridad Informatica en 8 TEMAS

Dado el siguiente disco y el siguiente nomenclátor “Felipe II 123” “rey es 124”

“Walsinghan es 122”. Cifren el siguiente mensaje: “Walsinghan muerto informad al

rey Felipe II”. NOTA: Cada 10 letras descifradas gire el disco externo 2 posiciones

en el sentido de las agujas del reloj.

Disco 1

1 2 3 4 A B C D E F G I L M N O P Q R S T V X Z

b a c e g k l n p r t v z & x y s o m q i h f d

SOLUCIÓN:

“BAA &HPMIY VSVOIYLR LX CKN GKL”

EJERCICIO 2:

Dado el siguiente disco:

1 2 3 4 A B C D E F G I L M N O P Q R S T V X Z

b z x s f & q d c g k n h r m e v l t o a i y p

Siendo su posición inicial la de coincidencia entre el número 1 del disco

exterior y el & en el interior cifre el siguiente mensaje: “El disco de Alberti es

el primer cifrador polialfabético conocido”

SOLUCIÓN:

“RL HVBNA HR GLKRPZV RB RL IPVTRP NVMPGHAP IALVGLMGKRZVNA

NAOANVHA”

Cifrado de Trithemius

Alberti no logró desarrollar su concepto y convertirlo en un sistema de

codificación plenamente formado. Basándose en su idea original, Johannes

Trithemius, monje benedictino alemán nacido en 1462, desarrolló un método

polialfabético de sustitución, con una variante llamada llave progresiva.

En 1499 escribió su obra Steganografía (ocho volúmenes), que circuló de

forma manuscrita por toda Europa y terminó siendo prohibido por la Iglesia

Católica en 1609. En él figuran también algunas formas de Criptografía. A

ésta materia consagró un libro de seis tomos que tituló Poligrafía, y que

escribió en 1508. En el quinto tomo aparece su tabla recta (tabula recta),

donde cada fila compuesta por un alfabeto, se construye desplazando la

anterior un espacio a la izquierda.

Page 59: Seguridad Informatica en 8 TEMAS

Las 24 filas de la tabla las utiliza (nosotros usamos 26 porque Johannes no

utilizaba ni la J ni la V) de la siguiente forma: cifra la primera letra del texto

en claro con el primer alfabeto, la segunda letra con el segundo alfabeto, y

así sucesivamente.

Es un cifrado simple y vulnerable, pero va a inspirar a otros diseñadores de

cifras.

EJERCICIO:

Utilizando el cifrado de Trithemius, cifre la palabra “criptografía”:

La cifra del Sig. Giovan Battista Bellaso

En 1533 Bellaso escribe un folleto en el que describe un método que

combina la tabla de Trithemius con una clave.

Propuso emplear claves formadas por varias palabras fáciles de recordar.

También recomendó variar la clave frecuentemente, lo que le convierte en el

primer autor que diseñó un criptosistema en el que las claves cambian

periódicamente.

Cardano

Más o menos al mismo tiempo que Bellaso, el físico y matemático milanés

Girolamo Cardano sugiere emplear la tabla de Trithemius usando como clave

el propio texto en claro. En éste caso, se denomina autoclave

Cifrado de Porta: Giovanni Battista Porta

Napolitano que escribió en 1563 un libro con 4 volúmenes que recogía toda

la criptografía hasta esa fecha, incluyendo sus aportaciones.

Porta ideó cifrados de diversa índole que utilizaban tablas, discos, etc siendo

uno de ellos polialfabético, en este, existían 11 alfabetos que identificaba por

medio de dos letras (1º AB, 2º CD, 3º EF, 4º GH, 5º IL, 6º MN, 7º OP, 8º

QR, 9º ST, 10º VX,11º YZ)

Porta utilizaba estos alfabetos de forma similar a como Bellaso emplea la

tabla de Trithemius.

Page 60: Seguridad Informatica en 8 TEMAS

Vigenère

Blaise de Vigenère, diplomático francés nacido en 1523, conoció los escritos

de Alberti, Trithemius y Porta.

Utiliza 26 alfabetos cifrados distintos para cifrar un mensaje.

El primer paso de la codificación es trazar lo que se denomina un cuadro

Vigenère. Se trata de un alfabeto llano seguido de 26 alfabetos cifrados,

consiguiéndose cada uno de ellos comenzando en la siguiente letra que el

anterior.

La línea 1 representa un alfabeto cifrado con un cambio del César de una

posición, lo que significa que se podría usar para poner en práctica una cifra

de cambio del César, en la que cada letra del texto llano, es reemplazada

por la letra siguiente del alfabeto. De manera similar, la línea 2 representa

un alfabeto cifrado con un cambio del César de dos posiciones, y así

sucesivamente. La línea superior del cuadro, en minúsculas, representa las

letras del texto llano. Se podría codificar cada letra del texto llano según uno

de los 26 alfabetos cifrados.

Cifrado de Beaufort

La cifra del almirante inglés Sir Francis Beaufort, fue publicada después de

su muerte por su hermano. Se trata de un cifrado que modifica el cifrado

Vigenère, pues cifra de manera inversa.

Es importante notar que esta cifra, en la realidad, fue creada por Giovanni

Sestri en 1710.

En 1806, época en que era responsable por un navío de guerra, tuvo la idea

de atribuir números a los grados de la tabla de vientos utilizadas por los

marineros. La tabla está compuesta de 12 grados (o 12 fuerzas) para

expresar la fuerza (o velocidad) del viento. Su preocupación era la de

facilitar la transmisión de observaciones metereológicas. Su tabla fue

oficialmente utilizada por la marina británica en 1834 y su uso se hizo

Page 61: Seguridad Informatica en 8 TEMAS

generalizado en 1874, por ocasión de la primera conferencia de

metereología marítima en Londres.

En su homenaje, un mar situado cerca de Ártico y bañando el norte del

Alaska y de Canadá recibió su nombre.

El método consiste en buscar dentro de la columna de cada letra del

mensaje a cifrar, la letra de la clave que le corresponde, y así, la letra del

mensaje cifrado corresponde con la de la fila.

Cifrado Gronsfeld NO

Variante del cifrado de Vigenère realizada por Johann Franz Graf Gronsfeld-

Bronkhorst. Utiliza sólo las diez primeras líneas de la tabla, que se numeran

del 0 al 9. La palabra clave será un número, cuyos dígitos indican con que

alfabeto cifrar cada carácter.

Altera la frecuencia de aparición de las letras, en forma similar a la que se

observa en el Manuscrito Voynich.

Cifrado Vernam

El ingeniero americano de AT&T Bell, Gilbert S. Vernam, presenta en 1918

un sistema utilizable inicialmente para la transmisión telegráfica, que se

demuestra matemáticamente perfecto.

Una variación del sistema Vernam fue utilizado durante cierto tiempo por el

ejército americano, y se dice que la línea caliente Washington-Moscú

también lo utilizó por lo menos hasta 1987.

Se trata de un cifrado de flujo, en el que el texto en claro se combina,

mediante la operación XOR, con un flujo de datos aleatorio o

pseudoaleatorio del mismo tamaño, para generar un texto cifrado.

Para realizar el cifrado, se debe obtener el equivalente numérico ASCII del

mensaje en claro, una secuencia aleatoria con su equivalente en binario

(clave), y aplicar la operación XOR carácter a carácter. La cadena resultante

será el criptograma.

Page 62: Seguridad Informatica en 8 TEMAS

Criptoanálisis de sustitución polialfabeto

Aunque la sustitución polialfabética es más segura que la monoalfabética, no

es inmune al criptoanálisis.

El procedimiento consiste en determinar el número de alfabetos empleados

(períodos), separar el texto en partes que fueron cifradas con el mismo

alfabeto, y resolver cada parte como si hubiera sido cifrada con un solo

alfabeto.

Existen dos maneras de descubrir el período: el método de Kasiski y el

Índice de coincidencia.

Método de Kasiski TEORÍA

Friedrich Wilhelm Kasiski, oficial prusiano, escribe en 1863 un libro de 95

páginas titulado “Die Geheimschriften und die Dechiffrirkunst” (la escritura

secreta y el arte del desciframiento), que estableció una forma de encontrar

el número de alfabetos en una sustitución polialfabeto (longitud de la clave

empleada).

Se basa en la repetición de grupos de letras y palabras en el lenguaje

natural. Kasiski observa que si dos fragmentos iguales del texto en claro

distan uno de otro un múltiplo de la longitud de la clave, entonces sus

transformados del texto cifrado también son idénticos. En consecuencia, si

en un criptograma hay bloques repetidos, la longitud de la clave debe dividir

el máximo común divisor de las distancias entre fragmentos iguales. Esto

permite su cálculo.

Índice de coincidencia TEORÍA

No obstante, el problema de encontrar la longitud de la clave se resuelve de

un modo definitivo, mediante el llamado índice de coincidencia de un texto,

concepto introducido por el criptoanalista del ejército americano William

Friedman en la década de los años veinte.

Se define la probabilidad de que dos de sus letras elegidas al azar coincidan.

Page 63: Seguridad Informatica en 8 TEMAS

MÉTODO DE SUSTITUCIÓN-TRANSPOSICIÓN

ADFGVX ENTRA FIJO

El 18 de Noviembre de 1914, los alemanes introdujeron un nuevo método de

cifrado, que consistía en un cifrado de Vigenère con clave ABC, seguido de una

transposición de columnas. Los franceses le dieron el nombre de cifrado ABC.

Estuvo en vigor hasta mayo de 1915.

A ésta cifra le siguió la ABCD, que era un poco más complicada, pues consistía en

cifrar el texto en claro usando el sistema de Vigenère con clave ABCD, pero de

forma intermitente, y a continuación se efectuaba una transposición de columnas.

Los alemanes dejaron de usarlo en Abril de 1916.

Los cifrados polialfabéticos empleados para reemplazarlo, resultados poco eficientes

y daban lugar a confusiones entre los criptoanalistas, lo que supuso regresar a los

cifrados por transposición.

Pero no conseguían burlar al Bureau du Chiffre (la oficina francesa de criptoanálisis,

los ingleses tenían “la habitación 40”). A partir de Marzo de 1917, y ante ésta

situación, el ejército de tierra alemán recurrió a los códigos.

A primeros de Marzo de 1918, el jefe del estado mayor germano Erich von

Ludendorff, había preparado una gran ofensiva, y ante la necesidad de

salvaguardar el factor sorpresa, el mando alemán renuncia a emplear códigos y se

deciden por las cifras de campo. En concreto, la cifra elegida se llamaba GEDEFU 18

(GEheimschrift DEr FUnker 18: cifra de radiotelegrafistas 18), aunque ha pasado a

la historia de la criptografía con el nombre de cifrado ADFGX. Fue diseñada por el

coronel Fritz Nebel.

Nebel recuperó la idea del griego Polybios, que consistía en representar las letras

del alfabeto por un par de coordenadas, pero empleando las letras A, D, F, G y X,

que fueron elegidas por ser letras que al ser transmitidas en código Morse, son lo

suficiente diferentes:

A .-

Page 64: Seguridad Informatica en 8 TEMAS

Los alemanes empezaron a radiotelegrafiar usando el cifrado ADFGX, el 5 de Marzo

de 1 918.

De repente, el 1 de Junio los mensajes ADFGX incorporaron una sexta letra, la V.

Así, el cuadrado pasó a ser de 6 x 6.

En la cifra ADFGVX hay sustitución y transposición. Se comienza dibujando una

cuadrícula de 6 x 6, y se llenan los 36 cuadrados con una disposición aleatoria de

26 letras y los 10 dígitos del 0 al 9. Cada línea y cada columna de la cuadrícula, se

identifica con una de las seis letras A, D, F, G, V o X.

La disposición de los elementos en la cuadrícula funciona como parte de la clave, de

forma que el receptor ha de conocer los detalles de la cuadrícula para poder

descifrar los mensajes.

TRASPOSICIÓN TODOS

Los métodos de trasposición cambian la posición del texto claro dentro del mensaje,

es decir, reordenan sus letras. Existen numerosos métodos de trasposición de los

cuales veremos:

Trasposición columnar: Para este método necesitamos una clave que

consta de un entero “N” y una reordenación de los números. El entero N es

el número de letras que tiene.

Supongamos que queremos cifrar la palabra “TRANSPOSICIÓN”

D -..

F ..-

G --.

X -..-

Page 65: Seguridad Informatica en 8 TEMAS

Método ZIG-ZAG: También es conocido con el nombre de RAIL FENCE.

Consiste en poner el texto a cifrar en 2 o más filas, posicionándolos en zig-

zag y leyendo fila a fila. Este método era utilizado por el ejército

confederado en la guerra de secesión (EEUU).

Ejemplo:

Distribución en figuras geométricas: Este consiste en adoptar una figura

geométrica.

Ejemplo:

Nihilistas Rusos (los que no creen en nada): En la segunda mitad del

siglo XIX lo empleaban este grupo de anarquistas que surgió en la Rusia

Zarista. En el primer paso consiste en dividir el texto llano en fragmentos de

n2 letras y formar con cada uno de ellos un cuadrado de n X n, siendo n el

número de letras de la clave. A continuación hay que ir reescribriendo los

cuadrados reordenándolos (sus columnas) en función de la clave.

Ejemplo: COMUNA

Rejilla giratoria: Su origen se data en el siglo XVIII, al ser utilizado por la

administración holandesa a mediados de dicha centuria.

Sin embargo, se suele atribuir al coronel austríaco Eduard Fleissner von

Wostrowitz, ya que lo incluyó en su obra Handbuch der Kryptographie,

escrito en 1881.

La rejilla giratoria fue popularizada por Julio Verne en su novela Matias

Sandorff.

La clave es un cuadrado dividido en cuadrículas, con la cuarte parte de ellas

perforadas, de modo que al girarla 90, 180 y 270 grados, se descubren

progresivamente todas las cuadrículas, sin repetir ninguna.

La selección de las casillas agujereadas no se puede hacer al azar, hay que

hacerla con una determinada estrategia.

En la confección de la rejilla giratoria, la selección de las cuadrículas

agujereadas se hace siguiendo la estrategia de dibujar un cuadrado 6x6, y

Page 66: Seguridad Informatica en 8 TEMAS

numerando sus cuadrículas dividiendo el cuadrado en otros cuatro cuadrados

de nueve casillas cada uno.

Al rotar 90 grados, cada uno de estos cuatro cuadrados se traslada a otro

adyacente de forma que cada una de sus cuadrículas va a parar a aquella

con igual número. En consecuencia, si se quiere que cada cuatro giros

sucesivos de 90 grados se descubran todas las celdillas una única vez, se ha

de perforar nueve de ellas sin hacerlo en dos con el mismo número. Esta

argumentación permite también contar cuantas rejillas 6x6 diferentes

pueden construirse. Puesto que se ha de elegir una de las cuatro casillas con

el número 1, otra de las cuatro con el número 2 y así sucesivamente, hay

49 maneras diferentes de hacerlo, pero como una misma rejilla puede estar

en cuatro posiciones distintas y cada una de ellas corresponde a una

selección diferente de los nueve agujeros, el número anterior ha de dividirse

por 4 quedando así 48 rejillas 6x6 diferentes.

Ejemplo: CIFRE EL TEXTO: LA REJILLA GIRATORIA ES UN MÉTODO CLÁSICO

DE CIFRADO POR TRANSPOSICIÓN.

Hay 2 formas de llevarlo a cabo. Si quedan huecos por el segundo método,

abría que rellenar las posiciones vacías con caracteres como XYZ.

CRIPTOANÁLISIS PARA EL CASO DE LA TRANSPOSICIÓN

Métodos más usados:

Múltiples anagramas: es un método que consiste en escribir los

anagramas uno debajo del otro haciendo un rectángulo. Se

reordenan las columnas procurando formar primero bigramas que

sean frecuentes en el idioma que estamos usando. A partir de ahí,

trigramas, tetragramas… y así hasta formar palabras.

Rejilla giratoria: 1ER METODO cada método de cifrado de

transposición tiene su propio sistema de criptoanálisis. El de la rejilla

giratoria parte de una suposición sobre el tamaño de la rejilla (n x n).

Solía utilizarse como valor entre 5 y 10 (5 x 5, 6 x 6…). Porque las de

Page 67: Seguridad Informatica en 8 TEMAS

4 x 4 provoca muy pocas posibilidades para analizar y por tanto

podría llevar a errores pensando que se cifró de otra forma.

MAQUINAS DE CIFRAR

La Escítala

Fue diseñada en Esparta por los lacedemonios, hacia el siglo V a. C., y la emplean

durante la guerra entre Atenas y Esparta.

Se basa en una operación de transposición, consistente en una cinta de pergamino

enrollada en un cilindro (cuyo diámetro determina la clave), sobre la cual se escribe

el texto en claro horizontalmente.

Al desenrollar la cinta, las letras aparecen permutadas constituyendo éstas el

cifrado que posteriormente se envía al destinatario, el cual dispone de una copia del

cilindro idéntica, de forma que al colocar de nuevo la cinta aparece el mensaje en

claro.

Disco de Alberti

Implementaba un sencillo criptosistema de sustitución polialfabética, mediante dos

discos concéntricos giratorios, con letras en sus bordes.

Criptógrafo de Wheatstone

Page 68: Seguridad Informatica en 8 TEMAS

Fue presentado en la exposición universal de París de 1867.

Consta de dos alfabetos formando sendas circunferencias, una dentro de otra, y dos

manecillas como las de un reloj, apuntando cada una a un alfabeto.

Las letras del alfabeto exterior están fijas y ordenadas en orden alfabético. Las

letras del alfabeto interior pueden extraerse y ordenarse según la clave.

Para cifrar, se desplaza la manecilla grande hasta la posición que en el alfabeto

exterior ocupa la letra correspondiente. Al mismo tiempo, un engranaje mueve la

manecilla pequeña hasta otra letra del alfabeto interior. Esta segunda letra es la

transformada de la primera.

El cifrado que produce lo es de sustitución polialfabética, debido al espacio en

blanco que contiene el alfabeto exterior; cuando la manecilla grande completa una

circunferencia, la pequeña ya no señala la misma letra sino la que está al lado.

La rueda de Jefferson

Thomas Jefferson, ideo su rueda entre los años 1790 y 1800.

Se trata de un cilindro formado con 36 discos de madera de igual tamaño que se

identifican con números del 1 al 36. En el borde de los discos van grabadas las 26

letras del alfabeto en un orden que es diferente en cada disco.

El centro de los discos está agujereado para que éstos puedan montarse sobre un

eje de hierro y de modo que sea posible su giro respecto al eje.

El orden en que se montan los discos sobre el eje es precisamente la clave

convenida entre el emisor y el receptor.

El número total de claves es el factorial de 36, un número con 42 dígitos. Para

cifrar, el emisor divide primero el texto en claro en fragmentos de 36 letras. A

continuación gira convenientemente los discos de la rueda para que pueda leerse el

Page 69: Seguridad Informatica en 8 TEMAS

primer fragmento en una de las 26 generatrices del cilindro. Entonces considera

aleatoriamente una de las 26 generatrices restantes. Las letras de que consta es el

cifrado del primer fragmento. De igual modo se cifra el resto, siendo el cifrado

resultante poligráfico y también homófono, ya que hay 25 posibilidades para un

mismo bloque.

Es un cifrado de sustitución polialfabética.

Cilindro de Bazeries

Etiénne Bazeries reinventó la rueda de Jefferson en 1891.

La única diferencia entre ambos estriba en que el cilindro de Bazeries emplea 20

discos con 25 letras en lugar de los 36 discos y 26 letras de Jefferson.

En 14 de sus discos, Bazeries dispuso el orden de las letras en los discos de

cilindro, colocando las letras ordenándolas a partir de frases mnemotécnicas, como

“Dieu protege la France”, “Honneur et patrie”, “Instruisez la jeunesse”,… lo cual

terminó facilitando su descifrado.

Page 70: Seguridad Informatica en 8 TEMAS

Máquinas Hagelin

Desarrollada por el ingeniero sueco Boris Hagelin entre 1920 y 1930.

Incorporan ruedas de clave con piñones que se pueden activar o desactivar.

El cifrado se considera de sustitución tipo Beaufort.

La Hagelin C-48 combina el texto original, símbolo a símbolo, con la fuente de clave, que es

una larga secuencia pesudoaleatoria derivada de la clave, produciendo el criptograma de un

modo similar a como lo hace la sustitución tipo Vigenère. Tanto el texto en claro, como la

clave, como el criptograma que produce, se componen de letras de un alfabeto con 26

símbolos, siendo el texto en claro restado, en vez de sumado, a la fuente de clave módulo

26, haciendo el cifrado como autoinverso.

Cilindro M-94

El ejército americano presentó en 1922 un cilindro similar al de Bazeries, con la deficiencia

de las frases corregida. Consta de 25 discos de aluminio de pequeño tamaño, que giran

sobre un eje de once centímetros de longitud.

Page 71: Seguridad Informatica en 8 TEMAS

Estuvo en vigor hasta 1943.

Similar fue el M-138, pero con tiras de cartón deslizantes en lugar de discos. Constaba de

100 tiras de las que únicamente se usaban treinta a la vez, y fue empleado hasta casi al final

de la Segunda Guerra Mundial.

MÁQUINAS DE ROTORES

Un rotor es un disco delgado fabricado con material aislante y con contactos

eléctricos en sus dos caras, en número igual a las letras del alfabeto que se

emplee. Cada contacto de una cara se conecta aleatoriamente con otro de la cara

opuesta mediante un cable eléctrico. Por otra parte, los contactos de una cara

rozan con otros que enlazan con las letras del alfabeto en claro y, análogamente,

los contactos de la cara opuesta lo hacen con otros que conectan con las letras del

alfabeto cifrado.

Cuando se pulsa una tecla, una corriente eléctrica atraviesa el rotor transformando

la letra de la tecla pulsada en otra.

Producen un cifrado de sustitución polialfabética.

Máquina de rotores de Hebern

Edward H. Hebern comenzó su diseño en 1917, y la construyó un año después.

Consta de cinco rotores concatenados que se pueden extraer y volver a colocar en

otro orden, incluso invertidos. En total, 3840 maneras distintas. Los cinco rotores

van situados entre dos ruedas de trinquete de aluminio, cuya función es gobernar

su movimiento. Como los rotores, las ruedas también giran y llevan grabadas en su

borde las 26 letras del alfabeto inglés, en correspondencia con sus posibles

posiciones.

Hebern propuso que la clave determine la disposición de los rotores y que se

cambie diariamente. Una vez colocados los rotores, el emisor del mensaje elige

Page 72: Seguridad Informatica en 8 TEMAS

aleatoriamente siete letras y gira las dos ruedas y los cinco rotores para que se

contemplen alineadas en cierto punto marcado en la máquina, al efecto. Las siete

letras deben ser diferentes para cada mensaje, y se transmiten en claro al receptor.

A continuación, el emisor sitúa una palanca en posición DIRECT, y la máquina

puede comenzar a cifrar. Cada vez que se presiona una tecla, una corriente

eléctrica atraviesa el banco de rotores de izquierda a derecha, e ilumina en el panel

situado encima del teclado, la lámpara correspondiente a la letra cifrada. Un

mecanismo hace girar alguno de los rotores y el emisor anota en un papel la letra

iluminada, antes de cifrar la siguiente.

Para descifrar el mensaje, el proceso es similar, pero partiendo de que la posición

de la palanca es REVERSE.

Electric Cipher Machine Mark I

A partir de la máquina de Hebern, se desarrolló en 1934 una máquina que superó

todos los tests de criptoanálisis a los que se le sometió.

Sigaba

Se trata de una mejora de la anterior. También se llama Electric Cipher Machine

Mark II.

El movimiento de los cinco rotores que intervienen en el cifrado es muy complejo,

pues al pulsar una tecla, de uno a cuatro de estos rotores avanzan guiados por una

señal electrónica que se esconde al atravesar otros diez rotores que a su vez se

mueven mediante un dispositivo mecánico.

Page 73: Seguridad Informatica en 8 TEMAS

Enigma

La primera versión, Enigma A, se realizó siguiendo el diseño patentado en 1 918

por el ingeniero alemán Arthur Scherbius, donde se reconocen ideas de otro

inventor, el holandés Hugo Alexander Koch.

Parece una máquina de escribir, y se podía utilizar como tal.

Consta de cuatro rotores cuyo giro es causado por la acción de los dientes de otras

tantas ruedas. Estas cuatro ruedas avanzan una posición cada vez que se pulsa una

letra, completando una revolución cada 11, 15, 17 y 19 pulsaciones,

respectivamente.

Page 74: Seguridad Informatica en 8 TEMAS

La versión B, muy parecida a la versión A, se diferenciaba de su predecesora en

que contenía el alfabeto estándar de 26 letras.

En 1926 aparece Enigma C. Se caracterizó por una disminución de peso y volumen,

con lo que cabía en un pequeño maletín. El cambio más reseñable fue que uno de

los cuatro rotores era un reflector. El empleo del reflector, supuso que las

sustituciones obtenidas fuesen involutivas, es decir, que si una letra se transforma

en otra, ésta también se transmuta por aquella.

Enigma C no imprimía el texto cifrado, cosa que si realizaban las versiones A y B.

Page 75: Seguridad Informatica en 8 TEMAS

En 1927 aparece el modelo D. Las diferencias para con la versión C eran: el teclado

va configurado siguiendo el estándar alemán, en el orden QWERTZ …(en lugar de

ABCDEF …), y el reflector, que pasa a poder situarse en 26 posiciones (en vez de

dos).

Enigma D fue un gran éxito comercial.

http://www.amenigma.com/

C-38

Creada por el ingeniero sueco Boris Hagelin en 1938, se trata de un dispositivo de

bolsillo que funcionaba sin corriente eléctrica y que podía imprimir el texto cifrado.

La versión empleada por el ejército americano se llamó convertidor M-209.

Su cifrado es de sustitución polialfabética.

ESTEGANOGRAFÍA

Del griego steganos (oculto) y graphos (escritura), la esteganografía se puede

definir como la ocultación de información en un canal encubierto con el propósito de

prevenir la detección de un mensaje oculto.

Page 76: Seguridad Informatica en 8 TEMAS

La robustez ante distorsiones también suele ser un objetivo de la criptografía,

ahora bien, la esteganografía y la criptografía son campos distintos. En la

criptografía, el objetivo es asegurar la confidencialidad de la información ante los

ojos de un interceptor que es capaz de ver el criptograma, aun cuando éste conoce

el algoritmo que lo genera. En cambio, la esteganografía busca ocultar la presencia

del mensaje en sí; ya que si se llega a identificar la posición del mensaje se conoce

directamente la comunicación (conocido el algoritmo de ocultación), lo que no

ocurre en el caso del criptograma.

Para que la esteganografía sea de más utilidad se debe combinar con la

criptografía. El mensaje a intercambiar se ha de cifrar (de forma robusta) y luego

introducir en el objeto contenedor. De esta forma, aunque un interceptor descubra

el patrón esteganográfico, jamás puede llegar a conocer el mensaje intercambiado.

La esteganografía estudia el conjunto de técnicas cuyo fin es insertar información

sensible dentro de otro fichero. A este fichero se le denomina fichero contenedor

(gráficos, documentos, programas ejecutables, etc.). De esta forma, se consigue

que la información pase inadvertida a terceros, de tal forma que sólo sea

recuperada por un usuario legítimo que conozca un determinado algoritmo de

extracción de la misma.

En muchos casos el objeto contenedor es conocido, lo que se ignora es el algoritmo

de inserción de la información en dicho objeto.

DEFINICIONES

Objeto contenedor: se trata de la entidad que se emplea para portar el

mensaje oculto. Acudiendo al ejemplo de los mensajes sobre el cuero

cabelludo, el objeto contenedor es el esclavo en sí (esclavo que le cortaban el

pelo para escribir el mensaje en su cabeza y dejaban que le creciese el pelo).

Estego-objeto: se trata del objeto contenedor más el mensaje encubierto.

Siguiendo con el ejemplo, se trata del esclavo una vez se ha escrito en su

cuero cabelludo el mensaje y se le ha dejado crecer el pelo.

Adversario: son todos aquellos entes a los que se trata de ocultar la

información encubierta. En el ejemplo de la prisión, se trata del guardia

que entrega los mensajes a uno y otro prisionero. Este adversario puede

ser pasivo o activo. Un adversario pasivo sospecha que se puede estar

produciendo una comunicación encubierta y trata de descubrir el algoritmo que se extrae del estego-objeto, pero no trata de modificar dicho objeto.

Page 77: Seguridad Informatica en 8 TEMAS

Un adversario activo, además de tratar de hallar el algoritmo de

comunicación encubierta, modifica el estego-objeto con el fin de corromper

cualquier intento de mensajería subliminal. (En una prisión de alta seguridad dos

internos en celdas separadas, Rómulo y Remo, se quieren comunicar para elaborar un plan de fuga. Ahora bien, toda comunicación intercambiada entre ellos es examinada por un guardia

que los aísla por completo ante cualquier sospecha de comunicación encubierta. Con la esteganografía el guardia inspecciona mensajes aparentemente inocuos que contienen un

canal subliminal muy útil para los prisioneros.)

Estegoanálisis: ciencia que estudia la detección (ataques pasivos) y/o anulación (ataques activos) de información oculta en distintas tapaderas,

así como la posibilidad de localizar la información útil dentro de la misma

(existencia y tamaño).

EJEMPLO: El objeto contenedor más utilizado: las imágenes digitales.

Especialmente, en formato BMP por su sencillez (es un formato de fichero sin

compresión). Se pueden extender a otros formatos (JPG, PNG, etc.) y a otros

contenedores (vídeos, documentos, etc.) siempre que se respeten las

particularidades de cada formato. Nosotros veremos el S-Tools.

ESTEGOANÁLISIS

Manual: Consiste en buscar de forma manual diferencias entre el objeto

contenedor y el estego-objeto buscando cambios en la estructura para

localizar datos ocultos. Los principales inconvenientes de esta técnica son

que es necesario tener el objeto contenedor y que en muchas ocasiones se

detecta que un objeto contiene información oculta pero es imposible

recuperarla.

Estadístico: Consiste en el cotejo de la frecuencia de distribución de colores

del estego-objeto. Es una técnica lenta para la que se debe emplear

software especializado. Estos programas suelen buscar pautas para ocultar

los mensajes que utilizan los programas más habituales de esteganografía,

este enfoque los hace muy eficaces cuando se trata de mensajes ocultos con

estos programas típicos. Ahora bien, los mensajes ocultados manualmente

son casi imposibles de encontrar para estos programas. (Ejemplo Chi-

Square)

APLICACIONES

Esteganografía empleando el protocolo TCP/IP: El protocolo TCP/IP es

apropiado para crear canales encubiertos de comunicación ya que a través

Page 78: Seguridad Informatica en 8 TEMAS

de las cabeceras se pueden enviar datos relevantes para dos entes que

acuerdan un protocolo encubierto. Usando este enfoque es posible empotrar

datos en peticiones de conexión iniciales, conexiones establecidas u otros

pasos intermedios.

Malware: El malware de hoy día normalmente se comunica con un punto de

control en posesión del atacante para recibir órdenes de descarga de

módulos adicionales, para enviar datos robados, para indicar que una nueva

víctima ha sido infectada, etc.

Marcas de agua digitales: Una marca de agua digital es un código de

identificación que se introduce directamente en el contenido de un archivo

multimedia, normalmente para incluir información relativa a los derechos de

autor o de propiedad del contenido digital en cuestión.

La presencia de esta marca de agua debe ser inapreciable para el sistema de

percepción humano a la vez que fácilmente extraíble por una aplicación

telemática que conozca el algoritmo para recuperarla. Como consecuencia,

en la actualidad se están empleando técnicas que en algunos casos pueden

ser consideradas esteganografía para conseguir dicho propósito.

Las aplicaciones más comunes de las marcas de agua son (no hace falta

estudiarlas):

Prueba de propiedad: identificación de la fuente, el autor, el propietario, el

distribuidor y/o el consumidor de un fichero digital.

Fingerprinting: incluye los datos asociados a una transacción, datos del

propietario de un fichero y de su comprador. Permite identificar al responsable de

copias ilegales de contenido protegido por derechos de autor.

Clasificación de contenidos: las marcas de agua se pueden emplear apara indicar el tipo de contenido de un fichero. Por ejemplo, en un mundo ideal las

páginas con contenido para adultos incluirían marcas de agua específicas en todas

sus imágenes, vídeos y demás. Los programas de filtrado de contenidos las

detectarían automáticamente de forma sencilla e impedirían su visualización a

determinados públicos.

• Restricción en el uso de contenidos: empleadas en conjunción con

aplicaciones o sistemas empotrados programados para tal fin, las marcas de agua

pueden emplearse para impedir la visualización de ciertos contenidos cuando son

copiados más de un determinado número de veces, a partir de una determinada fecha, etc.

Page 79: Seguridad Informatica en 8 TEMAS

OTRAS APLICACIONES

De igual forma que el malware puede emplear la esteganografía para crear un canal

de comunicación encubierta en redes sociales, también pueden hacerlo personas

físicas. Otro uso poco ético que se ha hecho de la esteganografía es la fuga de

información en entornos corporativos, militares, gubernamentales, etc.

TEMA 4: SISTEMAS DE VERIFICACIÓN E

IDENTIFICACIÓN Gestión de claves

La mayor parte de los sistemas de seguridad en redes se basan en utilizar técnicas

criptográficas. La fortaleza o robustez de los algoritmos, viene determinada en gran

parte por las características de las claves que se vayan a utilizar, lo cual hace que

su propia gestión sea el principal problema a la hora de utilizarlas.

Page 80: Seguridad Informatica en 8 TEMAS

La gestión de claves hace referencia a crear las claves, distribuirlas, almacenarlas y

anularlas.

Para ISO define la gestión de claves como la generación, la distribución, el borrado,

almacenamiento y aplicación en función de una política de seguridad.

Cuando trabajamos con claves una de las posibles clasificaciones es atendiendo a si

se emplea por ambas partes la misma clave, o bien no.

Así surgen los Criptosistemas:

SIMÉTRICOS (O DE CLAVE SECRETA/PRIVADA):

CRIPTOSISTEMAS DE CLAVE SIMÉTRICA

Se caracterizan porque para cifrar y para descifrar usamos la misma clave. Esa

clave debe mantenerse secreta, por ello tendríamos que afrontar el problema de la

distribución de las claves, que resulta ser el problema más peliagudo.

Otra característica es que requiere gran cantidad de claves, ya que deben irse

modificando por su posible interceptación.

Existen dos tipos generales de criptosistemas de clave simétrica (flujo y bloque).

Estos sistemas se han utilizado desde la más remota antigüedad hasta nuestros

días.

Cifrado en flujo:

El emisor de un mensaje, mediante una clave corta y secreta y un algoritmo

determinista público, genera una secuencia binaria, cuyos elementos se suman

módulo 2* con los correspondientes bits del mensaje, dando lugar a los bits del

criptograma.

El receptor del mensaje utiliza la misma clave y el mismo algoritmo para generar la

misma secuencia cifrante, la cual sumará módulo 2 (*XOR) con la secuencia

cifrada (sería restar la suma que hizo el emisor), dando lugar a los bits del mensaje

original.

*XOR (0+0=0; 0+1= 1; 1+0= 1; 1+1= 0)

SUMA NORMAL 111+101=1100 SUMA MODULO 2 111+101= 010

DIVISIÓN NORMAL 101/11 = 1 (RESTO 100),… DIVISIÓN MODULO 2 101/11= 11

(RESTO 0)

Cifrado en bloque:

Consiste en cifrar el mensaje original agrupando los símbolos en grupos o bloques

(conjunto de bytes).

Presenta como características las siguientes:

- Cada símbolo se cifra de manera dependiente de los adyacentes

- Cada bloque de símbolos se cifra siempre de igual manera,

independientemente del lugar que ocupe en el mensaje

- Para descifrar el mensaje no es preciso descifrarlo completamente desde el

principio; se puede hacer desde el bloque que interese

Page 81: Seguridad Informatica en 8 TEMAS

Los algoritmos simétricos que se emplean actualmente suelen cifrar bloques de

tamaño constante o variable, en función del algoritmo. Un bloque puede ser

constante o variable (con o sin el mismo tamaño).

Formas básicas de funcionamiento:

- Electronic CodeBook (ECB)

Libro de código electrónico – Cada bloque de texto se cifra por separado,

utilizando la misma clave.

Funciona bien en canales ruidosos, pues la alteración de algún bit, sólo

corrompe el bloque que lo contiene.

No permite detectar cuando se han insertado o eliminado trozos de un

mensaje.

TEXTO – BLOQUE – ALGORITMO – BLOQUE – TEXTO

- Cipher Block Chainning (CBC)

Encadenamiento de bloques de cifrado – Los bloques se relacionan entre sí

por medio de funciones XOR. El texto en claro pasa primero por un XOR con el

valor cifrado del bloque previo, y el resultado se cifra posteriormente usando

la clave

- Cipher FeedBack (CFB)

Retroalimentación de cifrado – Estandarizado por el NIST (U.S. National

Institute for Standards and Technology) -

Este modo utiliza un registro de desplazamiento con una longitud de un

bloque y dividido en secciones.

Permite codificar la información en unidades inferiores al tamaño del bloque,

lo cual permite aprovechar totalmente la capacidad de transmisión del canal

de comunicaciones, manteniendo además un nivel de seguridad adecuado.

− Output FeedBack (OFB)

Retroalimentación de salidas – Se realiza un XOR entre caracteres o bits

aislados del texto y las salidas del algoritmo. El algoritmo utiliza como

entradas sus propias salidas, por lo que no depende del texto.

Page 82: Seguridad Informatica en 8 TEMAS

Algoritmos más utilizados:

DES

Es el más antiguo.

La NBS (National Bureau of Standard, hoy NIST) solicitó en 1973

propuestas para un estándar de cifrado de uso general. Recibió muy pocas

propuestas y de escasa consideración. Al segundo concurso efectuado en

1974, se presentó IBM con un criptosistema basado en un cifrado denominado

Lucifer, ideado por Horst Feistel, uno de sus técnicos. Ésta propuesta si se

consideró interesante, pero antes de su adopción, debía someterse a la

consideración de los expertos de la NSA. Así se hizo y recibió una evaluación

positiva.

El 23 de Noviembre de 1976, la versión de 56 bits de la cifra Lucifer de

Feistel, fue adoptada por la NBS como estándar de cifrado de la información

sensible “no clasificada”, con el nombre de Data Encryption Standard.

La norma exige que el DES se implemente mediante un circuito integrado

electrónico (Hardware). El chip DES es un producto estratégico U.S.A., no

está permitida su exportación sin un permiso especial, y no se permite

comercializar en el país chips fabricados en el exterior.

En 1981 ANSI (American National Standard Institute), adoptó el DES con el

nombre DEA (Data Encryption Algorithm), como norma en el sector

privado (ANSI X3.106) y para el cifrado en redes (ANSI X3.105). Para ésta

norma, no se exige la implementación en un circuito integrado y puede ser

implementado por software.

Las normas ISO relativas a DES son la ISO 8382, equivalente a ANSI X3.106,

ISO 9797, ISO 9798 e ISO 10118.

El cifrado DES consta de 19 etapas diferentes. La primera etapa es una

transposición, una permutación inicial del texto en claro de 64 bits,

independientemente de la clave. La penúltima etapa intercambia los 32 bits

de la izquierda con los 32 de la derecha. La última etapa es una transposición

exactamente inversa a la primera. Y las 16 etapas restantes, son una red de

Feistel de 16 rondas: se divide el bloque de datos en dos mitades, y en cada

vuelta de cifrado se trabaja con una de las dos mitades.

El análogo de DES en la antigua Unión Soviética, es Gost.

IDEA

Xuejia Lay y James L. Massey del Instituto Federal de Tecnología Suizo,

inventaron en 1990 el algoritmo PEES (Proposed European Encryption

Standard). Su segunda versión, se publicó en 1992 bajo el nombre de IDEA

(International Data Encryption Algorithm).

El algoritmo está libre de restricciones y permisos nacionales, y se distribuye

libremente por Internet. Se emplea comúnmente en Europa.

Page 83: Seguridad Informatica en 8 TEMAS

Tanto los datos en claro como los datos cifrados, están compuestos por

bloques de 64 bits, y su clave consta de 128 bits, lo que hace muy difícil que

lo rompan mediante ataques de fuerza bruta. El algoritmo consiste en ocho

vueltas de cifrado idénticas, seguidas de una transformación de salida.

PGP, conocido producto de seguridad para redes, incluye IDEA como

algoritmo de cifrado.

RC-2, RC-5 y RC-4

RC procede de Ron´s Code o de Rivest´s Cipher, pues su autor es Ron

Rivest, coautor del RSA.

RC-2 utiliza una longitud del bloque de cifrado de 64 bits, y una clave de

longitud variable entre 1 y 2048 bits, aunque las versiones exportadas están

limitadas a 40 bits.

Su diseño es secreto, por lo cual su seguridad es más dudosa que si fuese un

algoritmo de público conocimiento. (Si algo se publica su seguridad es mayor

porque todos hacen aportaciones, en cambio si es secreta depende de la

confianza que se pueda tener en la persona que lo ha creado)

RC-5 es una versión más moderna de RC-2, y sus características son que es

un criptosistema simétrico y de bloque, que opera con palabras de tamaño

variable y clave secreta de longitud variable. Se puede implementar tanto en

hardware como por software.

Por su parte, RC-4 es un cifrador de flujo, el único de ésa relación de

algoritmos, con clave variable entre 1 y 2048 bits, y donde se pueden

configurar muchos parámetros, lo que permite su adaptación a las

necesidades de cada aplicación.

AES

La NBS (National Bureau of Standard, hoy NIST) solicitó en 1997 propuestas

para un nuevo estándar de cifrado, habida cuenta que la seguridad de DES

estaba ya comprometida. El resultado se denominaría AES (Advanced

Encryption Standard), y el proceso sería mucho más transparente que el

que emplearon para con DES y que generara una gran polémica. En Octubre

del año 2000, se eligió el criptosistema de los belgas J. Daemen y V. Rijmen,

llamado Rijndael. Se utiliza en las comunicaciones oficiales y militares de

U.S.A, con información no clasificada.

GESTIÓN DE CLAVES SIMÉTRICAS

En cualquier red de comunicaciones es necesario establecer un procedimiento de

gestión de claves debido a que:

- Los sistemas criptográficos no pretenden conseguir la seguridad al 100%

solamente pretenden obtener un nivel adecuado de seguridad. Cada vez que

usamos una clave, ésta queda expuesta y cada vez que la reutilizamos el

Page 84: Seguridad Informatica en 8 TEMAS

problema se agrava, es decir, las claves se “desgastan” con el uso. Esto

implica que su duración sea limitada.

- Hay que anular las claves utilizadas por clientes que hayan finalizado su

misión o que hayan cambiado sus privilegios.

- Hay que emplear claves diferentes para cometidos diferentes:

o Autenticación

o Firma digital

o Transmisión de datos

o Almacenamiento…

- Es necesario dotar o asignar claves distintas a clientes distintos o grupos de

clientes distintos dentro de la red.

En general es conveniente utilizar una jerarquía de claves piramidal, es decir, las

claves de menor rango se cifran bajo claves de mayor rango de manera que, las

claves de mayor rango se utilicen el mínimo número de veces.

En el vértice de la pirámide estará la clave maestra. La clave maestra hay que

guardarla en un módulo de seguridad sin cifrar (texto en claro o texto llano) y se ha

de emplear en contadas ocasiones, utilizándola para cifrar información de pequeño

tamaño, por lo general de hasta 128 bits.

Un nivel más debajo de la pirámide están las “claves del segundo grado” que se

cifran con la clave maestra, es decir son claves que se utilizan para cifrar otras

claves, no para cifrar datos.

Debajo de las de segundo grado sigue habiendo niveles de número variable (tercer

grado, cuarto…) teniendo como mínimo 3.

La clave de generación de claves: Se usa para crear otras claves, que van a

controlar algún generador de claves ya sea Software o Hardware.

Clave de transporte de claves de sesión: Es una clave para cifrar y distribuir las

claves de sesión.

Claves de cifrado de claves de fichero: Esta clave se utiliza en el

almacenamiento de ficheros y suelen vivir mientras vivan los ficheros.

Clave de cifrado de claves maestras de cliente: Se utilizan para las claves de

las máquinas locales (clientes). Cada cliente va a disponer de su clave maestra

almacenada en claro (llano) en su propio armario de seguridad.

DISTRIBUCIÓN DE CLAVES SIMÉTRICAS

Para distribuir las claves existen varias técnicas que deben garantizar que ambos

extremos de una conexión dispongan de la clave. El IEEE 802.10 contempla tres

clases de técnicas de distribución de claves:

o A: Distribución manual de claves Utilizan métodos de entrega fuera de línea para establecer claves

criptográficas compartidas en parejas o en grupos.

Se suele realizar una vez por usuario, y para la distribución del material

adicional sobre las claves, se puede utilizar la clave distribuida como clave de cifrado de claves (Key Encryption Key)

o B: Distribución de claves basadas en centro

Page 85: Seguridad Informatica en 8 TEMAS

Se establecen claves criptográficas por parejas o en multidifusión entre

entidades de comunicación, a través de una tercera entidad de confianza, un

centro de distribución de claves (Key Distribution Center, KDC).

Existen dos paradigmas básicos para contactar con un KDC: - El modelo pull: Si A quiere comunicarse con B, A necesita una clave,

entonces A se dirige al KDC para solicitársela, el KDC le proporciona

dicha clave y A ya puede comunicarse con B. Ejemplo: Kerberos.

- El modelo push: Es el estándar americano. A quiere comunicarse con B, entonces A contacta con B para que B pida la clave a KDC. Se realiza de

esta forma para distribuir la carga de trabajo. Los KDC se suelen ubicar

cerca de los servidores.

o C: Distribución de claves basada en criptosistemas asimétricos

Cuando dos entidades desean comunicarse de manera segura a través de un

criptosistema asimétrico, pueden intercambiarse mensajes cifrados con sólo

conocer la clave pública de su interlocutor.

Hay dos modelos de distribución de claves basadas en criptosistemas asimétricos:

- Transferencia de claves: Supone utilizar un criptosistema público basado

en certificados para, con éste, cifrar una clave privada y protegerla durante su

distribución. - Intercambio de claves o acuerdo de claves: Consiste en generar de

forma colaborativa una clave en local y en la máquina remota. Ejemplo

Diffie-Hellman.

Por lo general los sistemas actuales utilizan técnicas mixtas.

ASIMÉTRICOS (O DE CLAVE PÚBLICA):

Le podemos llamar sistemas de clave asimétrica o de clave pública. El sistema

anterior, como ya se vio, presenta el problema de distribuir las claves. El uso de

claves pública supone una solución a dicho problema y consiste en emplear dos

claves, una pública (de conocimiento general) y una privada (que solo conoce la

persona que la utiliza). Con la clave pública se cifran los mensajes y con la clave

privada se descifran.

El proceso sería el siguiente:

- Cada usuario genera un par de claves que se van a utilizar para el cifrado y el

descifrado de los mensajes - Cada usuario publica una de las dos claves de cifrado situándola en un

registro o fichero público. Ésta es la clave pública. La clave compañera se

mantiene privada. Cada usuario mantiene una colección de claves públicas de

otros usuarios - El emisor de un mensaje, ha de cifrarlo utilizando la clave pública del receptor

- El receptor del mensaje, ha de descifrarlo utilizando su clave privada

Esto supuso una revolución en la criptología (criptografía+criptoanálisis). Se puede utilizar para conseguir la confidencialidad (lo mismo que en los simétricos) pero

también la autenticación y resolver el problema de distribución de claves.

Cada tipo de servicio lo vamos a cifrar de forma diferente:

o La confidencialidad: Para conseguir la confidencialidad el que emite va a cifrar con la clave pública del receptor y este lo descifra con su clave

privada. Esto vendría ser similar a un criptosistema simétrico.

o La integridad: Al cifrar el contenido estamos consiguiendo que la integridad

de lo enviado permanezca.

o Autenticación: En la autenticación no podemos aplicar lo dicho (cifrar clave

publica, descifrar privada), para ello empleamos la firma digital para

Page 86: Seguridad Informatica en 8 TEMAS

demostrar que realmente somos quién decimos ser. Vamos a cifrar con

nuestra clave privada y el que lea el documento lo descifrará con la clave

pública del emisor (en este caso nosotros).

o No-repudio: Lo haremos a través de la firma digital, al igual que en el caso

de la autenticación.

Por otra parte, para asegurar que la clave pública pertenece a un usuario

determinado, utilizaremos los certificados.

Algoritmos más utilizados: RSA Desarrollado en el MIT (Massachussetts Institute of Tecnology) en 1977 por

Ronald Rivest, Adi Shamir y Leonard Adleman, se publicó en 1978 en un

artículo titulado A method for obtaining digital signatures and public-key

cryptosystems, a pesar de los intentos de la NSA para que no se hiciese público un algoritmo que era de su interés y que deseaban controlar.

Se basa en la factorización de números muy grandes, y es de libre circulación

para claves de menos de 512 bits.

La clave pública y la privada, están compuestas por un exponente y un módulo que es un producto de dos números primos grandes.

Consta de tres partes:

Generación de claves: Cada usuario debe elegir sus claves (pública y

privada) mediante el siguiente protocolo: o 1- El usuario elige dos números primos grandes “P” y “Q” y se calcula

su producto n = p x q (n sería el módulo “mod”)

o 2- A continuación el usuario elige un entero positivo “e” tal que 2<e<

Φ ”phi”(n) / Φ es la función Φ de Euler, que nos dice la cantidad de

números que tiene un inverso para un módulo. El inverso se puede

denominar como inverso multiplicativo, recíproco o simplemente inverso. En

aritmética modular es un número “K” tal que multiplicado por el número “x” daría como resultado 1 si le aplicamos un determinado módulo. K*x (mod

n)= 1. Ejemplo: K * 3 (mod 11) = 1 donde K tendría que ser 12 para

que el módulo de 1. / de modo que el mcd (máximo común divisor)

(e, Φ(n))=1 donde “Φ” es el indicador de Euler que para el caso de un número producto de dos primos n = p x q tiene la expresión

siguiente: Φ (n)= Φ (p*q)= (p – 1)*(q - 1)

o 3- Para calcular “d” lo podemos llevar a cabo de dos maneras, la mas

sencilla sería decir que d = Φ (n) +1 / e (de forma que este cociente sea 0). Y la segunda forma sería mediante el algoritmo de

Euclides extendido el usuario calcula “d * e (mod Φ (n)) = 1”

verificando que 1 < d < Φ (n). “E” tiene que ser primo relativo con

Φ(n) para que tenga inversa “d”. Primo relativo: Un primo relativo es, que un número “X” tiene inversa

mod(n) si no existe ningún número (excepto 1) < “X” y < “n” que lo

divida de forma exacta (su mcd = 1).

Page 87: Seguridad Informatica en 8 TEMAS

o 4- La clave pública del usuario es la pareja “n, e” mientras que su

clave privada es “d ” han de permanecer secretos los números p q y

Φ (n)

Una vez que el usuario ha determinado su clave, la hace pública en un directorio de claves en el que cualquiera pueda acceder.

EJERCICIO: (A- Alicia, B - Bernardo) Alicia elige 2 números primos de

forma secreta que constan entre: p = 383 q = 521 En primer lugar se haya n que es igual a p*q = 383*521= 199543

Luego se haya Φ (n) = (p-1)*(q-1) = 382*520 = 198640

n = 199543

Φ (n) = 198640 Ahora habría que calcular “e”. 2<e< Φ (n) 2<e<198640

mcd (e, Φ (n))= 1

e = 3

mcd (3, 198640) = 1 A continuación calculamos “d”. d = Φ (n)/e 198640 (+1)/3 = 66213.6666

Entonces vemos que tendríamos que haber calculado “d” por el método 2 de Euclides (e * d = 1(mod Φ)) 3 * d (mod 198640) = 1 d = 132427

Cifrado información: Si un usuario “B” quiere mandar un mensaje “m” a un

receptor “A” ha de realizar:

o B obtiene la clave pública de A, conectándose al directorio público de

claves (nA, eA)

o B representa el mensaje “m” como un entero en el rango {0, 1, 2,

…nA-1 } y primo con nA

o B calcula el valor del criptograma c = meA (mod nA)

EJERCICIO (ANTERIOR):

c = meB (mod nB) c= m3(mod 199543) donde m es cada

letra del mensaje a enviar… Descifrado información: Una vez que el usuario A recibe el mensaje

cifrado, o sea el criptograma “c”, para recuperar el mensaje original “m”

utiliza su clave privada dA y calcula: cdA = (me

A)dA * (mod nA) =

meA

dA * (mod nA) == m * (mod nA)

EJERCICIO (ANTERIOR):

meA

dA * (mod nA) == m * (mod nA) M1 = C1

d (mod n)

EJERCICIO 2

Elegimos como valores de “p y q” por parte de Alicia el 5 y el 7 y por parte de

Bernardo 3 y 11. Alicia desea transmitir un mensaje a Bernardo, en concreto HOLA.

Alicia: p = 5 q = 7

N = p*q = 7 * 5 = 35 Φ (n) = (p-1)*(q-1) +1 24 +1 = 25

2<e< Φ (n) 5 d = Φ (n)/e 25/5 = 5

Clave pública = (n, e) = (35, 5)

Clave privada = d = 5

Bernardo: p=3 q =11

N = p*q = 3 * 11 = 33 Φ (n) = (p-1)*(q-1) +1 (2*10)+1 = 21

2<e< Φ (n) 3

Page 88: Seguridad Informatica en 8 TEMAS

d = Φ (n)/e 21/3 = 7

Clave pública = (n, e) = (33, 3)

Clave privada = d = 7

------ Mensaje: HOLA ------------

A (0) B (1) C (3) D… H = 7 M1

O = 15 M2

L = 11 M3 A = 0 M4

Alicia C1 = M1

e (mod n) = 73 (mod 33) se coge la “e” y la “n” de Bernardo = 13 (el

resto de la división entre 343/33) 13

C2 = M2e (mod n) = 153 (mod 33) 3375 (mod 33) 9

C3 = M3e (mod n) = 113 (mod 33) 11

C4 = M4e (mod n) = 03 (mod 33) 0

Bernardo

M1d (mod n) 137(mod 33) 7 (H)

M2d (mod n) 157(mod 33) 15 (0)

M3d (mod n) 117(mod 33) 11 (L)

M4d (mod n) 07(mod 33) 0 (A)

EJERCICIO 3. Los 2 métodos para comprobar “d”: Suponiendo que p = 5 y q = 11

n = 55

Φ(n) = 40

“e” y “d” tienen que ser primos relativos. Elijo e = 7

1er método

d = Φ (n)/e d = 40 (+1)/7 (no da entero, no vale)

2º método

(e * d = 1(mod Φ))

7 * d = 1 (mod 40)

d = 23

“e” debería ser primo relativo con Φ(n) mcd (7, 40)=1 (se cumple)

¿Por qué hay que cumplir todas estas relaciones? Supongamos que elegimos P= 3 y

q=11. Por tanto n = 33. Φ (n) = (3-1)*(11-1) = 20 (+1)

Este 33 y el 21 tienen una relación curiosa:

Cualquier número desde 0 hasta el 33 (no incluido), si lo elevamos al 21 obtendremos un número muy grande que al dividirlo por 33 nos va a dar como

resto el número que hemos utilizado. Ejemplo (elijo 2): 2 21 = 2.155.152 2.155.152/33 = 63.550 y el resto va a ser

2. Esto es consecuencia del teorema de Euler-Fermat

Page 89: Seguridad Informatica en 8 TEMAS

Diffie-Hellman

Whitfield Diffie y Martin Hellman, de la Universidad de Stanford, publicaron en

la revista IEEE Transactions on Information Theory de Noviembre de 1976, un

artículo titulado New Directions in Cryptography. En él presentan nociones básicas de la criptografía en clave pública, utilizaciones prácticas de la misma,

y describen el primer criptosistema de ésta rama. Recuerdan también el

trabajo de Ralph Merkle, de la Universidad de California en Berkeley, quién

había llegado a la misma idea de clave pública que ellos. Se utiliza para distribuir claves simétricas, pero no sirve para

confidencialidad, autenticación, ni firma digital.

DSA

En 1991, la relevancia del comercio electrónico provocó que las autoridades

federales estadounidenses, adoptasen a través del NIST (NBS) el estándar de cifrado DSA (Digital Signature Algorithm), que junto con un modo

particular de utilización, recibió, en Mayo de 1994 la calificación de estándar

de firma digital DSS.

El DSA utiliza más parámetros que el RSA para conseguir un mayor grado de seguridad.

Se suele emplear únicamente para firma digital. Para evitar el

problema de la lentitud en los algoritmos de clave pública, la firma

digital hace uso de las funciones hash. Una función hash es una operación que se realiza sobre un conjunto de datos de cualquier

tamaño, de tal forma que se obtiene como resultado otro conjunto de

datos, en ocasiones denominado resumen de los datos originales, de

tamaño fijo e independiente del tamaño original que, además, tiene la propiedad de estar asociado unívocamente a los datos iniciales. Por

ello es prácticamente imposible encontrar dos mensajes distintos que

tengan un resumen hash idéntico.

Distribución de claves:

La distribución de claves no resulta un problema ya que existe una clave pública

que se realiza con la función de ser distribuida, sin embargo se plantea la cuestión

que si la clave pública de una persona “X” es realmente de esa persona. Una forma

de resolver esta cuestión es haciendo uso de lo que se conoce como una tercera parte confiable (trusted third party “TTP”).

El proceso:

Suponemos que utilizamos dos individuos A (Emisor), B (Receptor).

“A” registra acudiendo a la TTP su clave pública, que en este caso, la TTP recibe el nombre de Autoridad de Certificación (AC o CA- Certification

Authority)

La AC genera un certificado que contiene una serie de campos y que será

utilizado cuando “A” desee efectuar una comunicación confidencial con “B”. Cuando “B” reciba esa comunicación confidencial podrá comprobar a través

de la AC la validez del certificado empleado.

Dejando al lado la distribución de claves… En la vida real no se suele utilizar solo un método, si no que se hacen mezclas, por ejemplo utilizando

métodos simétricos para conseguir la confidencialidad y los métodos

asimétricos utilizarlos para distribuir las claves simétricas para la

autenticación, para el no-repudio…

Ejemplo típico: A manda mensaje a B

Page 90: Seguridad Informatica en 8 TEMAS

A cifra mensaje mediante DES (privado), a su vez cifra la clave por RSA (público

“n, e”)

B lo recibe y primero tiene que descifrar la clave por RSA (con su clave privada

“d”), una vez obtenida descifra el mensaje.

Este ejemplo es llamado como envoltura digital sobre RSA.

PROTOCOLOS DE AUTENTICACIÓN:

El factor crítico de los protocolos de gestión de claves es su definición, su seguridad

no depende de los algoritmos criptográficos subyacentes, sino más bien, de la

estructura de los mensajes intercambiados. Las vulnerabilidades surgen de errores de diseño en los niveles superiores de los protocolos, no de debilidades en los

algoritmos criptográficos.

Para un atacante resulta mejor atacar a los protocolos que a los algoritmos de

cifrado, pues hacerlo a los algoritmos exige una ingente cantidad de cálculos,

mientras que un ataque a los protocolos solo exige sutileza. Ataques más frecuentes a un protocolo:

- Clave conocida – reutilización de claves ya conocidas y utilizadas en

anteriores transacciones

- Repetición – reproducción de mensajes anteriores, en su totalidad o en parte - Reflexión – consiste en contestar al autor de un mensaje con el mismo

mensaje, en lugar de dar la pertinente respuesta

- Suplantación – consiste en alegar una personalidad falsa

- Intermediario – suplantación doble, situándose en el medio de dos usuarios legales, e interviniendo activamente el tráfico de ambos

- Diccionarios – ataque usado contra los sistemas de cifrado que utilizan

funciones unidireccionales conocidas, tales como el fichero de contraseñas de

UNIX. Consiste en la confección de un diccionario de los nombres de usuarios

más probables y sus correspondientes contraseñas

Vamos a dividir los protocolos autenticación en dos grandes grupos: Protocolos de

autenticación con clave simétrica y Protocolos de autenticación y establecimiento de

claves de sesión: Protocolos de autenticación con clave simétrica

- Protocolo de identificación por desafío-respuesta

Es el protocolo más simple que se puede construir para verificar mutuamente la identidad de dos participantes en una comunicación. Ambas partes

comparten una clave secreta, distribuida mediante un procedimiento seguro.

El protocolo consiste en intercambiar dos números aleatorios.

Se puede atacar por doble reflexión, suplantando al destinatario e iniciando dos sesiones de comunicación con el emisor.

- Protocolo de autenticación con sello temporal

Es una forma de impedir el ataque por doble reflexión. Al recibir un mensaje,

se descifra y se comprueba que el sello temporal sea fresco, que el

identificador es el propio, y que el emisor conoce la clave, lo cual lo autentifica. El sello temporal evita un ataque por reenvío retardado y evita un

ataque inmediato por reflexión.

Éste protocolo requiere que los relojes locales sean seguros y estén

sincronizados con un reloj central, lo cual desvirtúa de alguna forma su supuesta sencillez.

- Protocolo de autenticación con números aleatorios

En vez de sellos temporales, se aumenta el número de mensajes

intercambiados, lo cual supone una mejora al protocolo de identificación por desafío-respuesta.

Éste protocolo requiere un generador de números aleatorios

criptográficamente seguro.

- Protocolo de autenticación con números aleatorios y funciones

unidireccionales Cuando no es deseable utilizar un algoritmo de cifrado y descifrado, éste se

puede sustituir por una función unidireccional dependiente de una clave. La

Page 91: Seguridad Informatica en 8 TEMAS

comprobación de identidad se lleva a cabo calculando un valor en recepción, a

partir de los datos recibidos y/o conocidos, y debe coincidir con el valor

equivalente recibido.

Protocolos de autenticación y establecimiento de claves de sesión

Cuando no es suficiente con garantizar la identidad de los comunicantes, sino que

se desea también una comunicación cifrada, es menester establecer y distribuir una

clave de sesión, que es la clave de cifrado que se utilizará durante la conexión con

el servidor. El proceso es sencillo si existe una autoridad que actúe como tercera parte

confiable, que comparta una clave particular con cada comunicante individual.

La desventaja de éste protocolo es que obliga a la tercera parte confiable a

abrir una sesión de comunicación con el receptor del mensaje, a que el

emisor deba crear claves aleatorias criptográficamente seguras, y además, que haya que mantener relojes seguros sincronizados.

Como ejemplo de protocolo de autenticación y de creación de claves de sesión, es

el desarrollado por Needham y Schroeder en 1978. Parte de la existencia de una tercera entidad de confianza que actúa como servidor de autenticación

(Authentication Server, AS).

Como ejemplo de protocolo de autenticación y de distribución de claves de sesión, está el llamado Kerberos, desarrollado por el MIT para proteger los servicios de

red que surgieron con el proyecto Athena.

El origen del nombre Kerbero (Cerbero) proviene de la mitología griega y significa

un perro de muchas cabezas, comúnmente tres, quizás con una cola de serpiente, el guardián de la entrada al reino de Hades, el infierno.

Las tres primeras versiones fueron de uso interno, siendo la primera versión pública

la versión 4 (V4), que adoptó su forma definitiva en Diciembre de 1992. Sólo

funciona con direcciones IP. En Septiembre de 1993 se especificó la versión 5 (V5).

El objetivo de Kerberos es permitir que un cliente ejecutándose en nombre de un usuario particular, pruebe su identidad a un servicio o al correspondiente servidor

de aplicaciones, sin necesidad de enviar datos por la red que podrían facilitar que

un atacante suplantase posteriormente al usuario.

Para conseguirlo, Kerberos requiere la existencia de una tercera entidad de confianza que actúe como centro de distribución de claves (KDC) en el reino de

Kerberos.

Después de que un cliente y un servidor se han autenticado mediante Kerberos,

cada servicio que se desee proporcionar, deberá implementar su propio sistema de autorización independientemente de la autenticación. El modelo de Kerberos se

basa en la suposición de que cada servicio sabe mejor que nadie que usuarios

deben estar y cuál es la forma de autorización más apropiada para ellos.

El sistema de autorización asume que el sistema de autenticación usuario/cliente es

fiable. Asimismo, después de la autenticación y la autorización, el cliente y el servidor pueden cifrar todas sus comunicaciones para asegurar la privacidad e

integridad de datos.

En lugar de construir protocolos de autenticación en cada servidor, Kerberos provee

un servidor de autenticación centralizado, KDC, que consta de dos componentes: - Un servidor de autenticación AS, cuya función es autenticar inicialmente a los

clientes y proporcionarles un ticket para que se comuniquen con el servidor de

emisión de tickets (Ticket Granting Server, TGS)

- Un conjunto de TGS, cuyas funciones son proporcionar a los clientes las credenciales necesarias para comunicarse con un servidor final, que es el que

realmente ofrece un servicio

Page 92: Seguridad Informatica en 8 TEMAS

La arquitectura de Kerberos se basa en cuatro objetos de seguridad:

Clave secreta: El “AS” conoce la clave de todos los usuarios y la almacena

en una base de datos. Hay dos tipos de clave secreta:

o Usuario/Cliente o Servidor

Clave de sesión: Las genera Kerberos para utilizar durante la sesión que se

establecen con un determinado servidor. No es necesario utilizarlas durante

toda la sesión, solo si el servidor me la pide. Se podrían utilizar otras claves pero es preferible usar la de sesión para minimizar la exposición de las

mismas.

Tickets: Un ticket es un testigo (token) que se le da al cliente para

garantizar que ha sido autenticado. El ticket incluye el nombre del cliente, un periodo de validez y una clave de sesión para que sea utilizada. Kerberos

siempre proporciona el ticket ya cifrado con la clave secreta del servidor al

que se entrega.

Autenticadores: Son también testigos que realiza/construye un cliente

para enviarlo a un servidor y de esta manera probar su identidad y que la comunicación es actual (timestamp). Solo se puede utilizar una vez para

evitar un ataque por réplica.

Ejemplo (Dibujos Excel): Un cliente desea acceder a un fichero que se encuentra en uno de los servidores no fiables del sistema. Los participantes en el proceso son: el

cliente que desea el fichero, el servidor que lo contiene y un AS.

La relación de acciones a ejecutar es la siguiente:

1. El cliente ha de firmar digitalmente el mensaje por medio del cual solicita el fichero. Para ello utilizará su clave privada de cifrado y la pública del AS, con

lo que se consigue que sólo el servidor fiable leerá el mensaje, y que éste

pueda comprobar su procedencia

2. El software del equipo del cliente se encarga de enviar el mensaje cifrado al AS

3. El AS, cuando proceda, analizará el mensaje, comprobará la identidad del

usuario a través de la firma digital, y comprobará si tiene acceso al fichero

solicitado, consultando la lista de permisos de acceso del mismo

4. Si es posible el acceso al servidor que contiene el fichero, y al propio fichero, el AS se pondrá en contacto con el servidor y le informará del fichero al que

se desea acceder

5. El AS le envía al cliente una copia del ticket, usando la clave pública del

usuario para cifrarlo (para evitar una interceptación). Y también envía una copia del ticket al servidor en el que se encuentra el

fichero solicitado, usando la clave pública del mismo para cifrarlo.

El contenido del ticket es información de acceso y la clave de sesión.

6. El ordenador del cliente y el servidor que contiene el fichero, se ponen en contacto y comparan sus copias del ticket para identificarse mutuamente. En

concreto, el software del ordenador del cliente cifra la copia del ticket con la

clave pública del servidor que contiene el fichero y se lo envía. El servidor

utiliza su clave privada para descifrar el ticket recibido. Si coincide con la

copia que ha recibido del AS, le permitirá establecer la conexión. En caso contrario, la denegará

7. Si los tickets coinciden, el trabajo del AS habrá terminado, el ordenador del

cliente podrá establecer la comunicación con el servidor que contiene el

fichero, y éste, dependiendo de la configuración del sistema, le enviará el fichero cifrado con la clave pública del cliente (que está en el servidor fiable) o

como texto en claro

8. Una vez finalizada la transmisión del fichero, el servidor envía al AS un

mensaje comunicándole tal acción. El servidor fiable descartará el ticket utilizado en la transmisión, para que no se pueda volver a utilizar por parte

del cliente.

Page 93: Seguridad Informatica en 8 TEMAS

CERTIFICADO DIGITAL

Un certificado digital es un documento digital, que da fe de la veracidad de una información mediante una entidad pública, a modo de notario electrónico, lo cual

permite resolver uno de los problemas que surge con los criptosistemas de clave

pública: la suplantación.

La información contenida en el certificado digital, puede hacer referencia a una persona, a un dispositivo hardware, a un software, etc.

La garantía de que la información contenida en el certificado es verídica, se

fundamenta en la seguridad de que quién firma el certificado es una tercera parte

de confianza (Trusted Third Party, TTP). Un certificado digital permite que un usuario firme digitalmente un documento

electrónico, lo que en España tiene la misma validez que la firma manuscrita (Ley

59/2003 de 19 de Diciembre de firma electrónica)

En general los certificados digitales contienen la siguiente información:

Identificación del certificado

Nombre de la TTP que emite el certificado (Ejemplo FNMT-Fabrica Nacional de

la Moneda y Timbre)

Nombre o identificación del usuario del certificado

Tipo de criptosistema de clave pública que emplea el usuario

Clave pública del usuario

Período de validez del certificado

Firma digital de la TTP que avala el certificado

Procedimiento (la forma en la que una TTP firma un certificado):

La forma en que una TTP firma digitalmente un certificado, es la siguiente: - La TTP utiliza la función resumen que se señala en el certificado, y determina

el resumen del mismo

- Firma digitalmente el resumen mediante su clave privada

- Añade su firma digital al final del certificado, como un campo más

Los usuarios pueden verificar la autenticidad de un certificado digital, por medio de

determinadas operaciones criptográficas elementales. En cualquier caso, para

convencerse de la autenticidad de los datos que contiene el certificado, sólo se ha de verificar que la firma digital de la TTP que lo avale, sea correcta.

En concreto, la forma en que un usuario puede verificar que el certificado es válido,

es la siguiente:

- El usuario calcula el resumen de los campos del certificado, con la función resumen que se indica en el mismo, sin incluir lo relativo a la firma de la TTP

- Descifra la firma digital de la TTP mediante la clave pública de la TTP

- Comprueba si ambos valores coinciden. Si la respuesta es afirmativa, el

certificado se considera auténtico e íntegro, pues sólo la TTP puede calcular la firma digital que añade al final del certificado, dado que es la única que posee

su clave privada.

Autoridades de certificación

Page 94: Seguridad Informatica en 8 TEMAS

Una autoridad de certificación, (Certification Authority, CA), es una entidad pública

local, nacional o internacional, o TTP, que elabora certificados digitales, garantiza la

veracidad de su contenido y mantiene información actualizada sobre el estado de

cada uno de los certificados que ha elaborado.

Además, ofrecen los siguientes servicios:

- Almacenamiento seguro de los certificados de los usuarios y su accesibilidad

para que otros usuarios puedan verificar su autenticidad

- Elaboración de las listas de certificados revocados, de modo que se mantenga

al día la información acerca de la validez o caducidad de un certificado

- Forma de distribución de certificados, ya sea de forma presencial o por

conexión a Internet

- Acceso a su política de certificación

- La ruta o cadena de certificación, que es una secuencia jerárquica de nodos

conectados entre sí que permiten a una aplicación conocer el camino que

debe seguir para validar un certificado

- Acceso a su certificado de clave pública, de modo que cualquier usuario pueda

comprobar la validez del certificado de cualquier otro usuario

Si una CA está muy extendida y abarca a una gran población o muy dispersa,

suelen utilizar agentes de registro locales (Local Registration Authorities).

Las CA deberán disponer de una clave pública y de su correspondiente clave privada, de un alto grado de seguridad para resistir los ataques conocidos. Por ello

se recomienda que la longitud de su clave, sea el doble que la longitud de las claves

contenidas en los certificados que elabora. Si una CA proporciona certificados con

clave pública RSA de 1024 bits entonces la longitud de la clave de la CA es habitual

que sea 2048 bits. Antes de emitir un certificado a solicitud de un usuario, la CA debe confirmar la

información que dicho usuario le facilita, para evitar suplantaciones que den lugar a

posibles actividades fraudulentas. Las medidas a adoptar, estarán en consonancia

con el nivel de seguridad del certificado: acceso a determinada base de datos de confianza, presencia física del usuario...

Tipos de CA: - Autoridad de certificación comercial

- Autoridad de certificación privada

La autoridad de certificación comercial, se utiliza cuando no se desea administrar

por sí mismo los certificados.

La autoridad de certificación privada, se utiliza cuando se desea administrar personalmente la entrega de los certificados, ya sea en el interior de la misma

empresa, ya sea cuando se trata con colaboradores.

Certificado X.509

Es un formato estándar de certificación, tanto del Sector de estándares de

telecomunicación de la Unión Internacional de Telecomunicaciones

(International Telecommunication Union – Telecomunication

Page 95: Seguridad Informatica en 8 TEMAS

Standarization Sector, ITU-T), como de la Comisión internacional de

Electrotecnia ISO (ISO / International Electrotechnical Commision, IEC).

La versión actual es la v3, y data de junio de 1996.

Campos:

Existen campos básicos y otros conocidos como extensiones.

Campos básicos:

- Versión: Hoy en día usamos la 3. - Número de serie del certificado: Es un número entero en hexadecimal único.

- Identificador del algoritmo de firma digital: Es el algoritmo que utiliza la CA

para firmar el certificado.

- Nombre del emisor: Es el nombre de la CA. - Período de validez: Por lo general para una clave RSA de 1024 bits suelen ser

2 años, porque es el tiempo que se estima que puede tardar en averiguar la

clave.

- Nombre del usuario: Es el nombre de la persona o entidad a quien pertenece

la clave pública que va a acompañar al certificado - Clave pública del usuario: Es el contenido de la clave pública, así como el

identificador del algoritmo con el que se obtuvo. En el caso del RSA aparecerá

RSA y un par de números (valor de “n” o módulo y valor de “e” o exponente

de cifrado) - Identificador único del emisor: Es opcional. Permite reutilizar nombres de

emisor.

- Identificador único del usuario: Es opcional. Permite reutilizar nombres de

usuario. - Extensiones: Es opcional.

- Firma digital de la CA: Es el resumen que se calcula con el “identificador del

algoritmo de firma digital”. A este resumen se le llama huella digital. Es lo

más importante del certificado

Campos de extensión:

Los campos de extensión tienen tres partes:

El tipo: Se utiliza para indicar si es un texto, una fecha, estructura de datos…

El indicador de criticidad: Se utiliza para indicar si es seguro o no ignorar el

campo de extensión

El valor de la extensión: Como valor de extensión pueden ser: o Restricciones básicas: Una restricción básica indica, si el usuario del

certificado es una CA.

o Política de certificación: Hace referencia a la política que utiliza la CA

y el propósito que persigue. o Uso de la clave: Indica que usos se puede dar y que restricciones

tiene la clave pública. Por lo general el uso que tiene es para firma

digital, para no repudio, para cifrar claves, para cifrar datos, para

cambiar claves, para firmar certificados, para cifrar y descifrar (o solo

cifrar y solo descifrar)…

En España para obtener un certificado debemos

realizar los siguientes pasos: Obtención de un certificado de la FNMT (Fabrica Nacional de la

Moneda y Timbre)

Solicitud del certificado

Page 96: Seguridad Informatica en 8 TEMAS

Acreditación de la identidad Descarga del certificado Copia de la clave privada

Solicitud del certificado CERTIFICADO DE USUARIO

Para obtener el certificado es necesario que realice una serie de configuraciones en su navegador.

IMPRESCINDIBLE:

No formatear el ordenador. Se debe realizar todo el proceso de obtención desde el mismo equipo, con el

mismo usuario y el mismo navegador. No realizar actualizaciones en el equipo mientras dure el proceso.

INTERNET EXPLORER Puede optar por una de las siguientes opciones:

- Configurador FNMT-RCM . Para instalar este software es necesario tener permisos de administrador.

Al instalarlo se realizan las siguientes tareas:

Instala todos los certificados de las CAs raíces e intermedias.

Instala la librería Capicom.

Realiza modificaciones en el registro de Windows para configurar las opciones de seguridad de

su navegador.

- O bien siga las FAQS correspondientes a su Sistema Operativo (Ejemplos con IE 8.x y 9.x):

En el navegador Internet Explorer, vaya a Herramientas/Opciones de Internet/Seguridad.

- Pulsar en "Sitios de Confianza".

- Pulsar en el botón "Sitios".

- Abajo, desmarcar la opción de "Requerir comprobación del servidor (https://) para todos los sitios de la

zona"

- En el cuadro de texto "Agregar este sitio Web a la zona": tendremos que agregar las siguientes URLs

http://*.fnmt.es y https://*.fnmt.es

- Cerrar la ventana

- En "Nivel de seguridad para esta zona" pulse el botón Nivel personalizado. Busque el apartado

"Controles y complementos de ActiveX" y Habilite todas las opciones.

- Aceptar los cambios.

- Cerrar el navegador para que se apliquen los cambios y solicitar de nuevo el código.

Realice su petición.

Después de realizar su petición y la descarga del certificado y si todo es correcto puede volver a

reestablecer las opciones de seguridad.

FIREFOX

Para Firefox es necesario instalar el certificado raíz de la FNMT-RCM, pulse aquí para obtener ayuda

para su descarga e instalación.

AVISO: El resto de navegadores no están soportados.

Acreditación de la identidad Con el código de solicitud del paso anterior, deberá personarse en una oficina de registro para acreditar su

identidad.

AVISOS IMPORTANTES

Durante el proceso de obtención del certificado:

Page 97: Seguridad Informatica en 8 TEMAS

No cambiar el navegador ni el sistema operativo.

No formatear el disco duro

DOCUMENTACIÓN NECESARIA

Si el titular es una persona física, deberá presentar:

DNI o tarjeta de residencia (NIE) para las ciudadanos extracomunitarios

Los ciudadanos comunitarios que no tengan la tarjeta de residencia, presentaran el "Certificado

de Registro de Ciudadanos de la Unión y su Pasaporte"

El registro físico para la obtención del certificado podrá realizarlo en las Oficinas que puede encontrar a través de

nuestro servicio de localización de las OFICINAS MÁS CERCANAS, y en las Oficinas Consulares de carrera de

España en el extranjero, no siendo posible en los registros aduaneros. Entre las oficinas de Registro están disponibles las oficinas de la Seguridad Social y las Delegaciones y

Administraciones de la AEAT. Estas últimas puede consultarlas directamente en el siguiente enlace. Delegaciones y Administraciones de la AEAT

Descarga del certificado Para descargar el certificado debe usar el mismo ordenador, el mismo navegador y el mismo usuario con el que realizó la Solicitud. Si usted ha extraviado su código de solicitud, por favor póngase en contacto con nuestro servicio de Soporte

FORMULARIO DE DESCARGA

Copia de la clave privada Una vez obtenido el Certificado de Usuario, ya puede hacer uso del mismo a través del

mismo equipo y navegador desde el que realizó el proceso. Sin embargo, es altamente recomendable que el usuario realice una copia de seguridad en un soporte extraíble.

Recuerde que al realizar la copia de seguridad se le pedirá un contraseña para proteger el

archivo. Debe custodiar dicho archivo y contraseña ya que en un futuro se le solicitará para

poder utilizar el certificado.

Instrucciones de exportación del Certificado

APLICACIONES PARA CERTIFICADOS

Page 98: Seguridad Informatica en 8 TEMAS

Un usuario puede intervenir en cualquiera de estas capas para conseguir mayor

seguridad:

RED: Si escogemos cableado apantallado ganaremos seguridad, incluso si usamos fibra

óptica evitamos el “pinchado” de la línea.

Podemos actuar en la tarjeta de red obteniendo más seguridad según el modelo

que elija.

PROTOCOLO DE RED: Por lo general los protocolos más seguros suelen ser los que más ralentizan las

transmisiones puesto que necesitan más recursos para ejecutarse.

PROTOCOLOS DE TRANSPORTE:

Tenemos los orientados a conexión o no orientados a conexión. APLICACIÓN:

Puede ayudar a hacer el proceso más o menos seguro. Ejemplo: en vez de usar

HTTP usar HTTPS.

Correo electrónico seguro (e-mail):

Hay que tener en cuenta que cuando escribimos un correo-e para enviar a otra

persona, ese correo va a viajar a través de internet tal y como lo hemos escrito,

con lo cual está expuesto a poder ser interceptado, modificado… Para evitar esto debemos utilizar un sistema de seguridad que por lo general es conocido como un

protocolo de envoltura digital. Estos protocolos me garantizan la confidencialidad

pero no la autenticidad, es decir, no garantiza que la persona que lo envía es quién

dice ser, para ello se recurre a la firma digital.

Por tanto necesitamos un protocolo de envoltura digital y una firma digital. En resumen, un mensaje de correo se puede enviar cifrado, firmado o cifrado y

firmado, usando protocolos como por ejemplo el PGP (Pretty Good Privacy).

¿Cómo lo hacemos? 1. Cada usuario debe solicitar e instalar en su programa de correo electrónico,

un certificado digital emitido por una CA

2. Cada usuario envía a los restantes miembros del grupo un correo de saludo

firmado digitalmente. No importa el contenido del mensaje, lo que pretendemos es simplemente que se reciba. Esto se puede llevar a cabo

porque cuando solicitamos el certificado digital se generó y se almacenó la

Page 99: Seguridad Informatica en 8 TEMAS

clave privada RSA correspondiente a la clave pública, que es la que se incluye

en el certificado X.509 v3. Hay que tener en cuenta que cuando firmamos un

correo, con él también va mi certificado digital que incluye la clave pública.

3. Cuando un usuario recibe el correo de otro usuario, su aplicación de mensajería electrónica se encarga de verificar si el certificado X.509 que lo

acompaña es válido. En caso afirmativo, verifica la firma digital del remitente

y comunica al destinatario el resultado de ambas verificaciones.

4. Si tanto el certificado como la firma son correctos, el usuario almacena en su programa de correo el certificado correspondiente al remitente

5. Cuando todos los usuarios han llevado a cabo los pasos anteriores, ya se

pueden enviar mensajes cifrados y firmados

Para firmar un correo, el cliente de correo tiene que tener acceso a la clave privada

del remitente, la cual estará almacenada de forma segura. Por otra parte si

queremos cifrar un correo, dicho programa debe conocer la clave pública del

destinatario que aparece en su certificado (el cual está instalado en mi ordenador).

En el caso de recibir un correo cifrado y firmado tenemos que tener acceso, para

verificar la firma a la clave pública del remitente. Y para descifrarlo necesitamos la clave privada.

ACCESO SEGURO A PÁGINAS DE INTERNET

El elemento principal en este caso es el navegador, puesto que cuando llamamos a

una página estamos enviando una información a través de internet. Por lo general,

la información que viaja es de público conocimiento pero también está el caso de

que utilicemos el navegador para entrar en algún lugar que requiera autenticarse y lógicamente no nos interesaría que nadie conociese dichos datos privados. En estos

casos nos interesa que la información viaje cifrada y para ello existen protocolos

que lo llevan a cabo. El más utilizado es el SSL (Secure Sockets Layer) (*El socket

es la unión de la dirección IP y el Número de puerto).

SSL ofrece confidencialidad, autenticación, integridad. Cuando navegamos por internet, en vez de poner “http:\” la utilización de este protocolo obligará a poner

“https:\\”. Una vez que se establece comunicación con este protocolo se llevan a

cabo las siguientes fases:

Saludo: Es una negociación entre el cliente y el servidor para ponerse de acuerdo en los algoritmos que se van emplear por debajo del protocolo de

envoltura digital. Por lo general ambas partes suelen elegir lo que resultaría

más seguro en el cliente, porque se supone que el cliente es el más

vulnerable. Este proceso es totalmente ajeno al cliente. Autenticación: Una vez decidido el criptosistema a emplear, el servidor le

envía al cliente su certificado x.509 con su clave pública RSA, si a su vez el

cliente tiene que autenticarse también el cliente envía al servidor el

certificado x.509.

Inicio de sesión/Fase de clave de sesión: El cliente envía al servidor la clave secreta que vayan utilizar si es un criptosistema de clave secreta. Esta

clave irá cifrada con la clave pública del servidor. Cuando el servidor la

recibe la descifra con su clave privada y de esta forma ambos pueden

utilizar la misma clave durante la sesión. Se recomienda que no sea inferior a 128 bits.

Fase de fin: Se trata de cerrar el protocolo SSL. A partir de ese momento el

cliente y el servidor pueden empezar a intercambiarse información sabiendo

que va ir cifrada con la clave de sesión. En ese momento aparece un candando en el navegador.

COMERCIO ELECTRÓNICO (Comercio-e / E-Commerce)

Page 100: Seguridad Informatica en 8 TEMAS

Hoy en día es una aplicación comúnmente utilizada que puede hacer referencia a

una forma de pago. El protocolo de comercio electrónico es muy sencillo, en primer

lugar la empresa que desea vender sus productos a través de internet pone a

disposición una página donde los publicita o presenta. En segundo lugar el usuario analiza esos productos dado que sus características están ahí ponibles y los que

elije los añade a su carro de la compra. Este carro de la compra va creciendo según

se añaden productos, y va indicando el importe de lo que debemos pagar por las

elecciones efectuadas. Una vez que termina de llenarse el carro hay que cubrir un formulario indicando si queremos que nos envíen el producto, si queremos que se

envíe algún sitio y sobre todo indicando la forma de pago.

Básicamente las formas de pago suelen ser:

Tarjetas virtuales

Las tarjetas virtuales son, como su propio nombre indica, tarjetas de pago que no

existen físicamente, y cuyo proceso de contratación no implica la emisión de

plástico.

Hay de dos tipos tarjetas virtuales: anónimas e identificadas. Las tarjetas anónimas no tienen un titular nominal asociado, las tarjetas identificadas sí.

Tienen como elementos identificativos el número de la tarjeta, el código valor de

validación o código valor de verificación (CCV), el PIN asociado y la fecha de

caducidad. Las tarjetas virtuales están exclusivamente orientadas al pago en Internet, y

funcionan en modalidad de prepago, es decir que se realiza una carga antes de su

utilización, y los consumos van siempre contra el saldo disponible, no pudiendo

sobrepasarlo en ningún caso.

TPV Virtual

Terminal punto de venta (en inglés "POS terminal" o "Point of sale terminal").

Consiste en que un establecimiento comercial de venta al público, cuente con sistemas informáticos especializados que ayuden en las tareas de gestión del punto

de venta, mediante una interfaz accesible para los vendedores que se

denomina terminal de punto de venta.

Los TPV permiten la creación e impresión del ticket de venta mediante las

referencias de productos, realizan diversas operaciones durante todo el proceso de venta, así como cambios en el inventario. También generan diversos reportes que

ayudan en la gestión del negocio. Los TPV se componen de una

parte hardware (dispositivos físicos) y de otra software (sistema operativo y

programa de gestión).

3D Secure

Es una forma de pago desarrollada por Visa y Mastercard, que posibilita la

realización de compras seguras en Internet y autentifica al comprador como legítimo titular de la tarjeta que está utilizando.

Para comprar se ha de introducir el PIN secreto usado en los cajeros automáticos, o

bien un nuevo PIN especial solicitado para comprar por Internet, que el banco le

facilitará por teléfono u on-line mediante su correspondiente banca electrónica.

Ya no será necesario el envío por fax de una copia del D.N.I. y del recibo de pago, para identificar al titular de la tarjeta.

PayPal

PayPal es una empresa estadounidense, propiedad de eBay, que permite la transferencia de dinero entre usuarios que tengan correo-e. PayPal es la forma

rápida y segura de utilizar la tarjeta de débito, crédito y cuenta bancaria en

Internet sin compartir los datos de la tarjeta o cuenta bancaria.

Secure Electronic Transaction SET

Si pagamos con tarjeta de crédito el protocolo más empleado es SET. Fue desarrollado por VISA y MASTERCARD. Este protocolo se inicia en el momento en

Page 101: Seguridad Informatica en 8 TEMAS

que se empieza a pagar la compra. Utiliza un criptosistema de clave pública que

incluye la firma digital y cuyos pasos son los siguientes:

1. El cliente rellena el formulario y da la orden de pago: En este apartado van intervenir los datos del pedido y la tarjeta de crédito lógicamente cifrados.

2. El comerciante envía la información de la tarjeta y del importe del pedido a su

banco

3. El banco del comerciante comprueba la validez de la tarjeta del cliente 4. El banco del cliente autoriza el pago de la compra contra la cuenta del cliente

y se lo comunica al banco del comerciante

5. El banco del comerciante autoriza la transacción cuando recibe del banco del

cliente la autorización 6. El comerciante completa la transacción y procesa la compra para que sea

servida al cliente, informando de tal hecho a su banco

7. El banco del comerciante ingresa el importe de la compra en la cuenta del

comerciante y se lo comunica al banco del cliente

8. El banco del cliente carga el importe de la compra en la cuenta del cliente y termina el proceso

DNI ELECTRÓNICO

El 13 de Febrero del 2004 el consejo de ministros aprobó la puesta en marcha en

España del DNI-e. Supone una tarjeta con un chip en el que irán almacenados los

datos del carnet original. La idea que se persigue es que el nuevo DNI sea un medio de identificación con todas las posibilidades de la tecnología digital.

OTROS.

Escaneo o certificado de documentos: Supone convertir ficheros de papel a un

fichero digital. Con garantías y opciones de seguridad. Para ello tenemos que

escanear los documentos, firmamos digitalmente y empleamos un generador de

resumen. Con la firma se consigue conocer quien generó dicho archivo pero no

Page 102: Seguridad Informatica en 8 TEMAS

podemos garantizar que no se ha modificado. Para demostrar que no ha sido

alterados, se emplea el generador de resumen.

Factura electrónica: En este caso, no se parte de un documento en papel. Aunque llamemos factura electrónica, la misma idea es aplicable a contratos-e,

albaranes-e, a memorandos-e, códigos informáticos, programas informáticos… Todo

aquello que sea susceptible de ser almacenado en un fichero electrónico.

Requisitos de todas las facturas-e:

Núm. Factura

Fecha expedición

Razón Social emisor y receptor

NIF emisor y “receptor”

Domicilio emisor y receptor

Descripción de las operaciones (base imponible)

Tipo impositivo

Cuota tributaria

Fecha prestación del servicio (si distinta a expedición)

FIRMA DIGITAL

La firma digital permite al receptor del mensaje verificar quién se lo mandó y que

no ha sido modificado. Autenticación e Integridad, así como el No-Repudio en origen.

Para la firma digital el emisor necesita dos claves (pública y privada), de las cuales

la pública es enviada al destinatario. En segundo lugar somete el mensaje a un

generador de resumen (función hash) no reversible. A continuación utiliza su clave privada para firmar y con ello ya tenemos la clave digital. Seguidamente se toma el

mensaje digital y se envía al destinatario ya firmado.

Cuando el destinatario recibe el mensaje, separa el resumen del mensaje y utiliza

la clave pública del emisor para descifrar el resumen. A continuación somete el

mensaje a la misma función hash para obtener un resumen y lo compara con el resumen que obtuvo con la que le envió el emisor. Si son iguales, tenemos

seguridad de la autenticidad e integridad del mensaje recibido.

El mensaje transmitido no va a proporcionar confidencialidad porque el mensaje

viajó sin cifrar. Si queremos conseguir la confidencialidad debemos cifrar el mensaje. Cuando lo ciframos también empleamos la firma digital y de esta forma

conseguimos el no-repudio.

Para llevar a cabo el proceso de firma partimos de un certificado que debemos

instalar y a continuación emplear un software de firma electrónica como puede ser el “ECOFIRMA”.

Page 103: Seguridad Informatica en 8 TEMAS

TEMA 5: TCP/IP Arquitectura del modelo TCP/IP

Al interconectar sistemas distintos existía el problema de hacer posible la

transmisión de información. Surgió la idea de crear un modelo que sirviese de nexo de unión de todos (Modelo OSI). Este modelo establece una estructura de 7 capas y

con ello se quería que dicho modelo se utilizase por todos.

OSI- Open System Interconnetion. Este modelo tardó mucho en salir a la luz (5

años). Simultáneamente se creó el modelo TCP/IP nacido de la investigación de las universidades. Cuando el modelo OSI estaba terminado, muchos decidieron no

cambiar y quedarse con el modelo TCP/IP.

TCP/IP surgió de ayudas a la investigación que proporcionaba ARPA (Advanced

Research Projects Agency) para poder solucionar los propios problemas que

surgieron en ARPA-NET con la pila de protocolos NCP. El nombre le viene de los 2 protocolos principales de la pila. El primero es el

principal de la capa de Transporte y el segundo, IP, sería el protocolo principal de la

capa de Red.

Principales características de TCP/IP:

Proporciona una serie de estándares de protocolos abiertos fácilmente

disponibles desarrollados independientemente del hardware y de sistemas

operativos específicos.

Independencia del hardware de red. TCP/IP lo podemos emplear sobre Ethernet, sobre ATM…

Esquema común de direccionamiento, de forma que cualquier dispositivo

tcp/ip se pueda comunicar inequívocamente en toda la red.

Ofrece protocolos estándares de alto nivel para servicios de usuarios

consistentes y ampliamente disponibles.

TCP/IP obliga a que la documentación sobre los estándares sea pública. Se definen

que forman TCP/IP en uno de los siguientes medios:

Estándares militares (MIL STD)

Las notas de ingeniería de internet (IEN, ya ha sido abandonada) Solicitud de comentarios (RFC-Request For Comments)

La arquitectura TCP/IP se basa en 4 capas (aunque hay fuentes que dicen que

constan de 5):

Nivel de acceso a la red: Es el nivel más bajo y por tanto el que está en

contacto con el medio de transmisión. Emite al medio de transmisión flujos de bits

y recibe los que de allí proceden. Define como usar la red para transmitir los

paquetes IP.

Page 104: Seguridad Informatica en 8 TEMAS

Las funciones que se realizan son:

Entramado:

Traducciones de direcciones IP y capa física.

Nivel de Internet: Nivel superior al de acceso a la red. Tiene como protocolo

más importante IP (RFC 791) y a continuación ICMP. +------+ +-----+ +-----+ +-----+

|Telnet| | FTP | | TFTP| ... | ... |

+------+ +-----+ +-----+ +-----+

| | | |

+-----+ +-----+ +-----+

| TCP | | UDP | ... | ... |

+-----+ +-----+ +-----+

| | |

+--------------------------+----+

| Protocolo Internet & ICMP |

+--------------------------+----+

|

+---------------------------+

| Protocolo de la Red Local |

+---------------------------+

IP: Ver el documento “Datagrama IPv4 v2”.El protocolo IP realiza las

siguientes soluciones: o Definir el datagrama (IP trabaja con paquetes):

o Definir el esquema de direccionamiento

o Mover la información entre la capa inferior y superior (Acceso

a la red/Transporte) de anfitrión a anfitrión

o Enrutar los datagramas hacia anfitriones remotos. o Fragmentar y resamblar datagramas.

Datagrama:

A continuación vemos un resumen del contenido de la cabecera internet.

0 1 2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Versión| IHL | Tipo Servicio | Longitud Total |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Identificación |Flags| Posición |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Tiempo de Vida | Protocolo | Suma de Control de Cabecera |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Dirección de Origen |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Dirección de Destino |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Opciones | Relleno |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Ejemplo de Cabecera de un Datagrama Internet

Page 105: Seguridad Informatica en 8 TEMAS

ICMP: Internet Control error Menssage Protocol. La información nos la

facilita el RFC792. Se usa para enviar mensajes de error o de control, ya sea

a routers o anfitriones (sistema final o destinatario).

-Se va a utilizar para Control de flujo. Source Quench (Apaciguamiento de

la fuente). Se trata del momento en que el destino solicita que se envíen los

datos más despacio ya que se está colapsando el destino.

-Se va a utilizar para la Detección de destinos inalcanzables. Si se recibe este mensaje significa que no se ha podido llegar al destino deseado.

Si lo que es inalcanzable es una red o un anfitrión el mensaje lo envía al

router intermedio. Si lo que es inalcanzable es un puerto, lo que va a ocurrir

es que este mensaje va a ser enviado por el anfitrión de destino al emisor del mensaje.

-Se va a utilizar para Redireccionar mejores rutas. Nos indica que es

mejor utilizar otro router que el que realmente quiere ser utilizado. Solo se

va a usar este mensaje cuando el anfitrión fuente “vea” otro router. -Se va a utilizar para Verificación de anfitriones remotos. Esto es un

“ECHO”(fonéticamente ECO). Se está confirmando que un anfitrión remoto

está a la escucha. Se envía un paquete de “echo” si el destinatario lo recibe,

contesta con un paquete “echo”. -Se va a utilizar para Tiempo excedido. Este mensaje nos llega de parte

de un router indicando que el mensaje está ciclado (en un bucle). Para ver

el tiempo de vida TTL de un mensaje podemos usar el comando TRACERT.

Nivel de transporte: Provee comunicación de extremo a extremo. Desde

un programa de aplicación a otro. Los dos protocolos más importantes de esta capa son el TCP (CO) y UDP (CL).

TCP: (RFC793) *Ver documento adjunto “segmento TCP”.

Proporciona un servicio de envío de datos confiable (CO- Orientado a

conexión) con detección de errores de punta a punta.

El TCP se caracteriza por: o Confidencialidad: Nos da confidencialidad a través de un

mecanismo llamado Positive Acknowledgement with

Retransmision (Reconocimiento positivo con retransmisión). Un

sistema que lo utilice, reenvía la información salvo que el receptor me confirme que le llegó bien.

o Orientado a conexión (CO): Es decir, establece una conexión

entre los que desean transmitir, lo cual provoca una negociación

(handshake) o Orientado a cadena de bytes: TCP controla la secuencia de los

segmentos

Page 106: Seguridad Informatica en 8 TEMAS

TCP utiliza un proceso de negociación en 3 sentidos (three way handshake,

basado en el problema de los 2 ejércitos).

El establecimiento de la conexión sería:

Emisor Receptor

Si el último ACK no llega, estamos en una “conexión medio abierta”, que es

aprovechada para atacar. Este ataque es conocido como “ataque SYN”.

Transferencia de datos: Se mantiene viva la conexión enviando periódicamente un segmento

llamado “keep alive” (mantener vivo). Básicamente se trata de un segmento

ACK sin datos.

Emisor Receptor

Desconexión:

Emisor Receptor

UDP (CL- Conecction Less) RFC768: *Ver documento adjunto “mensaje

UDP”.

No está orientado a la conexión, por tanto no verifica que la información

llegue correctamente a su destino. UDP se utiliza cuando se transmite poca

información.

Nivel de aplicación: En la parte superior de la arquitectura TCP/IP se

encuentra este nivel donde están los protocolos de aplicación. Hay protocolos en los

que se necesita la participación del usuario (por ejemplo FTP) y otros en que no

(como por ejemplo RIP). Los protocolos FTP, TELNET, SMTP por ejemplo se basan en TCP. Otros como OSPF,

RIP… utilizan UDP. Luego hay otros como BGP que no utilizan la capa de transporte

y directamente utilizan los servicios IP.

Cuando me planteo comunicarme entre un anfitrión y otro anfitrión para conseguirlo, utilizamos las direcciones IP. Si lo que me planteo es ir de una red a

otra red, entonces tenemos que acudir a las políticas de

SYN

SYN -

ACK

ACK

FIN -

ACK

ACK

FIN

ACK

ACK

Page 107: Seguridad Informatica en 8 TEMAS

enrutamiento/encaminamiento. Si lo que quiero es contactar el software que está

en un anfitrión con el software de otro anfitrión, utilizaremos los socket (Protocolo

(IP) + Nº de puerto).

Page 108: Seguridad Informatica en 8 TEMAS

Direccionamiento IP

Page 109: Seguridad Informatica en 8 TEMAS

Si trabajásemos con Linux, siguiendo la misma estructura del caso anterior,

abriríamos la consola “runcommand / konsole”.

Medidas para solucionar el agotamiento de las

direcciones IP Asignación creativa de direcciones IP

Supongamos que queremos 260 direcciones, obviamente con una clase tipo C no

podemos obtener más que 254 host y me obligaría a comprar una dirección de

clase B (65534 host). Esto sería desaprovechar la red.

Para ello utilizaremos la asignación creativa utilizando la clase C:

Requisito de la Organización Asignación de dirección

Menos de 256 direcciones Una red de clase C

Más de 256 direcciones y menos de 512 2 Redes contiguas de clase C

Más de 512 y menos de 1024 4 Redes contiguas de clase C

Más de 1024 y menos de 2048 8 Redes contiguas de clase C

Más de 2048 y menos 4096 16 Redes contiguas de clase C

Más de 4096 y menos de 8192 32 Redes contiguas de clase C

Más de 8192 y menos 16384 64 redes contiguas de clase C

CIDR

Classless InterDomain Routing (RFC1518): El CIDR permite un uso más

eficaz del espacio de direcciones y para ello, una cosa que hasta ahora era una cosa

muy importante, ahora llega a ser insignificante.

Vamos usar unos prefijos que pondremos detrás de un slash (/) para saber cuál es

la porción de red de la dirección que estemos usando.

Los ISP (Internet Service Provider) realizan el siguiente proceso en tres pasos:

Tomar las direcciones de las que disponen y escribirlas en binario (Ejemplo:

172.20.0.0, 171.21.0.0, 172.22.0.0 , 172.23.0.0)

Page 110: Seguridad Informatica en 8 TEMAS

dirección 172 20 0 0

binario* 1010 1100 0001 0100 0000 0000 0000 0000

dirección 172 21 0 0

binario* 1010 1100 0001 0101 0000 0000 0000 0000

dirección 172 22 0 0

binario* 1010 1100 0001 0110 0000 0000 0000 0000

dirección 172 23 0 0

binario* 1010 1100 0001 0111 0000 0000 0000 0000

Identificar las posiciones que no varían entre todas las redes de las que

disponemos para así obtener el valor de “n”

Copiar los bits coincidentes y añadir 0

172.20.0.0/14 Máscara: 255.252.0.0

EJERCICIO:

El ISP dispone de dos direcciones 192.168.20.0 y 192.168.21.0

dirección 192 168 20 0

binario* 1100 0000 1010 1000 0001 0100 0000 0000

dirección 192 168 21 0

binario* 1100 0000 1010 1000 0001 0101 0000 0000

Dirección CIDR 192.168.20.0/23 Máscara: 255.255.254.0

A esto también se le llama superred o superneting, es una red resumida.

CIDR IPv4

CIDR No. de redes por clase Hosts* Máscara

/32 1/256 C 1 255.255.255.255

/31 1/128 C 2 255.255.255.254

/30 1/64 C 4 255.255.255.252

/29 1/32 C 8 255.255.255.248

/28 1/16 C 16 255.255.255.240

/27 1/8 C 32 255.255.255.224

/26 1/4 C 64 255.255.255.192

/25 1/2 C 128 255.255.255.128

/24 1/1 C 256 255.255.255.0

/23 2 C 512 255.255.254.0

Page 111: Seguridad Informatica en 8 TEMAS

/22 4 C 1,024 255.255.252.0

/21 8 C 2,048 255.255.248.0

/20 16 C 4,096 255.255.240.0

/19 32 C 8,192 255.255.224.0

/18 64 C 16,384 255.255.192.0

/17 128 C 32,768 255.255.128.0

/16 256 C, 1 B 65,536 255.255.0.0

/15 512 C, 2 B 131,072 255.254.0.0

/14 1,024 C, 4 B 262,144 255.252.0.0

/13 2,048 C, 8 B 524,288 255.248.0.0

/12 4,096 C, 16 B 1,048,576 255.240.0.0

/11 8,192 C, 32 B 2,097,152 255.224.0.0

/10 16,384 C, 64 B 4,194,304 255.192.0.0

/9 32,768 C, 128B 8,388,608 255.128.0.0

/8 65,536 C, 256B, 1 A 16,777,216 255.0.0.0

/7 131,072 C, 512B, 2 A 33,554,432 254.0.0.0

/6 262,144 C, 1,024 B, 4 A 67,108,864 252.0.0.0

/5 524,288 C, 2,048 B, 8 A 134,217,728 248.0.0.0

/4 1,048,576 C, 4,096 B, 16 A 268,435,456 240.0.0.0

/3 2,097,152 C, 8,192 B, 32 A 536,870,912 224.0.0.0

/2 4,194,304 C, 16,384 B, 64 A 1,073,741,824 192.0.0.0

/1 8,388,608 C, 32,768 B, 128 A 2,147,483,648 128.0.0.0

/0 33,534,432 C, 65,536 B, 256 A 4,294,967,296 0.0.0.0

Page 112: Seguridad Informatica en 8 TEMAS

Direccionamiento de IP privado y NAT

Ante la escasez de direcciones y los problemas de seguridad, las organizaciones

deciden no utilizar directamente direcciones públicas si no que utilizan las llamadas

direcciones privadas que nos vienen definidas en el RFC 1597. En concreto estamos

ante el uso de direcciones que encajan en uno de los tres siguientes bloques:

Para la Clase A: se utilizan como direcciones privadas la red 10.0.0.0

Para la Clase B: se utilizan de la 172.16.0.0 a la 172.31.0.0

Para la Clase C: se utilizan de la 192.168.0.0 a la 192.168.255.0

Estas direcciones no se pueden usar fuera de las redes privadas. En el RFC1627 nos

indican cómo solucionar esto. Es decir, si un sitio utiliza direcciones privadas y

quiere conectarse a otro sitio que también usa direcciones privadas a través de

internet, tendremos que dirigir nuestras conexiones a un proxy que se encargará de

relacionar estas direcciones privadas con la/las públicas.

La administración pública española hace exactamente lo mismo que los

particulares:

Rango de

direcciones IP Entidad u Organismo

10.1.0.0 Ministerio de Administraciones Públicas

10.2.0.0 Ministerio de Agricultura, Pesca y Alimentación

10.3.0.0 Ministerio de Asuntos Exteriores y de Cooperación

10.4.0.0 Ministerio de Trabajo y Asuntos Sociales

(Subsecretaría de Trabajo y Asuntos Sociales)

10.5.0.0 Ministerio de Industria, Turismo y Comercio

(Secretaría de Estado de Turismo y Comercio / Secretaría

General Técnica –DG Política Pequeña y Mediana Empresa-)

10.6.0.0 Ministerio de Cultura

10.7.0.0 Ministerio de Defensa

10.8.0.0 Ministerio de Economía y Hacienda

10.9.0.0 Ministerio de Educación y Ciencia

10.10.0.0 Ministerio de Industria, Turismo y Comercio

10.11.0.0 Ministerio del Interior

10.12.0.0 Ministerio de Justicia

10.13.0.0 Ministerio de Fomento

Page 113: Seguridad Informatica en 8 TEMAS

10.14.0.0 Ministerio de la Presidencia

10.15.0.0 Ministerio de Sanidad y Consumo

10.16.0.0 -

10.17.0.0

Ministerio de Trabajo y Asuntos Sociales

10.18.0.0 Ministerio de Igualdad

10.20.0.0 Ministerio de Ciencia e Innovación

10.21.0.0 Ministerio de Ciencia e Innovación

10.24.0.0 Reservado

10.25.0.0 -

10.29.0.0

Ministerio de Trabajo y Asuntos Sociales

(Servicio Público de Empleo Estatal)

10.30.0.0 Ministerio de Economía y Hacienda

(Agencia Estatal de Administración Tributaria)

10.31.0.0 Ministerio de Medio Ambiente

10.32.0.0 Ministerio de Economía y Hacienda

(Secretaría de Estado de Economía)

10.33.0.0 Ministerio de Economía y Hacienda

(Secretaría de Estado de Hacienda y Presupuestos)

10.34.0.0 Ministerio de Economía y Hacienda

(Subsecretaría de Economía y Hacienda)

10.35.0.0 Ministerio de Sanidad y Consumo (*) (ver tabla 2)

10.36.0.0 Ministerio de Sanidad y Consumo (*) (ver tabla 2)

10.37.0.0 Ministerio de Sanidad y Consumo

10.38.0.0-

10.38.63.255

Ministerio de Sanidad y Consumo

10.40.0.0 –

10.43.0.0

Ministerio de Defensa

10.44.0.0 Ministerio de Justicia

(Administración de Justicia)

10.45.0.0 Ministerio de Justicia

(Dirección General de los Registros y del Notariado)

Page 114: Seguridad Informatica en 8 TEMAS

10.46.0.0 Ministerio de Sanidad y Consumo (*) (ver tabla 2)

10.47.0.0 Ministerio de Administraciones Públicas

10.48.0.0 Ministerio del Interior

(Dirección General de Instituciones Penitenciarias)

10.50.0.0 Ministerio del Interior

(Dirección General de Tráfico)

10.51.0.0 -

10.54.0.0

Ministerio del Interior

(Dirección General de la Guardia Civil)

10.55.0.0 Ministerio de Industria, Turismo y Comercio

10.57.0.0 Ministerio de Economía y Hacienda

(Dirección General del Catastro)

10.58.0.0 -

10.59.0.0

Ministerio de Economía y Hacienda

(Instituto Nacional de Estadística)

10.60.0.0 Ministerio de Trabajo y Asuntos Sociales

(Servicio Público de Empleo Estatal)

10.61.0.0 Ministerio de Asuntos Exteriores y de Cooperación

10.62.0.0-

10.63.0.0

Ministerio de Defensa

10.64.0.0 Ministerio de Asuntos Exteriores y de Cooperación

10.65.0.0 Ministerio de Vivienda

10.66.0.0 Ministerio de Trabajo y Asuntos Sociales

(Servicio Público de Empleo Estatal)

10.67.0.0 Ministerio de Fomento

10.69.0.0 Ministerio de Asuntos Exteriores y de Cooperación

10.70.0.0 -

10.74.0.0

Ministerio de Defensa

10.75.0.0 IMSERSO

10.76.0.0 -

10.83.0.0

Ministerio de Defensa

10.96.00-10.99.00 Ministerio de Trabajo y Asuntos Sociales

(Tesorería General de la Seguridad Social)

Page 115: Seguridad Informatica en 8 TEMAS

10.120.0.0 Ministerio de Política Territorial

10.121.0.0 -

10.121.3.255

Agencia Española de Protección de Datos

10.121.8.0 Fábrica Nacional de Moneda y Timbre - Real Casa de la Moneda

10.121.16.0 -

10.121.31.255

Casa de S.M. el Rey

10.121.32.0 Defensor del Pueblo

10.121.48.0 –

10.121.63.255

Senado

10.121.64.0 -

10.121.95.255

Tribunal Constitucional

10.121.96.0 -

10.121.103.255

RedIRIS

10.127.0.0 Generalitat de Catalunya – Consorci Administració Oberta i Electrònica de

Catalunya (AOC)

10.128.0.0 -

10.135.0.0

Junta de Andalucía

10.136.0.0 -

10.145.0.0

Gobierno de Canarias

10.146.0.0 -

10.151.0.0

Junta de Castilla y León

10.152.0.0 -

10.157.0.0

Gobierno del Principado de Asturias

10.158.0.0 Consejo de Seguridad Nuclear

10.159.0.0 Junta de Comunidades de Castilla-La Mancha

10.160.0.0 -

10.165.0.0

Junta de Extremadura

10.166.0.0 Comunidad Autónoma de la Región de Murcia

10.167.0.0 Gobierno de La Rioja

10.168.0.0 Gobierno Vasco

10.169.0.0 Comunidad de Madrid

Page 116: Seguridad Informatica en 8 TEMAS

10.170.0.0-

10.171.0.0

Gobierno de Cantabria

10.172.0.0-

10.175.0.0

Consejo General del Poder Judicial

10.177.1.0 Consejo de Estado

10.178.0.0 Generalitat Valenciana

10.179.0.0 -

10.180.0.0

Xunta de Galicia

10.181.0.0 -

10.183.0.0

Comunidad Autónoma de la Región de Murcia

10.200.0.0 Gobierno de Navarra

10.208.0.0 Gobierno de Aragón

10.209.0.0 -

10.211.0.0

Gobierno Vasco

10.214.0.0 Gobierno de Canarias

10.215.0.0 -

10.218.0.0

Govern de les Illes Balears

10.248.0.0 –

10.250.0.0

Ministerio de Presidencia

10.251.0.0 Ministerio de Administraciones Públicas

10.252.0.0 Intranet de la Administración General del Estado

10.253.0.0 Red SARA

10.254.0.0 Ministerio de Administraciones Públicas (Red de Datos del RCP)

Fuente: http://www.csi.map.es/csi/pg3305.htm

Los proxys que van a hacer de intermediarios para poder salir a internet, tendrán

que efectuar lo que se llama “traducción de direcciones”, es decir, convertir esas

direcciones privadas en direcciones públicas. Esto es lo que se conoce como NAT.

El NAT (Network Address Translation) está definido en el RFC3022. Consiste en

cambiar la dirección IP de origen del paquete cuando ese paquete abandona la

organización y también la dirección de destino cuando la operación es la inversa.

Esto se puede conseguir de forma estática (asignación realizada por el

administrador de la red) o dinámica (realizado por el propio software a partir de un

almacén de direcciones).

Page 117: Seguridad Informatica en 8 TEMAS

Surge el problema de saber cuántos quieren salir a internet al mismo tiempo. Si

usamos el NAT estático, cada dirección IP privada tiene que tener una pública, y si

usamos el dinámico el problema estaría en cuantos quieren usar la IP pública

simultáneamente.

Para resolver el problema de acceso simultaneo, aparece el PAT (Port Adress

Traslator). Si se utiliza además del NAT el PAT, lo que se hace es utilizar los

números de puerto para distinguir las distintas peticiones.

EJEMPLO:

Supongamos que queremos establecer una comunicación con CISCO y que en el

router tenemos instalado el NAT.

El paquete a enviar presentará el siguiente contenido (entre otros):

Dirección de origen Puerto de origen (cliente) Dirección de destino Puerto de destino

192.168.1.241 44000 198.133.219.25 80

Recibido este paquete por el Router, se efectúa NAT. Para ello, toma una dirección

pública (ejemplo 70.14.1.1) y efectúa la siguiente conversión:

Dirección de origen Puerto de origen (router) Dirección de destino Puerto de destino

70.14.1.1 60000 198.133.219.25 80

Supongamos que justo en este momento, otra máquina también quiere entrar en

CISCO y le manda el siguiente paquete con el siguiente contenido:

Dirección de origen Puerto de origen (cliente) Dirección de destino Puerto de destino

192.168.1.230 55555 198.133.219.25 80

El router lo convierte:

Dirección de origen Puerto de origen (router) Dirección de destino Puerto de destino

70.14.1.1 50600 198.133.219.25 80

Cuando CISCO conteste, lo hará diciendo:

Tabla de traducción NAT

IP de origen Puerto de origen IP traducido Puerto traducido

192.168.1.241 44000 70.14.1.1 60000

192.168.1.230 55555 70.14.1.1 50600

Llega un paquete con destino al puerto 60000 y después de mirar la tabla, ve que

lo tiene que enviar al 44000 con IP 192.168.1.241

Cuando llega otro con destino al puerto 50600, ve que lo tiene que enviar al 55555

con IP 192.168.1.230

Dirección de origen Puerto de origen (router) Dirección de destino 198.133.219.25 80 70.14.1.1:60000

Los puertos elegidos son al azar.

IPv6 (RFC1983)

Se le conoce también como el “IP new generation” (IPng). Para obtener este

protocolo se formuló una petición de propuestas. Empezaron a cribarlas (eliminando

las menos interesantes) y se quedaron con 3. Tras muchas investigaciones se

Page 118: Seguridad Informatica en 8 TEMAS

seleccionó una de estas propuestas y le llamaron “protocolo simple de internet

mejorado” (SIPP- Simple Internet Protocol Plus), aunque es más conocido por IPv6

(el IPv5 fue un protocolo experimental sin éxito).

Novedades:

El espacio de direcciones pasa de 32bits a 128 bits. En estimación serán

unas 1500 direcciones por cada m2 del planeta.

Direcciones jerárquicas para conseguir tablas de enrutamiento más

pequeñas

Una cabecera con menos campos

Características mejoradas de seguridad e integridad de los datos,

incluyendo: Autenticación y Cifrado

Función de autoconfiguración. Permite que un ordenador obtenga una

dirección IP sin intervención de un humano.

Garantías de calidad de servicio.

Soporte para la computación móvil.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|Version| Prio. | Etiqueta de Flujo |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Tamaño de los Datos | Next Header | Limite Saltos |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Dirección origen +

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| |

+ +

| |

+ Dirección destino +

| |

+ +

| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Cabecera Base Cabecer Opcional 1 … Cabecera opcional n Área de datos

40 Bytes Máximo 65535Bytes

Page 119: Seguridad Informatica en 8 TEMAS

Versión (4 bits-v6): 0110

Clase de tráfico (Prio. 8bits): Clase o tipo de servicio (TOS): Del 0 al 7 para el

tráfico de datos con control de congestión y del 8 al 15 para tráfico de vídeo y audio

sin control de congestión.

Etiqueta de flujo (En el RFC 2460 figuran 24bits pero se emplean 20 bits):

Una secuencia de paquetes desde un emisor a un destino que necesita acciones

especiales en los routers, se les denomina “flujo de paquetes”. La combinación de

la dirección fuente y de esta etiqueta define de forma única a los flujos de

paquetes.

Tamaño de los datos (16bits): Indican como su nombre indica, el tamaño total

incluyendo las cabeceras de extensión que tenemos a mayores de los 40 bytes (no

los 40). Como mínimo son 536 bytes y máximo 64 KB.

Next Header: Va a conducir hasta la cabecera que le sigue a continuación.

Límite de saltos (8 bits): Es lo que se denominaba en IPv4 TTL. Se trata del

número de saltos máximos que le queda al paquete.

Dirección origen (128 bits) y Dirección destino (128 bits)

Una implementación completa del IPv6 comprende la implementación de

las siguientes cabeceras de extensión:

Opciones de Salto a Salto

Enrutamiento (Tipo 0)

Fragmento

Opciones de Destino

Autenticación

Seguridad del Encapsulado de la Carga Útil

Las primeras cuatro están especificadas en este documento; las últimas

dos están especificadas en la [RFC-2402] y la [RFC-2406],

respectivamente.

*Detalladas en archivo adjunto Opciones IP v6.

NO EXAMEN

Page 120: Seguridad Informatica en 8 TEMAS

DIRECCIONAMIENTO DE RED

UNICAST: Identifican a una única interfaz.

MULTICAST: Identifican a un grupo de interfaces, que por lo

general están en diferentes localizaciones.

ANYCAST: Identifica a un grupo de interfaces, pero sin embargo

va a enviarse el paquete a una sola del grupo (por lo general es la más

cercana)

UNICAST (Esta parte no se exige en el examen):

Direcciones Unicast de uso local:

Enlace local

10 bits 54 bits 64 bits

1111111010 Todo 0 ID de la interfaz

Enlace local al sitio (privadas)

10 bits 38 bits 16 bits 64 bits

1111111011 Todo 0 ID de la subred ID de la interfaz

Direcciones Unicast reservadas (RFC 2373 define dos direcciones

reservadas):

Dirección no especificada 0::0 (usada mientras no se tiene

dirección, iniciando)

Dirección de loopback ::1 (equivalente a la 127 en IPv4)

Direcciones Unicast globales agregables:

Funcionan de forma similar al CIDR. Su formato está en el RFC2354:

Los TLA son los responsables del mantenimiento de los niveles superiores de la

jerarquía pública del enrutamiento.

Los NLA los usarán las empresas que tienen asignado un TLA para crear una

jerarquía interna de direccionamiento.

Los SLA permiten que las empresas creen una estructura interna de enrutamiento

independiente de las estructuras externas.

Estructuras de direcciones unicast transicionales:

Las transicionales se han definido para facilitar la transición entre las 2

infraestructuras (IPv4 y IPv6)

Existen 2 (EXÁMEN):

Dirección de Unicast IPv6 compatible con IPv4

80 bits 16 bits 32 bits

Todo 0 Todo 0 Dirección IPv4

Se utilizan en lo que se conoce como túneles dinámicos o automáticos que

consisten en el envío de paquetes de IPv6 sobre estructura de IPv4.

Page 121: Seguridad Informatica en 8 TEMAS

Dirección Unicast IPv6 asignada a IPv4

80 bits 16 bits 32 bits

Todo 0 Todo 1 Dirección IPv4

Estas direcciones están orientadas al túneling. Esto nos permite trasportar

paquetes a través de una región de la red que de otro modo sería imposible

de utilizar, por ello los paquetes que funcionen con IPv4 van a poder viajar a

través de una infraestructura de IPv6.

MULTICAST (RFC 2365)

8 bits 4 bits 4 bits 112 bits

Todo 1

Los 3 primeros reservados (a 0) y el 4º bit si es 0 se trata de una

asignación permanente y si es 1 es temporal (no asignada por la

IANA).

Ámbito: 0 y F reservados

1 Ámbito nodo local 2 Ámbito de enlace local

5 Ámbito de sitio local 8 Ámbito de la organización

E Ámbito global Resto de valores sin asignar

ID del grupo

*IANA- Internet Assigned Numbers Authority

ANYCAST (RFC 2526)

Su sintaxis no se distingue de las UNICAST. Podemos tomar una dirección UNICAST

y asignarla a varias máquinas convirtiéndola en ANYCAST.

ESPACIO DE DIRECCIONES IPv6

Asignación Prefijo

(binario)

Fracción del espacio de direcciones

Reservado 0000 0000 1/256

No asignado 0000 0001 1/256

Reservado para asignación NSAP 0000 001 1/128

Reservado para asignación IPX 0000010 1/128

No asignado 0000011 1/128

No asignado 0000 0 1/32

No asignado 00001 1/16

No asignado 001 1/8

Dirección unicast basada en proveedor 010 1/8

No asignado 011 1/8

Reservado para direcciones unicast basadas en regiones geográficas 100 1/8

No asignado 101 1/8

No asignado 110 1/8

No asignado 1110 1/16

No asignado 1111 0 1/32

No asignado 1111 10 1/64

No asignado 1111 110 1/128

No asignado 1111 1110 0 1/512

Direcciones para el uso del enlace local 1111 1110 10 1/1024

Page 122: Seguridad Informatica en 8 TEMAS

Direcciones para el uso del sitio local 1111 1110 11 1/1024

Direcciones multicast 1111 1111 1/256

REPRESENTACIÓN DE DIRECCIONES IPv6

Para representar las direcciones IPv6 se recurre al hexadecimal. La forma más

acertada de representación es X:X:X:X:X:X:X:X. Las X son valores

hexadecimales de dos octetos cada uno.

La segunda forma de representación es ir suprimiendo los 0 que estén en el medio

seguidos por “::”. Ejemplo: A105:4358:0:0:0:0:0:1843

A105:4358::1843. Esto solo se puede realizar una vez.

Si utilizamos mezclas IPv4 con IPv6 lo que se hace es poner ::IPv4.

NOMBRES SIMBOLICOS

Ante el hecho que las personas tenemos más facilidad para recordar nombres que

números, se establecieron unos nombres para identificar conexiones. Esto obliga a

establecer una equivalencia, es decir, este nombre corresponde a esta dirección.

En la época de ARPANET, esta relación se llevaba en un fichero en la que, por

medio de correos electrónicos, los usuarios daban a conocer los nombres elegidos y

se actualizaba el mismo. Este método se vio desbordado y se planteó el DNS.

El DNS es un sistema jerárquico de servidores que almacenan la información

anteriormente nombrada.

ARQUITECTURA DE ENCAMINAMIENTO DE INTERNET La arquitectura inicial de Internet se construyó a partir de ARPANET. En ARPANET

había una jerarquía de “compuertas de acceso” que suponían un envío centralizado,

lo que daba lugar a la existencia de un núcleo.

Cuando se emplea una estructura jerárquica, toda la información del enrutamiento

pasa a través de ese núcleo. Fuera del núcleo existen redes independientes que se

llaman los AS (Autonomous System) que realmente no son independientes si no

que, se trata de redes que tienen un mecanismo propio para recolectar información

de enrutamiento y pasársela a los otros AS. La información pasada es lo que se

conoce como información de alcance. Para hacer este intercambio de información

se usaba un protocolo que era EGP (Exterior Gateway Protocol).

La parte de Internet que utilizan los militares americanos, sigue utilizando este

modelo de núcleo pero, la parte que no, ha dejado esta filosofía y en vez de

emplear este protocolo utiliza BGP (Border Gateway Protocol) el cual, por medio de

los prefijos permite encaminar la información.

El “nuevo” modelo también se basa en los modelos autónomos pero prefiere

llamarle “dominios de enrutamiento”. Cada dominio intercambia información con los

otros dominios a través del BGP y no depende del núcleo para elegir cuales son las

mejores rutas, es decir, que cada dominio hace su propio procesamiento.

Esto ha permitido la escalabilidad y que Internet siga funcionando.

Lo que tenemos que distinguir, a la hora de hablar de protocolos de enrutamiento,

es entre:

Con clase

Sin clase

Si trabajamos con direccionamiento con clase, al observar el primer octeto

podremos saber a que clase pertenece dicha dirección. Así, si el primer bit del

primer octeto es un 0 sería clase A, con lo cual tendremos 7 bits para identificar la

Page 123: Seguridad Informatica en 8 TEMAS

red y 24 para identificar los equipos cliente/host. (Menos de 128)

Así, si el primer bit del primer octeto es un 10 sería clase B, con lo cual tendremos

14 bits para identificar la red y 16 para identificar los equipos cliente/host. (128 a

191)

Así, si el primer bit del primer octeto es un 110 sería clase C, con lo cual tendremos

21 bits para identificar la red y 8 para identificar los equipos cliente/host. (192 a

223)

Si los 4 primeros bits son 1110 es una dirección de clase D (multicast) y son

normalmente utilizadas por los enrutadores. (224)

Si utilizamos este tipo de direcciones, los protocolos de enrutamiento (con clase),

no necesitan las máscaras para las actualizaciones de las tablas y por lo tanto, no

las incluyen (puesto que analizando el primer octeto ya sabrían dicha información).

Ejemplo RIPv1

Si trabajamos sin clase (/16 /19 /24…), usamos otros protocolos como RIPv2,

OSPF, EIGRP…Éstos necesitan las máscaras (a diferencia de los anteriores) puesto

que, por mirar el primer octeto, no podemos determinar los bits que constituyen la

red.

Al usar subredes se ha mejorado mucho la arquitectura de direccionamiento de

internet pero con la limitación de no siempre adecuarnos a nuestras necesidades,

dicho de otra manera, el usar máscaras de longitud física no siempre permiten

cumplir todas nuestras expectativas, a viva cuenta que la necesidad de direcciones

no es algo que pueda establecerse de una forma homogénea. Por ejemplo, puedo

hacer una subred por cada departamento y eso ya es una mejora al hecho de tener

una red para toda la organización pero la cuestión es ¿todos los departamentos

tienen las mismas necesidades de direcciones? Esto podría solucionarse usando

máscaras de longitud variable: VARIABLE LENGTH SUBNET MASK (VLSM).

EJERCICIO

Una empresa tiene una serie de sucursales que identificaremos como: edificio 1,

edificio 2,.. hasta edificio 14. Las necesidades de direcciones para cada uno de los

mismos son las siguientes:

El edificio 1 necesita 2500 anfitriones

El edificio 2 necesita 450 anfitriones

El edificio 3 necesita 450 anfitriones

El edificio 4 necesita 450 anfitriones

El edificio 5 necesita 2900 anfitriones

El edificio 6 necesita 250 anfitriones

El edificio 7 necesita 250 anfitriones

El edificio 8 necesita 450 anfitriones

El edificio 9 necesita 450 anfitriones

El edificio 10 necesita 450 anfitriones

El edificio 11 necesita 450 anfitriones

El edificio 12 necesita 450 anfitriones

El edificio 13 necesita 250 anfitriones

El edificio 14 necesita 250 anfitriones

Dispone de una IP 172.16.0.0. Aplicando el VLSM, establezca la solución que le

parezca más oportuna

Page 124: Seguridad Informatica en 8 TEMAS

PROTOCOLOS, PUERTOS Y SOCKETS

Una vez que la información se enruta a través de la red para llegar a un anfitrión,

debe mandarse al usuario o al proceso correcto. El protocolo IP para hace esto,

utiliza los números de protocolo para identificar los protocolos de transporte, y

estos utilizan los números de puerto para identificar las aplicaciones.

Los números de protocolo nos aparecen dentro de la cabecera de los paquetes IP,

estos números identifican el protocolo de la capa de transporte a la que debemos

pasarle la información. En Linux, en la carpeta /etc/protocolos existe una tabla

donde, en cada línea aparece el protocolo, número y alias correspondiente.

Una vez que sabemos el número de protocolo, se lo envía a ese protocolo

consultando una tabla (por ejemplo, si le viene un 6 sabe que es TCP, si viene un

17 sabe que es UDP…) y a partir de ese momento toma control dicho protocolo.

Este protocolo lo que hace es mirar el número de puerto (16 bits) y si es el puerto

de origen sabe cuál es el proceso que envía la información, y si es el puerto de

destino, sabe a quién enviárselo. En el caso de UNIX, los números de puerto vienen

en /etc/services y como en el caso anterior, por cada línea tenemos su nombre,

número y alias.

En este momento ya tenemos toda la información necesaria para llegar a la

aplicación. La combinación de la dirección IP y número de puerto se llama socket.

Un socket identifica de modo inequívoco e único un proceso de red, dentro de toda

la INTERNET, y un par de sockets (uno del anfitrión receptor y otro del anfitrión

emisor) definen la conexión (en el caso de TCP).

Existen, dentro de los sockets (zócalos), dos campos:

Dirección IP

Número de puerto

Y dos tipos de sockets:

De corriente (stream): se utilizan con TCP

De datagrama: se utilizan con UDP

(*Aquí se podría hacer referencia al apartado de puertos de los apuntes. Puertos

bien conocidos…)

ESCANEO DE PUERTOS Una de las primeras actividades que realizará un atacante, será sin lugar a dudas,

un escaneo de puertos para así saber que servicios estamos ofreciendo, que

sistema operativo tenemos, que arquitectura de red…

Analizando los puertos que estén abiertos se pueden entonces buscar agujeros en

los servicios que ofrecemos.

Como herramientas para llevar a cabo esto, tenemos el NMAP o STROBE.

EXPLORAR PUERTOS TCP

o Métodos de rastreo estándar

Vainilla connect ( ): Es el más simple y conocido.

Comprueba todos los puertos del sistema. No es una forma

sigilosa (se sabría que lo estamos haciendo), pretendiendo

saber que servicios TCP son asequibles. Podemos emplear el

NMAP para dicha acción (nmap -sT)

Indicador SYN medio abierto: Para establecer una conexión

existe el protocolo de intercambio de 3 vías. Supone enviar un

Page 125: Seguridad Informatica en 8 TEMAS

SYN, responder con un SYN-ACK y contestar con ACK. En el

caso de este rastreo, cuando se encuentra un puerto que se

esté escuchando, se envía un paquete RST/ACK. El RST

provoca la reinicianilización brusca de la conexión y como no

completamos el intercambio de 3 vías, esa tentativa de

conexión, por lo general es aceptada por el servidor. Se puede

provocar con el NMAP (nmap -sS) y también se puede realizar

con el STROBE en sistemas UNIX.

o Métodos de rastreo TCP sigilosos

Rastreo de indicador TCP inverso: Por lo general los IDS

(Sistemas de detección de intrusos), detectan los paquetes

SYN que se envían a puertos sensibles. Utilizar indicadores

TCP mal formados para sondear un objetivo, es lo que se

conoce como técnica inversa, ya que las respuestas que

devuelve utilizan puertos cerrados. El RFC 793 nos dice que si

un puerto está cerrado en un equipo hay que enviar una

RST/ACK para reiniciar la conexión. Aprovechando esto, un

atacante envía paquetes de sondeo TCP mal formados para

provocar el establecimiento de una conexión de forma

indirecta. Se podría realizar utilizando NMAP (nmap -sF) que

provocaría un sondeo FIN o bien (nmap -sX) que provocaría

un sondeo Xmas con los indicadores FIN URG PSH, o bien

utilizar un sondeo sN (nmap -sN) que realizaría un NULL.

Rastreo de sondeo de indicador ACK: Tiene dos técnicas

principales:

Analizar el campo TTL: Lo que hace un atacante es

enviar miles de paquetes ACK a diferentes puertos

TCP. Analizando el valor de “Time To Live” de cada

paquete, puede ver el puerto por el que nos devuelve

la petición al determinar el tiempo que tomó en la

contestación. Con NMAP podríamos hacerlo (nmap -sK)

Si un puerto me contesta en menos tiempo que otro

puerto, esto nos sugiere que ese puerto está abierto.

Analizar el campo Ventana: El proceso es similar

enviándose miles de paquetes ACK a distintos puertos

analizando si en el campo “Windows” existe un valor

distinto de 0. Si es así, es que el puerto está abierto.

Con NMAP podríamos hacerlo (nmap -sW) o

herramientas como HPING2 (hping.org)

o Métodos de rastreo TCP desde terceras partes y con identidad

suplantada

Rastreo de rebote FTP: (FTP bounce) Existen equipos que

tienen el servicio FTP desactualizado. Este rastreo resulta

sumamente peligroso si existe un directorio con derecho de

escritura puesto que podríamos introducir en el una serie de

comandos u otros datos en un fichero y a continuación

transmitirlos a un puerto específico de esa máquina. Por

ejemplo si lo que se desea es introducir un mensaje de

Page 126: Seguridad Informatica en 8 TEMAS

correo-e tipo SPAM, lo que hacemos es poner ese mensaje en

un fichero y lo enviamos al puerto SMTP del servidor de

correo.

Para realizar este ataque, en primer lugar, contactamos con el

puerto 21 del servidor FTP vulnerable. En segundo lugar por

medio del comando “port” se le indica al servicio FTP que debe

conectar con un determinado puerto. En tercer y último lugar

usamos el comando “list” con lo que, el servidor FTP, va

intentar crear una conexión con el equipo que hemos indicado

en el punto 2, éste va a contestar y si lo hace con un 226

entonces significa que el puerto está abierto, si lo hace con un

425 es que está cerrado. Con NMAP lo haríamos con nmap –

P0 –b.

Rastreo de rebote en proxy: (proxy bounce) Este es un

ataque que se realiza a través de servidores proxy abiertos.

Suele llevar bastante tiempo hacerlo por lo que muchos

asaltantes, primero atacan el proxy y luego realizan los

ataques desde dentro. Con nmap no se podría realizar.

Rastreo de identidad suplantada basada en sniffer: Es un

método de rastreo de puertos SYM medio abiertos que coloca

la tarjeta de red en modo promiscuo. Se puede obtener

utilizando suplantaciones de identidad (spoofing)

redireccionando los ARP.

Rastreo de cabecera del identificador IP: (idle o dump)

Involucra a tres equipos, el equipo donde comenzamos el

rastreo, el equipo objetivo y el equipo “zombie” (también

llamado “idle”) que es un servidor conectado a internet que va

a realizar las consultas para averiguar los puertos abiertos.

Podemos realizar este rastreo con el VSCAN, HPING2 o el

NMAP por las opciones nmap –bO –sI.

EXPLORAR PUERTOS UDP

Debido a que UDP es un protocolo connection Less (CL- Sin conexión), para

poder enumerar los servicios accesibles tendríamos dos posibilidades:

Enviar paquetes de sondeo UDP a los 65535 puertos, esperar los

mensajes y analizar cuales nos vienen identificados por “no

alcanzables”, para así saber, los que si lo son.

Utilizar un programa como por ejemplo snmpwalk para enviar

datagramas a servicios específicos y esperar la respuesta.

Herramientas para puertos UDP: snmpwalk, nmap –sU, scanudp

ELUDIR IDS (Sistema de detección de intrusos) Para eludirlos (a los IDS), tendremos que utilizar una de las 2 tácticas siguientes:

Usar paquetes fragmentados de sondeo (ejemplo Echo): Muchos

IDS no son capaces de procesar grandes volúmenes de paquetes

fragmentados, porque al hacerlo supondría un ralentizamiento de todo el

sistema. Para hacerlo, tenemos herramientas como: fragroute, fragtest,

nmap –sS.

Page 127: Seguridad Informatica en 8 TEMAS

Suplantación de identidad (Spoofing: utilizar direcciones IP falsas):

consiste en suplantar la identidad para simular múltiples equipos falsos que

ejecutan rastreos de red. Cuando el IDS recibe numerosos intentos de

sondeo, al empezar a analizar, podríamos conseguir que alguno de ellos se

colase. Para hacerlo podríamos usar nmap –D

BURLAR EL FILTRADO Para burlar el filtrado se puede mandar paquetes mal formados o fragmentados,

porque muchas veces esas reglas de filtrado no saben qué hacer con ese tipo de

paquetes, sin embargo lo que más se emplea para burlar el filtrado es una o las dos

siguientes técnicas:

Uso del direccionamiento de origen: *Hay dos opciones en el

datagrama IPv4 que son: enrutamiento fuente débil y enrutamiento fuente

estricto. (documento adjunto “Datagrama_IP_v4_V2”)

En el caso del débil, estamos indicando por donde han de pasar los

paquetes, sin excluir otros enlaces, en cambio en el enrutamiento fuente

estricto, solamente pueden pasar por esos lugares, con lo cual esas redes

tienen que poder ver esas direcciones.

Si un atacante analiza esta opción, puede determinar por donde tendría que

ir el flujo de información y podría también alterarlo a su conveniencia. Para

hacerlo existen varias herramientas : LSNscan, LSNtunel

Uso de puertos TCP o UDP de origen específicos: En este caso la

técnica consiste en determinar unos puertos de origen que suelen ser el 53

(para DNS, tanto en TCP como UCP), el 20 (FTP, para TCP), el 80 (HTTP,

para TCP) y el 88 (Kerberos, tanto para TCP como para UDP).

Esta técnica analiza las respuestas obtenidas de dichos puertos. Para hacerlo

nmap –g “número de puerto”. Con ello podremos aprovechar para intentar

burlar el sistema utilizando sus respuestas.

Page 128: Seguridad Informatica en 8 TEMAS

CONTRAMEDIDAS CONTRA EL RASTREO DE REDES

- Filtrar los distintos tipos de mensaje ICMP de entrada en los routers y

firewalls con conexión al exterior - Filtrar todos los mensajes ICMP de entrada de tipo 3 (puerto destino no

alcanzable), en los routers y firewalls con conexión al exterior

- Configurar los firewalls de conexión a Internet de forma que se puedan

identificar rastreos de puertos y regular las conexiones

- Evaluar la forma en la que los firewalls e IDS (Sistema de detección de intrusos) gestionan los paquetes IP fragmentados, cuando se realizar

ejercicios de rastreo e investigación

- Garantizar que los mecanismos de direccionamiento y filtrado (routers y

firewalls), no puedan ser eludidos utilizando puertos de origen específicos o técnicas de direccionamiento del origen

- Si se albergan FTP accesibles públicamente, hay que comprobar que los

firewalls no son vulnerables a ataques relacionados con un mal formato de los

comandos PORT y PASV - Si se utiliza un firewall comercial, hay que asegurarse de que tenga instalado

el último service pack, y que tenga definidas correctamente reglas

antispoofing

- Evaluar por medio de servidores proxy inversos, si se precisa de un nivel de seguridad alto

- Por medio de rastreo de puertos TCP y UDP, y sondeos ICMP contra el espacio

de direcciones IP propio, conocer la configuración de la red y de los puertos

accesibles públicamente

Page 129: Seguridad Informatica en 8 TEMAS

TEMA 6: SEGURIDAD EN INTERNET INTRODUCCION A LA SEGURIDAD EN INTERNET

El gran impulso de la implantación de internet provino de las tres w. World Wide

Web. Las tres w permiten:

Acceder a recursos (Bases de Datos, Ficheros, fuentes de información…)

Abrir posibilidades de negocio (comercio-e)

Permitir la integración de los sistemas de información de la organización, a

través de las intranet, ahorrando costes de infraestructura.

Obviamente habrá personas que quieran hacer un mal uso de estas posibilidades y

que lo pueden hacer en gran número, por tanto debemos tomar medidas de

seguridad garantizando:

La seguridad de acceso (que solo puedan acceder a mis servicios, quien yo

quiera)

La seguridad de la información (que mientras viajan los datos no puedan ser

alterados, no se pierdan y que no se divulguen más allá de lo que yo tenga

previsto)

SERVICIOS Y AMENAZAS EN INTERNET

La mayoría de los servicios de internet se basan en el modelo cliente/servidor. Los

programas cliente se suelen ejecutar en los ordenadores personales y los

programas servidores se suelen ejecutar en ordenadores más potentes con

sistemas operativos multitarea con el fin de atender a todos los clientes. Pero una

misma máquina puede albergar muchos servidores. Realmente la palabra servidor

identifica un programa que da un servicio y siempre está escuchando las peticiones

de los clientes (daemons o demonios) por unos puertos. Los daemons son

programas que escuchan por los puertos para ver las peticiones de servicios.

Servicios que se suelen facilitar:

Servicio web

Correo-e

FTP

TelNet

Noticias

Información sobre personas

Servicios de conferencias

Servicios de nombres

Servicio para administración de redes

Servicios de hora

Sistemas de ficheros de red

Sistemas de ventanas

SERVICIO WEB: (World Wide Web – Telaraña mundial) El protocolo que se

utiliza, es un protocolo realizado nuevo para dicha función (HTTP). HTTP: Hyper

Text Transfer Protocol. Se trata de hiperenlaces o hipertextos. La web lo que hace

es analizar la pantalla y provocar el enlace con distintos tipos de documentos

(textos, imágenes, sonidos…). Cuando se habla de asegurar el servidor web,

Page 130: Seguridad Informatica en 8 TEMAS

debemos saber que los navegadores, y también los servidores, son muy difíciles de

asegurar ya que la web se basa en la flexibilidad, este hecho provoca que se

dificulte su control. Se dice que una de las cosas más peligrosas que se puede

hacer con un ordenador, es conectarse a internet, descargar un programa y

ejecutarlo.

Un servidor web confiable debe asegurar:

El servidor y los datos que contiene: que no nos alteren lo que tenemos

almacenado y el poder seguir trabajando a pesar de lo que pueda ocurrir

La información que viaja entre el servidor web y el cliente: La

información que proporciona el cliente al servidor (su nombre, claves, datos

financieros) no pueden ser modificados, ni siquiera leídos, por terceros.

Para ello utilizaremos protocolos criptográficos

Los sistemas de los usuarios: Que aquello que descarguen los usuarios

no les va a suponer ningún tipo de daño.

Para conseguir asegurar el servidor y los datos:

Garantizar que los usuarios autorizados para acceder al sistema puedan

realizar su trabajo y solo ese trabajo.

Restringir el acceso al servidor. Esto conlleva una parte física (donde está

situado) y otra lógica (quién puede iniciar sesión en él). Por ejemplo, si

permitimos realizar TelNet, usaremos el TelNet Kerberizado (Kerberos). Hay

que tener en cuenta que HTML y los navegadores, me permiten, a través de

la web, acceder a otros servicios, como por ejemplo FTP o TelNet. Esto

puede ser utilizado para saltarse elementos de seguridad como un Firewall o

un Router de protección.

Para conseguir asegurar la información:

La información que viaja al servidor suele ir en texto en claro y, si a esto le unimos

que no tenemos control sobre las rutas por las que va ir la información, vemos que

no es un problema sencillo. Entonces podemos hacer:

Asegurar físicamente la red (para que no se pueda “pinchar”)

Ocultar la información que tenga información que tenga importancia, dentro

de otra que no tenga importancia

Cifrar la información (Clave privada). Esta última opción, es la más práctica.

Otro riesgo que corre esta información es lo que se conoce como DoS (Denial of

Service-ataque de denegación de servicio). Se puede provocar:

Porque se corta un cable

Porque hay un fallo en las tablas de enrutamiento

Porque alguien bombardea a un servidor con miles de peticiones por

segundo, evitando que las peticiones buenas puedan pasar. Este último

aspecto, está derivado de la forma en que trabaja TCP/IP. Un atacante envía

un mensaje SYN solicitando una nueva conexión sobre un puerto, esto

supone que comience la negociación de los parámetros de conexión y por

tanto el servidor contesta con un SYN-ACK (recibió un SYN y continua

negociando), en este momento queda una conexión medio abierta y en

condiciones normales el cliente contestaría con un ACK terminando con el

periodo de negociación entrando en la fase de trasferencia de información

Page 131: Seguridad Informatica en 8 TEMAS

pero, nuestro atacante, no va a responder. El servidor va a esperar un

tiempo predeterminado y le va a volver a mandar otro SYN-ACK, así hasta 5

o 6 veces. Al acabar estos intentos, se cierra esta conexión. Si esto que ha

sucedido, se realiza miles de veces, desbordaremos al servidor haciéndolo

caer.

Para conseguir asegurar el usuario:

El uso de ficheros por sí solos, no constituyen una amenaza (salvo cuestiones

legales de derechos de autor), lo que ocurre, es que para que las web sean más

interactivas, se han promovido una serie de tecnologías como JavaScript, como los

Applets de Java, ActiveX y Plug-ins. Debemos tener en cuenta que hay elementos

que nosotros no podemos evitar utilizar, porque si no, no podríamos usar esas

aplicaciones. Para resolver eso, veremos los programas que realmente

necesitamos:

Script CGI (Common Gateway Interface): Los script son programas que

residen en el servidor y se ejecutan cuando el cliente ejecuta una cierta

petición (formularios, clientes de correo…). El problema estaría en que el

CGI no esté bien programado y que permita que el cliente acceda al

sistema,

Java: Funciona en los navegadores porque los programas se ejecutan en una

máquina virtual Java. Se podría decir que es como un pequeño ordenador

que ocupa muy poco (aprox. 220KB) y que suele venir incluido en un

navegador de internet. El problema es que cualquier programa se puede

ejecutar de la misma forma sin importar la plataforma de la que procede o

en la que se haya previsto instalar, es decir, Java convierte al navegador en

un sistema de ejecución de software y no en un simple visor de textos y

gráficos. Obviamente Java es consciente de esto y lo que hacen es, para

apaliar este problema, provoca la ejecución de sus programas en un sitio de

la memoria llamado “cajón de arena” (sandbox) y tiene una serie de

restricciones de seguridad, que limitan lo que los Applets pueden hacer,

como ser:

o Establecer que no se pueda trabajar con ficheros en la máquina del

cliente salvo que el cliente lo permita

o Solo poder conectar a través de internet con la máquina que envió el

Applet.

Si se pueden sufrir ataques a pesar de esto, pero está bastante controlado

ActiveX: Son como controles (OLE) muy específicos que permiten descargar

pequeños objetos ejecutables (fue creado por Microsoft en contra partida a

Java). La seguridad de ActiveX está basada en la firma digital. Nuestro

navegador nos dice que alguien quiere descargar algo y si accedemos a

realizar dicha acción. El problema está en el desconocimiento de quién envía

dicho objeto. Podemos comparar los ActiveX con los Applets de Java, lo que

pasa es que los Applets de Java se ejecutan en la sandbox, mientras que los

de ActiveX tienen acceso total al sistema operativo Windows. Eso supone

que tengan más poder y hacerlos más peligrosos.

Page 132: Seguridad Informatica en 8 TEMAS

Pluggins: Son trozos de código que tenemos que añadir a los navegadores

para obtener un servicio como por ejemplo el de Adobe.

CORREO-e: El correo electrónico es muy similar al postal, pero es muy fácil

falsificarlo. Usa el protocolo SMTP (Simple Mail Transfer Protocol), y en sí mismo,

no es un problema de seguridad. El problema está en los servidores SMTP porque

se le puede dañar al servidor para que ejecute un script que suponga por ejemplo:

tener entrada al archivo de contraseñas, tener una puerta trasera (backdoor)…

Los problemas más habituales con el correo-e son:

Inundaciones inadvertidas (Cadenas de cartas)

Inundaciones maliciosas (SPAM)

Envío de datos confidenciales

Que el correo contenga virus, caballos de troya, gusano

Cuando descargamos el correo, utilizamos además otros protocolos como POP3,

IMAP4 o HTTP. Cuando introducimos la contraseña para ver nuestro buzón de

correo, no se le envía al servidor SMTP porque es un protocolo muy antiguo que,

cuando se creó, no se tenía en cuenta la seguridad y se partía en la confianza sobre

el usuario. SMTP no verifica el usuario. Esto hace que los servidores SMTP usen

otros métodos para autenticar. Cuando se envía la contraseña a un servidor POP,

se envía el texto plano (suele haber asteriscos u otros elementos que la

enmascaran, pero viajan en formato que se pueda leer). Los correos electrónicos

también viajan en texto plano…

Si sumamos todo lo que acabamos de decir podemos ver que no se trata de un

método para nada seguro. Visto lo visto, nos tendríamos que plantear medidas

adicionales y pensar en los certificados digitales.

Los certificados digitales me van a permitir el no-repudio y la integridad de los

datos. A mayores, como medida de seguridad, lo que podemos hacer es cifrar el

correo. Lo que pasa es que en algunos casos puede llegar a ser ilegal dependiendo

de los países (por motivos de terrorismo).

FTP (File Transfer Protocol): También es uno de los protocolos más antiguos. Es

un servicio muy utilizado por la rapidez y facilidad para usarlo. El problema está en

la seguridad del sitio FTP. Lo que se recomienda es no acudir a sitios FTP no

reconocidos, y cuando se descargue algo, se guarde, se analice y después se

ejecute.

Existen los FTP anónimos (anonymous FTP) que permitan acceder a un área FTP

pública sin que podamos acceder al resto del sistema.

Además del protocolo FTP existen otros protocolos para transferir ficheros :

o TFTP (Tribial Fail Transfel Protocol): Se suele utilizar en estaciones que no

tienen disco duro, no soporta la autenticación, con lo cual es bastante habitual

que sufra ataques. En consecuencia, salvo que se tenga extrema necesidad,

no se recomienda su uso.

o UUCP (Unix to Unix Copy): Este es un protocolo muy antiguo que se utilizaba

para transferir ficheros a través de módems. Hoy en día se utiliza algo a

través de internet. Se emplea sobre todo en los servidores de noticias o

correo-e.

o FSP (File Service Protocol): Es un protocolo de transferencia de ficheros pero

que permite poder obviar algunas de las deficiencias del FTP. Por ejemplo, si

una transferencia se me bloquea por FTP, generalmente por el FSP se puede

Page 133: Seguridad Informatica en 8 TEMAS

pasar. A los administradores de red, este protocolo no les interesa (ya que si

es posible que salte algo bloqueado…)

o Rcp: Es un mecanismo que permite transferir ficheros entre sistemas. No se

considera apropiado para utilizarlo a través de internet puesto que la

autenticación que efectúa es validar o comprobar la dirección IP del que

genera la solicitud en lugar de validar el usuario en la máquina remota.

Telnet: Nos permite utilizar un equipo remoto como si fuese un equipo

directamente local. Telnet es un estándar de internet para el acceso remoto y la

limitación que tiene es que solo proporciona acceso a aplicaciones basadas en

caracteres. Inicialmente se consideraba un servicio seguro porque pide autenticarse

pero envía toda la información sin codificar (texto en claro), con lo cual es muy

vulnerable. Existen otros programas además de Telnet como por ejemplo rlogin

(remote login), rsh, on. El problema de estos tres es que solo los podemos utilizar

en un ambiente confiable, puesto que permite que los usuarios tengan acceso sin

tener que autenticarse.

Noticias (usenet): Usenet no es propia de internet, lo que ocurre es que utiliza

para el tráfico internet y por ello se acaba considerando un servicio de internet. Las

noticias se agrupan formando grupo de noticias o newsgroups y es similar al

correo- e pero con la filosofía de muchos a muchos. Hay quién lo compara con un

tablón de anuncios.

Los riesgos son similares a los del correo-e. El protocolo que se utiliza es el NNTP

(Network News Transfer Protocol).

Información sobre personas: En internet no tiene un sistema adecuado para

buscar información sobre las personas que están en la red. Es decir, no hay un

sitio, donde decir para esta persona, este es su correo-e. Sin embargo hay dos

servicios que me ayudan de cierta manera para hacerlo, que son:

Finger: Busca información sobre un usuario que tenga una cuenta en la

máquina que estamos consultando independientemente de que haya iniciado

sesión en ese mismo momento. No es necesario conocer exactamente el

nombre y apellidos. Por lo general permite hacer búsqueda por cadenas de

caracteres. Y, si ni siquiera sabemos eso, también ofrece información sobre

todas las personas que tengan cuenta en esa máquina. El problema de

finger es que puede dar información a los intrusos, por lo cual, muchas

veces finger se bloquea.

Whois : El whois es similar a finger pero lo que hace es obtener información

de anfitriones a lo largo de todo Internet y se podría comparar con las

páginas blancas de la compañía de teléfonos.

Servicios de conferencias en tiempo real: Tanto el correo-e como los servicios

de noticias, fueron diseñados para comunicaciones asíncronas, es decir, que

funcionan aunque no estemos conectados en ese momento. Los servicios de

conferencias están diseñados para funcionar en modo interactivo. Como ejemplo de

esos servicios tenemos talk, IRC, MBONE.

talk: Es el más antiguo de conferencias en tiempo real que se utilizan en

internet (talk es hablar y chat es conversación) y permiten que dos personas

mantengan una conversación. Una de las dos partes inicia una sesión talk

especificando la dirección de la otra persona, de la misma forma que una

dirección de correo electrónico. La otra persona recibirá un mensaje en

Page 134: Seguridad Informatica en 8 TEMAS

pantalla diciendo que cierta persona solicita una conversación, explicando

cómo hay que contestar. Cuando la otra parte contesta es cuando se

establece la conexión.

IRC: (Internet Relay Chat) Es muy similar a lo que realizan los

radioaficionados (en las que varias personas participan en la conversación).

Para hacerlo funcionar, tendríamos que instalar un cliente IRC o bien, a

través del Telnet, entrar en un sitio que tenga un servicio de cliente IRC. Los

servidores IRC blindan canales para que los usuarios se unan a ellos. La

diferencia con el talk, que son dos usuarios, en el IRC pueden participar un

gran número de personas.

El problema del IRC, lo mismo que con el talk, es quién lo usa.

MBONE (Multicast Backbone): Es un conjunto de servicios en internet, que

me permiten ampliar las posibilidades de talk y de IRC, para así poder incluir

audio, vídeo, etc. En este momento es un servicio bastante seguro. MBone

(IP Multicast Backbone) es una red virtual a nivel mundial que utiliza la

técnica multicast y cuyo principal uso es la transmisión de vídeo y audio de

forma óptima sobre Internet. A diferencia del sistema habitual de

transmisión unicast empleado en Internet, donde los paquetes se

intercambian entre dos estaciones extremo a extremo uno-a-uno, la

comunicación multicast permite el envío de paquetes de información de uno-

a-muchos optimizando la carga que reciben las estaciones transmisora y

receptoras así como el ancho de banda entre los enlaces que las unen. De

esta manera son habituales las transmisiones de conferencias desde

cualquier punto conectado al troncal y donde desde el equipo que se utiliza

para recibir la transmisión se puede intervenir, si se desea, en el turno de

preguntas, o bien mantener sesiones interactivas entre varios participantes.

Todo ello utilizando el mismo equipo que se utiliza para otras aplicaciones

ofimáticas en el trabajo.

Servicio de nombres: Se encargan de traducir los nombres que usan los humanos

a direcciones IP que usan las máquinas. Existe el servicio DNS (Domain Name

System). DNS no es un servicio a nivel de usuario pero da servicio a otros servicios

que utilizan las personas/usuarios. El riesgo de DNS radica en que muestre más

información de la que tenga que dar. Por ejemplo permite que muestre información

sobre el hardware y el software que se está utilizando, lo cual no interesa que lo

conozca un atacante.

Lo que tenemos que hacer es que esa información esté disponible para los

anfitriones internos y para los externos de forma controlada.

Debemos tener cuidado y utilizar un DNS interno, y luego utilizar nombres de

anfitrión para la autenticación, porque un atacante podría instalar un “DNS

mentiroso”. Para evitar esto se utilizan los siguientes métodos:

Usar direcciones IP en lugar de nombres cuando las personas tengan que

autenticarse.

Dar la autenticación a usuarios en lugar de anfitriones en los casos de los

servicios más sensibles, porque las direcciones IP también se pueden

falsear.

Algunos sitios utilizan las páginas amarillas de SUN que es el servicio de

información de red, yellow pages (NIS/YP- network information service/Yellow

Pages). Se utiliza para distribuir inernamente información de los nombres de

Page 135: Seguridad Informatica en 8 TEMAS

anfitrión. Este servicio es para UNIX. El servicio equivalente en Windows tenemos el

Active Directory.

Servicio para administración de redes: Existen diferentes servicios para

administrar redes, aunque no suelen ser servicios para que los usen usuarios

normales, si no que son servicios para ser utilizados por administradores de red.

Las dos herramientas más comunes de este tipo son:

PING

TRACER

Ambas utilizan el protocolo ICMP. ICMP se implementa a bajo nivel como parte

inseparable de los protocolos TCP/IP. En principio ni con PING ni con TRACER

existen riesgos de salida.

Se pueden utilizar para ataques DoS, aunque por lo general se suelen utilizar para

saber que anfitriones existen y a partir de ahí realizar otro tipo de ataques. Lo que

se suele hacer es limitar los paquetes entrantes de este tipo, por medio de un

filtrado de paquetes. Existe un protocolo (SNMP – Simple Network Management

Protocol) diseñado para facilitar la administración centralizada de los equipos de la

red. (Los sistemas servidores lo instalamos a través del panel de control/agregar o

quitar programas/herramientas de administración – En Windows 7 es cuestión de

activarlo)

Servicio de hora: Existe un protocolo de hora de red llamado NTP (Network Time

Protocol). Es un servicio de internet que pone en hora, con una gran precisión, los

relojes de un sistema. Esto es necesario para:

Cuando se examinan los ficheros de registro de distintas máquinas, poder

localizar accesos no deseados.

Evitar ataques de repetición (kerberos depende de la sincronización de la

hora para autenticar).

Utilizar NFS con éxito

Sistema de ficheros en red: Existen varios protocolos para montar sistemas de

ficheros que están en otros ordenadores, con lo cual, podemos acceder a ficheros

remotos y podemos organizar entradas simultáneas. Este establecimiento es

bastante sensible porque estamos leyendo datos de un fichero sin muchas veces

tener que realizar una autenticación adicional. Los sistemas de ficheros en red más

habituales son:

NFS (Network File System): Su característica más interesante es que

proporciona respuestas muy rápidas. Se suele usar más para redes de área

local.

ASF (Andrew File System): Es un sistema que ofrece gran confidencialidad,

respuestas rápidas y que tolera mejor el bajo rendimiento (trabaja muy bien

con máquinas lentas). Se suele usar más para redes WAN, de área amplia.

En cualquiera que sea la elección que usemos, es importante configurar el sistema

de forma adecuada, para que no puedan actuar en los ficheros, más allá de lo que

nosotros consideremos adecuado.

Sistema de ventanas: La mayoría de las máquinas UNIX, proporcionan un

sistema de ventanas basado en X11. El acceso a redes a través de X11, me

proporciona una interfaz gráfica de usuario, que es algo que no proporciona Telnet.

Page 136: Seguridad Informatica en 8 TEMAS

El problema es que lo lleva a cabo proporcionando acceso a todas las capacidades

igual que si estuviésemos sentados frente a la máquina. Un intruso que tiene

acceso a un servidor X11 podría:

Obtener descargas de pantallas

Leer las teclas que está pulsando el usuario (incluyendo contraseñas)

Inyectar pulsaciones de teclas

De forma predeterminada, los servidores X11, utilizan la autenticación basada en

direcciones (en el caso de que la empleen). Aunque es cierto que si quisiéramos,

podríamos obtener una autenticación más estricta (aunque rara vez se utiliza)

VIRUS EN INTERNET

Los virus es uno de los mayores problemas que existen en internet puesto que

miles de máquinas se pueden ver afectadas a gran velocidad. Otro peligro

multiplicado por internet, estriba en la facilidad de ejecutar programas sin que el

usuario se percate. Hasta hace poco, los virus solo se propagaban a través de los

programas ejecutables (.exe .com) y sabíamos a qué atenernos. Pero con la

aparición de los contenidos ejecutables en internet de la mano de Active X, Applets

de Java, Scripts o guiones, Plugins… esto ha cambiado y la frontera de lo que es un

programa ya se difuminó.

Esto ha permitido la creación de virus de html, es decir, virus cuya entrada al

sistema simplemente se producen por mirar una página. Los daños que pueden

ocasionar dependerán de lo que incluyan o para lo que estén programados.

La puerta de entrada más habitual para infectar a los equipos suele ser el correo-e.

Nuestro buzón es un foco de peligro potencial. A esto contribuye que haya

programas de clientes de correo que me permiten, no solamente redactar mensaje

de correo, si no también incluir botones, formularios y otros elementos que amplían

todavía más ese peligro. Tenemos que tener en cuenta lo siguiente:

Algunos clientes de correo me permiten descargar ficheros directamente de

la web.

Algunos clientes de correo me permiten incrustar objetos dentro del mensaje

en sí.

La posibilidad de lanzar automáticamente programas escritos en lenguaje de

Script profundizan más en el problema.

La capacidad de insertar mensajes dentro de otros mensajes (mensajes

anidados). El problema de éstos es que los antivirus suelen parar en el

primero y no siguen la cadena

Medidas de protección:

No abrir nada que resulte sospechoso, que venga de un destinatario

desconocido o sencillamente que no sea esperado. Es muy importante que

los “Asuntos” sean lo suficientemente indicativos de lo que muestra el

mensaje.

Cuando recibimos un fichero, no se debe abrir, primero se ha de almacenar

y analizar con un antivirus.

Si pese a que el antivirus no detecte nada, seguimos teniendo dudas,

conviene no ejecutarlo.

Page 137: Seguridad Informatica en 8 TEMAS

A mayores podemos complementar estas medidas:

Formando a los usuarios

Tener un antivirus actualizado

Tener copias de seguridad

Para la elección del antivirus nos podemos plantear:

Utilizarlo para proteger estaciones: estaremos consumiendo recursos en esa

estación, ir por cada máquina para hacerlo, no vamos a proteger

directamente el servidor y, por lo tanto, no suele ser una opción muy

utilizada.

Utilizarlo para proteger el servidor: controlando lo que sale del servidor.

Consume recursos en el servidor, no protege la información que esté

ubicada en las estaciones y, por lo tanto, tampoco suele ser la más

interesante

Utilizarlo para proteger las estaciones y los servidores: se trata de la

solución ideal pero supone un mayor esfuerzo y uso de recursos.

Finalmente hemos de ser conscientes que en los últimos tiempos es bastante

habitual recibir correos en los que nos hablan sobre un peligro potencial y sería

conveniente que lo remitiésemos a nuestros conocidos. Esto se conoce como hoax

(engaño), y se tratan de amenazas falsas, con propósito de crear miles de correos

ocupando el ancho de banda de los servidores de correo.

INGENIERÍA SOCIAL

Para proteger los sistemas, disponemos de una serie de medidas:

Firewalls

Discos espejo

Antivirus

Las redes privadas virtuales (VPN)

SAI o UPS

Sin embargo, la clave fundamental de la seguridad está en el usuario. Muchas

veces un exceso de confianza y otras veces el desconocimiento, pueden hacer

vulnerable un sistema independientemente de la protección hardware o software

que tengamos.

La ingeniería social es una técnica muy empleada por los hackers, crackers… y no

hacen uso de ningún elemento software ni hardware, si no que se basa en la

psicología y persuasión del que ataca. Así, detrás de la llamada de un técnico a un

empleado, o de otro empleado que necesita ayuda, o de un administrador que debe

modificar algún dato de un usuario, se puede esconder un atacante.

La ingeniería social no solo se limita a que alguien me pueda atacar, si no que

muchas veces es una forma de introducir troyanos. Existen los troyanos tipo “Back

Orifice” (Orificio trasero) que suelen entrar a través de los IRC en los que el

atacante le envía un troyano a su víctima haciéndole creer que es para su beneficio.

Hay otras técnicas que se utilizan para introducir virus con HTML que consisten en

que el navegador lance un mensaje preguntando si queremos ejecutar un código

necesario para ver correctamente la página web. Una de las últimas técnicas es

Page 138: Seguridad Informatica en 8 TEMAS

superponer una ventana encima del aviso del navegador y que deje al descubierto

solamente los botones de “Si” o “No”, esto es conocido como “Espartano” y se suele

realizar para mostrar un mensaje muy trivial ocultando el verdadero mensaje

advirtiendo el riesgo de aceptar.

Para protegernos de todo esto podremos recurrir principalmente a la desconfianza.

PROTOCOLOS DE SEGURIDAD

En las distintas capas de TCP/IP existe la posibilidad de establecer controles de

seguridad en función de los datos que vamos a manejar y en función de la

seguridad que se necesita.

Existe una serie de protocolos que integran mecanismos de seguridad ampliamente

utilizados para solucionar esos problemas:

Redes privadas virtuales (VPN) Protocolo de seguridad de IP (IPSec)

SSL

Secure HTTP (SHTTP)

SET

Redes privadas virtuales (VPN): Si internet es una nube y muchas estaciones están

conectadas a internet, podamos establecer conexiones privadas protegiéndolas

de posibles “escuchas”. Permite transmitir datos de manera segura por una red

no segura. Por ejemplo, permite que los empleados de una empresa se conecten a través de un ISP y enlazarse de forma segura con su organización. Las VPN transportan los datos a través de un túnel (tunneling). Existen tres tecnologías disponibles para crear redes privadas virtuales:

IPSeC (IPSP) : Internet Protocol Security. *Se muestra más

alante

PPTP: Point to Point Tunneling Protocol. Fue desarrollado por

Microsoft y se basa en el protocolo PPP, pero a diferencia de éste, permite crear un enlace virtual que atraviese redes públicas o redes

privadas. El cifrado de datos comienza justo después de la

autenticación PPP. Las conexiones PPTP utilizan un método de cifrado

basado en RSA. L2TP: Layer 2 Tunneling Protocol : Es también una herramienta para

túneles que se desarrollo como una mejora de PPTP por el propio

Microsoft con unión de Cisco, Ascent, IBM y 3Com. Una de sus

características más interesantes es su protocolo multienlace que permite conectarnos a 2 conexiones de ISP distintas. El cifrado de datos

empieza antes de la conexión PPTP y se suele utilizar en unión

IPSec para negociar una asociación de seguridad.

Para trabajar con L2TP se necesita: o PSK (Preshared Secrets- Secreto Compartido)

o Certificados tanto en el cliente como en el servidor (PKI-

Public Key Infraestructure)

o Hibrido como RADIUS

Las conexiones L2TP/IPSec utilizan DES (Data Encryption Service)

En el caso de utilizar certificados, debemos importarlos previamente a las

máquinas en las que los vamos a utilizar.

Ejemplo práctico:

Lanzamos la consola con MMC

Page 139: Seguridad Informatica en 8 TEMAS

Archivo: Agregar o quitar complementos/Certificados/Agregar

Se puede hacer un certificado desde Inicio/Todos los

programas/Microsoft Office/Herramientas de Microsoft/Crear Certificado

Digital Ahora crearemos una VPN:

Panel de control\Todos los elementos de Panel de control\Centro de

redes y recursos compartidos\Configurar una nueva conexión de red

Conectarse a un área de trabajo Usar mi conexión a Internet (VPN) Configurar más tarde

Poner la IP con quien conectarse y un nombre que lo identifique. Siguiente

Nombre de usuario y contraseña para conectarse. Siguiente

Me indicará que la conexión está lista para ser usada

Ahora en la lista de dispositivos de red (Panel de control\Redes e

Internet\Conexiones de red), pulsamos botón derecho propiedades

sobre la conexión: General: No hay nada que modificar

Opciones: se recomienda desmarcar “Incluir el dominio de inicio de

sesión de Windows”

Seguridad: Se escoge el tipo de VPN (nosotros L2TP/IPSeC o PPTP) Seguridad: Cifrado Opcional para ganar velocidad

Seguridad: Desactivar CHAP en caso de L2TP/IPSeC (Protocolo de

autenticación por desafío mutuo y se deja CHAP v2)

Seguridad Configuración Avanzada: podemos escoger que vaya por

certificado o a través de una clave escogida por nosotros por L2TP/IPSeC.

Protocolo de seguridad de IP (IPSec): IPv4 no contempla funciones ni mecanismos de seguridad. Desde 1992 existe un grupo de trabajo llamado

IPSeC que es el encargado de normalizar “Internet Protocol Security Protocol”

IPSP y el IKMP “Internet Key Mannagement Protocol”. Este grupo se creó para

incorporar sus resultados a IPv6 pero también se adaptaron a IPv4. IPSP me va a permitir establecer VPN a nivel de red. Lo más destacado en cuanto a la

seguridad que presenta se basa en la caducidad de las claves y su renovación.

Su objetivo es facilitar interoperactividad y seguridad criptográfica. Por

seguridad nos estaremos refiriendo a:

Control de acceso Integridad

Autenticación

Confidencialidad

Protección contra los ataques por repetición

Todos estos servicios se prestan a nivel IP (a nivel de la capa de red),

permitiéndonos no solamente seguridad para IP sino también para los

protocolos superiores (TCP, UDP, HTTP, FTP…).

Para llevarlo a cabo:

Garantiza que todos los mensajes que se reciban procedan de equipos

catalogados como “conocidos”

Garantiza la integridad de los datos (que no puedan ser modificados)

Identificará cada paquete IP mediante una firma digital impidiendo que otro usuario pueda reutilizar un mensaje para iniciar una sesión

(posiblemente utilizando credenciales robadas)

Page 140: Seguridad Informatica en 8 TEMAS

Garantizará la confidencialidad de forma opcional codificando los

paquetes para que viajen por la red de forma que, solamente el que

tenga la clave, podrá leerlo.

IPSeC tiene dos modos de funcionamiento:

Modo transporte: Protege los datos cuando viajan desde la capa de

transporte a la capa de red. Se suele utilizar para comunicar

ordenadores dentro de la misma red.

Modo túnel: Protege el paquete IP completo. Se usa

fundamentalmente para construir VPN. Para ello, toma el paquete IP y le antepone otra cabecera, autenticando y/o cifrando todo el paquete

IP.

Page 141: Seguridad Informatica en 8 TEMAS

IPSeC realiza sus funciones mediante dos mecanismos:

Cabecera de autenticación (AH- Authentication Header): Permiten

asegurar la autenticidad del origen de los datos. Así como la integridad

de los paquetes mientras se transmiten. En algunos casos también nos permiten garantizar el no-repudio en origen.

Los datos seguros encapsulados (ESP- Encapsulating Security Payload)

Ambos mecanismos o protocolos se pueden usar independientemente o de forma conjunta.

El ESP es un mecanismo que proporciona:

o Confidencialidad (Opcional)

o Autenticación e Integridad (Opcional) o Protección contra reproducción (Opcional por parte del receptor)

o Confidencialidad parcial del flujo de datos

Page 142: Seguridad Informatica en 8 TEMAS

Aunque la confidencialidad y Autenticación-Integridad son opcionales,

obligatoriamente debemos elegir una de las dos.

La parte central de IPSeC son las asociaciones de seguridad (Security

Associations-SA). Estas asociaciones de seguridad que definen las condiciones de seguridad que se van a usar en la conexión se almacenan en una base de

datos llamada SAD (Security Associations DateBase).

La asociación se inicia mediante el protocolo ISAKMP. ISAKMP establece un

marco para el establecimiento de claves y autenticación. Ejemplo para realizar un ping bajo un sistema de seguridad en Windows 7:

Panel de control\Todos los elementos de Panel de control\Firewall de

Windows

Configuración avanzada Reglas de seguridad de conexión/Nueva regla Tipo de regla: Personalizada. Siguiente Paso

Extremos: Agregaremos las máquinas involucradas. Siguiente Paso

Requisitos: Dejaremos que solicite autenticación para conexiones entrantes y salientes. Siguiente Paso

Método de autenticación: Propiedades avanzadas/Personalizar y

agregaremos en el primer campo una clave conocida por nosotros

Protocolos y puertos: ICMPv4 (ya que vamos a hacer un PING)

Perfil: Aquí indicamos a quien queremos que se realice esta regla (dejaremos por defecto todos marcados)

Nombre: El nombre dado a la regla creada y su descripción

La misma regla se debe crear en la otra máquina

En un servidor con este comando: netdiag /test:ipsec /v /debug se puede ver

por línea de comandos el funcionamiento. SSL

Secure Sockets Layer. Fue introducido por Netscape y trata de reconstruir o

ampliar el nivel de sockets añadiendo características de seguridad que permitan

que la relación cliente servidor se pueda establecer de una forma segura, a través de un canal inseguro como es internet.

Cuando un cliente y un servidor se comunican entre sí, cada uno de ellos

establece un socket SSL (socket del lado cliente y socket del lado servidor)

estableciendo así un canal seguro por encima de la capa de transporte. Hoy en día se está utilizando la v3 de SSL.

En resumen, lo que hace SSL es una nueva capa sobre la de transporte y por

debajo de la de aplicación, de forma que, cuando un servidor la utiliza, usa un

puerto distinto (443).

El propósito de SSL es que el usuario no tenga que preocuparse de la criptografía y así, en vez de mostrarse el protocolo HTTP se verá HTTPS.

Proporciona:

Confidencialidad (utiliza DES, RC2, RC4) Autenticación (RSA, DSS)

Integridad (MDM5, SHA1)

Además de estos servicios básicos también me proporciona:

Separación de responsabilidades: cada cosa que hace, la realiza un protocolo diferente y cada uno con sus propias claves

Eficiencia: cifrar y descifrar es algo costoso y que en el caso del SSL en

lugar de hacerlo por cada comunicación entre el cliente y el servidor,

almacena lo que se conoce como “secreto maestro, que conserva entre las conexiones

Autenticación en base a certificados: como el x.509

Page 143: Seguridad Informatica en 8 TEMAS

Proporciona protección de ataques de “hombre en el camino” (man in

the middle) y ataques de reproducción

Soporte de compresión: cuando los datos cifrados no pueden

comprimirse, la ventaja del SSL es que permite comprimirlos antes de cifrarlos

En el navegador podemos comprobar si es soportado por el.

Secure HTTP (SHTTP) Secure Hiper Text Transfer Protocol. Es una extension del HTTP desarrollado

por la IETF (Internet Engineering Task Force- Grupo de Trabajo de Ingenieros

de Internet). Nos ofrece a nivel de la capa de aplicación, servicios de seguridad

aplicables de forma independiente para:

Confidencialidad

Autenticación-integridad

No-repudio

Es un protocolo simétrico y totalmente compatible con HTTP. No es necesario

utilizar claves públicas (lo podemos utilizar con criptografía simétrica) y a diferencia de SSL, SHTTP solo afecta a HTTP sin poderse extender a otros

protocolos.

Las características:

Hizo surgir una nueva URL que es “shttp” Los servidores que reciban peticiones de clientes sin cifrar o con un nivel

de seguridad insuficiente, van a recibir el mensaje 401

Los mensajes los podemos proteger con firma digital, autenticación,

cifrado o cualquier combinación de los 3. El protocolo permite comprobar el tiempo de validez de los mensajes

SET Secure Electronic Transactions. Transacciones electrónicas seguras. Apareció en

1995 desarrollado por Master Card, VISA y el apoyo de compañías como

Netscape e IBM.

Las características de este protocolo son:

Es un protocolo abierto (open). No tiene cuestiones de licencias y llega a ser asumido como un estándar.

Utiliza el algoritmo RSA para cifrar, autenticar y para firma

digital.

Cuando se utiliza este protocolo participan:

El titular de la tarjeta de crédito proporcionada por un banco emisor

La entidad bancaria/banco emisor donde habrá una cuenta para el

titular de la tarjeta y garantizará que se paguen las transacciones

autorizadas por el titular El comerciante o vendedor de los artículos o servicios mediante pago

electrónico. Este comerciante debe tener relación con en el banco

adquiriente.

El banco adquiriente donde tiene una cuenta el comerciante donde

procesará las condiciones de pago Pasarela de pagos. Es un dispositivo que gestiona el banco adquiriente,

o bien un tercero designado a ese efecto, que proporciona un servicio de

comercio-e, para los comerciantes. Procesa los mensajes de pago

Page 144: Seguridad Informatica en 8 TEMAS

incluyendo las instrucciones de pago que proceden del titular de la

tarjeta.

La marca de la tarjeta de crédito. (VISA, MasterCard,...) Es la entidad

que ofrece el sistema de pago, dando nombre a la tarjeta Autoridad de certificación. Es el que creará y distribuirá los certificados

que utilizarán todos los involucrados.

SET utiliza técnicas criptográficas para proporcionar:

Autenticación de los comerciantes

Autenticación del titular de la tarjeta de crédito

Confidencialidad de la información

Integridad

SET contiene tres niveles de seguridad:

Primer nivel: Supone que solo los bancos que intervienen tienen claves

públicas/privadas.

Segundo nivel: Los bancos y los comerciantes tengan entre ellos

claves públicas/privadas. Los vendedores darán un recibo y este debe

tener validez.

Tercer nivel: Los bancos, los comerciantes y los clientes tengan sus

propias claves públicas/privadas.

Page 145: Seguridad Informatica en 8 TEMAS

TEMA 7: SEGURIDAD EN LENGUAJES Y

APLICACIONES PROGRAMACIÓN SEGURA

La programación segura, es una rama de la programación cuyo objetivo es

estudiar la seguridad del código fuente de un programa para encontrar

errores y solucionarlos.

Introduce una metodología, o conjunto de buenas prácticas, basada en una serie de

principios básicos que afectan a la arquitectura, diseño y desarrollo de programas.

La intención de dicha metodología es la de reducir la existencia de problemas de

seguridad en el código, garantizando los principios básicos.

Una política de seguridad se define en base a los siguientes conceptos de seguridad

de la información: confidencialidad, integridad y disponibilidad.

Confidencialidad: Es el hecho de que la información solamente sea accesible

por aquellos que deban tener acceso. (Norma ISO-17799)

Integridad: Es el hecho de que los datos no puedan ser

alterados/modificados, tanto cuando están almacenados como cuando están

viajando por la red.

Disponibilidad: Es el hecho de que “algo” este disponible cuando lo

deseamos. Los sistemas tienen fallos y periodos de inactividad planificados.

Los fallos son inevitables pero los periodos de inactividad planificados suelen

realizarse normalmente para instalar parches, reiniciar el sistema como

consecuencia de configuraciones que se han realizado.

Una vulnerabilidad es un error en un sistema que permite violar la política de

seguridad definida para el mismo. La ruptura de una política debido a la existencia

de una vulnerabilidad, se logra al utilizar un ataque o exploit que aprovecha dicha

vulnerabilidad para romper la política.

Los ataques o exploits suelen aprovechar desbordamientos de pila, errores en las

estructuras o flujo de datos y errores de software en general.

Si se analiza el aprovechamiento de la vulnerabilidad se definen dos tipos:

Page 146: Seguridad Informatica en 8 TEMAS

− Aprovechamiento remoto: permite a un atacante hacer uso de la

deficiencia de la vulnerabilidad, desde una máquina diferente a la

comprometida (aquella en la que está presente la vulnerabilidad)

− Aprovechamiento local: donde, un atacante, usuario de la máquina

comprometida, podría usar la vulnerabilidad para, por ejemplo, escalar

privilegios (convirtiéndose en administrador) o romper la licencia de un

programa protegido.

Otra característica de una vulnerabilidad son las consecuencias que puede acarrear

la existencia de la misma. Una vulnerabilidad puede desembocar en una denegación

de servicio que impida que la máquina comprometida atienda peticiones de otras

personas afectando a la disponibilidad de la máquina. La vulnerabilidad podría, por

otro lado, permitir la ejecución de código permitiendo al usuario, por ejemplo,

extraer datos comprometiendo la confidencialidad; modificar los datos violando la

integridad; o afectar a la disponibilidad de la máquina forzando un reinicio o

provocando su apagado.

Ciclo de vida de una vulnerabilidad:

Las vulnerabilidades se modelan con un ciclo de vida, o al menos, se intentan

modelar los eventos asociados a la vulnerabilidad y el impacto de las etapas en la

seguridad.

El término "ciclo de vida" sugiere la existencia de una progresión conocida y lineal

que permite pasar de un estado a otro, en cambio, el descubrimiento y la

explotación de una vulnerabilidad no siempre sigue un patrón ordenado.

Pese a esta falta de determinación, una vulnerabilidad atraviesa en general los

siguientes estados:

Page 147: Seguridad Informatica en 8 TEMAS

Nacimiento: momento en el que se comete el error en el código. Puede tratarse

de un error cometido al comienzo (al programar por primera vez la aplicación) o

puede aparecer como resultado de alguna modificación, actualización o aumento de

funcionalidades.

Descubrimiento: sucede cuando se descubre la vulnerabilidad. Esta etapa ocurre

cuando el software está desplegado. El descubrimiento puede producirse por

inspección del código, como parte de una auditoría o simplemente por terceras

personas que por casualidad o de forma sistemática encuentran la vulnerabilidad.

Publicación de la vulnerabilidad: la vulnerabilidad se publica en Internet. Si la

vulnerabilidad es descubierta por el creador del software puede posponer la

publicación hasta la existencia de un parche que la corrija, de forma que se

minimicen los riesgos. No obstante, muchas vulnerabilidades son descubiertas por

terceros que informan al mismo tiempo al creador como al resto del mundo.

Aparición de un parche: el creador del software, o un tercero en el caso de

código abierto, publica un parche que corrige el error de la vulnerabilidad.

Publicación de un parche: el parche se publica para que todos los sistemas

afectados se actualicen.

Automatización de la explotación: la vulnerabilidad se automatiza y se publican

exploits más sencillos de usar que atacan dicha vulnerabilidad. Estos programas

pueden hacer uso del ataque de forma automática.

Análisis de vulnerabilidades:

Un programa inseguro o vulnerable es aquél que contiene una o varias

vulnerabilidades. Un atacante hace uso de esas vulnerabilidades mediante un

Page 148: Seguridad Informatica en 8 TEMAS

exploit que genera una entrada maliciosa. Esa entrada maliciosa puede tener

diferentes consecuencias dependiendo de la vulnerabilidad como la manipulación de

otros sistemas o el envío al atacante de información sensible.

Uno de los ataques más conocidos que utilizan estos problemas es el

desbordamiento de buffer (buffer overflow). Se produce cuando un área de

memoria dónde se pretende almacenar la entrada de usuario no es lo

suficientemente grande para contenerlo y provoca que se sobrescriban regiones de

memoria adyacentes. La escritura en esta zona adyacente puede ser imprevisible,

pero bien realizado, este ataque puede permitir al atacante obtener acceso al

sistema, cerrar la aplicación o hacer que el sistema realice operaciones no

previstas.

DESARROLLO SEGURO

Hay varias técnicas para minimizar el impacto de las vulnerabilidades.

En términos generales, la seguridad debe estar incluida en el ciclo de vida de un

programa desde el diseño hasta su retirada.

Los principios básicos de deben seguirse en el desarrollo de una aplicación para

evitar estas vulnerabilidades son:

Mantener el diseño de la aplicación simple: porque es más fácil de

auditar y reparar.

Código abierto: siempre que sea posible, será recomendable proporcionar

el código para beneficiarnos del conocimiento común

Uso escalonado de los privilegios: hay que tomar como norma, el usar

siempre los menores privilegios posibles, elevándolos únicamente cuando

sea necesario y volviendo a la situación anterior cuando deje de serlo

Valores seguros por defecto: evitar, por ejemplo, que un usuario esté

autenticado hasta que verifiquemos la contraseña.

Page 149: Seguridad Informatica en 8 TEMAS

Reutilización de código: si un código se probó y se sometió a distintos

entornos, y funcionaba correctamente, esa es la mayor garantía para

volverla usar.

Elección del lenguaje de programación idóneo: existen lenguajes que

realizan controles en tiempo de ejecución para evitar un desbordamiento de

búfer. Por ejemplo ADA, dispone de comprobación en tiempo de ejecución, e

incluso, en tiempo de compilación. Por ejemplo Java, comprueba el tamaño

de todas las cadenas…

Utilización de librerías seguras: existen librerías (añadidos de

información) que me permiten comprobar si estamos dando pie a efectos

indeseados como desbordamientos.

Protección del espacio de ejecución: se refiere al hecho de ejecutar los

programas en un entorno, en el que si se produce una inserción de código

de forma no autorizada, que se genere una excepción.

...

SEGURIDAD EN LENGUAJES DE PROGRAMACIÓN

Cuando se utiliza un lenguaje de programación para llevar a cabo un desarrollo, es

necesario tener en cuenta cuáles son las características de seguridad que éste nos

proporciona. Actualmente existen lenguajes que incorporan un gran número de

funcionalidades, tales como gestión automática de memoria o comprobación de

tipos de datos; y otros lenguajes que no han sido diseñados teniendo en cuenta la seguridad de forma explícita y, por tanto, las opciones de seguridad que incorporan

son escasas.

Por otra parte, para desarrollar una aplicación segura no basta con entender y

conocer las funciones de seguridad del lenguaje utilizado. Como veremos, para ello hay que analizar la aplicación, su entorno y sus componentes e incorporar la

seguridad en todas las fases del proceso de desarrollo: desde la definición de la

aplicación, hasta su despliegue y durante su funcionamiento.

Un lenguaje de programación es un lenguaje artificial diseñado para dar instrucciones a una máquina (ordenador, teléfono móvil, etc.) La mayoría de estos

lenguajes tienen una especificación escrita que define su sintaxis y semántica.

Page 150: Seguridad Informatica en 8 TEMAS

Los lenguajes más populares son:

En lo que se refiere a seguridad, los lenguajes pueden clasificarse básicamente

atendiendo a si han sido diseñados considerando la seguridad o no. A los primeros

se les denomina lenguajes con seguridad incorporada (built-in security) y

proporcionan funciones tales como comprobación del código o prevención de accesos ilegales a memoria.

SEGURIDAD EN JAVA

Desde su creación, el entorno Java ha tenido presentes los problemas de seguridad

y ha definido un modelo para controlar y limitar el acceso a los recursos desde los

programas y aplicaciones. El modelo de seguridad ha ido evolucionando con las

distintas versiones del Entorno de Desarrollo Java (de aquí en adelante denominado

Page 151: Seguridad Informatica en 8 TEMAS

JDK, por sus siglas en inglés), pasando de un modelo muy sencillo y restrictivo, el

del JDK 1.0, a uno más complejo y flexible.

El proceso de despliegue de una aplicación en Java consta de varios pasos. Primero

se escribe el código del programa según la sintaxis del lenguaje. A continuación,

este código es compilado para generar ficheros en formato binario (Java bytecode)

que serán posteriormente interpretados y ejecutados. Durante el proceso se

realizan verificaciones en busca de problemas, tanto en tiempo de compilación

como en tiempo de ejecución, para asegurar que solamente se ejecuta código Java

legítimo y que cumple una serie de reglas.

Durante la compilación se efectúa la comprobación de tipos, que ayuda a detectar

errores lo antes posible en el ciclo de desarrollo. Java obliga, además, a la

declaración explícita de métodos, reduciendo así las posibilidades de error.

Los programas Java se ejecutan en un entorno protegido conocido como la máquina

virtual de Java o JVM. La JVM es una de las piezas fundamentales de la plataforma

Java y se sitúa en un nivel superior al Hardware del sistema sobre el que se

pretende ejecutar la aplicación, actuando como un puente que entiende tanto el

bytecode, como el sistema sobre el que se pretende ejecutar. Así, cuando se

escribe una aplicación Java, se hace pensando que será ejecutada en una máquina

virtual Java en concreto, siendo ésta la que en última instancia convierte de código

bytecode a código nativo del dispositivo final.

La seguridad en Java se basa en tres componentes fundamentales del entorno de

ejecución: el Cargador de Clases (Class Loader), el Verificador de Archivos de

Clases (Class File Verifier) comprueba el formato de los fragmentos de código y

aplica una serie de reglas para detectar fragmentos de código ilegal y el Gestor de

Seguridad (Security Manager) que controla el acceso a los recursos en tiempo de

ejecución.

Por otro lado, la arquitectura de seguridad de Java incluye una serie de librerías de

programación (Application Programming Interfaces, APIs), así como herramientas e

implementaciones de los mecanismos, protocolos y algoritmos de seguridad más

Page 152: Seguridad Informatica en 8 TEMAS

utilizados. Las APIs de Java abarcan criptografía, infraestructura de clave pública

(Public Key infraestructure, PKI), autenticación, comunicaciones seguras y control

de acceso.

SEGURIDAD EN C

El lenguaje de programación C, a diferencia de Java, no dispone de sistemas de

control automáticos y características de seguridad incorporadas en el lenguaje, sino

que la seguridad depende casi exclusivamente de la experiencia del programador.

De hecho, el lenguaje C ocupa un lugar especial en la historia de Internet porque

muchas de sus vulnerabilidades se deben al mismo motivo por el que es tan

popular: el acceso sin restricciones al hardware del equipo y el rendimiento que

esto conlleva.

Así, C no incluye mecanismos de gestión de memoria, verificación de código,

comprobación de tipos, etc. Sin embargo, para desarrollar programas seguros en C,

pueden utilizarse herramientas externas, como depuradores o implementaciones

libres de funciones criptográficas. Es decir, en lugar de un modelo de seguridad

implícito, pasamos a un modelo explícito. A continuación se describen algunas de

las herramientas más conocidas para estos propósitos:

Valgrind: herramientas de código abierto para depurar programas, mejorar

el rendimiento y detectar errores de memoria

OpenSSL: herramienta de código abierto que contiene una serie de herramientas de administración y de librerías relacionadas con la

criptografía.

SEGURIDAD EN OTROS LENGUAJES

Como mencionábamos al principio, existen lenguajes de programación que

incorporan la seguridad de forma implícita, incluyendo paquetes criptográficos,

funciones automáticas para asistir en la generación de código seguro, etc.; y otros

que no han sido diseñados teniendo en cuenta estas consideraciones. En el primer

grupo, además de Java, algunos ejemplos son:

Page 153: Seguridad Informatica en 8 TEMAS

Perl, en su capa de seguridad perlsec, incluye un modo automático

denominado Taint Mode que realiza comprobaciones de seguridad.

ADA, fue diseñado con la seguridad en mente y con una filosofía orientada a la reducción de errores comunes y difíciles de descubrir. Para ello se basa en

un tipado muy fuerte y en comprobaciones en tiempo de ejecución

(desactivables en beneficio del rendimiento).

Ruby, que incluye características de seguridad como parte de la

especificación del lenguaje para realizar comprobaciones de código externo.

.NET, que en realidad no es un lenguaje sino un framework (entorno de trabajo) de Microsoft que soporta varios lenguajes, proporciona un gran

número de clases y servicios útiles que permiten a los programadores

escribir de manera sencilla código de seguridad.

Estas clases y servicios permiten también que los administradores del sistema

personalicen el acceso del código a los recursos protegidos. Asimismo, el motor de

tiempo de ejecución y .NET Framework proporcionan clases y servicios útiles que

facilitan el uso de criptografía y la seguridad basada en funciones.

Por otro lado, como ejemplos de lenguajes que no incorporan seguridad de forma

implícita, podemos citar los siguientes:

C++.

Python.

Visual Basic.

En este último caso, no quiere decir que no se puedan crear programas seguros,

sino que hay que prestar más atención en la fase de implementación. Además,

existe una gran cantidad de recursos externos, como herramientas de depuración,

que pueden asistir al desarrollador en la tarea de escribir código seguro. El uso de

estos recursos, junto con una buena metodología de programación es importante

para evitar aplicaciones con carencias de seguridad. De hecho, existen numerosas

guías de "prácticas recomendadas" para la mayoría de los lenguajes de

programación.

Page 154: Seguridad Informatica en 8 TEMAS

SEGURIDAD EN APLICACIONES

Una aplicación es un programa informático que utiliza un usuario que permite

realizar una o más de una tarea específica. Dependiendo de la finalidad de esa

aplicación se las suele clasificar, así hay aplicaciones web, aplicaciones para correo

electrónico, etc.

La cuestión de la seguridad hay que tenerla en cuenta desde que se inicia el

proceso, dado que por lo general añadirlo a posteriori no es factible. Para entender

esto, veamos primero cual es el ciclo de desarrollo de una aplicación:

Fase 1.Pensar el diseño y análisis de los requisitos (Que va a hacer y

cómo). El resultado final de esta etapa es lo que se conoce como SRD

(Software Requeriments Document).

Fase 2.Diseño. Ya sabemos lo que queremos hacer y ahora tenemos que

plantear como hacerlo. Estructuras de datos a utilizar, módulos en los que

se van a dividir el sistema, interfaz con el usuario. Aquí se definen con

detalle entidades y relaciones de las bases de datos, se seleccionará el

lenguaje de programación, las librerías, configuraciones hardware, redes…

Fase 3.Desarrollo. En este momento es cuando se programa y se crea el

código fuente. Según se va realizando el código, se va depurando. Esta

etapa se suele solapar con la fase siguiente (fase de pruebas)

Fase 4.Fase de pruebas. Se testea la aplicación para comprobar errores de

diseño o programación.

Fase 5.Operación y mantenimiento. Una vez que la aplicación está en uso,

comienza una fase en la que debemos ir corrigiendo y mejorando aquellas

cuestiones de la aplicación, muchas veces típicas de su evolución.

Para que una aplicación sea segura, esta aplicación debe tener capacidad de

proporcionar seguridad tanto a la aplicación en sí, como en cuanto a los datos que

va a manejar.

Fase 1.Pensar el diseño y análisis de los requisitos: es donde se especifican

los requisitos de seguridad que se han de satisfacer. Para ello, se puede

Page 155: Seguridad Informatica en 8 TEMAS

utilizar un estándar que es el “CC” (Common Criteria.ISO/IEC 15408:1999).

Este estándar se suele emplear como base para redactar 2 documentos:

o Perfil de protección (Protection Profile o PP): Define las propiedades

de seguridad basándose en un análisis de riesgos

o Objetivo de seguridad (Security Target o ST): Describe los requisitos

de seguridad que desea alcanzar una aplicación como premisa para

combatir las amenazas.

Fase 2.Diseño: el hecho de que esté bien diseñado va a significar que

podemos reducir la probabilidad de que se produzca un ataque pero nunca

vamos a conseguir que sea invulnerable. Por lo general todos los datos

tienen algún valor, entonces habría que saber graduar ese valor (básico,

sensible…) para así darle el nivel de seguridad adecuado. Ese nivel de

seguridad se lo daremos eligiendo un protocolo de seguridad adecuado, un

algoritmo de cifrado adecuado o librerías que ya lo incluyan.

Fase 3.Desarrollo: En esta fase se programan los servicios de seguridad que

habíamos diseñado en la fase anterior. La programación hay que llevarla a

cabo teniendo en cuenta las características de seguridad del lenguaje que

hayamos elegido y sería recomendable:

o Efectuar un control de la entrada: validar todos los datos que son

el “imput” de la aplicación para verificar si no han sido alterados, o

incluso, si son legales.

o Controlar la gestión de memoria: controlar el desbordamiento de

búfer

o Controlar la estructura interna: es decir, trabajar con privilegios

mínimos, simplicidad en el diseño, considerar valores por defecto

seguros, facilitar el uso de esa aplicación…

o Controlar las llamadas a recursos externos: cuando la aplicación

tenga enlaces con información de otras procedencias

Page 156: Seguridad Informatica en 8 TEMAS

o Efectuar un control de la salida: que la participación del usuario

final sea amena y fácilmente legible.

Fase 4. Fase de pruebas: Las aplicaciones hay que probarlas y es la única

forma de comprobar que realmente están haciendo para lo que fueron

diseñadas. Existen muchas herramientas que me van a permitir comprobar

fallos potenciales de seguridad.

Fase 5. Operación y mantenimiento: Una vez que se utiliza la aplicación, es

cuando van apareciendo las carencias y las nuevas necesidades. Por ello

resulta interesante vigilar, recoger las opiniones de los usuarios, efectuar

auditorías y leerse los ficheros de eventos (log)

Page 157: Seguridad Informatica en 8 TEMAS

TEMA 8: ELEMENTOS DE SEGURIDAD EN REDES La seguridad perimetral se basa en proteger el sistema informático de una

empresa/organización de lo que venga de el exterior. Funciona como una coraza

para los elementos sensibles que puedan ser atacados. Lo más normal es que se

quiera unir una red interna (intranet) con una red pública que suele ser Internet,

pero añadiendo unos controles y unas limitaciones sobre que podemos o no hacer.

Para facilitar la administración, lo que se suele es establecer un único punto de

unión entre esas dos redes (Intranet- Internet), donde se aplicarán las políticas de

gestión y de control.

La seguridad perimetral se puede definir o entender como:

Poder rechazar conexiones a servicios sensibles

Supone permitir solo cierto tipo de tráfico, o solo entre ciertos nodos (host)

Proporcionar un único punto de conexión con el exterior

Redirigir el tráfico entrante a los sistemas adecuados dentro de la red

Ocultar sistemas o servicios comprometidos o vulnerables que no sean

fáciles de proteger

Ocultar información sobre la topología de la red, los dispositivos que

tenemos colgados, las cuentas de los usuarios, etc.

INTRODUCCIÓN A LOS CORTAFUEGOS (FIREWALL)

Un cortafuegos es un dispositivo que controlará el flujo de información entre dos o

más redes, permitiendo bloquear o no el tráfico en base a una serie de reglas.

Estas reglas estarán establecidas en función de la política de seguridad de la

empresa.

Un cortafuegos rara vez se basa en una sola técnica, por lo general se trata de

distintas técnicas para resolver distintos problemas. Así, lo normal es que un

cortafuegos emplee una combinación de filtrado de paquetes y de servidores proxy.

Los cortafuegos se instalan en el punto donde la red interna se conecta con

internet. Un cortafuegos no puede proteger contra todo, nos protege contra

amenazas de la red, pero siempre habrá una amenaza fuera de su control, por

ejemplo no nos va a poder proteger:

De un ataque interno

Conexiones que no pasan por el

Amenazas desconocidas

Los virus: aunque los cortafuegos revisan todo el tráfico que entra, la

revisión por lo general, se realiza a nivel de las direcciones lógicas y de los

números de puerto pero no se revisan los datos. Por ello, la protección de

los virus por un cortafuegos es muy pobre.

TIPOS DE CORTAFUEGOS

Una forma de clasificarlos es en función en que capas del modelo OSI funcionan:

Cortafuegos a nivel de red

o Trabajan en las capas 2, 3 y/o 4

o Suelen implementarse en los routers (Símil: Guarda urbano, deja

pasar según de donde viene y a donde va)

Cortafuegos a nivel de sesión

Page 158: Seguridad Informatica en 8 TEMAS

o Trabajan en las capas 3, 4 y/o 5: se conoce como filtrado de

paquetes. Permitirá detectar el establecimiento de una sesión (Por

ejemplo FTP) y mostrar una ventana para que se autorice o no, los

paquetes que se derivan de esa conexión.

Cortafuegos a nivel de aplicación

o Trabajan en las capas 5, 6 y/o 7: Determinan si a los paquetes de la

capa de aplicación les permiten efectuar una conexión, verificando

todos los segmentos que lo constituyen, su secuencia (si están

ordenados o no) y efectuando también un control de autenticación. .

La práctica totalidad de los cortafuegos suelen incluir el servicio de proxy

(intermediario/apoderado). Tanto es así que por lo general se suele confundir los

proxys con los cortafuegos.

Un proxy es una aplicación o servicio específico que controla el tráfico de un

determinado protocolo y lleva un registro detallado de todo lo relativo al mismo.

En función de que, en capa trabajen los cortafuegos, harán su trabajo de forma

más rápida. Por tanto si trabajan en una capa muy elevada, tardarán más al tener

que controlar un mayor número de controles.

FILTRADO DE PAQUETES

La unidad básica de información en TCP/IP son los paquetes:

Cabecera Área de Datos

El filtrado de paquetes me permite controlar que información puede fluir desde y

hacia una red. Por medio de filtros dejaré pasar o bloquearé un paquete. Para

realizar el filtrado de paquetes se establecen unas reglas en función de la política

de seguridad de la empresa. El filtrado de paquetes se puede hacer en un router o

en un anfitrión. Cuando se realiza en un router, hablamos de un “Enrutador de

protección” (Screening router). La información a filtrar se obtiene de la cabecera de

los paquetes.

La información que se vigila normalmente es:

Dirección de origen y destino del paquete de la capa 3

Enrutador de

protección

(Screening router)

Red interna

Page 159: Seguridad Informatica en 8 TEMAS

El protocolo (TCP/UDP/ICMP…De capas 3 y 4)

Puertos de origen y destino de la sesión

La interfaz física del cortafuegos, es decir, por donde va entrar o salir el

paquete

Para configurar el filtrado de paquetes lo que hacemos es elaborar un conjunto de

reglas que suelen ser de tres tipos:

Aceptar (Accept)

Rechazar (Deny o Drop)

Descartar (Discard o Stealth)

La regla Descartar se diferencia de la de Rechazar en que los paquetes afectados se

eliminan “silenciosamente” (sin enviar mensaje al origen), con el objetivo de que no

se revele la presencia del cortafuegos.

Con el filtrado de paquetes podemos permitir o negar un servicio pero lo que no

vamos a poder hacer es identificar a los usuarios, ni a los ficheros, ni tampoco

proteger operaciones individuales dentro de un servicio. Para configurar un router

con filtrado de paquetes, lo primero que debemos decidir es que servicios vamos a

permitir o negar y después, convertir las decisiones en reglas sobre los paquetes.

Hay que tener en cuenta que los protocolos, por lo general, son bidireccionales. Es

decir, que cuando alguien hace una petición, provoca una respuesta en el

destinatario. Entonces, cuando diseñemos las reglas, hay que tomarlo en

consideración porque de nada valdría permitir por ejemplo paquetes TelNet si no

permitimos también que esos paquetes regresen a la conexión con el despliegue

pantalla.

Por el contrario, de nada sirve bloquear media conexión. Muchos ataques pueden

llevarse a cabo si los atacantes pueden introducir los paquetes en nuestra red,

aunque no puedan producir respuesta. Esto es debido, a que muchas veces, las

respuestas son predecibles.

Las reglas de filtrado crean una especie de tabla en la que hay unas condiciones y

ante estas unas acciones.

Regla Dirección

de Origen

Puerto

de

Origen

Dirección

de Destino

Puerto

de

Destino

Acción Descripción

1 Cualquiera Cualquiera 192.168.1.0 >1023 Aceptar

Permite que pasen los

paquetes de retorno de

una conexión originada

en la red interna

2 192.168.1.1* Cualquiera Cualquiera Cualquiera Rechazar

Impide las conexiones

directas del

cortafuegos* con

cualquier host.

3 Cualquiera Cualquiera 192.168.1.1* Cualquiera Rechazar

Impide las conexiones

directas desde cualquier

host al cortafuegos

4 192.168.1.0 Cualquiera Cualquiera Cualquiera Aceptar Permite cualquier

Page 160: Seguridad Informatica en 8 TEMAS

conexión cara el exterior

desde un host de la red

interna

5 Cualquiera Cualquiera 192.168.1.2 SMTP Aceptar

Permite a cualquier

usuario externo acceder

al servicio de correo

electrónico interno

6 Cualquiera Cualquiera 192.168.1.3 HTTP Aceptar

Permite a cualquier

usuario externo acceder

al servicio web interno

7 Cualquiera Cualquiera Cualquiera Cualquiera Rechazar

Rechaza cualquier regla

que no haya sido

definida directamente

La regla número 7, se debería poner siempre como última regla en cualquier

configuración.

VENTAJAS E INCONVENIENTES FILTRADO DE PAQUETES

Ventajas:

Tener un Enrutador de protección (Screening router) puede ayudar a

proteger toda la red

El filtrado de paquetes no necesita conocimiento ni cooperación de los

usuarios, es decir, no tenemos que enseñarle como funciona

Inconvenientes:

Filtrado por dirección. Se suele filtrar por la dirección de origen pero éstas,

pueden ser falsas y tendríamos que tener algún método de autenticación a

mayores para saber si realmente se trata de quién dice ser.

Las reglas de filtrado suelen ser difíciles de configurar y de probar.

Las capacidades de filtrado están incompletas (hay cosas que queremos

hacer pero no podemos expresar)

Existen protocolos no diseñados para el filtrado de paquetes, sobre todo a

nivel de UNIX.

No se dispone de un sistema de monitorización.

Conclusión: El filtrado de paquetes no es efectivo como única medida de

seguridad, pero si es práctico como una primera barrera.

CORTAFUEGOS CON INSPECCIÓN DE ESTADO (STATEFUL INSPECTION

FIREWALL o CIRCUIT LEVEL FIREWALL)

Cuando queremos establecer una conexión con un host remoto, se establece un

proceso de conexión ya conocido anteriormente (SYN, SYN/ACK, ACK) y a su vez

hay una apertura de puerto en el host que solicita información > 1023 y < 16384,

así como el host destino utilizará para responder un puerto conocido < 1024.

Por esto, los cortafuegos que filtran paquetes deben permitir el tráfico entrante

para puerto > 1023 y < 16384 para conceder el retorno de la información

solicitada. Esto supone un gran riesgo y que un cortafuegos con inspección de

estado puede resolver.

Page 161: Seguridad Informatica en 8 TEMAS

Estos cortafuegos, además de filtrar paquetes, validan que las respuestas

correspondan a una petición o que las respuestas pertenecen a un circuito virtual

ya establecido entre el host interno y el host remoto. Para ello construyen una tabla

con la información de todas las sesiones abiertas y los puertos que utilizan dichas

sesiones. Tampoco van permitir tráfico entrante de paquetes que no correspondan

con esas sesiones y puertos.

En estas tablas se suele recoger la siguiente información:

Identificador de la sesión: Capa de sesión (5)

El estado de la conexión: Negociando (handshake), Establecida o

Cerrándose. Capa transporte (4)

Número de secuencia del último paquete: Capa de transporte (4)

La dirección IP de origen: Capa de red (3)

La dirección IP de destino: Capa de red (3)

La interfaz por la que van a llegar los paquetes: Capa Física (1)

La interfaz por la que van a salir los paquetes (si procede): Capa Física (1)

A la hora de configurar estos cortafuegos con inspección de estado, tendremos en

cuenta el protocolo con el que vamos a trabajar así:

Protocolo IP: En el caso del protocolo IP se examina el bit ACK para

determinar si se está iniciando una conexión o bien si es el paquete

siguiente una vez ya establecida. Desde el punto de vista del filtrado de

paquetes, el hecho de que se tengan que fragmentar, solo en el primer

fragmento se incorpora la información sobre el protocolo de la capa superior.

Por lo tanto, el filtrado solo se puede hacer en el primer paquete.

El destinatario guarda los fragmentos en memoria hasta que recompone el

paquete y es por ello por lo que los atacantes aprovechan esta característica

para realizar un ataque por negación de servicio.

Ante este ataque no hay nada que se pueda hacer. Lo que si se puede hacer

es filtrar los mensajes ICMP para que el atacante no reciba información de lo

que está ocurriendo.

Protocolo TCP: Reconocer los paquetes TCP de inicio de conexión me

permite aplicar una política para que un cliente interno se conecte a un

servidor externo, pero evitando lo contrario, es decir que un cliente externo

se conecte a un servidor interno. Para hacer esto se permite que los

paquetes de inicio de conexión solo salgan desde los clientes externos pero

no se va a permitir su entrada.

Protocolo UDP: Ya sabemos que los datagramas UDP son todos ellos

independientes (no forman parte de un circuito virtual y cada uno llega a su

destino como puede). Algunos cortafuegos tienen la capacidad de recordar

los paquetes UDP que salen para solo permitir entrar los paquetes de

respuesta correspondientes.

Protocolo ICMP: El protocolo ICMP se utiliza para controlar IP e informar

de todo lo que sucede. Los cortafuegos pueden filtrar los paquetes ICMP en

función de su tipo, por ejemplo, impedir que se divulgue un mensaje de

error..

Page 162: Seguridad Informatica en 8 TEMAS

SISTEMAS PROXY

Un servidor proxy es un programa que se ejecuta en el cortafuegos anfitrión. Este

programa recoge las solicitudes de los usuarios para salir y, si están acordes a la

política de seguridad del sitio, envían esa información al servidor (real). Los

servidores proxy, lo que realizan son conexiones substitutas y actúan como una

compuerta a los servicios, por esta razón también se les conoce como “compuertas

a nivel de aplicación” y a las máquinas en los que están instalados se les conoce

como “pasarelas de aplicación”.

Un servidor proxy es una solución software. Los servidores proxy solo son efectivos

cuando se utiliza algún método para restringir el tráfico entre clientes y servidores

como por ejemplo cuando se utiliza con un enrutador de protección.

Normalmente el servidor proxy se monta en lo que se conoce como un anfitrión

bastión.

Page 163: Seguridad Informatica en 8 TEMAS

VENTAJAS:

La principal ventaja es que vamos a poder monitorizar y contabilizar toda la

actividad del sistema de comunicaciones.

INCONVENIENTES:

Los servidores proxy no funcionan para algunos servicios como por ejemplo

un Talk o Chat.

Los servidores proxy no nos protegen de todas las acciones de los

protocolos, porque hay protocolos que proporcionan operaciones inseguras

Los servicios proxy puede requerir servidores diferentes para cada servicio

porque tiene que comprender el protocolo para decidir lo que permite y lo

que no permite.

Los servicios proxy aparecen con posterioridad a los servicios “no proxy”. Es

decir, que suele existir un retraso entre la aparición de un servicio y la

disponibilidad de un servidor proxy para él. Hasta que aparezca habría que

ponerlo fuera del cortafuegos, lo cual, es muy peligroso.

TIPOS DE SERVIDORES PROXY

Proxy a nivel de aplicación: “Sabe” sobre esa aplicación, es decir, conoce

los comandos, la operativa…

Proxy a nivel de circuito: Crean un circuito entre el cliente y el servidor y

no interpreta el protocolo de la aplicación

A menudo se suelen utilizar otros términos para definir a los proxy que acabamos

de ver, que son:

Dedicados: Cuando sirven para un solo protocolo

Genéricos: Cuando sirven para varios protocolos, lo cual equivaldría a nivel

de circuito

Existe también otro tipo de proxy llamados “inteligentes”, que permiten realizar

más cosas que simplemente transmitir peticiones (como por ejemplo, llevar una

caché). Es más normal que sea inteligente un proxy a nivel de aplicación que a

nivel de circuito.

El cortafuegos más utilizado a nivel empresarial es el “checkpoint firewall-1” y está

catalogado como cortafuegos de nivel de estado.

SERVICIOS ADICIONALES PROPORCIONADOS POR LOS

CORTAFUEGOS

NAT (Network Address Translation): Es una herramienta muy efectiva

para esconder las direcciones de la red interna y también para que los

equipos salgan a Internet con un mínimo de direcciones públicas.

Existen 3 estrategias para implementar el NAT: o Traducciones de direcciones de red estáticas: cada dirección IP

privada tiene su pública. En este caso el cortafuegos tiene una tabla

con esa información.

o Traducción de direcciones de red oculta: se muestra cuando

todos los equipos utilizan la misma dirección externa. Esto es un

Page 164: Seguridad Informatica en 8 TEMAS

problema para los cortafuegos porque tienen que utilizar su propia

dirección para proteger todos los paquetes, lo cual hace que quede

en evidencia.

o Traducción de puertos (PAT): A nivel de los cortafuegos es una

ventaja ya que evita utilizar su dirección. El cortafuegos lleva una

tabla en la cual se pone la dirección IP y los puertos involucrados que

se pueden generar aleatoriamente o de forma secuencial.

DHCP (Dynamic Host Configuration Protocol): Es un servicio de

asignación dinámica de direcciones IP y esto también lo pueden incluir los

cortafuegos.

VPN (Virtual Private Network): Permiten extender a las comunicaciones

externas la seguridad que tenemos en nuestra red. Existen diferentes

formas para construir una VPN:

o PPTP

o L2TP/IPSec

La razón para colocar una VPN en el cortafuegos es que, si no lo hiciésemos

así, el tráfico cifrado entrante y saliente que genera el VPN no podría ser

inspeccionado.

MODELADORES DEL ANCHO DE BANDA (Bandwidth Shapers o

Throttlers): Está muy de moda hoy en día y que supone ubicarlos entre la

red interna y la salida a internet (por ello se sitúan en un cortafuegos) para

realizar funciones por medio de una serie de reglas de organización del

tráfico. Genera unas colas donde va transfiriendo los distintos tipos de

tráfico en función de la prioridad. A la hora de dar salida a ese tráfico,

procesa primero los de la cola que tienen más prioridad.

INSPECCIÓN DE CONTENIDOS: Este es uno de los servicios más

interesantes que ofrecen los cortafuegos y consiste en realizar una

inspección de contenido en el tráfico HTTP y en el SMTP. Esto supone

controlar:

o Los Applets de Java

o Los ActiveX

o Los Scripts (guiones)

o Los virus

o El contenido de ciertos ficheros (sobre todo los

comprimidos)

o Bloqueo en función de las direcciones, de palabras claves o

determinados comandos de las aplicaciones.

BALANCEO DE CARGA: Uno de los mayores problemas de los cortafuegos

es la latencia (tiempo que consume de recursos por el simple hecho de

utilizarlo). A nivel empresarial se suele ofertar como solución el balanceo de

carga para mejorar el rendimiento y ofrecer alta disponibilidad. Ello se

consigue utilizando dos o más cortafuegos.

INCLUIR IDS (Intruder Detection System. Sistema de detección de

intrusos): Un IDS es un sistema que permite generar alertas y conocer

cuando alguien intenta penetrar en el sistema, o cuando ya lo ha

conseguido.

Page 165: Seguridad Informatica en 8 TEMAS

ARQUITECTURA DE CORTAFUEGOS

Cuando hablamos de tomar decisiones a la hora de diseñar o configurar un

cortafuegos, nos encontramos con dos términos:

Políticas: Nos planteamos la política de seguridad de la organización

que nos encaminará en este proceso, porque es donde estará explicito todo

lo que queremos conseguir. Otra cuestión relacionada con la política sería el

nivel de control que desea obtener la organización, es decir, como se va a

implementar las reglas en el cortafuegos (que se va a permitir y que se va a

denegar). Por otro lado está el hecho de cuanto queremos gastar

teniendo en cuenta lo que queremos proteger.

Técnicas: La primera decisión técnica a tener en cuenta es la localización

del cortafuegos. Una vez escogida, debemos pensar en qué elemento/s se

van utilizar como bastión*. Cuando más simple sea el host bastión y menos

servicios ofrezca, es más fácil su mantenimiento y por lo tanto será mayor

su seguridad.

*Por máquina o host bastión (también se denominan gates) se conoce a un

sistema especialmente asegurado, pero en principio vulnerable a todo tipo de

ataques por estar abierto a Internet, que tiene como función ser el punto de

contacto de los usuarios de la red interna de una organización con otro tipo de

redes. El host bastión filtra tráfico de entrada y salida, y también esconde la

configuración de la red hacia fuera.

Existen diversas formas de configurar un cortafuegos:

Arquitectura de anfitrión con doble acceso: una arquitectura de

anfitrión con doble acceso se construye alrededor de un ordenador anfitrión

que tiene por lo menos 2 interfaces de red. Al tener 2 interfaces de red

podría actuar como router pero se desactiva la función de enrutamiento.

Es tan sencillo que solo nos puede proporcionar servicios tipo proxy y

requiere mucho trabajo si queremos realmente aprovechar todas sus

posibilidades

Page 166: Seguridad Informatica en 8 TEMAS

Arquitectura de anfitrión de protección: Proporciona servicios en un

anfitrión conectado solo a la red interna, utilizando un router independiente

para el filtrado de paquetes.

El anfitrión bastión está colocado en la red interna y es el único con el que

los anfitriones en internet pueden abrir ciertas conexiones. La principal

desventaja de esta arquitectura es que si un atacante logra penetrar en el

anfitrión bastión, ya no hay más impedimento para que pueda llegar a los

elementos restantes de la red.

Arquitectura de subred de protección: Esta arquitectura también se

conoce como De-Militarize Zone (DMZ) o perímetro DMZ y es la más

empleada hoy en día. El término zona desmilitarizada hace referencia a esa

franja de terreno neutral que separa las dos Coreas y viene de la guerra de

Corea en 1953. Supone agregar una capa adicional de seguridad a la

arquitectura de anfitrión de protección.

Page 167: Seguridad Informatica en 8 TEMAS

La forma más sencilla es disponer de 2 Routers. Ambos Routers estarán

conectados a la red del perímetro. Al que llamamos exterior está conectado

a la red del perímetro y a una red exterior que por lo general es Internet. El

Router Interior está conectado a la red del perímetro y a la red interior. En

la red de perímetro vamos a poner al bastión y también podríamos poner

sistemas que requieran un acceso controlado como una batería de módems

o el servidor de correo, que son los únicos visibles desde fuera de nuestra

red.

Para que un atacante llegue a la red interna, tendría que ser capaz de pasa

por ambos routers.

o Red de perímetro: Es una capa adicional de seguridad que está

ubicada entre la red externa (por lo general Internet) y la red

interna. Como el tráfico de la red interna no pasa por la red de

perímetro, aunque lleguen al anfitrión bastión, no podrán pasar más

allá debido al segundo router de protección que tenemos

o Anfitrión bastión: Es el punto de contacto para lo que nos llega

desde la red externa, por ejemplo: las sesiones de correo-e que se

establecen para entregar mensajes, las conexiones FTP que entran

en el FTP que tengamos instalado, las consultas que llegan al DNS,...

La mayoría de funciones que realiza el bastión suele ser para actuar

como proxy para distintos servicios.

o Enrutador interior: Es conocido también como router de choque.

Protege a la red interna de la red de perímetro y de la red externa

(Internet). Este router es el que realiza la mayor parte del filtrado de

paquetes para el Firewall. Permite que ciertos servicios seleccionados

salgan de la red interna hacia fuera y limita los servicios entre el

bastión y la red interna para así también limitar el número de

máquinas que puedan ser atacadas.

o Enrutador exterior: Es conocido también como router de acceso.

Protege tanto a la red de perímetro como la red interna. En la

práctica estos routers tienden a permitir que casi cualquier cosa salga

a la red de perímetro, pero lo que protege es la entrada, es decir, lo

que va a ir a parar al host bastión y al router interno.

VARIACIONES EN LAS ARQUITECTURAS DE CORTAFUEGOS

Existen 2 grandes variaciones:

Utilización de múltiples anfitriones bastiones: Querríamos usar esta

opción por cuestiones de rendimiento, cuestiones de redundancia o por la

necesidad de separar datos o servidores por cuestiones de seguridad.

Para que el rendimiento no se vea mermado por las acciones de los usuarios

externos, podemos utilizar un anfitrión bastión para gestionar lo que es

importante para los usuarios internos como por ejemplo, el correo-e, proxy…

Mientras que en otro anfitrión bastión podríamos poner servicios que

proporciona internet (como un FTP anónimo…). También por razones de

rendimiento se pueden instalar varios anfitriones bastiones con los mismos

servicios.

Page 168: Seguridad Informatica en 8 TEMAS

Variantes:

o Función de Routers y Anfitrión bastión

1. Fusión Router interior y exterior: Tendríamos que disponer de

un Router con suficiente capacidad y flexibilidad para poderlos

hacer funcionar. Por cada interfaz habría que especificar las

reglas o filtros de entrada y los de salida. En una interfaz del

router se conecta la red del perímetro y en la otra, la red

interna. El hecho de tener un solo router lo hace más

vulnerable.

2. Fusión del anfitrión bastión y el router exterior: En este caso

no se crea una nueva vulnerabilidad significativa aunque se

expone más al anfitrión bastión que solo estaría protegido por

el filtrado, si es que lo hay, que realice en la interfaz.

Page 169: Seguridad Informatica en 8 TEMAS

3. Fusión del anfitrión bastión y router interior: Esta opción,

aunque es posible, no es buena idea ya que ponemos en

peligro la seguridad general

o Múltiples router interiores: Tampoco se considera buena idea si

tenemos varias redes internas, sobre todo si tenemos distintas

políticas que impidan compartir el mismo router.

1. Esta solución suele ser la que se emplea si tenemos más de

una red interna, lo cual, complica un poco la configuración del

router pero no supone ningún riesgo adicional. Si compartir un

router se considera inaceptable, o bien hay demasiadas redes

internas, o bien existen otras razones, acudiríamos a la

condición 2.

Page 170: Seguridad Informatica en 8 TEMAS

2. Solución 2:

o Utilización de varios Routers exteriores: ¿Por qué vamos a querer

conectar varios routers exteriores a la misma red de perímetro? Por

ejemplo:

1. Para tener redundancia (queremos varias conexiones a

Internet con distintos ISP)

Page 171: Seguridad Informatica en 8 TEMAS

2. Cuando queremos tener una conexión a Internet y otra

conexión a otra red diferente (suele denominarse red de

proveedor)

o Utilización de múltiples redes de perímetro: No parece muy lógico

tener varias conexiones a internet u a otras redes utilizando uno o

más Routers exteriores sobre la misma red de perímetro. No tiene

mucho sentido puesto que no garantizaríamos perfectamente la

confidencialidad. En estos casos lo que se suele tener es más de una

red de perímetro

Page 172: Seguridad Informatica en 8 TEMAS

Cortafuegos internos: Con frecuencia hay partes de la red interna que

puede precisar de un mayor nivel de seguridad, por ejemplo el

departamento de finanzas en una organización, los encargados de llevar a

cabo un proyecto en una universidad, los que están desarrollando un nuevo

producto en un laboratorio…