Ir al contenido principal

 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 APTsAdvanced 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

Entradas populares de este blog

Uso del DBLINK para acceder a una BD remota o a una BD distribuida

La manera más sencilla de acceder desde una base de datos Oracle a tablas y vistas (views) de otra base de datos Oracle es mediante el uso de un DBLink (enlace a base de datos). No obstante, en muchos casos puede no ser recomendable la utilización de DBLinks, ya que el acceso a tablas y vistas remotas puede provocar importantes problemas de rendimiento en ambas bases de datos, tanto la remota como la local. En la mayoría de los casos estos problemas de rendimiento se deben a la imposibilidad de utilizar los índices de las tablas remotas. Los DBLinks se crean en la base de datos local utilizando el comando PL/SQL o SQL CREATE DATABASE LINK. Obviamente, el usuario que ejecute dicho comando debe tener los permisos necesarios para poder hacerlo. La sintaxis del comando SQL mencionado es como sigue: CREATE [PUBLIC] DATABASE LINK Nombre_dblink CONNECT TO Nombre_usuario INDENTIFIED BY Contraseña USING 'Cadena_conexion'; En donde: Nombre_dblink es el nombre del DBLink. ...
Configurar el Mercury/32 del Xampp para enviar correos externos Con los siguientes pasos podrás configurar tu Mercury/32 que viene con xampp para enviar emails a correos externos desde tu servidor. Iniciamos el Mercury/32 desde el panel del xampp y damos al botón Admin. Se iniciará el panel de control del Mercury/32. Vamos a Configuration/Protocol Modules y desactivamos “MercuryB HTTP web server” y “Mercury IMAP4rev1 server”. Para mandar emails a correos externos desactivamos “MercuryE SMTP end-to-end delivery client” y en cambio activamos “MercuryC SMTP relaying client”. Damos al Ok y reiniciamos el Mercury. Volvemos a la consola del Mercury y vamos a Configuration/Mercury core module y en nos ponemos en la pestaña General. En “internet name for this system” ponemos el dominio que tenemos en nuestro servidor, ya sea localhost, yo como lo oriento a la instalación del wordpress MU con buddyPress necesito poner el dominio que elegí: localhost.wordpress, pero en ge...

Prueba de video pitagoras game