Criminalística Cibernética

99
1er CursoInternacionalde CriminalísticaCibernética Curso: Criminalística Cibernética Modulo: Informática Forense. DocenteResponsable: Alonso Eduardo Caballero Quezada PáginaWeb:http://alonsocaballero.informatizate.net Correoelectrónico:[email protected] Areade Sistemasde la Cámara de Comercio de la Libertad. BrainBenchCertified LinuxAdministration(Advanced) Integrantedel GrupoPeruanode Seguridad, Security Wari Projects Integrantedel Grupode Seguridadde hablahispana RareGaZz Security Team.. Integrantey WebMasterdel Portal de Noticiasde Trujillo, NoticiasTrujillo. Integrantedel Grupo informatizate. Númerode Horas: 16 HorasAcadémicas. Trujillo – Perú / 2005

Transcript of Criminalística Cibernética

Page 1: Criminalística Cibernética

1er Curso Internacional de Criminalística Cibernética

Curso: Criminalística Cibernética

Modulo: Informática Forense.

Docente Responsable:

Alonso Eduardo Caballero Quezada Página Web: http://alonsocaballero.informatizate.netCorreo electrónico: [email protected] de Sistemas de la Cámara de Comercio de la Libertad. BrainBench Certified Linux Administration (Advanced) Integrante del Grupo Peruano de Seguridad, Security Wari ProjectsIntegrante del Grupo de Seguridad de habla hispana RareGaZz Security Team..Integrante y WebMaster del Portal de Noticias de Trujillo, NoticiasTrujillo.Integrante del Grupo informatizate.

Número de Horas:

16 Horas Académicas.

Trujillo – Perú / 2005

Page 2: Criminalística Cibernética

1. Definiciones básicas

1.1 Sistemas Operativos:

Un sistema operativo (SO) es un conjunto de programas o software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de la máquina desde los niveles más básicos.

Hoy en día un sistema operativo se puede encontrar normalmente en ordenadores o productos electrónicos como teléfonos móviles.

a. DOS

DOS es una familia de sistemas operativos para PC. El nombre son las siglas de Disk Operating System ( sistema operativo de disco). Fue creado originalmente para computadoras de la familia IBM PC, que utilizaban los procesadores Intel 8086/8088 de 16 bits, siendo el primer sistema operativo popular para esta plataforma. Tenía una interfaz de línea de comandos vía su intérprete de comandos, command.com.

Existen varias versiones de DOS. El más conocido de ellos es el MS-DOS, de Microsoft (de ahí las iniciales MS). Otros sistemas son el PC-DOS, DR-DOS y, más recientemente, el FreeDOS.

Con la aparición de los sistemas gráficos del tipo Windows, el DOS ha ido quedando relegado a un segundo plano.

-MSDOS es un sistema operativo de Microsoft perteneciente a la familia DOS. Fue un sistema operativo para el IBM PC que alcanzó gran difusión.

MS-DOS significa MicroSoft Disk Operating System (Sistema operativo de disco MicroSoft), antiguamente Microsoft se escribía separado por un guión ("MicroSoft"). Al principio el MS-DOS se almacenaba en un único diskette.

- Características: El DOS carece por completo de interfaz gráfica, y no utiliza el ratón. Era incapaz de detectar el hardware (no existía el Plug-and-play), por lo que todo debía ser configurado manualmente.

No era ni multiusuario ni multitarea. No podía trabajar con discos duros muy grandes. Originalmente, por limitaciones del software, no podía manejar más de 64KB de memoria RAM. Poco a poco, con las mejoras en la arquitectura de los PCs, llegó primero a manejar 640KB (la llamada "memoria convencional"), y luego hasta 1 MegaByte (agregando a la memoria convencional la "memoria superior" o

Page 3: Criminalística Cibernética

UMB). Más tarde, aparecieron mecanismos como la memoria extendida (XMS) y la memoria expandida (EMS), que permitían ya manejar varios megabytes.

Desde el punto de vista de los programadores, este sistema operativo permitía un control total del ordenador, libre de las capas de abstracción y medidas de seguridad a las que obligan los sistemas multiusuario y multitarea. Así, hasta la aparición del DirectX, y con el fin de aprovechar al máximo el hardware, la mayoría de los videojuegos para PC funcionaban bajo DOS.

La necesidad de mantener la compatibilidad con programas antiguos, hacía cada vez más difícil programar para DOS, debido a que la memoria estaba segmentada, es decir, la memoria apuntada por un puntero tenía como máximo el tamaño de un segmento de 64KB. Para superar estas limitaciones del modo real de los procesadores x86, se recurría al modo protegido de los procesadores posteriores (80386, 80486...), utilizando programas extensores que hacían funcionar programas de 32 bits sobre DOS.

b. GNU/Linux:

GNU/Linux es la denominación defendida por Richard Stallman y otros para el sistema operativo que utiliza el kernel Linux en conjunto con las aplicaciones de sistema creadas por el proyecto GNU. Comúnmente este sistema operativo es denominado simplemente Linux.

Desde 1984, Richard Stallman y voluntarios están intentando crear un sistema operativo libre con un funcionamiento similar al UNIX, recreando todos los componentes necesarios para tener un sistema operativo funcional que se convertiría en el sistema operativo GNU. En el comienzo de los años 1990, después de seis años, GNU tenía muchas herramientas importantes listas, como compiladores, depuradores, intérpretes de comando etc, excepto por el componente central: el núcleo. Con el surgimiento del kernel Linux, esta laguna fue llenada y surgió el sistema operativo con el kernel Linux en conjunto con las herramientas GNU. De esta manera, Stallman juzga que este sistema operativo es una "versión modificada" del sistema GNU y por lo tanto debe tener la denominación GNU/Linux. Esta denominación resolvería la confusión entre el núcleo y el sistema operativo completo a que puede llevar, y de hecho ha llevado, la denominación Linux en solitario. Stallman también espera que con el aporte del nombre GNU, se dé al proyecto GNU que él encabeza el reconocimiento que merece por haber creado las aplicaciones de sistema imprescindibles para ser un sistema operativo compatible con UNIX. Es conocida la cita de Richard Stallman: «It's GNU/Linux, dammit!» («¡Es GNU/Linux, maldita sea!»).

Richard Stallman ha reconocido que desde que existe Linux el desarrollo de un núcleo específico del proyecto GNU (el Hurd) ya no es prioritario. Esto explica que

Page 4: Criminalística Cibernética

después de dos décadas desde el anuncio del proyecto GNU, un sistema únicamente GNU no esté acabado.

Algunas distribuciones apoyan esta denominación, e incluyen GNU/Linux en sus nombres, tal es el caso de Debian GNU/Linux o GNU/LinEx. En el proyecto Debian también existe Debian GNU/Hurd y Debian GNU/BSD que combinan las aplicaciones de sistema de GNU con esos núcleos.

En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.

Algunos sectores de la comunidad de usuarios del sistema operativo han rechazado la denominación GNU/Linux por varias razones, entre ellas que ya se había empezado a denominar Linux al sistema operativo antes de que Richard Stallman promocionase esta denominación. Otras personas se oponen a la postura ideológica de Stallman radicalmente en contra del software no libre y por ello son contrarios al uso de este nombre para evitar la promoción de las ideas del fundador del proyecto GNU. Otros sectores de la comunidad han reconocido la conveniencia de este nombre.

Hay que señalar que, al igual que es una simplificación denominar al sistema que usa el usuario final Linux, obviando las aplicaciones GNU que completan el sistema operativo, el conjunto linux+GNU representa solamente una parte (aunque importante) del software encontrado en una distribución Linux. Existe una gran cantidad de software original del sistema operativo BSD o producido independientemente de los proyectos GNU y Linux por otras personas u organizaciones, como por ejemplo Apache, el X Window System, Samba, KDE, OpenOffice.org y miles de otros.

- Distribuciones: Una distribución Linux, o distribución GNU/Linux (abreviada con frecuencia distro) es un conjunto de aplicaciones reunidas por un grupo, empresa o persona para permitir instalar fácilmente un sistema Linux (también llamado GNU/Linux). Son 'sabores' de Linux que, en general, se destacan por las herramientas para configuración y sistemas de paquetes de software a instalar.

Existen numerosas distribuciones Linux. Cada una de ellas puede incluir cualquier número de software adicional (libre o no), como algunos que facilitan la instalación del sistema y una enorme variedad de aplicaciones, entre ellos, entornos gráficos, suites ofimáticas, servidores web, servidores de correo, servidores FTP, etcétera.

La base de cada distribución incluye el núcleo Linux, con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software, como BSD.

Usualmente se utiliza la plataforma XFree86 o la Xorg para sostener interfaces gráficas (esta última es un fork de XFree86, surgido a raíz del cambio de licencia

Page 5: Criminalística Cibernética

que este proyecto sufrió en la versión 4.4 y que lo hacía incompatible con la GPL).servidores web, servidores de correo, servidores FTP, etcétera.

La base de cada distribución incluye el núcleo Linux, con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software, como BSD.

Usualmente se utiliza la plataforma XFree86 o la Xorg para sostener interfaces gráficas (esta última es un fork de XFree86, surgido a raíz del cambio de licencia que este proyecto sufrió en la versión 4.4 y que lo hacía incompatible con la GPL).

Interfaz de Comandos GNU/Linux Entorno visual en GNU/Linux

c. Windows:

Microsoft Windows es el nombre de una familia de sistemas operativos no libres desarrollados por la empresa de software Microsoft Corporation. Todos ellos tienen en común el estar basados en una interfaz gráfica de usuario basada en el paradigma de ventanas (de ahí su nombre en inglés). Las versiones de Windows que existen hasta el momento se basan en dos líneas separadas de desarrollo que finalmente convergen en una sola con la llegada de Windows XP.

Versiones basadas en MS DOS

La primera de esas líneas conformaba la apariencia de un Sistema Operativo, aunque realmente requerían otro sobre el que ejecutarse (MS DOS). Todos los Sistemas Operativos, desde Windows 1.0 a Windows ME necesitaban tener MS DOS instalado, aunque desde la aparición de Windows 95, podía instalarse Windows sobre un disco duro vacío, ya que durante su propia instalación, se

Page 6: Criminalística Cibernética

instalaba además una versión reducida de MS DOS. La arquitectura de Windows comenzó siendo de 16 bits, hasta Windows 95, donde pasó a funcionar bajo una arquitectura de 32 bits, aunque manteniendo bastantes módulos de 16 bits por razones de compatibilidad.

Windows 1.x 3.x, 95, 98, ME

Versiones basadas en NT (Network Technology)

La segunda linea de desarrollo (NT) se basaba en emplear desde el origen un sistema operativo en modo gráfico y con una arquitectura de 32 bits. Éste Sistema Operativo no requiere tener instalado ningún otro previamente. Incluye en todas sus versiones, un emulador de consola en modo texto. A modo de anécdota, Windows NT 4.0, en origen no era compatible con tarjetas gráficas AGP. Requería la instalación de un Service Pack o conjunto de parches (de la versión 3 en adelante), que permitian su detección y la instalación de sus controladores.

Windows NT 3.x, 4. 2000, XP, Server 2003

Pantalla de un Windows 3.11 Pantalla de un Windows XP

d. Macintosh:

Apple Macintosh (abreviado Mac) es el nombre de una serie de ordenadores fabricados y comercializados por Apple Computer desde 1984. Apple autorizó a otras compañías, como Motorola, Umax o PowerComputing para la fabricación de clones Macintosh en los 90, aunque en la actualidad sólo Apple comercializa ordenadores Macintosh.

Los primeros Macintosh estaban basados en los microprocesadores de la familia 68000 de Motorola, de tecnología CISC. En Marzo de 1994, Apple introdujo en la gama Macintosh los chips PowerPC del Consorcio Apple/IBM/Motorola, que

Page 7: Criminalística Cibernética

suponían el cambio a la tecnología RISC. Desde la introducción de los Power Mac G5 en Junio de 2003, utilizan el PowerPC de IBM.

Los Apple Macintosh son comercializados con el sistema operativo Mac OS X, con soporte integrado para el sistema operativo anterior: Mac OS 9, pero también es posible instalar en ellos Linux, NetBSD ó Darwin, entre otros.

Pantalla de un Mac

e. Novell Netware:Novell NetWare está en el mercado desde 1983, el mismo año en que IBM introdujo la computadora personal IBM XT y el DOS 2.0 para IBM PC. Cada uno de estos productos implantó estándares. El IBM XT fue la primera computadora de IBM que incorporaba un disco fijo, mientras que el DOS 2.0 para el IBM PC fue el primer sistema operativo de disco que controlaba discos fijos sin complementos especiales. Ambos generaron un sistema de estándares para el crecimiento de los PC hacia entornos y aplicaciones más sofisticadas basadas en ellos. NetWare iba a convertirse en el sistema operativo en red a elegir para estos equipos.

Novell desarrolló originalmente NetWare para ejecutarse en un servidor basado en el microprocesador Motorola MC68000 usando configuración de red Novell S-Net. La presentación del XT de IBM y la versión 2 del DOS hizo ver a muchas empresas, entre ellas Novell, la oportunidad de desarrollo del producto. Como el código de NetWare estaba escrito en C, que es un lenguaje de los denominados "portables", Novell pudo trasladar parte del código del NetWare existente al nuevo equipo.

Como es sabido, el entorno DOS/Intel 8088 no es el mejor para ejecutar aplicaciones multiusuario, especialmente un sistema operativo multiusuario como

Page 8: Criminalística Cibernética

NetWare. El BIOS (sistema básico de entradas/salidas), desarrollado para el PC original (y necesario con el DOS), está diseñado para monousuario. Novell tomó la importante decisión de dejar de lado completamente este sistema de E/S y crear un sistema operativo que funcionase de forma más efectiva en modo multiusuario. Debido a esto, NetWare se escribió específicamente para el hardware de los sistemas basados en el 8088, sin tener en cuenta el DOS y su sistema de E/S. Esta estrategia fue la que marcó la buena estrella de Novell desde entonces. Otras empresas que han desarrollado sus sistemas operativos de red para funcionar bajo DOS han sufrido sus limitaciones.

Las dificultades de Novell estribaron en la necesidad de escribir y actualizar constantemente los controladores para ofrecer compatibilidad con el DOS a los usarios. Estos problemas fueron solventados rápidamente usando un shell para DOS en las estaciones de trabajo. El shell es un interfaz software que permite a los usuarios de las estaciones trabajar con el DOS de forma normal, ejecutando también órdenes NetWare. El shell intercepta las órdenes de la red y las dirige al servidor. Casi todas las aplicaciones del DOS se pueden ejecutar en el sistema operativo NetWare, gracias a su shell para DOS. Además, NetWare incluye programas para seguridad y tolerancia a fallos que son imposibles de preparar en la de estructura de archivos del DOS, marcando un nivel claramente superior.

Mientras tanto, Novell siguió mejorando NetWare al ritmo de los avances tecnoló-gicos. NetWare 286 funciona en modo protegido del procesador 80286, el más efi -ciente. En 1989, Novell presentó NetWare 386, el primer sistema operativo que aprovechaba al máximo las ventajas del microprocesador Intel 80386. El 80386 es especialmente adaptable a entornos multiusuario, como las redes.

Pantalla de Novell Netware

Page 9: Criminalística Cibernética

1.2 Sistemas de Archivos:

Un sistema de archivos consta de tipos de datos abstractos, que son necesarios para el almacenamiento, organización jerárquica, manipulación, navegación, acceso y consulta de datos.

La mayoría de los sistemas operativos poseen su propio sistema de archivos. Los sistemas de archivos son representados ya sea textual o gráficamente utilizando gestores de archivos o shells. En modo gráfico a menudo son utilizadas las metáforas de carpetas (directorios) conteniendo documentos, archivos y otras carpetas. Un sistema de archivos es parte integral de un sistema operativo moderno.

Los sistemas de archivos más comunes utilizan dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la realidad, un sistema de archivos no requiere necesariamente de un dispositivo de almacenamiento de datos, sino que puede ser utilizado también para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red.

Generalmente un sistema de archivos tiene directorios que asocian nombres de archivos con archivos, usualmente conectando el nombre de archivo a un índice en una tabla de asignación archivos de algún tipo, como FAT en sistemas de archivos MS-DOS o los inodos de los sistemas Unix. La estructura de directorios puede ser plana o jerárquica (ramificada o "en árbol"). En algunos sistemas de archivos los nombres de archivos son estructurados, con sintaxis especiales para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente cadenas de texto y los metadatos de cada archivo son alojados separadamente.

En sistemas de archivos jerárquicos, en lo usual, se declara la ubicación precisa de un archivo con una cadena de texto llamada "ruta". La nomenclatura para rutas varía ligeramente de sistema en sistema, pero mantienen por lo general una misma estructura. Una ruta viene dada por una sucesión de nombres de directorios y subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados por algún caracter especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en el nombre de un archivo presente en la última rama de directorios especificada.

Page 10: Criminalística Cibernética

Los sistemas de archivos tradicionales proveen métodos para crear, mover y eliminar tanto archivos como directorios, pero carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio o archivo (enlaces "duros" en Unix) o renombrar enlaces padres (".." en Unix).

El acceso seguro a sistemas de archivos básicos puede estar basado en los esquemas de lista de control de acceso o capacidades. Las listas de control de acceso hace décadas que demostraron ser inseguras, por lo que los sistemas operativos experimentales utilizan el acceso por capacidades. Los sistemas operativos comerciales aún funcionan con listas de control de acceso.

Sistemas de Archivos populares:

a. FAT:

(File Allocation Table o "tabla de ubicación de archivos") es el principal sistema de archivos desarrollado para MS-DOS y Windows. El sistema de archivos FAT es relativamente sencillo, y debido a eso es muy popular como formato para disquetes. Adicionalmente, el formato FAT es soportado por casi todos los sistemas operativos para IBM PCs, y debido a esto a menudo se lo utiliza para compartir información entre diversos sistemas operativos.

FAT es un sistema de archivos relativamente anticuado, y debido a esto sufre de varios problemas. Para comenzar, su distribución de archivos simple permite la fragmentación, lo que produce eventuales pérdidas en el desempeño de operacio-nes sobre archivos. Luego, FAT no fue diseñado para redundancia en caso de fa-llos del sistema. Las primeras versiones de FAT permitían nombres de archivo de hasta 8+3 caracteres (8 para el nombre y 3 para la extensión) , aunque esto fue solucionado por Microsoft al inventar VFAT, el cual permite nombres de hasta 255 caracteres. Finalmente, los sistemas de archivos FAT no permiten directivas de seguridad, garantizando el acceso a todos los archivos de una partición por cual-quier usuario del sistema operativo.

FAT12

A la versión inicial de FAT se le nombra ahora como FAT12. Como sistema de archivos para disquetes, tiene varias limitaciones: no tiene soportes para directorios, las direcciones de clúster tenían una longitud de "sólo" 12 bits (que hacía que el código que manipulaba el FAT fuera un poco delicado) y el tamaño del disco era almacenado como una cuenta de 16 bits de sectores , lo que limitaba el tamaño a 32MB.

Page 11: Criminalística Cibernética

FAT16

FAT16 es una versión del sistema de archivos FAT que soporta hasta 65.535 unidades de asignación (direccionables con 16 bits, de ahí el nombre) de hasta 32 KB cada una. De todas las unidades de asignación, 18 están reservadas para el sistema. Por lo tanto, el tamaño máximo de una partición que use FAT16 es de unos 2 GB (65.535-18 x 32 KB).

Estructura de un Volumen FAT16

Page 12: Criminalística Cibernética

FAT32

FAT32 es una versión del sistema de archivos FAT que maneja en teoría hasta 4.294.967.296 unidades de asignación (direccionables con 32 bits, de ahí el nombre) de hasta 32 KB cada una. De estos 32 bits de direccionamiento solo se usan 28 (268.435.456 unidades de asignación) y 18 de éstas están reservadas para el sistema. Por lo tanto, el tamaño máximo teórico de una partición que use FAT32 es de unos 8 TB (268.435.456-18 x 32 KB). Pero por problemas en el diseño, algunas de las utilidades de Microsoft para el trabajo con FAT32 están limitadas a 4.177.920 unidades de asignación, lo que hace que en la práctica solo se puedan crear particiones de unos 124 GB.

Estructura de un Volumen FAT32

b. NTFS:

NTFS (siglas en inglés de New Technology File System) es un sistema de archivos diseñado específicamente para Windows NT, con el objetivo de crear un sistema de archivos eficiente, robusto y con seguridad incorporada desde su base. También soporta compresión nativa de ficheros y encriptación (esto último sólo a partir de Windows 2000).

NTFS permite definir el tamaño del cluster, a partir de 512 bytes (tamaño mínimo de un sector) de forma independiente al tamaño de la partición.

Es un sistema adecuado para las particiones de gran tamaño requeridas en estaciones de trabajo de alto rendimiento y servidores. Puede manejar discos de hasta 2 Terabytes.

Los inconvenientes que plantea son:

* Necesita para si mismo una buena cantidad de espacio en disco duro por lo que no es recomendable su uso en discos menores de 400 MB. * No es compatible con MS-DOS, Windows 95 ni Windows 98.

Page 13: Criminalística Cibernética

* La conversión a NTFS es unidireccional. Si elige actualizar la unidad, no podrá volver a convertirla a FAT.

GNU/Linux sólo tiene soporte de lectura para este sistema de ficheros, y de escritura experimental, aunque no se suele activar por defecto. Existe una alternativa Captive-NTFS, que usa las librerías propietarias de Windows NT para tener acceso completo a NTFS.

Compatibilidad de Sistemas de Archivos con NTFS y FAT

c. EXT2:

EXT2 (second extended filesystem o "segundo sistema de archivos extendido") fue el sistema de archivos estándar en el sistema operativo Linux por varios años y continúa siendo ampliamente utilizado. Fue diseñado originalmente por Rémy Card. La principal desventaja de EXT2 es que no posee una bitácora, por lo que muchos de sus usuarios están emigrando a ReiserFS y su sucesor EXT3.

Conceptos Básicos:

Cada Sistema de archivos en Linux implementa un conjunto básico de conceptos comunes derivados del sistema operativo UNIX, los archivos son representados por “inodos”, directorios son simplemente archivos conteniendo una lista de entradas y los dispositivos puede acceder mediante peticiones de E/S en archivos especiales.

Inodos: Cada archivo es representado por una estructura, llamada un inodo, cada inodo contiene la descripción de un archivo: tipo de archivo, permisos de acceso, propietarios, fecha, puntero a bloque de datos. Las direcciones de bloques de datos localizados en un archivo son almacenados en su inodo. Cuando un usuario hace una operación de E/S a un archivo, el código del kernel convierte el desplazamiento actual a un numero de bloque, usando este numero como un índice en la Tabla de direcciones de bloques y lee o escribe en el bloque físico. La siguiente figura representa la estructura de un inodo.

Page 14: Criminalística Cibernética

Estructura de un inodo

-Directorios: Directorios son estructurados en un árbol jerárquico. Cada directorio puede contener archivos y subdirectorios. Son implementados como un tipo especial de archivos. Actualmente, un directorio es un archivo conteniendo una lista de entradas. Cada entrada contiene un numero de inodo y un nombre de archivo. Cuando un proceso usa una ruta, el código del kernel busca en su directorio para encontrar el numero de inodo correspondiente. Después el nombre tiene que ser convertido a un numero de inodo, el inodo es cargado en memoria y es usado para futuras peticiones.

Representación de un Directorio

-Enlaces: El sistema de archivos UNIX implementa el concepto de enlace, Muchos nombres pueden ser asociados con un inodo. El inodo contiene un campo conteniendo el numero asociado con el archivo. Añadir un enlace simplemente consiste en crear una entrada en el directorio, donde numero de inodo apunta al inodo, e incrementando la cuenta de enlaces en el inodo. Cuando un enlace es borrado; cuando se usa el comando “rm” para remover un archivo; el kernel

Page 15: Criminalística Cibernética

decrementa la cuenta de enlaces y desaloja el inodo, si la cuenta se convierte en cero.

Este tipo de enlaces es llamado un enlace duro y puede ser usado dentro un solo sistema de archivos; es imposible crear un enlace duro entre sistemas de archivos diferentes. Enlaces duros solo pueden apuntar a archivos: un enlace duro a directorio no puede ser creado para prevenir la aparición de un ciclo en el árbol de directorios.

