Google
 

Thursday, January 31, 2008

Seguridad Informática

Objetivos:

La Seguridad Informática tiene como objetivo el mantenimiento de la Confidencialidad, Integridad y Disponibilidad de los Sistemas de Información. Es necesario identificar y controlar cualquier evento que pueda afectar negativamente a cualquiera de estos tres aspectos, así como definir e implantar las defensas necesarias para eliminar o reducir sus posibles consecuencias. Para ello, deben utilizarse métodos formales de análisis de riesgos que lo garanticen.
La Seguridad Informática permite compartir los Sistemas de Información de la empresa entre sus empleados, e incluso con terceros, pero garantizando su protección. La Seguridad tiene tres aspectos básicos que son esenciales para el crecimiento del negocio, el cumplimiento de la legalidad vigente y la imagen de la propia empresa

1. CONFIDENCIALIDAD: Protege los Activos de Información contra accesos o divulgación no autorizados.

2. INTEGRIDAD: Garantiza la exactitud de los Activos de Información contra alteración, pérdida o destrucción, ya sea de forma accidental o fraudulenta.

3. DISPONIBILIDAD: Asegura que los Recursos Informáticos y los Activos de Información pueden ser utilizados en la forma y tiempo requeridos. Bajo el punto de vista de Seguridad, la disponibilidad se refiere a su posible recuperación en caso de desastre (Recuperabilidad), y no al concepto de Nivel de Servicio empleado en otras áreas.

Estos aspectos llevan implícitos los conceptos de Propiedad, Depósito y Uso, de los Recursos Informáticos y Activos de Información, que posteriormente se desarrollarán.

La seguridad informática es un objetivo a evaluar y esta directamente relacionado con la calidad y eficacia de un conjunto de acciones y medidas destinadas a proteger y perservar la información de la entidad y sus medios de proceso.

Mantener la protección de la empresa exige un compromiso firme. Puesto que las amenazas, las vulnerabilidades y los requerimientos de la empresa cambian, las políticas de seguridad y los mecanismos adoptados deben ser reevaluados periódica y habitualmente para brindar protección total.

Seguridad Física:
" Un experto es aquel que sabe cada vez más sobre menos cosas, hasta que sabe absolutamente todo sobre nada.. es la persona que evita los errores pequeños mientras sigue su avance inexorable hacia la gran falacia"
Es muy importante ser consciente que por más que nuestra empresa sea la más segura desde el punto de vista de ataques externos, Hackers, virus, etc. (conceptos luego tratados); la seguridad de la misma será nula si no se ha previsto como combatir un incendio.
La seguridad física es uno de los aspectos más olvidados a la hora del diseño de un sistema informático. Si bien algunos de los aspectos tratados a continuación se prevén, otros, como la detección de un atacante interno a la empresa que intenta a acceder físicamente a una sala de operaciones de la misma, no.
Esto puede derivar en que para un atacante sea más fácil lograr tomar y copiar una cinta de la sala, que intentar acceder vía lógica a la misma.
Así, la Seguridad Física consiste en la "aplicación de barreras físicas y procedimientos de control, como medidas de prevención y contramedidas ante amenazas a los recursos e información confidencial. Se refiere a los controles y mecanismos de seguridad dentro y alrededor del Centro de Cómputo así como los medios de acceso remoto al y desde el mismo; implementados para proteger el hardware y medios de almacenamiento de datos.

Tipos de Desastres:

No será la primera vez que se mencione en este trabajo, que cada sistema es único y por lo tanto la política de seguridad a implementar no será única. Este concepto vale, también, para el edificio en el que nos encontramos. Es por ello que siempre se recomendarán pautas de aplicación general y no procedimientos específicos. Para ejemplificar esto: valdrá de poco tener en cuenta aquí, en Entre Ríos, técnicas de seguridad ante terremotos; pero sí será de máxima utilidad en Los Ángeles, EE.UU.

Este tipo de seguridad está enfocado a cubrir las amenazas ocasionadas tanto por el hombre como por la naturaleza del medio físico en que se encuentra ubicado el centro.


Las principales amenazas que se prevén en la seguridad física son:
1. Desastres naturales, incendios accidentales tormentas e inundaciones.
2. Amenazas ocasionadas por el hombre.
3. Disturbios, sabotajes internos y externos deliberados.
No hace falta recurrir a películas de espionaje para sacar ideas de cómo obtener la máxima seguridad en un sistema informático, además de que la solución sería extremadamente cara.
A veces basta recurrir al sentido común para darse cuenta que cerrar una puerta con llave o cortar la electricidad en ciertas áreas siguen siendo técnicas válidas en cualquier entorno.
A continuación se analizan los peligros más importantes que se corren en un centro de procesamiento; con el objetivo de mantener una serie de acciones a seguir en forma eficaz y oportuna para la prevención, reducción, recuperación y corrección de los diferentes tipos de riesgos.
1. Incendios
2. Inundaciones
3. Condiciones Climatológicas
4. Señales de Radar
5. Instalaciones Eléctricas
6. Ergometría

Acciones Hostiles:
1. Robo
2. Fraude
3. Sabotaje

Control de Accesos:

El control de acceso no sólo requiere la capacidad de identificación, sino también asociarla a la apertura o cerramiento de puertas, permitir o negar acceso basado en restricciones de tiempo, área o sector dentro de una empresa o institución.
1. Utilización de Guardias
2. Utilización de Detectores de Metales
3. Utilización de Sistemas Biométricos
4. Verificación Automática de Firmas (VAF)
5. Seguridad con Animales
6. Protección Electrónica
CONCLUSIONES:

Evaluar y controlar permanentemente la seguridad física del edificio es la base para o comenzar a integrar la seguridad como una función primordial dentro de cualquier organismo.
Tener controlado el ambiente y acceso físico permite:
• disminuir siniestros
• trabajar mejor manteniendo la sensación de seguridad
• descartar falsas hipótesis si se produjeran incidentes
• tener los medios para luchar contra accidentes
Las distintas alternativas estudiadas son suficientes para conocer en todo momento el estado del medio en el que nos desempeñamos; y así tomar decisiones sobre la base de la información brindada por los medios de control adecuados.

Estas decisiones pueden variar desde el conocimiento de las áreas que recorren ciertas personas hasta el extremo de evacuar el edificio en caso de accidentes.

SEGURIDAD LÓGICA:
"Miro a mi alrededor veo que la tecnología ha sobrepasado nuestra humanidad, espero que algún día nuestra humanidad sobrepase la tecnología."
Albert Einstein
Luego de ver como nuestro sistema puede verse afectado por la falta de Seguridad Física, es importante recalcar que la mayoría de los daños que puede sufrir un centro de cómputos no será sobre los medios físicos sino contra información por él almacenada y procesada.
Así, la Seguridad Física, sólo es una parte del amplio espectro que se debe cubrir para no vivir con una sensación ficticia de seguridad. Como ya se ha mencionado, el activo más importante que se posee es la información, y por lo tanto deben existir técnicas, más allá de la seguridad física, que la aseguren. Estas técnicas las brinda la Seguridad Lógica.
Es decir que la Seguridad Lógica consiste en la "aplicación de barreras y procedimientos que resguarden el acceso a los datos y sólo se permita acceder a ellos a las personas autorizadas para hacerlo."
Existe un viejo dicho en la seguridad informática que dicta que "todo lo que no está permitido debe estar prohibido" y esto es lo que debe asegurar la Seguridad Lógica.

Los objetivos que se plantean serán:
1. Restringir el acceso a los programas y archivos.
2. Asegurar que los operadores puedan trabajar sin una supervisión minuciosa y no puedan modificar los programas ni los archivos que no correspondan.
3. Asegurar que se estén utilizados los datos, archivos y programas correctos en y por el procedimiento correcto.
4. Que la información transmitida sea recibida sólo por el destinatario al cual ha sido enviada y no a otro.
5. Que la información recibida sea la misma que ha sido transmitida.
6. Que existan sistemas alternativos secundarios de transmisión entre diferentes puntos.
7. Que se disponga de pasos alternativos de emergencia para la transmisión de información.

CONTROLES DE ACCESO:
Estos controles pueden implementarse en el Sistema Operativo, sobre los sistemas de aplicación, en bases de datos, en un paquete específico de seguridad o en cualquier otro utilitario.
Constituyen una importante ayuda para proteger al sistema operativo de la red, al sistema de aplicación y demás software de la utilización o modificaciones no autorizadas; para mantener la integridad de la información (restringiendo la cantidad de usuarios y procesos con acceso permitido) y para resguardar la información confidencial de accesos no autorizados.
Asimismo, es conveniente tener en cuenta otras consideraciones referidas a la seguridad lógica, como por ejemplo las relacionadas al procedimiento que se lleva a cabo para determinar si corresponde un permiso de acceso (solicitado por un usuario) a un determinado recurso. Al respecto, el Nacional Institute for Standard and Technology (NIST) ha resumido los siguientes estándares de seguridad que se refieren a los requisitos mínimos de seguridad en cualquier sistema:
• Identificación y Autentificación
• Roles
• Transacciones
• Limitaciones a los Servicios
• Modalidad de Acceso
• Ubicación y Horario
• Control de Acceso Interno
• Control de Acceso Externo
• Administración



NIVELES DE SEGURIDAD INFORMÁTICA:
El estándar de niveles de seguridad mas utilizado internacionalmente es el TCSEC Orange Book, desarrollado en 1983 de acuerdo a las normas de seguridad en computadoras del Departamento de Defensa de los Estados Unidos.
Los niveles describen diferentes tipos de seguridad del Sistema Operativo y se enumeran desde el mínimo grado de seguridad al máximo.
Estos niveles han sido la base de desarrollo de estándares europeos (ITSEC/ITSEM) y luego internacionales (ISO/IEC).
Cabe aclarar que cada nivel requiere todos los niveles definidos anteriormente: así el subnivel B2 abarca los subniveles B1, C2, C1 y el D.
• Nivel D
• Nivel C1: Protección Discrecional
• Nivel C2: Protección de Acceso Controlado
• Nivel B1: Seguridad Etiquetada
• Nivel B2: Protección Estructurada
• Nivel B3: Dominios de Seguridad
• Nivel A: Protección Verificada
LEGISLACIÓN Y DELITOS INFORMÁTICOS:
Ya hemos dejado en claro la importancia de la información en el mundo altamente tecnificado de hoy. También se ha dejado en claro cada uno de los riesgos "naturales" con los que se enfrenta nuestro conocimiento y la forma de enfrentarlos.
El desarrollo de la tecnología informática ha abierto las puertas a nuevas posibilidades de delincuencia antes impensables. La cuantía de los perjuicios así ocasionados es a menudo muy superior a la usual en la delincuencia tradicional y también son mucho más elevadas las posibilidades de que no lleguen a descubrirse o castigarse.
Es propósito de los capítulos siguientes disertar sobre los riesgos "no naturales"; es decir los que se encuadran en el marco del delito. Para ello deberemos dejar en claro, nuevamente, algunos aspectos.

LA INFORMACIÓN Y EL DELITO:
El delito informático implica actividades criminales que los países han tratado de encuadrar en figuras típicas de carácter tradicional, tales como robos, hurtos, fraudes, falsificaciones, perjuicios, estafas, sabotajes. Sin embargo, debe destacarse que el uso de las técnicas informáticas han creado nuevas posibilidades del uso indebido de las computadoras lo que ha creado la necesidad de regulación por parte del derecho.

