Está en la página 1de 29

Taller de Grado I 2011

Contenido
CAPITULO I

1. Introducción ................................................................................................................................ 4
2. Antecedentes .............................................................................................................................. 4
Seguridad física ........................................................................................................................... 5
Seguridad lógica .......................................................................................................................... 6
3. Descripción del problema ........................................................................................................... 6
4. Situación Problemática ............................................................................................................... 7
5. Situación deseada ....................................................................................................................... 7
6. Objetivo General ......................................................................................................................... 7
7. Objetivos Específicos ................................................................................................................... 8
8. Metodología ................................................................................................................................ 8
8.1 Proceso Unificado de Desarrollo de Software (PUDS) .............................................................. 8
8.1.1 Inicio ................................................................................................................................... 8
8.1.2 Elaboración ......................................................................................................................... 9
8.1.3 Construcción....................................................................................................................... 9
8.2 Lenguaje Unificado de Modelado (UML 2.0) .......................................................................... 10
9. Alcance ...................................................................................................................................... 10
Captura de tráfico.- ....................................................................................................................... 10
Análisis de Tráfico.- ....................................................................................................................... 10
Gestión de seguridad.- .................................................................................................................. 10
Rastreo de comportamiento.- ....................................................................................................... 10
9. Fundamentación Teórica............................................................................................................... 11
a. Sistemas De Detección De Intrusos................................................................................... 11
b. Clasificación de los SDI. ..................................................................................................... 12
c. Metodología para la detección de intrusos y para la selección e implantación de sistemas
IDS 13
d. Sistema Experto (SE) ......................................................................................................... 18
e. Estructura básica de un SE ................................................................................................ 19
f. Tipos de SE ........................................................................................................................ 19
g. Ventajas y limitaciones de los Sistemas Expertos ............................................................. 19
Ventajas ..................................................................................................................................... 19

1
Taller de Grado I 2011
Limitaciones .............................................................................................................................. 20
h. Tareas que realiza un Sistema Experto ............................................................................. 20
Monitorización .......................................................................................................................... 20
Diseño........................................................................................................................................ 20
Planificación .............................................................................................................................. 21
Control ....................................................................................................................................... 21
Simulación ................................................................................................................................. 22
Instrucción ................................................................................................................................. 22
Recuperación de información ................................................................................................... 22
10. Posibles herramientas de software y hardware a utilizar .................................................... 23
a. Herramientas de software .................................................................................................... 23
b. Herramientas de Hardware ................................................................................................... 23
CAPITULO II
Requisitos Funcionales ...................................................................................................................... 25
Requisitos no Funcionales ................................................................................................................. 25
Priorización de casos de uso ......................................................................................................... 25
REQUERIMIENTOS: ............................................................................................................................ 26
11. Bibliografía ............................................................................................................................ 29
12. Anexos ................................................................................................................................... 29

2
Taller de Grado I 2011

CAPITULO I

3
Taller de Grado I 2011

1. Introducción

En el momento que tocamos el tema de seguridad se puede llegar a abarcar un gran


mundo de cuestiones tanto fiscas como lógicas cada una mas compleja que la otra y su
uso de la misma va tomando mas fuerza a cada paso.

El monitoreo del trafico de una computadora o de una red es realizado con distintos
propósitos entre los cuales la detección de comportamientos anormales. Para poder
detectar este comportamiento que sale de las políticas de acceso en una red, es un
proceso de monitorizar en busca de intentos de comprometer el sistema, patrones
definidos de actividad sospechosa, uso indebido de recursos, detección de amenazas de
ataques preparados, un sin fin de posibles acciones a esperar.

En este contexto se da lugar a la recopilación de información para tomar acciones


pertinentes que den una visión de prevención ante estos problemas. Con la ayuda de
software, de teorías de seguridad, adoptando la información obtenida y procesándola
para su explotación de advertencias y de evaluación que den lugar a acciones meditas e
inmediatas, para su corrección.

Todos los procesos de seguridad deben ser controlados y continuamente evaluados, ante
esta situación nace lo que se conoce como la auditoria de sistemas que da lugar a la
minería de datos y la explotación de estos recursos.
En esta oportunidad se aplicaran estos conocimientos de seguridad y de la detección de
intrusos para mejorar la seguridad y brindar un servicio de advertencias y evaluación de la
seguridad en una computadora o una red de computadoras.

