Introducción a la Seguridad Informática
Definición
de seguridad informática
Una buena definición
sería: "A computer is
secure if you can depend on it and its software to behave as you expect.",
definición tomada del libro "Practical UNIX and Internet Security",
de Simson Garfinkel, Gene Spafford y Alan Schwartz. Traduciéndola más o menos
literalmente, vendría a decir que podemos afirmar que un ordenador es seguro si
podemos depender de que se comporte como esperamos.
Esta definición incluye dos aspectos básicos. Por una parte,
introduce la necesidad de poder depender de los sistemas informáticos. Y, por
otra, la noción del comportamiento esperado, que tiene dos aspectos
complementarios:
·
Lo que esperamos que haga el sistema. Por ejemplo, servir páginas
web, permitir acceso remoto al administrador...
·
Lo que esperamos que no haga.
Por ejemplo, incluir código malicioso en las páginas que sirve, permitir acceso
remoto a usuarios no autorizados...
Primeras
ideas sobre la seguridad
Antes de continuar, es necesario tener claro algunas ideas clave
sobre la seguridad de los sistemas informáticos. De forma resumida, las más
importantes son:
·
No existen sistemas completamente seguros. El objetivo es
conseguir un sistema suficientemente seguro teniendo en cuenta las necesidades
específicas de cada caso.
·
La seguridad es un proceso continuo que requiere participación
universal.
A continuación, se desarrollan estas ideas con más detalle.
No existen sistemas seguros al 100%
Efectivamente, no existen
sistemas completamente seguros. Todos los
sistemas informáticos pueden ser comprometidos o, dicho de otro modo, cualquier
sistema informático puede acabar comportándose de forma diferente a como de él
se espera.
Existen diferentes motivos
por los que se puede producir este comportamiento anómalo. Por supuesto, puede
haber fallos no intencionados del soporte físico, o hardware; del soporte
lógico, o software;
o de los propios usuarios). Los fallos pueden ser causados también por las
condiciones del entorno: temperatura excesiva, polvo en el ambiente,
vibraciones... Así mismo, pueden ocurrir accidentes naturales (incendios,
inundaciones...).
Pero lo que es necesario tener presente es que un atacante, si
tiene suficientes conocimientos y dispone los recursos que necesita, con el
tiempo adecuado siempre logrará tener éxito. Por lo tanto, hay que tener en
cuenta que el objetivo del profesional de seguridad no puede ser garantizar una
seguridad 100%, sino ayudar a alcanzar y mantener un nivel de seguridad
adecuado.
Necesidad de un compromiso
Puesto que no existe la seguridad absoluta, el objetivo debe ser
garantizar una seguridad adecuada, buscando un compromiso entre el coste de las
medidas de seguridad y los beneficios derivados de aumentar la seguridad del
sistema.
La seguridad es un proceso
La única manera de conseguir mantener un cierto nivel de
seguridad es mantener una actividad constante que incluya tres facetas
complementarias: la prevención, la detección y la reacción. Sin este proceso
continuo, las medidas de prevención irán siendo menos efectivas a medida que se
descubran nuevos errores y/o vías de ataque. Pero, además, sin un proceso
continuo de detección y reacción, las medidas preventivas resultarán poco
eficaces, ya que el atacante tendrá tiempo de irlas descubriendo y evitando una
a una.
Es necesaria la participación universal
Todas las personas de la
empresa u organización deben ser conscientes de la importancia que sus acciones
tienen para la seguridad del sistema. Lógicamente, los administradores suelen
estar especialmente concienciados de que una configuración incorrecta puede
permitir que el sistema sea comprometido. Pero igualmente importante es que los
usuarios sepan que al hacer clic sobre un adjunto pueden estar permitiendo la
entrada de programas maliciosos (malware)
en su sistema, o que al contestar a un desconocido por teléfono pueden estar
dándoles la información que necesitan para progresar en su ataque.
Requisitos
de seguridad
La palabra seguridad, incluso cuando se refiere a sistemas
informáticos, puede tener implicaciones muy diferentes en función del contexto.
Por eso, antes de avanzar en el curso resulta conveniente conocer los
diferentes requisitos relacionados con la seguridad que se exigen a los
sistemas informáticos.
Los requisitos tradicionales de la seguridad son: secreto o
confidencialidad, integridad y disponibilidad. No obstante, también es
necesario conocer otros requisitos como la autenticación, el no repudio, la
auditabilidad o la privacidad.
Secreto o confidencialidad
Consiste en evitar el acceso a la información a personas no
autorizadas. Supone, lógicamente, que las personas sin autorización no puedan
leer un documento, un correo electrónico o cualquier otro tipo de datos:
patentes industriales, secretos de estado, registros médicos... Pero también supone
evitar que se pueda saber incluso que la información existe. Por ejemplo, el
simple hecho de saber que existen registros médicos (o su número, o su
frecuencia, o sus fechas) de una persona, permite inferir información que puede
ser sensible.
Integridad
Supone garantizar que la información solamente se modifica de
forma adecuada. Es decir, que solamente realizan modificaciones los usuarios
autorizados y que las modificaciones mantienen la consistencia de la
información. Por ejemplo, que solamente quien tenga la autorización pertinente
puede modificar el saldo de una cuenta corriente; pero también que, si esta
modificación es el resultado de una transferencia, el dinero se descuenta de la
cuenta de origen y se añade en la de destino.
Disponibilidad
Requiere garantizar que
los sistemas estarán disponibles (ofreciendo el servicio esperado) para los
usuarios autorizados. Por eso, los ataques contra la disponibilidad de los
sistemas se conocen como ataques
de denegación de servicio, pues su objetivo es evitar que los
usuarios autorizados puedan utilizarlo (por ejemplo, un ataque contra un
buscador o cualquier otro servicio ofrecido a través de Internet).
Autenticación
Consiste en poder confirmar la identidad de un sujeto. El
ejemplo más habitual es la introducción de usuario y contraseña para comenzar a
utilizar sistema o servicio web.
No repudio o responsabilidad (accountability)
Supone poder confirmar que un sujeto ha realizado una acción. O,
dicho de otra forma, que un sujeto no pueda refutar con éxito que la ha
realizado.
Auditabilidad
Requiere que sea posible trazar las acciones realizadas sobre un
objeto. Eso supone que queden registradas todas las operaciones que se
realicen.
Privacidad
Aunque está relacionada con la confidencialidad, consiste en
poder decidir qué información se comparte y con quién, algo especialmente
relevante a la hora de usar servicios de Internet.
Vulnerabilidades
Se puede definir una vulnerabilidad como
una debilidad en el sistema. Es decir, algún punto débil que, si alguien lo
encuentra, puede ser usado para conseguir que el sistema se comporte de forma
diferente a la esperada. Las vulnerabiliades pueden existir tanto en los
procedimientos, como en el diseño y la implementación.
Vulnerabilidades en los procedimientos
Son puntos débiles en los procedimientos (no necesariamente
informáticos) que se utilizan en el trabajo (empresas, organizaciones) o en la vida
personal. Por ejemplo, que el procedimiento en una empresa para recuperar
una contraseña olvidada sea llamar por teléfono.
Un atacante podría aprovechar este procedimiento para conseguir
establecer una contraseña de su elección en una de las cuentas. El ataque será
más o menos sencillo en función de detalles del procedimiento tales como si es
necesario usar un teléfono corporativo o está permitido llamar desde cualquier
número, si se conocen todos en la empresa, o si se solicita algún mecanismo de
identificación adicional.
Vulnerabilidades en el diseño
Son puntos débiles del diseño del sistema. Por ejemplo, un
sistema puede estar diseñado para usar contraseñas de un máximo de 8
caracteres.
En este caso el atacante puede aprovechar este hecho para tratar
de adivinar la contraseña o para probar todas las contraseñas posibles (ataque
por fuerza bruta). El ataque será más o menos sencillo en función de cómo
se eligen las contraseñas (para tratar de adivinarla) o de la velocidad
con la que sea posible probar contraseñas (fuerza bruta).
Vulnerabilidades en la implementación
Aparecen cuando los puntos débiles se deben a que la
implementación no se ajusta al diseño. Por ejemplo, el diseño permite
contraseñas de longitud arbitraria, pero la implementación solamente almacena
los primeros 8 caracteres, bien por limitaciones de los componentes utilizados,
bien por un fallo de implementación.
Amenazas
Se puede definir amenaza como el
conjunto de circunstancias que puede causar un comportamiento no deseado del
sistema. Las amenazas son peligrosas en tanto en cuanto existen punto débiles
(vulnerabilidades) que permiten que se produzca el daño (comportamiento no
esperado del sistema). Los dos principales tipos de amenaza son las naturales y
las humanas.
Amenazas debidas a causas naturales
Lógicamente, los fenómenos naturales como fuegos, inundaciones o
terremotos pueden causar comportamientos no deseados de los sistemas. Por este
motivo, los sistemas críticos suelen estar replicados y distantes entre sí, para
reducir al máximo las interrupciones del servicio.
Otras causas naturales son menos llamativas, pero pueden ser
igual de efectivas a la hora de causar daño. Por ejemplo, ordenadores
funcionando en salas con polvo, temperatura excesiva o vibraciones fallarán con
mayor facilidad que los que trabajan en entornos más favorables.
Amenazas debidas a las personas
En esta categoría entran tanto las causas involuntarias como
voluntarias, tanto de personal de la organización como externa a ella.
Las involuntarias se
deben habitualmente a errores en el trabajo con los sistemas informáticos (por
ejemplo, un administrador de sistemas que realiza un borrado recursivo por
error) como errores al usar los servicios ofrecidos (por ejemplo, un usuario
que da de baja su cuenta por error).
En cambio, las voluntarias hacen
referencia a personas que tienen interés en provocar que los sistemas
informáticos se comporten de forma diferente a la prevista. En este caso, se
trata de actividades maliciosas que tienen el carácter de ataque al
sistema. En función de quién realice el ataque, se habla de amenazas
internas o externas.
Las amenazas internas se deben a
personal interno o a posibles ataques lazados desde dentro de la organización.
A este grupo corresponden las amenazas debidas a personal resentido con la
empresa (por ejemplo, a causa de un despido) o que haya podido ser sobornado o
coaccionado a realizar actividades maliciosas. Estas personas disponen de
conocimiento del funcionamiento interno de los sistemas y, muchas veces, de
acceso autorizado al sistema. También pertenecen a este grupo las amenazas de
posibles ataques que se lancen desde dentro de la empresa. Evidentemente,
pueden ser debidos a usuarios autorizados con comportamiento malicioso (grupo
anterior). No obstante, esta participación no es imprescindible. En
efecto, un ordenador corporativo puede haber sido comprometido sin
participación ni conocimiento de su dueño (por ejemplo, por haber visitado un
sitio web ya comprometido, por abrir un adjunto de correo electrónico...). A
esta categoría pertenecería también el uso de dispositivos propios en el
entorno corporativo (BYOD, bring
your own device).
Las amenazas externas se
corresponden con posibles ataques lanzados desde fuera de la empresa u
organización. Evidentemente, ataques que inicialmente son externos pueden
convertirse en internos en cuanto consiguen control de cualquier sistema
corporativo, especialmente de aquéllos menos protegidos (por que se considera
que al no ofrecer servicios o no disponer de información sensible no serán
objeto de ataque).
Independientemente de si
son internas o externas, es interesante también distinguir entre amenazas
aleatorias y dirigidas. Las amenazas dirigidas son las que tienen un
objetivo específico. Por ejemplo, una persona o empresa en particular.
Normalmente, los ataques asociados suelen tener una mayor preparación previa y
contar con más recursos. En cambio, las aleatorias son aquéllas que se lanzan
en busca de sistemas vulnerables, realizando barridos a través de redes enteras
(incluso a toda Internet). Normalmente este tipo de ataques tiene como objetivo
tomar control de sistemas poco protegidos como paso previo para la realización
de otro tipo de actividades maliciosas. Estos sistemas intermedios pueden ser agregados
en grandes redes (botnets)
controladas remotamente para realizar ataques masivos (DDOS, ataque por fuerza
bruta a contraseñas, captura de credenciales bancarias...). Además, estos
sistemas intermedios siven para dificultar la identificación del origen real de
los ataques.
Tipos de
ataques y atacantes
Dento de las amenazas con origen malicioso, conviene continuar
la tarea de clasificación para conocer mejor a qué se enfrentan los sistemas.
En este sentido, se distinguen entre diferentes tipos de ataques y de
atacantes.
Atacante humano frente a ataque automatizado
Uno de los aspectos importantes a tener en cuenta es que, cada
vez más, los ataques son, en gran medida, automatizados. Es decir, no los
realiza una persona de forma interactiva, paso a paso, a ritmo humano. Al
contrario, los ataques son lanzados mediante programas que trabajan al ritmo
que permiten los ordenadores. Esto significa que la reacción tiene que ser
también automática, pues desde que se encuentra una vulnerabilidad hasta que el
sistema ha sido completamente comprometido pueden pasar unas pocas décimas de
segundo.
Incluso en los ataques iniciados por una persona que prueba
inicialmente el sistema y, en función de lo que encuentra continúa avanzando,
el atacante tendrá habitualmente preparados programas para lanzar en el momento
adecuado para evitar ser detectado o ser expulsado del sistema antes de haberse
garantizado acceso continuado al sistema (por ejemplo, mediante la instalación
de puertas traseras y/o troyanos).
Frecuencia, severidad y APTs
Otro aspecto relevante es
la frecuencia con la que se pueden esperar los ataques y la intensidad de los
esfuerzos tras dichos ataques. Los ataques más frecuentes son los no
dirigidos, que continuamente exploran las redes en busca de sistemas poco
protegidos (low hanging fruit,
como se dice en inglés). No obstante, la intensidad de los ataques no hace sino
aumentar, ya que los beneficios económicos detrás de ataques con éxito dependen
de la importancia de los sistemas y, como ya se ha discutido, la información
que los sistemas manejan es cada vez mayor y más sensible, la dependencia de
los sitemas es también cada vez mayor y, cada vez más, incluyen instalaciones y
servicios críticos (electricidad, agua, transportes, instalaciones
industriales...).
Es precisamente este
aumento del número de sistemas interconectados y de su importancia estratégica
para personas, empresas, organizaciones, estados..., lo que ha causado la
aparición de lo que se han denominado APTs, Advanced Persistent Threats,
o, en castellano, Amenazas Avanzadas Persistentes. Las APTs se caracterizan por
corresponderse con ataques avanzados.
Es decir, con gran cantidad de recursos, con un elevado nivel de
sofistificación y de conocimiento y claramente dirigidos a un cierto objetivo. Pero,
al mismo tiempo, con un interés en permanecer ocultos, pasando inadvertidos, de
forma que se pueda mantener la actividad en los sistemas comprometidos durante
meses o años, sin ser descubiertos. Esto hace de ellos ataques persistentes, claramente
relacionados con objetivos a largo plazo, muchas veces relacionados con el
espionaje (industrial, económico, de personas o estados...).
Tipos de atacantes
Sin tratar de ser exahustivos, los atacantes pueden ser:
·
Individuos. Inicialmente,
la mayor parte de ataques tenía su origen en individuos que simplemente tenían
curiosidad y ganas de aprender, o que lo hacían por diversión o desafío. Hoy en
día, la presión económica (hay gente dispuesta a pagar a las personas con estas
habilidades) hace que la mayor parte de ataques tengan una motivación económica
o de venganza, pues ya nadie considera como inocuas o loables este tipo de
actvidades.
·
Grupos de personas. De
forma similar a los atacantes individuales, pero más o menos organizados,
muchas veces con financiación externa.
·
El crimen organizado. La
rentabilidad económica de los ciberataques, junto con la dificultad que tienen
las fuerzas del orden para perseguir internacionalmente estas actividades, hace
que muchas organizaciones criminales opten por incluir la ciberdelincuencia
entre sus fuentes de ingreso.
·
Terroristas. La
dependencia cada vez mayor de sistemas informáticos y la posibilidad de,
mediante ciberataques, causar daño o terror (apagones, accidentes de todo
tipo...), hace que los terroristas comiencen a optar por esta vía de actuación.
·
Estados. También
los estados están involucrados cada vez más abiertamente en actividades de
ciberespionaje, ciberataque y ciberdefensa.
Riesgo
Para establecer el nivel de seguridad adecuado para un sistema,
es necesario hacer una estimación del riesgo al que debe hacer frente. Aunque
la estimación de riesgos queda fuera de los objetivos de este curso, de forma
informal, resulta útil definir el riesgo como una función de cuatro elementos:
vulnerabilidades, amenazas, probabilidad e impacto.
·
Vulnerabilidades. Un
análisis de vulnerabilidades es la base para conocer los puntos débiles del
sistema y, por tanto, un factor esencial a la hora de calcular el riesgo. Hay
que tener en cuenta que continuamente se descubren vulnerabilidades en las
aplicaciones, protocolos y sistemas que se utilizan, por lo que es necesaria
una actualización periódica.
·
Amenazas.
Dependiendo de la función del sistema, de la información que gestiona y de la
activiadad de la empresa u organización, será necesario estimar qué tipo de
amenazas son de aplicación a cada caso concreto.
·
Probabilidad. Es
la probabilidad de que las vulnerabilidades sean explotadas en la práctica.
Esta probabilidad será mayor cuanto más fácilmente explotable sea una
vulnerabilidad, pero también cuanto mayor sea el nivel de amenaza.
·
Impacto. En
caso de que un ataque tenga éxito, ¿qué consecuencias tendría? Es conveniente
destacar que es fácil subestimar el impacto, pues es necesario tener en cuenta
todos los posibles efectos perniciosos que un ataque puede causar (interrupción
total o parcial de la actividad de la empresa, clientes insatisfechos, pérdida
de credibilidad, pérdida de oportunidades...).
Aunque están claramente relacionadas con los cuatro factores que se acaba de
discutir, resulta útil tener en cuenta los siguientes aspectos adicionales:
·
Todos los sistemas están bajo amenaza. Como ya se ha discutido,
aunque no sean un objetivo en sí mismo, cualquier sistema es útil para algún
tipo de atacante. A modo de ejemplo, se pueden usar para incluirlo en botnets, para ocultar el
origen real de un posterior ataque o como paso previo para un ataque mayor.
·
Pueden, y probablemente existirán, vulnerabilidades que
solamente conoce el atacante (vulnerabilidades
de día cero). Estas vulnerabilidades tienen su propio mercado
negro y se mantienen ocultas hasta que son utilizadas.
·
La probabilidad de sufrir un ataque es, probablemente, mayor que
la estimada. (Ver los dos ítems anteriores).
·
El impacto será, probablemente, mayor de lo estimado.
Lección
3: La seguridad como un proceso
El
proceso de la seguridad
"La seguridad es un
proceso". Esta frase, acuñada por Bruce Schneier hace unos años,
sigue teniendo plena vigencia hoy en día. Tal y como se vio al introducir el
concepto de seguridad, mantener un cierto nivel de seguridad exige,
efectivamente, un proceso continuo de mejora que incluya las siguientes fases:
análisis, prevención, detección y respuesta. Estas etapas son complementarias
entre sí y, realizadas adecuadamente crean un círculo virtuoso que permite
mantener la seguridad a lo largo del tiempo.
La primera etapa, el análisis de riesgos, ya ha sido analizada
en el apartado anterior y, como allí se discutía, el nivel de riesgo cambia con
el tiempo. Efectivamente, continuamente se descubren nuevas vulnerabilidades en
los sistemas y también cambian las amenazas, normalmente porque aparecen nuevas
amenazas o porque se hacen más intensas las ya existentes. Además, las empresas
y organizaciones tampoco pueden mantenerse estáticas: cambian sus mercados, sus
productos, sus servicios, sus objetivos... Todo ello hace que también cambien
el impacto y la probabilidad; y, por tanto, también lo hace el riesgo.
Las otras tres etapas son las que, realizadas de forma adecuada,
permitirán detectar los intentos de intrusión y reaccionar ante ellos
minimizando el impacto, al mismo tiempo que se aprende y se mejoran los
mecanismos y procedimientos relacionados con la seguridad, tal y como se
discute en los apartados siguientes.
Prevención
En esta fase se realizan dos tareas complementarias. Por una
parte, se debe configurar adecuadamente el sistema para protegerlo frente a los
ataques conocidos. Por otra, se debe preparar al sistema para detectar y
responder frente a los ataques que se producirán.
Configuración adecuada del sistema
Supone configurar el sistema para que se comporte exactamente
como de él se espera. Tal y como se explicó al definir la seguridad
informática, esto tiene dos vertientes: que el sistema ofrezca los servicios
que de él se espera y que, por otra parte, no pueda ser utilizado para otros
propósitos (como obtener información no autorizada o atacar a terceros). Para
ello es conveniente seguir las recomendaciones de buenas prácticas existentes.
Las recomendaciones más habituales son:
Instalar versiones recientes de software
Es recomendable instalar versiones recientes del software.
Efectivamente, cuando se descubren nuevas vulnerabilidades, éstas se
corrigen en las versiones posteriores del software. Por tanto, las versiones
antiguas suelen incluir más vulnerabilidades que las recientes.
No obstante, cuando se añade nueva funcionalidad o se realizan
cambios significativos en un sistema, es habitual que se introduzcan nuevas
vulnerabilidades. Por este motivo, en sistemas en los que se desee mantener un
elevado nivel de seguridad conviene esperar un tiempo antes de desplegar
versiones con cambios significativos.
Instalar los parches disponibles
En muchos casos, cuando se descubren nuevas vulnerabilidades,
éstas se solucionan realizando pequeños cambios sobre las versiones recientes
del software. Estos cambios reciben el nombre de parches y es recomendable
instalarlos lo antes posible, pues una vez se publica una vulnerabilidad se
abre una ventana de tiempo en la que los sistemas tienen una elevada
probabilidad de ser atacados.
Si bien es cierto que, a veces, los parches pueden provocar a su
vez problemas, en general, es recomendable su aplicación inmediata. En el caso
de sistemas críticos, se recomienda aplicar primero los cambios en el entorno
de desarrollo, para detectar estos posibles problemas antes de aplicar los
parches al sistema de producción.
Instalar la mínima cantidad de software posible
Esta recomendación es, quizá, la que más autocontrol exige, ya
que los sistemas actuales incluyen espacio de sobra para hacer una
"instalación completa" y así, de paso, tener el sistema preparado
para el futuro, por si hay que dotarle de más funcionalidad. Sin embargo, hacer
una "instalación mínima" tiene múltiples ventajas:
·
El mantenimiento del sistema es más sencillo, porque es
necesario actualizar menos componentes.
·
Tener software instalado supone un riesgo, especialmente
software que requiere privilegios elevados para su ejecución. Una
vulnerabilidad en un componente instalado, aunque no esté en ejecución, puede
ser usada para escalar privilegios.
·
Resulta más sencillo (y rápido) detectar cambios en el sistema,
ya que hay menos elementos que comprobar.
·
En caso de ser comprometido el sistema, el atacante dispone de
menos herramientas para causar daño. Por ejemplo, si no hay herramientas de
desarrollo y necesita compilar un programa deberá instalarlas primero. Esto
supone una ventana de tiempo adicional en la que la intrusión puede ser
detectada y tratada. Además, el propio hecho de descargar software adicional
puede hacer saltar una alarma que, de otra forma, no hubiera saltado.
Preparación para
la detección y tratamiento de intrusiones
Hoy en día, hay que contar que todos los sistemas serán
atacados. Además, ya se ha justificado que no existen sistemas 100% seguros.
Por lo tanto, antes de conectar nuestro sistema a la red es necesario
prepararlo para cuando sea atacado.
Caracterización del sistema
Una de las tareas fundamentales es caracterizar el sistema para
ser capaces de reconocer ataques o problemas nuevos o inesperados. Para ello es
necesario:
·
Definir el comportamiento esperado con precisión suficiente como
para que sea posible detectar desviaciones significativas.
·
Identificar la información necesaria para detectar las intrusiones
y poder averiguar cómo se producen.
·
Seleccionar, instalar y configurar los mecanismos de
recopilación de información (por ejemplo, registros de actividad).
Herramientas de respuesta
Otra tarea fundamental es dotar al sistema de las herramientas
adecuadas para el tratamiento de las intrusiones. Esto supone seleccionar,
instalar y comprender las herramientas de respuesta. Aunque se pueda pensar
otra cosa, el momento adecuado para la preparación de estas herramientas es
antes de el sistema sea atacado, cuando hay tiempo para reflexionar, analizar y
planficar. De esta forma será posible contener el daño y responder en el menor
plazo de tiempo posible.
Procedimientos de actuación
Al igual que con las herramientas de detección y respuesta, los
procedimientos para la detección y el tratamiento de incidentes deben ser
definidos a priori, de forma que los implicados los conozcan, los comprendan y,
por tanto, puedan aplicarlos con rapidez y eficacia llegado el caso.
Detección
Esta fase comienza cuando el sistema se pone "en
producción", es decir, cuando comienza a realizar su tarea. Aunque desde
el punto de vista del usuario comienza la vida útil del sistema, desde el punto
de vista de la seguridad es la fase del proceso continuo en la que se
monitoriza el comportamiento del sistema y se analiza si es necesario realizar
cambios.
Monitorización
El objetivo de esta actividad es poder detectar los ataques que
se produzcan para poder reaccionar a tiempo. En el mejor de los casos, las
medidas preventivas serán suficientes para evitar que el ataque tenga éxito.
Cuando no es así, la monitorización permitirá detectar y tratar la intrusión lo
antes posible, limitando así el daño causado.
Esta actividad presenta, además, ventajas adicionales, ya que
permite detectar todo tipo de situación anómalas, como sistemas de ficheros que
están cerca de llenarse, discos que están a punto de fallar, fallos de
configuración de las aplicaciones, saturación de las redes...
Necesidad de cambios
Durante el funcionamiento normal del sistema, incluso cuando no
hay ataques con éxito, es necesario muchas veces realizar cambios en el
sistema. Algunos ejemplos son:
·
Avisos externos de
vulnerabilidades. Cuando se descubre una vulnerabilidad,
las listas especializadas (CVE, CERTs...) lanzan avisos de seguridad.
Incluso antes de que haya parches que resuelvan la debilidad, puede ser
necesario tomar medidas para mitigar el riesgo, como ajustar la configuración o
aumentar las restricciones de acceso temporalmente.
·
Disponibilidad de nuevos parches. Como
ya se ha comentado, es recomendable aplicar los parches lo antes posible,
siempre previendo la posibilidad de efectos secundarios.
·
Disponibilidad de nuevas
versiones de software. Con el tiempo, será necesario
planificar el cambio a versiones con mayor funcionalidad para poder ofrecer un
mejor servicio a los usuarios. Aunque ya se ha discutido el riesgo implicado,
llegará el momento en el que los beneficios justifiquen el cambio.
·
Cambios en los requisitos del
sistema. Lógicamente será necesario adaptar el sistema a las nuevas
necesidades de clientes, o a los nuevos objetivos que se marque la empresa u
organización.
Respuesta
Una
vez se detecta una intrusión, es necesario reaccionar rápidamente para
recuperar el funcionamiento normal del sistema. Una vez conseguido, sin
embargo, no debe finalizar en este punto el tratamiento del incidente, sino que
se debe identificar lo aprendido para mejorar.
Recuperar el
funcionamiento normal del sistema
Esta
fase es la de las urgencias, pues se tiene un sistema en el que no se puede
confiar. La rapidez y efectividad con que pueda ser tratado el incidente
depende, sobre todo, de la fase de prevención y, en particular, de las
herramientas y procedimientos que se hayan previsto para el tratamiento de
incidentes. Los pasos principales son los siguientes:
·
Establecer el alcance del daño. Es
necesario averiguar qué elementos del sistema han sido comprometidos y en
cuáles se puede confiar todavía.
·
Contener los efectos. Es
decir, evitar que el daño se propague. Por ejemplo, evitar que el intruso pueda
escalar privilegios y llegar a ser administrador, que pueda comprometer otros
sistemas...
·
Eliminar la posibilidad de nuevas
intrusiones. Usando las herramientas y la información disponible
(registros de sistema, trazas de red...), averiguar cómo se ha producido la
intrusión y cómo evitar que se vuelva a producir, asegurándose además de que el
atacante no ha dejado tras de sí puertas traseras u otros mecanismos de control
del sistema.
·
Devolver el sistema a su
funcionamiento normal. Tras cerrar las vulnerabilidades que
han sido explotadas, será necesario usar copias de seguridad o los mecanismos
establecidos para volver al comportamiento esperado del sistema.
Aprovechar
para mejorar
Una
vez recuperado el funcionamiento normal del sistema hay tiempo para realizar
una reflexión más profunda sobre el incidente, identificar lo aprendido y
usarlo para mejorar la seguridad del sistema. En esta fase final del
tratamiento del incidente sería recomendable:
·
Comunicarse con otros
afectados. Esto permite obtener información complementaria y saber
más sobre lo que realmente ha ocurrido. Por ejemplo, ¿ha sido un ataque
dirigido exclusivamente contra una organización?, ¿se ha utilizado en todos los
nodos las mismas vías de entrada?
·
Reunirse para identificar lo
aprendido. Realizar una puesta en común dentro de la organización
para correlar diferentes fuentes de información, tales como el administrador de
sistemas, el de base de datos, el del servidor de aplicaciones... De esta forma
será posible dejar por escrito qué es lo que ocurrió exactamente, qué se hizo
para tratar el incidente y qué se podría haber hecho mejor.
·
Actualizar el análisis de
riesgos, las políticas y los procedimientos. A
partir de lo aprendido, es posible se puedan mejorar aspectos como la
estimación del riesgo, la política de seguridad y los procedimientos para
aplicarla y comprobar que se cumple.
·
Actualizar la configuración de
las herramientas y/o seleccionar herramientas nuevas. A
partir de lo ocurrido y de los cambios en políticas y procedimientos será
necesario mejorar las medidas preventivas y de tratamiento de incidentes.
Comentarios
Publicar un comentario