Se considera que no existe una definición formal y universal de delito informático pero se han formulado conceptos respondiendo a realidades nacionales concretas: "no es labor fácil dar un concepto sobre delitos informáticos, en razón de que su misma denominación alude a una situación muy especial, ya que para hablar de "delitos" en el sentido de acciones típicas, es decir tipificadas o contempladas en textos jurídicos penales, se requiere que la expresión "delitos informáticos" esté consignada en los códigos penales, lo cual en nuestro país, al igual que en otros muchos no han sido objeto de tipificación aún."
TIPOS DE DELITOS INFORMÁTICOS:
La Organización de Naciones Unidas (ONU) reconocen los siguientes tipos de delitos informáticos:
1. Fraudes cometidos mediante manipulación de computadoras
2. Manipulación de los datos de entrada
3. Daños o modificaciones de programas o datos computarizados
DELINCUENTE Y VICTIMA:
1. Sujeto Activo
2. Sujeto Pasivo
LEGISLACIÓN NACIONAL:
En los últimos años se ha perfilado en el ámbito internacional un cierto consenso en las valoraciones político-jurídicas de los problemas derivados del mal uso que se hace de las computadoras, lo cual ha dado lugar a que, en algunos casos, se modifiquen los derechos penales nacionales e internacionales.
La ONU señala que cuando el problema se eleva a la escena internacional, se magnifican los inconvenientes y los delitos informáticos se constituyen en una forma de crimen transnacional.
En este sentido habrá que recurrir a aquellos tratados internacionales de los que nuestro país es parte y que, en virtud del Artículo 75 inc. 22 de la Constitución Nacional reformada en 1994, tienen rango constitucional.
Argentina también es parte del acuerdo que se celebró en el marco de la Ronda Uruguay del Acuerdo General de Aranceles Aduaneros y Comercio, que en su artículo 10, relativo a los programas de ordenador y compilaciones de datos, establece que:
• este tipo de programas, ya sean fuente u objeto, serán protegidos como obras literarias de conformidad con el Convenio de Berna, de julio 1971, para la Protección de Obras Literarias y Artísticas;
• las compilaciones de datos posibles de ser legibles serán protegidos como creaciones de carácter intelectual y que;
• para los casos de falsificación dolosa de marcas de fábrica o de comercio o de piratería lesiva del derecho de autor a escala comercial se establecerán procedimientos y sanciones penales además de que, " los recursos disponibles comprenderán la pena de prisión y/o la imposición de sanciones pecuniarias suficientemente disuasorias" .
LEGISLACIÓN INTERNACIONAL:
• Alemania
• Austria
• Chile
• China
• España
• Estados Unidos
• Francia
• Holanda
• Inglaterra

CONCLUSIÓN:
Legislar la instigación al delito cometido a través de la computadora. Adherirnos, por nuestra parte, a los postulados de la ONU sobre los delitos informáticos, con el fin de unificar la legislación internacional que regule la problemática de la cibernética y su utilización tan generalizada en el mundo.
Desde la Criminología debemos señalar que el anonimato, sumado a la inexistencia de una norma que tipifique los delitos señalados, son un factor criminógeno que favorece la multiplicación de autores que utilicen los medios electrónicos para cometer delitos a sabiendas que no serán alcanzados por la ley.
No solo debe pensarse en la forma de castigo, sino algo mucho más importante como lograr probar el delito. Este sigue siendo el principal inconveniente a la hora de legislar por el carácter intangible de la información.
"Al final, la gente se dará cuenta de que no tiene ningún sentido escribir leyes específicas para la tecnología. El fraude es el fraude, se realice mediante el correo postal, el teléfono o Internet. Un delito no es más o menos delito si se utilizó criptografía (...). Y el chantaje no es mejor o peor si se utilizaron virus informáticos o fotos comprometedoras, a la antigua usanza. Las buenas leyes son escritas para ser independientes de la tecnología. En un mundo donde la tecnología avanza mucho más deprisa que las sesiones del Congreso, eso es lo único que puede funcionar hoy en día. Mejores y más rápidos mecanismos de legislación, juicios y sentencias...quizás algún día."



AMENAZAS HUMANAS :
"Nadie será objeto de injerencias arbitrarias en su vida privada, su familia, su domicilio o su correspondencia, ni de ataques a su honra o a su reputación. Toda persona tiene derecho a la protección de la ley contra tales injerencias o ataques."
Art. 12 Declaración Universal de Derechos Humanos, 1948
Este capítulo trata sobre cada uno de los personajes que pueden ser potenciales atacantes de nuestro sistema: el mundo under y el personal perteneciente a la organización.
Será difícil mantener una posición objetiva de la situación global en cuanto a los hackers y las fuerzas de seguridad, ya que siempre he visto marcado mi camino de conocimiento por la curiosidad: principal ingrediente (como veremos) del hacker. Así mismo, siempre me he mantenido en la raya de la legalidad y la ética, siendo prueba de esto el presente documento.
Desde los primeros albores del hacking siempre se ha mantenido una extraña relación entre estos particulares personajes, lo legal, lo ético y lo moral, siendo esta característica, lo que intentan resaltar para esclarecer la diferencia entre cada uno de los clanes existentes en la Red (como se la llama comúnmente en la jerga).
En el presente sólo se tratará de exponer el perfil de la persona encargada de una de las principales, (publicitariamente), si bien no la mayor amenaza que asechan nuestro sistema informático; para luego sí entrar en las formas de ataques propiamente dichos.

PATAS DE PALO Y PARCHES:
1. Carta de presentación
2. La actitud del Hacker
3. Definición de Hacker
4. La conexión Hacker - Nerd
5. Crackers
6. Phreakers
7. Carding - Trashing
8. Desafíos de un Hacker
9. Habilidades básicas en un Hacker
10. ¿Cómo lo Hacen?
11. La Ética del Hacker
12. Manifiesto Hacker
13. Otros habitantes del Ciberespacio



PERSONAL (INSIDERS) :
Hasta aquí se ha presentado al personal como víctima de atacantes externos; sin embargo, de los robos, sabotajes o accidentes relacionados con los sistemas informáticos, el 70% son causados por el propio personal de la organización propietaria de dichos sistemas ("Inside Factor").
Hablando de los Insiders Julio C. Ardita explica que "(...) desde mitad de 1996 hasta 1999 la empresa tuvo dos casos de intrusiones pero en el 2000 registramos siete, de las cuales 5 eran intrusos internos o ex-empleados (...)".
El siguiente gráfico detalla los porcentajes de intrusiones clasificando a los atacantes en internos y externos.



Esto es realmente preocupante, ya que, una persona que trabaje con el administrador, el programador o el encargado de una máquina conoce perfectamente el sistema, sus puntos fuertes y débiles; de manera que un ataque realizado por esa persona podrá ser más directo, difícil de detectar y más efectivo que el que un atacante externo pueda realizar.
Existen diversos estudios que tratan sobre los motivos que llevan a una persona a cometer delitos informáticos contra su organización, pero sean cuales sean, estos motivos existen y deben prevenirse y evitarse. Suele decirse que todos tenemos un precio (dinero, chantaje, factores psicológicos, etc.), por lo que nos pueden arrastrar a robar y vender información o simplemente proporcionar acceso a terceros.
Como ya se ha mencionado los ataques pueden ser del tipo pasivos o activos, y el personal realiza ambos indistintamente dependiendo de la situación concreta.


Dentro de este espectro podemos encontrar:
• Personal Interno
• Ex-Empleado
• Curiosos
• Terroristas
• Intrusos Remunerados
• Recomendaciones

AMENAZAS LÓGICAS - TIPOS DE ATAQUES:

Amenazas Lógicas - Resumen
Los protocolos de comunicación utilizados carecen (en su mayoría) de seguridad o esta ha sido implementada en forma de "parche" tiempo después de su creación.
• Existen agujeros de seguridad en los sistemas operativos.
• Existen agujeros de seguridad en las aplicaciones.
• Existen errores en las configuraciones de los sistemas.
• Los usuarios carecen de información respecto al tema.
Esta lista podría seguir extendiéndose a medida que se evalúen mayor cantidad de elementos de un Sistema Informático.
Las empresas u organizaciones no se pueden permitir el lujo de denunciar ataques a sus sistemas, pues el nivel de confianza de los clientes (ciudadanos) bajaría enormemente.
Los Administradores tienen cada vez mayor conciencia respecto de la seguridad de sus sistemas y arreglan por sí mismos las deficiencias detectadas. A esto hay que añadir las nuevas herramientas de seguridad disponibles en el mercado.
Los "advisories" (documentos explicativos) sobre los nuevos agujeros de seguridad detectados y la forma de solucionarlos, lanzados por el CERT, han dado sus frutos.

TIPOS DE ATAQUES – RESUMEN:
En los primeros tiempos, los ataques involucraban poca sofisticación técnica. Los Insiders (operadores, programadores, proramadore, Data entry) sutilizaban sus permisos para alterar archivos o registros. Los Outsiders ingresaban a la red simplemente averiguando una password válida. A través de los años se han desarrollado formas cada vez más sofisticadas de ataque para explotar "agujeros" en el diseño, configuración y operación de los sistemas.

Son muchos los autores que describen con detalle las técnicas y las clasifican de acuerdo a diferentes características de los mismos. Ante la diversificación de clasificaciones de amenazas y la inminente aparición de nuevas técnicas, para la realización del presente los ataques serán clasificados y categorizados según mi experiencia y conocimiento de cada caso.
Cada uno de los ataques abajo descriptos será dirigido remotamente. Se define Ataque Remoto como "un ataque iniciado contra una maquina sobre la cual el atacante no tiene control (físico)" Esta máquina es distinta a la usada por el atacante y será llamada Víctima.

INGENIERÍA SOCIAL:
Es la manipulación de las personas para convencerlas de que ejecuten acciones o actos que normalmente no realizan para que revele tolo lo necesario para superar las barreras de seguridad. Si el atacante tiene la experiencia suficiente (generalmente es así), puede engañar fácilmente a un usuario (que desconoce las mínimas medidas de seguridad) en beneficio propio. Esta técnica es una de las más usadas y efectivas a la hora de averiguar nombres de usuarios y passwords.
Por ejemplo, suele llamarse a un usuario haciéndose pasar por Administrador del sistema y requerirle la password con alguna excusa convincente. O bien, podría enviarse un mail (falsificando la dirección origen a nombre del Administrador) pidiendo al usuario que modifique su password a una palabra que el atacante suministra. Desde aquí se tendrá el control total de esa estación de trabajo.
Para evitar situaciones de IS es conveniente tener en cuenta estas recomendaciones:
• Tener servicio técnico propio o de confianza.
• Instruir a los usuarios para que no respondan ninguna pregunta sobre cualquier característica del sistema y deriven la inquietud a los responsables que tenga competencia para dar esa información.
• Asegurarse que las personas que llaman por teléfono son quien dicen ser. Por ejemplo si la persona que llama se identifica como proveedor de Internet lo mejor es cortar y devolver la llamada a forma de confirmación.

INGENIERÍA SOCIAL INVERSA
TRASHING (CARTONEO)
ATAQUES DE MONITORIZACIÓN

Este tipo de ataque se realiza para observar a la victima y su sistema, con el objetivo de establecer sus vulnerabilidades y posibles formas de acceso futuro.
Cuando dos procesos establecen una comunicación usan el modelo Cliente/Servidor para establecer la conexión. La aplicación del Servidor "escucha" todo lo que ingresa
Por los puertos.
La identificación del Servidor se efectúa a través de la dirección IP del sistema en el que se ejecuta y del número de puerto del que depende para la conexión. El Cliente establece la conexión con el Servidor a través del puerto disponible para luego intercambiar datos.
La información de control llamada HandShake (saludo) se intercambia entre el Cliente y el Servidor para establecer un dialogo antes de transmitir datos. Los "paquetes" o segmentos TCP tienen banderas que indican el estado del mismo.
El protocolo TCP de Internet, sobre el que se basa la mayoría de los servicios (incluyendo el correo electrónico, el web y el IRC) implica esta conexión entre dos máquinas. El establecimiento de dicha conexión se realiza mediante lo que se llama Three-Way Handshake ("conexión en tres pasos") ya intercambian tres segmentos.

La técnica TCP SYN Scanning, se implementa un scaneo de "media-apertura", dado que nunca se abre una sesión TCP completa. Se envía un paquete SYN (como si se fuera a usar una conexión real) y se espera por la respuesta. Al recibir un SYN/ACK se envía, inmediatamente, un RST para terminar la conexión y se registra este puerto como abierto.
La principal ventaja de esta técnica de escaneo es que pocos sitios están preparados para registrarlos. La desventaja es que en algunos sistemas Unix, se necesitan privilegios de Administrador para construir estos paquetes SYN.

ATAQUES DE AUTENTICACIÓN :
Este tipo de ataque tiene como objetivo engañar al sistema de la víctima para ingresar al mismo. Generalmente este engaño se realiza tomando las sesiones ya establecidas por la víctima u obteniendo su nombre de usuario y password.



