Introducción.
Concepto de Seguridad Informática
Podemos entender como seguridad una característica de cualquier sistema
(informático o no) que nos indica que ese sistema está libre de todo peligro, daño o
riesgo, y que es, en cierta manera, infalible. Como esta característica,
particularizando para el caso de SO o redes de ordenadores, es muy difícil de
conseguir (según la mayoría de expertos, imposible), se suaviza la definición de
seguridad y se pasa a hablar de fiabilidad (probabilidad de que un sistema se
comporte tal y como se espera de él) más que de seguridad.
Se entiende que mantener un sistema seguro (o fiable) consiste básicamente en
garantizar tres aspectos:
Confidencialidad o Privacidad. Es la necesidad de que la información sólo sea
conocida por personas autorizadas no convirtiendo esa información en
disponible para otras entidades. En casos de falta de confidencialidad, la
información puede provocar daños a sus dueños o volverse obsoleta.
Integridad. Es la característica que hace que el contenido de la información
permanezca inalterado a menos que sea modificado por personal autorizado, y
esta modificación sea registrada para posteriores controles o auditorias.
Disponibilidad u Operatividad. Es la capacidad de que la información esté
siempre disponible para ser procesada por personal autorizado. Esto requiere
que dicha información se mantenga correctamente almacenada con el hardware
y el software funcionando perfectamente y que se respeten los formatos para su
recuperación en forma satisfactoria.
Generalmente tienen que existir los tres aspectos descritos para que haya
seguridad.
Los tres elementos principales a proteger en cualquier sistema informático son el
software, el hardware y los datos. Habitualmente los datos son el principal elemento,
ya que es el más amenazado y el más difícil de [Link]í, por ejemplo en una
máquina Unix tenemos un hardware ubicado en un lugar de acceso físico
restringido, o al menos controlado, en caso de pérdida de una aplicación ( o un
programa de sistema, o el propio núcleo de Unix) este software se puede restaurar
sin problemas desde su medio original (por ejemplo, el CD-ROM con el SO que se
utilizó para su instalación). Sin embargo, en caso de pérdida de una BD o de un
proyecto de un usuario, no tenemos un medio ‘original’ desde el que restaurar:
hemos de pasar obligatoriamente por un sistema de copias de seguridad, y a menos
que la política de copias sea muy estricta, es difícil devolver los datos al estado en
que se encontraban antes de la pérdida.
Se deben conocer las amenazas a que los datos están sometidos y las
vulnerabilidades de los sistemas en los que residen, así como los principales tipos
de ataques para crear una buena política de seguridad que los proteja.
Seguridad Física y Seguridad Lógica
El estudio de la seguridad puede estudiarse dependiendo de las fuentes de las
amenazas a los sistemas, lo que da lugar a hablar de seguridad física y seguridad
lógica.
La seguridad física trata de la protección de los sistemas ante amenazas físicas.
Consiste en la aplicación de barreras físicas y procedimientos de control, como
medidas de prevención y contramedidas, ante amenazas a los recursos e
informaciones confidenciales. Desastres naturales, sabotajes internos o externos,
etc, forman parte de este tipo de seguridad.
La seguridad lógica protege la información dentro de su propio medio mediante el
uso de herramientas de seguridad. Se puede definir como conjunto de operaciones
y técnicas orientadas a la protección de la información contra la destrucción, la
modificación, la divulgación indebida o el retraso en su gestación.
El activo más importante de una organización es la información por lo que es
necesario técnicas que vayan más allá de la seguridad física para proteger dicha
información. Estas técnicas las brinda la seguridad lógica.
Seguridad Lógica
La Seguridad Lógica consiste en la «aplicación de barreras y procedimientos que
resguarden el acceso a los datos y sólo permitan acceder a ellos a las personas
autorizadas para hacerlo«.
Los objetivos que se plantean serán:
1. Restringir el acceso a los programas y archivos.
2. Asegurar que los operadores puedan trabajar sin una supervisión minuciosa y no
puedan modificar los programas ni los archivos que no les correspondan.
3. Asegurar que se estén utilizando los datos, archivos y programas correctos por
el procedimiento correcto.
4. Que la información transmitida sea recibida por el destinatario al que ha sido
enviada y no a otro.
5. Que la información recibida sea la misma que ha sido transmitida.
6. Que existan sistemas alternativos secundarios de transmisión entre diferentes
puntos.
7. Que se disponga de pasos alternativos de emergencia para la transmisión de
información
La seguridad lógica está estandarizada de acuerdo a unos niveles de seguridad. El
estándar más utilizado internacionalmente es el TCSEC (Trusted Computer System
Evaluation) Orange Book desarrollado en 1982 de acuerdo a las normas de
seguridad de ordenadores del Departamento de Defensa de la Estados Unidos. Los
niveles describen diferentes tipos de seguridad del SO y se enumeran desde el
mínimo grado de seguridad al máximo. Estos niveles han sido la base de desarrollo
de estándares europeos (ITSEC/ITSEM, Information Technology Security Evaluation
Criteria / Methodology) y luego internacionales (ISO/IEC). Cada nivel requiere todos
los niveles definidos anteriormente: así el subnivel B2 abarca los subniveles B1, C2,
C1 y D.
Nivel D
Reservado para sistemas que no cumplen con ninguna especificación de seguridad.
Sin sistemas fiables, no hay protección para el hardware, el SO es inestable y no
hay autenticación con respecto a usuarios y sus derechos de acceso a la
información. Un SO en este niveles por ejemplo MS-DOS.
Nivel C1: Protección Discrecional
El acceso a distinta información se realiza mediante identificación de usuarios. Cada
usuario maneja su información privada y distingue entre usuarios y el administrador
del sistema, quien tiene control total de acceso.
Muchas de las tareas cotidianas de la administración sólo pueden ser realizadas por
este «super usuario» quien tiene gran responsabilidad en la seguridad. Con la actual
descentralización de los sistemas, no es raro que en una organización encontremos
dos o tres personas cumpliendo este papel.
Los requerimientos mínimos que debe cumplir la clase C1 son:
Acceso de control discrecional: distinción entre usuario y recursos. Se podrán
definir grupos de usuarios y grupos de objetos sobre los cuales podrán actuar
usuarios o grupos de ellos.
Identificación y Autenticación: un usuario debe identificarse antes de comenzar a
ejecutar acciones sobre el sistema. El dato de un usuario no podrá ser accedido
por un usuario sin autorización o identificación.
Nivel C2: Protección de Acceso controlado
Cuenta con características adicionales al C1 que crean un ambiente de acceso
controlado. Se debe llevar una auditoria de accesos e intentos fallidos de acceso a
objetos. Tiene la capacidad de restringir aún más el que los usuarios ejecuten
ciertos comandos o tengan accesos a ciertos archivos, permite o deniega datos a
usuarios concretos en base no sólo a los permisos sino también a los niveles de
autorización.
Requiere que se audite el sistema. Esta auditoria es utilizada para llevar registros de
todas las acciones relacionadas con la seguridad, como las actividades efectuadas
por el administrador y sus usuarios. La auditoria requiere de autenticación adicional
para estar seguro de que la persona que ejecuta el comando es quien dice ser. Su
mayor desventaja reside en los recursos adicionales requeridos.
Los usuarios de un sistema C2 tienen la autorización para realizar algunas tareas de
administración del sistema sin necesidad de ser administradores. Permite llevar
mejor cuenta de las tareas relacionadas con la administración del sistema, ya que es
cada usuario quién ejecuta y no el administrador.
Nivel B1: Seguridad Etiquetada
A cada objeto del sistema (usuario, dato, etc) se le asigna una etiqueta con nivel de
seguridad jerárquico (alto secreto, secreto, reservado, etc) y con unas categorías
(contabilidad, nóminas, ventas, etc). Cada usuario que accede a un objeto debe
poseer un permiso expreso para hacerlo y viceversa. Es decir que cada usuario
tiene sus objetos asociados. También se establecen controles para limitar la
propagación de derecho de accesos a los distintos objetos.
Nivel B2: Protección Estructurada
Requiere que se etiquete cada objeto de nivel superior por ser padre de un objeto
inferior. La protección estructurada es la primera que empieza a referirse al
problema de un objeto a un nivel más elevado de seguridad y comunicación con otro
objeto a un nivel inferior. Así un disco duro será etiquetado por almacenar archivos
que son accedidos por distintos usuarios. El sistema es capaz de alertar a los
usuarios si sus condiciones de accesibilidad y seguridad son modificadas; y el
administrador es el encargado de fijar los canales de almacenamiento y ancho de
banda a utilizar por los demás usuarios.
Nivel B3: Dominios de Seguridad
Refuerza a los dominios con las instalación de hardware: por ejemplo, el hardware
de administración de memoria se usa para proteger el dominio de seguridad de
acceso no autorizado a la modificación de objetos de diferentes dominios de
seguridad. Existe un monitor de referencia que recibe las peticiones de acceso de
cada usuario y las permite o las deniega según las políticas de acceso que se hayan
definido.
Todas las estructuras de seguridad deben ser lo suficientemente pequeñas como
para permitir análisis y comprobaciones ante posibles violaciones. Este nivel
requiere que el terminal del usuario se conecte al sistema por medio de una
conexión segura. Cada usuario tiene asignado los lugares y objetos a los que puede
acceder.
Nivel A: Protección Verificada
Es el nivel más elevado, incluye un proceso de diseño, control y verificación,
mediante métodos formales (matemáticos) para asegurar todos los procesos que
realiza un usuario sobre el sistema.
Para llegar a este nivel todos los componentes de niveles inferiores deben incluirse.
El diseño requiere ser verificado de forma matemática y se deben realizar análisis
de canales encubiertos y de distribución fiable. El software y el hardware son
protegidos para evitar infiltraciones ante traslados o movimientos de equipamiento.
Amenazas, Riesgos, Vulnerabilidades y Ataques
Amenaza
Bajo la etiqueta de ‘amenazas lógicas’ encontramos todo tipo de programas que de
una forma u otra pueden dañar a nuestro sistema, creados de forma intencionada
(software malicioso, también conocido como malware) o simplemente un error (bugs
o agujeros). Esto es, una amenaza es la posibilidad de la ocurrencia de algún
evento que afecte el buen funcionamiento de un sistema, es decir, cualquier
elemento que comprometa el sistema.
Las amenazas pueden ser analizadas en tres momentos: antes del ataque, durante
y después del mismo, por lo que son necesarios mecanismos que garanticen la
seguridad para cada momento. Estos son:
La prevención (antes): mecanismos que aumentan la seguridad (fiabilidad) de un
sistema durante su funcionamiento normal. Por ejemplo, el cifrado de
información.
La detección (durante): mecanismos orientados a revelar violaciones a la
seguridad. Generalmente son programas de auditoria.
La recuperación (después): mecanismos que se aplican cuando la violación del
sistema ya se ha detectado, para retornar éste a su funcionamiento normal. Por
ejemplo, recuperación desde las copias de seguridad realizadas previamente.
La identificación de las amenazas requiere conocer los tipos de ataques, el tipo de
acceso, método de trabajo y los objetivos del atacante.
Riesgo
Proximidad o posibilidad de daño sobre un bien.
Ya se trate de actos naturales, errores u omisiones humanas y actos intencionados,
cada riesgo debería ser considerado de las siguientes maneras:
Minimizando la posibilidad de que ocurra.
Reduciendo al mínimo el perjuicio producido si no ha podido evitarse que
ocurriera.
Diseñando métodos para la más rápida recuperación de los daños
experimentados.
Corrigiendo las medidas de seguridad en función de la experiencia recogida.
Vulnerabilidad
Característica del sistema o del medio ambiente que facilita que la amenaza tenga
lugar. Son las debilidades del sistema que pueden ser empleadas por la amenaza
para comprometerlo.
Ataque
Evento, exitoso o no, que atenta contra el buen funcionamiento de un sistema, sea
intencionado o accidental.
Las consecuencias de los ataques se podrían clasificar en:
Corrupción de Datos: la información que no contenía defectos pasa a tenerlos.
Denegación de Servicio: servicios que deberían estar disponibles no lo están.
Filtrado: los datos llegan a destinos a los que no deberían llegar.
Los ataques de una forma general se clasifican en:
Ataques Pasivos
El atacante no altera la comunicación sino que únicamente la escucha o monitoriza
para obtener información que está siendo transmitida. Sus objetivos son la
interceptación de datos y el análisis de tráfico. Se suelen emplear para:
Obtención del origen y destinatario de la comunicación, a través de la lectura de
las cabeceras de los paquetes monitorizados.
Control del volumen de tráfico intercambiando entre las entidades monitorizadas,
obteniendo así información acerca de actividad o inactividad inusuales.
Control de las horas habituales de intercambio de datos entre las entidades de la
comunicación, para extraer información acerca de los periodos de actividad.
El cifrado de información, por ejemplo, puede evitar el éxito, si bien no el ataque.
Ataques Activos
Estos ataques implican algún tipo de modificación del flujo de datos transmitidos o la
creación de un falso flujo de datos. Generalmente son realizados por hackers,
piratas informáticos o intrusos remunerados y se los pueden subdividir en varias
categorías:
Interrupción: Un ataque se clasifica como interrupción si hace que un objeto del
sistema se pierda, quede inutilizable o no disponible.
Interceptación: Se tratará de una interceptación si un elemento no autorizado
consigue un acceso a un determinado objeto del sistema.
Modificación: Si además de conseguir el acceso consigue modificar el objeto.
Fabricación: Se dice que un ataque es una fabricación si se trata de una
modificación destinada a conseguir un objeto similar al atacado de forma que
sea difícil distinguir entre el objeto original y el ‘fabricado’.
Destrucción: Algunos autores consideran un caso especial de la modificación la
destrucción, entendiéndola como una modificación que inutiliza al objeto
afectado.
Tipos de Ataques
Ingeniería Social
Es la manipulación de las personas para convencerlas de que ejecuten acciones o
actos que normalmente no realizan para que revele todo lo necesario para superar
las barreras de seguridad. Esta técnica es una de las más usadas y efectivas a la
hora de averiguar nombres de usuarios y passwords.
Para evitar situaciones de Ingeniería Social es conveniente tener en cuenta estas
recomendaciones:
Tener servicio técnico propio o de confianza.
Instruir a los usuarios para que no respondan ninguna pregunta sobre cualquier
característica del sistema y deriven la inquietud a los responsables que tenga la
competencia para dar esa información.
Asegurarse que las personas que llaman por teléfono son quien dicen ser.
Ingeniería Social Inversa
En este caso el intruso da a conocer de alguna manera que es capaz de brindar
ayuda a los usuarios y estos llaman ante algún imprevisto. El intruso aprovechará la
oportunidad para pedir información necesaria para solucionar el problema
consiguiendo información útil.
Trashing
Generalmente un usuario anota su login y password en un papelito y luego, cuando
lo recuerda, lo arroja a la basura. Este procedimiento por más inocente que parezca
esel que puede aprovechar un atacante para hacerse de una llave para entrar en el
sistema. El Trashing puede ser físico (como el caso descrito) o lógico, como analizar
buffers de impresora y memoria, bloques de discos, etc.
Ataques de Monitorización
Este tipo de ataque se realiza para observar a la víctima y su sistema, con el
objetivo de obtener información y establecer sus vulnerabilidades y posibles formas
de acceso futuro.
Shoulder Surfing: Consiste en espiar físicamente a los usuarios para obtener
su login y password correspondiente.
Decoy: Son programas diseñados con la misma interfaz que el original. En ellos
se imita la solicitud de login y el usuario desprevenido lo hace. Luego el
programa guardará esa información y dejará paso a las actividades normales del
sistema. La información recopilada será utilizada por el atacante para futuras
«visitas».
Una técnica semejante es aquella, que mediante un programa se guardan
todas las teclas presionadas durante una sesión.
Scanning: La idea es recorrer (escanear) tantos puertos de escucha como sea
posible, y guardar información de aquellos que sean receptivos o de utilidad para
cada necesidad en particular. Muchas utilidades de auditoria también se basan
en este paradigma.
Hay varios tipos de scanning entre los que destaca TCP Connect
Scanning que es la forma básica de escaneo de puertos TCP. Si el puerto
está escuchando devolverá una respuesta de éxito; cualquier otro caso
significará que el puerto no está abierto o que no se puede establecer
conexión con él. Su ventaja es que es rápido y no necesita privilegios
especiales. Su desventaja es que es fácilmente detectable por el
administrador del sistema.
Eavestropping-Packet Sniffing: Es la interceptación del tráfico de red.
Esto se realiza con Packet Sniffers, son programas que controlan los
paquetes que circulan por una red. Los sniffers pueden ser colocados tanto
en estaciones de trabajo conectadas a la red como a un equipo Router o un
Gateway de Internet y esto puede ser realizado por un usuario con legítimo
acceso o por un intruso que ha ingresado por otras vías.
Cada máquina conectada a la red (mediante una placa con una dirección
única) verifica la dirección destino de los paquetes TCP. Si estas direcciones
son iguales asume que el paquete enviado es para ella, caso contrario libera
el paquete para que otras placas lo analicen. Un sniffer consiste en colocar a
la placa de red en un modo llamado promiscuo, el cual desactiva el filtro de
verificación de direcciones y por tanto todos los paquetes enviados a la red
llegan a esta placa. Actualmente existen sniffers para capturar cualquier tipo
de información específica. Por ejemplo, passwords de un recurso compartido
o de acceso a una cuenta, que generalmente viajan sin encriptar.
También son útiles para capturar números de tarjetas de crédito y
direcciones de correo electrónico entrantes y salientes.
Snooping-Downloading: Además de interceptar el tráfico de red, el atacante
ingresa a los documentos, mensajes de correo electrónico y otra información
guardada realizando una copia de sus documentos (downloading) a su propio
ordenador para luego hacer un análisis exhaustivo de la misma.
Ataques de Autenticación
Este tipo de ataque tiene como objetivo engañar al sistema de la víctima para entrar
en este. Generalmente se realiza tomando las sesiones ya establecidas por la
víctima u obteniendo su nombre de usuario y password.
Spoofing-Looping: Spoofing puede traducirse como «hacerse pasar por otro».
Una forma común de Spoofing es conseguir el nombre y password para una vez
ingresado al sistema, tomar acciones en nombre de él.
El intruso usualmente utiliza un sistema para obtener información e ingresar
en otro y luego utiliza este para entrar en otro y así sucesivamente. Este
proceso llamado Looping, tiene la finalidad de ocultar la identificación y
ubicación del atacante.
IP Spoofing: El atacante genera paquetes de Internet con una dirección de red
falsa en el origen, pero que es aceptada por el destinatario del paquete. Su
utilización más común es enviar los paquetes con la dirección de un tercero de
forma que la víctima «ve» un ataque proveniente de esa tercera red y no la
dirección real del intruso.
DNS Spoofing: Se manipulan paquetes UDP pudiéndose comprometer el
servidor de nombres del Dominio (Domain Name Server DNS).
Web Spoofing: El atacante crea un sitio web completo (falso) similar al que la
víctima desea entrar. Los accesos a este sitio están dirigidos por el atacante
permitiéndole controlar todas las acciones de la víctima, desde sus datos hasta
las passwords, número de tarjetas de crédito, etc.
El atacante también es libre de modificar cualquier dato que se esté
transmitiendo entre el servidor original y la víctima o viceversa.
IP Splicing-Hijacking: Se produce cuando un atacante consigue interceptar una
sesión ya establecida. El atacante espera a que la víctima se identifique ante el
sistema y tras ello le suplanta.
Para entender el procedimiento supongamos la siguiente situación:
IP Cliente: IP [Link]
IP Servidor: IP [Link]
IP Atacante: IP [Link]
El cliente establece una conexión con su servidor enviando un paquete que
contendrá la dirección origen, destino, número de secuencia y un número de
autenticación utilizado por el servidor para reconocer el paquete siguiente en
la secuencia. Supongamos que este paquete contiene:
IP Origen: [Link] Puerto 1025
IP Destino: [Link] Puerto 23
SEQ=3DF45ADA
ACK=F454FDF5
Datos: Solicitud
El servidor luego de recibir el primer paquete contesta al cliente con paquete
Echo (recibido).
IP Origen: [Link] Puerto 1025
IP Destino: [Link] Puerto 23
SEQ=F454FDF5 (ACK enviado por el cliente)
ACK=3DF454E4
Datos: Recepción OK (Echo)
El cliente envía un paquete ACK al servidor, sin datos, en donde le comunica
lo «perfecto de la comunicación.
IP Origen: [Link] Puerto 1025
IP Destino: [Link] Puerto 23
SEQ=3DF454E4 (ACK enviado por el servidor)
ACK=F454FDFF
Datos: Confirmación de Recepción (ACK)
El atacante que ha visto, mediante un Sniffer, los paquetes que circularon
por la red calcula el número de secuencia siguiente: el actual + tamaño del
campo de datos. Para calcular el tamaño de este campo:
1º paquete ACK Cliente=F454FDF5
2º paquete ACK Cliente=F454FDFF
Tamaño del campo de datos = F454FDFF - F454FD5 = 0A
Hecho esto el atacante envía un paquete con el siguiente aspecto:
IP Origen: [Link] (IP del Cliente por el atacante)
IP Destino: [Link] (IP del servidor)
SEQ=3DF454E4 (Último ACK enviado por el cliente)
ACK=F454FE09 (F454FDFF + 0A)
El servidor al recibir estos datos no detectará el cambio de origen ya que los
campos que ha recibido como secuencia y ACK son los que esperaba recibir.
El cliente, a su vez, quedará esperando datos como si su conexión estuviera
establecida pero sin enviar datos y el atacante podrá seguir enviando datos
mediante el procedimiento descrito.
Utilización de puertas traseras (Backdoors): Las puertas traseras son trozos
de código en un programa que permiten saltarse los métodos usuales de
autenticación para realizar ciertas tareas. Habitualmente son insertados por los
programadores del sistema para agilizar la tarea de probar el código durante la
fase de desarrollo. Esta situación se convierte en una falla de seguridad si se
mantiene, involuntaria o intencionalmente, una vez terminado el producto ya que
cualquiera que conozca el agujero o lo encuentre en su código podrá saltarse los
mecanismos de control normales.
Utilización de Exploits: Es frecuente entrar en un sistema explotando agujeros
en los algoritmos de encriptación usados, en la administración de claves por
parte de la empresa o encontrando un error en los programas utilizados.
Los programas para explotar estos «agujeros» reciben el nombre de Exploits
y lo que hacen es aprovechar la debilidad, fallo o error hallado en el sistema
(hardware o software) para entrar al mismo. Nuevos agujeros se publican
cada día por lo que mantenerse informado de los mismos y de las
herramientas para combatirlos es de vital importancia.
Obtención de Passwords: Este método comprende la obtención por «Fuerza
Bruta» de aquellas claves que permiten entrar en los sistemas, aplicaciones,
cuentas, etc, atacados.
Muchas passwords de acceso son obtenidas fácilmente porque involucran el
nombre u otro dato familiar del usuario, y además, nunca (o rara vez) se
cambia. En este caso el ataque se simplifica e involucra algún tiempo de
prueba y error. Otras veces se realizan ataques sistemáticos con la ayuda de
programas especiales y diccionarios que prueban millones de posibles
claves hasta encontrar la password correcta.
El programa encargado encripta cada una de ellas, mediante el algoritmo
utilizado por el sistema atacado y compara la palabra encriptada contra el
archivo de passwords del sistema atacado, previamente obtenido. Si
coinciden se ha encontrado la clave de acceso.
Denegación de servicio (DoS – Denial of Service)
Los protocolos existentes actualmente fueron diseñados para ser empleados en una
comunidad abierta y con una relación de confianza mutua. La realidad indica que es
más fácil desorganizar el funcionamiento de un sistema que acceder al mismo; así
los ataques de negación de servicio tienen como objetivo saturar los recursos de las
víctimas de forma que se inhabiliten los servicios brindados por la misma.
Algunas razones por las que son útiles para un atacante son:
Se ha instalado un troyano y se necesita que la víctima reinicie la máquina para
que surta efecto.
Se necesita cubrir inmediatamente sus acciones o un uso abusivo de CPU.
El intruso cree que actúa bien al dejar fuera de servicio algún sitio web que le
disgusta.
El administrador de sistema quiere comprobar que sus instalaciones no son
vulnerables a estos ataques.
El administrador del sistema tiene un proceso que no puede «matar» en su
servidor y debido a este no puede acceder al sistema. Para ello, lanza contra sí
mismo un ataque DoS deteniendo los servicios.
Entre los distintos tipos de DoS tenemos:
Jamming o Flooding: Este tipo de ataques desactivan o saturan los recursos
del sistema. Por ejemplo, se puede consumir toda la memoria o espacio
disponible en disco, así como enviar tanto tráfico a la red que nadie puede
utilizarla.
El atacante satura el sistema con mensajes que requieren establecer
conexión. Sin embargo, en vez de proveer la dirección IP del emisor, el
mensaje contiene falsas direcciones IP usando «Spoofing» y «Looping». El
sistema responde al mensaje pero al no recibir respuesta acumula buffers
con información de las conexiones abiertas, no dejando lugar a las
conexiones legítimas.
Connection Flood: La mayoría de las empresas que brindan servicios de
Internet tienen un límite máximo en el número de conexiones simultáneas. Una
vez que se alcanza este límite, no se admitirán conexiones nuevas. Así,por
ejemplo, un servidor Web puede tener, capacidad para atender a mil usuarios
simultáneos. Si un atacante establece mil conexiones y no realiza ninguna
petición sobre ellas, monopolizará la capacidad del servidor. Las conexiones van
caducando por inactividad poco a poco, pero el atacante sólo necesita intentar
nuevas conexiones para mantener fuera de servicio al servidor.
Net Flood: El atacante envía tantos paquetes de solicitud de conexión que las
conexiones auténticas no pueden competir. En casos así el primer paso a
realizar es ponerse en contacto con el Proveedor del servicio para que intente
determinar la fuente del ataque, y como medida provisional, filtre el ataque en su
extremo de la línea. El siguiente paso consiste en localizar las fuentes del ataque
e informar a sus administradores, ya que seguramente se estarán usando sus
recursos sin su conocimiento y consentimiento.
Land Attack: Este ataque se basa en un error de la pila TCP/IP de las
plataformas Windows. Consiste en mandar a algún puerto abierto de un servidor
un paquete con la dirección y puerto origen igual que la dirección y puerto
destino. El resultado es que después de cierta cantidad de mensajes enviados-
recibidos la máquina termina colgándose.
OOB (Out Of Band), Supernuke o winnuke: Es un ataque característico en los
equipos Windows que hace que los equipos que escuchan por el puerto
NETBios sobre TCP/UDP 137 a 139 queden fuera de servicio o disminuyan su
rendimiento al enviarle paquetes UDP manipulados. Generalmente se envían
fragmentos de paquetes OOB que la máquina víctima detecta como inválidos
pasando a un estado inestable. OOB es el término normal pero realmente
consiste en configurar el bit Urgente (URG) en los indicadores del
encabezamiento TCP.
E-Mail Bombing – Spamming: Consiste en enviar muchas veces un mensaje
idéntico a una misma dirección saturando así el buzón de correo del destinatario.
El spamming, en cambio, se refiere a enviar un e-mail a miles de usuarios,
hayan estos solicitados el mensaje o no. Es muy utilizado por las empresas
para hacer publicidad de sus productos.
Ataques de Modificación-Daño
Tampering o Data Diddling: Se refiere a la modificación desautorizada de los
datos o el software instalado en el sistema víctima incluyendo borrado de
archivos. Son particularmente serios cuando el que lo realiza ha obtenido
derechos de administrador, con la capacidad de ejecutar cualquier comando.
Ejemplos típicos: empleados bancarios (o externos) que crean falsas cuentas
para derivar fondos de otras, estudiantes que modifican calificaciones de
exámenes, et.
Múltiples sitios web han sido víctimas del cambio en sus páginas por
imágenes o manifiestos. Otras veces se reemplazan versiones de software
por otros con el mismo nombre pero que incorporan código malicioso (virus,
troyanos, etc). La utilización de virus y troyanos está dentro de esta
categoría y se le dedicará un apartado especial.
Borrado de Huellas: El borrado de huellas es una de las tareas más
importantes que debe realizar el intruso después de ingresar en un sistema, ya
que si se detecta su ingreso, el administrador buscará como conseguir «tapar el
hueco» de seguridad evitando ataques futuros o incluso rastrear al atacante.
Las huellas son todas las operaciones que realizó el intruso en el sistema y,
por lo general, son almacenadas en Logs (archivos que guardan la
información de lo que se realiza en el sistema) por el SO.
Los archivos de Logs son una de las principales herramientas con las que
cuenta un administrador para conocer los detalles de las tareas realizadas
en el sistema y para la detección de intrusos.
Ataque mediante ActiveX: ActiveX es una de las tecnologías de Microsoft que
permite reutilizar código, descargar código totalmente funcional de un sitio
remoto, etc. ActiveX soluciona los problemas de seguridad mediante certificados
y firmas digitales. Una Autoridad Certificadora (AC) expende un certificado que
acompaña a los controles activos y a una firma digital del programador. Cuando
un usuario descarga una página con un control, se le preguntará si confía en la
AC que expedió el certificado y en el control ActiveX. Si el usuario acepta el
control, éste puede pasar a ejecutarse sin ningún tipo de restricciones salvo las
propias que tenga el usuario en el SO por lo que la seguridad del sistema se
deja en manos del usuario, característica que es utilizada para realizar ataques.
Vulnerabilidad en los Navegadores: Un fallo común ha sido el denominado
«Buffer Overflow» que consisten en explotar una debilidad relacionada con los
buffers que la aplicación usa para almacenar las entradas de usuario. Por
ejemplo, cuando el usuario escribe una dirección en formato URL ésta se guarda
en un buffer para luego procesarla. Si no se realizan las oportunas operaciones
de comprobación, un usuario podría manipular estas direcciones.
Errores de Diseño, Implementación y de Operación
Muchos sistemas están expuestos a «agujeros» de seguridad que son explotados
para acceder a archivos, obtener privilegios o realizar sabotaje. Estas
vulnerabilidades ocurren por varias razones y miles de «puertas invisibles» son
descubiertas cada día en SO, aplicaciones de software, protocolos de red,
exploradores de internet, correo electrónico y toda clase de servicios informáticos
disponibles.
Los SO abiertos como Unix o Linux tienen agujeros más conocidos y controlados
que aquellos que son cerrados, por ejemplo Windows. La importancia y ventaja del
código abierto radica en miles de usuarios que analizan dicho código y buscan
posibles errores y ayudan a obtener soluciones de forma inmediata.
Virus Informáticos
Un virus informático es un pequeño programa invisible para el usuario de
funcionamiento específico y subrepticio cuyo código incluye información suficiente y
necesaria para que utilizando los mecanismos de ejecución que le ofrecen otros
programas puedan reproducirse formando réplicas de sí mismos susceptibles de
mutar, resultando de dicho proceso la modificación, alteración y/o destrucción de los
programas, información y/o hardware afectado. Un virus informático es un ataque de
tipo «Tampering» que puede ser ingresado al sistema por un dispositivo externo o a
través de la red (emails u otros protocolos) sin intervención directa del atacante.
Existen distintos tipos de virus, como aquellos que infectan archivos ejecutables, los
sectores de arranque y la tabla de partición de los discos, etc. Los que causan
mayores problemas suelen ser las macros y virus scripts que están ocultos en
simples documentos, plantillas de cálculo, correo electrónico y aplicaciones que
utiliza cualquier usuario de PC. La difusión se potencia con la posibilidad de su
transmisión de un continente a otro a través de cualquier red o Internet y además
son multiplataformas.
Las técnicas de propagación más comunes son:
Disquetes y otros medios: A la posibilidad de que un disquete contenga un
archivo infectado se une el peligro de que integre un virus de sector de arranque
(Boot). En este segundo caso, y si el usuario lo deja en la disquetera infectará el
ordenador al encenderlo ya que el sistema arrancará desde el disquete.
Correo electrónico: el usuario no necesita hacer nada para recibir mensajes que
en muchos casos ni siquiera ha solicitado y que pueden llegar de cualquier lugar
del mundo. Los mensajes de correo electrónico pueden incluir archivos,
documentos o cualquier objeto Active-X-java infectado que al ejecutarse
contagian la computadora del usuario. En las últimas generaciones de virus se
envían emails sin mensajes pero con archivos adjuntos que al abrirlos proceden
a su ejecución y posterior infección ya que se envían automáticamente a los
contactos de la libreta de direcciones del sistema infectado.
IRC o chat: Las aplicaciones de mensajería instantánea proporcionan un medio
de comunicación anónimo, rápido, eficiente, cómodo y barato. Sin embargo, son
peligrosas ya que los entornos chat ofrecen generalmente facilidades para
transmisión de archivos con un gran riesgo en un entorno de red.
Páginas web y transferencias vía FTP: los archivos que se descargan desde
Internet pueden estar infectados y pueden provocar acciones dañinas en el
sistema en el que se ejecutan.
Grupos de noticias: Sus mensajes e información pueden estar infectados y por lo
tanto contagiar al equipo del usuario que participe en ellos.
Los tipo se virus más habituales son:
Archivos Ejecutables (Virus ExeVir): El virus se adosa a un archivo ejecutable
y desvía el flujo de ejecución a su código, para luego retornar al huésped y
ejecutar acciones esperadas por el usuario. Al realizarse esta acción el usuario
no se percata de lo sucedido. Una vez que el virus es ejecutado se aloja en
memoria y puede infectar otros archivos ejecutables que sen abiertos en esa
máquina.
Virus en el Sector de Arranque (Virus Anterior a la Carga del SO): En los
primeros 512 bytes de un disquete formateado están las rutinas necesarias para
la carga y reconocimiento de dicho disquete. Entre ellas se encuentra la función
invocada si no se encuentra el SO.
Se guarda la zona de arranque original en otro sector del disco. Luego el
virus carga la antigua zona de arranque. Al arrancar el disquete ejecuta el
virus (que obligatoriamente debe tener 512 bytes o menos) quedando
residente en memoria, luego ejecuta la zona de arranque original, salvada
anteriormente.
Virus Residente: El objetivo de residir en memoria es controlar los accesos a
disco realizados por el usuario y el SO. Cada vez que se produce un acceso, el
virus verifica si el disco o archivo objeto al que se accede está infectado y si no
lo está procede a almacenar su propio código en el mismo. Este código se
almacenará en un archivo, tabla de partición o en el sector de arranque
dependiendo del tipo de virus de que se trate.
Virus de Macros: Estos virus infectan archivos de información generados por
aplicaciones de oficina que cuentan con lenguajes de programación de macros.
Su funcionamiento consiste en que si una aplicación abre un archivo infectado,
la aplicación (o parte de ella) se infecta y cada vez que se genera un nuevo
archivo o se modifique uno existente contendrá el virus de macros.
Virus de Mail: Su modo de actuar se basa en la confianza excesiva por parte del
usuario, a este le lleva vía mail un mensaje con un archivo comprimido, el
usuario lo descomprime y al terminar esta acción, el contenido del archivo se
ejecuta y comienza el daño. Este tipo de virus tomó relevancia con la explosión
masiva de Internet y virus tipo Melissa y I Love You. Generalmente estos virus se
auto-envían a algunas de las direcciones de la libreta.
Hoax, los Virus Fantasmas: No es un virus realmente. El auge del correo
electrónico generó la posibilidad de transmitir mensajes de alerta de seguridad.
Así comenzaron a circular mensajes de distinta índole de casos inexistentes. Los
objetivos de estas alertas pueden causar alarma, pérdida de tiempo, robo de
direcciones de correo y saturación de los servidores.
Gusanos: Un gusano es un programa capaz de ejecutarse y propagarse por sí
mismo a través de redes, en ocasiones portando virus o aprovechando errores
de los sistemas a los que se conecta para dañarlos. Al ser difíciles de programar,
su número no es muy elevado, pero el daño que pueden causar es muy grande.
Hemos de pensar que un gusano puede automatizar y ejecutar en unos
segundos todos los pasos que seguiría un atacante humano para acceder a
nuestro sistema, mientras que una persona, por muchos conocimientos y
medios que posea, tardaría como mínimo horas en controlar nuestra red
completa (un tiempo más que razonable para detectarlo), un gusano puede
hacer eso mismo en pocos minutos: de ahí su enorme peligro y sus
devastadores efectos.
Caballos de Troya: Es un programa que aparentemente realiza una función útil
a la vez que una operación que el usuario desconoce y que generalmente
beneficia al autor del troyano o daña el sistema huésped.
Ejemplos conocidos son el Back Oriffice y el Net Bus que son utilizados
como poderosas armas para tomar el control del ordenador infectado. Estos
programas pueden ser utilizados para la administración total del sistema
atacado por parte de un tercero, con los mismos permisos y restricciones
que el usuario de la misma.
Modelo de Virus Informático
Un virus está compuesto por su propio entorno dentro del que pueden distinguirse
tres módulos principales:
Módulo de Reproducción encargado de manejar las rutinas de parasitación de
entidades ejecutables con el fin de que el virus pueda ejecutarse
subrepticiamente.
Módulo de Ataque que maneja las rutinas de daño adicional al virus y se
activan cuando el sistema cumple cierta condición (por ejemplo una fecha).
Módulo de Defensa con la misión de proteger al virus para evitar su detección o
eliminación.
Medidas de Protección y Aseguramiento
Hoy es imposible hablar de un sistema cien por cien seguro porque el coste de la
seguridad total es muy alto. Sin embargo, sí se pueden aplicar una serie de medidas
de protección para controlar todo un conjunto de vulnerabilidades aunque no se
logre la seguridad total. En este sentido las Políticas de Seguridad Informática (PSI)
surgen como una herramienta de organización para concienciar a los miembros de
una organización sobre la importancia y sensibilidad de la información y servicios
críticos.
Entre las medidas de protección más comunes tenemos las que se exponen a
continuación.
Controles de acceso
Estos controles pueden implementarse en el SO, sobre los sistemas de aplicación,
en BD, en un paquete específico de seguridad o en cualquier otro sistema que se
utilice.
Constituyen una importante ayuda para proteger al SO de la red, al sistema de
aplicación y demás software de la utilización o modificación no autorizadas para
mantener la integridad de la información y para resguardar la información
confidencial del acceso no autorizado.
Asimismo es conveniente tener en cuenta otras consideraciones referidas a la
seguridad lógica como por ejemplo las relacionadas al procedimiento que se lleva a
cabo para determinar si corresponde un permiso de acceso (solicitado por un
usuario) a un determinado recurso. Al respecto el NIST (National Institute for
Standards and Technology) ha resumido los siguientes estándares de seguridad que
se refieren a los requisitos mínimos de seguridad en cualquier sistema:
Identificación y Autenticación
Se denomina identificación el momento en que el usuario se da a conocer en el
sistema mientras que autenticación es la verificación que realiza el sistema sobre
esta identificación.
Existen cuatro tipos de técnicas que permiten realizar la autenticación de la
identidad del usuario, que pueden llevarse a cabo individual o combinadamente:
1. Algo que solamente el individuo conoce: una clave secreta o password, clave
criptológica o un número de identificación personal (PIN).
2. Algo que la persona posee: por ejemplo una tarjeta magnética.
3. Algo que el individuo es y que lo identifica unívocamente: las huellas digitales o
la voz.
4. Algo que el individuo es capaz de hacer: por ejemplo los patrones de escritura.
En los dos primeros casos es frecuente que las claves se olviden o que las tarjetas o
dispositivos se pierdan mientras que por otro lado los controles de autenticación
biométricos serían más apropiados y fáciles de administrar resultado ser también los
más costosos por lo dificultoso de su implementación eficiente.
Desde el punto de vista de la eficiencia es conveniente que los usuarios sean
identificados y autenticados solamente una vez, pudiendo acceder a partir de allí a
todas las aplicaciones y datos a los que su perfil les permita tanto en sistema locales
como en sistemas a los que debe acceder en forma remota.
Esto se denomina «single log-in» o sincronización de passwords.
Una de las posibles técnicas para implementar esta única identificación de usuarios
sería la utilización de un servidor de autenticaciones sobre el cual los usuarios se
identifican y que se encarga luego de autenticar al usuario sobre los restantes
equipos a los que éste pueda acceder. Este servidor de autenticaciones no debe ser
necesariamente un equipo independiente y puede tener sus funciones distribuidas
tanto geográfica como lógicamente, de acuerdo con los requerimientos de carga de
tareas.
La seguridad informática se basa en gran medida en la efectiva administración de
los permisos de acceso a los recursos informáticos, basados en la identificación,
autenticación y autorización de accesos. Esta administración abarca:
Proceso de solicitud, establecimiento, manejo y seguimiento y cierre de las
cuentas de usuarios. Es preciso considerar que la solicitud de habilitación de un
permiso de acceso para un usuario determinado, debe provenir de su superior y
de acuerdo con sus requerimientos específicos de acceso debe crearse el perfil
en el sistema de seguridad, en el SO o en la aplicación según corresponda.
Además, la identificación de usuarios debe definirse según una norma
homogénea para toda la organización.
Revisiones periódicas sobre la administración de las cuentas y los permisos de
acceso establecidos. Las mismas deben encararse desde el punto de vista del
SO, y aplicación por aplicación, pudiendo ser llevadas a cabo por personal de
auditoria o por la gerencia propietaria del sistema; siempre sobre la base de que
cada usuario disponga del mínimo permiso que requiera de acuerdo con sus
funciones.
Las revisiones deben orientarse a verificar la adecuación de los permisos de
acceso de cada individuo de acuerdo con sus necesidades operativas, la
actividad de las cuentas de usuarios o la autorización de cada habilitación de
acceso.
Detección de actividades no autorizadas. Además de realizar auditorias o
efectuar el seguimiento de los registros de transacciones (pistas) hay otras
medidas que ayudan a detectar actividades no autorizadas. Algunas se basan en
evitar la dependencia de personas determinadas, estableciendo la obligatoriedad
de tomar vacaciones o efectuar rotaciones periódicas a las funciones asignadas
a cada una de ellas.
Nuevas consideraciones sobre cambios en la asignación de funciones del
empleado. Para implantar la rotación de funciones o en caso de reasignar
funciones por ausencias temporales de algunos empleados, es necesario
considerar la importancia de mantener actualizados los permisos de acceso.
Procedimientos en caso de desvinculaciones de personal con la organización,
amistosas o no.
Para evitar estas situaciones es recomendable anular los permisos de acceso a las
personas que se desvincularán de la organización lo antes posible. En caso de
despido, el permiso de acceso debería anularse previamente a la notificación de la
persona sobre la situación.
Roles
El acceso a la información también puede controlarse a través de la función o rol del
usuario que requiere dicho acceso. Algunos ejemplos de roles son: programador,
jefe de proyecto, gerente, administrador de sistema, etc. En este caso los derechos
de acceso se pueden agrupar de acuerdo con el rol.
Limitaciones a los servicios
Estos controles se refieren a las restricciones que dependen de parámetros propios
de la utilización de la aplicación o preestablecidos por el administrador del sistema.
Un ejemplo podría ser que en la organización se disponga de licencias para la
utilización simultánea de un determinado producto de software para cinco personas
en donde exista un control a nivel de sistema que no permita la utilización del
producto a un sexto usuario.
Modalidad de Acceso
Se refiere al modo de acceso que se permite al usuario sobre los recursos y a la
información. Puede ser:
Lectura: el usuario puede únicamente leer o visualizar la información pero no
puede alterarla. La información puede ser copiada o impresa.
Escritura: se permite agregar datos, modificar o borrar información.
Ejecución: este acceso otorga al usuario el privilegio de ejecutar programas.
Borrado: permite al usuario eliminar recursos del sistema.
Todas las anteriores.
Ubicación y Horario
El acceso a determinados recursos del sistema puede estar basado en la ubicación
física o lógica de los datos o personas. En cuanto a horarios, este tipo de controles
permite limitar el acceso de los usuarios a determinadas horas del día o días de la
semana. Así se mantiene un control más restringido de los usuarios y zonas de
ingreso.
Control de Acceso Interno
Palabras claves (passwords)
Generalmente se utilizan para realizar la autenticación del usuario y sirven para
proteger los datos y aplicaciones. Los controles independientes a través de la
utilización de palabras claves resulta de muy bajo costo. Sin embargo, cuando el
usuario se ve en la necesidad de utilizar varias palabras clave para acceder a
diversos sistemas encuentra dificultoso recordarlas y probablemente las escriba o
elija palabras fácilmente deducibles con lo que se ve disminuida de esta técnica.
Sincronización de passwords: consiste en permitir que un usuario acceda con la
misma password a diferentes sistemas interrelacionados y su actualización
automática en todos ellos en caso de ser modificada.
Caducidad y control: este mecanismo controla cuando pueden y deben cambiar sus
passwords los usuarios. Se define el periodo mínimo que debe pasar para que los
usuarios puedan cambiar sus passwords y un periodo máximo que puede transcurrir
para que estas caduquen.
Encriptación
La información encriptada solamente puede ser desencriptada por quienes posean
la clave apropiada.
Listas de control de accesos
Se refiere a un registro donde se encuentran los nombres de los usuarios que
obtuvieron el permiso de acceso a un determinado recurso del sistema así como la
modalidad de acceso permitido. Este tipo de listas varían considerablemente en su
capacidad y flexibilidad.
Límites sobre la interfaz de usuario
Estos límites generalmente utilizados en conjunto con las listas de control de acceso
restringen a los usuarios a realizar funciones específicas. Básicamente pueden ser
de 3 tipos: menús, vistas sobre la BD y límites físicos sobre la interfaz de usuario.
Por ejemplo, los cajeros automáticos donde el usuario sólo puede ejecutar ciertas
funciones presionando teclas específicas.
Etiqueta de seguridad
Consiste en designaciones otorgadas a los recursos (por ejemplo, un archivo) que
pueden utilizarse para varios propósitos como control de accesos, especificación de
medidas de protección, etc. Estas etiquetas no son modificables.
Control de Acceso Externo
Dispositivos de control de puertos
Estos dispositivos autorizan el acceso a un puerto determinado y pueden estar
físicamente separados o incluidos en otro dispositivo de comunicaciones, como por
ejemplo un módem.
Firewalls o puertas de seguridad
Permiten bloquear o filtrar el acceso entre dos redes, usualmente una privada y otra
externa (por ejemplo Internet). Los firewalls permiten que los usuarios internos se
conecten a la red exterior al tiempo que previenen la intromisión de atacantes o virus
a los sistemas de la organización.
Acceso de personal contratado o consultores
Debido a que este tipo de personal en general presta servicios temporales, debe
ponerse especial consideración en la política y administración de sus perfiles de
acceso.
Accesos públicos
Para los sistemas de información consultados por el público en general, o los
utilizados para distribuir o recibir información computerizada (mediante, por ejemplo,
la distribución y recepción de formularios en soporte magnético o la consulta y
recepción de información a través del correo electrónico) deben tenerse en cuenta
medidas especiales de seguridad, ya que se incrementa el riesgo y se dificulta su
administración.
Debe considerarse para estos casos de sistemas públicos, que un ataque externo o
interno puede acarrear un impacto negativo en la imagen de la organización.
Administración
Una vez establecidos los controles de acceso sobre los sistemas y la aplicación, es
necesario realizar una eficiente administración de estas medidas de seguridad
lógica, lo que involucra la implantación, seguimiento, pruebas y modificaciones
sobre los accesos de los usuarios de los sistemas. La política de seguridad que se
desarrolle respecto a la seguridad lógica debe guiar a las decisiones referidas a la
determinación de los controles de accesos y especificando las consideraciones
necesarias para el establecimiento de perfiles de usuarios.
La definición de los permisos de acceso requiere determinar cual será el nivel de
seguridad necesario sobre los datos, por lo que es imprescindible clasificar la
información, determinando el riesgo que produciría una eventual exposición de la
misma a usuarios no autorizados.
Así los diversos niveles de la información requerirán diferentes medidas y niveles de
seguridad.
Para empezar la implantación, es conveniente comenzar definiendo las medidas de
seguridad sobre la información más sensible o las aplicaciones más críticas y
avanzar de acuerdo a un orden de prioridad descendente, establecido alrededor de
las aplicaciones. Una vez clasificados los datos, deberán establecerse las medidas
de seguridad para cada uno de los niveles.
Un programa específico para la administración de los usuarios informáticos
desarrollado sobre la base de las consideraciones expuestas, puede constituir un
compromiso vacío, si no existe una conciencia de la seguridad en la organización
por parte de todos los empleados. Esta conciencia de la seguridad puede
alcanzarse mediante el ejemplo del personal directivo en el cumplimiento de las
políticas y el establecimiento de compromisos firmados por el personal, donde se
especifique la responsabilidad de cada uno.
Pero además de este compromiso debe existir una concienciación por parte de la
administración hacia el personal en donde se remarque la importancia de la
información y las consecuencias de su pérdida o apropiación de la misma por
agentes extraños a la organización.
Administración del personal y usuarios
Lleva generalmente cuatro pasos:
Definición de puestos: debe contemplarse la máxima separación de funciones
posibles y el otorgamiento del mínimo permiso de acceso requerido por cada
puesto para la ejecución de las tareas asignadas.
Determinación de la sensibilidad del puesto: es necesario determinar si la
función requiere permisos rigurosos que le permitan alterar procesos, perpetrar
fraudes o visualizar información confidencial.
Elección de la persona para cada puesto: requiere considerar los requerimientos
de experiencia y conocimientos técnicos necesarios para cada puesto.
Asimismo,para los puestos definidos como críticos puede requerirse una
verificación de antecedentes personales.
Formación inicial y continua del empleado: cuando la persona seleccionada
entra en la organización además de sus responsabilidades individuales para la
ejecución de las tareas que se asignen, debe comunicársele las políticas de
organizaciones haciendo hincapié en la política de seguridad. El individuo debe
conocer las disposiciones de la organización, su responsabilidad en cuanto a la
seguridad informática y lo que se espera de él.
Defensa de los Ataques
La mayoría de los ataques mencionados se basan en fallo de diseño inherentes a
Internet (o sus protocolos) y a los SO utilizados, por lo que no son «solucionables»
en un plazo breve de tiempo.
La solución inmediata en cada caso es mantenerse informado sobre todos los tipos
de ataques existentes y las actualizaciones que permanentemente lanzan las
empresas de software, principalmente en SO.
Las siguientes medidas preventivas son:
1. Mantener las máquinas actualizadas y seguras físicamente.
2. Mantener personal especializado en cuestiones de seguridad.
3. Aunque una máquina no contenga información valiosa hay que tener en cuenta
que puede resulta útil para un atacante, a la hora de ser empleada en una
denegación de servicio (DoS) coordinado o para ocultar su verdadera dirección.
4. No permitir el tráfico «broadcast» desde fuera de nuestra red. De esta forma
evitamos ser empleados como «multiplicadores».
5. Auditorias de seguridad y sistemas de detección.
6. Mantenerse informado constantemente sobre cada una de las vulnerabilidades
encontradas y parches instalados. Para esto es recomendable estar subscrito a
listas que brinden este tipo de información.
7. La información continua del usuario.
Política de Seguridad Informática
Se define (RFC 1244) como «una declaración de intenciones de alto nivel que cubre
la seguridad de los sistemas informáticos y que proporciona las bases para definir y
delimitar responsabilidades para las diversas actuaciones técnicas y organizativas
que se requerirán».
La política se refleja en una serie de normas, reglamentos y protocolos a seguir
donde se definen las medidas a tomar para proteger la seguridad del sistema.
Deben tener las siguientes características:
Cubrir todos los aspectos relacionados con la seguridad.
Adecuarse a las necesidades y recursos.
Definir estrategias y criterios generales y adoptar en distintas funciones y
actividades las alternativas ante circunstancias que se puedan dar repetidas
veces.
Evaluación de Riesgos
El análisis de riesgos supone, además de calcular la posibilidad de que ocurran
cosas negativas, los siguientes puntos:
Poder obtener una evaluación económica del impacto de estos sucesos.
Tener en cuenta la probabilidad de que sucedan cada uno de los problemas
posibles.
Conocer qué se quiere proteger, dónde y cómo, asegurando que con los costes
en que se incurre se obtengan beneficios efectivos. Para ello se deberá
identificar los recursos (hardware, software, información, personal, accesorios,
etc) con que se cuenta y las amenazas a las que se está expuesto.
Los riesgos se suelen clasificar por su nivel de importancia y por la severidad de su
pérdida:
1. Estimación del riesgo de pérdida del recurso (Ri)
2. Estimación de la importancia del recurso (Ii)
Para la cuantificación del riesgo de perder un recurso, es posible asignar un valor
numérico de 0 a 10 tanto a la importancia del recurso (10 es el recurso de mayor
importancia) como al riesgo de perderlo (10 es el riesgo más alto). El riesgo del
recurso será el producto de su importancia por el riesgo de perderlo:
Luego, con la siguiente fórmula es posible calcular el riesgo general de los recursos
de la red:
Otros factores que debe considerar para el análisis de riesgo de un recurso de red
son su disponibilidad, su integración y su carácter confidencial, los cuales se pueden
incorporar a la fórmula para ser evaluados.
Identificación de una Amenaza
Una vez conocido los riesgos, los recursos que se deben proteger y como su daño o
falta pueden influir en la organización es necesario identificar cada una de las
amenazas y vulnerabilidades que pueden causar estas bajas en los recursos.
Se suele dividir las amenazas existentes según su ámbito de actuación:
Desastre del entorno (Seguridad física)
Amenazas del sistema (Seguridad lógica)
Amenazas en la red (Comunicaciones)
Amenazas de personas
Estrategia de Seguridad
Para establecer una estrategia adecuada es conveniente pensar una política de
protección en los distintos niveles que esta debe abarcar: Física, Lógica, Humana y
la interacción que existe entre estos factores.
En cada caso considerado, el plan de seguridad debe incluir tanto una estrategia
Proactiva (proteger o proceder) o de previsión de ataques para minimizar los puntos
vulnerables existentes en la directiva de seguridad y desarrollar planes de
contingencias, como una estrategia Reactiva (perseguir y procesar) posterior al
ataque que ayuda al personal de seguridad a evaluar el daño causado o a implantar
un plan de contingencia adecuado.
Auditoria y Control
Se estudiarán aparte en el último punto de este tema, dada su gran importancia.
Plan de Contingencia
Los planes de contingencia se elaboran como respuesta a la acción de los
diferentes riesgos y tienen los siguientes objetivos fundamentales:
Minimizar las interrupciones en la operación normal.
Limitar la extensión de las interrupciones y de los daños que originen
Posibilitar una vuelta al servicio rápida y sencilla
Ofrecer al personal unas normas de actuación frente a emergencias
Dotar de medios alternativos de proceso en caso de catástrofe
Para garantizar la validez del Plan y que no quede obsoleto, debe ser revisado
periódicamente. El Plan de Contingencia recoge los siguientes planes como
respuesta a los problemas:
Plan de Emergencia: normas de actuación durante o inmediatamente después
de cada fallo o daño.
Plan de Recuperación: normas para reiniciar todas las actividades del proceso
en el Centro.
Plan de Respaldo: especifica todos los elementos y procedimientos precisos
para mantener la seguridad de la información, como configuración del equipo,
comunicaciones, SO y opciones, etc.
Equipos de Respuesta a Incidencias
Es aconsejable formar un equipo de respuestas a incidencias implicado en los
trabajos del profesional de seguridad que incluye:
Desarrollo de instrucciones para controlar incidencias.
Creación del sector o determinación del responsable.
Identificación de las herramientas de software para responder a incidentes y
eventos.
Investigación y desarrollo de otras herramientas de seguridad informática.
Realización de actividades formativas y de motivación.
Realización de investigaciones acerca de virus.
Ejecución de estudios relativos a ataques al sistema.
Estos trabajos proporcionarán los conocimientos que la organización puede utilizar y
la información que hay que distribuir antes y durante los incidentes.
Una vez que el Administrador de seguridad y el equipo de respuestas a incidentes
han analizado la incidencia, el Administrador debe delegar la responsabilidad del
control de incidentes en el equipo de respuesta que será el responsable de
responder a incidentes como virus, gusanos o cualquier otro código dañino, engaños
y ataques de personal interno.
Copias de Respaldo (Backups)
El backup de archivos permite tener disponible e íntegra la información para cuando
sucedan los accidentes. Sin un backup es imposible devolver la información al
estado anterior al desastre. Es necesario realizar un análisis coste/beneficio para
determinar qué información será almacenada, espacios de almacenamiento
destinados a tal fin, la forma de realización, las estaciones de trabajo que cubrirá el
backup, etc.
Para una correcta realización y seguridad de backups se deberán tener en cuenta
estos puntos:
Se debe contar con un procedimiento de respaldo de los SO y de la información
de usuario para poder reinstalar fácilmente en caso de sufrir un accidente.
Se debe determinar el medio y las herramientas correctas para realizar las
copias, basándose en análisis de espacios, tiempos de lectura/escritura, tipos de
backup a realizar, etc.
El almacenamiento de los backups debe realizarse en locales diferentes de
donde reside la información primaria. De este modo se evita la pérdida si el
desastre alcanza a todo el edificio o local.
Se debe verificar, periódicamente la integridad de los respaldos que se están
almacenando.
Se debe contar con un procedimiento para garantizar la integridad física de los
respaldos en previsión de robos o destrucción.
Se debe contar con una política para garantizar la privacidad de la información
que se respalda en medios de almacenamiento secundarios.
Se debe contar con un procedimiento para borrar físicamente la información de
los medios de almacenamiento antes de desecharlos.
Programas Antivirus
Un antivirus es una gran BD con la huella digital de todos los virus conocidos para
identificarlos y con las pautas que más contienen los virus. Los fabricantes de
antivirus avanzan tecnológicamente en la misma medida que lo hacen los creadores
de virus. Esto sirve para combatirlos aunque no par aprevenir la creación e infección
de otros nuevos.
Las funciones presentes en un antivirus son:
Detección: Se debe poder afirmar la presencia y/o ejecución de un virus en un
ordenador. Adicionalmente puede brindar módulos de identificación, erradicación
del virus o eliminación de la entidad infectada.
Identificación de un virus: Existes diversas técnicas para realizar esta acción:
Scanning: Técnica que consiste en revisar el código de los archivos
(fundamentalmente ejecutables y documentos) en busca de pequeñas
porciones de código que puedan pertenecer a un virus almacenados en una
BD del antivirus. Su principal ventaja reside en la rápida y exacta que resulta
la identificación del virus. Sus desventajas con que brinda una solución a
posteriori y es necesario que el virus alcance un grado de dispersión
considerable para que llegue a mano de los investigadores y estos lo
incorporen a su BD lo que no es una solución definitiva.
Heurística: Búsqueda de acciones potencialmente dañinas pertenecientes a
un virus informático. No identifica con certeza al virus sino que rastrea rutinas
de alteración de información y zonas generalmente no controlada por el
usuario (Sector de arranque, FAT, etc). Su principal ventaja reside en que es
capaz de detectar virus que no han sido agregados a las BD de los antivirus.
Su desventaja radica en que puede sospechar de demasiadas cosas y el
usuario debe ser medianamente capaz de identificar falsas alarmas.
Comprobadores de Integridad. Controlan la actividad del PC señalando si algún
proceso intenta modificar sectores críticos de la misma. Su ventaja residen en la
prevención aunque a veces pueden ser vulnerados por los virus y ser
desactivados por ellos, haciendo que el usuario se crea protegido, no siendo así.
Es importante diferenciar los términos «detectar»: determinación de la presencia de
un virus e «identificar»: determinación de qué virus fue el detectado. Lo importante
es la detección del virus y luego, si es posible su identificación y erradicación.
MODELO DE UN ANTIVIRUS
Un antivirus puede estar constituido por dos módulos principales y cada uno de ellos
contener otros módulos:
Módulo de Control: Posee la técnica de verificación de Integridad que posibilita
el registro de posibles cambios en las zonas y archivos considerados de riesgo.
Módulo de Respuesta: La función de «alarma» se encuentra en todos los
antivirus y consiste en detener la ejecución de todos los programas e informar al
usuario de la posible existencia de un virus. La mayoría ofrecen la posibilidad de
su erradicación si la identificación ha sido positiva.
Herramientas de Seguridad
Cualquier herramienta de seguridad representa un arma de doble filo: de la misma
forma que un administrador las utiliza para detectar y solucionar fallos en sus
sistemas o en la subred completa, un potencial intruso las puede utilizar para
detectar esos mismos fallos y aprovecharlos para atacar los equipos. Herramientas
como NESSUS, SAINT o SATAN pasan de ser útiles a ser peligrosas cuando las
utilizan crackers que buscan información sobre las vulnerabilidades de un equipo o
de una red completa.
La conveniencia de diseñar y distribuir libremente herramientas que puedan facilitar
un ataque es un tema peliagudo; incluso expertos reconocidos como Alec Muffet
(autor del adivinador de contraseñas Crack) han recibido enormes críticas por
diseñar determinadas herramientas de seguridad para Unix. Tras numerosos
debates sobre el tema, ha quedado claro que no se puede basar la seguridad de un
sistema en el supuesto desconocimiento de sus problemas por parte de los
atacantes: esta política, denominada «Security through obscurity», se ha
demostrado inservible en múltiples ocasiones. Si los administradores no utilizan
herramientas de seguridad que muestren las debilidades de los sistemas (para
corregirlas), un atacante no va a dudar en utilizar tales herramientas (para explotar
las debilidades encontradas).
Sistemas de Protección a la Integridad y Privacidad de la
Información
Herramientas que utilizan criptografía para asegurar que la información sólo sea
visible para quien tiene autorización. Su aplicación se realiza principalmente en las
comunicaciones entre dos entidades. Dentro de este tipo de herramientas se
pueden citar Pretty Good Privacy (PGP), Secure Sockets Layer (SSL) y los
Certificados Digitales. También protocolos como Message Digest (MD5) o Secure
Hash Algorithm (SHA) tratan de asegurar que no ha habido alteraciones indeseadas
en la información que se intenta proteger.
Auditoria de Seguridad Lógica
La auditoria consiste en contar con los mecanismos para determinar qué sucede en
el sistema, qué hace cada uno y cuando lo hace. Mediante una auditoria de
seguridad informática, se pueden identificar los puntos fuertes y débiles de una
organización con respecto al manejo de la seguridad de su información y se pueden
definir claramente los pasos a seguir para lograr un perfeccionamiento de la misma.
Ventajas de una auditoria:
Mejora sustancialmente la eficiencia en la seguridad de la información.
Minimiza el riesgo de intrusión en sus sistemas, robos, uso indebido o alteración
de información, abuso de privilegios o interrupción de los servicios ofrecidos.
Elimina riesgos innecesarios.
Posibilita la toma de decisiones sobre la seguridad de sus sistemas basándose
en la información más completa.
Posibilita la definición de responsabilidades bien diferenciadas.
Brinda protección para toda la organización.
Premisas fundamentales:
El nivel de seguridad satisfactorio «ahora», es mejor que un nivel de seguridad
perfecto «a largo plazo».
Es imprescindible conocer los propios puntos débiles y evitar riesgos imposibles
de cuantificar.
Realizar y exigir auditorias periódicas mejoran la salud de los sistemas y
previenen ataques e incidentes.
En una organización la seguridad es tan fuerte como el punto más débil de la
misma, por lo tanto, interesa concentrarse (en un principio al menos) en estos
últimos.
Un 75% de las agresiones intencionadas son internas a las organizaciones.
Lo más productivo es concentrarse en amenazas factibles y conocidas.
Las áreas principales a centrarse son las siguientes:
Política de seguridad: Se necesita una política que refleje las expectativas de la
organización en materia de seguridad a fin de suministrar administración con
dirección y soporte. La política también se puede utilizar como base para el
estudio y evaluación en curso.
Organización de la seguridad: Sugiere diseñar una estructura de
administración dentro de la organización que establezca la responsabilidad de
los grupos en ciertas áreas de la seguridad y un proceso para el manejo de
respuestas ante incidentes.
Control y clasificación de los recursos de información: Necesita un
inventario de los recursos de información de la organización y con base en éste
conocimiento, debe asegurar que se brinde un nivel adecuado de protección.
Seguridad del personal: Establece la necesidad de educar e informar a los
empleados sobre lo que se espera de ellos en materia de seguridad y
confidencialidad. También determina cómo incide el papel que desempeñan los
empleados en materia de seguridad en el funcionamiento general de la
compañía. Se debe implantar un plan para reportar los eventuales incidentes.
Seguridad física y ambiental: Responde a la necesidad de proteger las áreas,
el equipo y los controles generales.
Manejo de las comunicaciones y las operaciones: Los objetivos de ésta
sección son:
Asegurar el funcionamiento correcto y seguro de las instalaciones de proceso
de datos.
Minimizar el riesgo de falla de los sistemas.
Proteger la integridad del software y la información.
Conservar la integridad y disponibilidad del procesamiento y la comunicación
de la información.
Garantizar la protección de la información en las redes y de la infraestructura
de soporte.
Evitar daños a los recursos de información e interrupciones en las actividades
de la compañía.
Evitar la pérdida, modificación o uso indebido de la información que
intercambian las organizaciones.
Control de acceso: Establece la importancia de controlar el acceso a la red y
los recursos de aplicación para proteger contra los abusos internos e intrusos
externos.
Desarrollo y mantenimiento de los sistemas: Recuerda que en toda labor de
tecnología de la información, se debe implantar y mantener la seguridad
mediante controles de seguridad en todas las etapas del proceso.
Manejo de la continuidad de la empresa: Aconseja estar preparado para
contrarrestar las interrupciones en las actividades de la empresa y para proteger
los procesos importantes de la misma en caso de un fallo grave o un suceso
fortuito.
Una auditoria de seguridad lógica debe centrarse en los siguientes aspectos:
Contraseñas de acceso.
Control de errores.
Garantías de una transmisión para que sólo sea recibida por el destinatario. Para
esto, regularmente se cambia la ruta de acceso de la información a la red.
Registros de las actividades de los usuarios en la red.
Encriptación de la información pertinente.
Si se evita la importación y exportación de datos.
Que el sistema pida el nombre de usuario y la contraseña para cada sesión:
Que en cada sesión de usuario, se revise que no accede a ningún sistema sin
autorización y que si un usuario introduce incorrectamente su clave un número
establecido de veces, su cuenta queda deshabilitada.
Si se obliga a los usuarios a cambiar su contraseña regularmente, y si las
contraseñas son mostradas en pantalla cuando se introducen.
Si por cada usuario, se da información sobre su última conexión a fin de evitar
suplantaciones.
Si el software o hardware con acceso libre está inhabilitado.
Generación de estadísticas de las tasas de errores y transmisión.
Creación de protocolos con detección de errores.
Mensajes lógicos de transmisión que han de llevar origen, fecha, hora y receptor.
Software de comunicación, que ha de tener procedimientos correctivos y de
control ante mensajes duplicados, fuera de orden, perdidos o retrasados.
Datos importantes que sólo pueden ser impresos en una impresora especificada
y ser vistos desde un terminal debidamente autorizado.
Análisis del riesgo de aplicaciones en los procesos.
Análisis de la conveniencia de cifrar los canales de transmisión entre diferentes
organizaciones.
Cifrados de los datos que viajan por internet.
Si en la LAN hay equipos con módem entonces se debe revisar el control de
seguridad asociado para impedir el acceso de equipos fuera de la red.
Existencia de políticas que prohíben la instalación de programas o equipos
personales en la red.
Inhabilitación de los accesos a servidores remotos.
Si la propia empresa genera ataques propios para probar la solidez de la red y
encontrar posibles fallos en cada una de las siguientes facetas:
Servidores = Desde dentro del servidor y de la red interna.
Servidores web.
Intranet = Desde dentro.
Firewall = Desde dentro.
Accesos del exterior y/o Internet.