Otro tipo de enlaces existe en la mayoría de archivos de sistemas UNIX. Enlaces simbólicos son simplemente archivos que contienen un nombre de archivo. Cuando el kernel encuentra un enlace simbólico durante una ruta a una conversión de inodo, este reemplaza el nombre del enlace por su contenido; por ejemplo; el nombre de un archivo, es decir, el nombre del archivo objetivo, y reinicia la interpretación de la ruta. Dado que un enlace simbólico no apunta a un inodo, es posible crear enlaces simbólicos entre sistemas de archivos diferentes. Enlaces simbólicos pueden apuntar a cualquier tipo de archivo, hasta archivos que no existen. Enlaces simbólicos son muy útiles porque no tienen limitaciones asociadas a los enlaces duros. Sin embargo usan el mismo espacio de disco, localizado por sus inodos y sus bloques de datos, y causa un overhead en la ruta hasta la conversión de inodo porque el kernel reinicia la interpretación del nombre cuando este encuentra un enlace simbólico.

-Archivos Especiales de Dispositivos: En los sistemas similares a UNIX, los dispositivos se pueden acceder mediante archivos especiales. Un Archivo de Dispositivo no utiliza espacio en el sistema de archivos. Y tiene solo un punto de acceso al controlador del dispositivo. Dos tipos de archivos especiales existen: archivos especiales de carácter y bloque. El primero permite operaciones de E/S en modo carácter mientras que el ultimo requiere que los datos sean escrito en bloques mediante funciones de un buffer de cache. Cuando una petición de E/S es realizada sobre un archivo especial, este es redireccionado a un (pseudo) controlador de dispositivo. Un archivo especial es referido por un numero mayor, el cual identifica el tipo de dispositivo, y un numero menor, el cual identifica la unida.

d. EXT3:

EXT3 (third extended filesystem o "tercer sistema de archivos extendido") es un sistema de archivos con registro por diario (en inglés journaling), es un sistema de archivo de registro por diario, por el solo hecho de tener un "espacio apartado para el buffer de journaling". este sistema el cual se encuentra creciendo en popularidad entre usuarios del sistema operativo Linux. A pesar de su menor desempeño y escalabilidad frente a alternativas como ReiserFS o XFS, posee la ventaja de permitir migrar del sistema de archivos EXT2 sin necesidad de reformatear el disco.

Page 16: Criminalística Cibernética

La única diferencia entre EXT2 y EXT3 es el registro por diario. Un sistema de archivos EXT3 puede ser montado y usado como un sistema de archivos EXT2.

Provee escalabilidad en el tamaño del sistema de archivos del disco Nos permite hacer mas y mas grandes sistemas de archivos sin tener la penalidad del sistema de archivos del disco La meta principal es proveer una funcionalidad plena en una sola pieza Otra de las metas es proveer total, absoluta y completa combatibilidad backward y forward entre EXT2 y EXT3.

Otra diferencia también importante, es que EXT3 utiliza un arbol binario balanceado (AVL)

e. ISO 9660 (sistema de archivos de solo lectura para CD-ROM)

El estándar ISO 9660 es una norma publicada inicialmente en 1986 por la ISO, que especifica el formato para el almacenaje de archivos en los soportes de tipo disco compacto. El estándar ISO 9660 define un sistema de archivos para CD-ROM. Su propósito es que tales medios sean leíbles por diferentes sistemas operativos, de diferentes proveedores y en diferentes plataformas, por ejemplo, MS-DOS, Microsoft Windows, Mac OS y UNIX.

La norma ISO 9660 es descendiente directa de un esfuerzo de estandarización más temprano llamado 'HSG (acrónimo de High Sierra Group), el cual fue propuesto por un conjunto de actores de la industria que se reunieron en 1985 en el hotel High Sierra, de Lake Tahoe, Nevada. Aunque la ISO aceptó una gran mayoría de las propuestas del HSG, existen algunas diferencias menores.

Page 17: Criminalística Cibernética

1.5 Redes de Computadoras:

Historia

El concepto de trabajo en redes es probablemente tan antiguo como lo es el de las telecomunicaciones. Imagínese por un momento, gente viviendo en la Edad de Piedra, en donde los individuos usen tambores para transmitirse mensajes. Supóngase que un hombre de las cavernas A quiere invitar a otro hombre B a una partida de choques de piedra. Lamentablemente viven tan distantes, que a B le sería imposible escuchar el tambor de A cuando éste lo llame. ¿Qué puede hacer A para remediar esto? Él podría 1) ir caminando al sitio de B, 2) conseguir un tambor más grande, o 3) pedirle a C, quien vive a mitad de camino que reenvíe el mensaje. La tercera elección es denominada Trabajo en Redes.

Por supuesto, la humanidad ha avanzado un poco desde la la Edad de Piedra; ya no se usan aquellos primitivos artefactos ni tenemos los mismos inconvenientes que nuestros antepasados. En la actualidad, contamos con computadoras que hablan con otras sobre una colección de cables, fibra óptica, microondas, etc. tan grande como para llenar el estadio en el partido de fútbol de los sábados. A continuación, se hará referencia a los conceptos y métodos que son utilizados para llevar a cabo todo esto. Sin embargo, dejaremos de lado tanto el tema de los cables, como la parte del fútbol.

En esta guía se describirán tres tipos de redes. Sin embargo, se discutirá más profundamente TCP/IP puesto que es el protocolo más usado, ya sea en Redes Locales (Local Area Networks, LANs), o en Redes de Área Amplia (Wide Area Networks, WANs), como por ejemplo, Internet. También se echará un vistazo a UUCP e IPX. UUCP fue antiguamente el medio general para transportar las noticias y los mensajes de correo, mediante una conexión telefónica. Es menos usado en estos días, pero sigue siendo útil en muchas situaciones. El protocolo IPX es usado más frecuentemente en los entornos Novell NetWare, y se detallará cómo usarlo para conectar una máquina GNU/Linux a una red Novell. Cada uno de estos protocolos de red son usados para transportar datos entre computadoras. Se discutirá aquí cómo son usados y se hará una introducción a sus principios fundamentales.

Se define una red, como una colección de nodos (del inglés hosts), capaces de comunicarse entre sí, a veces confiando en los servicios de un número determinado de máquinas que se encargan de transmitir datos entre quienes que lo demanden. Los nodos son casi siempre computadoras, pero no necesariamente; se puede pensar, sin equivocación, en terminales X o impresoras inteligentes como nodos. Por otro lado, a las pequeñas aglomeraciones de éstos, se las denomina sitios, (sites).

La comunicación, sería imposible sin algún tipo de lenguaje o código. En la jerga de las redes de computadoras, estos lenguajes se denominan conjuntamente como protocolos. No obstante, no se debería pensar aquí en lenguajes ya escritos

Page 18: Criminalística Cibernética

y definidos, sino más bien en el código de comportamiento altamente formalizado, que se observa en una población cuando se reúnen jefes de estado, por citar un ejemplo. Así, los protocolos usados en las redes de computadoras no son más que reglas muy estrictas de intercambio de mensajes entre dos o más servidores.

Redes TCP/IP

Las aplicaciones modernas para trabajo en redes requieren de un sofisticado mé-todo de transporte desde una máquina a otra. Si usted administra una máquina GNU/Linux que posea muchos usuarios, los cuales desean estar conectados si-multáneamente a un servidor remoto o a una red, necesitará un modo de acceso para que puedan compartir la conexión a la red, sin que las acciones de cada uno interfieran con las de los demás. La estrategia que un gran número de protocolos de red utilizan hoy día se llama conmutación de paquetes, (packet-switching). Un paquete es nada más que un pequeño trozo de datos que se transfiere de una má-quina a otra a través de una red. Esta transferencia ocurre a medida que el data-grama es transmitido a través de cada enlace en la red. Una red de conmutación de paquetes comparte un único enlace con muchos usuarios, enviando los paque-tes alternadamente, desde un usuario a otro, a través de ese enlace.

La solución que muchos sistemas Unix, (y posteriormente muchas otras plataformas), han adoptado, se conoce como TCP/IP. Cuando se habla de redes TCP/IP, siempre estará presente el término datagrama. Técnicamente, este término tiene un significado especial, pero es a menudo usado de forma intercambiable con paquete. En la siguiente sección, se echará un vistazo a los conceptos fundamentales de los protocolos TCP/IP.

Ethernets

El tipo de hardware más utilizado en LANs es lo que comúnmente conocemos como Ethernet. Descrito de una forma simple, consta de un solo cable con los nodos unidos a él a través de conectores, clavijas o transceptores. Los adaptadores Ethernet simples, son relativamente baratos de instalar, lo que unido a un flujo de transferencia neto de 10, 100 o hasta 1,000 Mega bits por segundo, avala gran parte de su popularidad.

Las redes Ethernet se pueden clasificar en tres tipos atendiendo al grosor del cable: gruesos, finos, y de par trenzado. Los dos primeros pueden usar cable coaxial, difiriendo en el grosor y el modo de conectar este cable a los nodos. El cable Ethernet fino emplea conectores “BNC” con forma de T, que se pinchan en el cable y se enganchan a los conectores de la parte trasera del ordenador. El cable Ethernet grueso requiere que se realice un pequeño agujero en el cable, y se conecte un transceptor utilizando un “conector vampiro” Luego, se podrán conectar uno o más nodos al transceptor. Los cables Ethernet fino y grueso pueden alcanzar una distancia de 200 y 500 metros, respectivamente, y es por ello que se les llama también 10base-2 y 10base-5. La palabra “base” hace referencia

Page 19: Criminalística Cibernética

a “modulación de banda base” y significa, simplemente, que los datos que alimentan al cable, fluyen directamente sin pasar por un módem. El número que se encuentra delante de la palabra alude a la velocidad de transmisión, en Mega bits por segundo, mientras que el número al final indica la máxima longitud que se le puede dar al cable, en cientos de metros. El par trenzado usa un cable hecho de dos hilos de cobre. Por lo común necesitan, además, hardware adicional que se conoce como Núcleo Activo. A este Ethernet se le conoce también como 10base-T, en donde “T” significa de par trenzado. Los pares trenzados con velocidad de 100 Mega bits por segundo son conocidos como 100base-T.

Para agregar un nodo a una instalación Ethernet fina se deberá suspender el servicio de la red por al menos unos minutos, ya que se deberá cortar el cable para insertar un conector. A pesar de que, por otro lado, agregar un nodo a un sistema Ethernet grueso es un poco complicado no hará, por lo general, que el servicio de la red se interrumpa. Un Ethernet de par trenzado es aún más simple. Usa un dispositivo denominado “hub,” que trabaja como un punto de interconexión. Se pueden insertar y quitar nodos de un núcleo sin interrumpir en absoluto, a ninguno de los demás usuarios.

La mayoría de gente prefiere el Ethernet fino porque es barato: las tarjetas de PC pueden encontrarse por unos 30 dollar; americanos (algunas compañías están literalmente, regalándolas), y el cable por pocos centavos el metro. Sin embargo, para instalaciones de gran escala, son más apropiados el Ethernet grueso o el de par trenzado. Por ejemplo, en un principio, el Departamento de Matemáticas de la GMU decidió utilizar el cableado Ethernet grueso, ya que el gran tráfico que posee toda la red a lo largo de su gran recorrido, no se interrumpe cada vez que se añade un nodo. Actualmente, son muy comunes los cables Ethernet de par trenzado en una gran variedad de instalaciones. Los “hubs” son ahora más accesibles, y pequeñas unidades están disponibles a precios que son atractivos, incluso para pequeñas redes domésticas. El cable de par trenzado puede ser significativamente más barato para grandes instalaciones. Además, el mismo cable de par trenzado es mucho más flexible que los coaxiales usados por otros sistemas Ethernet. Los administradores de la red en la división de matemáticas de GMU, están planeando reemplazar su sistema por uno de par trenzado el año que viene, ya que, además de ahorrar tiempo a la hora de agregar nuevos nodos, y cambiar de lugar los viejos, también podrán ponerse al día con la tecnología actual.

Uno de los inconvenientes de la tecnología Ethernet es su limitada longitud de cable, que imposibilita cualquier uso fuera de las LANs. Sin embargo, pueden enlazarse varios segmentos de red Ethernet entre sí utilizando repetidores, puentes o encaminadores[2]. Los repetidores simplemente copian las señales entre dos o más segmentos, de forma que todos los segmentos juntos actúan como si fuese una única Ethernet. Debido a requisitos de tiempo, no puede haber mas de cuatro repetidores entre cualquier par de nodos de la red. Los puentes y encaminadores son más sofisticados, analizan los datos de entrada y los reenvían sólo si el nodo receptor no está en la Ethernet local.

Page 20: Criminalística Cibernética

Ethernet funciona como un sistema de bus, donde un nodo puede mandar paquetes (o marcos) de hasta 1500 bytes a otro nodo de la misma Ethernet. A cada nodo se le asigna una dirección de seis bytes grabada en el firmware (memoria fija) de su tarjeta Ethernet. Estas direcciones se especifican generalmente como una secuencia de números hexadecimales de dos dígitos separados por dos puntos, como por ejemplo aa:bb:cc:dd:ee:ff.

Una trama enviada por una estación es vista por todas las demás estaciones conectadas, pero sólo el nodo destinatario la toma y la procesa. Si dos estaciones intentan emitir al mismo tiempo, se produce lo que se llama una colisión. Una colisión en un complejo Ethernet, es detectada electrónicamente por las tarjetas de interfaz. Se resuelve por parte de las dos estaciones abortando el envío, y reintentándolo al cabo de un intervalo de tiempo tomado al azar. Seguramente se han escuchado muchas historias que afirmen que las colisiones en un Ethernet son un problema, y que la verdadera tasa de transmisión de datos en un Ethernet, sólo ocupa un 30 por ciento del ancho de banda disponible debido a ellas. La verdad es que las colisiones en un sistema Ethernet son un fenómeno natural. Es más, en un sistema muy activo, no se debería sorprender al ver que las colisiones tienen un índice mayor al 30 por ciento. En la práctica, el administrador de una red Ethernet sólo debería preocuparse cuando la tasa de transmisión se vea limitada a aproximadamente un 60 por ciento del ancho de banda.[3]

El Protocolo IP (Internet Protocol)

Por supuesto, el administrador puede no querer que su red esté limitada solamente a una Ethernet, o a un sólo enlace de datos punto-a-punto. Seguramente la idea original consistirá en poder acceder a un servidor sin importar el hardware del que dispone. Por ejemplo, en instalaciones grandes como la Universidad de Groucho Marx, se encontrará muy a menudo con varias redes distanciadas unas de otras, pero conectadas entre ellas de alguna manera. En la GMU, el departamento de matemáticas tiene dos Ethernets: una red de máquinas rápidas para profesores y graduados, y otra con máquinas más lentas para estudiantes. Ambas redes están enlazadas de la red troncal FDDI del campus.

Esta conexión se gestiona con un nodo dedicado, denominado pasarela, o gateway, que maneja los paquetes entrantes y salientes copiándolos entre las dos Ethernets y el cable de fibra óptica. Por ejemplo, si se encuentra en el Departamento de Matemáticas, y quiere acceder a quark situada en la LAN del Departamento de Físicas, desde su máquina GNU/Linux, el software de red no puede mandar paquetes a quark directamente, porque no esta en la misma Ethernet. Por tanto, tiene que confiar en la pasarela para que actúe como retransmisor. La pasarela (llamémosla sophus) reenvía entonces estos paquetes a su pasarela homóloga niels del Departamento de Física, usando la red troncal, y por fin niels los entrega a la máquina destino. El flujo de datos entre erdos y quark se muestra en la Figura.

Page 21: Criminalística Cibernética

Los tres pasos del envío de un datagrama

Este esquema de envío de datos al nodo remoto se llama encaminamiento, y en este contexto a los paquetes se les denomina datagramas. Para facilitar las cosas, el intercambio de datagramas esta gobernado por un único protocolo que es independiente del hardware utilizado: IP, o Internet Protocol (Protocolo de Internet).

El principal beneficio del IP es su cualidad de convertir a redes físicamente diferentes en una red aparentemente homogénea. A esto se le llama interconexión de redes, y a la resultante “meta-red” se la denomina internet. Obsérvese aquí la sutil diferencia entre una internet y la Internet. El último es el nombre oficial de una internet global en particular.

Claro que el IP también necesita un esquema de direccionamiento independiente del hardware. Esto se consigue asignando a cada nodo un número único de 32 bits, denominado dirección IP. Una dirección IP está definida normalmente, por 4 números en decimal, uno por cada división de 8 bits, y separados por puntos. Por ejemplo, quark podría tener una dirección IP 0x954C0C04, que se escribiría como 149.76.12.4. Este formato de dirección, es comúnmente llamado notación decimal de puntos, aunque también puede hacerse referencia a él como notación cuadrangular de puntos. Sin embargo la denominación de IP, está cambiando del nombre de IPv4, (por Internet Protocol, Version 4), a un nuevo estándar llamado IPv6 que ofrece mucha más flexibilidad a la hora de direccionar y otras mejoras modernas. Pasará por lo menos un año tras esta edición, antes de que IPv6 empiece a ser usado.

Se dará cuenta de que ahora tenemos tres tipos distintos de direcciones: primero, tenemos el nombre del nodo, como por ejemplo quark, después tenemos las direcciones IP, y por fin están las direcciones hardware, como la dirección Ethernet de 6 bytes. De alguna forma todas ellas deben relacionarse, de modo

Page 22: Criminalística Cibernética

que cuando se escriba rlogin quark, se le pueda pasar la dirección IP de quark al software de red; y cuando el nivel IP envíe datos a la Ethernet del Departamento de Físicas, de algún modo tenga cómo encontrar a que dirección Ethernet corresponde la dirección IP.

El Protocolo de Control de Transmisión, TCP

Pero la historia no se acaba con el envío de datagramas de un nodo a otro. Si se registra en quark, necesita disponer de una conexión fiable entre su proceso rlogin en erdos y el proceso del intérprete de órdenes en quark. Así, la información enviada en uno u otro sentido debe dividirse por paquetes en el origen, y ser reensamblada en un flujo de caracteres por el receptor. Esto que parece trivial, implica varias tareas complejas.

Una cosa importante a saber sobre IP es que, por sí sólo, no es fiable. Suponga que diez personas de su Ethernet comienzan a transferirse la última versión del código fuente del Navegador web Netscape, usando el servidor FTP de GNU. La cantidad de tráfico generada por esto podría ser excesiva para la pasarela, por ser demasiado lenta, o tener poca memoria. Si en ese momento Ud. enviara un paquete a quark, sophus podría tener agotado el espacio del búfer durante un instante y por tanto no seria capaz de reenviarlo. IP resuelve este problema simplemente descartando el paquete el cual se pierde irrevocablemente. Esto traslada, por consiguiente, la responsabilidad de comprobar la integridad y exactitud de los datos a los nodos extremos, y su retransmisión en caso de error.

De este proceso se encarga otro protocolo: el Protocolo de Control de Transmisión, (TCP, Transmission Control Protocol), que construye un servicio fiable por encima de IP. La propiedad esencial de TCP es que usa IP para dar al usuario la impresión de una conexión simple entre los procesos en su equipo y la máquina remota, de modo que no tiene que preocuparse de cómo y sobre el recorrido de los datos a través de la ruta por la que viajan. Una conexión TCP funciona básicamente como una tubería de doble sentido, en la que ambos procesos pueden escribir y leer; Se puede usar la analogía de una conversación telefónica para comprender el funcionamiento de este protocolo.

TCP identifica los extremos de una conexión específica por las direcciones IP de los dos nodos implicados, y el número de los puertos de cada nodo. Los puertos se pueden ver como puntos de enganche para conexiones de red. Para seguir utilizando el ejemplo del teléfono un poco más, si pensamos en una analogía entre las ciudades como nodos, se puede comparar las direcciones IP con los prefijos de área (los números representarían ciudades), y los números de puerto con los códigos locales (números que representan teléfonos de personas concretas). Un nodo en particular puede soportar diferentes servicios, cada uno diferenciado por su propio número de puerto.

Page 23: Criminalística Cibernética

En el ejemplo con rlogin, la aplicación cliente (rlogin) abre un puerto en erdos y se conecta al puerto 513 de quark, en el cual se sabe que el servidor rlogind está escuchando. Esto establece una conexión TCP. Usando esta conexión, rlogind desempeña el procedimiento de autorización para luego, generar un servicio de ontérprete de órdenes. La entrada y salida estándar de la shell se redirigen a la conexión TCP, de tal forma que cualquier cosa que se teclee a rlogin en nuestra máquina será pasada al flujo TCP para ser luego transmitida a la entrada estándar del intérprete de órdenes.

El Protocolo de Datagramas de Usuario

Sin embargo, TCP no es el único protocolo de usuario en redes TCP/IP. Aunque adecuado para aplicaciones como rlogin, la sobrecarga que impone es prohibitiva para aplicaciones como NFS, la cual utiliza un protocolo derivado de TCP llamado UDP, o User Datagram Protocol (Protocolo de Datagramas de Usuario). De igual modo que TCP, UDP permite que una aplicación contacte con un servicio en un puerto concreto de la máquina remota, pero no establece una conexión para ello. En cambio, se puede usar para enviar paquetes sueltos al servicio destino - de ahí su nombre.

Supóngase que se ha solicitado una pequeña cantidad de información de un servidor de base de datos. Esto tomará, al menos tres datagramas para establecer la conexión TCP, otros tres para enviar y confirmar la cantidad de datos y otros tres para cerrar la conexión. UDP nos facilita el hacer la mayor parte de todo esto, pero solamente usando dos datagramas. Este protocolo es caracterizado por tener un método de conexión y desconexión mucho más rápido, y no requiere que el usuario establezca y cierre una conexión. El mecanismo es simple: UDP coloca los datos en un datagrama y lo envía al servidor. Éste realiza un proyecto del reenvío, poniendo los datos dentro de un datagrama direccionado a nuestra máquina, y luego lo transmite. Mientras que este procedimiento es más rápido y más eficiente que el de TCP para transacciones simples, UDP no fue construido para tratar con posibles pérdidas de datos. Lidiar con estas dificultades dependerá de la aplicación en cuestión.

Más sobre Puertos

Los puertos se pueden ver como puntos de anclaje para conexiones de red. Si una aplicación quiere ofrecer un cierto servicio, se engancha ella misma a un puerto y espera a los clientes (a esto también se le llama escuchar en el puerto). Un cliente que quiera usar este servicio se asigna un puerto libre en su nodo local, y se conecta al puerto del servidor en el nodo remoto. El puerto del servidor podrá ser abierto por diferentes máquinas, pero nunca podrán usarlo más de una al mismo tiempo.

Una propiedad importante de los puertos es que, una vez que se ha establecido una conexión entre el cliente y el servidor, otra copia del servidor puede engancharse a su mismo puerto y aguardar a otros clientes. Esto permite, por

Page 24: Criminalística Cibernética

ejemplo, varios accesos remotos simultáneos al mismo nodo, usando todos ellos el mismo puerto 513. TCP es capaz de distinguir unas conexiones de otras, ya que todas ellas provienen de diferentes puertos o nodos. Por ejemplo, si accede dos veces a quark desde erdos, el primer cliente rlogin usará el puerto local 1023, y el segundo el 1022. Sin embargo, ambos se conectarán al mismo puerto 513 de quark. Las dos conexiones se distinguirán según el puerto que cada una use en erdos.

Este ejemplo muestra el uso de puertos como puntos de encuentro, donde un cliente se contacta con un puerto específico para obtener un servicio específico. Para que un cliente pueda conectarse al número de puerto correcto, se ha tenido que llegar a un acuerdo entre los administradores de los dos sistemas para definir la asignación de estos números. Para servicios ampliamente usados, como rlogin, estos números tienen que administrarse de modo universal. Esto lo realiza el IETF (o Internet Engineering Task Force), que regularmente publica un RFC (Request For Comment) denominado Assigned Numbers (Números Asignados, RFC-1700). Describe, entre otras cosas, los números de puerto asignados a servicios reconocidos. GNU/Linux utiliza un archivo para hacer corresponder los nombres con números, llamado /etc/services.

Merece la pena indicar que aunque las conexiones TCP y UDP se basan en puertos, estos números no entran en conflicto. Esto significa que el puerto TCP 513, por ejemplo, es diferente del puerto UDP 513. De hecho, estos puertos sirven como puntos de acceso para dos servicios diferentes, como rlogin (TCP) y rwho (UDP).