DICCIONARIOS
Los Diccionarios son archivos con millones de palabras, las cuales pueden ser passwords utilizadas por los usuarios. Este archivo es utilizado para descubrir dicha password en pruebas de fuerza bruta.
El programa encargado de probar cada una de las palabras encripta cada una de ellas (mediante el algoritmo utilizado por el sistema atacado) y compara la palabra encriptada contra el archivo de passwords del sistema atacado (previamente obtenido). Si coinciden se ha encontrado la clave de acceso al sistema mediante el usuario correspondiente a la clave hallada.
DENIAL OF SERVICE (DOS)
Los protocolos existentes actualmente fueron diseñados para ser empleados en una comunidad abierta y con una relación de confianza mutua. La realidad indica que es más fácil desorganizar el funcionamiento de un sistema que acceder al mismo; así los ataques de Negación de Servicio tienen como objetivo saturar los recursos de la víctima de forma tal que se inhabilita los servicios brindados por la misma.

ATAQUES DE MODIFICACIÓN-DAÑO
Esta categoría se refiere a la modificación desautorizada de los datos o el software instalado en el sistema víctima (incluyendo borrado de archivos). Son particularmente serios cuando el que lo realiza ha obtenido derechos de Administrador o Supervisor, con la capacidad de disparar cualquier comando y por ende alterar o borrar cualquier información que puede incluso terminar en la baja total del sistema. Aún así, si no hubo intenciones de "bajar" el sistema por parte del atacante; el Administrador posiblemente necesite darlo de baja por horas o días hasta chequear y tratar de recuperar aquella información que ha sido alterada o borrada.

ERRORES DE DISEÑO, IMPLEMENTACIÓN Y OPERACIÓN
Muchos sistemas están expuestos a "agujeros" de seguridad que son explotados para acceder a archivos, obtener privilegios o realizar sabotaje. Estas vulnerabilidades ocurren por variadas razones, y miles de "puertas invisibles" son descubiertas (cada día) en sistemas operativos, aplicaciones de software, protocolos de red, browsers de Internet, correo electrónico y todas clase de servicios informático disponible.
Los Sistemas operativos abiertos (como Unix y Linux) tienen agujeros mas conocidos y controlados que aquellos que existen en sistemas operativos cerrados (como Windows©). La importancia (y ventaja) del código abierto radica en miles de usuarios analizan dicho código en busca de posibles bugs y ayudan a obtener soluciones en forma inmediata.

Constantemente encontramos en Internet avisos de nuevos descubrimientos de problemas de seguridad (y herramientas de Hacking que los explotan), por lo que hoy también se hace indispensable contar con productos que conocen esas debilidades, puedan diagnosticarlas y actualizar el programa afectado con el parche adecuado.

IMPLEMENTACIÓN DE ESTAS TÉCNICAS:
Cada una de las técnicas explicadas (y más) pueden ser utilizadas por un intruso en un ataque. A continuación se intentarán establecer el orden de utilización de las mismas, pero siempre remarcando que un ataque insume mucha paciencia, imaginación acumulación de conocimientos y experiencia dada (en la mayoría de los casos) por prueba y error.

¿CÓMO DEFENDERSE DE ESTOS ATAQUES?
La mayoría de los ataques mencionados se basan en fallos de diseño inherentes a Internet (y sus protocolos) y a los sistemas operativos utilizados, por lo que no son "solucionables" en un plazo breve de tiempo.
La solución inmediata en cada caso es mantenerse informado sobre todos los tipos de ataques existentes y las actualizaciones que permanentemente lanzan las empresas desarrolladoras de software, principalmente de sistemas operativos.
PROTECCIÓN:
"Esto es lo que llamamos Criptograma, en el cual el sentido está oculto bajo letras embarulladas a propósito y que, convenientemente dispuestas, formarían una frase inteligible --dijo el profesor--
Una vez conocidas las vulnerabilidades y ataques a las que está expuesto un sistema es necesario conocer los recursos disponibles para protegerlo. Mientras algunas técnicas son evidentes (seguridad física por ejemplo) otras pautas no lo son tanto e incluso algunas pueden ocasionar una sensación de falsa seguridad.
Muchas de las vulnerabilidades estudiadas son el resultado de implementación incorrecta de tecnologías, otras son consecuencias de la falta de planeamiento de las mismas pero, como ya se ha mencionado, la mayoría de los agujeros de seguridad son ocasionados por los usuarios de dichos sistemas y es responsabilidad del administrador detectarlos y encontrar la mejor manera de cerrarlos.
En el presente capítulo, después de lo expuesto y vistas la gran cantidad de herramientas con las que cuenta el intruso, es el turno de estudiar implementaciones en la búsqueda de mantener el sistema seguro.
Siendo reiterativo, ninguna de las técnicas expuestas a continuación representarán el 100% de la seguridad deseado, aunque muchas parezcan la panacea, será la suma de algunas de ellas las que convertirán un sistema interconectado en confiable.

Vulnerar Para Proteger:
Los intrusos utilizan diversas técnicas para quebrar los sistemas de seguridad de una red. Básicamente buscan los puntos débiles del sistema para poder colarse en ella. El trabajo de los Administradores y Testers no difiere mucho de esto. En lo que sí se diferencia, y por completo, es en los objetivos: mientras que un intruso penetra en las redes para distintos fines (investigación, daño, robo, etc.) un administrador lo hace para poder mejorar los sistemas de seguridad.
En palabras de Julio C. Ardita (*): "(...) los intrusos cuentan con grandes herramientas como los Scanners, los cracking de passwords, software de análisis de vulnerabilidades y los exploits(...) un administrador cuenta con todas ellas empleadas para bien, los Logs, los sistemas de detección de intrusos y los sistemas de rastreo de intrusiones".
Al conjunto de técnicas que se utilizan para evaluar y probar la seguridad de una red se lo conoce como Penetration Testing, uno de los recursos más poderosos con los que se cuenta hoy para generar barreras cada vez más eficaces.
Un test está totalmente relacionado con el tipo de información que se maneja en cada organización. Por consiguiente, según la información que deba ser protegida, se determinan la estructura y las herramientas de seguridad; no a la inversa
El software y el Hardware utilizados son una parte importante, pero no la única. A ella se agrega lo que se denomina "políticas de seguridad internas" que cada organización (y usuario) debe generar e implementar.
Firewalls
Quizás uno de los elementos más publicitados a la hora de establecer seguridad, sean estos elementos. Aunque deben ser uno de los sistemas a los que más se debe prestar atención, distan mucho de ser la solución final a los problemas de seguridad.
De hecho, los Firewalls no tienen nada que hacer contra técnicas como la Ingeniería Social y el ataque de Insiders.
Un Firewall es un sistema (o conjunto de ellos) ubicado entre dos redes y que ejerce la una política de seguridad establecida. Es el mecanismo encargado de proteger una red confiable de una que no lo es (por ejemplo Internet).



Access Control Lists (ACL)
Las Listas de Control de Accesos proveen de un nivel de seguridad adicional a los clásicos provistos por los Sistemas Operativos. Estas listas permiten definir permisos a usuarios y grupos concretos. Por ejemplo pueden definirse sobre un Proxy una lista de todos los usuarios (o grupos de ellos) a quien se le permite el acceso a Internet, FTP, etc. También podrán definirse otras características como limitaciones de anchos de banda y horarios.

Wrappers
Un Wrapper es un programa que controla el acceso a un segundo programa. El Wrapper literalmente cubre la identidad de este segundo programa, obteniendo con esto un más alto nivel de seguridad. Los Wrappers son usados dentro de la seguridad en sistemas UNIXs. Estos programas nacieron por la necesidad de modificar el comportamiento del sistema operativo sin tener que modificar su funcionamiento.
Los Wrappers son ampliamente utilizados, y han llegado a formar parte de herramientas de seguridad por las siguientes razones:
• Debido a que la seguridad lógica esta concentrada en un solo programa, los Wrappers son fáciles y simples de validar.
• Debido a que el programa protegido se mantiene como una entidad separada, éste puede ser actualizado sin necesidad de cambiar el Wrapper.
• Debido a que los Wrappers llaman al programa protegido mediante llamadas estándar al sistema, se puede usar un solo Wrapper para controlar el acceso a diversos programas que se necesiten proteger.
• Permite un control de accesos exhaustivo de los servicios de comunicaciones, además de buena capacidad de Logs y auditorias de peticiones a dichos servicios, ya sean autorizados o no.
El paquete Wrapper más ampliamente utilizado es el TCP-Wrappers, el cual es un conjunto de utilidades de distribución libre, escrito por Wietse Venema (co-autor de SATAN, con Dan Farmer, y considerado el padre de los sistemas Firewalls) en 1990.
Consiste en un programa que es ejecutado cuando llega una petición a un puerto específico. Este, una vez comprobada la dirección de origen de la petición, la verifica contra las reglas almacenadas, y en función de ellas, decide o no dar paso al servicio. Adicionalmente, registra estas actividades del sistema, su petición y su resolución.
Algunas configuraciones avanzadas de este paquete, permiten también ejecutar comandos en el propio sistema operativo, en función de la resolución de la petición. Por ejemplo, es posible que interese detectar una posible máquina atacante, en el caso de un intento de conexión, para tener más datos a la hora de una posible investigación. Este tipo de comportamiento raya en la estrategia paranoica, ya vista cuando se definió la política de seguridad del firewall.

Con lo mencionado hasta aquí, puede pensarse que los Wrappers son Firewall ya que muchos de los servicios brindados son los mismos o causan los mismos efectos: u sando Wrappers, se puede controlar el acceso a cada máquina y los servicios accedidos. Así, estos controles son el complemento perfecto de un Firewall y la instalación de uno no está supeditada a la del otro.

DETECCIÓN DE INTRUSOS EN TIEMPO REAL:
La seguridad se tiene que tratar en conjunto. Este viejo criterio es el que recuerda que los sistemas de protección hasta aquí abordados, si bien son eficaces, distan mucho de ser la protección ideal.
Así, debe estar fuera de toda discusión la conveniencia de añadir elementos que controlen lo que ocurre dentro de la red (detrás de los Firewalls).
Como se ha visto, la integridad de un sistema se puede corromper de varias formas y la forma de evitar esto es con la instalación de sistemas de Detección de Intrusos en Tiempo Real, quienes:
• Inspeccionan el tráfico de la red buscando posibles ataques.
• Controlan el registro de los servidores para detectar acciones sospechosas (tanto de intrusos como de usuarios autorizados).
• Mantienen una base de datos con el estado exacto de cada uno de los archivos (Integrity Check) del sistema para detectar la modificación de los mismos.
• Controlan el ingreso de cada nuevo archivo al sistema para detectar Caballos de Troya o semejantes.
• Controlan el núcleo del Sistema Operativo para detectar posibles infiltraciones en él, con el fin de controlar los recursos y acciones del mismo.
• Avisan al administrador de cualquiera de las acciones mencionadas.
Cada una de estas herramientas permiten mantener alejados a la gran mayoría de los intrusos normales. Algunos pocos, con suficientes conocimientos, experiencia y paciencia serán capaces de utilizar métodos sofisticados (u originales) como para voltear el perímetro de seguridad (interna + externa) y serán estos los casos que deban estudiarse para integrar a la política de seguridad existente mayor conocimiento y con él mayor seguridad.

Call Back

Este procedimiento es utilizado para verificar la autenticidad de una llamada vía MODEM. El usuario llama, se autentifica contra el sistema, se desconecta y luego el servidor se conecta al número que en teoría pertenece al usuario.

La ventaja reside en que si un intruso desea hacerse pasar por el usuario, la llamada se devolverá al usuario legal y no al del intruso, siendo este desconectado. Como precaución adicional, el usuario deberá verificar que la llamada-retorno proceda del número a donde llamó previamente.

Sistemas Anti-Sniffers
Esta técnica consiste en detectar Sniffers en el sistema. Generalmente estos programas se basan en verificar el estado de la placa de red, para detectar el modo en el cual está actuando (recordar que un Sniffer la coloca en Modo Promiscuo), y el tráfico de datos en ella.
Gestion de Claves "Seguras"
Si se utiliza una clave de 8 caracteres de longitud, con los 96 caracteres posibles, puede tardarse 2.288 años en descifrarla (analizando 100.000 palabras por segundo). Esto se obtiene a partir de las 96 8 (7.213.895.789.838.340) claves posibles de generar con esos caracteres.
Partiendo de la premisa en que no se disponen de esa cantidad de años para analizarlas por fuerza bruta, se deberá comenzar a probar con las claves más posibles, comúnmente llamadas Claves Débiles.
Seguridad en Protocolos y Servicios
Se ha visto en capítulos anteriores la variedad de protocolos de comunicaciones existentes, sus objetivos y su funcionamiento. Como puede preverse todos estos protocolos tienen su debilidad ya sea en su implementación o en su uso. A continuación se describen los problemas de seguridad más comunes y sus formas de prevención.
Nuevamente no se verán los detalles sobre el funcionamiento de cada uno de ellos, simplemente se ofrecerán las potenciales puertas de entrada como fuentes de ataques que ni siquiera tienen por qué proporcionar acceso a la máquina (como las DoS por ejemplo).
Criptología
La palabra Criptografía proviene etimológicamente del griego Kruiptoz (Kriptos-Oculto) y Grajein (Grafo-Escritura) y significa "arte de escribir con clave secreta o de un modo enigmático" (**).
Aportando luz a la definición cabe aclarar que la Criptografía hace años que dejó de ser un arte para convertirse en una técnica (o conjunto de ellas) que tratan sobre la protección (ocultamiento ante personas no autorizadas) de la información. Entre las disciplinas que engloba cabe destacar la Teoría de la Información, la Matemática Discreta, la Teoría de los Grandes Números y la Complejidad Algorítmica.