2. Antecedentes

La empresa Frigor S.A. es una empresa del rubro de mataderos frigoríficos, de un tiempo
para ahora esta empresa acrecentó su producción llegando exprotar producto tanto
nacional como internacionalmente.

Esta producción y recepción de materia prima hace que la empresa trabaje las 24 horas del
día siendo que esta exporta a países como Perú y ciudades como La Paz y Chuquisaca.

La empresa cuenta con un departamento de sistemas el cual administra un sistema


integrado de información basado en una plataforma “red-hat” donde esta colabora con los
movimientos que realza la empresa.

En los antecedentes tecnológicos en nuestro medio la seguridad y el hábito de prevención


es poco y no es tomado con mucho énfasis en ambientes laborales, esto por la cultura que

4
Taller de Grado I 2011
aún no la toma como parte de su cotidianidad al ambiente tecnológico relacionado con las
computadoras, debido al avance y las automatizaciones que los sistemas tienen.

La seguridad no solo tiene que estar centrada en el bloqueo de ciertos puntos de falencia
sino que también tiene que ir acompañada de detección de futuras acciones y la
prevención en un denominado tiempo real de un ataque a la seguridad.

Seguridad física: Cuando se quiere tener un equipo seguro es importante considerar


todos los aspectos que están involucrados. Uno de ellos y sin duda, uno de los más
importantes es la seguridad que se brinda en el entorno donde esta ubicado el equipo.

El punto más débil que tienen la mayoría de los equipos es su consola. Siempre se asume
que la persona que esta ubicada en frente de la consola, es la persona que administra el
equipo o tiene pleno conocimiento del funcionamiento del mismo. Desde la consola se
pueden realizar tareas como:

 Apagar el equipo y dejar sin servicio a los usuarios.

 En el caso de Linux reiniciar el equipo en un modo en particular (nivel de ejecución


1).

 Insertar un diskette dentro del equipo y arrancar el mismo leyendo del diskette,
para acceder con otro sistema operativo.

 Acceder a la configuración de hardware del equipo (BIOS).

Todos estos puntos tienen que controlarse y tratar de eliminar todos los posibles puntos
de entrada. Llegado el caso de que un intruso logre estar personalmente en frente de la
consola. Estos puntos de entrada se pueden cerrar tomando las siguientes precauciones
(algunas aplican a servidores, otras a cualquier ordenador):

 Colocar el equipo en una sala cerrada bajo llave

 Eliminar cualquier periférico que no se utilice con frecuencia (como diskettera,


CDROM, USB, etc.)

 Setear el arranque en la BIOS para permitirlo solamente desde el disco rígido


primario

 Proteger el BIOS del equipo con clave (tomar en cuenta que algunas BIOS viejas
tenían password universal)

 Eliminar puertos seriales y/o paralelos que no se utilicen

 Desconectar teclado, ratón y video si estos no son utilizados

Todos estos puntos son muy importantes, ya que algunos equipos Linux puede ser
reinicializados simplemente apretando Ctrl-Alt-Del y luego inicializados en modo

5
Taller de Grado I 2011
mantenimiento (donde el sistema no preguntará la clave del súper usuario). Esta
combinación de teclas puede anularse o configurarse para otro uso. Otro tipo de ataque
puede realizarse a través de la diskettera e incluso a través de los puertos serie y paralelo.
Como siempre existen muchas formas de quebrar la seguridad de un sistema, nunca se es
lo suficiente precavido, pero es importante complicar al máximo la entrada de un posible
intruso. Debe insistirse una vez más que si un potencial intruso tiene acceso al hardware
no hay ningún tipo de seguridad lógica inviolable.

Seguridad lógica: Es la configuración adecuada del sistema para evitar el acceso a los
recursos y configuración del mismo por parte de personas no autorizadas, ya sea a nivel
local o vía red. Mucha gente considera que seguridad es solamente la seguridad lógica,
pero este concepto es erróneo.

Entre los puntos más importantes a tomar en cuenta para la seguridad lógica tenemos
(algunos aplican principalmente a servidores, otros a cualquier ordenador):

 Utilización de un sistema operativo relativamente seguro (NT, 2000, UNIX, Linux,


etc.)

 Elección de buenos passwords (es el principal)

 Activado del protector de pantalla con password cuando el equipo queda