1.4 Internet:

Internet es una red de redes a escala mundial de millones de computadoras interconectadas con el conjunto de protocolos TCP/IP. También se usa este nombre como sustantivo común y por tanto en minúsculas para designar a cualquier red de redes que use las mismas tecnologías que la Internet, independientemente de su extensión o de que sea pública o privada.

Al contrario de lo que se piensa comúnmente, "Internet" no es sinónimo de World Wide Web. Ésta es parte de aquella, siendo la World Wide Web uno de los muchos servicios ofertados en la red Internet. La Web es un sistema de información mucho más reciente (1995) que emplea la red Internet como medio de transmisión.

Algunos de los servicios disponibles en Internet aparte de la Web son el acceso remoto a otras máquinas (telnet y SSH | ssh), transferencia de archivos (FTP), correo electrónico (SMTP | e-mail), boletines electrónicos (NNTP | news o grupos de noticias), conversaciones en línea (IRC|chat), mensajería instantánea (ICQ, YIM, Jabber), etcétera.

Page 25: Criminalística Cibernética

Historia de Internet

A finales de 1972 se realizó la primera demostración pública de ARPANET, una nueva red de comunicaciones financiada por la DARPA que funcionaba de forma distribuída sobre la red telefónica conmutada. El éxito de esta nueva arquitectura sirvió para que, en 1973, la DARPA iniciara un programa de investigación sobre posibles técnicas para interconectar redes (orientadas al tráfico de paquetes) de distintas clases. Para este fin, desarrollaron nuevos Protocolo|protocolos de comunicaciones que permitiesen este intercambio de información de forma "transparente" para los ordenadores conectados. De la filosofía del proyecto surgió el nombre de "Internet", que se aplicó al sistema de redes interconectadas mediante los protocolos TCP IP|TCP e IP.

El 1 de enero de 1983 ARPANET cambió el protocolo NCP por TCP/IP. Ese mismo año, se creó el IAB con el fin de estandarizar el protocolo TCP/IP y de proporcionar recursos de investigación a Internet. Por otra parte, se centró la función de asignación de identificadores en la IANA que, más tarde, delegó parte de sus funciones en el IR que, a su vez, proporciona servicios a los DNS.

En 1986 la NSF comenzó el desarrollo de NSFNET que se convirtió en la principal red troncal de Internet, complementada después con las redes NSINET y ESNET, todas ellas en EE.UU. Paralelamente, otras redes troncales en Europa, tanto públicas como comerciales, junto con las americanas formaban el esqueleto básico ("backbone") de Internet.

A partir de 1989, con la integración de los protocolos OSI en la arquitectura de Internet, se inició la tendencia actual de permitir no sólo la interconexión de redes de estructuras dispares, sino también la de facilitar el uso de distintos protocolos de comunicaciones.

El protocolo de transferencia de archivos (FTP o File Transfer Protocol) es el protocolo estándar en la red para efectuar transferencias de archivos de un servidor a un ordenador o entre ordenadores.

En 1989 también, en el CERN de Ginebra, un grupo de Físicos encabezado por Tim Berners-Lee, crearon el lenguaje HTML, basado en el SGML. En 1990 el mismo equipo construyó el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web.

Actualmente Internet incluye aproximadamente 5000 redes en todo el mundo y más de 100 protocolos distintos basados en TCP/IP, que se configura como el protocolo de la red.

En algunos países el acceso a Internet está restringido únicamente a entidades gubernamentales y empresas extranjeras o fuertemente controlado por el estado.

Page 26: Criminalística Cibernética

Internet2 es un consorcio de universidades estadounidenses y empresas tecnológicas con el objetivo de crear nuevos protocolos y aplicaciones que mejoren el rendimiento y la calidad que se consigue en la actual Internet. Los miembros de Internet2 han creado la Red Abilene con estas tecnologías. Esta red a menudo se denomina de manera informal, Internet2.

Uso de Internet en SudAmerica

1.5 Informática o Computo Forense:

Computo Forense es sobre la evidencia de computadoras la cual es suficiente confiable para ser presentada en un juzgado. Es un conjunto de técnicas especializadas que tiene como finalidad la reconstrucción de hechos pasados basados en los datos recolectados, para lo cual se procesa la información que pueda ser usada como evidencia en un equipo de cómputo

Computo Forense, es refiere como Análisis de Computo forense, Hallazgo electrónico, Hallazgo de evidencia electrónica, hallazgo digital, Recuperación de Datos, Hallazgo de Datos, Análisis de Computadoras, y examen de computadoras.

1.6 El Investigador Forense:

El Perito Forense debe ser un experto en su campo, y ante una juzgado puede ser consultado sobre sus logros personales; Educación recibida y grados

Page 27: Criminalística Cibernética

realizados, entrenamiento profesional recibido, Certificaciones, detalle de su experiencia, casos en los que haya testificado como experto.

1.7 Seguridad Física y Lógica:

Seguridad Física:

La seguridad física de los sistemas informáticos consiste en la aplicación de barreras físicas y procedimientos de control como medidas de prevención y contramedidas contra las amenazas a los recursos y la información confidencial. Más claramente, por “seguridad física” podemos entender todos aquellas mecanismos generalmente de prevención y detección destinados a proteger físicamente cualquier recurso del sistema; estos recursos son desde un simple teclado hasta una cinta de backup con toda la información que hay en el sistema, pasando por la propia CPU de la máquina.

Protección del Hardware: Acceso Físico Desastres Naturales Desastres del entorno

Protección de Datos: Interceptación Copias de Seguridad (backups) Otros elementos

Seguridad Lógica:

La Seguridad Lógica consiste en la aplicación de barreras y procedimientos que resguardan el acceso a los datos y sólo permiten acceder a ellos a las personas autorizadas para hacerlo.

Existe un viejo dicho en la seguridad informática que dicta: "lo que no está permitido debe estar prohibido" y esto es lo que debe hacer ésta seguridad lógica.

Los objetivos para conseguirlo son:

Restringir el acceso (de personas de la organización y de las que no lo son) a los programas y archivos.

Asegurar que los operadores puedan trabajar pero que no puedan modificar los programas ni los archivos que no correspondan (sin una supervisión minuciosa).

Page 28: Criminalística Cibernética

Asegurar que se utilicen los datos, archivos y programas correctos en/y/por el procedimiento elegido.

Asegurar que la información transmitida sea la misma que reciba el destinatario al cual se ha enviado y que no le llegue a otro.

Asegurar que existan sistemas y pasos de emergencia alternativos de transmisión entre diferentes puntos.

1.8 Hackers, Crackers, definiciones:

- Hacker: (del inglés hack, recortar), también conocidos como white hats (sombreros blancos) o black hats (sombreros negros), según una clasificación de sus acciones (según sean solo destructivas o no, etc.). Su entendimiento es más sofisticado y profundo respecto a los Sistemas informáticos, ya sea de tipo hardware o software. El término "Hacker" trasciende a los expertos relacionados con la informática, para también referirse a cualquier profesional que está en la cúspide de la excelencia en su profesión, ya que en la descripción más pura, un "Hacker" es aquella persona que le apasiona el conocimiento, descubrir o aprender nuevas cosas y entender el funcionamiento de éstas. En definitiva, la versión actual del filósofo.

- Cracker: El término deriva de la expresión "criminal hacker", y fue creado alrededor de 1985 por contraposición al termino hacker, en defensa de estos últimos por el uso incorrecto del término. Se considera que la actividad de esta clase de cracker es dañina e ilegal. También se denomina cracker a quien diseña o programa cracks informáticos, que sirven para modificar el comportamiento o ampliar la funcionalidad del software o hardware original al que se aplican, sin que en absoluto pretenda ser dañino para el usuario del mismo.

- Phreaker: Un phreaker es una persona que interfiere en los sistemas telefónicos, de forma ilegal, mediante el uso de tecnología para poder obtener algún tipo de beneficio. El término proviene de las palabras phone+phreak+hacker (telefono+loco+hacker) y surgió en los Estados Unidos en los años 60. Durante muchos años los phreakers usaron las llamadas boxes, artefactos que provocaban diversas anomalías en la línea telefónica, estos dispositivos se conocen por un color identificativo -blue boxes, black boxes, beige boxes. En la actualidad, los phreakers tienen también como blanco a la telefonía móvil y a las tecnologías inalámbricas.

- Malware: La palabra malware proviene de una agrupación de las palabras malicious software. Este programa o archivo, que es dañino para el ordenador, está diseñado para insertar virus, gusanos, troyanos o spyware intentando

Page 29: Criminalística Cibernética

conseguir algún objetivo, como podría ser el de recoger información sobre el usuario o sobre el ordenador en sí.

Virus: Los virus informáticos utilizan una variedad de portadores. Los blancos comunes son los archivos ejecutables que son parte de las aplicaciones, los documentos que contienen macros, y los sectores de arranque de los discos de 3,1/2 pulgadas.

Gusanos (worms): Los gusanos informáticos son similares a los virus, pero los gusanos no dependen de archivos portadores para poder contaminar otros sistemas. Estos pueden modificar el sistema operativo con el fin de auto ejecutarse como parte del proceso de inicialización del sistema. Para contaminar otros sistemas, los gusanos explotan vulnerabilidades del objetivo o utilizan algún tipo de ingeniería social para engañar a los usuarios y poderse ejecutar.

Caballos de Troya: Un programa caballo de troya es una pieza de software dañino disfrazado de software legítimo. Los caballos de troya no son capaces de replicarse por si mismos y pueden ser adjuntados con cualquier tipo de software por un programador o puede contaminar a los equipos por medio del engaño. Una puerta trasera es un software que permite el acceso al sistema de la computadora ignorando los procedimientos normales de autenticación.

SpyWare: El spyware es todo aquel software que recolecta y envía información de los usuarios. Normalmente trabajan y contaminan sistemas como lo hacen los caballos de troya.

1.9 Conceptos de criptografía:

La palabra criptografía deriva del griego kryptos (ocultar) y grafos (escribir), lo cual puede traducirse como escritura oculta, la criptografía es el arte o ciencia de cifrar y descifrar información utilizando técnicas que hagan posible el intercambio de mensajes de manera que sólo puedan ser leídos por las personas a quienes van dirigidos.

La criptografía es la ciencia que estudia la transformación de un determinado mensaje en un código de forma tal que a partir de dicho código solo algunas personas sean capaces de recuperar el mensaje original. En general se utiliza para ello una palabra clave o 'password' con la cual se cifra el mensaje, el código resultante solamente puede ser descifrado por aquellos que conozcan el password.

La criptografía es una actividad muy antigua: Ya en la época de los griegos se supone que existían métodos para codificar los mensajes que se enviaban a las tropas en regiones alejadas, sin embargo, el primer criptosistema del cual se tienen pruebas de su existencia fue utilizado en la época del imperio romano y se

Page 30: Criminalística Cibernética

llamaba 'CAESAR' el sistema era utilizado por Julio Cesar para enviar mensajes cifrados a sus allegados mas cercanos, hablaremos del criptosistema 'CAESAR' muy pronto.

Junto a la criptografía coexiste necesariamente otra disciplina: el criptoanálisis, mientras que los criptógrafos se encargan de desarrollar criptosistemas cada vez mas seguros y difíciles de descifrar los criptoanalistas tratan de 'romper' un criptosistema obteniendo el mensaje a partir del código cifrado. De estos dos bandos con objetivos diametralmente opuestos siempre se afirma que alguno de los bandos es el 'lado bueno' y el otro inevitablemente 'los chicos malos' estos roles se pueden intercambiar indefinidamente dependiendo de la situación y el contexto en el cual estudiemos el tema. En este texto desarrollaremos la teoría operativa y técnicas mas habituales tanto de los criptógrafos como de los criptoanalistas.

Lamentablemente la criptografía y su ciencia paralela el criptoanálisis son disciplinas que experimentan marcados avances en épocas de guerra, allí es necesaria la comunicación de estrategias, planes tácticos e informes super secretos entre las distintas fuerzas de cada bando de forma tal que si el código es interceptado por un eventual enemigo este no pueda hacerse de la información que se envío. La criptografía experimenta su mayor avance durante el transcurso de la segunda guerra mundial en donde adquiere un protagonismo singular, allí, el criptosistema de la maquina alemana 'Enigma' es roto por los criptoanalistas de las fuerzas aliadas siendo éste un factor que contribuyo en gran medida a la victoria final de los aliados. En este caso los criptógrafos alemanes eran los 'malos' y los criptoanalistas aliados eran 'los buenos', pero si nosotros queremos enviar un mensaje secreto a alguien y el mismo resulta publicado en un diario vamos a pensar que los criptoanalistas son personas sumamente viles. Como vemos todo depende de la situación.

Afortunadamente la criptografía experimenta su segundo gran auge con la masificación de las comunicaciones digitales y el advenimiento de la era de las computadoras. Hoy en día suele ser necesario enviar y recibir mensajes a través de Internet de forma tal que el mensaje solo pueda ser entendido por alguna persona en particular, por ejemplo si enviamos nuestro numero de tarjeta de crédito queremos que lo obtenga solamente el vendedor y no algún criptoanalista pakistaní que pasaba por allí. En los últimos años la criptografía se ha convertido en una ciencia de enorme importancia y a la cual se le destina cada vez un tratamiento más serio y más científico de forma tal de lograr comunicaciones seguras. Como veremos esto no es una tarea para nada sencilla.

a Conceptos de Seguridad en computadoras digitales:

Uno de los puntos que siempre estuvo en discusión sobre el almacenamiento de información en computadoras digitales, fue la seguridad de los mismos frente a posibles miradas indiscretas, desde que la primera computadora hizo su aparición

Page 31: Criminalística Cibernética

en alguna organización militar o gubernamental la necesidad de resguardar la información allí almacenada se hizo evidente.

Para proteger la información almacenada se suele recurrir a las denominadas técnicas de encriptación, la encriptación consiste básicamente en convertir un mensaje en otro de forma tal que el mensaje original solo pueda ser recuperado por un determinado grupo de personas que saben como "desencriptar" el mensaje codificado. El esquema básico de encriptación implica la utilización de un password para encriptar de forma tal que solo puedan desencriptar el mensaje aquellos que conocen el password utilizado, esto trae varios problemas como veremos mas adelante.

Con el advenimiento de Internet y la masificación absoluta de las comunicaciones la privacidad de los datos se ha vuelto un tema muy en boga en los últimos tiempos, originando todo tipo de problemas que involucran desde el mas simple e inocente usuario de internet hasta las mas altas organizaciones gubernamentales del planeta.

En el mundo de las computadoras la criptografía puede ser utilizada para varias cosas, algunas áreas importantes en donde se utiliza la criptografía son:

. La encriptación de información 'critica' que debe ser almacenada en computadoras, actos gubernamentales, informaciones secretas, etc. . La encriptación de mensajes enviados a través de redes, redes locales, redes publicas e internet.. La certificación de identidad de quienes envían mensajes importantes a través de internet.. Protección de información 'delicada' que deba enviarse a través de internet como, por ejemplo, números de tarjetas de crédito.. Encriptación de comunicaciones telefónicas, radiales o televisivas que pueden ser interceptadas.

b.Encriptación de Datos:

Las técnicas de encriptación suelen dividir a los algoritmos en dos grupos: los algoritmos de clave privada y los algoritmo de clave publica. A los algoritmos de clave privada se los llama también algoritmos de encriptación simétricos mientras que los de clave pública suelen denominarse algoritmos antisimétricos.

c.Algoritmos de Clave Simétrica:

Los algoritmos de clave simétrica, también llamados de clave secreta o privada, son los algoritmos clásicos de encriptación en los cuales un mensaje es encriptado utilizando para ello una cierta clave sin la cual no puede recuperarse el mensaje original.

El esquema básico de los algoritmos de clave simétrica es:

Page 32: Criminalística Cibernética

MENSAJE + CLAVE = CÓDIGO (encriptación)CÓDIGO + CLAVE = MENSAJE (desencriptación)

Esto se lleva a cabo sustituyendo porciones del mensaje original por porciones de mensaje encriptado usando la clave. La sustitución puede ser de varias formas:

Monoalfabética:Cuando se encripta, cada caracter encriptado corresponde a un caracter del mensaje original y viceversa.Homofónica:Cuando un caracter de texto original se encripta en varios caracteres del texto encriptado.

Poligráfica:Cuando n caracteres del mensaje original generan n caracteres del mensaje encriptado.

Polialfabética:Cuando n caracteres del texto original se encriptan en m caracteres del texto encriptado (m≠n) .

Cabe destacar que la sustitución poligráfica y la sustitución homofónica son casos particulares de la sustitución polialfabética.

Criptosistemas

Definiremos a un criptosistema como un conjunto de tres elementos:

.Un espacio de mensajes: PT que es la colección de todos los posibles mensajes pt que pretendemos enviar..Un espacio de claves K. Cada clave k determina un método de encriptación Ek y un método de desencriptado Dk. De forma tal que Ek(pt) = código y Dk(código)=pt..Un espacio de códigos: CT que es la colección de todos los posibles códigos ct.

Sistemas Monoalfabéticos y polialfabéticos:

Un algoritmo de encriptación por clave privada es monoalfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada siempre por un mismo caracter en el código cifrado.

Un algoritmo de encriptación por clave privada es polialfabético si cada ocurrencia de un mismo caracter en el mensaje original es reemplazada por distintos caracteres en el código cifrado.

Page 33: Criminalística Cibernética

Desarrollaremos a continuación algunos de los criptosistemas de clave privada mas conocidos, desde los más básicos hasta los más complejos.

Criptosistema CaesarCriptosistema HillCriptosistema AfinesCriptosistema PlayfairCriptosistema DES

Deficiencia de los Algoritmos de clave privada:

Los algoritmos de clave privada pueden construirse tan eficientes como se desee utilizando passwords mas y mas largos, sin embargo por mas largo que sea el password estos algoritmos presentan una vulnerabilidad evidente: el password.

En un esquema de encriptación por clave privada todo aquel que conozca el password es capaz de desencriptar un mensaje, de aquí que a veces, es mas importante estudiar como proteger el password que como trabaja el algoritmo elegido. Además, muchas veces es necesario transmitir, o enviar el password a alguna persona por lo que será necesario a su vez encriptar el password ingresando en un loop infinito.

Muchas veces el password es tan vulnerable que los criptoanalistas no se molestan en descifrar el código interceptado sino que directamente intentan averiguar el password. Uno de los ejemplos mas habituales consiste en averiguar passwords que permiten el acceso a determinados sistemas: cuentas bancarias, computadoras, computadoras donde se guardan otros passwords, etc. A continuación mencionamos algunas de las técnicas mas utilizadas para 'robo de passwords'.

.Shoulder Surfing:

Esta técnica es la más básica y consiste en merodear a aquellas personas que conocen el password que se quiere averiguar intentando ver si se consigue visualizar el momento en que el password es tipeado en un teclado o escrito en algún papel, variantes más modernas de esta técnica incluyen programas residentes que monitorean las teclas que se oprimen en el teclado, cámaras que registran lo que se tipea desde un punto elevado, etc. La forma mas elemental es como su nombre lo indica observar por encima del hombro de la persona que tipea el password, parece tonto pero se utiliza muchísimo.

.Caballos de Troya:

Los caballos de Troya son programas que se diseñan con el fin específico de robar passwords. El programa es introducido en una computadora y lo que hace es simplemente cada vez que es ejecutado pedirle el password al usuario y si este lo tipea (grave error) guardarlo en un archivo. Luego lo único que hay que hacer es

Page 34: Criminalística Cibernética

cada tanto consultar el archivo y ver que es lo que nuestro caballo de Troya ha 'pescado'. Una de las reglas de seguridad mas importantes que establecen los administradores de sistemas es adiestrar a los usuarios para que JAMAS ingresen su password una vez que se han logoneado en el sistema, además suele ser recomendable resetear la terminal antes de logonearse al sistema por si el usuario anterior dejo andando un caballo de Troya que imita al programa de login.

.Ingeniería Social:

Esta disciplina puede parecer ridícula pero es la más exitosa en cuanto a robo de passwords. La Ingeniería Social consiste en conseguir que una persona, simplemente, le diga su password a otra. Las técnicas son de lo mas variadas: llamados telefónicos pidiendo el password pues se cayó un disco y hay que backupear la información de cada usuario, pedidos de password para 'verificaciones rutinarias', encuestas a ver quien tiene el password mas seguro (!!!!), etc, etc...

Aunque parezca mentira hay personas realmente especializadas en este tipo de ataques.

La importancia del mensaje:

Contrariamente a lo que se cree habitualmente, la fuerza de un criptosistema de clave privada no reside únicamente en el algoritmo utilizado, o en la longitud de la clave sino que depende, también, del mensaje a enviar. Hay mensajes que por sus características propias serán mas fáciles de descifrar que otros, dado un mismo criptosistema, por lo tanto a la hora de enviar un texto ultra-secreto debemos tener en cuenta varios factores relacionados con el mensaje en sí.

Recomendaciones a la hora de escribir un texto altamente critico que deba ser encriptado por clave privada:

.No utilizar espacios en blanco, escribir todo el texto de corrido. Cualquier caracter de alta probabilidad de ocurrencia, como por ejemplo los espacios en blanco, son un punto débil en el mensaje aun cuando se utilice un esquema polialfabético.

.Si es muy necesario separar las palabras del mensaje a enviar, utilizar cualquier caracter elegido arbitrariamente en reemplazo del espacio en blanco.

.Escribir con mucho cuidado el texto intentando que la distribución de cada caracter utilizado en el texto sea lo mas pareja posible, esto es de gran importancia, evitar el uso de uno o mas caracteres en forma predominante, usar palabras sinónimos, o incluir faltas de ortografía y sintaxis si es necesario. Escribir por ejemplo 'salujdhos pedfdro' que puede ser entendido fácilmente cuando se descifra el código pero podría llegar a complicar sensiblemente el criptoanálisis.

Page 35: Criminalística Cibernética

.Empezar algunas palabras con caracteres que no tengan sentido alguno como por ejemplo la llave que cierra '}' o un punto y coma ';', esto puede desalentar varios intentos criptoanalíticos correctamente orientados.

.Escribir algunas palabras al revés o con todas las vocales al final y las consonantes al principio, una especie de doble codificación.

Por ejemplo: 'sldsauo qrdueio pdreo' quiere decir 'saludos querido pedro'.

Los criptoanalistas que consideren como factor cierto la alternancia de vocales y consonantes en un texto tendrán problemas para descifrar nuestro mensaje. En algunas palabras se pueden poner todas las vocales al final y en otras todas al principio.

.Jamas utilizar dos veces la misma palabra en un texto, aun en sistemas polialfabéticos esto constituye una debilidad.

-Escribir todos los mensajes de la forma mas breve que sea posible, evitar el uso de artículos salvo que sean estrictamente necesarios para comprender el texto. Las chances de éxito de un buen criptoanálisis aumentan vertiginosamente a medida que se consigue mas información sobre el mensaje a descifrar.

d. Sistemas de clave pública:

Los sistemas de encriptación de datos por clave publica han revolucionado el mundo de la criptografía y se han impuesto ampliamente en el mercado de las comunicaciones, la idea aunque sencilla recién surgió en la década del '70, los expertos en criptografía no logran ponerse de acuerdo en cual fue el motivo que demorara tanto el surgimiento de este tipo de sistema de encriptación.

La idea de los sistemas de clave publica es sencilla: cada usuario genera 2 (dos) claves: una publica y una privada, el usuario debe conservar su clave privada a salvo mientras que la clave publica es distribuida en forma masiva.

El juego de claves funciona de la siguiente forma: los mensajes que son encriptados con la clave publica de un usuario solo pueden ser desencriptados con la clave privada del mismo.

El algoritmo de encriptación es publico, de forma tal que cualquiera pueda encriptar un mensaje, el algoritmo de desencriptación debe de forma tal que sin la clave privada sea muy difícil desencriptar el código mientras que con la clave privada esto es una tarea sencilla. Todos los algoritmos de encriptación por clave publica se basan en algún problema en general de tipo matemático de cuyo tiempo de resolución no pueda establecerse una cota inferior.

RSA:

Page 36: Criminalística Cibernética

El algoritmo de clave publica más probado y utilizado en todo el mundo es el algoritmo RSA, denominado así debido a sus autores: Rivest, Shamir y Adleman.