Es decir que la Criptografía es la ciencia que consiste en transformar un mensaje inteligible en otro que no lo es (mediante claves que sólo el emisor y el destinatario conocen), para después devolverlo a su forma original, sin que nadie que vea el mensaje cifrado sea capaz de entenderlo.
Inversión
Los costos de las diferentes herramientas de protección se están haciendo accesibles, en general, incluso para las organizaciones más pequeñas. Esto hace que la implementación de mecanismos de seguridad se dé prácticamente en todos los niveles: empresas grandes, medianas, chicas y usuarios finales. Todos pueden acceder a las herramientas que necesitan y los costos (la inversión que cada uno debe realizar) va de acuerdo con el tamaño y potencialidades de la herramienta.
Pero no es sólo una cuestión de costos, los constantes cambios de la tecnología hacen que para mantener un nivel parejo de seguridad, se deba actualizar permanentemente las herramientas con las que se cuenta. Como los intrusos mejoran sus armas y metodologías de penetración de forma incesante, el recambio y la revisión constantes en los mecanismos de seguridad se convierten en imprescindibles. Y éste es un verdadero punto crítico.
Según Testers, "esto es tan importante como el tipo de elementos que se usen". Sin duda, éstos deben ser las que mejor se adapten al tipo de organización. Pero tan importante como eso es el hecho de conocer exactamente cómo funcionan y qué se puede hacer con ellos. "Es prioritario saber los riesgos que una nueva tecnología trae aparejados".
Firewall
Quizás uno de los elementos más publicitados a la hora de establecer seguridad, sean estos elementos. Aunque deben ser uno de los sistemas a los que más se debe prestar atención, distan mucho de ser la solución final a los problemas de seguridad.
De hecho, los Firewalls no tienen nada que hacer contra técnicas como la Ingeniería Social y el ataque de Insiders.
Un Firewall es un sistema (o conjunto de ellos) ubicado entre dos redes y que ejerce la una política de seguridad establecida. Es el mecanismo encargado de proteger una red confiable de una que no lo es (por ejemplo Internet).
Puede consistir en distintos dispositivos, tendientes a los siguientes objetivos:
1. Todo el tráfico desde dentro hacia fuera, y viceversa, debe pasar a través de él.
2. Sólo el tráfico autorizado, definido por la política local de seguridad, es permitido.




Como puede observarse, el Muro Cortafuegos, sólo sirven de defensa perimetral de las redes, no defienden de ataques o errores provenientes del interior, como tampoco puede ofrecer protección una vez que el intruso lo traspasa.
Algunos Firewalls aprovechan esta capacidad de que toda la información entrante y saliente debe pasar a través de ellos para proveer servicios de seguridad adicionales como la encriptación del tráfico de la red. Se entiende que si dos Firewalls están conectados, ambos deben "hablar" el mismo método de encriptación-desencriptación para entablar la comunicación.

ROUTERS Y BRIDGES

Cuando los paquetes de información viajan entre su destino y origen, vía TCP/IP, estos pasan por diferentes Routers (enrutadores a nivel de Red).
Los Routers son dispositivos electrónicos encargados de establecer comunicaciones externas y de convertir los protocolos utilizados en las LAN en protocolos de WAN y viceversa.

En cambio, si se conectan dos redes del tipo LAN se utilizan Bridges, los cuales son puentes que operan a nivel de Enlace.
La evolución tecnológica les ha permitido transformarse en computadoras muy especializadas capaz de determinar, si el paquete tiene un destino externo y el camino más corto y más descongestionado hacia el Router de la red destino. En caso de que el paquete provenga de afuera, determina el destino en la red interna y lo deriva a la máquina correspondiente o devuelve el paquete a su origen en caso de que él no sea el destinatario del mismo.

Los Routers "toman decisiones" en base a un conjunto de datos, regla, filtros y excepciones que le indican que rutas son las más apropiadas para enviar los paquetes.

Tipos de Firewall
1. Filtrado de Paquetes
2. Proxy-Gateways de Aplicaciones
3. Dual-Homed Host
4. Screened Host
5. Screened Subnet
6. Inspección de Paquetes
Este tipo de Firewalls se basa en el principio de que cada paquete que circula por la red es inspeccionado, así como también su procedencia y destino. Se aplican desde la capa de Red hasta la de Aplicaciones. Generalmente son instalados cuando se requiere seguridad sensible al contexto y en aplicaciones muy complejas.
7. Firewalls Personales
Estos Firewalls son aplicaciones disponibles para usuarios finales que desean conectarse a una red externa insegura y mantener su computadora a salvo de ataques que puedan ocasionarle desde un simple "cuelgue" o infección de virus hasta la pérdida de toda su información almacenada.
Políticas de Diseño de Firewalls
Las políticas de accesos en un Firewalls se deben diseñar poniendo principal atención en sus limitaciones y capacidades pero también pensando en las amenazas y vulnerabilidades presentes en una red externa insegura.
Conocer los puntos a proteger es el primer paso a la hora de establecer normas de seguridad. También es importante definir los usuarios contra los que se debe proteger cada recurso, ya que las medidas diferirán notablemente en función de esos usuarios.
Generalmente se plantean algunas preguntas fundamentales que debe responder cualquier política de seguridad:
• ¿Qué se debe proteger?. Se deberían proteger todos los elementos de la red interna (hardware, software, datos, etc.).
• ¿De quién protegerse?. De cualquier intento de acceso no autorizado desde el exterior y contra ciertos ataques desde el interior que puedan preverse y prevenir.
Sin embargo, podemos definir niveles de confianza, permitiendo selectivamente el acceso de determinados usuarios externos a determinados servicios o denegando cualquier tipo de acceso a otros.
• ¿Cómo protegerse?. Esta es la pregunta más difícil y está orientada a establecer el nivel de monitorización, control y respuesta deseado en la organización. Puede optarse por alguno de los siguientes paradigmas o estrategias:
a. Paradigmas de seguridad
• Se permite cualquier servicio excepto aquellos expresamente prohibidos.
• Se prohíbe cualquier servicio excepto aquellos expresamente permitidos. La más recomendada y utilizada aunque algunas veces suele acarrear problemas por usuarios descontentos que no pueden acceder a tal cual servicio.
b. Estrategias de seguridad
• Paranoica: se controla todo, no se permite nada.
• Prudente: se controla y se conoce todo lo que sucede.
• Permisiva: se controla pero se permite demasiado.
• Promiscua: no se controla (o se hace poco) y se permite todo.
• ¿Cuánto costará?. Estimando en función de lo que se desea proteger se debe decidir cuanto es conveniente invertir.

RESTRICCIONES EN EL FIREWALL:
La parte más importante de las tareas que realizan los Firewalls, la de permitir o denegar determinados servicios, se hacen en función de los distintos usuarios y su ubicación:
1. Usuarios internos con permiso de salida para servicios restringidos: permite especificar una serie de redes y direcciones a los que denomina Trusted (validados) . Estos usuarios, cuando provengan del interior, van a poder acceder a determinados servicios externos que se han definido.
2. Usuarios externos con permiso de entrada desde el exterior: este es el caso más sensible a la hora de vigilarse. Suele tratarse de usuarios externos que por algún motivo deben acceder para consultar servicios de la red interna.
También es habitual utilizar estos accesos por parte de terceros para prestar servicios al perímetro interior de la red. Sería conveniente que estas cuentas sean activadas y desactivadas bajo demanda y únicamente el tiempo que sean necesarias.

BENEFICIOS DE UN FIREWALL:
Los Firewalls manejan el acceso entre dos redes, y si no existiera, todos las computadoras de la red estarían expuestos a ataques desde el exterior. Esto significa que la seguridad de toda la red, estaría dependiendo de que tan fácil fuera violar la seguridad local de cada maquina interna.

El Firewall es el punto ideal para monitorear la seguridad de la red y generar alarmas de intentos de ataque, el administrador será el responsable de la revisión de estos monitoreos.
Otra causa que ha hecho que el uso de Firewalls se halla convertido en uso casi imperativo es el hecho que en los últimos años en Internet han entrado en crisis el número disponible de direcciones IP, esto ha hecho que las intranets adopten direcciones sin clase, las cuales salen a Internet por medio de un "traductor de direcciones", el cual puede alojarse en el Firewall.
Los Firewalls también son importantes desde el punto de vista de llevar las estadísticas del ancho de banda "consumido" por el trafico de la red, y que procesos han influido más en ese trafico, de esta manera el administrador de la red puede restringir el uso de estos procesos y economizar o aprovechar mejor el ancho de banda disponible.
Los Firewalls también tienen otros usos. Por ejemplo, se pueden usar para dividir partes de un sitio que tienen distintas necesidades de seguridad o para albergar los servicios WWW y FTP brindados.

LIMITACIONES DE UN FIREWALL
La limitación más grande que tiene un Firewall sencillamente es el hueco que no se tapa y que coincidentemente o no, es descubierto por un intruso. Los Firewalls no son sistemas inteligentes, ellos actúan de acuerdo a parámetros introducidos por su diseñador, por ende si un paquete de información no se encuentra dentro de estos parámetros como una amenaza de peligro simplemente lo deja pasar. Más peligroso aún es que ese intruso deje Back Doors, abriendo un hueco diferente y borre las pruebas o indicios del ataque original.
Otra limitación es que el Firewall "NO es contra humanos", es decir que si un intruso logra entrar a la organización y descubrir passwords o los huecos del Firewall y difunde esta información, el Firewall no se dará cuenta.
El Firewall tampoco provee de herramientas contra la filtración de software o archivos infectados con virus, aunque es posible dotar a la máquina, donde se aloja el Firewall, de antivirus apropiados.
Finalmente, un Firewall es vulnerable, él NO protege de la gente que está dentro de la red interna. El Firewall trabaja mejor si se complementa con una defensa interna. Como moraleja: "cuanto mayor sea el tráfico de entrada y salida permitido por el Firewall, menor será la resistencia contra los paquetes externos. El único Firewall seguro (100%) es aquel que se mantiene apagado" (*)


CRIPTOLOGÍA
Historia
En el año 500 a.C. los griegos utilizaron un cilindro llamado "scytale" alrededor del cual enrollaban una tira de cuero. Al escribir un mensaje sobre el cuero y desenrollarlo se veía una lista de letras sin sentido. El mensaje correcto sólo podía leerse al enrollar el cuero nuevamente en un cilindro de igual diámetro.
Durante el Imperio Romano Julio Cesar empleo un sistema de cifrado consistente en sustituir la letra a encriptar por otra letra distanciada a tres posiciones más adelante. Durante su reinado, los mensajes de Julio Cesar nunca fueron desencriptados.
En el S. XII Roger Bacon y en el S. XV León Batista Alberti inventaron y publicaron sendos algoritmos de encriptación basados en modificaciones del método de Julio César.
Durante la segunda guerra mundial en un lugar llamado Bletchley Park (70 Km al norte de Londres) un grupo de científicos trabajaba en Enigma, la máquina encargada de cifrar los mensajes secretos alemanes.
En este grupo se encontraban tres matemáticos polacos llamados Marian Rejewski, Jerzy Rozycki, Henryk Zygalski y "un joven que se mordía siempre las pieles alrededor de las uñas, iba con ropa sin planchar y era más bien bajito. Este joven retraído se llamaba Alan Turing y había sido reclutado porque unos años antes había creado un ordenador binario. Probablemente poca gente en los servicios secretos ingleses sabía lo que era un ordenador (y mucho menos binario)... pero no cabía duda que sólo alguien realmente inteligente podía inventar algo así, cualquier cosa que eso fuese...
Era mucho más abstracto que todos sus antecesores y sólo utilizaba 0 y 1 como valores posibles de las variables de su álgebra." (*).
Sería Turing el encargado de descifrar el primer mensaje de Enigma y, cambiar el curso de la guerra, la historia y de... la Seguridad Informática actual.

