Portada » Informática » Fundamentos de Ciberseguridad: Conceptos, Amenazas y Mecanismos de Protección de Sistemas TIC
La seguridad de las Tecnologías de la Información y la Comunicación (TIC) se centra en la protección de elementos mediante:
La protección abarca redes y sistemas de información frente a errores humanos, desastres naturales, fallos técnicos y ataques maliciosos.
Seguridad total = Seguridad del componente más vulnerable.
Los ataques se pueden clasificar por:
La protección dada a un sistema de información busca mantener la integridad, disponibilidad y confidencialidad de los recursos, protegiendo redes y servicios frente a modificación, destrucción o revelación no autorizadas, y garantizando que la red cumpla sus funciones correctamente.
Impedir que una entidad no autorizada conozca la existencia de datos, los examine o revele, o analice su flujo.
Asegurar que los datos no han sido modificados por una entidad no autorizada:
Es muy importante la recuperación del original.
Evitar que una entidad autorizada no pueda acceder cuando lo desee a un elemento para el que está autorizada.
Asociar una identidad a una entidad. Implica:
Esto asegura que la transmisión se produce entre entidades legítimas.
El origen de los ataques más relevantes se encuentra a menudo en debilidades del código:
Para mitigar estos riesgos, son cruciales las decisiones de diseño, las buenas prácticas de diseño y las buenas prácticas de programación.
Ocurre cuando un programa escribe datos que exceden el tamaño reservado para ellos, escribiendo en direcciones adyacentes. Esto puede provocar la corrupción de datos o una transferencia inesperada de control. Se suele localizar en la pila o en el montículo.
Causantes: Vectores, cadenas de caracteres, enteros y desajuste de tamaño entre tipos.
Prevención: Es necesario comprender la disposición de memoria, el lenguaje de programación C y la conversión entre tipos de datos.
El atacante burla la seguridad utilizando nombres equivalentes al esperado. Un ejemplo sería utilizar una contraseña en mayúsculas y minúsculas, y que ambas variaciones sean válidas.
Implica la inserción de código malicioso en un flujo de datos que es interpretado por el sistema.
El atacante fuerza al navegador del usuario a solicitar una petición a una aplicación web vulnerable, que la realiza porque cree que proviene de un usuario autorizado.
El resultado de un proceso depende de manera inesperada y crucial de la secuencia de otros procesos. Ocurre cuando programas o circuitos lógicos no han sido diseñados adecuadamente para su ejecución simultánea con otros.
Es esencial conocer la atomicidad de operaciones, macros y programas. El Sistema Operativo es fundamental en su gestión.
Se suele aprovechar la predictibilidad de los números ‘aleatorios’.
Generador de números aleatorios seguro: Aquel en el que el atacante no puede adivinar el siguiente valor a partir de valores previos.
Es un código parásito y no autorreplicante. Está oculto en un programa (anfitrión) aparentemente útil.
Realiza su función oculta cuando se ejecuta el programa anfitrión. Puede ser necesaria la interacción con el atacante para completar el ataque o conseguir el objetivo.
Es autorreplicante y parásito. Al ejecutarse, intenta (no siempre) replicarse en otro anfitrión. Si tiene éxito, lo ‘infecta’ y, cuando este se ejecute, intentará lo mismo. Puede hacer algo más o no, y según las circunstancias (carga + disparador).
Es autorreplicante e independiente. Son similares a los virus en sus estados y mecanismos de ocultación. Generalmente usa la red para expandirse y no necesita intervención humana para actuar.
Consta de dos partes:
Explota cuando se dan las condiciones del disparador. Puede ser parásito o no.
La propagación implica la adquisición de nuevos bots.
Aplicación que intenta asemejarse a otra para engañar y timar. Generalmente busca conseguir una compensación económica por su supuesto uso. A veces asusta al usuario (scareware).
Impide el acceso a un recurso hasta el pago de un rescate, mediante:
Criptovirología: El efecto de la carga del virus es irreversible para la víctima, pero reversible para el autor del virus.
Las tareas principales de los programas antivirus son:
Los métodos de detección se clasifican según si el código está en ejecución:
Utiliza una firma (secuencia de bytes que caracteriza cada código malicioso) para el escaneo (proceso de búsqueda de firmas en un archivo).
Busca trozos de código que parecen código malicioso.
Busca cambios no autorizados en archivos.
Calcula y almacena un valor de verificación para cada archivo. Más adelante (ej., antes de la ejecución) recalcula el valor y lo compara con el almacenado.
Sigue el comportamiento del programa en tiempo real. Si encuentra actividad sospechosa, puede evitar que se realice, parar el programa o preguntar al usuario qué hacer.
El código analizado se ejecuta en un entorno emulado, evitando daño real.
Para optimizar el rendimiento de los programas anti código malicioso se puede:
Hacer que el código malicioso deje de ejecutarse y replicarse. Se debe considerar que el código malicioso puede:
Se realiza para reducir falsos positivos e identificar el código malicioso de forma concluyente. Su funcionamiento se basa en recopilar toda la información posible.
Aislar el código malicioso del resto del sistema.
Métodos para restaurar el sistema:
Contiene información por registro:
El usuario puede preguntar periódicamente o el programa antivirus puede hacerlo automáticamente. El vendedor puede mandar un aviso o una actualización al usuario.
Técnicas utilizadas por el malware para evadir la detección y el análisis.
Código malicioso que intenta deshabilitar el antivirus. Examina procesos en ejecución y elimina aquellos que coinciden con la lista de procesos usados por el antivirus.
Hacer que el análisis sea difícil.
Conseguir que el desensamblaje sea difícil de automatizar:
Soslaya la monitorización. Emplea técnicas similares a las del antivirus para descubrir la monitorización. Examina el código unido a una interrupción concreta para encontrar el código original del SO (o BIOS) y ejecutarlo directamente, saltando programas residentes (incluido el monitor).
Sobrevivir o durar más que la emulación. Conseguir evadir la detección lo suficiente para que el emulador termine:
Modificar la dirección de comienzo del ejecutable. Puede ser:
Ubicar (esconder) el código malicioso donde el antivirus no mira (poco eficaz).