Está basado en una idea asombrosamente sencilla de la teoría de números y hasta la fecha ha resistido todo tipo de ataques criptoanalíticos.

La idea es simple: dados dos números primos p y q muy grandes es sencillo a partir de p y q hallar su producto (p*q) pero es un problema muy complejo a partir del producto hallar los números p y q en cuestión. Si bien hasta el momento no se ha podido demostrar que la factorización prima de un numero es un problema NP-complejo, todos los intentos realizados para factorizar un número en forma veloz han fracasado.

Criptoanálisis:

Las técnicas criptoanalíticas más utilizadas contra el RSA, aunque sin éxito, consisten en intentar factorizar el numero "n" que se distribuye en la clave publica averiguando de esta forma los números p y q. Debido a que no existen algoritmos eficientes para factorizar un número, el problema de descomponer un numero muy grande insume un tiempo tan elevado que los ataques mas sofisticados contra el RSA han fallado (o casi...)

El algoritmo RSA sin embargo presenta una vulnerabilidad: hay una leyenda que indicaría que el algoritmo es vulnerable. Y la clave de todo se la ha llevado a la tumba (una vez más) el misterioso Fermat.

PGP (Prett Good Privacy):

En esta sección analizamos el programa más utilizado para encriptar y desencriptar datos mediante algoritmos de clave publica. El PGP se utiliza en internet y en casi todas las redes de mensajería cada vez que quiere transmitirse información privada.

PGP es un producto de distribución libre, es distribuido con sus fuentes y su distribución le ha causado a su autor Philip Zimmerman más de un problema como veremos más adelante.

PGP trabaja con el algoritmo RSA utilizando claves de 256,512 o 1024 bytes según el nivel de seguridad que se necesite, las claves de 1024 bytes superan ampliamente los mas estrictos requisitos militares sobre seguridad criptográfica.

PGP genera las claves públicas y privadas del usuario utilizando un algoritmo muy avanzado de pseudoaleatorización que mide los tiempos transcurridos entre lo que se tipea en un teclado. (PGP solicita al usuario que tipee durante un cierto tiempo en la pantalla) o los movimientos del mouse (se solicita al usuario que lo mueva aleatoriamente durante cierto tiempo).

Page 37: Criminalística Cibernética

La clave publica queda grabada en el disco y lista para ser distribuida, la clave privada se almacena también en el disco, PGP en sus manuales destaca que el acceso a la computadora donde se almacena la clave privada debe restringirse en forma drástica pues el conseguir la clave privada anula todo el sistema, el autor recomienda el uso de dispositivos que distorsionen las señales de radio en el ambiente donde reside la computadora pues existen dispositivos ultra-avanzados de las agencias gubernamentales que permiten leer la información de un disco a distancia mediante ondas de radio (!!).

Las claves publicas que nos envían otros usuarios son almacenadas en un conjunto de claves publicas (Public-key-ring) sobre el cual se pueden realizar altas, bajas y modificaciones.

Cuando un usuario le envía a otro su clave pública, por ejemplo a través de internet, el usuario que recibe la clave suele querer chequear que la clave publica recibida sea la del usuario que el quiere y no cualquier otra. Para ello PGP permite extraer de cada clave publica un numero conocido como 'FINGERPRINT' el Fingerprint puede ser chequeado telefónicamente o personalmente, y si coincide puede certificarse que la clave publica es de quien dice ser. (Cualquier cambio en la clave publica modifica el Fingerprint). El fingerprint se calcula hasheando la clave publica.

PGP dispone de varias opciones interesantes:

Envío del mensaje en forma clásica:Este esquema sigue el mecanismo clásico de la encriptación por clave publica, el mensaje es encriptado usando la clave publica de un determinado usuario de forma tal que solo pueda ser desencriptado por la clave privada del mismo.

Certificación de mensajes:Esta es una utilidad muy recomendable, y sirve para que un usuario firme un mensaje de forma tal que se pueda autenticar su autoría. Lo que hace el PGP es primero extraer un 'concentrado' del mensaje sometiéndolo a una función de hashing, luego el concentrado es encriptado con la clave privada del usuario y agregado al final del mensaje. Cuando el mensaje es recibido por un usuario la firma digital es desencriptada usando la clave pública del usuario y luego el mensaje es sometido a la función de hashing, si el concentrado coincide con el concentrado desencriptado del mensaje entonces el mensaje fue escrito por quien dice ser, de lo contrario o bien fue escrito por otra persona o bien fue modificado el texto del mensaje.

Los mensajes certificados a su vez pueden ser encriptados para que solo puedan ser leídos por una cierta persona.

Notar que la certificación utiliza el juego de claves en forma inversa al uso normal de las mismas.

Page 38: Criminalística Cibernética

Mensaje solo para tus ojos:Esta opción del PGP permite encriptar un mensaje para una cierta persona de forma tal que cuando esta lo desencripte usando su clave privada el texto del mensaje solo se pueda ver en pantalla y no pueda ser grabado en un archivo, esta opción otorga una seguridad extra a quien envía el mensaje y tiene miedo que el usuario que lo recibe lo trate en forma descuidada dejándolo por allí.

Borrado especial del archivo a encriptar:Cuando se quiere encriptar un mensaje muy critico que esta escrito en un archivo, PGP dispone de la opción de eliminar el archivo original del disco una vez encriptado. PGP no utiliza un borrado común del archivo sino que sobreescribe el área del disco con sucesivas pasadas de unos, ceros y unos y ceros alternados en forma random, esto lo hace varias veces. El algoritmo de borrado del PGP asegura que la información no podrá ser recuperada del disco. (Si el algoritmo no es lo suficientemente seguro el análisis de trazas magnéticas del disco puede permitir recuperar la información).

PGP es un programa sumamente seguro y es utilizado en todo el mundo para el envío de e-mail en forma segura y la certificación de mensajes de importancia.

e. Criptografía Cuántica:

La criptografía cuántica es una nueva área dentro de la criptografía que hace uso de los principios de la física cuántica para transmitir información de forma tal que solo pueda ser accedida por el destinatario previsto.

Para poder llegar a explicar los detalles de la criptografía cuántica se necesitan establecer algunos conceptos básicos de criptografía y física cuántica que serán de ayuda para la comprensión del tema. Pero antes que nada se expone el problema que la criptografía cuántica intentará solucionar.

En general observar un sistema cuántico perturba al mismo, e impide que el observador conozca su estado exacto antes de la observación. Por lo tanto, si un sistema cuántico es utilizado para transferir información, alguien que quiera espiar la comunicación, o incluso el receptor previsto, podría verse impedido de obtener toda la información enviada por el emisor. Este rasgo negativo de la mecánica cuántica, conocido como principio de incertidumbre de Heisenberg, recientemente ha encontrado un uso positivo en el área de las comunicaciones privadas y seguras.2. Como se producen los ataques y delitos informáticos.

2.1 Seguridad en los servidores Internet:

Mientras que el computo forense en un ocupación reciente, tiene relación con muchos precursores en tecnologías de información. Estas disciplinas padre no

Page 39: Criminalística Cibernética

solo incluyen la teoría y la practica de hardware, software y programación, sino también notablemente Seguridad de computo, que ha madurado junto con la tecnología de información para ayudar a proteger, no solo contra ataques, sino también contra errores y accidentes.

Hay dos importante observaciones que vienen a la mente sobre ésta relación entre el computo forense y la seguridad de computadoras. Primero, las redes remotas y empresas en línea, después del año 1991, ha hecho cada vez mas difícil establecer el alcance de una política de seguridad. Antes era posible maquetar un limite alrededor de las operaciones, para distinguir entre “los de dentro”, quienes estaban permitidos de usar el sistema y los “de afuera”, quienes no estaban permitidos, y enfocarse en la construcción de limites seguros. Esta distinción ha llegado a no tener sentido, tanto como las empresas y los órganos del gobierno arremeten para establecer su presencia en internet. Ahora el enfoque se ha desplazado a rol de las aplicaciones, el lugar donde los roles son permitidos están descritos en términos de derechos de acceso en jerarquías. Segundo asesores de riesgo siempre tienen que advertir la actuación de estos “intrusos” evitando el inadecuado monitoreo de roles, quienes probablemente comenten la mayor parte de crímenes de computadora, se estima el 80%.

El objetivo de la seguridad de computadoras en sus sentido mas amplio es preservar un sistema; como es su significado; especificamentem como las politicas de seguridad dictan. Computo forense, o al menos forense de intrusion, explica como las politicas son violadas, un proceso puede revelar los agujeros fatales en las politicas mismas. Existen algunas razones para la discrepancia seguridad / forense:

2.2 Area de Actividades:

Uno de los primeros pasos es determinar el área de las actividades. Se desea identificar enteramente a la organización o los limites de las actividades en ciertas áreas.. En algunos casos puede resultar un poco complicado determinar todas las entidades asociadas a la organización objetivo. Los proveedores de internet contienen conjuntos de recursos que se pueden utilizar para el area de actividades y también proporciona algo más; como el tipo y cantidad de información publica disponible sobre la organización y los empleados.

La pagina web de una organización puede proporcionar una cantidad de información que puede ser de ayuda a los atacantes, como por ejemplo:

LugaresEntidades o empresas relacionadasNoticias de adquisicionesNúmeros telefónicosNombre de contacto y direcciones de correo electrónico

Page 40: Criminalística Cibernética

Políticas de seguridad y privacidad indicando el tipo de mecanismo de seguridad en el lugarEnlaces a otros servidores web, relacionados con la organización.

Consulta Google, para enlaces a dominio especificado

2.3 Información general del objetivo (Web, Whois, news):

Aquí se inicia el proceso de enumeración para identificar los nombres de dominio y redes asociadas, que se relacionan a una organización en particular. Los nombres de dominio representan la presencia de la empresa en internet y son el equivalente en internet al nombre de la empresa, como “JugosDel.com” o “hansgross.com”

Para enumerar los dominios e iniciar a descubrir la redes anexas al objetivo, se debe escudriñar la internet. Existen multiples bases de datos “whois” que pueden ser consultadas para proporcionar información sobre cada entidad que se desea invetigar. En los años 1999 la empresa network solutions tenia el monopolio de los registro de dominios y mantenia esta inforamcion en sus servidores “whois”. Este monopolio fue disuelto y actualmente hay una multitud de registradores acreditados. Y se hace necesario realizar la consulta al registrador adecuado, para obtener la información que se requiera.

Page 41: Criminalística Cibernética

Existen diferentes mecanismos, pare realizar las consultas a las diferentes bases de datos “whois“. En cualquier caso siempre se debe de obtener la misma información

Interface Web:

http://www.networksolutions.com/http://www.arin.net

Cliente WHOIS:

dig, host, nslookup (GNU/Linux)SamSpade (Windows) http://www.samspade.org/

Consulta vía Web a una Base de Datos WHOIS

Page 42: Criminalística Cibernética

Consulta a una Base de Datos WHOIS via consola Diversa información puede ser obtenida con cada consulta realizada. Los siguiente tipos de consulta proporcionan la mayoría de información que un atacante puede utilizar:

Registrante (información del registrador y servidores whois asociados)Organización (información relacionada con la organización)Dominio (información relacionada con un dominio en particular)Red (información relacionada a una red particular o una simple dirección IP)Punto de Contacto (información de una persona especifica, contacto administrativo)

2.4 Interrogación a DNS:

Después de indentificar los dominios asociados, se inicia la consulta a los DNS. DNS es una base de datos distribuida utilizado para mapear direcciones IP a nombres de dominios y viceversa. Si el DNS esta configurada de manera insegura, es posible obtener una revelación de información sobre la organización.

Una de los mas comunes errores de configuración de los administradores de sistemas es permitir a usuarios no permitidos realizar transferencias de zonas.

Una transferencia de zona, permite a un servidor maestro secundario actualizar su base de datos de zonas desde el servidor primario.

Un medio simple para realizar estas consultas en con el comando “host”:

Page 43: Criminalística Cibernética

2.5 Reconocimiento de la Red:

Cuando se han identificado potenciales Redes, se intenta determinar la topología de la Red y tambien las posibles rutas hacia la Red.

Para realizar esta tarea, se puede usar “traceroute”, el cual puede encontrarse con la mayoria de sistemas GNU/Linux y tambien para sistemas Windows.

Tracerote es una herramienta de diagnostico que permite ver la ruta que un paquete IP sigue de un host a otro. Usa la opción TTL (tiempo de vida) en el paquete IP para obtener un mensaje ICMP TIME_EXCEEDED de cada router.

Page 44: Criminalística Cibernética

VisualRoute es una herramienta Visual que no solo obtener información de los “saltos” sino también la ubicación geográfica e información anexa.

Page 45: Criminalística Cibernética

2.6 Servidores accesibles:

El escaneo es equivalente a tocar las paredes para encontrara puertas o ventanas abiertas. Es importante recordar que el hecho de que una IP este listada en una transferencia de zona, no significa que esta sea alcanzable vía internet. Se necesita probar cada sistema objetivo para percibir si esta vivo, y si lo esta, que puertos tiene activos.

La manera mas básica de mapear una red es realizar un PING automatizado sobre un rango de direcciones IP

nmap sobre conjunto de direcciones IP

2.7 Rastreo de puertos:

El escaneo de puertos es un proceso de conectar a puertos TCP y UDP de un sistema objetivo para determinar que servicios están ejecutándose o en estado “LISTENING”

Identificar puertos “a la escucha” es critico para determinar el tipo de sistema operativo y aplicaciones utilizadas. Servicios activos que están “escuchando” pueden permitir acceso no autorizado a usuarios para ganar acceso a sistemas que estas mal configurados o ejecutando versiones de software que se conocen tienen vulnerabilidades de seguridad. Las herramientas de escaneo han evolucionado significativamente con el transcurrir de los años.

Page 46: Criminalística Cibernética

Alguno de los objetivos que se persiguen al realizar un escaneo de puertos a un sistema objetivo, son lo siguientes; pero no limitados a:

Identificar servicios ejecutándose tanto TCP como UDP, sobre el sistema objetivoIdentificar el tipo de sistema Operativo del sistema objetivo.Identificar aplicaciones especificas o versiones de un servicio particular.

2.8 Rastreo de sistemas operativos:

Es momento de identificar el tipo de sistema Operativo que ha sido objeto del escaneo. Información sobre un sistema Operativo especifico es de utilidad durante la fase de mapeo de vulnerabilidades. Es importante recordar que se intenta ser lo mas preciso posible para determinar las vulnerabilidades asociadas de nuestro sistema Objetivo. Y se hace necesario poder identificar el Sistema Operativo del Sistema Objetivo.

Se puede realizar un simple reconocimiento del Sistema Operativo utilizando técnicas de reconocimiento de “banners”, esto aunado a los la información de servicios como FTP, SMTP HTTP, POP3, y otros. Este es la manera mas simple de detectar un sistema operativo y el numero de versión asociado del servicio ejecutándose. Obviamente existen herramientas que nos ayudan en esta tarea. Tenemos a nmap y xprobe2

Page 47: Criminalística Cibernética

2.9 Rastreadores de red (Sniffers):

Un packet sniffer es un programa de captura de paquetes de red, generalmente utilizado con fines maliciosos.

Es algo común que, por necesidad material, el medio de transmisión sea compartido entre varios ordenadores (cable coaxial, UTP, fibra óptica etc.) lo cual hace posible que un ordenador capture paquetes no destinados a él, para lo cual el sniffer pone la tarjeta de red en un estado llamado "modo promiscuo". De esta manera se puede obtener todo tipo de información de cualquier aparato conectado a la red como contraseñas, correos electrónicos o cualquier otro tipo información personal (por lo que son muy usados por crackers, aunque también pueden ser usados para realizar comprobaciones y solucionar problemas en la red de modo legal por un administrador de dicha red).

Es importante remarcar el hecho de que los sniffer solo pueden ser usados en redes que compartan el medio de transmisión (generalmente redes de área local) como en redes sobre cable coaxial, redes sobre cables de par trenzado conectados a un concentrador o redes WiFi. El uso de switch en lugar de hub incrementa la seguridad de la red ya que impide el uso de sniffers al no pasar los paquetes por ordenadores no destinatarios.

Ethereal: Es una herramienta utilizada por profesionales alrededor del mundo para localizar averías, análisis, desarrollo de software y protocolos, y educación. Posee todas las características estándar que se desea encontrar en un analizador de

Page 48: Criminalística Cibernética

protocolos e incluye varias características que no pueden ser localizadas en otros productos. Tiene licencia Open Source , permite a talentos en redes de la comunidad realizar mejoras. Se ejecuta en las más populares plataformas, incluyendo Unix, Linux, Windows.

2.10 Secuestro y falsificación DNS:

Ataque DNS Spoofing:

DNS Spoofing se describe como un servidor DNS que hace uso de información falsa recibida desde un host que no es autoridad para la información. Es una amenaza significativa para la seguridad de las organizaciones que no han tomado medidas para protegerse de ella. El DNS Spoofing puede permitir a los atacantes acceder al correo de un sitio, y puede hacer que los usuarios sean redireccionados a sitios Web incorrectos incluso proporcionando una abertura para un ataque de Negación de Servicio.

Escenario: La compañía, TAMJTeK Inc., está compitiendo para acabar el desarrollo del último software de juegos antes de que el capital de la empresa salga. Se comienza a anunciar el aviso pendiente de una brecha en tecnología de

Page 49: Criminalística Cibernética

este juego en el sitio Web de Internet. Usted tiene una llamada de uno de los socios de la empresa. Ella desea saber por que termina llegando a www.hackncrack.net cuando intenta llegar a www.tamjtek.com. Usted intenta conectarse al sitio Web y, seguro, termina llegando a www.hackncrac.net. Usted prueba algunos otros sitios y todo parece muy bien excepto, que encuentra que su competidor más fuerte ha anunciado una brecha en el mismo juego. Su sitio Web demuestra una imagen de su juego, la cual parece notablemente similar a la suya con aspectos virtualmente idénticos. ¿Coincidencia? Quizás no.

Ataque DNS ID Hacking:

El DNS ID Hacking no es una forma usual de hacking/spoofing o cualquier otro. Este método se basa en una vulnerabilidad en protocolo del DNS. Más eficaz, el DNS ID hack/spoof es muy eficiente y muy fuerte porque no hay generación de demonios de DNS que se escape de ella (incluso WinNT).

Ataque DNS Caché Poisoning:

Siempre que un servidor DNS no tenga la respuesta a una consulta dentro de su caché, el servidor DNS puede pasar la consulta a otro servidor DNS a nombre del cliente. Si el servidor pasa la consulta a otro servidor DNS que tenga información incorrecta, estará colocándola intencionalmente o no intencionalmente, pudiendo ocurrir entonces un caché poisoning. EL Caché Poisoning es comúnmente referido como DNS Spoofing.

Por ejemplo, suponga que hay un servidor de nombres, conocido como dnsobjetivo.com, manteniendo una red de computadoras, como se muestra en la Figura 1. Estas computadoras son en esencia clientes DNS. Una aplicación en un sistema cliente, host1, hace una consulta DNS que es enviada a dnsobjetivo.ejemplo.com. Entonces dnsobjetivo.ejemplo.com examina su caché para ver si tiene la respuesta a la consulta. Para propósito del ejemplo, dnsobjetivo.ejemplo.com no es autoritario para el nombre DNS en la consulta ni tiene la respuesta para la consulta en su caché. Debe enviar la consulta a otro servidor, llamado dnsinfectado.ejemplo.org. La información en dnsinfectado.ejemplo.org sucede que es incorrecta, comúnmente debido a la mala configuración, y la respuesta enviada de regreso a dnsobjetivo.ejemplo.com contiene información engañosa. Puesto que dnsobjetivo.ejemplo.com esta almacenando las respuestas, almacena esta información engañosa y envía la respuesta de regreso a host1. Mientras esta información exista en la caché de dnsobjetivo.ejemplo.com, todos los clientes, no solo host1, son ahora susceptibles para recibir esta falsa información.

Page 50: Criminalística Cibernética

2.11 Ataques contra servicios con autenticación, fuerza bruta:

Un Ataque por fuerza bruta consiste en probar todos los posibles códigos, combinaciones o claves, hasta que se obtenga alguna valida. La dificultad de estos ataques depende de muchos factores, como son:

. La longitud de la “clave”

.Cuantos posibles valores de puede tener cada componente de la clave

.Con que longitud debe tratar de probarse cada clave.

.Existencia de un mecanismo que bloquee al atacante después de un numero de intentos fallidos

Imagínese un sistema el cual permite códigos de 4 dígitos. Esto significa que existe un máximo de 10000 posibles combinaciones del PIN. Un ataque por fuerza bruta, puede siempre ser satisfactoria; eventualmente; sin embargo, ataques por fuerza bruta contra sistemas con suficientemente sólidas claves, puede requerir billones de años en ser completadas.

• Ataques por Fuerza Bruta vs. Ataques por Diccionario:

En muchos casos, un ataque por diccionario, puede trabajar mas rápidamente que un ataque por fuerza bruta, Sin embargo un ataque por fuerza bruta, es

mas certero para alcanzar resultados que un ataque por diccionario.

Entre el software disponible se tiene a hydra; hydra explota uno de los mas grandes agujeros en la seguridad, que son las contraseñas. Hydra es un crackeador en paralelo de autenticación, que soporta numerosos protocolos que pueden ser atacados. Nuevos módulos son fáciles de añadir, esto es flexible y rápido.

Actualmente la herramienta soporta: Telnet, ftp, http, https, http-proxy, smb, smbnt, mysql, rexec, rsh, rlogin, cvs, etc, etc.

Esta herramienta es una prueba de concepto, para proporcionar a los investigadores y consultores de seguridad, la posibilidad de mostrar cuan fácil puede ser obtener acceso no autorizado remotamente a un sistema.

Page 51: Criminalística Cibernética

2.12 Desbordamiento de memoria (Buffer overflow)

Estos días han saltado a la opinión pública una serie de errores provocados por desbordamiento de buffer (buffer overflow) los cuales permitían tomar el control absoluto de nuestra máquina, o bien a un atacante remoto, o bien a gusanos / virus (Blaster, por ejemplo) que usan dicha vulnerabilidad.

"Desbordamiento de buffer" es una de las frases que muchas veces asumimos sin preguntar -aunque sólo sea en plan curiosidad-, qué es lo que significa. En el presente artículo, creado para neófitos en informática, vamos a intentar clarificar este concepto: qué es lo que realmente significa, y por qué sucede. Esto es inherente a cualquier sistema operativo, por lo que no es exclusivo de Microsoft.

Vamos a utilizar en varios puntos de este artículo la palabra "exploit". Un exploit no es nada más que una manera, o un código, o lo que sea, de manejar una vulnerabilidad para tomar el control de una máquina, o bien para hacerla mal funcionar y provocar la caída de sus servicios.

Un programa tiene su área de código ejecutable, y usa en memoria un espacio para almacenamiento del propio código y también para almacenamiento de los datos que vaya a utilizar. Igualmente, si el programa recibe parámetros o datos, debe guardarlos temporalmente en memoria.

Page 52: Criminalística Cibernética

Por ejemplo, imaginemos un programa servidor de páginas web. Cuando el usuario teclea en un navegador: "http://www.microsoft.com/directx", el texto tecleado: "www.microsoft.com/directx" viaja como dato al servidor web de Microsoft. Dicho servidor es un programa que recibe ese texto, y que tiene que almacenarlo en memoria.

Imaginemos que desde nuestro navegador, podemos teclear lo que queramos sin tener un tamaño máximo para escribir. Es decir que tecleamos "http://www.microsoft.com/xx....xxxx" y el texto que ponemos en las xxxxx es enorme. Pongamos que enviamos 10.000 caracteres... a ver que pasa.

Si el programa servidor que se está ejecutando en los servidores de Microsoft no tiene presente que pueda recibir toda esta cantidad de datos, y el programador que lo ha realizado ha previsto sólo una cantidad, digamos razonable de 1000 caracteres, el propio programa al intentar guardarse esos 10.000 caracteres, está "machacando" áreas de memoria que pueden ser de contenido de otros datos (en cuyo caso se machacan) o incluso de código ejecutable del propio servidor. En cualquier caso, hay destrucción de información que provocarán en el mejor de los casos o un mal funcionamiento, o lo más probable, una "caída" del programar servidor web por machacarse parte de su propio código

Evidentemente, la solución pasaría por comprobar el tamaño de lo tecleado antes de moverlo a zonas de memoria.