Criptografía
La palabra Criptografía proviene etimológicamente del griego Kruiptoz (Kriptos-Oculto) y Grajein (Grafo-Escritura) y significa "arte de escribir con clave secreta o de un modo enigmático".
Aportando luz a la definición cabe aclarar que la Criptografía hace años que dejó de ser un arte para convertirse en una técnica (o conjunto de ellas) que tratan sobre la protección (ocultamiento ante personas no autorizadas) de la información. Entre las disciplinas que engloba cabe destacar la Teoría de la Información, la Matemática Discreta, la Teoría de los Grandes Números y la Complejidad Algorítmica.

Es decir que la Criptografía es la ciencia que consiste en transformar un mensaje inteligible en otro que no lo es (mediante claves que sólo el emisor y el destinatario conocen), para después devolverlo a su forma original, sin que nadie que vea el mensaje cifrado sea capaz de entenderlo.

El mensaje cifrado recibe el nombre Criptograma

La importancia de la Criptografía radica en que es el único método actual capaz de hacer cumplir el objetivo de la Seguridad Informática: "mantener la Privacidad, Integridad, Autenticidad..." y hacer cumplir con el No Rechazo, relacionado a no poder negar la autoría y recepción de un mensaje enviado.

CRIPTOANÁLISIS

Es el arte de estudiar los mensajes ilegibles, encriptados, para transformarlos en legibles sin conocer la clave, auque el método de cifrado empleado siempre es conocido.

CRIPTOSISTEMA
"Un Criptosistema se define como la quíntupla (m,C,K,E,D) , donde:
• m representa el conjunto de todos los mensajes sin cifrar (texto plano) que pueden ser enviados.
• C Representa el conjunto de todos los posibles mensajes cifrados, o criptogramas.
• K representa el conjunto de claves que se pueden emplear en el Criptosistema.
• E es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a cada elemento de m para obtener un elemento de C . Existe una transformación diferente Ek para cada valor posible de la clave K.
• D es el conjunto de transformaciones de descifrado, análogo a E .
Todo Criptosistema cumple la condición Dk(Ek(m))=m es decir, que si se tiene un mensaje m , se cifra empleando la clave K y luego se descifra empleando la misma clave, se obtiene el mensaje original m." (***)
Algoritmos Simétricos Modernos (Llave Privada)
La mayoría de los algoritmos simétricos actuales se apoyan en los conceptos de Confusión y Difusión vertidos por Claude Shannon sobre la Teoría de la Información a finales de los años cuarenta.
Estos métodos consisten en ocultar la relación entre el texto plano, el texto cifrado y la clave (Confusión); y repartir la influencia de cada bit del mensaje original lo más posible entre el mensaje cifrado (Difusión).
El objetivo del presente no es entrar en detalles de cada uno de los muchos algoritmos existentes, por lo que sólo se dará una idea de su funcionamiento y complejidad.

Algoritmos Asimétricos (Llave Privada-Pública)
Ideado por los matemáticos Whitfield Diffie y Martín Hellman (DH) con el informático Ralph Merkle a mediados de los 70, estos algoritmos han demostrado su seguridad en comunicaciones inseguras como Internet. Su principal característica es que no se basa en una única clave sino en un par de ellas: una conocida (Pública) y otra Privada.
Actualmente existen muchos algoritmos de este tipo pero han demostrado ser poco utilizables en la práctica ya sea por la longitud de las clave, la longitud del texto encriptado generado o su velocidad de cifrado extremadamente largos.
DH está basado en las propiedades y en el tiempo necesario para calcular el valor del logaritmo de un número extremadamente alto y primo.
Autentificación
Se entiende por Autentificación cualquier método que permita garantizar alguna característica sobre un objeto dado. Interesa comprobar la autentificación de:
a. Un Mensaje mediante una firma: se debe garantizar la procedencia de un mensaje conocido, de forma de poder asegurar que no es una falsificación. A este mecanismo se lo conoce como Firma Digital y consiste en asegurar que el mensaje m proviene del emisor E y no de otro.
b. Un Usuario mediante una contraseña: se debe garantizar la presencia de un usuario autorizado mediante una contraseña secreta.
c. Un Dispositivo: se debe garantizar la presencia de un dispositivo válido en el sistema, por ejemplo una llave electrónica.


PGP (Pretty Good Privacy)
Este proyecto de "Seguridad Bastante Buena" pertenece a Phill Zimmerman quien decidió crearlo en 1991 "por falta de herramientas criptográficas sencillas, potentes, baratas y al alcance del usuario común. Es personal. Es privado. Y no es de interés para nadie más que no sea usted... Existe una necesidad social en crecimiento para esto. Es por eso que lo creé.".
Actualmente PGP es la herramienta más popular y fiable para mantener la seguridad y privacidad en las comunicaciones tanto para pequeños usuarios como para grandes empresas.

Esteganografía
Consiste en ocultar en el interior de información aparentemente inocua, otro tipo de información (cifrada o no). El texto se envía como texto plano, pero entremezclado con mucha cantidad de "basura" que sirve de camuflaje al mensaje enviado. El método de recuperación y lectura sólo es conocido por el destinatario del mensaje y se conoce como "separar el grano de la paja".
Los mensajes suelen ir ocultos entre archivos de sonido o imágenes y ser enormemente grandes por la cantidad extra de información enviada (a comparación del mensaje original).
Como puede verse en la siguiente tabla, si se utiliza una clave de 8 caracteres de longitud, con los 96 caracteres posibles, puede tardarse 2.288 años en descifrarla (analizando 100.000 palabras por segundo). Esto se obtiene a partir de las 96^8 (7.213.895.789.838.340) claves posibles de generar con esos caracteres.




Partiendo de la premisa en que no se disponen de esa cantidad de años para analizarlas por fuerza bruta, se deberá comenzar a probar con las claves más posibles, comúnmente llamadas Claves Débiles.

Según demuestra el análisis de +NetBuL (*) realizado sobre 2.134 cuentas y probando 227.000 palabras por segundo:
• Con un diccionario 2.030 palabras (el original de John de Ripper 1.04), se obtuvieron 36 cuentas en solo 19 segundos (1,77%).
Con un diccionario de 250.000 palabras, se obtuvieron 64 cuentas en 36:18
• minutos (3,15%).
Otro estudio (**) muestra el resultado obtenido al aplicar un ataque, mediante un diccionario de 62.727 palabras, a 13.794 cuentas:
• En un año se obtuvieron 3.340 contraseñas (24,22%).
• En la primera semana se descubrieron 3.000 claves (21,74%).
• En los primeros 15 minutos se descubrieron 368 palabras claves (2,66%).
Según los grandes números vistos, sería válido afirmar que: es imposible encontrar ¡36 cuentas en 19 segundos!. También debe observarse, en el segundo estudio, que el porcentaje de hallazgos casi no varía entre un año y una semana.

Tal vez, ¿esto sucedió porque existían claves nulas; que corresponde al nombre del usuario; a secuencias alfabéticas tipo "abcd"; a secuencias numéricas tipo "1234"; a secuencias observadas en el teclado tipo "qwer"; a palabras que existen en un diccionario del lenguaje del usuario?. Sí, estas claves (las más débiles) son las primeras en ser analizadas y los tiempos obtenidos confirman la hipótesis.

Normas de Elección de Claves:
Se debe tener en cuenta los siguientes consejos:
1. No utilizar contraseñas que sean palabras (aunque sean extranjeras), o nombres (el del usuario, personajes de ficción, miembros de la familia, mascotas, marcas, ciudades, lugares, u otro relacionado).
2. No usar contraseñas completamente numéricas con algún significado (teléfono, D.N.I., fecha de nacimiento, patente del automóvil, etc.).
3. Elegir una contraseña que mezcle caracteres alfabéticos (mayúsculas y minúsculas) y numéricos.
4. Deben ser largas, de 8 caracteres o más.
5. Tener contraseñas diferentes en máquinas diferentes. Es posible usar una contraseña base y ciertas variaciones lógicas de la misma para distintas máquinas.
6. Deben ser fáciles de recordar para no verse obligado a escribirlas.
Algunos ejemplos son:
• Combinar palabras cortas con algún número o carácter de puntuación: soy2_yo3
NORMAS PARA PROTEGER UNA CLAVE:
La protección de la contraseña recae tanto sobre el administrador del sistema como sobre el usuario. Al comprometer una cuenta se puede estar comprometiendo todo el sistema.
La siguiente frase difundida en UseNet resume algunas de las reglas básicas de uso de la contraseña: "Un password debe ser como un cepillo de dientes. Úsalo cada día; cámbialo regularmente; y NO lo compartas con tus amigos".
Algunos consejos a seguir:
1. No permitir ninguna cuenta sin contraseña. Si se es administrador del sistema, repasar este hecho periódicamente.
2. No mantener las contraseñas por defecto del sistema. Por ejemplo, cambiar las cuentas de Root, System, Test, Demo, Guest, etc.
3. Nunca compartir con nadie la contraseña. Si se hace, cambiarla inmediatamente.
4. No escribir la contraseña en ningún sitio. Si se escribe, no debe identificarse como tal y no debe identificarse al propietario en el mismo lugar.
5. No teclear la contraseña si hay alguien mirando. Es una norma tácita de buen usuario no mirar el teclado mientras alguien teclea su contraseña.
6. No enviar la contraseña por correo electrónico ni mencionarla en una conversación. Si se debe mencionar no hacerlo explícitamente diciendo: "mi clave es...".
7. No mantener una contraseña indefinidamente. Cambiarla regularmente. Disponer de una lista de contraseñas que puedan usarse cíclicamente (por lo menos 5).
Muchos sistemas incorporan ya algunas medidas de gestión y protección de las contraseñas. Entre ellas podemos citar las siguientes:
1. Número de intentos limitado. Tras un número de intentos fallidos, pueden tomarse distintas medidas:
o Obligar a reescribir el nombre de usuario (lo más común).
o Bloquear el acceso durante un tiempo.
o Enviar un mensaje al administrador y/o mantener un registro especial.
2. Longitud mínima. Las contraseñas deben tener un número mínimo de caracteres (se recomienda 7 u 8 como mínimo).
3. Restricciones de formato. Las contraseñas deben combinar un mínimo de letras y números, no pueden contener el nombre del usuario ni ser un blanco.
4. Envejecimiento y expiración de contraseñas. Cada cierto tiempo se fuerza a cambiar la contraseña. Se obliga a no repetir ciertas cantidad de las anterior. Se mantiene un periodo forzoso entre cambios, para evitar que se vuelva a cambiar inmediatamente y se repita la anterior.
5. Ataque preventivo. Muchos administradores utilizan crackeadores para intentar atacar las contraseñas de su propio sistema en busca de debilidades.


CONTRASEÑAS DE UN SÓLO USO
Las contraseñas de un solo uso (ONE-Time Passwords) son uno de los mecanismos de autentificación más seguros, debido a que su descubrimiento tan solo permite acceder al sistema una vez. Además, en muchas ocasiones se suelen utilizar dispositivos hardware para su generación, lo que las hace mucho más difíciles de descubrir.
Ejemplos de este tipo de contraseñas serian las basadas en funciones unidireccionales (sencillas de evaluar en un sentido pero imposible o muy costoso de evaluar en sentido contrario) y en listas de contraseñas.
Se distinguen tres tipos de contraseñas de un solo uso:
1. Las que requieren algún dispositivo hardware para su generación, tales como calculadoras especiales o tarjetas inteligentes (Token Cards).
2. Las que requieren algún tipo de software de cifrado especial.
3. Las que se basan en una lista de contraseñas sobre papel.
La tarjeta genera periódicamente valores mediante a una función secreta y unidireccional, basada en el tiempo y en el número de identificación de la misma.

El usuario combina el número generado por la tarjeta con su palabra de paso para obtener el password de entrada, lo que le protege en caso de robo o perdida.

Formación y Concienciación en Seguridad de la Información

En los tiempos que corren no hay empresa (salvo casos particulares de pequeño comercio) que se precie que no use algún tipo de sistema de la información. Hemos sido “invadidos” por las nuevas tecnologías en cuestión de 10 años sin apenas darnos ni cuenta, imponiendo a muchas personas el uso de herramientas que desconocen. Me pongo en el ejemplo de un empleado de una oficina que antes usaba una máquina de escribir para hacer su trabajo y que luego guardaba todos sus documentos en papel en algún rincón de la oficina. Ahora su situación ha cambiado: tiene un ordenador con conexión a internet, tiene correo electrónico, navega por internet y guarda sus documentos más importantes dentro del disco duro del ordenador, pero nadie le ha contado qué es eso de los virus, los troyanos, las actualizaciones de seguridad, el spam, el phishing, la ingeniería social, etc etc etc…¿Problemas?, muchos:

Desconocimiento del usuario de las principales amenzas que “corren” por la red
Falta de formación en las nuevas tecnologías para hacer un correcto uso de las mismas
Falta de concienciación en seguridad de la información
Ignorancia de las consecuencias que puede tener para él y para su empresa la materialización de alguna de las amenazas
Desconocimiento del riesgo que se sufre internamente en las empresas y los problemas de seguridad que podría ocasionar: empleados descontentos, demasiada ambición por crecer en la empresa, problemas personales con otros empleados, envidias, …
Por todo esto se hace indispensable darle a nuestros empleados y usuarios de nuestros sistemas la formación necesaria para que cuando una de estas amenazas se materialice sepan cómo reaccionar.

El primer muro defensivo ante los nuevos riesgos tecnológicos somos nosotros mismos. Si conocemos el problema sabremos cómo solucionarlo, o al menos identificaremos que se trata de una amenaza y que tenemos que avisar al responsable de seguridad.

El otro factor importantísimo es la concienciación, que no es lo mismo que la formación: es más peligroso un usuario sin concienciación que un usuario sin formación. Ejemplo más vistoso: es más peligroso un conductor experto sin concienciación a la hora de llevar una conducción responsable ( y que ponga en peligro no sólo su vida si no las de los demás conductores) que un novato con la “L” que aunque no tiene mucha pericia al volante sabe de los riesgos que hay en la carretera y conduce de forma adecuada. En la informática pasa lo mismo: es más peligroso un usuario con conocimientos informáticos pero que no tiene ninguna prudencia en el uso de su equipo que un usuario sin conocimientos que es consciente de los peligros que acechan al otro lado del monitor.

Para poder acometer con garantías un plan de concienciación hay que tener en cuenta el público al que va dirigido, las circunstancias de la empresa en la que se va a implementar el plan, sucesos de seguridad anteriores que nos valdrán como ejemplo, hablar de medidas se seguridad básicas para usuarios, etc.

Hay muchas documentación al respecto en internet, por ejemplo un documento de ENISA sobre cómo elaborar planes de formación y concienciación, y del que ya hablamos aquí un día.
Referencias:
http://seguridad.crackvan.net/?p=51-Texto orignial.

UNA APLICACION DE BUSINESS INTELLIGENCE (EIS COMERCIAL Y EIS MARKETING) QUE PUEDE SOLUCIONAR LOS PROBLEMAS DE INFORMACIÓN COMERCIAL Y DE MARKETING DE

Una empresa líder en el sector de venta directa de perfumería a nivel nacional, con más de 1.200 empleados repartidos en dos plantas, necesita acceder fácilmente tanto a la información financiera como comercial, que se encuentra fragmentada y atomizada en hojas excel, para poder tomar decisiones acertadas y a tiempo.
SLa situación de partida

Los principales problemas con los que se enfrentaba esta empresa eran:
Dificultad para acceder a la información
Toma de decisiones fuera de tiempo
Cada área de la empresa analizaba de forma diferente los indicadores del negocio
Falta de datos consolidados
"Islas" de información Excel
Información incompleta y sin jerarquizar
Falta de una herramienta ágil para visualización

Todo ello creaba incoherencias en la toma de decisiones y necesidades muy altas del uso de los recursos del departamento de Tecnologías de la Información, el cual, debido a la necesidad de información de los usuarios, aumentaba en personal, máquinas, y horas extra. Esto provocaba toma de decisiones tardías, debido a:
Imposibilidad de obtener la información en el momento preciso
La información muy relevante estaba "escondida" en distintos pc's de la organización
Los procesos informáticos eran muy lentos debidos a las consultas realizadas por los distintos usuarios, sin orden ni procedimiento.
Además de los problemas tangibles, existían los intangibles:
Descontento de los empleados y tomadores de decisiones por la precariedad de las herramientas de toma de decisiones
Adelanto de la competencia que ya había implantado estas soluciones y poseía una clara ventaja competitiva
Infrautilización de las capacidades de los ejecutivos de la empresa.

La solución propuesta
Utilizando la metodología propia, se diseñó, desarrolló e implementó un Sistema de información Ejecutiva para el Area Comercial y el Area de Marketing. La fuente de la cual fueron extraídos los datos fue el ERP propio en AS/400. La tecnología implementada fue Cognos® Powerplay, Windows e Impromptu Windows como front-end, Impromptu Administrator y PowerPlay Transformation Server para la generación de Cubos.

Se definieron envíos automáticos de información vía email de archivos generados con herramientas BI, y transformados a archivos "pdf" de Acrobat, que se generaban con la nueva información proveniente del sistema de gestión cada día, y eran recibidos en el correo de los distintos usuarios, todo de manera automática. Se elaboraron los cubos necesarios para que los analistas de cada área pudieran elaborar toda una batería de informes, de tal forma que cada día esos informes fueran renovados de manera automática, y estuvieran disponibles para todos los decisores y gestionadores de información de le empresa.

Se implementaron 2 cuadros de mando, operativos para cada una de las áreas, que permitían el control por indicadores de cada área, y daban la posibilidad de ahondar en cada indicador hasta descubrir las causas y composiciones de cada valor en segundos.

Se integraron todas las hojas excel dispersas de la organización, de tal manera que los usuarios las mantenían, pero además integraban toda esta información, (previsiones, gastos, objetivos, etc) con la proveniente del sistema de gestión.
Además, con la navegación de cubos en excel de las herramientas de BI, se dio la posibilidad de que los usuarios acostumbrados a excel, navegaran el cubo desde excel e integraran información.

La metodología
La metodología que se siguió fue la que marca el procedimiento de implantación de Business Intelligence en toda su amplitud.
Análisis previo a la implantación
Asesoramiento en la elección de la aplicación de Business Intelligence más adecuada
Dirección de proyecto de implantación Business Intelligence, (BI).
Análisis y evaluación de la implantación.
Tiempo de implantación: 3 meses.


Resultados

Los resultados principales, medibles y objetivos fueron:
Se logró tener información para la toma de decisiones en tiempo y forma.
Reducción al mínimo del uso de plantillas Excel susceptibles a manipulación o integración de las mismas en los cubos OLAP.
Reducción de horas hombre en la preparación de informes
Liberación del personal de sistemas a tareas más acordes con el área
Incremento de productividad
Mejora en la calidad de datos
Reducción de costos

El ROI de la implantación fue de 5 meses.
Una vez finalizado el proyecto, la organización se encontraba en plena disposición de asumir nuevos retos y consolidar su posición de liderazgo en el mercado, tomando las mejores decisiones con expertos decisores en las áreas clave de negocio y un completo sistema de gestión de la información.

Referencias:

http://www.gestiopolis.com/Canales4/mkt/comoperfume.htm- Texto original.

http://www.improven.com

http://www.enavarroarrobamproven.com

Wednesday, January 30, 2008

REDES ATM - RESUMEN GENERAL

La tecnología ATM (Asynchronous Transfer Mode) continúa evolucionando y siendo fuente de interesantes y novedosas propuestas. El desarrollo de avanzados protocolos de comunicaciones es uno de los campos de investigación más activo, con la aspiración de ofrecer el adecuado soporte a las nuevas aplicaciones adaptadas a las clases de servicio nativas ATM. En este contexto son aspectos clave los relativos a los protocolos nativos ATM, así como las características multicast, la escalabilidad y la fiabilidad. Se profundiza en el concepto de protocolo nativo ATM y son introducidos los protocolos más importantes que satisfacen este importante requerimiento (N3, CONGRESS y kStack, entre otros). Es importante destacar también los protocolos de transporte pensados específicamente para la tecnología ATM. La característica multicast (multipoint-to-multipoint) es una de las que más esfuerzo está costando garantizar a ATM, pero existen ya propuestas que permiten la comunicación fiable a elevados anchos de banda y entre múltiples emisores y receptores (SMART, MCMP o MWAX). El artículo concluye con las investigacioness más novedosas en torno a los protocolos ATM como las iniciativas que proponen redes ATM programables o activas (active networks) usando agentes móviles.

1. INTRODUCCIÓN Y MOTIVACIONES

La actual demanda de aplicaciones relacionadas con información multimedia, como son la video-conferencia, audio-conferencia, video bajo demanda (VoD) o sistemas colaborativos (pizarras compartidas, teletrabajo, telemedicina, etc.) y su coexistencia con aplicaciones más clásicas (bases de datos, transferencias de ficheros, WWW, etc.), requiere tecnologías de comunicaciones capaces de ofrecer elevadas prestaciones. Estas elevadas prestaciones están directamente relacionadas con la calidad de servicio (QoS) y concretamente con conceptos claramente parametrizables como el ancho de banda y la velocidad de transmisión (throughput), el retardo de las transferencias (delay); la variabilidad en el retardo (jitter); la fiabilidad (reliability) de las transmisiones; las características de multidifusión a grupos dispersos de usuarios (multicast) y la posibilidad de gestionar múltiples clases de servicio o flujos de información en redes multiclass.

Para que las nuevas tecnologías en comunicaciones puedan ofrecer estas características es necesario revisar, potenciar y ampliar las actuales arquitecturas, servicios y protocolosde comunicaciones. En los últimos dos o tres años, las investigaciones en el campo de ATM están dado lugar a importantes propuestas cuyo principal objetivo es ofrecer a las aplicaciones demandadas actualmente algunas o todas las características citadas anteriormente.

Presentamos en este trabajo los conceptos y propuestas más novedosas en el contexto de ATM para ayudar al lector interesado en el dinámico, complejo y sofisticado campo de los protocolos de comunicaciones. Realizamos la revisión de algunos de los más importantes conceptos, técnicas, ideas y mecanismos en protocolos de altas prestaciones para redes de tecnología ATM. El principal objetivo de este documento es ofrecer una actualizada visión general, no extensiva ni profunda, de los protocolos propuestos y en desarrollo para dotar a las diversas clases de servicio ATM de las citadas características de calidad de servicio que aporten las potenciales elevadas prestaciones que la tecnología ATM es capaz de ofrecer.

El resto del documento está estructurado de la siguiente forma. La sección 2 revisa el concepto de protocolo nativo centrado en el contexto de las redes ATM. La sección 3 describe las propuestas más interesantes actualmente en materia de protocolos de transporte. El apartado 4 comenta las transferencias multicast como un importante objetivo para una tecnología orientada a la conexión como es ATM. Concluimos en la sección 5 con los campos de investigación abiertos recientemente como son las redes activas y los procolos booster.

2. Historia de ATM

La primera referencia del ATM (Asynchronous Transfer Mode) tiene lugar en los años 60 cuando un norteamericano de origen oriental perteneciente a los laboratorios Bell describió y patentó un modo de transferencia no síncrono. Sin embargo el ATM no se hizo popular hasta 1988 cuando el CCITT decidió que sería la tecnología de conmutación de las futuras redes ISDN en banda ancha (rec I.121). Para ello, los valedores del ATM tuvieron primero que persuadir a algunos representantes de las redes de comunicaciones que hubieran preferido una simple ampliación de las capacidades de la ISDN en banda estrecha. Conseguido este primer objetivo y desechando los esquemas de transmisión síncronos, se empezaron a discutir aspectos tales como el tamaño de las celdas. Por un lado los representantes de EEUU y algún otro país proponían un tamaño de celdas grande de unos 128 bytes. Sin embargo para los representantes de los países europeos el tamaño ideal de las celdas era de 16 bytes, y señalaban que un tamaño de celda de 128 bytes provocaría retardos inaceptables de hasta 85 ms. Este retardo no permitiría la transmisión de voz con cierto nivel de calidad a la vez que obligaba a instalar canceladores de eco. Después de muchas discusiones y ante la falta de acuerdo, en la reunión del CCITT celebrada en Ginebra en Junio de 1989 se tomó una decisión salomónica: “Ni para unos ni para otros. 48 bytes será el tamaño de la celda”. Para la cabecera se tomó un tamaño de 5 bytes. Un extraño número primo 53 (48+5) sería el tamaño definitivo, en octetos, de las células ATM. Un número que tuvo la virtud de no satisfacer a nadie, pero que suponía un compromiso de todos los grupos de interés y evitaba una ruptura de consecuencias imprevisibles.

