Amenazas a la Ciberseguridad PDF
Document Details

Uploaded by ChivalrousPlutonium8456
Universidad Politécnica de Madrid
Tags
Summary
Este documento presenta una visión general de las amenazas a la ciberseguridad. Explora diferentes tipos de ataques, como la ejecución de malware y la ingeniería social, así como las consecuencias de estos ataques a sistemas informáticos. Los lectores pueden encontrar información sobre malware, tipos de ataques y herramientas de defensa.
Full Transcript
Amenazas a la Ciberseguridad Hackers ? Hacker: neologismo utilizado para referirse a un experto en ramas técnicas relacionadas con la informática (programación, redes, sistemas operativos) Cracker (criminal hacker): Creadores de programas (cracks) que permiten modificar el funcionamient...
Amenazas a la Ciberseguridad Hackers ? Hacker: neologismo utilizado para referirse a un experto en ramas técnicas relacionadas con la informática (programación, redes, sistemas operativos) Cracker (criminal hacker): Creadores de programas (cracks) que permiten modificar el funcionamiento de un software o hardware Usuarios que utilizan estos cracks para realizar intrusiones a sistemas (también: lamer, newbie..) Perfiles del Atacante CiberMalicia CiberActivismo CiberCrimen CiberTerrorismo CiberEspionaje CiberGuerra Ataques Ciberataques que Actividades Convergencia Explotación Operaciones arbitrarios de tratan de influir criminales del ciberespacio paciente, cibernéticas con aficionados, en la opinión y/o con el fin de y del terrorismo, persistente y el fin de destruir causando reputación de las obtener causando creativa para o degradar las molestias y organizaciones, beneficios perdida de vidas conseguir ventajas infraestructuras daños menores afiliaciones o económicos o graves daños estratégicas en los de un país causas específicas económicos ámbitos económicos, políticos y militar ¿Cómo lo hacen? Amenazas tecnológicas: ataques que se aprovechan de fallos de los programas Amenazas humanas: ataques que se aprovechan de fallos de las personas. PERSONAS: el eslabón más débil. Los 7 principios de la persuasión Desconocimiento técnico Tendencia a confiar Miedo a meterse en problemas. “Amateurs hack systems, professionals hack people” (Bruce Schenier) “No matter how smart or well-educated you are, you can be deceived” (James Randi) Amenazas Objetivo Atacante Empleado Internet Cortafuegos Servidor Amenaza Tecnológica Amenazas Humanas Técnicas de Ingeniería Social: Con presencia física: Engaños presenciales (pretextos, desvío de envíos…) Rebuscar en la basura (dumpster diving) Pisar los talones (tailgating) Mirar por encima del hombro (shoulder surfing) Por teléfono / fax / envío postal / etc. A través de Internet Ejecución de programas maliciosos (malware) Revelación de secretos Búsqueda de información en Internet Ingeniería Social Con presencia física (I): Engaños presenciales Pretexto: el atacante inventa un escenario para embaucar al atacado y que revele información confidencial Impersonación de autoridades, periodistas, etc. Uso también por teléfono, e-mail. Desvío de envíos: engaño a empresas de transporte para que modifiquen el sitio de entrega de mercancía Baiting: “olvido” de CDs, DVDs, USBs en la cercanía de las organizaciones (video). Rebuscar en la basura (dumpster diving) Datos confidenciales, números de cuentas corriente, etc. Ejemplos cercanos: Supermercados Sánchez-Romero, Hospital Puerta de Hierro Ingeniería Social Con presencia física (II): Pisar los talones (tailgating) Atravesar un control de acceso pegado a otra persona Mirar por encima del hombro (shoulder surfing) Un problema de educación! Ingeniería Social Por teléfono / fax / envíos postales Técnicas de pretexto: generación de falsos escenarios para engañar a la víctima Muy utilizado: llamada de teléfono simulando ser un operador del departamento de informática Por Internet: lo más utilizado actualmente Objetivos: Que la víctima ejecute un programa malicioso (malware) Un adjunto de un correo electrónico Un programa descargado por web Un programa transmitido por redes sociales o mensajería instantanea. Que la víctima revela información confidencial Ejecución de malware Por correo electrónico enviando el malware como adjunto Los programas actuales bloquean adjuntos de tipo ejecutables Envío como ejecutables comprimidos (zip, rar), salvapantallas (.scr), etc. Envío como PDFs dañinos, que atacan versiones no actualizadas de Adobe Es uno de los más problemáticos ya que es díficil de detectar: así atacaron a Google desde China. Es necesario “engañar” al usuario para que confíe en el mensaje y lo ejecute. Correos Electrónicos maliciosos Ejecución de malware Mediante enlaces web a archivos descargables. Engaño necesario para que el usuario los descargue y los ejecute Insertados en servidores web, anuncios, y correos electrónicos Navegación web por servidores maliciosos (si tu navegador es vulnerable) Enlaces maliciosos Revelación de secretos Usualmente por correo electrónico Solicitud directa de información confidencial Enlace a servidor web falso que solicita la información confidencial (phishing) Engaño al usuario: Es necesario hacerle creer que la solicitud es legítima Uso de logos/apariencia de las páginas igual que los reales Solicitan contraseñas / números de tarjetas de crédito / etc… Revelación de secretos Búsqueda de Información: OSINT Datos publicados en redes sociales: Instagram TikTok Twitter / X Linkedin Cuanto más se pueda saber de ti, Facebook, etc. más ventaja tendrá el atacante Metadatos en documentos online para lograr engañarte Información publicada en foros y grupos Actualizaciones de situación: Foursquare, Twitter CVs con datos personales accesibles BOE / BORME / BOCAM / … OJO: ¡Fugas de datos en ataques a empresas! Amenazas Tecnológicas ¿Cómo puede alguien en Internet entrar en mis sistemas? Igual que en mi casa: Por la puerta, si me roban o falsifican la llave Por las ventanas, rompiendo el cristal. Las “ventanas” que se pueden romper: los programas que usamos en nuestra conexión a Internet Aplicaciones: navegador, correo electrónico, programas para descargar, clientes streaming, etc. Servidores Internet: parte del sistema operativo Problema: vulnerabilidades del software Los fabricantes las resuelven. Pero… el usuario debe actualizar Amenazas Tecnológicas Vulnerabilidades del Software o de configuraciones Ataque: acceso explotando dichas vulnerabilidades En servidores: permiten explotación en cualquier momento En clientes: se necesita interacción con el usuario para explotarlo: Pueden permitir: RCE: Remote Command Execution DoS: Denial of Service Acceso a recursos del sistema (memoria, disco, etc.) OWASP Top 10 (2017) A1:2017-Injection Injection flaws, such as SQL, NoSQL, OS, and LDAP injection. A2:2017-Broken Authentication Application functions related to authentication and session management are often implemented incorrectly, allowing attackers to compromise passwords, keys, or session tokens. A3:2017-Sensitive Data Many web applications and APIs do not properly protect sensitive data, such as Exposure financial, healthcare, etc. A4:2017-XML External Entities Many older or poorly configured XML processors evaluate external entity references (XXE) within XML documents. A5:2017-Broken Access Control Restrictions on what authenticated users are allowed to do are often not properly enforced A6:2017-Security Security misconfiguration is the most commonly seen issue Misconfiguration A7:2017-Cross-Site Scripting XSS flaws occur whenever an application includes untrusted data in a new web page (XSS) without proper validation or escaping A8:2017-Insecure Insecure deserialization often leads to remote code execution Deserialization A9:2017-Using Components Components, such as libraries, frameworks, and other software modules, run with the with Known Vulnerabilities same privileges as the application. A10:2017-Insufficient Insufficient logging and monitoring, coupled with missing or ineffective integration with Logging&Monitoring incident response CWE Top 25 (2020) Rank ID Name Score CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') 46.82 CWE-787 Out-of-bounds Write 46.17 CWE-20 Improper Input Validation 33.47 CWE-125 Out-of-bounds Read 26.50 CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer 23.73 CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') 20.69 CWE-200 Exposure of Sensitive Information to an Unauthorized Actor 19.16 CWE-416 Use After Free 18.87 CWE-352 Cross-Site Request Forgery (CSRF) 17.29 CWE-78 Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') 16.44 CWE-190 Integer Overflow or Wraparound 15.81 CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') 13.67 CWE-476 NULL Pointer Dereference 8.35 CWE-287 Improper Authentication 8.17 CWE-434 Unrestricted Upload of File with Dangerous Type 7.38 CWE-732 Incorrect Permission Assignment for Critical Resource 6.95 CWE-94 Improper Control of Generation of Code ('Code Injection') 6.53 CWE-522 Insufficiently Protected Credentials 5.49 CWE-611 Improper Restriction of XML External Entity Reference 5.33 CWE-798 Use of Hard-coded Credentials 5.19 CWE-502 Deserialization of Untrusted Data 4.93 CWE-269 Improper Privilege Management 4.87 CWE-400 Uncontrolled Resource Consumption 4.14 CWE-306 Missing Authentication for Critical Function 3.85 CWE-862 Missing Authorization 3.77 Vulnerabilidades del Software de Servidores Buffer Overflow. Funcionamiento: Forzar el desbordamiento de un buffer a la pila del sistema Sobrescribir la dirección de retorno de una función a otro sitio Cuando la función retorna, saltará a la nueva dirección y puede ejecutar código malicioso Si se está ejecutando como administrador, el atacante gana sus privilegios. Causa: Los límites de los buffer no son comprobados a menudo en los programas Buffer Overflow PILA / STACK 0x0WXYZ X Servidor x x procesa x listen x x x x x x TCP / UDP IP Subred x x x x x x x x x x x x x x Buffer Overflow int getValueFromArray(int *array, int len, int index) { void int value; host_lookup(char *user_supplied_addr){struct hostent *hp; in_addr_t *addr; char // check that the array index is less than the maximum hostname; in_addr_t inet_addr(const char *cp); // length of the array // range of values for the array if (index // get the value at the specified index of the array value = array[index]; validate_addr_form(user_supplied_addr); addr }= inet_addr(user_supplied_addr); hp = // if array index gethostbyaddr( is invalid addr, then output sizeof(struct errorAF_INET); in_addr), message strcpy(hostname, hp->h_name); } // and return value indicating error else {printf("Value is: %d\n", array[index]); value = -1; } return value; } Vulnerabilidades del Software de Servidores Comprobación de argumentos inadecuada Numeric Overflow: Se proporcionan valores en rangos no esperados Muchos programas no comprueban si el valor está dentro del rango adecuado Muchos otros: SQL Injection, etc. SELECT * FROM users WHERE Email=‘$email’ AND Password=‘$password’; Email = “’ OR 1=1 --” Password = “A” SELECT * FROM users WHERE Email=‘’ OR 1=1 --’ AND Password=‘A’; Vulnerabilidades del Software de Servidores XSS: Cross Site Scripting Improper Neutralization of Input During Web Page Generation $username = $_GET['username']; echo ' Welcome, '. $username. ''; http://trustedSite.example.com/welcome.php?username=victor http://trustedSite.example.com/welcome.php?username= alert("You've been attacked!"); http://trustedSite.example.com/welcome.php?username=Please Login:Username: Password: Vulnerabilidades del Software de Servidores Race Conditions: Deadlock Conditions: Múltiples copias del programa ejecutándose a la vez Acceden a los mismos ficheros que pueden ser modificados maliciosamente Sequence Conditions: Un programa puede ser interrumpido entre dos operaciones para ejecutar código malicioso. Vulnerabilidades del Software Ejemplos famosos: 1988: Internet Worm. Fallo del servidor de correo electrónico: permitía acceso como administrador Fallos en servidores WWW: Red Code, etc... Defensa: Activar solo los servidores realmente necesarios Conocer las vulnerabilidades Actualización constante de los programas utilizados en un ordenador Aun así, hay riesgo de tener fallos que no han sido todavía corregidos con actualizaciones: ataques 0-day Nuevas propuestas: DEP: Se basa en marcar las zonas de memoria que pueden contener código ejecutable ASLR: Aleatorización del espacio de direcciones para no saber a priori dónde va a estar la memoria reservada Vulnerabilidades de configuración Ataque: explotar configuraciones deficientes de servidores de red. Ejemplos: Configuraciones de servicios rlogin, rsh, (ficheros.rhost en UNIX) Configuraciones NFS (por defecto, los discos eran visibles al resto del mundo) Configuraciones X-Windows (por defecto, tu pantalla era pública) Configuración por defecto de RDP en Windows Server 2003 Defensa: corregir malas configuraciones Programas de auditoría de seguridad: NESSUS, TIGER, COPS, BASTILLE-Linux, etc. Vulnerabilidades de protocolos Ataque: fallos en implementación del protocolo: Spoofing Usados para explotar confianzas entre maquinas. Ejemplo: ataque del número de secuencia de TCP. X SYNx(NSx1) B A SYNb(NSb1) Adivino SYNx(NSx2) NSb3 SYNb(NSb2) SYNa(NSa) SYNb(NSb3) IP Spoofing ACKa(NSb3) de A Comandos de ataque Respuestas Vulnerabilidades de protocolos Ataque: fallos en el diseño de los protocolos. ARP Poisoning: permite un ataque de “Man in the Middle (MITM) entre dos máquinas: C IP-B ARP Reply ARP Reply IP-A MAC-C MAC-C A B Toda comunicación de A a B y viceversa es enviada a C Vulnerabilidades de protocolos SSL: Heartbleed Vulnerabilidades en Aplicaciones Cliente Ataque: aprovechar deficiencias de aplicaciones de cliente que utilizan la red para acceder a recursos del sistema. Objetivo: introducir respuestas maliciosas a la petición del usuario. Originalmente: fallos de navegadores, Active X, Java Actualmente: aplicaciones de lectura de ficheros PDF + Acrobat Reader: una de las vías de infección más frecuentes Es necesario combinarlo con ataques de Ingeniería Social para: Convencer de que se tiene que abrir un fichero Convencer de que se tiene que conectar a un servidor WWW Negación de Servicio Ataques que consiguen la interrupción de servicios o incluso la caída de la maquina. Suelen utilizar deficiencias en los servidores. Ejemplos: Ping de la muerte: paquete ICMP con longitud mayor de 65535 bytes. NUKE: datos fuera de banda en conexión TCP permiten desactivar la red en Microsoft Windows Otro método: BOMBING. Coordinación para realizar una petición masiva simultanea de servicios a una maquina. Ejemplos: Mail-bombing, DDOS. Herramientas automatizadas: LOIC Ataque a información en transito Interrupción Intercepción Modificación Fabricación Consecuencias de los ataques Acceso Remoto no autorizado: “Cracker romántico”: simplemente una notificación Creen que benefician a los usuarios Vandalismo: destrucción de información Instalación de malware Técnicas de Ingeniería Social: Instalación de malware Revelación de secretos Tipos de Malware: Virus Gusanos Caballos de Troya (Troyanos) Spyware Botnets (Redes de Zombies) Botnets Multitud de ordenadores infectados con un malware de tipo troyano Cuando arrancan, notifican su presencia a un ordenador central controlador (Command Control) El controlador les dicta a los ordenadores infectados sus tareas: Espionaje de la actividad del usuario Envío de spam, phishing Ataques DDOS Redes zombies: se alquilan, revenden. Hacknomics: Economía del hacking Venta de números de tarjeta de crédito Desde 2$ a 90$ Datos bancarios Desde 80$ a 700$ Uso de intermediarios (muleros) Alquiler para envío de spam Desde 15$ Secuestro digital (ransomware) Se cifran ficheros importantes del ordenador y se pide “rescate” por la clave de descifrado Etc., etc. etc. APT: Combinación de Técnicas Fases de un APT: Recolección de Información del Objetivo Búsqueda en Internet, etc. Intrusión Inicial en la Red Ataque de Ingeniería Social (Spear Phishing, etc.) Vulnerabilidades día 0 Vulnerabilidades no corregidas Asegurar Comunicación continuada con el controlador RAT: Poison Ivy (generador sencillo de servidores troyanos) Incluye servidor de Command and Control Covert channels Busqueda de Información Sensible en la red objetivo Credenciales de usuario, escalado de privilegios, etc. Extracción de datos Covert channels APT: Canales encubiertos Covert Channels: comunicación con el controlador. Necesario traspasar cortafuegos (normalmente sentido salida) Ejemplos: ICMP tunnel: encapsulados en ICMP echo request / reply En cabeceras IP: campo Identification (solo se usa en fragmentación/reensamblado) En cabeceras TCP: en el número de secuencia “aleatorio” DNS: tuneles DNS (usado para salir de “portales cautivos”) HTTP: En comentarios HTML Comandos cifrados con SSL (https / 443) Etc… APT: Combinación de Técnicas Objetivo Método entrada ¿Ingeniería ¿0-days? Social? Oak Ridge Spear phishing Attacks + IE 0-day National Si Si Laboratory Spear Phishing Attacks (adjuntos infectados Ghostnet en los correos o enlaces maliciosos en los Si - mismos) Stuxnet USB infectados como método inicial - Si(varios) Night Dragon Spear Phishing Attacks Si - Operación Aurora Spear Phishing Attacks + IE 0-day Si Si Operación Shady Spear Phishing Attacks (documentos RAT Si - adjuntos Office y PDF infectados) ¿Cómo defendernos? Primera línea de defensa antes las amenazas: evitarlas Amenazas Humanas: es necesario formación de usuarios Todos los perfiles de usuarios en la sociedad, personal y laboral Continuas campañas de concienciación Cuidar nuestra exposición pública en Internet. Amenazas Tecnológicas: evitar fallos del software Desarrollo de Software Seguro ACTUALIZACIÓN CONSTANTE de los programas que utilizamos: Sistemas Operativos Resto de aplicaciones Se podrán evitar muchas, pero nunca todos Se necesita una estrategia de defensa adicional Conclusión La conexión y el uso de Internet tiene riesgos Pero no más que cualquier otra actividad Ojo a la paranoia y al sensacionalismo de los medios de comunicación Dos recetas fundamentales Sentido común Actualización constante del software