desatendido y hacer logoff antes de retirse del mismo

 Utilización de un buen firewall

 Utilización de antivirus y detectores de troyanos

 Utilización de dispositivos de identificación por biométrica (huellas dactilares,


escaneo de retina, reconocimiento de voz, etc.)

NO EXISTE EL ORDENADOR 100% SEGURO, salvo que se encuentre completamente aislado,


tanto físicamente como vía red. Los ordenadores de la NSA de USA con nivel de seguridad C2
según estándares, son simples sistemas UNIX en un cuarto cerrado, sin conexión a red.

3. Descripción del problema

En un ambiente de computadoras y una red de computadoras, este tráfico que pasa por
los mismos es una valiosa información que se transporta y se mueve entra estas, por
medio de este trafico se puede conocer el uso de las funcionalidades y la aplicación que se
le da a cada una de estas computadoras.

En un ambiente de trabajo con horas irregulares entre los distintos equipos de trabajos, se
comienza a relacionar el uso de los recursos computacionales como un factor que influye
en el desempeño de los equipos de trabajo en la empresa, dado que esta herramienta

6
Taller de Grado I 2011
tanto como puede mejorar el rendimiento puede dar un alto índice de distracción de ahí
que el departamento de sistemas de la empresa tiene como problema el arduo análisis
para poder entregar un informe tanto del uso de los recursos del servidor y los recursos de
internet que provee el servidor a todos los usuarios.

Este requerimiento se convierte en una tarea ardua, ya que se trabaja manualmente con
log’s de información y la preparación de este es un trabajo muy arduo y aun no se vio la
evaluación del uso la efectividad de las políticas de accesos al servidor.

Al convertirse está en una tarea de arduo trabajo se opta por no ser realizada con
frecuencia lo que imposibilita al personal administrativo la evaluación de este punto que
día a día empieza a tener mayor relevancia a lo hora de evaluar la productividad del
personal que trabaja bajo un sistema de gestión asistido por computadoras y que cuenta
con el uso de recursos de internet y otros servicios relacionados.

Al igual que los efectos secundarios que se sucintan con el desarrollo de nuevas
tecnologías y el surgimiento exponencial en el desarrollo de software crecen las
posibilidades de sufrir riesgos en cuanto al acceso y al control.

Las vulnerabilidades de seguridad de acceso y la detección de los posibles ataques o de un


comportamiento no adecuado, utilización no autorizada de recurso, situación que se
puede dar en un ambiente de trabajo a 24 horas que se tiene es esta situación. Aplicable
para situaciones que tienen que ver con la aplicación del servidor y la red deseada

4. Situación Problemática

El problema se centra en la tediosa verificación de las políticas accesos al servidor que


tiene el departamento de sistemas al momento de realizar un informe evaluativo para la
evaluación de las mismas y una oportuna toma de decisiones.

5. Situación deseada

Supervisión y menor esfuerzo en la verificación de las políticas de acceso que tiene el


servidor mediante la entrega de reportes evaluativos descriptivos y regulares al igual que
la identificación de puntos críticos.

6. Objetivo General

Desarrollar una Herramienta que asista la verificación de las políticas de accesos al


servidor que permita monitorear las políticas de acceso.

7
Taller de Grado I 2011

7. Objetivos Específicos

 Utilizar la metodología del Procesos unificado de desarrollo de software (PUDS),


utilizando el lenguaje unificado de modelado (UML).
 Recolectar la información necesaria para conocer las políticas de acceso actuales.
 Identificar los requisitos del software mediante casos de uso.
 Diseñar la aplicación con la funcionalidad de los casos de uso ya estructurados por el
modelo de análisis.
 Implementar la aplicación mediante los modelos de diseño y las propiedades del
lenguaje de implementación.

8. Metodología

8.1 Proceso Unificado de Desarrollo de Software (PUDS)

La metodología a seguir para el desarrollo del proyecto es el Proceso Unificado de


Desarrollo de Software
El PUDS es un marco de desarrollo iterativo e incremental compuesto de fases
denominadas: Inicio, Elaboración, Construcción y Transición. Cada una de estas fases es a
su vez dividida en una serie de iteraciones. Estas iteraciones ofrecen como resultado un
incremento del producto desarrollado que añade o mejora las funcionalidades del sistema
en desarrollo.
Asociaremos tres de estas fases a nuestro proyecto de la siguiente forma:

8.1.1 Inicio
En esta fase nos dedicamos a la parte de captura de requisitos, aquí es donde
se definen a los casos de uso, representado por los diagramas de casos de
uso.

 Determinación del Problema


o Actividad
 Comprender el problema
o Artefacto Resultante
 Requerimientos
 Captura de Requisitos
o Actividad
 Encontrar Caso de Uso y Actores
 Priorizar los Casos de Uso
 Detallar los Casos de Uso

8
Taller de Grado I 2011
 Estructurar el Modelo de Casos de Uso
 Prototipo de la Interfaz de Usuario
o Artefacto Resultante
 Modelo de Caso de Uso

8.1.2 Elaboración

En esta fase se realizará el diseño del sistema a partir de los requisitos


encontrados, estos serán representados por los diagramas de secuencia.

 Análisis
o Actividad
 Análisis de la Arquitectura
 Analizar los Casos de Uso
 Analizar Clase
 Analizar Paquete
o Artefacto Resultante
 Modelo del Análisis
 Diseño
o Actividad
 Diseño de la Arquitectura
 Diseñar de los Paquetes
 Diseñar los Casos de Usos
 Diseñar las Clases
o Artefacto Resultante
Modelo del Diseño

8.1.3 Construcción
En esta fase se implementará el sistema a partir de los diseños realizados, los
cuales serán representados por los diagramas de componentes.

 Implementación
o Actividad
 Implementación de la Arquitectura
 Integrar Sistemas
 Implementar Subsistemas
 Realizar Prueba de Unidad

9
Taller de Grado I 2011
o Artefacto Resultante
 Modelo de Implementación

8.2 Lenguaje Unificado de Modelado (UML 2.0)

El Lenguaje Unificado de Modelado (UML2.0) es una parte muy esencial del Proceso
Unificado de Desarrollo, es un lenguaje estándar para software, un lenguaje para la
visualización, especificación, construcción y documentación de los artefactos de sistema
en los que el software juega un papel importante.
UML proporciona un vocabulario que incluye tres categorías: elementos, relaciones y
diagramas.

9. Alcance

Captura de tráfico.-

Permitirá la captura del tráfico de red mediante una interface de red cableada
colocada en la máquina de control.

Análisis de Tráfico.-

A partir de un tráfico capturado permitirá hacer su análisis del mismo para su


procesamiento de la información que tiene.

Gestión de seguridad.-

Tendrá las opciones de configuración para el comportamiento permitirá colocar


puntos críticos, nodo a tomar en cuenta, horarios de trafico permitido, puertos de
trabajo de aplicación principal y gestión de alertas

Rastreo de comportamiento.-

De acuerdo a configuración de seguridad este rastreara el comportamiento tanto


establecido como peligroso y no permitido por las reglas impuestas al igual que
comportamiento inusual o no establecido, tomando en cuenta los parámetros de
la gestión de seguridad.

10
Taller de Grado I 2011

9. Fundamentación Teórica

a. Sistemas De Detección De Intrusos

Es muy importante que los mecanismos de seguridad de un sistema estén


