SG40 - Seguridad

CIBERSEGURIDAD 46 búsquedas. Algunas vulnerabilidades software típicas son: uso de primitivas de seguridad deficientes (algoritmos débiles de cifrado/firma digital, algoritmos hash, generación de números aleatorios, etc.), ‘truncation hidden Web paths cookie’, fugas de información (mensajes de error que revelan demasiada información, como: versión del software, fragmentos de código fuente, nombres o errores de las tablas de base de datos, canales de timing, etc.), validación de entradas (como (i) vulnerabilidades de inyección como: CSS (Cross-Site-Scripting, inyección de comandos SQL, inyección de code/ script, ‘format-string’ (printf(argv[1]);), ‘path-traversal’, ‘open-redirect’, off-byone, double free, etc. (ii) Buffer overflows (stack-overflow/head-overflow) como: “integer overflow”, incorrecto tamaño de buffer o incorrecto cálculo de los límites. (iii) Otros efectos específicos de la aplicación de entrada no segura), ejecución con privilegios no necesarios (ejecución de código con privilegios de administrador/root, configuración/ setting incorrectos o perdidos), error/ exception-handling code (fallo para testear ‘error/exception-handling code’, ‘race conditions’, fallo para comprobar código de error, por ejemplo: open, malloc, etc.), operación de seguridad perdida (En autenticación, debilidades, no existencia de autenticación, autenticación de un sólo factor, uso de credenciales ‘hard-coded’. En autorización sin comprobaciones (CSRF/ Cross-Site-Request-Forgery). Fallo del cifrado, funciones hash, uso de salt, etc.), fallo para reconocer o aplicar límites seguros (Llamando a función que confía sus entradas en datos no confiables. Incluyendo código sin entender sus dependencias. Confiar en datos o cookies en aplicaciones web). El DAIM está diseñado para bloquear, inactivar, neutralizar, etc. todo tipo de intentos de ejecutar cualquier clase de exploit que se aproveche de cualquier tipo de vulnerabilidad (un ‘stack canary’ es un sistema de alerta temprana de stack-overflow para así bloquearlo a tiempo). Algunas de las principales vulnerabilidades software encontradas en blockchain son: race-condition, check-validation, resource-leak, transaction-related, deadlock, go-panic, block-related, denial-of-service, peer/ node-related, sanity-check, overflow (integer-overflow, arithmetic-overflow, stack/head-overflow), wallet-key/ password, uninitialized-read, callabuse, RPC-related, out-of-bound, off-by-one, segfault, memory-pool, nil-pointer-deref., database-corruption, etc. Exploremos las terminologías y siglas fundamentales en esta área: CVE (Common Vulnerabilities and Exposures) del Mitre es un diccionario de identificadores de vulnerabilidades CVE (por ejemplo, CVE-2018-4878 es una vulnerabilidad en Adobe Flash). CWE (Common Weakness Enumeration) del Mitre es una lista de tipos de debilidades software, por ejemplo, CWE-89 es una ocultación inadecuada de elementos especiales utilizados en un comando SQL, es una debilidad o fallo en el código de WordPress que causa la vulnerabilidad CVE-2015-2213. CCE (Common Configuration Enumeration) especifica identificadores-nombres para configuraciones de seguridad de software, por ejemplo, el identificador CCE-3108-8 hace referencia a “deberían asignarse permisos de servicio correctos para el servicio Telnet. CVSS (Common Vulnerabiliy Scoring System) especifica la severidad CVSS3/CVSS2 (3 baja, 5 media, desde 8 alta). NVD (National Vulnerability Database) del NIST es una base de datos de CVE que contiene referencias a soluciones y herramientas. Bugcrowd (comunidad de hackers que buscan vulnerabilidades). ExploitDatabase es una BD con exploits y vulnerabilidades software CVE. OSVDB (Open Sourced Vulnerability DataBase) es una BD de fuente abierta de vulnerabilidades. OWASP TOP 10 (especifica las 10 principales ciber-amenazas), SANS TOP 20 (especifica las 20 principales ciberamenazas). Integrando lo anterior en un ejemplo: CVE-2017-8759 es una vulnerabilidad que permite a un ciberatacante la ejecución remota de código RCE (Remote-Code-Execution) empleando un documento o aplicación infectada. NET 2.0, 3.5, 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 Framework de Microsoft; si se utiliza un documento infectado (irá en un adjunto de correo electrónico o un link) o si se emplea una aplicación maliciosa (el ciberatacante construye una aplicación.NET infectada y la descarga a un ‘network-share’ y engaña a la víctima para que la ejecute); se utiliza una técnica de ciberataque denominada ‘ejecución por parte del usuario’, que conduce a una explotación de servicios remotos para ello el ciber-atacante utiliza ficheros adjuntos o links spearphishing; no requiere exploit; iniciada por el usuario; no requiere autentica-

RkJQdWJsaXNoZXIy Njg1MjYx