3. Principios de funcionamiento

Con esta tecnología, a fin de aprovechar al máximo la capacidad de los sistemas de transmisión, sean estos de cable o radioeléctricos, la información no es transmitida y conmutada a través de canales asignados en permanencia, sino en forma de cortos paquetes (celdas ATM) de longitud constante y que pueden ser enrutadas individualmente mediante el uso de los denominados canales virtuales y trayectos virtuales.


Figura 1.- Diagrama simplificado del proceso ATM
En la Figura 1 se ilustra la forma en que diferentes flujos de información, de características distintas en cuanto a velocidad y formato, son agrupados en el denominado Módulo ATM para ser transportados mediante grandes enlaces de transmisión a velocidades (bit rate) de 155 o 622 Mbit/s facilitados generalmente por sistemas SDH.
En el terminal transmisor, la información es escrita byte a byte en el campo de información de usuario de la celda y a continuación se le añade la cabecera.
En el extremo distante, el receptor extrae la información, también byte a byte, de las celdas entrantes y de acuerdo con la información de cabecera, la envía donde ésta le indique, pudiendo ser un equipo terminal u otro módulo ATM para ser encaminada a otro destino. En caso de haber más de un camino entre los puntos de origen y destino, no todas las celdas enviadas durante el tiempo de conexión de un usuario serán necesariamente encaminadas por la misma ruta, ya que en ATM todas las conexiones funcionan sobre una base virtual.
PROTOCOLOS NATIVOS ATM

Las aplicaciones nativas ATM están específicamente pensadas para usar la tecnología ATM y para explotar al máximo sus especiales características. Los protocolos nativos se encargan, por tanto, de ofrecer esas características intrínsecas de las redes de tecnología ATM (soporte de QoS, señalización, direccionamiento, etc.) a las aplicaciones nativas ATM (VoD, pizarras compartidas, video-conferencia...). No obstante, existen también activas investigaciones para conseguir soportar sobre redes ATM aplicaciones no nativas ATM desarrolladas para otras tecnologías (IP, Frame Relay, SMDS...).

En [1], el termino native ATM services define servicios ATM específicos disponibles para el software y hardware residentes en dispositivos de usuario UNI ATM. Por consiguiente, el programador de aplicaciones dispone de nuevos servicios entre los que se pueden destacar los siguientes:

* Transferencias de datos (fiables o no) usando la capa ATM y varias capas de adaptación (AALs).

* Disponibilidad de circuitos virtuales conmutados (SVCs) y circuitos virtuales permanentes (PVCs).

* Consideraciones relativas a la gestión de tráfico (clases de servicio, garantías de QoS, etc.).

* Posibilidad de distribución de conexiones y de participación local en la administración de la red (protocolos ILMI y OAM).

El propósito de los servicios nativos ATM es ofrecer el acceso a las clases de servicio o a las características de QoS en redes ATM. Estos servicios nativos también ofrecen soporte a un amplio y heterogéneo rango de flujos con diversas propiedades y requerimientos recomendados en [1] .

Los protocolos de transferencia nativos ATM gestionan la señalización UNI para establecer los SVCs, configurar PVCs y mapear los perfiles de QoS en la correspondiente clase de servicio. Los protocolos nativos también realizan funciones clásicas como las de transporte, mecanismos de control de errores, transferencia de datos, y controles de flujo y de congestión.

En la referencia [1] se especifica la definición semántica de los servicios y consideramos que es útil contrastar esta semántica con las redes ATM actuales que usan TCP como capa de transporte e IP-over-ATM como capa de red, planteamiento, por otro lado, poco adecuado [2] por las siguientes razones:

* Las redes IP no garantizan la QoS extremo-extremo ofrecida por las redes ATM a circuitos individuales. IP multiplexa múltiples conexiones de transporte con distintos requerimientos de QoS en VCs simples.

* TCP no soporta células RM (Resource Management) ABR y por consiguiente no puede usar directamente las garantías de QoS ofrecidas por la red.

* ATM Adaptation Layer 5 (AAL5) realiza labores de checksum para detectar corrupción de datos. TCP también realiza estas labores (redundantes con AAL5) costosas en overhead (cada byte de un paquete debe ser chequeado).

* TCP/IP son la representación de un grupo de protocolos bastante más antiguos que ATM y que ya han experimentado determinados arreglos y evoluciones lo mismo que las aplicaciones que los emplean, lo que acaba dando, en algunos casos, inadecuados comportamientos.

Estos y otros problemas son eliminados usando pilas de protocolos en modo nativo ATM que son revisados en este apartado. La Fig. 1 muestra el modelo de referencia para servicios nativos ATM [1]. Además, las siguientes razones [2] justifican el desarrollo de pilas de protocolos nativos ATM:

* En la actualidad existen muchas aplicaciones pensadas para explotar avanzados servicios usando tecnología ATM y también existen antiguas y no nativas aplicaciones. Este escenario implica cambiar las aplicaciones o proponer nuevas pilas de protocolos nativos ATM.

* La encapsulación consecutiva de paquetes genera problemas de overhead y funciones redundantes como se ha argumentado anteriormente.

* La limitación de recursos en los sistemas finales es otra importante motivación para usar pilas de protocolos nativos y ligeros.

* La QoS ofrecida por el modo nativo es aprovechada por los usuarios para demandar recursos a los proveedores de servicios en redes privadas. Los proveedores de servicios públicos disfrutan también de estas ventajas.

* ATM, RDSI y la telefonía ofrecen un esquema de direccionamiento universal basado en NSAP/E.164 el cual es capaz de enrutar tráfico de forma nativa. Por tanto, aunque ATM dispone de protocolos nativos con direccionamiento intrínceso estructurado y jerárquico, éste no es aprovechado por las aplicaciones que están basadas en IP. El esquema de direccionamiento ATM es una de las principales dificultades en los protocolos propuestos como nativos [2].

ATM Forum ha definido las especificaciones y también existen importantes investigaciones en torno a los protocolos nativos ATM. En esta sección se muestran las propuestas más importantes y actuales en materia de protocolos nativos ATM[2], [7], [8], [9], [10], [11], [12] que, a su vez,están sirviendo de base para nuevas investigaciones.





presentan el diseño, implementación y comportamiento de una pila en modo nativo ATM y contrasta la semántica de su capa de transporte con TCP. Este trabajo es diferente a IP-over-ATM, y justifica el uso de la pila nativa ATM para solventar automáticamente los siguientes problemas:

* IP-over-ATM no ofrece garantía de QoS pues sus aplicaciones sólo "ven" la interfaz IP.

* El núcleo de los sistemas operativos y los sistemas finales son sobrecargados con considerable complejidad pues el subsistema IP-over-ATM debe encargarse de las peticiones de la señalización.

* IP-over-ATM debe emular el routing IP sobre conexiones punto-a-punto de la red ATM lo que supone pagar un elevado precio en prestaciones.

La capa de transporte propuesta en [8] ha sido construida para minimizar el overhead y sacar ventaja de AAL5. Ofrece, entre otras características, la entrega fiable y no fiable de datos con control de flujo. Este protocolo de transporte es ampliado en la sección 5.

[2] presenta N3 (Native Non-broadcasting medium access Networking) un protocolo de transporte ligero y nativo ATM. La pila N3 se ha diseñado para ofrecer avanzados servicios multimedia a comunidades residenciales. El documento describe una arquitectura capaz de ofrecer aplicaciones nativas ATM. La pila de protocolo de transporte N3 se basa en implementaciones previas [8] y, además, aporta otras importantes novedades. Los principales componentes de N3 incluyen una API sockets ATM nativa, un protocolo de transporte ATM y un servicio de nombres ATM (Fig.2).

El protocolo de transporte ATM propuesto en [2] ofrece soporte para tres diferentes tipos de servicio: entrega garantizada (mecanismos de retransmisión), velocidad garantizada (mecanismo leaky bucket) y servicio best-effort. Otro objetivo principal de la pila ATM es su compatibilidad con aplicaciones tradicionales sin necesidad de recompilaciones.

[9] presenta una arquitectura de servicio ATM en modo nativo capaz de ofrecer a las aplicaciones nativas ATM acceso completo a las diversas clases de servicio ATM. Los elementos de la arquitectura propuesta se responsabilizan de las transferencias eficientes de datos sobre ATM, del control de errores extremo-extremo, del control de flujo y congestión de la transferencia de datagramas y de la multiplexación de VCs. La referencia [9] introduce los componentes de la arquitectura, sus funcionalidades y capacidades. Los mayores esfuerzos del protocolo se centran en maximizar la efectividad del rendimiento extremo-extremo en canales de datos que usan la clase de servicio UBR.

La Fig. 3 presenta los elementos de Native Mode Service Architecture donde el Flow Management es el componente más importante. El Flow Management se responsabiliza de manipular los flujos de datos desde y hasta la red vía la interfaz AAL. La segmentación, el reensamblado y el control de errores es también realizada por esta entidad. Para las clases de servicio CBR, VBR y ABR se emplea un sencillo esquema de control llamado Back-Pressure Flow. Para servicios UBR se emplea un control de congestión y de flujo extremo-extremo más complejo.






describe la semántica de una pila de protocolos y explora una nueva arquitectura de protocolo adaptada a la tecnología ATM y a las aplicaciones multimedia. El diseño está basado en tres principios básicos: separación de flujos de control y de datos; minimización del overhead y de la duplicidad de funciones; y acceso de las aplicaciones al nivel ATM con garantías de QoS.

La idea es mezclar el soporte nativo ATM en la estructura existente del protocolo (Fig. 4) que muestra dos caminos separados en el protocolo: la familia nativa ATM y la familia del protocolo IP. Las aplicaciones que tienen acceso transparente a la red ATM usan la familia del protocolo PF_INET. El mapeo de IP en ATM es gestionado por la interfaz de red ATM (IF_ATM) usando el protocolo IP-over-ATM.

La interfaz Native ATM es constituida por la familia de protocolos PF_ATM que es directamente soportada encima del dispositivo de red ATM sobrepasando la capa interfaz de red. El módulo CNTL abre una conexión de señalización con el dispositivo ATM y establece una gestión de las llamadas de mensajes de configuración.

PF_ATM separa flujos de datos y de control para aliviar el límite de comportamiento en las comunicaciones. Esto permite a los mecanismos de control de tráfico ser rápidos y sencillos, mientras los mecanismos de control pueden ser tan complicados como sea necesario. Esta separación permite también que los dispositivos puedan estar en los puntos finales de una conexión.

La interfaz PF_ATM da a las aplicaciones acceso directo a la capa de enlace ATM y extiende las garantías de QoS a los puntos extremos de la comunicación.

Un segundo prototipo[7] es diseñado e implementado con dos objetivos principales en la optimización de la pila nativa ATM:

* Optimizar los caminos de datos entre los adaptadores ATM aprovechando la separación de flujos de control y de datos y la capacidad de gestión de datos específicos de las conexiones de la pila ATM.

* Optimizar el procesamiento de overheads usando una pila de protocolos nativo ATM en lugar de UDP/IP.

[11] introduce CONGRESS (CONnection oriented Group-address RESolution Service), otro eficiente protocolo nativo ATM para la resolución y gestión de direcciones de grupos multicast en una red ATM. El servicio CONGRESS resuelve direcciones de grupo multicast y mantiene los miembros pertenecientes a esos grupos para uso de las aplicaciones. CONGRESS ofrece escalabilidad con su diseño basado en los dos siguientes principios:

* Diseño jerárquico: los servicios del protocolo son ofrecidos a las aplicaciones por múltiples servidores organizados jerárquicamente.

* No inundación: se evita la inundación de la WAN en cada cambio de grupos multicast.

La referencia [12] presenta kStack, una nueva capa de transporte nativa ATM en el espacio de usuario con soporte de QoS. Esta implementación sobre Unix y Windows NT está basada y es compatible con los trabajos originales de Ahuja, Keshav y Saran [8] Native-Mode ATM Stack comentados anteriormente. El protocolo kStack es similar al original, pero se ha modificado sustancialmente en aspectos como su implementacion en el espacio de usuario, se ha ampliado implementando una capa de transporte con QoS y se ha añadido un módulo que monitoria la QoS extremo-a-extremo.