diseñados e implementados de tal forma, que prevengan el acceso no
autorizado a sus recursos y datos. Sin embargo prevenir los problemas de
seguridad en su totalidad, es una tarea imposible debido al factor humano.
Pero es posible seguir minimizando los riesgos, tratando de detectar los
intentos de ataques o intrusiones para poder tomar las acciones necesarias y
reducir su impacto. En 1980, mientras introducía el concepto de detección de
intrusos, Anderson [definió una intrusión como la posibilidad potencial de un
intento deliberado, no autorizado, de acceder información, manipularla o
eliminar la funcionalidad del sistema.
A los sistemas utilizados para detectar las intrusiones o los intentos de
intrusión se les denomina sistemas de detección de intrusiones (Intrusion
Detection Systems, IDS) o normalmente, sistemas de detección de intrusos.
Cualquier mecanismo de seguridad con este propósito puede ser considerado
un IDS, pero generalmente sólo se aplica esta denominación a los sistemas
automáticos y especializados en desarrollar este tipo de tareas de detección.
Generalmente existen dos grandes enfoques a la hora de clasificar a los
sistemas de detección de intrusos: en función de qué sistemas vigilan, o en
función de cómo lo hacen. Si tomamos la primera de estas aproximaciones los
sistemas de detección de intrusos generalmente están divididos en 2 clases,
los sistemas de detección de intrusos a nivel de red o NIDS y a nivel de host o
HIDS.

Existe una nueva tercera clase la cual ha sido denominada sistema de 15


detección de intrusos a nivel de aplicación o ApplicationIDS, esta ultima clase
también ha sido denominada como "Firewall de aplicación".

11
Taller de Grado I 2011
b. 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 inconvenientes:

 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

12
Taller de Grado I 2011
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

 Debe ejecutarse continuamente sin intervención o supervisión de un operador


humano.

 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.

 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.

 El sistema debe estar en capacidad de automonitorearse para asegurar su


correcto funcionamiento.

 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

 Debe observar desviaciones del comportamiento estándar.

 Debe poder adaptarse al comportamiento cambiante del sistema, es decir, si la


configuración del sistema cambia, el SDI se adaptará.

 Debe ser difícil de engañar.

c. 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.

13
Taller de Grado I 2011
Pasos a seguir para detectar a un intruso.

Lo primero que debemos hacer es seguir una serie de pasos los cuales nos
ayudaren 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 fig
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.

A continuación se exponen los diferentes pasos a seguir de acuerdo a los expertos


en seguridad:

 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.
 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'.
 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.

14
Taller de Grado I 2011
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
 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.
 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.
 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.
 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.
 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.
 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.

15
Taller de Grado I 2011
 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

# find / -user root -perm -4000 -print –xdev


incluso
# ncheck -s /dev/rsd0g

16
Taller de Grado I 2011

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

17
Taller de Grado I 2011
especial que le permitirá averiguar los passwords de los usuarios. Los principales
'crackeadores' son:

 Crack

 John The Ripper 1.5

 Cracker Jack

 Hades

d. Sistema Experto (SE)

Los sistemas expertos son llamados así porque emulan el comportamiento de un


experto en un dominio concreto y en ocasiones son usados por éstos. Con los
sistemas expertos se busca una mejor calidad y rapidez en las respuestas dando
así lugar a una mejora de la productividad del experto.

Es una aplicación informática capaz de solucionar un conjunto de problemas que


exigen un gran conocimiento sobre un determinado tema. Un sistema experto es
un conjunto de programas que, sobre una base de conocimientos, posee
información de uno o más expertos en un área específica. Se puede entender
como una rama de la inteligencia artificial, donde el poder de resolución de un
problema en un programa de computadora viene del conocimiento de un
dominio específico. Estos sistemas imitan las actividades de un humano para
resolver problemas de distinta índole (no necesariamente tiene que ser de
inteligencia artificial). También se dice que un SE se basa en el conocimiento
declarativo (hechos sobre objetos, situaciones) y el conocimiento de control
(información sobre el seguimiento de una acción).

Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fácil, reuniendo dos capacidades para poder cumplirlo:

 Explicar sus razonamientos o base del conocimiento: los sistemas expertos


se deben realizar siguiendo ciertas reglas o pasos comprensibles de manera
que se pueda generar la explicación para cada una de estas reglas, que a la
vez se basan en hechos.
 Adquisición de nuevos conocimientos o integrador del sistema: son
mecanismos de razonamiento que sirven para modificar los conocimientos
anteriores. Sobre la base de lo anterior se puede decir que los sistemas
expertos son el producto de investigaciones en el campo de la inteligencia
artificial ya que ésta no intenta sustituir a los expertos humanos, sino que se
desea ayudarlos a realizar con más rapidez y eficacia todas las tareas que
realiza.

Debido a esto en la actualidad se están mezclando diferentes técnicas o


aplicaciones aprovechando las ventajas que cada una de estas ofrece para
poder tener empresas más seguras. Un ejemplo de estas técnicas sería los
agentes que tienen la capacidad de negociar y navegar a través de recursos en

18
Taller de Grado I 2011
línea; y es por eso que en la actualidad juega un papel preponderante en los
sistemas expertos.

e. Estructura básica de un SE

Un Sistema Experto está conformado por:

 Base de conocimientos (BC): Contiene conocimiento modelado extraído del


diálogo con un experto.
 Base de hechos (Memoria de trabajo): contiene los hechos sobre un problema
que se ha descubierto durante el análisis.
 Motor de inferencia: Modela el proceso de razonamiento humano.
 Módulos de justificación: Explica el razonamiento utilizado por el sistema para
llegar a una determinada conclusión.
 Interfaz de usuario: es la interacción entre el SE y el usuario, y se realiza
mediante el lenguaje natural.

f. Tipos de SE

Principalmente existen tres tipos de sistemas expertos:

 Basados en reglas previamente establecidas.


 Basados en casos o CBR (Case Based Reasoning).
 Basados en redes bayesianas.

En cada uno de ellos, la solución a un problema planteado se obtiene:

 Aplicando reglas heurísticas apoyadas generalmente en lógica difusa para su


evaluación y aplicación.
 Aplicando el razonamiento basado en casos, donde la solución a un problema
similar planteado con anterioridad se adapta al nuevo problema.
 Aplicando redes bayesianas, basadas en estadística y el teorema de Bayes.

g. Ventajas y limitaciones de los Sistemas Expertos

Ventajas

 Permanencia: A diferencia de un experto humano un SE (sistema experto) no


envejece, y por tanto no sufre pérdida de facultades con el paso del tiempo.
 Duplicación: Una vez programado un SE lo podemos duplicar infinidad de
veces.
 Rapidez: Un SE puede obtener información de una base de datos y realizar
cálculos numéricos mucho más rápido que cualquier ser humano.
 Bajo costo: A pesar de que el costo inicial pueda ser elevado, gracias a la
capacidad de duplicación el coste finalmente es bajo.
 Entornos peligrosos: Un SE puede trabajar en entornos peligrosos o dañinos
para el ser humano.
 Fiabilidad: Los SE no se ven afectados por condiciones externas, un humano sí
(cansancio, presión, etc.).

19
Taller de Grado I 2011
 Consolidar varios conocimientos.
 Apoyo Académico.

Limitaciones

 Sentido común: Para un Sistema Experto no hay nada obvio. Por ejemplo, un
sistema experto sobre medicina podría admitir que un hombre lleva 40 meses
embarazado, a no ser que se especifique que esto no es posible ya que un
hombre no puede procrear hijos.
 Lenguaje natural: Con un experto humano podemos mantener una
conversación informal mientras que con un SE no podemos.
 Capacidad de aprendizaje: Cualquier persona aprende con relativa facilidad
de sus errores y de errores ajenos, que un SE haga esto es muy complicado.
 Perspectiva global: Un experto humano es capaz de distinguir cuales son las
cuestiones relevantes de un problema y separarlas de cuestiones secundarias.
 Capacidad sensorial: Un SE carece de sentidos.
 Flexibilidad: Un humano es sumamente flexible a la hora de aceptar datos
para la resolución de un problema.
 Conocimiento no estructurado: Un SE no es capaz de manejar conocimiento
poco estructurado.

h. Tareas que realiza un Sistema Experto

Monitorización

La monitorización es un caso particular de la interpretación, y consiste en la


comparación continua de los valores de las señales o datos de entrada y unos
valores que actúan como criterios de normalidad o estándares. En el campo del
mantenimiento predictivo los Sistemas Expertos se utilizan fundamentalmente
como herramientas de diagnóstico. Se trata de que el programa pueda determinar
en cada momento el estado de funcionamiento de sistemas complejos,
anticipándose a los posibles incidentes que pudieran acontecer. Así, usando un
modelo computacional del razonamiento de un experto humano, proporciona los
mismos resultados que alcanzaría dicho experto.

Diseño

Diseño es el proceso de especificar una descripción de un artefacto que satisface


varias características desde un número de fuentes de conocimiento.

El diseño se concibe de distintas formas:

 El diseño en ingeniería es el uso de principios científicos, información técnica e


imaginación en la definición de una estructura mecánica, máquina o sistema
que ejecute funciones específicas con el máximo de economía y eficiencia.

 El diseño industrial busca rectificar las omisiones de la ingeniería, es un intento


consciente de traer forma y orden visual a la ingeniería de hardware donde la
tecnología no provee estas características.

20
Taller de Grado I 2011
Los SE en diseño ven este proceso como un problema de búsqueda de una
solución óptima o adecuada. Las soluciones alternas pueden ser conocidas de
antemano o se pueden generar automáticamente probándose distintos diseños
para verificar cuáles de ellos cumplen los requerimientos solicitados por el usuario,
ésta técnica es llamada “generación y prueba”, por lo tanto estos SE son llamados
de selección. En áreas de aplicación, la prueba se termina cuando se encuentra la
primera solución; sin embargo, existen problemas más complejos en los que el
objetivo es encontrar la solución óptima.

Planificación

La planificación es la realización de planes o secuencias de acciones y es un caso


particular de la simulación. Está compuesto por un simulador y un sistema de
control. El efecto final es la ordenación de un conjunto de acciones con el fin de
conseguir un objetivo global.

Los problemas que presentan la planificación mediante SE son los siguientes:

 Existen consecuencias no previsibles, de forma que hay que explorar y


explicar varios planes.
 Existen muchas consideraciones que deben ser valoradas o incluirles un
factor de peso.
 Suelen existir interacciones entre planes de subobjetivos diversos, por lo
que deben elegirse soluciones de compromiso.
 Trabajo frecuente con incertidumbre, pues la mayoría de los datos con los
que se trabaja son más o menos probables pero no seguros.
 Es necesario hacer uso de fuentes diversas tales como bases de datos.

Control

Un sistema de control participa en la realización de las tareas de interpretación,


diagnóstico y reparación de forma secuencial. Con ello se consigue conducir o
guiar un proceso o sistema. Los sistemas de control son complejos debido al
número de funciones que deben manejar y el gran número de factores que deben
considerar; esta complejidad creciente es otra de las razones que apuntan al uso
del conocimiento, y por tanto de los SE.

Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo
la realimentación o el paso de un proceso a otro lo realiza el operador, o en lazo
cerrado si no tiene que intervenir el operador en ninguna parte del mismo.
Reparación, correcta o terapia.

La reparación, corrección, terapia o tratamiento consiste en la proposición de las


acciones correctoras necesarias para la resolución de un problema. Los SE en
reparación tienen que cumplir diversos objetivos, como son: Reparación lo más
rápida y económicamente posible. Orden de las reparaciones cuando hay que
realizar varias. Evitar los efectos secundarios de la reparación, es decir la aparición
de nuevas averías por la reparación.

21
Taller de Grado I 2011
Simulación

La simulación es una técnica que consistente en crear modelos basados en hechos,


observaciones e interpretaciones sobre la computadora, a fin de estudiar el
comportamiento de los mismos mediante la observación de las salidas para un
conjunto de entradas. Las técnicas tradicionales de simulación requieren modelos
matemáticos y lógicos, que describen el comportamiento del sistema bajo estudio.

El empleo de los SE para la simulación viene motivado por la principal


característica de los SE, que es su capacidad para la simulación del
comportamiento de un experto humano, que es un proceso complejo.

En la aplicación de los SE para simulación hay que diferenciar cinco


configuraciones posibles:

 Un SE puede disponer de un simulador con el fin de comprobar las


soluciones y en su caso rectificar el proceso que sigue.
 Un sistema de simulación puede contener como parte del mismo a un SE y
por lo tanto el SE no tiene que ser necesariamente de simulación.
 Un SE puede controlar un proceso de simulación, es decir que el modelo
está en la base de conocimiento del SE y su evolución es función de la base
de hechos, la base de conocimientos y el motor de inferencia, y no de un
conjunto de ecuaciones aritmético – lógicas.
 Un SE puede utilizarse como consejero del usuario y del sistema de
simulación.
 Un SE puede utilizarse como máscara o sistema frontal de un simulador
con el fin de que el usuario reciba explicación y justificación de los
procesos.

Instrucción

Un sistema de instrucción realizara un seguimiento del proceso de aprendizaje. El


sistema detecta errores ya sea de una persona con conocimientos e identifica el
remedio adecuado, es decir, desarrolla un plan de enseñanza que facilita el
proceso de aprendizaje y la corrección de errores.

Recuperación de información

Los Sistemas Expertos, con su capacidad para combinar información y reglas de


actuación, han sido vistos como una de las posibles soluciones al tratamiento y
recuperación de información, no sólo documental. La década de 1980 fue prolija
en investigación y publicaciones sobre experimentos de este orden, interés que
continua en la actualidad.

Lo que diferencia a estos sistemas de un sistema tradicional de recuperación de


información es que éstos últimos sólo son capaces de recuperar lo que existe
explícitamente, mientras que un Sistema Experto debe ser capaz de generar
información no explícita, razonando con los elementos que se le dan. Pero la

22
Taller de Grado I 2011
capacidad de los SE en el ámbito de la recuperación de la información no se limita
a la recuperación. Pueden utilizarse para ayudar al usuario, en selección de
recursos de información, en filtrado de respuestas, etc. Un SE puede actuar como
un intermediario inteligente que guía y apoya el trabajo del usuario final.

10. Posibles herramientas de software y hardware a utilizar

a. Herramientas de software

 JDK(Java development kid)


 NetBeans (IDE Compilador de Java)
 Wincap
 JCaptor(Componente Java)
 MySql

b. Herramientas de Hardware

 Servidor de Aplicación a Auditar


 Tarjeta de red Adicional
 Switch configurable para “port Mirror”.

23
Taller de Grado I 2011

CAPITULO II

24
Taller de Grado I 2011

Requisitos Funcionales

CU1: Iniciar Sesión


CU2: Gestionar Usuario
CU3: Visualizar Accesos
CU4: Detallar Acceso
CU5: Alertar Actividad Sospechosa
CU6: Gestionar accesos
CU7: Gestionar Reglas de Monitoreo

Requisitos no Funcionales
De calidad:

 Preciso en la entrega de datos

 Fácil de aprender para los usuarios

 Esfuerzo mínimo de hacer un Cambio en lo posterior

Priorización de casos de uso

Caso de Uso Estado Prioridad Riesgo


CU1: Iniciar Sesión Aprobado Normal Normal
CU2: Gestionar Usuario Aprobado Normal Normal
CU3: Visualizar Accesos Aprobado Normal Normal
CU4: Detallar Acceso Aprobado Normal Normal
CU5: Alertar Actividad Sospechosa Aprobado Normal Normal
CU6: Gestionar accesos Aprobado Critico Critico
CU7: Gestionar Reglas de Monitoreo Aprobado Critico Critico

25
Taller de Grado I 2011

REQUERIMIENTOS:

CU1: Iniciar Sesión


uc Casos de Uso

Inciar Sesion

Administrador

CU2: Gestionar Usuario


uc Gestionar Usuario

Gestionar Usuario

Administrador

CU3: Visualizar Accesos


uc Visualizar Accesos

Visualizar Accesos

Administrador

CU4: Detallar Acceso


uc Detallar Accesos

Detallar Acceso

Administrador

26
Taller de Grado I 2011

CU5: Alertar Actividad Sospechosa

uc Alertar Activ idad Sospecho...

Alertar Activ idad


Sospechosa

Administrador

CU6: Gestionar Accesos

uc Gestionar de Captura de Trafico

Gestionar de Captura
de Trafico

Administrador

CU7: Gestionar Reglas de Monitoreo

uc Gestionar Reglas de Monitor...

Gestionar Reglas de
Monitoreo

Administrador

27
Taller de Grado I 2011
uc Diagrama general

Gestionar Accesos
Gestionar Usuario

Inciar Sesion

Visualizar Accesos
Administrador del
Serv idor

«extend»

Detallar Acceso

«include»

Alertar Activ idad


Sospechosa

Gestionar Reglas de
Monitoreo

28
Taller de Grado I 2011

11. Bibliografía

Escalera, Saul J. [ Tecnicas de I&D en ciencias y tecnológia¨], Cochabamba - Bolivia 2006:


Propiedad del Autor/ ,mayo 2006, 534 págs.

Giarratano, Joseph;Riley, Gary [Sistemas expertos:|Principios y programación] España 2001:


International Thomson Editores/ , enero 2001, 608 pags.

IDS SISTEMAS DE DETECCIÓN DE INTRUSOS [en línea] 03 de mayo del 2009


<www.uv.es/montanan/redes/trabajos/IDSs.ppt> [consulta 15 de abril del 2011]

12. Anexos

Topología de IDS

29

También podría gustarte