Este es un caso muy sencillo y muy simplificado, pero nos puede servir como idea de lo que sucede. Generalicemos un poco: un programa, se descompone en funciones. Dicho programa recibe parámetros o datos, se los guarda, y los pasa al resto de funciones o subprogramas que lo necesiten.

El problema es cuando el propio programa o los propios subprogramas o funciones, tienen reservados tamaños inferiores a la longitud de los datos que reciben. La solución, por supuesto, es que cada programa, función, modulo, librería, DLL, etc... no se fíe de nadie y verifique exhaustivamente todo antes de tomar ninguna acción y ni tan siquiera guardarlo en memoria.

Normalmente, los controles anteriores no se hacen excepto en entrada de datos, debido a que esto implica sobrecargar excesivamente de código de comprobación, y en tiempo de ejecución todos los parámetros y todas las zonas de memoria a las que accede el programa.

El problema surge cuando muchas de las funciones diseñadas para ejecutarse internamente, y que no tienen controles de los parámetros, deciden reutilizarse en otros programas de nivel superior los cuales pueden no tener tampoco dichos controles. En este caso, y aunque su funcionamiento sea normal, pueden encontrarse situaciones en que alguien malintencionado lo descubra y decida "explotar" esta vulnerabilidad. Es vulnerable un programa desde el momento en

Page 53: Criminalística Cibernética

que somos capaces de hacerlo "cascar". Si somos capaces de ello, también seremos capaces de hacer lo que queramos: es decir de tomar control de él.

2.13 Vulnerabilidades de las aplicaciones web:

Cuando una organización pone una aplicación web, están invitando a todo el mundo a enviar peticiones HTTP. Este tipo de ataques pueden pasar fácilmente, cortafuegos, filtros, sistemas detectores de intrusos, sin ser notados, debido a que son peticiones HTTP legales.

Lo que se plantea no es nuevo, este hecho se ha conocido por décadas, pero aun hoy se esta comprometiendo la seguridad de los sistemas en internet. No existe una solución mágica para poner una curar estos graves problemas, ahora la prevención y la protección esta mejorando, pero en un subconjunto de temas especifico en el mejor de los casos. Para tratar estos temas, las organizaciones deben cambiar su cultura de desarrollo, entrenamiento de desarrolladores, actualizar su proceso de desarrollo de software y utilizar la tecnología cuando sea necesaria.

A continuación se detalla una lista relacionadas con este tópico:

.Entradas no Validadas

En la práctica, los atacantes pueden emplear información no validada para alcanzar componentes secundarios

Page 54: Criminalística Cibernética

.Control de Acceso Roto

Debido a que no se establecen las adecuadas restricciones en la autenticación de usuarios, los agresores pueden tener acceso a otras cuentas o acceder a funciones no autorizadas.

.Autenticación Rota

Fallos en administración de sesiones y autenticación. Credenciales de cuentas y tokens de sesión no están protegidos adecuadamente, lo que puede permitir que los atacantes comprometan contraseñas, llaves, cookies de sesión, y que asuman la identidad de otros usuarios.

Page 55: Criminalística Cibernética

.Cross Site Scripting

En este caso, la aplicación web se emplea como mecanismo para realizar ataques contra el navegador de los usuarios finales, lo que puede posibilitar que queden al descubierto cookies de sesión, o que se utilice contenido falso para engañar al usuario.

.Buffer Overflows (Desbordamiento de buffer)

Componentes de la aplicación web escritos en lenguajes que no realicen una validación de datos de entrada adecuada pueden fallar y, en algunos casos, permitir tomar el control de un proceso.

.Inyección de banderas.

Page 56: Criminalística Cibernética

Las aplicaciones web pasan parámetros cuando acceden al sistema externo o al sistema operativo. Si en los parámetros se incluyen comandos maliciosos, el sistema externo puede ejecutarlos en nombre de la aplicación web.

.Manejo inadecuado de errores.

Puede ser empleada por los atacantes para obtener información detallada del sistema o provocar denegaciones de servicio.

.Almacenamiento de errores

Se ha demostrado que las aplicaciones web que utilizan funciones criptográficas para proteger la información y las credenciales no cifran adecuadamente, lo que da como resultado una protección débil.

.Denegaciones de servicio a la aplicación

Como se ha mencionado anteriormente, los atacantes pueden consumir recursos de la aplicación web hasta conseguir que los usuarios legítimos no puedan acceder a ella. A su vez, los agresores podrán bloquear las cuentas de usuarios o provocar la caída de la aplicación.

Page 57: Criminalística Cibernética

.Manejo inseguro de configuración

Los servidores web tienen muchas opciones de configuración que afectan la seguridad y que no son seguras hacia fuera. Tener un estándar de configuración fuerte es crítico.

2.14Denegación de servicio

Los ataques de denegaciones de servicio (DoS) cuestan millones de dólares anualmente a las empresas y son una seria amenaza a los sistemas y redes de computadoras. Estos costos están relacionados al tiempo “muerto”, perdidas en ventas, en la labor relacionada con la identificación y reacción ante estos ataques.

Page 58: Criminalística Cibernética

Un ataque de denegación de servicio altera o completamente deniega el servicio a usuarios legítimos, redes, sistemas u otros recursos. La intención de tales es generalmente de tendencia maliciosa, ya que se requieren muy pocos conocimientos y las herramientas están libremente disponibles.

Tipos de ataque DoS:

.Consumo de Ancho de Banda: Esencialmente los atacantes consumen todo el ancho de banda disponible de una red en particular, esto puede ocurrir en una red local, pero es mucho mas común que los atacantes consuman estos recursos, remotamente.

.Consumo de Recursos Hardware: Difiere del ataque de consumo al ancho de banda en que este se enfoca en consumir recursos del sistema y también recursos de la red. Esto involucra consumo de recursos de CPU, memoria, sistema de archivos u otros procesos.

.Banderas en Programas: Son fallas de una aplicación, sistema operativo, o lógica incrustada en un chip para manejar condiciones de excepcionales, estas generalmente ocurren cuando un usuario envía datos a un elemento vulnerable.

.Ataque de enrutamiento y a DNS: este tipo de ataque involucra la manipulación de la tabla de enrutamiento para denegar servicios a sistemas o redes legítimos. Debido a que algunos protocolos no tienen un tipo de autenticación, es un escenario ideal para este tipo de ataques para alterar rutas legitimas, falsificando las direcciones IP e origen, para crear una condición de DoS. Las víctimas de este tipo de ataques pueden percibir como su trafico es redireccionado a otra red o simplemente a un hoyo negro.

DDoS: Este tipo de ataque ocurre cuando alguien utiliza software libremente disponible y envía flujos constantes de paquetes a una red destino o host, en un intento por saturar sus recursos. Pero la principal diferencia es que el ataque provien de de diversas fuentes y la única manera de crear este escenario es comprometer computadoras existentes en internet.

Page 59: Criminalística Cibernética

2.15Analizadores de Seguridad

CORE IMPACT:

Es el primer producto automatizado para realizar “pruebas de penetración” y exponer amenazas especificas a la seguridad en la organización. Con CORE IMPACT, cualquier administrador de redes puede fácilmente y eficientemente determinar exactamente como un atacante puede obtener control sobre su información.. No se necesita ser un experto, o un especialista en seguridad, para realizar este tipo de evaluaciones en la red, identificar los recursos que están expuestos, y determinar su la inversión actual en seguridad esta actualmente detectando y previniendo ataques. Este software ayuda a mejorar la seguridad mientras se reducen costos.

Page 60: Criminalística Cibernética

Nessus:

Nessus es el mas popular escaner de vulnerabilidades de codigo abierto a nivel mundial, usado en mas de 75000 organizaciones alrededor del mundo. Muchas de las mas grandes organizaciones están realizando reducciones significativas de costos utilizando Nessus para auditar dispositivos y aplicaciones criticas de la empresa.

Nessus esta considerado actualmente como uno de los productos “top” de su tipo en la industria de la seguridad y es avalado por profesionales en seguridad de la información y organizaciones con la SANS Institute.

2.16 Ingeniería Social

Básicamente se denomina ingeniería social a todo artilugio, tretas y técnicas más elaboradas a través del engaño de las personas en revelar contraseñas u otra información, más que la obtención de dicha información a través de las debilidades propias de una implementación y mantenimiento de un sistema.

Page 61: Criminalística Cibernética

El único medio para entender como defenderse contra esta clase de ataques es conocer los conceptos básicos que pueden ser utilizados contra usted o su compañía y que abren brechas para conseguir sus datos. Con este conocimiento es posible adoptar una aptitud más saludable que lo alerte sin convertirse en un ser paranoico.

*Los métodos

Intentando persuadir a un individuo para completar un objetivo o tarea se pueden usar varios métodos:

El primero y más obvio es simplemente una demanda directa, donde a un individuo se le pide completar su tarea directamente. Aunque probablemente tenga menor éxito, éste es el método más fácil y el más sincero. El individuo sabe lo que usted quiere que ellos hagan exactamente.

El segundo método es ejecutado indirectamente en una situación previamente ideada donde el individuo es simplemente una parte de la misma. El mismo puede ser persuadido porque cree en las razones suministradas. Esto involucra mucho más trabajo para la persona que hace el esfuerzo de la persuasión, y casi ciertamente se involucra obteniendo un conocimiento extenso del ' objetivo'. Esto no significa que las situaciones no tienen que ser basadas en hecho real. Cuando menos falsedades, mayor la factibilidad de que el individuo en cuestión juegue el papel que le fue designado.

Una de las herramientas esenciales usadas para la ingeniería social es una buena recolección de los hábitos de los individuos.

*Las situaciones

La ingeniería social se dirige a los individuos con menos conocimientos, dado que los argumentos y otros factores de influencia tienen que ser construidos generando una situación creíble que el individuo ejecute.

Algunos ejemplos que se pueden citar:

- La ejecución de un virus troyano por parte del usuario, adjunto a un correo electrónico enviado por una casilla que le es familiar o simplemente con un interesante título al destinatario como "es divertido, pruébalo", "mira a Anita desnuda", etc.

- La voz agradable de un hombre o mujer, que pertenece al soporte técnico de nuestra empresa o de nuestro proveedor de tecnología, que nos requiere telefónicamente de información para resolver un inconveniente detectado en nuestra red.

Page 62: Criminalística Cibernética

- El llamado de un usuario que necesita que se le asignen nuevamente su clave porque la ha cambiado durante el transcurso del día y no la recuerda.

Esto son burdos ejemplos, citados simplemente para graficar algunos conceptos anteriormente explicados. No es objetivo de este artículo un análisis profundo de este tema, sino simplemente presentar al lector un panorama general sobre los aspectos más simples que rodean al manejo de la información.

*La conclusión

Contrariamente a la creencia popular, es a menudo más fácil de utilizar a las personas, que explotar vulnerabilidades o malas implementaciones de un sistema. Pero toma más esfuerzo educar a los usuarios para que puedan prevenirse y descubrir los esfuerzos a la ingeniería social que afianzar la seguridad operativa con el administrador del sistema.

A los Administradores, no permita que el eslabón humano en su cadena de seguridad desgaste su trabajo.

Al lector y usuario medio, asesórese sobre políticas de seguridad para sus datos, como así también consulte si su empresa tiene implementadas tales medidas.

2.17 Phreaking

La primera historia sobre alguien capaz de trampear el sistema telefónico fue Joe Engressia, también llamado "The Whistler". Esta persona, que era ciego, contaba con un oido perfecto y podía, a base de silbidos, realizar llamadas telefónicas.

El primer Phreacker como tal fue el "Capitán Crunch". Su nombre deriva de una caja de cereales que llevaba un silbato. Descubrió que el tono del silbato era el mismo que activaba las comunicaciones entre centralitas analógicas de larga distancia.

Tanto Steve Wozniak como Steve Jobs, fundadores de Apple, se dedicaron en sus primeros años a idear un aparato electrónico que prescindiera de silbatos o silbidos y automatizara el proceso. Dicho aparato se denominó bluebox y permitió a ambos obtener el dinero necesario que les llevaría a proyectos más ambiciosos como los primeros Apple.

Sin duda actualmente los mejores phreakers residen en Chile, el más famoso Fox1 este personaje fue capaz de intervenir centrales telefónicas tanto en su país de origen como en el extranjero. Estafó a las empresas de telefonía móvil y fija en mas 48 millones de pesos sin contar los fraudes internacionales.

Page 63: Criminalística Cibernética

Con el tiempo, las centralitas analógicas se volvieron digitales e impidieron la proliferación de las blueboxes, por lo que las miras se dirigieron a la alteración de las centralitas de oficina para efectuar redirecciones de llamadas.

2.18 Carding y estafas bancarias

Se llama carding a la actividad de cometer un fraude o una estafa con un numero de tarjeta de crédito.Este concepto que parece simple tiene sus hontanares de cuestión. Primero no todo fraude con tarjeta de crédito se transforma en carding, así se roba o se encuentra una tarjeta y es utilizada por otra persona que no es su titular, ello no es carding es solo un fraude.El carding consiste entonces en usar un numero de tarjeta de crédito, ya sea real o creado de la nada mediante procedimientos digitales, para realizar compras a distancia por Internet y efectuar pagos.El nivel de seguridad en Internet para realizar transacciones económicas no es bueno, por ello existen fugas de información, muchos usuarios de la red ponen su numero de tarjeta de crédito para hacer compras, estos números son captados por otras personas que los reutilizan para hacer más compras sin ser los titulares de la tarjeta.A esta actividad debe agregarse la de generar números validos de tarjetas de crédito para luego usarlos en compras a distancias.Cuando una empresa de tarjetas asigna una tarjeta numerada a un usuario lo hace a través de un sistema automatizado de creación de numero aleatorios. Por ello basta usar el mismo sistema para crear números validos; cualquier estudiante de ingeniería puede hacer un sistema de calculo de numero aleatorios.El carding es sin duda la actividad más riesgosa de todas las entendidas como delitos informáticos, pues si se quiere recibir lo que se compró hay que ordenar que lo manden a algún sitio, he allí el problema: a qué sitio, pues quien compró con un número de tarjeta que no era suyo, se arriesga a que en el ínterin lo descubran y al ir a recoger la cosa, lo arresten.

3. Seguridad informática y sistemas de seguridad.

3.1 . Conceptos y principios de la administración de la seguridad

Podemos entender como seguridad una característica de cualquier sistema (informático o no) que nos indica que ese sistema está libre de todo peligro, daño o riesgo, y que es, en cierta manera, infalible. Como esta característica, particularizando para el caso de sistemas operativos o redes de computadores, es muy difícil de conseguir (según la mayoría de expertos, imposible), se suaviza la definición de seguridad y se pasa a hablar de fiabilidad (probabilidad de que un sistema se comporte tal y como se espera de él) más que de seguridad; por tanto, se habla de sistemas fiables en lugar de hacerlo de sistemas seguros.

Page 64: Criminalística Cibernética

A grandes rasgos se entiende que mantener un sistema seguro (o fiable) consiste básicamente en garantizar tres aspectos: confidencialidad, integridad y disponibilidad. Algunos estudios integran la seguridad dentro de una propiedad más general de los sistemas, la confiabilidad, entendida como el nivel de calidad del servicio ofrecido. Consideran la disponibilidad como un aspecto al mismo nivel que la seguridad y no como parte de ella, por lo que dividen esta última en sólo las dos facetas restantes, confidencialidad e integridad. En este trabajo no seguiremos esa corriente por considerarla minoritaria.

Qué implica cada uno de los tres aspectos de los que hablamos? La confidencialidad nos dice que los objetos de un sistema han de ser accedidos únicamente por elementos autorizados a ello, y que esos elementos autorizados no van a convertir esa información en disponible para otras entidades; la integridad significa que los objetos sólo pueden ser modificados por elementos autorizados, y de una manera controlada, y la disponibilidad indica que los objetos del sistema tienen que permanecer accesibles a elementos autorizados; es el contrario de la negación de servicio. Generalmente tienen que existir los tres aspectos descritos para que haya seguridad.

3.2 Mecanismos de protección

Los tres elementos principales a proteger en cualquier sistema informático son el software, el hardware y los datos. Por hardware entendemos el conjunto formado por todos los elementos físicos de un sistema informático, como CPUs, terminales, cableado, medios de almacenamiento secundario (cintas, CD-ROMs, diskettes...) o tarjetas de red. Por software entendemos el conjunto de programas lógicos que hacen funcional al hardware, tanto sistemas operativos como aplicaciones, y por datos el conjunto de información lógica que manejan el software y el hardware, como por ejemplo paquetes que circulan por un cable de red o entradas de una base de datos. Aunque generalmente en las auditorías de seguridad se habla de un cuarto elemento a proteger, los fungibles (elementos que se gastan o desgastan con el uso continuo, como papel de impresora, tóners, cintas magnéticas, diskettes...), aquí no consideraremos la seguridad de estos elementos por ser externos al sistema.

Habitualmente los datos constituyen el principal elemento de los tres a proteger, ya que es el más amenazado y seguramente el más difícil de recuperar: con toda seguridad una máquina Unix está ubicada en un lugar de acceso físico restringido, o al menos controlado, y además en caso de pérdida de una aplicación (o un programa de sistema, o el propio núcleo de Unix) este software se puede restaurar sin problemas desde su medio original (por ejemplo, el CD-ROM con el sistema operativo que se utilizó para su instalación). Sin embargo, en caso de pérdida de una base de datos o de un proyecto de un usuario, no tenemos un medio `original' desde el que restaurar: hemos de pasar obligatoriamente por un sistema de copias de seguridad, y a menos que la política de copias sea muy estricta, es difícil devolver los datos al estado en que se encontraban antes de la pérdida.

Page 65: Criminalística Cibernética

Contra cualquiera de los tres elementos descritos anteriormente (pero principalmente sobre los datos) se pueden realizar multitud de ataques o, dicho de otra forma, están expuestos a diferentes amenazas. Generalmente, la taxonomía más elemental de estas amenazas las divide en cuatro grandes grupos: interrupción, interceptación, modificación y fabricación. Un ataque se clasifica como interrupción si hace que un objeto del sistema se pierda, quede inutilizable o no disponible. Se tratará de una interceptación si un elemento no autorizado consigue un acceso a un determinado objeto del sistema, y de una modificación si además de conseguir el acceso consigue modificar el objeto; algunos autores consideran un caso especial de la modificación: la destrucción, entendiéndola como una modificación que inutiliza al objeto afectado. Por último, se dice que un ataque es una fabricación si se trata de una modificación destinada a conseguir un objeto similar al atacado de forma que sea difícil distinguir entre el objeto original y el `fabricado'. En la figura se muestran estos tipos de ataque de una forma gráfica.

3.3 Técnicas de identificación y autenticación

Ya sabemos que unos requerimientos primordiales de los sistemas informáticos que desempeñan tareas importantes son los mecanismo de seguridad adecuados a la información que se intenta proteger; el conjunto de tales mecanismos ha de incluir al menos un sistema que permita identificar a las entidades (elementos activos del sistema, generalmente usuarios) que intentan acceder a los objetos (elementos pasivos, como ficheros o capacidad de cómputo), mediante procesos tan simples como una contraseña o tan complejos como un dispositivo analizador de patrones retinales.

Los sistemas que habitualmente utilizamos los humanos para identificar a una persona, como el aspecto físico o la forma de hablar, son demasiado complejos para una computadora; el objetivo de los sistemas de identificación de usuarios no suele ser identificar a una persona, sino autenticar que esa persona es quien dice ser realmente. Aunque como humanos seguramente ambos términos nos parecerán equivalentes, para un ordenador existe una gran diferencia entre ellos: imaginemos un potencial sistema de identificación estrictamente hablando, por ejemplo uno biométrico basado en el reconocimiento de la retina; una persona miraría a través del dispositivo lector, y el sistema sería capaz de decidir si es un usuario válido, y en ese caso decir de quién se trata; esto es identificación. Sin embargo, lo que habitualmente hace el usuario es introducir su identidad (un número, un nombre de usuario...) además de mostrar sus retinas ante el lector; el sistema en este caso no tiene que identificar a esa persona, sino autenticarlo: comprobar los parámetros de la retina que está leyendo con los guardados en una base de datos para el usuario que la persona dice ser: estamos reduciendo el problema de una población potencialmente muy elevada a un grupo de usuarios más reducido, el grupo de usuarios del sistema que necesita autenticarlos.

Page 66: Criminalística Cibernética

Los métodos de autenticación se suelen dividir en tres grandes categorías, en función de lo que utilizan para la verificación de identidad: (a) algo que el usuario sabe, (b) algo que éste posee, y (c) una característica física del usuario o un acto involuntario del mismo. Esta última categoría se conoce con el nombre de autenticación biométrica. Es fácil ver ejemplos de cada uno de estos tipos de autenticación: un password (Unix) o passphrase (PGP) es algo que el usuario conoce y el resto de personas no, una tarjeta de identidad es algo que el usuario lleva consigo, la huella dactilar es una característica física del usuario, y un acto involuntario podría considerarse que se produce al firmar (al rubricar la firma no se piensa en el diseño de cada trazo individualmente). Por supuesto, un sistema de autenticación puede (y debe, para incrementar su fiabilidad) combinar mecanismos de diferente tipo, como en el caso de una tarjeta de crédito junto al PIN a la hora de utilizar un cajero automático o en el de un dispositivo generador de claves para el uso de One Time Passwords.

Cualquier sistema de identificación (aunque les llamemos así, recordemos que realmente son sistemas de autenticación) ha de poseer unas determinadas características para ser viable; obviamente, ha de ser fiable con una probabilidad muy elevada (podemos hablar de tasas de fallo de en los sistemas menos seguros), económicamente factible para la organización (si su precio es superior al valor de lo que se intenta proteger, tenemos un sistema incorrecto) y ha de soportar con éxito cierto tipo de ataques (por ejemplo, imaginemos que cualquier usuario puede descifrar el password utilizado en el sistema de autenticación de Unix en tiempo polinomial; esto sería inaceptable). Aparte de estas características tenemos otra, no técnica sino humana, pero quizás la más importante: un sistema de autenticación ha de ser aceptable para los usuarios , que serán al fin y al cabo quienes lo utilicen. Por ejemplo, imaginemos un potencial sistema de identificación para acceder a los recursos de la Universidad, consistente en un dispositivo que fuera capaz de realizar un análisis de sangre a un usuario y así comprobar que es quien dice ser; seguramente sería barato y altamente fiable, pero nadie aceptaría dar un poco de sangre cada vez que desee consultar su correo.

Contraseñas:

