Monografias.com > Computación > Redes
Descargar Imprimir Comentar Ver trabajos relacionados

SISTEMA DE DETECCIÓN DE INTRUSOS




Enviado por c.victor



    Indice
    1.
    Introducción

    2. Metodología para la
    detección de intrusos y para la selección e
    implantación de sistemas IDS

    3. Bibliografia

    1.
    Introducción

    Existen numerosas medidas de seguridad para
    proteger los recursos
    informáticos de una empresa, pero
    aunque se sigan todas las recomendaciones de los expertos, no
    estaremos libres de posibles ataques con éxito.
    Esto se debe a que conseguir un sistema
    virtualmente invulnerable es sumamente costoso, además de
    que las medidas de control
    reducirían la productividad de
    la empresa
    Dentro de las soluciones
    tecnológicas que en la actualidad están disponibles
    para reforzar la seguridad de
    una red, los
    firewalls son muy populares. Un firewall es un
    sistema encargado
    del cumplimiento de las políticas
    de control de acceso
    a la red, lo cual se
    hace a través de reglas. Un firewall
    actúa como guardia perimetral de una red: protege una
    red de ataques
    que provengan del exterior de ésta. Pero el escenario se
    puede complicar de la siguiente forma:

    1. Un atacante puede lograr pasar el firewall, dejando
      la red a su merced.
    2. Un firewall protege de los accesos no autorizadas
      hacia la red interna, pero no protege a las máquinas
      ubicadas en la red perimetral como servidores
      web, servidores de
      correo, servidores FTP, en
      otras palabras, a las bases funcionales de Internet.
    3. Un firewall no protege contra ataques desde
      adentro.

    En estos casos lo que nos queda detectar el ataque o la
    intrusión lo antes posible para que cause el menor
    daño en el sistema. Antes de continuar vamos a definir
    qué se entiende normalmente por intrusión.
    Normalmente un intruso intenta:

    • Acceder a una determinada información.
    • Manipular cierta información.
    • Hacer que el sistema se no funcione de forma segura o
      inutilizarlo.

    Una intrusión es cualquier conjunto de acciones que
    puede comprometer la integridad, confidencialidad o
    disponibilidad de una información o un recurso
    informático. Los intrusos pueden utilizar debilidades y
    brechas en la arquitectura de
    los sistemas y
    el
    conocimiento interno del sistema operativo
    para superar el proceso normal
    de autenticación.
    La detección de intrusos se puede detectar a partir de la
    caracterización anómala del comportamiento
    y del uso que hacen de los recursos del
    sistema. Este tipo de detección pretende cuantificar el
    comportamiento
    normal de un usuario. Para una correcta distinción hay que
    tener en cuenta las tres distintas posibilidades que existen en
    un ataque, atendiendo a quién es el que lo lleva a
    cabo:

    • Penetración externa. Que se define
      como la intrusión que se lleva a cabo a partir un
      usuario o un sistema de computadores no autorizado desde otra
      red.
    • Penetraciones internas. Son aquellas que
      llevan a cabo por usuarios internos que no están
      autorizados al acceso.
    • Abuso de recursos. Se define como el abuso
      que un usuario lleva a cabo sobre unos datos o
      recursos de un sistema al que está autorizado su
      acceso.

    La idea central de este tipo de detección es el
    hecho de que la actividad intrusiva es un subconjunto de las
    actividades anómalas. Esto puede parecer razonable por el
    hecho de que si alguien consigue entrar de forma ilegal en el
    sistema, no actuará como un usuario normal. Sin embargo en
    la mayoría de las ocasiones una actividad intrusiva
    resulta del agregado de otras actividades individuales que por
    sí solas no constituyen un comportamiento intrusivo de
    ningún tipo. Idealmente el conjunto de actividades
    anómalas es el mismo del conjunto de actividades
    intrusivas, de todas formas esto no siempre es
    así:

    1. Intrusivas pero no anómalas. Se les
      denomina falsos negativos y en este caso la actividad
      es intrusiva pero como no es anómala y no se consigue
      detectarla. Se denominan falsos negativos porque el
      sistema erróneamente indica ausencia de
      intrusión.
    2. No intrusivas pero anómalas. Se
      denominan falsos positivos y en este caso la actividad
      es no intrusiva, pero como es anómala el sistema decide
      que es intrusiva. Se denominan falsos positivos,
      porque el sistema erróneamente indica la existencia de
      intrusión.
    3. Ni intrusiva ni anómala. Son
      negativos verdaderos, la actividad es no intrusiva y se indica
      como tal.
    4. Intrusiva y anómala. Se denominan
      positivos verdaderos, la actividad es intrusiva y es
      detectada.

    Los primeros no son deseables, porque dan una falsa
    sensación de seguridad del sistema y el intruso en este
    caso puede operar libremente en el sistema. Los falsos positivos
    se deben de minimizar, en caso contrario lo que puede pasar es
    que se ignoren los avisos del sistema de seguridad, incluso
    cuando sean acertados. Los detectores de intrusiones
    anómalas requieren mucho gasto computacional, porque se
    siguen normalmente varias métricas para determinar
    cuánto se aleja el usuario de lo que se considera
    comportamiento normal.
    Hoy día existen en el mercado una buena
    cantidad de productos
    conocidos como SDI (Sistemas de
    Detección de Intrusos) o en inglés
    IDS (Intrusión Detection System).
    Estos sistemas basan su funcionamiento en la recolección y
    análisis de información de
    diferentes fuentes, que
    luego utilizan para determinar la posible existencia de un ataque
    o penetración de intrusos.
    En caso de que exista la suficiente certeza de la
    detección de un incidente, el SDI tiene como función
    principal alertar al administrador o
    personal de
    seguridad, para que tome acciones al
    respecto. Otras implementación más complejas son
    capaces de ir más allá de la notificación de
    un posible ataque, es decir pueden ejecutar acciones
    automáticas que impidan el desarrollo de
    éste.

    Clasificación de los SDI
    Los SDI pueden clasificarse en base a varios aspectos: método de
    detección, tipo de monitoreo y forma de recolección
    y análisis de la información.
    Según el método de
    detección, los hay de detección de mal uso y
    detección de anomalías.
    El modelo de
    detección de mal uso consiste en observar cualquier
    proceso que
    intente explotar los puntos débiles de un sistema en
    específico. Las diferentes acciones, que integran el
    mencionado proceso, comúnmente se denominan patrones o
    firmas del ataque.
    Estas firmas pueden ser simples, como cadenas de caracteres,
    estructuras de
    memoria o
    bits, pero también pueden ser más complejas como
    vectores ó
    expresiones matemáticas. Una ventaja de este
    método es que permite centralizar las labores de
    detección en el conjunto de firmas que posee el SDI,
    minimizando así, la carga de procesamiento del sistema.
    Muchos productos
    comerciales utilizan este enfoque e inclusive
    periódicamente proporcionan actualizaciones de
    éstas firmas.
    En cambio, el
    modelo de
    detección de anomalías se basa en constantemente
    monitorear el sistema para así detectar cualquier cambio en los
    patrones de utilización o el comportamiento del mismo. Si
    algunos de los parámetros monitoreados sale de su
    regularidad, el sistema generará una alarma que
    avisará al administrador de
    la red sobre la detección de una anomalía. Este
    tipo de detección es bastante compleja, debido a que la
    cuantificación de los parámetros a observar no es
    sencilla y a raíz de esto, se pueden presentar los
    siguientes inconveniente:

    • Pueden generarse falsas alarmas si el ambiente
      cambia repentinamente, por ejemplo, cambio en el horario de
      trabajo.
    • Un atacante puede ir cambiando lentamente su
      comportamiento para así engañar al
      sistema.

    Los inconvenientes antes mencionados pueden ser
    controlados mediante una implementación robusta y
    minuciosa.
    Según el tipo de monitoreo, hay SDI con detección
    orientada al host o detección orientada a la red.
    El modelo orientado al host se basa en el monitoreo y
    análisis de información, que refleja el estado del
    host donde éste reside. La mayoría de la
    información que este tipo de sistema recopila es obtenida
    a través del sistema operativo
    del host. Esto último causa complicaciones debido a que la
    información que se procesa no contiene registros del
    comportamiento, de bajo nivel, de la red.
    Los SDI que utilizan el modelo orientado a red, fundamentan su
    monitoreo en información recolectada de la red.
    Generalmente, ésta información es capturada
    mediante mecanismos de "sniffing". El "sniffing" consiste en
    habilitar la interfaz de red en modo promiscuo para que
    así capture todos los paquetes que reciba, incluso
    aquellos que no le han sido destinados. En base al mecanismo
    antes expuesto, se pueden definir patrones o firmas de ataques,
    según la estructura,
    información y ocurrencia de los paquetes.
    Características deseables de un
    SDI

    1. Debe ejecutarse continuamente sin intervención
      o supervisión de un operador
      humano.
    2. Debe ser confiable, lo suficiente como para
      ejecutarse en background, pero no debe ser una caja negra, es
      decir, que su funcionamiento interno pueda ser
      examinado.
    3. Debe ser capaz de tolerar fallas, en el sentido de
      que pueda sobrevivir a una caída del sistema, sin tener
      que reconstruir su base de datos
      de conocimientos al reiniciarse.
    4. El sistema debe estar en capacidad de
      automonitorearse para asegurar su correcto
      funcionamiento.
    5. Debe ser ligero, es decir su ejecución no debe
      cargar al sistema de una manera tal que le impida ejecutar
      otras tareas con relativa normalidad
    6. Debe observar desviaciones del comportamiento
      estándar.
    7. Debe poder
      adaptarse al comportamiento cambiante del sistema, es decir, si
      la configuración del sistema cambia, el SDI se
      adaptará.
    8. Debe ser difícil de
      engañar.

    2. Metodología para la detección de
    intrusos y para la selección
    e implantación de sistemas IDS

    La labor de un administrador o de la persona encargada
    de la seguridad de un sistema informático puede ser
    realmente frustrante. Sobre todo cuando el sistema a sido
    invadido por un intruso o hacker. En
    principio, si se ha configurado correctamente un servidor y se
    está al día en materia de
    seguridad, así como de fallas (bugs) que van surgiendo, no
    habrá problemas de
    que un intruso entre en el sistema. Realmente con un poco de
    esfuerzo se puede tener un servidor
    altamente seguro que
    evitará alrededor del 85% de los intentos de acceso no
    autorizados alo sistema. Pero en muchas ocasiones el peligro
    viene de los propios usuarios internos del sistema, los cuales
    presentan un gran riesgo debido a
    que ya tiene acceso al sistema.

    Pasos a seguir para detectar a un intruso
    Lo primero que debemos hacer es seguir una serie de pasos los
    cuales nos ayudarén a descubrir si realmente ha entrado un
    intruso, ya que en muchas ocasiones pensamos que ha entrado
    alguien, pero no es cierto. Por eso, ante todo calma; esto es lo
    más importante para un buen administrador.
    Realmente en muchas ocasiones es fácil detectar a un
    intruso en ambiente
    Unix, ya que
    suelen seguir un patrón detectable, el cual podría
    ser el mostrado en la figura.
    Este esquema representa básicamente los pasos que sigue de
    un intruso: Primero entra al sistema, y si sólo tiene
    acceso como usuario, explotará alguna debilidad o falla
    del sistema para así obtener ID 0 (o lo que es lo mismo,
    privilegios de root). En caso de entrar como root u obtenerlo de
    alguna otra manera, se dedicará a controlar el sistema,
    dejando algún mecanismo para volver cuando quiera.
    Seguramente copiará el archivo
    /etc/passwd y el /etc/shadow (en caso de que el sistema use
    "shadow"), luego le dará rienda suelta a su
    imaginación, como por ejemplo, instalar un sniffer,
    troyanos, leer mails ajenos, etc. Y en caso de ser un pirata
    malicioso puede causar desastres en el sistema, como sería
    modificar paginas web, borrar
    archivos o
    mails, producir un DoS (Denial of Service), cambiar passwords de
    usuarios legítimos, etc.

    Fig. 1

    A continuación se exponen los diferentes pasos a
    seguir de acuerdo a los expertos en seguridad como son el CERT,
    ISS, etc.
    Esto son los pasos a seguir del CERT (http://www.cert.org):

    1. Examinar los archivos log
      como el 'last' log, contabilidad, syslog, y los C2 log buscando
      conexiones no usuales o cosas sospechosas en el sistema. Aunque
      hay que tener especial cuidado en guiarnos por los logs, ya que
      muchos intrusos utilizaran diversas herramientas
      para borrar sus huellas.
    2. Buscar por el sistema archivos ocultos o no usuales
      (archivos que empiezan por un '.' (punto), no salen con un
      simple 'ls'), ya que pueden ser usado para esconder herramientas
      para violar la seguridad del sistema, por ejemplo un crackeador
      o incluso contener el /etc/passwd del sistema o de otros
      sistemas al cual ha entrado nuestro intruso. Muchos piratas
      suelen crear directorios ocultos utilizando nombres como '…'
      (punto-punto-punto), '..' (punto-punto), '..^g' (punto-punto
      control+G). En algunos casos un pirata ha utilizado nombres
      como '.x' o '.hacker' o
      incluso '.mail'.
    3. Buscar archivos SET-UID por el sistema. Ya que en
      muchas ocasiones los piratas suelen copiar y dejar escondido
      copias del /bin/sh para obtener root. Podemos utilizar el
      comando 'find' para buscar este tipo de archivos por el sistema
      (el comando 'find' puede ser sustituido por un troyano para
      esconder archivos del pirata, por lo que no es totalmente
      confiable), para ello ejecutamos la siguiente línea: #
      find / -user root -perm -4000 -print
    4. Revisar los archivos binarios del sistema para
      comprobar que no han sido sustituidos por un troyano, como por
      ejemplo los programas 'su',
      'login', 'telnet' y otros
      programas
      vitales del sistema. (Existen varias herramientas conocidas
      como 'RootKit' que permite a un pirata cambiar los binarios del
      sistema por troyanos que son copias exactas de los originales).
      Lo recomendado es comparar con las copias de seguridad aunque
      puede que las copias de seguridad también hayan sido
      sustituidas por un troyano.
    5. Examinar todos los archivos que son ejecutados por
      'cron' y 'at'. Ya que algunos piratas depositan puertas
      traseras que le permiten volver al sistema aunque los hayamos
      echado del sistema. Asegurarse que todos los archivos son
      nuestros y no tienen permiso de escritura.
    6. Examinar el archivo
      /etc/inetd.conf en busca de cambios, en especial aquellas
      entradas que ejecuten un shell (por ejemplo: /bin/sh o
      /bin/csh) y comprobar que todos los programas son
      legítimos del sistema y no troyanos.
    7. Examinar los archivos del sistema y de
      configuración en busca de alteraciones. En particular,
      buscar entradas con el signo '+' o 'host names' no apropiados
      en archivos como /etc/hosts.equiv, /etc/hosts.lpd y en todos
      los archivos .rhost del sistema, con especial interés
      los de 'root', 'uucp', 'ftp' y otras
      cuentas del
      sistema. Estos archivos no deberían tener atributo de
      escritura.
    8. Examinar cuidadosamente todos los computadores de
      nuestra red local en busca de indicios que nuestra red ha sido
      comprometida. En particular, aquellos sistemas que compartan
      NIS+ o NFS, o aquellos sistemas listados en el
      /etc/hosts.equiv. Logícamente también revisar los
      sistemas informéticos que los usuarios comparten
      mediante el acceso del .rhost.
    9. Examinar el archivo /etc/passwd, en busca de
      alteraciones en las cuentas de
      los usuarios o la creación de cuentas nuevas,
      especialmente aquellas cuentas con ID 0, las que no tienen
      password, etc.

    Estos nueve puntos son los pasos a seguir recomendados
    por el CERT, los cuales están muy bien, pero se quedan un
    poco cortos de soluciones
    practicas para el administrador. Para ello nos vamos a basar en
    un excelente trabajo de un grupo de
    Hackers conocidos
    como Technotronic (http://www.technotronic.com), los cuales se basan
    en el mismo documento pero explicando los métodos de
    los piratas y como combatirlos. Se trata de lo
    siguiente:

    Los archivos Log:

    • messages: Este archivo contiene bastante
      información, por lo que debemos buscar sucesos poco
      usuales.
    • xferlog: Si el sistema comprometido tiene servicio
      FTP, este archivo contiene la bitácora de todos los
      procesos del
      FTP. Podemos examinar qué tipo de herramientas ha subido
      el pirata y qué archivos ha bajado de nuestro
      servidor.
    • utmp: Este archivo contiene información en
      binario de todos los usuarios conectados al sistema en el
      momento. Por lo que puede ser muy útil para determinar
      quién esta conectado al sistema en este momento. Para
      ello ejecutaremos el comando 'who' o 'w'.
    • wtmp: Cada vez que un usuario entra al servidor y
      sale del mismo, la máquina modifica este archivo. Al
      igual que el anterior, este archivo está en binario, por
      lo que tendremos que usar alguna herramienta especial para ver
      el contenido de este archivo. El mismo contiene la
      información en formato: usuario, hora de
      conexión, e IP origen
      del usuario, por lo que podemos averiguar de dónde
      provino el pirata. Pero aunque contemos con esta
      información, puede que haya sido falseada por el pirata
      utilizando alguna técnica para ocultar su IP original
      o haya borrado su entrada.
    • secure: Algunos sistemas Unix loggean
      mensajes en archivo secure, ya que utilizan algún
      software de
      seguridad para ello, como el TCP Wrapper.

    Muchos piratas intentaran borrar sus huellas utilizando
    unos programas conocidos como 'Zapper's' o 'Zap'. Los más
    populares, debido a que están ampliamente disponibles por
    Internet, son los
    siguientes:

    • marry.c
    • zap.c
    • zap2.c
    • remove.c
    • cloak.c

    Por supuesto contamos con mecanismos para detectar este
    tipo de programas, lo cual se explica en la sección de
    herramientas.
    Debemos buscar cuidadosamente archivos SETUID o SETGID
    (especialmente aquellos archivos SETUID de root). Para ello
    podemos utilizar, otra vez, el comando 'find' y escribimos lo
    siguiente:
    # find / -group kmen -perm -2000 -print
    o
    # find / -user root -perm -4000 -print -xdev
    incluso
    # ncheck -s /dev/rsd0g
    Este ultimo comando 'ncheck' nos permitirá buscar archivos
    SETUID por las particiones.
    Debemos buscar troyanos en nuestros archivos binarios, ya que
    suele ser una de las tareas principales de un pirata cuando ha
    comprometido la seguridad de un servidor. Una lista no exhaustiva
    de posibles binarios que un pirata puede sustituir, es la
    siguiente:login

    • su
    • telnet
    • netstat
    • ifconfig
    • ls
    • find
    • du
    • df
    • libc
    • sync

    Así como los binarios listados en
    /etc/inetd.conf.
    Al igual que antes, tenemos varias utilidades ampliamente
    disponibles para detectar estos troyanos, pero por otro lado, los
    piratas también tienen ampliamente disponible estos
    paquetes de troyanos, conocidos como 'RootKit', como ya
    mencionamos antes.
    Otras de las principales tareas de un pirata consiste en la
    utilización de sniffers, para capturar información
    confidencial. Los más usados son los
    siguientes:

    • linsniff666.c
    • esniff.c
    • solsniff.c
    • sunsniff.c
    • sniffit

    Ahora nos enfocaremos en la parte de los passwords. Un
    pirata intentará por todos los medios obtener
    el archivo de passwords, para luego usar un programa especial
    que le permitirá averiguar los passwords de los usuarios.
    Los principales 'crackeadores' son:

    • Crack
    • John The Ripper 1.5
    • Cracker Jack
    • Hades

    Ya hemos visto diferentes técnicas
    que emplearan los piratas contra nuestro sistema, por lo que
    ahora estamos mejor preparados para enfrentarnos a ellos. A
    continuación nos enfocaremos de forma más practica
    a los diferentes pasos a seguir cuando hemos detectado un
    pirata.
    Si hemos pillado al intruso en el momento, tenemos varias
    opciones:
    A) Hablar con él, usando el comando 'talk', aunque debemos
    tener en cuenta que puede contestar de forma amistosa
    (ayudandonos en relación a la seguridad del sistema) o
    agresiva (borrando el sistema para no dejar rastro).
    B) Desconectarle del sistema, usando el comando 'kill', pero para
    evitarnos que vuelva a entrar, antes de usar 'kill', usaremos el
    comando 'passwd' para cambiar el password de la cuenta por el
    cual el pirata entró. Por ejemplo, podemos ejecutar los
    siguientes comandos:
    # ps -aux
    USER PID %CPU %MEN VSIZE
    RSIZE TT STAT TIME COMMAND
    ROOT 1434 20.1 1.4 968K 224K 01 R 0:00 ps aux
    intruso 147 1.1 1.9 1.02K 304k p3 S 0:07 ~ (csh)
    intruso 321 10.0 8.7 104k 104k P3 S 0:09 cat /etc/passwd
    intruso 339 8.0 3.7 2.05K 456k P3 S 0:09 crack
    # passwd intruso
    Changing password for intruso
    New password: noentrasmas
    Retype new password: noentrasmas
    # kill -9 147 321 339
    C) Utilizar las utilidades del sistema para recopilar
    información sobre el pirata, la cual será necesaria
    en caso de denuncia. Por lo que trataremos de 'tracearle', usando
    los siguientes comandos:

    • who
    • w
    • last
    • lastcomm
    • netstat
    • snmpnetstat
    • Obtener informacion del router.
    • Examinar el archivo /var/adm/messages.
    • Examinar el syslog.
    • Examinar los log del wrapper.
    • Ejecutar el comando 'finger' en todos los usuarios
      locales, para comprobar cuando fue la ultima vez que estuvieron
      en el sistema.
    • Examinar los archivos history del shell, como el
      .history, .rchist y archivos similares.

    D) Ejecutando el comando 'finger', intentaremos sacar
    información del host de donde provino el ataque, como por
    ejemplo:
    # finger @intruso.es
    o
    # finger intruso[arroba]intruso.es

    Si tenemos suerte podremos obtener la
    información.
    E) También podemos dirigirnos a Internic (http://www.
    internic.net) donde podemos pedir información sobre
    cualquier servidor en el mundo, siempre y cuando no sea militar.
    Allí ponemos el dominio del
    servidor de donde provino el ataque, y podremos ver con
    quién debemos ponernos en contacto con el servidor
    atacante. Si existe un télefono de contacto, lo mejor
    sería llamar a la persona
    encargada, ya que si enviamos un e-mail informándole que
    tiene un pirata, puede que el pirata intercepte el mensaje y se
    haga pasar por el administrador. En caso de vernos forzados a
    escribir un e-mail, poner cualquier pretexto para tener que
    hablar por teléfono con el administrador del servidor
    atacante, y si es necesario ofrecernos a pagar la llamada
    nosotros mismos, en calidad de buenas
    intenciones. A parte del website de Internic, también
    podemos conectar vía telnet para
    solicitar información de un servidor.
    F) Ahora que tenemos bastante información del atacante, lo
    mejor sería desconectar nuestro servidor de Internet y
    dedicarnos unos días a repasar cuidadosamente lo sucedido.
    Además, si nadie accede al servidor durante unos
    días, podremos trabajar mejor y más
    rápido.
    G) Tendremos que hacer una copia de seguridad, por lo que
    ejecutaremos el siguiente comando:
    # dd if=/dev/sda of=/dev/sdb
    En caso de duda de cómo usar el comando 'dd', lo mejor
    sería recurrir al comando 'man'.
    H) Tener a mano un block de notas y un lápiz, para
    escribir todo lo que nos parezca importante, así como
    todos los pasos que estamos realizando en el sistema
    comprometido.
    I) Ahora sólo nos queda realizar un exhaustivo
    análisis mediante los pasos anteriormente descritos.
    Ya a estas alturas conocemos los peligros y pasos a seguir para
    recuperar el control en nuestro sistema, así cómo
    echar al pirata. Ahora se muestra un lista
    más generalizada de los puntos que hay que mirar con
    detalle.

    • Creación de cuentas nuevas o alteración
      de algunas existentes.
    • Excesivo consumo de
      memoria o
      disco
      duro.
    • Directorios o archivos sospechosos.
    • Alteración en la configuración del
      sistema.
    • Procesos sospechosos.
    • Conexiones de servidores poco usuales.
    • Reconfiguracion de los modems.
    • Serie de repeticiones de conexión al mismo
      puerto.
    • Conexión de usuarios en horas o días
      poco usuales.

    Diversas utilidades para la tarea
    Ahora nos dedicaremos a explicar las diferentes herramientas que
    están disponibles en el cyberespacio. Lo mejor es que casi
    todas son 'freeware' (gratis), por lo que no existe excusa alguna
    para no usarlas. Además usando habitualmente estas
    herramientas, mantendremos nuestro sistema seguro
    demostrando lo bueno que somos administrando el servidor.
    Las herramientas que se describen a lo largo de este apartado son
    anti-zapper's, detectores de sniffers, detectores de troyanos,
    así como diversas herramientas de análisis, e
    incluso algunas herramientas que también utilizan los
    piratas, para nuestro propio beneficio. Debido a la gran cantidad
    de herramientas disponibles (no he puesto todas las que existen,
    debido a que es imposible), no se ha incluido la
    utilización de las mismas, ya que este documento
    sería muy largo, por lo que se incluye la dirección en Internet donde encontrarlas y
    así poder
    familiarizarse con esas herramientas.
    A) Detectores de Sniffers.

    • Podemos usar el comando 'netstat', pero no es 100%
      confiable.
    • promisc.c: Es un programa
      escrito en lenguaje C,
      el cual nos ayuda a detectar un sniffer en nuestra red.
      (promisc.c).
    • cpm
      (ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/cpm.1.2.tar.gz).
    • ifstatus
      (ftp://coast.cs.purdue.edu/pub/tools/unix/ifstatus/ifstatus.tar.Z).
    • NePED: Es un detector de sniffers.
      (ftp://apostols.org/ AposTools/snapshots/neped/).

    Muchos sniffers logean las conexiones de la misma forma,
    la cual es la siguiente:
    TCP/IP LOG — TM: Tue Nov 15 15:12:29 —
    PATH: not_at_risk.domain.com(1567) =>
    at_risk.domain.com(telnet) por lo que fácilmente podemos
    escribir un pequeño shell script que busque archivos de
    sniffers:
    % grep PATH: $sniffer_log_file | awk '{print $4}' | awk -F(
    '{print $1}'| sort -u
    Logicamente debemos ajustar este script a nuestras
    necesidades.
    B) Detectores de troyanos.

    • Podemos usar el comando 'sum' pero tampoco es 100%
      confiable.
    • También podemos usar el comando 'cmp', pero lo
      mismo que el comando anterior.
    • El popular, y mas aconsejable de usar, es el programa
      de verificación MD5.
    • Otro, también bastante utilizado, es Tripwire.
      (Tripwire).

    C) Detectores de zapper's.

    • Antizap.c
    • Antizap2.c

    D) Herramientas de análisis.

    • Satan111: Posiblemente la herramienta mas conocida.
      (SATAN). Extensiones.(SATAN Extensions).
    • TCP_Wrapper: Es un conjunto de utilidades para
      controlar nuestro servidor.
      (tcp_wrappers_7.6.tar.gz).
    • Netcat 1.10: Para saber por dónde nos puede
      entrar un pirata, ya que este programa es capaz de crear
      cualquier tipo de conexión. (netcat 1.10 for
      Unix).
    • COPS: Otro conjunto de herramientas de muy buena
      calidad.
      (ftp://info.cert.org/pub/tools/cops).
    • Roses Software Check
      Tool V.1.2.2: Interesante herramienta de anaálisis para
      servidores Linux.
      (http://web.jet.es/~simon_roses/).
    • Rhino9 Security Check Tool: Interesante programa.
      (http://rhino9.technotronic.com).
    • Stalker Audit-Trail Tool: Interesante herramienta
      para auditar los log's. (http://www.haystack.com).
    • IDES/NIDES (Intrusion-Detection Expert
      System/Next-Generation IDES): Una herramienta de
      detección de piratas en tiempo real.
      (http://www.sri.com).
    • WatchDog: Herramienta para auditar los log's para
      SunOS. (http://www.infstream.com).
    • Saint (Security Analisys INtegration Tool):
      Herramienta en español para auditar.
      (http://www.super.unam.mx).
    • Asax (Advanced Security Audit Trail Analysis on
      Unix): Programa en francés.

    (http://www.info.fundp.ac.be/~cri/DOCS/asax.html).

    • Aid (Adaptive Intrusion Detection System):
      Herramienta en alemán.
    • (http://www.rnks.informatik.tucottbus.de/~sobirey/aid.e.html).
    • NetSuite Professional Audit: Herramienta profesional
      para auditar.
      (http://www.netsuite.com/Pi/audit.htm).
    • Audit Trails: Lo mismo que el anterior.

    (http://promatrix.com/audit.htm).

    • ISS SafeSuite: Potente herramienta de analisis.
      (http://www.iss.net).
    • Proyecto Nessus: Una recomendable herramienta de
      auditoria. (The Nessus Project).
    • Firewalk: Interesante t´´ecnica para
      analizar una red. (Enterprise Security Services,
      Inc.).
    • Lsof (List Open Files): Programa que lista todos los
      archivos abiertos, incluidos los sockets abiertos.
      (ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/).
    • tcplist: Lista todos los puertos abiertos que
      tenemos, además de suministrar diversa
      información más.
      (ftp://ftp.cdf.toronto.edu/pub/tcplist).

    E) Crakeadores de passwords.

    • Crack V5: Posiblemente el crakeador mas conocido.
      (Crack v5 (Source)).
    • John The Ripper: Un excelente crakeador. (John the
      Ripper 1.5 linux).

    3.
    Bibliografia

    Escamilla, Terry. Intrusion Detection: Network Security
    Beyond the Firewall. John Wiley & Sons, Inc. 1998.
    Klander, Lars. Hacker Proof, The Ultimate Guide to Network
    Security. Jamsa Press. 1997.
    Spafford, Gene; Garfinkel, Simson. Practical Unix & Internet
    Security, 2nd Edition. 0'Reilly & Associates, Inc. 1996.
    Sys Admin. Unix Security, Essential Reference Series. R&D
    Books. 1997.
    esCERT-UPC FAQ. (http://escert.upc.es).
    Technotronic. (http://www.technotronic.com).
    Computer-security/compromise FAQ 2.0. (http://www.iss.net).
    Sniffer FAQ 3.0. (http://www.iss.net).
    Rhino9. (http://rhino9.technotronic.com).
    Simon Roses. (http://web.jet.es/~simon_roses/).
    Mounji. PhD Thesis. Computer Science Institute, University of
    Namur, Belgium, Sept 1997. (Languages and Tools for Rule-Based
    Distributed Intrusion Detection).
    A. Mounji, B. Le Charlier. In Proceedings of the ISOC' 97
    Symposium on Network and Distributed System Security. San Diego,
    California, 1997. (Continuous Assessment of a Unix Configuration:
    Integrating Intrusion Detection and Configuration Analysis).
    A. Mounji, B. Le Charlier. In Proceedings of the Eight Benelux
    Workshop on Logic Programming. September, 1996. Louvain-La-Neuve,
    Belgium. (Detecting Breaches in Computer Security: A Pragmatic
    System with a Logic Programming Flavor).
    B. Le Charlier, A. Mounji, M. Swimmer. In Proceedings of Fifth
    International Virus Bulletin
    Conference. Boston, Septembre 20-22, 1995. (Dynamic Detection and
    Classification of Computer Viruses Using General Behaviour
    Patterns).
    A. Mounji, B. Le Charlier, D. Zampuniéris, N. Habra. In
    Proceedings of the ISOC '95 Symposium on Network and Distributed
    Systems Security. San Diego, California, February 1995.
    (Distributed Audit Trail Analysis).
    A. Mounji, B. Le Charlier, D. Zampuniéris, N. Habra.
    Research Report, May 1994, 36 pages. (Preliminary Report on
    Distributed ASAX).
    N. Habra, B. Le Charlier, A. Mounji. Research Report, March 1993,
    62 pages. (Advanced Security Audit Trail Analysis on uniX.
    Implementation Design of the NADF Evaluator).
    N. Habra, B. Le Charlier, A. Mounji, I. Mathieu. In Proceedings
    of the Second European Symposium on Research in Computer Security
    (ESORICS). Toulouse, France, November 1992. (ASAX: Software
    Architecture and Rule-base Language for Universal Audit Trail
    Analysis).
    N. Habra, B. Le Charlier, A. Mounji. Research Report, December
    1991, 34 pages. (Preliminary Report on Advanced Security
    Audit Trail Analysis on uniX).
    Steps for Recovering from a UNIX Root Compromise.
    (http://www.cert.org).
    Marcus J. Ranum, "Intrusion detection: challenges and myths",
    Network Flight Recorder, Inc., March 2000.
    Ellen Messmer, "Intrusion-detection software", Network World,
    April 1999.
    Dan Farmer (Sun Microsystems), Wietse Venema (Eindhoven
    University of Technology), "Improving the security of your site
    by breaking into it", 1997.
    David Newman, Tadesse Giorgis, and Farhad Yavari-Issalou,
    "Intrusion detection systems: suspicious finds", Data
    Communications, August 1998.

     

     

     

     

     

    Autor:

    Victor E. Cappuccio email

    Puede descargar tambien este documento en

    Fecha: 21-1-2002
    Versión 1.0

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter