Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
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.
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.
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:
Insertar un diskette dentro del equipo y arrancar el mismo leyendo del diskette,
para acceder con otro sistema operativo.
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):
Proteger el BIOS del equipo con clave (tomar en cuenta que algunas BIOS viejas
tenían password universal)
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):
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.
4. Situación Problemática
5. Situación deseada
6. Objetivo General
7
Taller de Grado I 2011
7. Objetivos Específicos
8. Metodología
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.
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
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
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.-
Gestión de seguridad.-
Rastreo de comportamiento.-
10
Taller de Grado I 2011
9. Fundamentación Teórica
11
Taller de Grado I 2011
b. Clasificación de los SDI.
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.
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.
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
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.
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:
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.
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.
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
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
linsniff666.c
esniff.c
solsniff.c
sunsniff.c
sniffit
17
Taller de Grado I 2011
especial que le permitirá averiguar los passwords de los usuarios. Los principales
'crackeadores' son:
Crack
Cracker Jack
Hades
Para que un sistema experto sea herramienta efectiva, los usuarios deben
interactuar de una forma fácil, reuniendo dos capacidades para poder cumplirlo:
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
f. Tipos de SE
Ventajas
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.
Monitorización
Diseño
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
Control
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.
21
Taller de Grado I 2011
Simulación
Instrucción
Recuperación de información
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.
a. Herramientas de software
b. Herramientas de Hardware
23
Taller de Grado I 2011
CAPITULO II
24
Taller de Grado I 2011
Requisitos Funcionales
Requisitos no Funcionales
De calidad:
25
Taller de Grado I 2011
REQUERIMIENTOS:
Inciar Sesion
Administrador
Gestionar Usuario
Administrador
Visualizar Accesos
Administrador
Detallar Acceso
Administrador
26
Taller de Grado I 2011
Administrador
Gestionar de Captura
de Trafico
Administrador
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»
Gestionar Reglas de
Monitoreo
28
Taller de Grado I 2011
11. Bibliografía
12. Anexos
Topología de IDS
29