El modelo de autenticación más básico consiste en decidir si un usuario es quien dice ser simplemente basándonos en una prueba de conocimiento que a priori sólo ese usuario puede superar; y desde Alí Babá y su `Ábrete, Sésamo' hasta los más modernos sistemas Unix, esa prueba de conocimiento no es más que una contraseña que en principio es secreta. Evidentemente, esta aproximación es la más vulnerable a todo tipo de ataques, pero también la más barata, por lo que se convierte en la técnica más utilizada en entornos que no precisan de una alta seguridad, como es el caso de los sistemas Unix en redes normales (y en general en todos los sistemas operativos en redes de seguridad media-baja); otros entornos en los que se suele aplicar este modelo de autenticación son las aplicaciones que requieren de alguna identificación de usuarios, como el software de cifrado PGP o el escáner de seguridad NESSUS. También se utiliza como

Page 67: Criminalística Cibernética

complemento a otros mecanismos de autenticación, por ejemplo en el caso del Número de Identificación Personal (PIN) a la hora de utilizar cajeros automáticos.

En todos los esquemas de autenticación basados en contraseñas se cumple el mismo protocolo: las entidades (generalmente dos) que participan en la autenticación acuerdan una clave, clave que han de mantener en secreto si desean que la autenticación sea fiable. Cuando una de las partes desea autenticarse ante otra se limita a mostrarle su conocimiento de esa clave común, y si ésta es correcta se otorga el acceso a un recurso. Lo habitual es que existan unos roles preestablecidos, con una entidad activa que desea autenticarse y otra pasiva que admite o rechaza a la anterior (en el modelo del acceso a sistemas Unix, tenemos al usuario y al sistema que le permite o niega la entrada).

Como hemos dicho, este esquema es muy frágil: basta con que una de las partes no mantenga la contraseña en secreto para que toda la seguridad del modelo se pierda; por ejemplo, si el usuario de una máquina Unix comparte su clave con un tercero, o si ese tercero consigue leerla y rompe su cifrado (por ejemplo, como veremos luego, mediante un ataque de diccionario), automáticamente esa persona puede autenticarse ante el sistema con éxito con la identidad de un usuario que no le corresponde.

Tarjetas inteligentes (smartcards)

Las ventajas de utilizar tarjetas inteligentes como medio para autenticar usuarios son muchas frente a las desventajas; se trata de un modelo ampliamente aceptado entre los usuarios, rápido, y que incorpora hardware de alta seguridad tanto para almacenar datos como para realizar funciones de cifrado. Además, su uso es factible tanto para controles de acceso físico como para controles de acceso lógico a los hosts, y se integra fácilmente con otros mecanismos de autenticación como las contraseñas; y en caso de desear bloquear el acceso de un usuario, no tenemos más que retener su tarjeta cuando la introduzca en el lector o marcarla como inválida en una base de datos (por ejemplo, si se equivoca varias veces al teclar su PIN, igual que sucede con una tarjeta de crédito normal). Como principal inconveniente de las smartcards podemos citar el coste adicional que supone para una organización el comprar y configurar la infraestructura de dispositivos lectores y las propias tarjetas; aparte, que un usuario pierda su tarjeta es bastante fácil, y durante el tiempo que no disponga de ella o no puede acceder al sistema, o hemos de establecer reglas especiales que pueden comprometer nuestra seguridad (y por supuesto se ha de marcar como tarjeta inválida en una base de datos central, para que un potencial atacante no pueda utilizarla). También la distancia lógica entre la smartcard y su poseedor - simplemente nos podemos fijar en que la tarjeta no tiene un interfaz para el usuario - puede ser fuente de varios problemas de seguridad

Aparte de los problemas que puede implicar el uso de smartcards en sí, contra la lógica de una tarjeta inteligente existen diversos métodos de ataque, como realizar ingeniería inversa - destructiva - contra el circuito de silicio (y los contenidos de la

Page 68: Criminalística Cibernética

ROM), adulterar la información guardada en la tarjeta o determinar por diferentes métodos el contenido de la memoria EEPROM..

3.4 Seguridad Física

la seguridad física de los sistemas informáticos consiste en la aplicación de barreras físicas y procedimientos de control como medidas de prevención y contramedidas contra las amenazas a los recursos y la información confidencial. Más claramente, y particularizando para el caso de equipos Unix y sus centros de operación, por `seguridad física' podemos entender todas aquellas mecanismos - generalmente de prevención y detección - destinados a proteger físicamente cualquier recurso del sistema; estos recursos son desde un simple teclado hasta una cinta de backup con toda la información que hay en el sistema, pasando por la propia CPU de la máquina.

Desgraciadamente, la seguridad física es un aspecto olvidado con demasiada frecuencia a la hora de hablar de seguridad informática en general; en muchas organizaciones se suelen tomar medidas para prevenir o detectar accesos no autorizados o negaciones de servicio, pero rara vez para prevenir la acción de un atacante que intenta acceder físicamente a la sala de operaciones o al lugar donde se depositan las impresiones del sistema. Esto motiva que en determinadas situaciones un atacante se decline por aprovechar vulnerabilidades físicas en lugar de lógicas, ya que posiblemente le sea más fácil robar una cinta con una imagen completa del sistema que intentar acceder a él mediante fallos en el software. Hemos de ser conscientes de que la seguridad física es demasiado importante como para ignorarla: un ladrón que roba un ordenador para venderlo, un incendio o un pirata que accede sin problemas a la sala de operaciones nos pueden hacer mucho más daño que un intruso que intenta conectar remotamente con una máquina no autorizada; no importa que utilicemos los más avanzados medios de cifrado para conectar a nuestros servidores, ni que hayamos definido una política de firewalling muy restrictiva: si no tenemos en cuenta factores físicos, estos esfuerzos para proteger nuestra información no van a servir de nada. Además, en el caso de organismos con requerimientos de seguridad medios, unas medidas de seguridad físicas ejercen un efecto disuasorio sobre la mayoría de piratas: como casi todos los atacantes de los equipos de estos entornos son casuales (esto es, no tienen interés específico sobre nuestros equipos, sino sobre cualquier equipo), si notan a través de medidas físicas que nuestra organización está preocupada por la seguridad probablemente abandonarán el ataque para lanzarlo contra otra red menos protegida.

Aunque como ya dijimos en la introducción este proyecto no puede centrarse en el diseño de edificios resistentes a un terremoto o en la instalación de alarmas electrónicas, sí que se van a intentar comentar ciertas medidas de prevención y detección que se han de tener en cuenta a la hora de definir mecanismos y políticas para la seguridad de nuestros equipos. Pero hemos de recordar que cada

Page 69: Criminalística Cibernética

sitio es diferente, y por tanto también lo son sus necesidades de seguridad; de esta forma, no se pueden dar recomendaciones específicas sino pautas generales a tener en cuenta, que pueden variar desde el simple sentido común (como es el cerrar con llave la sala de operaciones cuando salimos de ella) hasta medidas mucho más complejas, como la prevención de radiaciones electromagnéticas de los equipos o la utilización de degaussers. En entornos habituales suele ser suficiente con un poco de sentido común para conseguir una mínima seguridad física; de cualquier forma, en cada institución se ha de analizar el valor de lo que se quiere proteger y la probabilidad de las amenazas potenciales, para en función de los resultados obtenidos diseñar un plan de seguridad adecuado. Por ejemplo, en una empresa ubicada en Valencia quizás parezca absurdo hablar de la prevención ante terremotos (por ser esta un área de bajo riesgo), pero no sucederá lo mismo en una universidad situada en una zona sísmicamente activa; de la misma forma, en entornos de I+D es absurdo hablar de la prevención ante un ataque nuclear, pero en sistemas militares esta amenaza se ha de tener en cuenta

3.5 Normas existentes.

a.ISO 17799:

ISO/IEC 17799:2005, establece lineamientos y principios generales para inicializar, implementar, mantener, y mejorar el gerenciamiento de La seguriad de Información en una organización. Los objetivos proporcionan una guia general sobre los objetivos comunmente aceptados en el gerenciamiento de la Seguridad de Información.-ISO/IEC 17799:2005 contiene las mejores practicas sobre el control de objetivos y controles en las siguientes areas de gerenciamiento de Seguridad de Información:

Políticas de SeguridadSeguridad de la Información de la OrganizaciónGerenciamiento de ActivosSeguridad de Recursos HumanosSeguridad física y ambientalGerenciamiento de Operaciones y ComunicacionesControl de AccesoAdquisición de los Sistemas de información, desarrollo y mantenimientoGerenciamiento de los incidentes de Seguridad de InformaciónGerenciamiento de continuidad de la EmpresaConformidad.

El Control de objetivos y controles en ISO/IEC 17799:2005, se hicieron para ser implementados y conocer los requrimientos identificados en un analisis de riesgos. ISO/IEC 17799:2005 esta pensado como una base común y guia practica para desarrollar standares en la Seguridad organizacional y standares efectivos en

Page 70: Criminalística Cibernética

el gerenciamiento de seguridad, y ayudar a construir confianza en las actividades inter organizacionales.

b.BS 7799

BS 7799 fue publicado en Febrero del año 1995, es un conjunto de controles que comprende las mejores practicas en seguridad de información. BS 7799 esta hecho para servircon un punto simple de referencia para identificar un rango de controles necesarios para muchas situaciones donde los sistemas de información son usados en la industria y comercio, y ser usados en grandes, medianas o pequeñas organizaciones. Fue significativamente revisada y mejorada en el año 1999.

Con los esquemas de acreditación y certificación en orden, BS 7799 puede convertirse en un referente de ultima instancia contra la cual una empresa puede ser comparada. Incluso se han realizado peticiones de inclusión obligatoria en los reportes de estado de una organización.

3.6 Análisis de riesgos.

En un entorno informático existen una serie de recursos (humanos, técnicos, de infraestructura...) que están expuestos a diferentes tipos de riesgos: los `normales', aquellos comunes a cualquier entorno, y los excepcionales, originados por situaciones concretas que afectan o pueden afectar a parte de una organización o a toda la misma, como la inestabilidad política en un país o una región sensible a terremotos. Para tratar de minimizar los efectos de un problema de seguridad se realiza lo que denominamos un análisis de riesgos, término que hace referencia al proceso necesario para responder a tres cuestiones básicas sobre nuestra seguridad:

Qué queremos proteger?Contra quién o qué queremos proteger?Cómo lo queremos proteger

En la práctica existen dos aproximaciones para responder a estas cuestiones, una cuantitativa y otra cualitativa. La primera de ellas es con diferencia la menos usada, ya que en muchos casos implica cálculos complejos o datos difíciles de estimar. Se basa en dos parámetros fundamentales: la probabilidad de que un suceso ocurra y una estimación del coste o las pérdidas en caso de que así sea; el producto de ambos términos es lo que se denomina coste anual estimado (EAC, Estimated Annual Cost), y aunque teóricamente es posible conocer el riesgo de cualquier evento (el EAC) y tomar decisiones en función de estos datos, en la práctica la inexactitud en la estimación o en el cálculo de parámetros hace difícil y poco realista esta aproximación.

El segundo método de análisis de riesgos es el cualitativo, de uso muy difundido

Page 71: Criminalística Cibernética

en la actualidad especialmente entre las nuevas `consultoras' de seguridad (aquellas más especializadas en seguridad lógica, cortafuegos, tests de penetración y similares). Es mucho más sencillo e intuitivo que el anterior, ya que ahora no entran en juego probabilidades exactas sino simplemente una estimación de pérdidas potenciales. Para ello se interrelacionan cuatro elementos principales: las amenazas, por definición siempre presentes en cualquier sistema, las vulnerabilidades, que potencian el efecto de las amenazas, el impacto asociado a una amenaza, que indica los daños sobre un activo por la materialización de dicha amenaza, y los controles o salvaguardas, contramedidas para minimizar las vulnerabilidades (controles preventivos) o el impacto (controles curativos). Por ejemplo, una amenaza sería un pirata que queramos o no (no depende de nosotros) va a tratar de modificar nuestra página web principal, el impacto sería una medida del daño que causaría si lo lograra, una vulnerabilidad sería una configuración incorrecta del servidor que ofrece las páginas, y un control la reconfiguración de dicho servidor o el incremento de su nivel de parchado. Con estos cuatro elementos podemos obtener un indicador cualitativo del nivel de riesgo asociado a un activo determinado dentro de la organización, visto como la probabilidad de que una amenaza se materialice sobre un activo y produzca un determinado impacto.

En España es interesante la metodología de análisis de riesgos desarrollada desde el Consejo Superior de Informática (Ministerio de Administraciones Públicas) y denominada MAGERIT (Metodología de Análisis y Gestión de Riesgos de los sistemas de Información de las AdminisTraciones públicas); se trata de un método formal para realizar un análisis de riesgos y recomendar los controles necesarios para su minimización. MAGERIT se basa en una aproximación cualitativa que intenta cubrir un amplio espectro de usuarios genéricos gracias a un enfoque orientado a la adaptación del mecanismo dentro de diferentes entornos, generalmente con necesidades de seguridad y nivel de sensibilidad también diferentes. En la página web del Consejo Superior de Informática podemos encontrar información más detallada acerca de esta metodología, así como algunos ejemplos de ejecución de la misma.

Tras obtener mediante cualquier mecanismo los indicadores de riesgo en nuestra organización llega la hora de evaluarlos para tomar decisiones organizativas acerca de la gestión de nuestra seguridad y sus prioridades. Tenemos por una parte el riesgo calculado, resultante de nuestro análisis, y este riesgo calculado se ha de comparar con un cierto umbral (umbral de riesgo) determinado por la política de seguridad de nuestra organización; el umbral de riesgo puede ser o bien un número o bien una etiqueta de riesgo (por ejemplo, nivel de amenaza alto, impacto alto, vulnerabilidad grave, etc.), y cualquier riesgo calculado superior al umbral ha de implicar una decisión de reducción de riesgo. Si por el contrario el calculado es menor que el umbral, se habla de riesgo residual, y el mismo se considera asumible (no hay porqué tomar medidas para reducirlo). El concepto de asumible es diferente al de riesgo asumido, que denota aquellos riesgos calculados superiores al umbral pero sobre los que por cualquier razón (política, económica...) se decide no tomar medidas de reducción; evidentemente, siempre hemos de huir

Page 72: Criminalística Cibernética

de esta situación.

Una vez conocidos y evaluados de cualquier forma los riesgos a los que nos enfrentamos podremos definir las políticas e implementar las soluciones prácticas - los mecanismos - para minimizar sus efectos. Los siguientes; son los puntos a considerar al responder a las preguntas que nos hemos planteado al principio de este punto:

Identificación de los RecursosIdentificación de la AmenazasMedidas de Protección

4. Rastreo, identificación y análisis de redes.

4.1 Clasificación de las redes:

Como ya hemos visto, se denomina red de computadoras una serie de host autónomos y dispositivos especiales intercomunicador entre sí.

Ahora bien, este concepto genérico de red incluye multitud de tipos diferentes de redes y posibles configuraciones de las mismas, por lo que desde un principio surgió la necesidad de establecer clasificaciones que permitieran identificar estructuras de red concretas.

La posibles clasificaciones de las redes pueden ser muchas, atendiendo cada una de ellas a diferentes propiedades, siendo las más comunes y aceptadas las siguientes:

Clasificación de las redes según su tamaño y extensión:

Redes LAN. Las redes de área local (Local Area Network) son redes de ordenadores cuya extensión es del orden de entre 10 metros a 1 kilómetro. Son redes pequeñas, habituales en oficinas, colegios y empresas pequeñas, que generalmente usan la tecnología de broadcast, es decir, aquella en que a un sólo cable se conectan todas las máquinas. Como su tamaño es restringido, el peor tiempo de transmisión de datos es conocido, siendo velocidades de transmisión típicas de LAN las que van de 10 a 100 Mbps (Megabits por segundo). Redes MAN. Las redes de área metropolitana (Metropolitan Area Network) son redes de ordenadores de tamaño superior a una LAN, soliendo abarcar el tamaño de una ciudad. Son típicas de empresas y organizaciones que poseen distintas oficinas repartidas en un mismo área metropolitana, por lo que, en su tamaño máximo, comprenden un área de unos 10 kilómetros. Redes WAN. Las redes de área amplia (Wide Area Network) tienen un tamaño superior a una MAN, y consisten en una colección de host o de redes LAN conectadas por una subred. Esta subred está formada por una serie de

Page 73: Criminalística Cibernética

líneas de transmisión interconectadas por medio de routers, aparatos de red encargados de rutear o dirigir los paquetes hacia la LAN o host adecuado, enviándose éstos de un router a otro. Su tamaño puede oscilar entre 100 y 1000 kilómetros. Redes internet. Una internet es una red de redes, vinculadas mediante ruteadores gateways. Un gateway o pasarela es un computador especial que puede traducir información entre sistemas con formato de datos diferentes. Su tamaño puede ser desde 10000 kilómetros en adelante, y su ejemplo más claro es Internet, la red de redes mundial. Redes inalámbricas. Las redes inalámbricas son redes cuyos medios físicos no son cables de cobre de ningún tipo, lo que las diferencia de las redes anteriores. Están basadas en la transmisión de datos mediante ondas de radio, microondas, satélites o infrarrojos.

Clasificación de las redes según la tecnología de transmisión:

a. Redes de Broadcast. Aquellas redes en las que la transmisión de datos se realiza por un sólo canal de comunicación, compartido entonces por todas las máquinas de la red. Cualquier paquete de datos enviado por cualquier máquina es recibido por todas las de la red.

b. Redes Point-To-Point. Aquellas en las que existen muchas conexiones entre parejas individuales de máquinas. Para poder transmitir los paquetes desde una máquina a otra a veces es necesario que éstos pasen por máquinas intermedias, siendo obligado en tales casos un trazado de rutas mediante dispositivos routers.

Clasificación de las redes según el tipo de transferencia de datos que soportan:

I. Redes de transmisión simple. Son aquellas redes en las que los datos sólo pueden viajar en un sentido.

II. Redes Half-Duplex. Aquellas en las que los datos pueden viajar en ambos sentidos, pero sólo en uno de ellos en un momento dado. Es decir, sólo puede haber transferencia en un sentido a la vez.

III.Redes Full-Duplex. Aquellas en las que los datos pueden viajar en ambos sentidos a la vez.

4.2 Topologías de red:

Hemos visto en el tema sobre el modelo OSI y la arquitectura TCP/IP que las redes de ordenadores surgieron como una necesidad de interconectar los diferentes host de una empresa o institución para poder así compartir recursos y equipos específicos.

Pero los diferentes componentes que van a formar una red se pueden interconectar o unir de diferentes formas, siendo la forma elegida un factor fundamental que va a determinar el rendimiento y la funcionalidad de la red.

La disposición de los diferentes componentes de una red se conoce con el nombre de topología de la red. La topología idónea para una red concreta va a depender

Page 74: Criminalística Cibernética

de diferentes factores, como el número de máquinas a interconectar, el tipo de acceso al medio físico que deseemos, etc.

Podemos distinguir tres aspectos diferentes a la hora de considerar una topología:

1. La topología física, que es la disposición real de las máquinas, dispositivos de red y cableado (los medios) en la red.

2. La topología lógica, que es la forma en que las máquinas se comunican a través del medio físico. Los dos tipos más comunes de topologías lógicas son broadcast (Ethernet) y transmisión de tokens (Token Ring).

3. La topología matemática, mapas de nodos y enlaces, a menudo formando patrones.

La topología de broadcast simplemente significa que cada host envía sus datos hacia todos los demás hosts del medio de red. Las estaciones no siguen ningún orden para utilizar la red, sino que cada máquina accede a la red para transmitir datos en el momento en que lo necesita. Esta es la forma en que funciona Ethernet.

En cambio, la transmisión de tokens controla el acceso a la red al transmitir un token eléctrico de forma secuencial a cada host. Cuando un host recibe el token significa que puede enviar datos a través de la red. Si el host no tiene ningún dato para enviar, transmite el token hacia el siguiente host y el proceso se vuelve a repetir.

Vamos a ver a continuación los principales modelos de topología.

Modelos de topología

Las principales modelos de topología son:

Topología de bus

La topología de bus tiene todos sus nodos conectados directamente a un enlace y no tiene ninguna otra conexión entre nodos. Físicamente cada host está conectado a un cable común, por lo que se pueden comunicar directamente, aunque la ruptura del cable hace que los hosts queden desconectados.

La topología de bus permite que todos los dispositivos de la red puedan ver todas las señales de todos los demás dispositivos, lo que puede ser ventajoso si desea que todos los dispositivos obtengan esta información. Sin embargo, puede representar una desventaja, ya que es común que se produzcan problemas de tráfico y colisiones, que se pueden paliar segmentando la red en varias partes.

Es la topología más común en pequeñas LAN, con hub o switch final en uno de los extremos.

Topología de anillo

Page 75: Criminalística Cibernética

Una topología de anillo se compone de un solo anillo cerrado formado por nodos y enlaces, en el que cada nodo está conectado solamente con los dos nodos adyacentes.

Los dispositivos se conectan directamente entre sí por medio de cables en lo que se denomina una cadena margarita. Para que la información pueda circular, cada estación debe transferir la información a la estación adyacente.

Topología de anillo doble

Una topología en anillo doble consta de dos anillos concéntricos, donde cada host de la red está conectado a ambos anillos, aunque los dos anillos no están conectados directamente entre sí. Es análoga a la topología de anillo, con la diferencia de que, para incrementar la confiabilidad y flexibilidad de la red, hay un segundo anillo redundante que conecta los mismos dispositivos.

La topología de anillo doble actúa como si fueran dos anillos independientes, de los cuales se usa solamente uno por vez.

Topología en estrella

La topología en estrella tiene un nodo central desde el que se irradian todos los enlaces hacia los demás nodos. Por el nodo central, generalmente ocupado por un hub, pasa toda la información que circula por la red.

La ventaja principal es que permite que todos los nodos se comuniquen entre sí de manera conveniente. La desventaja principal es que si el nodo central falla, toda la red se desconecta.

Topología en estrella extendida:

La topología en estrella extendida es igual a la topología en estrella, con la diferencia de que cada nodo que se conecta con el nodo central también es el centro de otra estrella. Generalmente el nodo central está ocupado por un hub o un switch, y los nodos secundarios por hubs.

La ventaja de esto es que el cableado es más corto y limita la cantidad de dispositivos que se deben interconectar con cualquier nodo central.

La topología en estrella extendida es sumamente jerárquica, y busca que la información se mantenga local. Esta es la forma de conexión utilizada actualmente por el sistema telefónico.

Topología en árbol

Page 76: Criminalística Cibernética

La topología en árbol es similar a la topología en estrella extendida, salvo en que no tiene un nodo central. En cambio, un nodo de enlace troncal, generalmente ocupado por un hub o switch, desde el que se ramifican los demás nodos.

El enlace troncal es un cable con varias capas de ramificaciones, y el flujo de información es jerárquico. Conectado en el otro extremo al enlace troncal generalmente se encuentra un host servidor.

Topología en malla completa

En una topología de malla completa, cada nodo se enlaza directamente con los demás nodos. Las ventajas son que, como cada todo se conecta físicamente a los demás, creando una conexión redundante, si algún enlace deja de funcionar la información puede circular a través de cualquier cantidad de enlaces hasta llegar a destino. Además, esta topología permite que la información circule por varias rutas a través de la red.

La desventaja física principal es que sólo funciona con una pequeña cantidad de nodos, ya que de lo contrario la cantidad de medios necesarios para los enlaces, y la cantidad de conexiones con los enlaces se torna abrumadora.

Topología de red celular

La topología celular está compuesta por áreas circulares o hexagonales, cada una de las cuales tiene un nodo individual en el centro.

La topología celular es un área geográfica dividida en regiones (celdas) para los fines de la tecnología inalámbrica. En esta tecnología no existen enlaces físicos; sólo hay ondas electromagnéticas.

La ventaja obvia de una topología celular (inalámbrica) es que no existe ningún medio tangible aparte de la atmósfera terrestre o el del vacío del espacio exterior (y los satélites). Las desventajas son que las señales se encuentran presentes en cualquier lugar de la celda y, de ese modo, pueden sufrir disturbios y violaciones de seguridad.

Como norma, las topologías basadas en celdas se integran con otras topologías, ya sea que usen la atmósfera o los satélites.

Topología irregular

Page 77: Criminalística Cibernética

En este tipo de topología no existe un patrón obvio de enlaces y nodos. El cableado no sigue un modelo determinado; de los nodos salen cantidades variables de cables. Las redes que se encuentran en las primeras etapas de construcción, o se encuentran mal planificadas, a menudo se conectan de esta manera.

Las topologías LAN más comunes son:

● Ethernet: topología de bus lógica y en estrella física o en estrella extendida. ● Token Ring: topología de anillo lógica y una topología física en estrella. ● FDDI: topología de anillo lógica y topología física de anillo doble.

Redes LAN Ethernet

Ethernet es la tecnología de red LAN más usada, resultando idóneas para aquellos casos en los que se necesita una red local que deba transportar tráfico esporádico y ocasionalmente pesado a velocidades muy elevadas. Las redes Ethernet se implementan con una topología física de estrella y lógica de bus, y se caracterizan por su alto rendimiento a velocidades de 10-100 Mbps.

El origen de las redes Ethernet hay que buscarlo en la Universidad de Hawai, donde se desarrollo, en los años setenta, el Método de Acceso Múltiple con Detección de Portadora y Detección de Colisiones, CSMA/CD (Carrier Sense and Multiple Access with Collition Detection), utilizado actualmente por Ethernet. Este método surgió ante la necesidad de implementar en las islas Hawai un sistema de comunicaciones basado en la transmisión de datos por radio, que se llamó Aloha, y permite que todos los dispositivos puedan acceder al mismo medio, aunque sólo puede existir un único emisor encada instante. Con ello todos los sistemas pueden actuar como receptores de forma simultánea, pero la información debe ser transmitida por turnos.

El centro de investigaciones PARC (Palo Alto Research Center) de la Xerox Corporation desarrolló el primer sistema Ethernet experimental en los años 70, que posteriormente sirvió como base de la especificación 802.3 publicada en 1980 por el Institute of Electrical and Electronic Engineers (IEEE).