4. Protocolos de transporte para redes ATM

En los dos o tres últimos años ha habido numerosos e interesante intentos por diseñar protocolos de transporte. La referencia [10] presenta un completo y, ya clásico, resumen de las propuestas más interesantes en materia de protocolos de transporte para redes de alta velocidad (mayoritariamente IP en el artículo). Además, la referencia [13] ofrece una interesante visión de las características más importantes en los protocolos de elevada velocidad. Son estudiadas también diversas arquitecturas de protocolos y varias técnicas de implementación. Los protocolos de transporte de elevada velocidad son fuente de activas investigaciones y están en constante evolución desde hace más de dos décadas, lo que impide ser exhaustivo en este resumen: no citamos todos los protocolos, ni presentamos todos los conceptos ni podemos analizar todas las soluciones.

Uno de los componentes del ámbito de las comunicaciones que ha recibido mayor atención es la capa de transporte, la cuarta capa del OSI-RM de los protocolos de comunicaciones. TCP e ISO TP4 son los dos más populares protocolos de transporte. Pero centrándonos más concretamente en el ámbito de ATM, la literatura presenta varios protocolos de transporte y arquitecturas para redes de alta velocidad revisadas resumidamente a continuación.

[7] ofrece una excelente y didáctica arquitectura de pila de protocolos para aplicaciones multimedia en modo nativo ATM. Esta arquitectura de protocolo ha sido ya descrita brevemente en la sección anterior.

[8] presentan el diseño, implementación y comportamiento de un protocolo situado en la capa de transporte ATM. Esta es una interesante propuesta en la que se puede destacar que la pila ATM está formada por tres entidades principales: aplicación, señalización y transporte.

La siguiente Tabla 1 muestra un conjunto de nueve básicos servicios ortogonales que pueden ser combinados para obtener los requerimientos de determinadas aplicaciones. Actualmente, la capa de transporte referenciada en soporta tres clases de servicio o combinación de servicios. La marca X indica el servicio básico soportado en cada clase de servicio general.

resuelve el problema de soportar HPDC (High Performance Distributed Computing) sobre redes ATM. Los autores sugieren modificaciones en los mecanismos de recuperación de pérdidas del protocolo estándar SSCOP [14] y demuestran que el resultado ofrece baja latencia, eficiente recuperación de células perdidas y es tan robusto como el estándar SSCOP.

PROTOCOLOS MULTIPOINT

El crecimiento de las redes ATM viene motivado, en parte, por la demanda de servicios multimedia para grupos dispersos de usuarios. El tráfico multicast tiene características particulares descritas para ATM en UNI 4.0 [6] y anteriores [5]. La distribución de información punto-a-multipunto (uno-a-muchos) o multipunto-a-multipunto (muchos-a-muchos) es un objetivo básico propuesto por varios protocolos y arquitecturas ATM que ofrecen el soporte multimedia y/o multicast como audio-conferencia, video-conferencia, trabajos colaborativos o VoD.

ATM es aún una tecnología emergente diseñada para ser usada por aplicaciones de datos, audio y video, lo que requiere un buen comportamiento de las transferencias unicast y multicast. User Network Interface (UNI 3.0) para ATM define conexiones punto-a-multipunto, y las conexiones multipunto-a-multipunto sólo pueden ser obtenidas de las dos siguientes formas:

* El primer esquema consiste en configurar N conexiones punto-a-multipunto para conseguir conectar todos los nodos en una topología completamente mallada todos-con-todos. Aunque esta topología ofrece conexiones multipunto-a-multipunto, hay que destacar que no escala bien cuando el número de participantes es elevado.

* Una alternativa al anterior esquema es el uso de un servidor que actúa a modo de raíz en el árbol multipunto. Este método sólo requiere un nodo raíz para almacenar información, pero la desventaja de este método son las potenciales congestiones en el servidor cuando debe encargarse de envíos y retransmisiones de las conexiones multipunto-a-multipunto.

Para solventar las limitaciones de UNI 3.0 y UNI 3.1 [5] que soportan conexiones uno-a-muchos, pero no directamente (nativamente) conexiones muchos-a-muchos, y ofrecer a ATM verdadero servicio multicast, ATM Forum, ITU-T e IETF han realizado varias propuestas al actual mecanismo de señalización ATM (UNI 3.1, UNI 4.0), [4],[5],[6].

Comenzamos destacando la referencia [16] como un reciente trabajo que revisa y compara los protocolos de transporte multicast más importantes en Internet como MTP-2, XTP, RTP, SRM, RAMP, RMTP, MFTP, STORM, etc.. IETF e IRTF (como ITU-T y ATM Forum) también impulsan una importante actividad en este campo. La referencia [16] revisa los más representativos protocolos multicast y los clasifica de acuerdo a la taxonomía de varias características (propagación de datos, mecanismos de fiabilidad, retransmisiones, control de congestión y de flujo, gestión de grupos multicast, etc.). En Internet los mecanismos efectivos de control de congestión son una de las prioridades en las investigaciones de las transferencias multicast fiables. Los mecanismos de seguridad y las técnicas escalables de recuperación de errores son algunos de los aspectos actualmente en estudio en el campo de los protocolos de transporte multicast.

Hasta este punto hemos revisado algunos protocolos de transporte ATM y hemos citado sus más importantes características. En esta sección comentaremos los problemas asociados a las transferencias multicast uno-a-muchos o muchos-a-muchos. Actualmente no existen excesivas propuestas en este importante faceta para ATM, pero vamos a resumir algunas de las más interesantes en los siguientes párrafos.

SMART (shared many-to-many ATM reservations)[3] es un protocolo para controlar un árbol ATM multicast compartido soportando comunicaciones muchos-a-muchos (many-to-many). Esta propuesta tiene importantes características como que: reside completamente en la capa ATM y no requiere ningún servidor; soporta uno o varios VCCs (y también VPCs) cuyo número es libremente configurado y es independiente del número de puntos finales; usa el concepto de bloques de datos como en la clase de servicio ABT y también permite VCCs de las clases CBR, VBR o UBR; el protocolo garantiza que no existen puntos de interrelación en los VCC del árbol; son respetadas las garantías del contrato de tráfico asociado con los VCCs, etc. SMART puede ser entendido como un protocolo completamente distribuido para coordinar la distribución de VPIs/VCIs.

Para solventar las conocidas dificultades debidas al soporte y uso de muchos-a-muchos VCCs, SMART usa el mecanismo de Cell Interleaving (sobre un VCC muchos-a-muchos, las células de datos desde diferentes fuentes pueden llegar intercaladas a un destinatario) y también Demand Sharing (los recursos asignados a conexiones muchos-a-muchos son dinámicamente compartidas entre todas las potenciales fuentes.

El artículo [3] describe el protocolo SMART formal e informalmente, y propone completas pruebas de corrección y un detallado análisis de comportamiento para estudios futuros. También son sugeridas otras investigaciones como son: ofrecer justicia en los accesos a los árboles multicast; investigar las células RM periódicamente para aliviar las congestiones en la red o disminuir el tiempo de acceso del usuario a los árboles de distribución multicast; análisis de las células RM dentro de cada VCC o fuera enviando todas las células RM en un VCC dedicado.

En [17] se presenta MWAX un algoritmo dinámico y escalable para routing multicast en el marco PNNI de redes ATM. Los autores han identificado el problema para conseguir la escalabilidad con protocolos multipunto-a-multipunto y se proponen soluciones para este problema. El artículo describe un esquema jerárquico basado en CBT para incorporar routing multipunto-a-multipunto en PNNI. En el algoritmo los nodos core actúan como participantes pasivos para eliminar la dependencia en la selección de estos nodos. Con un mecanismo de backup se consigue un algoritmo tolerante a fallos en los nodos core, lo cual puede ser fácilmente extendido para incorporar QoS en el routing multicast. El protocolo-algoritmo MWAS es recursivo, esto es, el mismo protocolo es ejecutado en cada nivel de la jerarquía.

SEAM (Scalable and Efficient ATM Multicast) [18] propone una arquitectura escalable, eficiente y multicast multipunto-a-multipunto para redes ATM que usa un sólo VC para un grupo multicast de múltiples emisores y receptores y todo ello sin realizar cambios en la capa AAL5 de ATM. Esta propuesta permite a los grupos multicast aprovechar el soporte de QoS y la escalabilidad del ancho de banda. También realiza aportaciones para conseguir soportar IP multicast sobre redes ATM extensas.

SEAM usa un sólo árbol de distribución compartido para todos los emisores y receptores. Cada grupo multicast tiene un core asociado, el cual se usa como punto focal para todos los mensajes de señalización del grupo. Este trabajo deja abiertas investigaciones referentes a la gestión de tráfico y a la entrega fiable de tráficos multicasting.

Concluimos esta sección destacando MCMP (Multiparty Conference Management Protocol) [19] que, sin estar pensado específicamente para ATM, es un protocolo de nivel sesión/transporte distribuido extremo-extremo y desarrollado para gestión de grupos de aplicaciones de conferencia. MCMP es un conjunto de algoritmos de control distribuido para configuración de conferencias multipunto y gestión de miembros de grupos de usuarios.

Conceptualmente, MCMP reside en el nivel de sesión en el que se establece la infraestructura para activar la transferencia de información entre los participantes en la conferencia. Pero funcionalmente, el protocolo acompasa los niveles de sesión y de transporte pues utiliza directamente servicios del nivel de red. Son destacables las condiciones de corrección (conectividad, validación, unicidad, consistencia y terminación) que deben ser satisfechas una vez que la conferencia ha sido configurada por el algoritmo de configuración de MCMP. El artículo muestra exhaustivas pruebas de corrección para uno de los algoritmos, y también describe la especificación y verificación del protocolo.
5.- Nuevos campos de investigación

En todas las redes existen gran variedad de elementos hardware (switchs, routers, bridges, brouters, hubs, ETDs, etc.) que realizan muy diversas funciones (conmutación, routing, puenteo, controles de congestión y de flujo, garantía de QoS, ejecución de aplicaciones, etc.). En la actualidad la red es mayormente un canal de comunicación para transferir paquetes entre equipos finales (ayudada por los elementos hardware antes citados). Pero también se están realizando importante esfuerzos para equipar a los elementos hardware con elevadas prestaciones aportadas por diversas técnicas software. Esto dota a la red de características activas (active networks) en el sentido de que los elementos hardware que la componen computan, modifican u operan los contenidos de los paquetes y también serán capaces de transferir o propagar código. Por consiguiente, una red activa es una red programable.

[20] es una excelente revisión de este novedoso campo de investigación que discute dos planteamientos en la realización de redes activas, la idea del conmutador programable y la de la cápsula. Una red es activa si en sus árboles de distribución multicast existen nodos activos con capacidad para ejecutar programas y/o capaces de implementar mecanismos de propagación de código. Algunas de las ventajas de los protocolos activos son conseguidas instalando nodos activos en puntos estratégicos de la red.

Otro nuevo concepto es presentado en [21] como una metodología para el diseño de protocolos. Los protocol boosters son una nueva contribución a las redes activas o programables. Una ventaja de los boosters es que pueden ser fácilmente "inyectados" en los sistemas actuales sin provocar cambios en la infraestructura de red.

Por otro lado, [22] propone el concepto de agente de comunicaciones para servicios de comunicaciones multimedia en redes de área extensa. Este papel introduce una arquitectura software orientada a agente y propone el concepto de agente de comunicación para servicio de comunicación multimedia. Los servicios multimedia son expresados como agentes.

Los conceptos como redes activas, protocolos boosters o agentes software han sido propuestos y desarrollados para redes IP, sin embargo, la actividad empieza a notarse en las redes ATM, y la referencia [23] es una de esas recientes investigaciones. Este artículo muestra agentes software móviles usados para implementar operaciones robustas y funciones de mantenimiento en redes ATM. Los agentes desempeñan un rol similar al de las células OAM en ATM estándar, pues son transmitidos entre entidades de control a intervalos regulares usando recursos predefinidos. La diferencia entre los agentes móviles y las células OAM reside en que éstos pueden contener código. Para concluir destacar que la integración del tráfico IP sobre tecnología ATM es también uno de los campos más activos en la actualidad. En esta línea pueden destacarse los siguientes protocolos: IP-over-ATM, IP Switching, Tag Switching, NHRP, MPOA, IMSS, CSR, ARIS AREQUIPA,RED y EPD.