Las redes Ethernet son de carácter no determinista, en la que los hosts pueden transmitir datos en cualquier momento. Antes de enviarlos, escuchan el medio de transmisión para determinar si se encuentra en uso. Si lo está, entonces esperan. En caso contrario, los host comienzan a transmitir. En caso de que dos o más host empiecen a transmitir tramas a la vez se producirán encontronazos o choques entre tramas diferentes que quieren pasar por el mismo sitio a la vez. Este fenómeno se denomina colisión, y la porción de los medios de red donde se producen colisiones se denomina dominio de colisiones.

Una colisión se produce pues cuando dos máquinas escuchan para saber si hay tráfico de red, no lo detectan y, acto seguido transmiten de forma simultánea. En este caso, ambas transmisiones se dañan y las estaciones deben volver a transmitir más tarde.

Para intentar solventar esta pérdida de paquetes, las máquinas poseen

Page 78: Criminalística Cibernética

mecanismos de detección de las colisiones y algoritmos de postergación que determinan el momento en que aquellas que han enviado tramas que han sido destruidas por colisiones pueden volver a transmitirlas.

Existen dos especificaciones diferentes para un mismo tipo de red, Ethernet y IEEE 802.3. Ambas son redes de broadcast, lo que significa que cada máquina puede ver todas las tramas, aunque no sea el destino final de las mismas. Cada máquina examina cada trama que circula por la red para determinar si está destinada a ella. De ser así, la trama pasa a las capas superiores para su adecuado procesamiento. En caso contrario, la trama es ignorada.

Ethernet proporciona servicios correspondientes a las capas física y de enlace de datos del modelo de referencia OSI, mientras que IEEE 802.3 especifica la capa física y la porción de acceso al canal de la capa de enlace de datos, pero no define ningún protocolo de Control de Enlace Lógico.

Ethernet es una tecnología de broadcast de medios compartidos. El método de acceso CSMA/CD que se usa en Ethernet ejecuta tres funciones:

1. Transmitir y recibir paquetes de datos. 2. Decodificar paquetes de datos y verificar que las direcciones sean válidas

antes de transferirlos a las capas superiores del modelo OSI.> 3. Detectar errores dentro de los paquetes de datos o en la red.

Tanto Ethernet como IEEE 802.3 se implementan a través de la tarjeta de red o por medio de circuitos en una placa dentro del host.

Formato de trama Ethernet

Según hemos visto, los datos generados en la capa de aplicación pasan a la capa de transporte, que los divide en segmentos, porciones de datos aptas para su transporte por res, y luego van descendiendo pos las sucesivas capas hasta llegar a los medios físicos. Conforme los datos van bajando por la pila de capas, paso a paso cada protocolo les va añadiendo una serie de cabeceras y datos adicionales ;necesarios para poder ser enviados a su destino correctamente. El resultado final es una serie de unidades de información denominadas tramas, que son las que viajan de un host a otro.

La forma final de la trama obtenida, en redes Ethernet, es la siguiente:

Y los principales campos que la forman son:

Preámbulo: Patrón de unos y ceros que indica a las estaciones receptoras que una trama es Ethernet o IEEE 802.3. La trama Ethernet incluye un byte adicional que es el equivalente al campo Inicio de Trama (SOF) de la trama IEEE 802.3.

● Inicio de trama (SOF): Byte delimitador de IEEE 802.3 que finaliza con dos

Page 79: Criminalística Cibernética

bits 1 consecutivos, y que sirve para sincronizar las porciones de recepción de trama de todas las estaciones de la red. Este campo se especifica explícitamente en Ethernet.

● Direcciones destino y origen: Incluye las direcciones físicas (MAC) únicas de la máquina que envía la trama y de la máquina destino. La dirección origen siempre es una dirección única, mientras que la de destino puede ser de broadcast única (trama enviada a una sola máquina), de broadcast múltiple (trama enviada a un grupo) o de broadcast (trama enviada a todos los nodos).

● Tipo (Ethernet): Especifica el protocolo de capa superior que recibe los datos una vez que se ha completado el procesamiento Ethernet.

● Longitud (IEEE 802.3): Indica la cantidad de bytes de datos que sigue este campo.

● Datos: Incluye los datos enviados en la trama. En las especificación IEEE 802.3, si los datos no son suficientes para completar una trama mínima de 64 bytes, se insertan bytes de relleno hasta completar ese tamaño (tamaño mínimo de trama). Por su parte, las especificaciones Ethernet versión 2 no especifican ningún relleno, Ethernet espera por lo menos 46 bytes de datos.

● Secuencia de verificación de trama (FCS): Contiene un valor de verificación CRC (Control de Redundancia Cíclica) de 4 bytes, creado por el dispositivo emisor y recalculado por el dispositivo receptor para verificar la existencia de tramas dañadas.

Cuando un paquete es recibido por el destinatario adecuado, les retira la cabecera de Ethernet y el checksum de verificación de la trama, comprueba que los datos corresponden a un mensaje IP y entonces lo pasa a dicho protocolo para que lo procese. El tamaño máximo de los paquetes en las redes Ethernet es de 1500 bytes.

Tipos de redes Ethernet

Existen por lo menos 18 variedades de Ethernet, relacionadas con el tipo de cableado empleado y con la velocidad de transmisión.

Las tecnologías Ethernet más comunes y más importantes las son:

● Ethernet 10Base2. Usa un cable coaxial delgado, por lo que se puede doblar más fácilmente, y además es más barato y fácil de instalar, aunque los segmentos de cable no pueden exceder de 200 metros y 30 nodos. Las conexiones se hacen mediante conectores en T, más fáciles de instalar y más seguros.

● Ethernet 10Base5. También llamada Ethernet gruesa, usa un cable coaxial grueso, consiguiendo una velocidad de 10 Mbps. Puede tener hasta 100 nodos conectados, con una longitud de cable de hasta 500 metros. Las conexiones se hacen mediante la técnica denominada derivaciones de vampiro, en las cuales se inserta un polo hasta la mitad del cable, realizándose la derivación en el interior de un transceiver, que contiene los

Page 80: Criminalística Cibernética

elementos necesarios para la detección de portadores y choques. El transceiver se une al computador mediante un cable de hasta 50 metros.

● Ethernet 10Base-T. Cada estación tiene una conexión con un hub central, y los cables usados son normalmente de par trenzado. Son las LAN más comunes hoy en día. Mediante este sistema se palian los conocidos defectos de las redes 10BAse2 y 10Base5, a saber, la mala detección de derivaciones no deseadas, de rupturas y de conectores flojos. Como desventaja, los cables tienen un límite de sólo 100 metros, y los hubs pueden resultar caros.

● Ethernet 10Base-FX. Basada en el uso de fibra óptica para conectar las máquinas, lo que la hace cara para un planteamiento general de toda la red, pero idónea para la conexión entre edificios, ya que los segmentos pueden tener una longitud de hasta 2000 metros, al ser la fibra óptica insensible a los ruidos e interferencias típicos de los cables de cobre. Además, su velocidad de transmisión es mucho mayor.

● Fast Ethernet. Las redes 100BaseFx (IEEE 802.3u) se crearon con la idea de paliar algunos de los fallos contemplados en las redes Ethernet 10Base-T y buscar una alternativa a las redes FDDI Son también conocidas como redes Fast Ethernet, y están basadas en una topología en estrella para fibra óptica. Con objeto de hacerla compatible con Ethernet 10Base-T, la tecnología Fast Ethernet preserva los formatos de los paquetes y las interfaces, pero aumenta la rapidez de transmisión hasta los 100 Mbps. En la redes Fast Ethernet se usan cables de cuatro pares trenzados de la clase 3, uno de los cuales va siempre al hub central, otro viene siempre desde el hub, mientras que los otros dos pares son conmutables. En cuanto a la codificación de las señales, se sustituye la codificación Manchester por señalización ternaria, mediante la cual se pueden transmitir 4 bits a la vez. También se puede implementar Fast Ethernet con cableado de la clase 5 en topología de estrella (100BaseTX), pudiendo entonces soportar hasta 100 Mbps con transmisión full dúplex.

Redes LAN Token Ring

Las redes Token Ring son redes de tipo determinista, al contrario de las redes Ethernet. En ellas, el acceso al medio está controlado, por lo que solamente puede transmitir datos una máquina por vez, implementándose este control por medio de un token de datos, que define qué máquina puede transmitir en cada instante. Token Ring e IEEE 802.5 son los principales ejemplos de redes de transmisión de tokens.

Las redes de transmisión de tokens se implementan con una topología física de estrella y lógica de anillo, y se basan en el transporte de una pequeña trama, denominada token, cuya posesión otorga el derecho a transmitir datos. Si un nodo que recibe un token no tiene información para enviar, transfiere el token al siguiente nodo. Cada estación puede mantener al token durante un período de

Page 81: Criminalística Cibernética

tiempo máximo determinado, según la tecnología específica que se haya implementado.

Cuando una máquina recibe un token y tiene información para transmitir, toma el token y le modifica un bit, transformándolo en una secuencia de inicio de trama. A continuación, agrega la información a transmitir a esta trama y la envía al anillo, por el que gira hasta que llega a la estación destino.

Mientras la trama de información gira alrededor del anillo no hay ningún otro token en la red, por lo que ninguna otra máquina puede realizar transmisiones.

Cuando la trama llega a la máquina destino, ésta copia la información contenida en ella para su procesamiento y elimina la trama, con lo que la estación emisora puede verificar si la trama se recibió y se copió en el destino.

Como consecuencia de este método determinista de transmisión, en las redes Token Ring no se producen colisiones, a diferencia de las redes CSMA/CD como Ethernet. Además, en las redes Token Ring se puede calcular el tiempo máximo que transcurrirá antes de que cualquier máquina pueda realizar una transmisión, lo que hace que sean ideales para las aplicaciones en las que cualquier demora deba ser predecible y en las que el funcionamiento sólido de la red sea importante.

La primera red Token Ring fue desarrollada por la empresa IBM en los años setenta, todavía sigue usándose y fue la base para la especificación IEEE 802.5 (método de acceso Token Ring), prácticamente idéntica y absolutamente compatible con ella. Actualmente, el término Token Ring se refiere tanto a la red Token Ring de IBM como a la especificación 802.5 del IEEE.

Las redes Token Ring soportan entre 72 y 260 estaciones a velocidades de 4 a 16 Mbps, se implementan mediante cableado de par trenzado, con blindaje o sin él, y utilizan una señalización de banda base con codificación diferencial de Manchester.

Tokens

Los tokens están formados por un byte delimitador de inicio, un byte de control de acceso y un byte delimitador de fin. Por lo tanto, tienen una longitud de 3 bytes.

El delimitador de inicio alerta a cada estación ante la llegada de un token o de una trama de datos/comandos. Este campo también incluye señales que distinguen al byte del resto de la trama al violar el esquema de codificación que se usa en otras partes de la trama.

● El byte de control de acceso contiene los campos de prioridad y de reserva, así como un bit de token y uno de monitor. El bit de token distingue un token de una trama de datos/comandos y un bit de monitor determina si una trama gira continuamente alrededor del anillo.

● El delimitador de fin señala el fin del token o de una trama de

Page 82: Criminalística Cibernética

datos/comandos. Contiene bits que indican si hay una trama defectuosa y una trama que es la última de una secuencia lógica.

El tamaño de las tramas de datos/comandos varía según el tamaño del campo de información. Las tramas de datos transportan información para los protocolos de capa superior, mientras que las tramas de comandos contienen información de control y no poseen datos para los protocolos de capa superior.

En las tramas de datos o instrucciones hay un byte de control de trama a continuación del byte de control de acceso. El byte de control de trama indica si la trama contiene datos o información de control. En las tramas de control, este byte especifica el tipo de información de control.

A continuación del byte de control de trama hay dos campos de dirección que identifican las estaciones destino y origen. Como en el caso de IEEE 802.5, la longitud de las direcciones es de 6 bytes. El campo de datos está ubicado a continuación del campo de dirección. La longitud de este campo está limitada por el token de anillo que mantiene el tiempo, definiendo de este modo el tiempo máximo durante el cual una estación puede retener al token.

Y a continuación del campo de datos se ubica el campo de secuencia de verificación de trama (FCS). La estación origen completa este campo con un valor calculado según el contenido de la trama. La estación destino vuelve a calcular el valor para determinar si la trama se ha dañado mientras estaba en tránsito. Si la trama está dañada se descarta. Como en el caso del token, el delimitador de fin completa la trama de datos/comandos.

Sistema de prioridad

Las redes Token Ring usan un sistema de prioridad sofisticado que permite que determinadas estaciones de alta prioridad usen la red con mayor frecuencia. Las tramas Token Ring tienen dos campos que controlan la prioridad: el campo de prioridad y el campo de reserva.

Sólo las estaciones cuya prioridad es igual o superior al valor de prioridad que posee el token pueden tomar ese token. Una vez que se ha tomado el token y éste se ha convertido en una trama de información, sólo las estaciones cuyo valor de prioridad es superior al de la estación transmisora pueden reservar el token para el siguiente paso en la red. El siguiente token generado incluye la mayor prioridad de la estación que realiza la reserva. Las estaciones que elevan el nivel de prioridad de un token deben restablecer la prioridad anterior una vez que se ha completado la transmisión.

Mecanismos de control

Las redes Token Ring usan varios mecanismos para detectar y compensar los fallos de la red. Uno de estos mecanismos consiste en seleccionar una estación de la red Token Ring como el monitor activo. Esta estación actúa como una fuente centralizada de información de temporización para otras estaciones del anillo y ejecuta varias funciones de mantenimiento del anillo. Potencialmente cualquier

Page 83: Criminalística Cibernética

estación de la red puede ser la estación de monitor activo.

Una de las funciones de esta estación es la de eliminar del anillo las tramas que circulan continuamente. Cuando un dispositivo transmisor falla, su trama puede seguir circulando en el anillo e impedir que otras estaciones transmitan sus propias tramas; esto puede bloquear la red. El monitor activo puede detectar estas tramas, eliminarlas del anillo y generar un nuevo token.

La topología en estrella de la red Token Ring de IBM también contribuye a la confiabilidad general de la red. Las MSAU (unidades de acceso de estación múltiple) activas pueden ver toda la información de una red Token Ring, lo que les permite verificar si existen problemas y, de ser necesario, eliminar estaciones del anillo de forma selectiva.

Otro mecanismo de control de fallos de red es el conocido como Beaconing. Cuando una estación detecta la existencia de un problema grave en la red (por ejemplo, un cable roto), envía una trama de beacon. La trama de beacon define un dominio de error. Un dominio de error incluye la estación que informa acerca del error, su vecino corriente arriba activo más cercano (NAUN) y todo lo que se encuentra entre ellos.

Entones el beaconing inicia un proceso denominado autoreconfiguración, en el que los nodos situados dentro del dominio de error automáticamente ejecutan diagnósticos. Este es un intento de reconfigurar la red alrededor de las áreas en las que hay errores. Físicamente, las MSAU pueden lograrlo a través de la reconfiguración eléctrica.

Redes LAN FDDI

Las redes FDDI (Fiber Distributed Data Interface - Interfaz de Datos Distribuida por Fibra ) surgieron a mediados de los años ochenta para dar soporte a las estaciones de trabajo de alta velocidad, que habían llevado las capacidades de las tecnologías Ethernet y Token Ring existentes hasta el límite de sus posibilidades.

Están implementadas mediante una física de estrella (lo más normal) y lógica de anillo doble de token, uno transmitiendo en el sentido de las agujas del reloj (anillo principal ) y el otro en dirección contraria (anillo de respaldo o back up), que ofrece una velocidad de 100 Mbps sobre distancias de hasta 200 metros, soportando hasta 1000 estaciones conectadas. Su uso más normal es como una tecnología de backbone para conectar entre sí redes LAN de cobre o computadores de alta velocidad.

El tráfico de cada anillo viaja en direcciones opuestas. Físicamente, los anillos están compuestos por dos o más conexiones punto a punto entre estaciones adyacentes. Los dos anillos de la FDDI se conocen con el nombre de primario y secundario. El anillo primario se usa para la transmisión de datos, mientras que el anillo secundario se usa generalmente como respaldo.

Page 84: Criminalística Cibernética

Se distinguen en una red FDDI dos tipos de estaciones: las estaciones Clase B, o estaciones de una conexión (SAS), se conectan a un anillo, mientras que las de Clase A, o estaciones de doble conexión (DAS), se conectan a ambos anillos.

Las SAS se conectan al anillo primario a través de un concentrador que suministra conexiones para varias SAS. El concentrador garantiza que si se produce una falla o interrupción en el suministro de alimentación en algún SAS determinado, el anillo no se interrumpa. Esto es particularmente útil cuando se conectan al anillo PC o dispositivos similares que se encienden y se apagan con frecuencia.

Las redes FDDI utilizan un mecanismo de transmisión de tokens similar al de las redes Token Ring, pero además, acepta la asignación en tiempo real del ancho de banda de la red, mediante la definición de dos tipos de tráfico:

1. Tráfico Síncrono: Puede consumir una porción del ancho de banda total de 100 Mbps de una red FDDI, mientras que el tráfico asíncrono puede consumir el resto.

2. Tráfico Asíncrono: Se asigna utilizando un esquema de prioridad de ocho niveles. A cada estación se asigna un nivel de prioridad asíncrono.

El ancho de banda síncrono se asigna a las estaciones que requieren una capacidad de transmisión continua. Esto resulta útil para transmitir información de voz y vídeo. El ancho de banda restante se utiliza para las transmisiones asíncronas

FDDI también permite diálogos extendidos, en los cuales las estaciones pueden usar temporalmente todo el ancho de banda asíncrono.

El mecanismo de prioridad de la FDDI puede bloquear las estaciones que no pueden usar el ancho de banda síncrono y que tienen una prioridad asíncrona demasiado baja.

En cuanto a la codificación, FDDI no usa el sistema de Manchester, sino que implementa un esquema de codificación denominado esquema 4B/5B, en el que se usan 5 bits para codificar 4. Por lo tanto, dieciséis combinaciones son datos, mientras que las otras son para control.

Debido a la longitud potencial del amillo, una estación puede generar una nueva trama inmediatamente después de transmitir otra, en vez de esperar su vuelta, por lo que puede darse el caso de que en el anillo haya varias tramas a la vez.

Las fuentes de señales de los transceptores de la FDDI son LEDs (diodos electroluminiscentes) o lásers. Los primeros se suelen usar para tendidos entre máquinas, mientras que los segundos se usan para tendidos primarios de backbone.

Tramas FDDI

Las tramas en la tecnología FDDI poseen una estructura particular. Cada trama se compone de los siguientes campos:

Page 85: Criminalística Cibernética

Preámbulo, que prepara cada estación para recibir la trama entrante.

● Delimitador de inicio, que indica el comienzo de una trama, y está formado por patrones de señalización que lo distinguen del resto de la trama.

● Control de trama, que contiene el tamaño de los campos de dirección, si la trama contiene datos asíncronos o síncronos y otra información de control.

● Dirección destino, que contiene la dirección física (6 bytes) de la máquina destino, pudiendo ser una dirección unicast (singular), multicast (grupal) o broadcast (cada estación).

● Dirección origen, que contiene la dirección física (6 bytes) de la máquina que envió la trama.

● Secuencia de verificación de trama (FCS), campo que completa la estación origen con una verificación por redundancia cíclica calculada (CRC), cuyo valor depende del contenido de la trama. La estación destino vuelve a calcular el valor para determinar si la trama se ha dañado durante el tránsito. La trama se descarta si está dañada.

● Delimitador de fin, que contiene símbolos que indican el fin de la trama. ● Estado de la trama, que permite que la estación origen determine si se ha

producido un error y si la estación receptora reconoció y copió la trama.

Medios en las redes FDDI

FDDI especifica una LAN de dos anillos de 100 Mbps con transmisión de tokens, que usa un medio de transmisión de fibra óptica.

Aunque funciona a velocidades más altas, FDDI es similar a Token Ring. Ambas configuraciones de red comparten ciertas características, tales como su topología (anillo) y su método de acceso al medio (transferencia de tokens).

Una de las características de FDDI es el uso de la fibra óptica como medio de transmisión. La fibra óptica ofrece varias ventajas con respecto al cableado de cobre tradicional, por ejemplo:

● Seguridad: la fibra no emite señales eléctricas que se pueden interceptar. ● Confiabilidad: la fibra es inmune a la interferencia eléctrica. ● Velocidad: la fibra óptica tiene un potencial de rendimiento mucho mayor

que el del cable de cobre.

Existen dos clases de fibra: monomodo (también denominado modo único); y multimodo. La fibra monomodo permite que sólo un modo de luz se propague a través de ella, mientras que la fibra multimodo permite la propagación de múltiples modos de luz. Los modos se pueden representar como haces de rayos luminosos que entran a la fibra en un ángulo determinado.

Cuando se propagan múltiples modos de luz a través de la fibra, éstos pueden recorrer diferentes distancias, según su ángulo de entrada. Como resultado, no llegan a su destino simultáneamente; a este fenómeno se le denomina dispersión modal.

Page 86: Criminalística Cibernética

La fibra monomodo puede acomodar un mayor ancho de banda y permite el tendido de cables de mayor longitud que la fibra multimodo. Debido a estas características, la fibra monomodo se usa a menudo para la conectividad entre edificios mientras que la fibra multimodo se usa con mayor frecuencia para la conectividad dentro de un edificio. La fibra multimodo usa los LED como dispositivos generadores de luz, mientras que la fibra monomodo generalmente usa láser.

4.3 Modelo ISO/OSI:

En un principio, los computadores eran elementos aislados, constituyendo cada uno de ellos una estación de trabajo independiente, una especie de "isla informática".

Cada computador precisaba sus propios periféricos y contenía sus propios archivos, de tal forma que cuando una persona necesitaba imprimir un documento y no disponía de una impresora conectada directamente a su equipo, debía copiar éste en un disquete, desplazarse a otro equipo con impresora instalada e imprimirlo desde allí. La única solución a este problema era instalar otra impresora en el primer equipo, lo que acarreaba una duplicación de dispositivos y de recursos.

Además, era imposible implementar una administración conjunta de todos los ordenadores, por lo que la configuración y gestión de todos y cada uno de los equipos independientes y de los periféricos a ellos acoplados era una tarea ardua para el responsable de esta labor.

Esta forma de trabajo era a todas luces poco práctica, sobre todo cuando las empresas e instituciones fueron ampliando su número de computadores.

Se hizo necesario entonces implementar sistemas que permitieran la comunicación entre diferentes ordenadores y la correcta transferencia de datos entre ellos, surgiendo de esta forma el concepto de "redes de ordenadores" y de "trabajo en red" (networking).

A mediados de los 70 diversos fabricantes desarrollaron sus propios sistemas de redes locales. En 1980 la empresa Xerox, en cooperación con Digital Equipment Corporation e Intel, desarrolló las especificaciones del primer sistema de red, denominado EtherNet. En 1982 aparecen los ordenadores personales, y en 1986 IBM introdujo la red TokenRing.

El principal inconveniente de estos sistemas de comunicación en red fue que cada uno de ellos era propietario de una empresa particular, siendo desarrollados con hardware y software propios, con elementos protegidos y cerrados, que usaban protocolos y arquitecturas diferentes. Como consecuencia de ello, la comunicación entre ordenadores pertenecientes a distintas redes era imposible.

Cuando las empresas intentaron comunicar redes situadas en lugares diferentes, cada una con una implementación particular, se dieron cuenta de que necesitaban

Page 87: Criminalística Cibernética

salir de los sistemas de networking propietarios, optando por una arquitectura de red con un modelo común que hiciera posible interconectar varias redes sin problemas.

Para solucionar este problema, la Organización Internacional para la Normalización (ISO) realizó varias investigaciones acerca de los esquemas de red. La ISO reconoció que era necesario crear un modelo que pudiera ayudar a los diseñadores de red a implementar redes que pudieran comunicarse y trabajar en conjunto (interoperabilidad) y por lo tanto, elaboraron el modelo de referencia OSI en 1984.

En la actualidad, una adecuada interconexión entre los usuarios y procesos de una empresa u organización, puede constituir una clara ventaja competitiva. La reducción de costes de periféricos, o la facilidad para compartir y transmitir información son los puntos claves en que se apoya la creciente utilización de redes.

.El modelo OSI

El Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection-Reference Model) proporcionó a los fabricantes un conjunto de estándares que aseguraron una mayor compatibilidad e interoperabilidad entre los distintos tipos de tecnología de red utilizados por las empresas a nivel mundial.

Para poder simplificar el estudio y la implementación de la arquitectura necesaria, la ISO dividió el modelo de referencia OSI en capas, entendiéndose por capa una entidad que realiza de por sí una función específica. Cada capa define los procedimientos y las reglas (protocolos normalizados) que los subsistemas de comunicaciones deben seguir, para poder comunicarse con sus procesos correspondientes de los otros sistemas. Esto permite que un proceso que se ejecuta en una computadora, pueda comunicarse con un proceso similar en otra computadora, si tienen implementados los mismos protocolos de comunicaciones de capas OSI.

Los criterios que llevaron a este modelo de referencia fueron:

● Deberá crearse una nueva capa siempre que se precise un nuevo grado de abstracción.

● A cada capa deberá asignarse un numero bien definido de funciones propias.

● La funcionalidad de cada capa deberá tener en cuenta la posibilidad de definir protocolos normalizados a nivel internacional.

● La frontera de las capas será tal que se minimice el flujo de información a través de la interfaz entre ambas.

● El numero de capas será lo suficientemente grande como para no reunir en un nivel funcionalidades distinta y lo suficientemente pequeño para que el resultado final sea manejable en la práctica.BBB

En el modelo de referencia OSI hay siete capas numeradas, cada una de las cuales ilustra una función de red particular. La división de la red en siete capas

Page 88: Criminalística Cibernética

presenta las siguientes ventajas:

1. Divide la comunicación de red en partes más pequeñas y sencillas. 2. Normaliza los componentes de red para permitir el desarrollo y el soporte

de los productos de diferentes fabricantes. 3. Permite a los distintos tipos de hardware y software de red comunicarse

entre sí de una forma totalmente definida. 4. Divide la comunicación de red en partes más pequeñas para simplificar el

aprendizaje.

Una analogía del sistema de capas puede ser la forma en que una carta es enviada desde el emisor hasta el destinatario. En este proceso intervienen una serie de entidades o capas (carteros, oficinas postales, medios de transporte, etc.), cada una de las cuales realiza una serie de funciones específicas, necesarias para el funcionamiento de las demás y para la entrega efectiva de la carta.

Las sietes capas OSI son:

Capa 7: La capa de aplicación.

La capa de aplicación es la capa del modelo OSI más cercana al usuario, y está relacionada con las funciones de mas alto nivel, proporcionando soporte a las aplicaciones o actividades del sistema, suministrando servicios de red a las aplicaciones del usuario y definiendo los protocolos usados por las aplicaciones individuales.

Es el medio por el cual los procesos las aplicaciones de usuario acceden a la comunicación por red mediante el entorno OSI, proporcionando los procedimientos precisos para ello.

Los procesos de las aplicaciones se comunican entre sí por medio de entidades de aplicación propias, estando éstas controladas por protocolos específicos de la capa de aplicación, que a su vez utilizan los servicios de la capa de presentación, situada inmediatamente debajo en el modelo.

Difiere de las demás capas debido a que no proporciona servicios a ninguna otra capa OSI, sino solamente a aplicaciones que se encuentran fuera del modelo (procesadores de texto, hojas de cálculo, navegadores web, etc.).

La capa de aplicación establece la disponibilidad de los diversos elementos que deben participar en la comunicación, sincroniza las aplicaciones que cooperan entre sí y establece acuerdos sobre los procedimientos de recuperación de errores y control de la integridad de los datos.

Capa 6: La capa de presentación.

La capa de presentación proporciona sus servicios a la capa de aplicación, garantizando que la información que envía la capa de aplicación de un sistema pueda ser entendida y utilizada por la capa de aplicación de otro, estableciendo el contexto sintáctico del diálogo.

Page 89: Criminalística Cibernética

Su tarea principal es aislar a las capas inferiores del formato de los datos de las aplicaciones específicas, transformando los formatos particulares (ASCII, EBCDIC, etc.) en un formato común de red, entendible por todos los sistemas y apto para ser enviado por red.

Es también las responsable de la obtención y de la liberalización de la conexión de sesión cuando existan varias alternativas disponibles.

Para cumplir estas funciones, la capa de presentación realiza las siguientes operaciones:

● Traducir entre varios formatos de datos utilizando un formato común, estableciendo la sintaxis y la semántica de la información transmitida. Para ello convierte los datos desde el formato local al estándar de red y viceversa.

● Definir la estructura de los datos a transmitir. Por ejemplo, en el caso de un acceso a base de datos, definir el orden de transmisión y la estructura de los registros.

● Definir el código a usar para representar una cadena de caracteres (ASCII, EBCDIC, etc).

● Dar formato a la información para visualizarla o imprimirla. ● Aplicar a los datos procesos criptográficos cuando sea necesario.

Capa 5: La capa de sesión.

La capa de sesión proporciona sus servicios a la capa de presentación, proporcionando el medio necesario para que las entidades de presentación de dos host que se están comunicando por red organicen y sincronicen su diálogo y procedan al intercambio de datos.

Sus principales funciones son:

● Establecer, administrar y finalizar las sesiones entre dos hosts (máquinas en red) que se están comunicando.

● Si por algún motivo una sesión falla por cualquier causa ajena al usuario, restaurar la sesión a partir de un punto seguro y sin perdida de datos o, si esto no es posible, terminar la sesión de una manera ordenada, chequeando y recuperando todas sus funciones, evitando así problemas en sistemas transaccionales.

● Sincronizar el diálogo entre las capas de presentación de los dos hosts y administrar su intercambio de datos, estableciendo las reglas o protocolos para el dialogo entre máquinas, regulando quien habla y por cuanto tiempo.

● Conseguir una transferencia de datos eficiente y un registro de excepciones acerca de los problemas de la capa de sesión, presentación y aplicación.

● Manejar tokens . Los tokens son objetos abstractos y únicos que se usan para controlar las acciones de los participantes en la comunicación, base de ciertos tipos de redes, como Token Ring o FDDI.

● Hacer checkpoints, que son puntos de recuerdo en la transferencia de datos, necesarios para la correcta recuperación de sesiones perdidas.

Page 90: Criminalística Cibernética

Capa 4: La capa de transporte.

La capa de transporte proporciona sus servicios a la capa de sesión, efectuando la transferencia de datos entre dos entidades de sesión.

Para ello, divide los datos originados en el host emisor en unidades apropiadas, denominadas segmentos , que vuelve a reensamblar en el sistema del host receptor.

Mientras que las capas de aplicación, presentación y sesión están relacionadas con aspectos de las aplicaciones de usuario, las tres capas inferiores se encargan del transporte de datos. Además, la capa de transporte es la primera que se comunica directamente con su capa par de destino, ya que la comunicación de las capas anteriores es de tipo máquina a máquina.

La capa de transporte intenta suministrar un servicio de transporte de datos que aísle las capas superiores de los detalles del mismo, encargándose de conseguir una transferencia de datos segura y económica y un transporte confiable de datos entre los nodos de la red.

Para ello, la capa de transporte establece, mantiene y termina adecuadamente los circuitos virtuales, proporcionando un servicio confiable mediante el uso de sistemas de detección y recuperación de errores de transporte.

Se conocen con el nombre de circuitos virtuales a las conexiones que se establecen dentro de una red. En ellos no hay la necesidad de tener que elegir una ruta nueva para cada paquete, ya que cuando se inicia la conexión se determina una ruta de la fuente al destino, ruta que es usada para todo el tráfico de datos posterior.

Podemos resumir las funciones de la capa de transporte en los siguientes puntos:

● Controlar la interacción entre procesos usuarios en las máquinas que se comunican.

● Incluir controles de integración entre usuarios de la red para prevenir perdidas o doble procesamiento de transmisiones.

● Controlar el flujo de transacciones y el direccionamiento de procesos de maquina a procesos de usuario.

● Asegurar que se reciban todos los datos y en el orden adecuado, realizando un control de extremo a extremo.

● Aceptar los datos del nivel de sesión, fragmentándolos en unidades más pequeñas aptas para el transporte confiable, llamadas segmentos, que pasa luego a la capa de red para su envío.

● Realizar funciones de control y numeración de las unidades de información (los segmentos).

● Reensamblar los mensajes en el host destino, a partir de los segmentos que lo forman.

● Garantizar la transferencia de información a través de la red.

Page 91: Criminalística Cibernética

Capa 3: La capa de red.

La capa de red proporciona sus servicios a la capa de transporte, siendo una capa compleja que proporciona conectividad y selección de la mejor ruta para la comunicación entre máquinas que pueden estar ubicadas en redes geográficamente distintas.

Es la responsable de las funciones de conmutación y enrutamiento de la información (direccionamiento lógico), proporcionando los procedimientos necesarios para el intercambio de datos entre el origen y el destino, por lo que es necesario que conozca la topología de la red (forma en que están interconectados los nodos), con objeto de determinar la ruta más adecuada.

Sus principales funciones son:

● Dividir los mensajes de la capa de transporte (segmentos) en unidades más complejas, denominadas paquetes , a los que asigna las direcciones lógicas de los host que se están comunicando.

● Conocer la topología de la red y manejar el caso en que la máquina origen y la máquina destino estén en redes distintas.

● Encaminar la información a través de la red en base a las direcciones del paquete, determinando los métodos de conmutación y enrutamiento a través de dispositivos intermedios (routers).

● Enviar los paquetes de nodo a nodo usando un circuito virtual o datagramas.

● Ensamblar los paquetes en el host destino.

En esta capa es donde trabajan los routers, dispositivos encargados de encaminar o dirigir los paquetes de datos desde el host origen hasta el host destino a través de la mejor ruta posible entre ellos.

Capa 2: La capa de enlace de datos.

La capa de enlace proporciona sus servicios a la capa de red, suministrando un tránsito de datos confiable a través de un enlace físico.

Se ocupa del direccionamiento físico, la topología de red, el acceso a la misma, la notificación de errores, la formación y entrega ordenada de datos y control de flujo.

Su principal misión es convertir el medio de transmisión en un medio libre de errores de cualquier tipo, realizando para ello las siguientes funciones:

● Establecer los medios necesarios para una comunicación confiable y eficiente entre dos máquinas en red.

● Agregar una secuencia especial de bits al principio y al final de los paquetes de datos, estructurando este flujo bajo un formato predefinido, denominado trama , que suele ser de unos cientos de bytes.

● Sincronizar el envío de las tramas, transfiriéndolas de una forma confiable libre de errores. Para detectar y controlar los errores se añaden bits de paridad, se usan CRC (Códigos Cíclicos Redundantes) y envío de acuses de recibo positivos y negativos, y para evitar tramas repetidas se usan

Page 92: Criminalística Cibernética

números de secuencia en ellas. ● Controlar la congestión de la red. ● Regular la velocidad de tráfico de datos. ● Controlar el flujo de tramas mediante protocolos que prohíben que el

remitente envíe tramas sin la autorización explícita del receptor, sincronizando así su emisión y recepción.

● Encargarse del acceso de los datos al medio (soportes físicos de la red).

Capa 1: La capa física.

La misión principal de esta capa es transmitir bits por un canal de comunicación, de manera que cuanto envíe el emisor llegue sin alteración al receptor.

La capa física proporciona sus servicios a la capa de enlace de datos, definiendo las especificaciones eléctricas, mecánicas, de procedimiento y funcionales para activar, mantener y desactivar el enlace físico entre sistemas finales, relacionando la agrupación de circuitos físicos a través de los cuales los bits son transmitidos.

Sus principales funciones las podemos resumir en:

● Definir las características materiales (componentes y conectores mecánicos) y eléctricas (niveles de tensión) que se van a usar en la transmisión de los datos por los medios físicos.

● Definir las características funcionales de la interfaz (establecimiento, mantenimiento y liberación del enlace físico).

● Transmitir el flujo de bits a través del medio. ● Manejar voltajes y pulsos eléctricos. ● Especificar cables, conectores y componentes de interfaz con el medio de

transmisión, polos en un enchufe, etc. ● Garantizar la conexión (aunque no la fiabilidad de ésta).

Esta capa solamente reconoce bits individuales.

4.4 Medios de transmisión:

Cable de Par Trenzado.

Los cables de Par trenzado son utilizados en Tokeng ring, Ethernet, 10BaseT (ethernet 10MB/s)

Cable coaxial

El cable coaxial consta de un núcleo de cobre sólido rodeado por un aislante, una especie de combinación entre pantalla y cable de tierra y un revestimiento protector exterior. En el pasado, el cable coaxial permitió una transmisión más alta

Page 93: Criminalística Cibernética

(10 Mbps) que el cable de par trenzado, aunque las recientes técnicas de transmisión sobre par trenzado igualan e incluso superan la velocidad de transmisión por cable coaxial. Sin embargo, los cables coaxiales pueden conectar los dispositivos de la red a distancias más largas que los de par trenzado. A pesar de ser el cable coaxial el medio tradicional de transmisión en redes basadas en Ethernet y ARCNET, la utilización de par trenzado y fibra óptica ya es muy común hoy en día sobre este tipo de redes.

Fibra óptica

El cable de fibra óptica transmite señales luminosas (fotones) a través de un núcleo de dióxido de silicio puro tan diáfano que un espesor de más de tres millas del mismo no produce distorsión en una visión a su través. La transmisión fotónica no produce emisiones externas al cable, sin ser afectada por la radiación exterior. El cable de fibra se prefiere cuando existen ciertos requisitos de seguridad. La conversión electrónica de los valores lógicos 1 y 0 en destellos de luz permite la transmisión de las señales a través del cable de fibra óptica. Un diodo emisor de luz, situado en un extremo, emite destellos que se transmiten por el cable hasta el otro extremo, donde se recogen por un simple fotodetector y se convierten en señales eléctricas. Puesto que no existe una resistencia a las señales transmitidas, la velocidad de transmisión por fibra óptica supera en prestaciones ampliamente a la transmisión por cable de cobre.

Inhalambrica:

Se basan en la propagación de ondas electromagnéticas a través del aire. Para ello sólo requieren la estación emisora y receptora , además de posibles repetidores intermedios para salvar la orografía del terreno, ya que este tipo de transmisión exige visibilidad entre las dos estaciones emisora y receptora. En la actualidad existen los siguientes tipos de radioenlaces: de onda corta, sistemas terrestres de microondas y sistemas basados en satélites de comunicaciones. La transmisión mediante microondas se lleva a cabo en una gama de frecuencias que va desde 2 a 40 GHz. Cuando las distancias son extremadamente grandes, el número de repetidores sería también grande. Además, si tenemos en cuenta la superficie terrestre recubierta de agua donde la instalación de repetidores sería compleja, se utilizan los satélites de comunicaciones soportados sobre satélites artificiales geoestacionarios, es decir, que no modifican su posición respecto a la tierra.

Page 94: Criminalística Cibernética

4.5 Dispositivos de Red (Ruteadores, gateways, switches, repetidores)

Repetidor:

Dispositivo hardware encargado de amplificar o regenerarla señal entre dos segmentos de una red homogénea que se interconectan ampliando su cobertura. El propósito de un repetidor es regenerar y retemporizar las señales de red a nivel de los bits para permitir que los bits viajen a mayor distancia a través de los medios.

Opera en el nivel físico del modelo de referencia OSI.

Routers (encaminadores)

El router (enrutador o encaminador) es un dispositivo hardware o software de interconexión de redes de computadoras que opera en la capa 3 (nivel de red) del modelo OSI. Este dispositivo interconecta segmentos de red o redes enteras. Hacen pasar paquetes de datos entre redes tomando como base la información de la capa de red.

Los routers toman decisiones lógicas con respecto a la mejor ruta para el envío de datos a través de una red interconectada y luego dirigen los paquetes hacia el segmento y el puerto de salida adecuados. Los routers toman decisiones basándose en diversos parametros. La más importante es decidir la dirección de la red hacia la que va destinado el paquete (En el caso del protocolo IP esta sería la dirección IP). Otras serían la carga de tráfico de red en los distintos interfaces de red del router y la velocidad de cada uno de ellos, dependiendo del protocolo que se utilice.

Pasarela (Gateway)

Una pasarela o gateway es un dispositivo, con frecuencia un ordenador que realiza la conversión de protocolos entre diferentes tipos de redes o aplicaciones. Por ejemplo, un gateway de correo electrónico o de mensajes, convierte mensajes entre dos diferentes protocolos de mensajes. La traducción de las unidades de información reduce mucho la velocidad de transmisión a través de estos equipos. En realidad es una puerta de acceso, teniendo lugar una conversión completa de protocolos hasta la capa de aplicación del modelo de referencia OSI.

Switch (Conmutadores)

Un switch (en castellano "interruptor" o "conmutador") es un dispositivo de interconexión de redes de computadoras que opera en la capa 2 (nivel de enlace de datos) del modelo OSI Open Systems Interconection). Un switch interconecta

Page 95: Criminalística Cibernética

dos o más segmentos de red, funcionando de manera similar a los puentes (bridges), pasando datos de una red a otra, de acuerdo con la dirección MAC de destino de los datagramas en la red.

Los switches se utilizan cuando se desea conectar múltiples redes. Al igual que los bridges, dado que funcionan como un filtro en la red, mejoran el rendimiento y la seguridad de las LANs (Local Area Network- Red de Área Local)

Hub (Concentrador)

Dispositivo que permite centralizar el cableado de una red También conocido con el nombre de hub.

Un concentrador funciona repitiendo cada paquete de datos en cada uno de los puertos con los que cuenta de forma que todos los puntos tienen acceso a los datos. Son la base para las redes de topología tipo estrella. Como alternativa existen los sistemas en los que los ordenadores están conectados en serie, es decir, a una línea que une varios o todos los ordenadores entre sí, antes de llegar al ordenador central. Llamado también repetidor multipuerto, existen 3 clases.

Pasivo: No necesita energía eléctrica.

Activo: Necesita alimentación.

Inteligente: o smart hubs son hubs activos que incluyen microprocesador.

Dentro del modelo OSI el concentrador opera a nivel de la capa física.

4.6Paradigma cliente/servidor:

El paradigma cliente/servidor es uno de los más extendidos dentro de los servicios a través de red. La idea básica y general que hay detrás de este modelo es que hay alguien que ofrece algo (el servidor) y alguien que quiere algo (el cliente). En el caso de las páginas web tenemos un servidor web que es aquél que tiene las páginas web (o sea, la información) y un cliente (un navegador) que es el que pide la página web (generalmente para mostrarla). El modelo cliente-servidor aparece también en multitud de situaciones cotidianas que tienen poco que ver con la informática: así cuando estamos en la cola de una hamburguesería somos los clientes que estamos demandando un servicio (nuestra comida) de un servidor (que sería el cajero y que nos "sirve" la comida).

Generalmente cuando navegamos por Internet nos encontraremos, por tanto, en el lado del cliente. En esta asignatura vamos a ir adentrándonos paulatinamente en la parte del servidor, ya que tendremos que gestionar convenientemente contenidos y recursos para ofrecerlos a los clientes que así lo soliciten.

Page 96: Criminalística Cibernética

La siguiente figura muestra claramente el funcionamiento de este modelo. Podemos ver cómo el cliente realiza peticiones al servidor, mientras que el servidor se dedica simplemente a responderle. De por sí, un servidor no hace nada; necesita que un cliente le demande algo. Todos los servicios de Internet (WWW, correo, FTP, IRC, etc.) tienen clientes y servidores específicos, aunque en tiempos recientes se intente integrar todo bajo un interfaz web que es más amigable para el usuario.

La integración universal hacia el web es una de las características más importantes de los últimos años y que afectará de manera notoria a lo que hagamos en esta asignatura. Aún cuando nuestra labor sea gestionar contenidos y recursos en el servidor, es muy probable, casi seguro, que estas acciones las realizaremos mediante nuestro navegador.

El funcionamiento de las páginas web es básicamente el siguiente. Al introducir una dirección web lo que estamos haciendo es pedir un fichero localizado en un ordenador (que actuará de servidor). El servidor nos enviará este fichero y nuestro navegador (el programa cliente) se encargará de interpretarlo para que nos aparezca la página web (que será más o menos vistosa) en pantalla.

En general, sin embargo, la interacción entre el cliente y el servidor se reducía a un simple "dame esa página web"; da igual que el cliente la pida ahora o mañana, siempre recibirá el mismo fichero, porque éste no ha sufrido cambios. En los buscadores, damos un paso más y como clientes le pedimos que nos devuelva una página web con el resultado de una operación de búsqueda. Le estamos pidiendo, por tanto, que genere la página web dinámicamente y nos la envíe.

4.6 Firewalls

Un cortafuegos (o firewall en inglés), es un elemento de hardware o software utilizado en las redes para prevenir algunos tipos de comunicaciones prohibidas por las políticas de red, las cuales se fundamentan en las necesidades del usuario.

La configuración correcta de cortafuegos se basa en conocimientos considerables de los protocolos de red y de la seguridad de la computadora. Errores pequeños pueden dejar a un cortafuego sin valor como herramienta de seguridad.

Tipos:

1.- Firewall de capa de red.- Funciona al nivel de la red de la pila de protocolos (TCP/IP) como filtro de paquetes IP, no permitiendo que estos pasen el cortafuego a menos que se atengan a las reglas definidas por el administrador del cortafuego o aplicadas por defecto como en algunos sistemas inflexibles de cortafuego. Una

Page 97: Criminalística Cibernética

disposición más permisiva podría permitir que cualquier paquete pase el filtro mientras que no cumpla con ninguna regla negativa de rechazo.

2.- Firewall de capa de aplicación.- Trabaja en el nivel de aplicación. Analizando todo el tráfico de HTTP, (u otro protocolo), puede interceptar todos los paquetes que llegan o salen desde y hacia las aplicaciones que corren en la red. Este tipo de cortafuegos usa ese conocimiento sobre la información transferida para proveer un bloqueo más selectivo y para permitir que ciertas aplicaciones autorizadas funcionen adecuadamente. A menudo tienen la capacidad de modificar la información transferida sobre la marcha, de modo de engañar a las aplicaciones y hacerles creer que el contrafuegos no existe. Otros también tienen adosado software para revisar por virus el correo electrónico.

Ventajas:

* Protege de intrusiones.- Solamente entran a la red las personas autorizadas basadas en la política de la red en base a las configuraciones.

* Optimización de acceso.- Identifica los elementos de la red internos y optimiza que la comunicación entre ellos sea más directa si así se desea. Esto ayuda a reconfigurar rápida y fácilmente los parámetros de seguridad.

* Protección de información privada.- Permite el acceso solamente a quien tenga privilegios a la información de cierta área o sector de la red.

* Protección contra virus.- Evita que la red se vea infestada por nuevos virus que sean liberados.

Page 98: Criminalística Cibernética

4.7 Mapeo de Puertos

El mapeo de Puertos o Port Address Translation (PAT) es el proceso donde los paquetes que llegan a una dirección IP o Puerto puede ser traducida y de ésta manera redireccionada a una dirección IP o puerto diferente. Esta funcionalidad es una manera de crear un pasaje persistente mediante NAT, Port Mapping solo es necesario para las conecciones entrantes, no para el tráfico de retorno.

4.9 Sistema de Detección de Instrusos

Un sistema de detección de intrusos (IDS) es un programa usado para detectar accesos desautorizados a un computador o a una red. Estos accesos pueden ser ataques de habilidosos hackers, o de Script Kiddies que usan herramientas automáticas.

En el mercado existen diferentes versiones, de Hardware y de Software.

Por mencionar algunos esta el Intrusion Detection de Computer Associates y SNORT.

Page 99: Criminalística Cibernética

De Hardware esta de Symantec, el Security gateway (como modulo), entre otros.

El funcionamiento de estas herramientas se basa en el análisis pormenorizado del trafico de red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, y/o comportamientos sospechosos, como puede ser el scaneo de puertos, paquetes malformados, etc.

Normalmente esta herramienta se integra con un firewall, El detector de intrusos es incapaz de detener los ataques por si solo "excepto los que están embebidos en un dispositivo de gateway con funcionalidad de firewall" , pero al estar trabajando en conjunto con el firewall se convierten en una herramienta muy poderosa ya que se une la inteligencia del IDS "el IDS no solo analiza que tipo de trafico es, si no que también revisa el contenido y su comportamiento", y el poder de bloqueo del firewall, este al ser el punto donde forzosamente deben pasar los paquetes, ahí pueden ser bloqueados sin problema alguno.