CLASE 1 - Conceptos introductorios TRÍADA (CID) ● Confidencialidad: accedida por quién tiene acceso a ella. No está expuesta a quién no debiera acceder a ella. - Opuesto: revelación (disclosure). Publicación indebida. ● Integridad: toda modificación/alteración sea realizada por quien está autorizado. - Opuesto: alteración. Alteración indebida. ● Disponibilidad: la información y datos se encuentran disponibles cuando se necesitan. - Opuesto: destrucción (Denegation of Service, DoS). Saturación por peticiones ya sean legítimas o no. Por ej. se cae el Campus Virtual. PPT ● Personas: aquellos tienen que operar el proceso, tienen que administrar las reglas ● Procesos: la persona que aprendió cómo manejar el firewall tiene que saber cuándo habilitar una regla. ● Tecnología: se requieren automatismos. Para generar soluciones de seguridad buenas es necesario que el triángulo esté lo más equilátero posible. El consentimiento y la concientización son claves. Compliance: aprendemos acerca de las leyes, regulaciones, estándares, frameworks, buenas prácticas. CINCO CONCEPTOS FUNDAMENTALES ● Mínimo privilegio: darle a la persona o proceso que quiera acceder a un recurso, el mínimo privilegio necesario para la tarea que está haciendo. Ni más ni menos. ● Need to Know: darle a la persona la información que es pertinente a su trabajo. Relacionado a la confidencialidad. ● Separación de tareas y rotación de tareas: se mencionan juntos, no son lo mismo. La separación es aquel principio de la seguridad en el que se deben dividir los pasos de una tarea crítica para que no sea realizada por una misma persona. Mientras que en la rotación de tareas se rotan los responsables del control para inducir una atmósfera de control que disuade las acciones malintencionadas. ● Defensa en profundidad: capaz de protección. Capaz de una cebolla. Se basa en que la capa anterior siempre pudo ser comprometida. ○ CAPAS DE SEGURIDAD ■ Capa 1: la aplicación corre detrás de un FW. ■ Capa 2: la aplicación utiliza encripción en la comunicación (puerto 443 - https). ■ Capa 3: la interfaz web verifica los valores ingresados por el usuario. ■ Capa 4: la capa lógica de negocios válida las peticiones recibidas. ■ Capa 5: todos los servicios corren con usuarios restringidos. ■ Capa 6: ACL (Access Control List) 's en el FS (File System) restringen el acceso a los archivos del sistema. ■ Capa 7: los datos de autenticación están hackeados. ■ Capa 8: la aplicación se conecta a la BD con un usuario restringido. ■ Capa 9: todas las actividades de aplicación son logueadas. ■ Capa 10: los registros de log/auditoría se copian en repositorio ext. ● Tipos de controles: ○ Administrativos: asociados a los procesos. ○ Técnicos: implemento por software. ○ Físicos. ● Usabilidad vs. Seguridad: se compromete la UX. Cómo hacemos que esa experiencia sea óptima para el usuario sin que eso suponga un riesgo. Mejor experiencia con automatismos. CLASE 2 y 3 - Gestión de Identidades IDENTITY MANAGEMENT Acceso: la transferencia de información desde un objeto a un sujeto. CONTROL DE ACCESOS Establece los mecanismos y procesos necesarios para que se cumplan los principios de confidencialidad e integridad. ● Control de acceso lógico: componentes de software que implementan control de acceso a objetos lógicos (programas, procesos, información). ● Control de acceso físico: mecanismos que implementan control de acceso a objetos físicos (edificios, salas, centros de cómputos). PROCESO DE SEGURIDAD 1. Identificación: declaro mi identidad. Username. 2. Autenticación: pruebo mi identidad. Password. 3. Autorización: el sistema/control de acceso me otorga los permisos necesarios para hacer lo que mi identidad está autorizada a hacer. 4. Auditoría: registro. Trazabilidad de todo lo que yo hice. Logs de auditoría. ● Detección de intrusiones, reconstrucción de eventos de sistema, obtener evidencias para acciones legales. Las primeras dos pueden ocurrir en simultáneo. Eventos de aplicaciones, seguridad, sistema. Herramientas SIEM: colectoras de eventos. Indicadores de compromiso, es un indicio de que está ocurriendo un determinado ataque. Reglas que filtren determinadas conductas. Permiten preservar los logs. Concepto de no repudio: nadie puede negar que hizo lo que hizo. AUTENTICACIÓN Tipos de autenticación 1. Autenticación basada en secretos: algo que conoces. ○ el sujeto conoce un secreto que el mecanismo de autenticación es capaz de validar: 2. Autenticación basada en la posesión de un elemento: algo que tenes. ○ tarjetas de coordenadas ○ tokens 3. Autenticación basada en aspectos biométricos: algo que sos. ○ sistemas biométricos “Algo qué hago” (puede ser tipo 3) y “Dónde se encuentra” (puede ser tipo 2). Autenticación basada en comportamientos: monitorea y autentica las actividades de los usuarios según los niveles de riesgo, políticas institucionales y segmentación de la información. - Autenticación invisible: identificación del dispositivo. - Autenticación del sitio ante el usuario: garantía a los usuarios de que están realizando transacciones en un sitio web legítimo. - Autenticación fuera de banda: llamadas telefónicas, correos electrónicos, sms. Canal distinto. Autenticación adaptativa o basada en comportamiento: auténtico al sujeto porque me presentó un atributo y por el contexto. Si el usuario suele acceder a la tarde en arg y de la nada accedió a las 4am de una ip rusa, dudo. ZERO TRUST Englobo todo lo anterior. Dejó de autenticar a una identidad con un solo atributo, sino que auténtico un montón de cuestiones. Trasciende a la identidad del sujeto. Analizo el dispositivo, de dónde va y hacia dónde va, qué está haciendo y dónde la está haciendo. No confío en una identidad en particular, sino que tengo en cuenta un montón de variables más. SIMPLIFICAR LA UX ● Inicio de sesión único (SSO) ● Autenticación sencilla y robusta ● Autenticación continua ● Acceso controlado por el usuario ● Autorización adaptativa AUTENTICACIÓN DE DOBLE FACTOR Se llama cuando a la autoridad autenticadora le brindamos dos factores de tipos distintos. (algo que conozco, algo que soy, algo que tengo). Autenticación de 2 factores (user + password) =! doble autenticación (password + tarjeta de coordenadas). Factores de autenticación: TIPO PRO CONTRA Algo que conoces ○ Barato ○ Fácil de implementar ○ Fácil de adivinar ○ Sniffers y diccionario ○ Usuarios Algo que tienes ○ Difícil de atacar ○ Puede perderse o robarse ○ Caro para implementar Algo que eres ○ Portable ○ Fácil de utilizar ○ Caro para implementar ○ Rechazo del usuario ○ Tasas de error Autenticación por conocimiento: cualquier persona que adquiera el conocimiento gana el acceso. MGSI: Manual de Gestión de Seguridad de la Información . Política: qué es lo que está bien y qué es lo que está mal Procedimientos: cómo se tienen que hacer las cosas Instructivos: cómo hacer las cosas Estándares: cómo tengo que configurar un dispositivo. Establece una serie de reglas que tengo que aplicar para que eso sea duro. Harderización (implementar esas reglas). Hardenización: implementar las reglas para que el equipo sea seguro. ATACANDO EL SECRETO ● Ingeniería Social: por ejemplo phishing ● Falso Login: me logueo en una página que en realidad no existe (relacionado con el ítem anterior y phishing). ● Shoulder Surfing: chusmeo la contraseña del otro. ● Fuerza Bruta: intento al autenticador reiteradamente para poder descubrirla. ● Sniffing:el perro olfateandooo. Capturo la información porque viaja de manera no segura. ● Spoofing: “hacerse pasar por”, me hago pasar por el autenticador y el usuario incauto ingresa sus credenciales ahi muajaja ● Keyloggers: software malicioso que lo que hace es poder interceptar y almacenar para disponer la información al atacante cada vez que la víctima ingresa usuario y contraseña. Contramedidas para evitar ataques de fuerza bruta: Las siguientes contramedidas, dificultan la realización de ataques de diccionario o fuerza bruta (en modo online): ● No utilizar palabras de diccionario ni información del ID de usuario en las contraseñas ● No utilizar contraseñas triviales ● Bloqueo de la cuenta tras ciertos intentos fallidos de Login ● Implementar un retraso (delay) luego de ciertos intentos fallidos de Login ● Implementación de Captchas ● Forzar a utilización de contraseñas fuertes ● Números y letras, mayúsculas y minúsculas, longitudes mínimas, etc ● Forzar el cambio periodico de las contraseñas / PINs ● No permitir la reutilización de credenciales anteriores Con el captcha pongo la carga de prueba al usuario, en lugar de disponibilizar recursos y tecnologías que se encarguen de sanitizar el “túnel” con peticiones falsas. CONTRAMEDIDAS Las siguientes contramedidas dificultan las posibilidades de realizar con éxito un ataque contra el repositorio de credenciales. ● “Hardening” del sistema operativo y software de base. Implemento un estándar que establecen cómo configurar determinadas cosas. ● Aplicar medidas de seguridad específicas para cada sistema. ● Eliminar servicios inseguros, aplicar todos los parches de seguridad. ● Restricción de acceso al repositorio de credenciales (ej: ACLs) ● Protección criptográfica para el almacenamiento de credenciales. ● Encripción. ● Hashes. VA (Vulnerability Assessments): controlar que cada una de las capas de las aplicaciones y demás estén debidamente hardenizadas y parcheadas. Aplicó encripción cuando aplico algoritmos de determinadas características, en donde a partir de un texto plano obtengo un texto encriptado. Es bidireccional. A el hash le aplicó una operación matemática y como resultado tengo un producto de longitud fija sin importar la longitud de entrada . No es bidireccional. La password viaja protegida en todo su trayecto (tipo con guardaespaldas). Lo bueno es que no se almacena la contraseña. Para evitar determinados tipos de ataques relacionados con la frecuencia o aumentar la cantidad de variables que puede tener una tabla precalculada, se implementa un salt. El salt es un número/valor que se le agrega a la contraseña para que el proceso de hasheo sea de mayor aleatoriedad. El salt se almacena junto con el hash. SISTEMAS BIOMÉTRICOS Como ventaja no puede ser prestado ni robado. Como desventaja suele ser cara la implementación y hay un poco de rechazo por parte de los usuarios por invasión a la privacidad. Profiling: recopilación de datos acerca de transacciones realizadas por un individuo en particular permite definir un perfil de las preferencias, afiliaciones y creencias del individuo. Google me espía aaaaaaaaa. Enrollment: uno carga inicialmente el patrón biométrico. Throughput: cada vez que uno somete esa huella para que sea evaluada a ver si corresponde a la identidad en cuestión. Error de tipo 1: se rechaza a alguien que tendría que haber sido aceptado. False Reject Rate. Error de tipo 2: se acepta a alguien que no debía haberse aceptado. False Acceptance Rate. Crossover Error Rate: representa el punto en el que los FRR y los FAR son iguales. Sirve para determinar la precisión del sistema. Dependerá de la situación. Por ej los militares preferirían que el FAR sea muy bajo. Hay dos grupos de sistemas biométricos: ● Fisiológicos: huella digital, reconocimiento facial, iris y retina, geometría de la mano. ● Comportamiento: firma holográfica, la voz, la dinámica del teclado. El escaneo de la retina es más de cerca. Es rechazado porque puedo determinar muchos atributos de la persona. Se ve afectada por una enfermedad. Con el iris (color) se puede determinar muchas características de las personas (por ej adicciones). Es más estable. CUENTAS PRIVILEGIADAS Cuentas con altos privilegios: ● Cuentas administrativas ● Cuentas de sistema ● Cuentas operativas: cuentas de servicio y cuentas compartidas Uso herramientas PAM (Privileged Access Management): ayudan a las organizaciones a abordar los problemas inherentes relacionados con las cuentas de altos privilegios. AUTORIZACIÓN MODELOS DE CONTROL DE ACCESOS ● DAC (Control de Accesos Discrecional): cada objeto tiene un dueño. Corresponde al nivel C del Orange Book. (menos seguro que el MAC por su nivel). ○ Cómo se conceden los permisos en unix, están los del owner, los del grupo y los otros ○ El sistema decide cómo se compartirán los datos ○ Mayor flexibilidad de uso pero no permite un control centralizado de seguridad ● MAC (Control de Acceso Mandatorio): el sistema impone sus reglas. Nivel B en el Orange Book. Los accesos se confieren en función de etiquetas únicas. Todo usuario que tenga la etiqueta puede acceder. Un mismo objeto no puede tener dos etiquetas distintas. Es limitante. ○ El administrador decide como proteger y compartir los datos ● RBAC (Control de Acceso Basado en Roles): asignación indirecta de permisos. Se lo considera un híbrido entre los dos primeros. Define los permisos que tienen que tener cada uno de los usuarios en función de la tarea que realizan. Control de acceso basado en contenidos: filtros antispam, antivirus, firewalls de nivel de aplicación. Control de acceso corporativo: ● Single Sign On: el usuario maneja un conjunto de credenciales únicas que le permite autenticarse en múltiples plataformas ● Identity Management: gobiernan todo el ciclo de vida del usuario. Crear la cuenta, darle permisos, resetear las contraseñas, sincronizar las contraseñas, dar de baja la cuenta. ● Control de Acceso Centralizado (AAA): permiten gestionar la autenticación en entornos remotos. ● CASB: políticas de gobierno y de consumo de aplicaciones en la nube para usuarios corporativos. ○ Visibilidad (Shadow It, uso desregulado de una herramienta en la nube que ni siquiera tienen conocimiento el área de IT). ○ Conformidad (ofrece la oportunidad de entender si la organización está cumpliendo con las regulaciones). ○ Prevención: de amenazas. ○ Seguridad: encriptación , tokenización y prevención de la pérdida de datos. Federación de identidades: se establece un círculo de confianza que permite que un usuario autenticado en un organismo de la federación acceda a recursos de otro organismo de la misma federación. Identificación realizada por los Proveedores de Identidad (IdP) y los Proveedores de Servicio (SP) son a los que accede el usuario. El SP confía en el IdP. Me creo una cuenta en pinterest y me auténtico con google, pinterest no maneja la identidad sino que federa a través de un protocolo ese pedido de autenticación con el IdP. SSO - Variantes ● ● ● ● E-SSO: sistemas que permiten gobernar entre cada una de las aplicaciones corporativas, en donde hay una base única de credenciales contra las cuales el usuario se va a autenticar. Todas las aplicaciones corporativas tienen la mismas políticas que quiero implementar como por ej para la creación de contraseñas. Web-SSO: a través de un servidor proxy, o un plugin. Permiten centralizar las decisiones de acceso. Utiliza cookies, con ello distingo qué usuarios acceden y cuáles no. SSO basada en ticket: OpenId: Identity Management (ID): gestores de identidades, combinan procesos, tecnologías y demás para administrar el ciclo de vida de los usuarios en todas las aplicaciones de la compañía. Debe proveer los sig. servicios: directorios, administrar contraseñas, SSO, provisioning, federation. Protocolos: ● SAML: autenticación. Intercambio de información de autorización y autenticación entre dominios de manera segura. Aplicaciones SaaS. Basado en XML. Protocolo SOAP más usado (de qué forma se intercambia la información entre los web service). ● OpenId: autenticación. Estándar abierto de federación. Sistema de identificación digital descentralizado. Me provee el inicio de sesión de una aplicación en otras. ● OAuth: autorización. Estándar abierto orientado a la autorización a través de APIs. Presento un token para poder usar esa API. La aplicación cliente le pide al Authorization Server un token, el authorization server le pregunta al usuario si le da acceso, este le dice que si, entonces el authorization server le da un token a la aplicación cliente. La aplicación cliente pone el token en la petición para que llegue al resource server. Este último valida el token y si ta todo ok le deja usar el recurso. No necesito pasarle credenciales a otro sitio. CLASE 4 - Gestión de Riesgos Riesgo: evento o condición incierta que puede afectar positiva o negativamente. Nos centramos en lo negativo y que pueden tener un impacto en un activo de información. Gestionamos riesgos. NO se eliminan. Continuo y constante. ● Activo: todo recurso, producto, proceso, aquello que tiene un valor para el negocio de la compañía. ● Amenaza: evento o situación que puede presentarse que puede afectar de forma negativa. ● Vulnerabilidad: ausencia o debilidad de un control. Me respondo 4 preguntas: 1. Evento: ¿Qué puede pasar? 2. Probabilidad: ¿Qué tan frecuente es? 3. Impacto: ¿Cuán mal nos puede ir? 4. Apetito de riesgo: ¿Cuánto soy capaz de tolerar? Define qué estrategias de riesgo voy a implementar para los riesgos que ya detecte. (Distinto a tolerancia y capacidad). Divido en 4 cuadrantes. Rojo quema-evitó. Amarillo arriba y abajo mitigo. Verde acepto, pude identificar el riesgo y decidí conscientemente no hacer nada. El agente da lugar a la amenaza. La amenaza (también es la probabilidad de que ocurra el riesgo) explota o trata de comprometer el activo a través de una vulnerabilidad. Esa vulnerabilidad genera un riesgo. Ese riesgo afecta un activo causando un impacto. Se aplica control que afectará al agente. PDCA (Plan - Do - Check - Act). Riesgo intrínseco: evaluó probabilidad e impactos sobre el activo sin tener en cuenta los controles que aplique. Riesgo reducido: calcular este riesgo considerando que yo ya implemente un control. Riesgo efectivo: implementó el control, evaluó el impacto que tiene ese control y consideró el valor en sí que tiene el activo. Tipos de controles: ● Administrativo: asociados a los procesos. ● Técnico: también llamados lógicos. Aplicó a tecnología, componentes de SW o HW, FW, cifrado, autenticación. ● Físicos: protegen instalación, personal y recursos. Por ej, un guardia de seguridad. ¿Cuál es la oportunidad de ese control? ¿Hacia dónde está orientado? Enfoque / Orientación del control ● Disuasivo: aquel control que busca desalentar a aquel agente que va a perpetuar la amenaza. Lo asusta. No actúa ni sobre probabilidad ni sobre impacto. Por ej, rotación de tareas. ● Preventivo: destinado a evitar que ocurra un incidente. ● Correctivo: aplico una vez que ocurrió el incidente. Busca reducir el impacto. Hacia adelante va a reducir el impacto. Contego el daño. ● Recuperación: restablecer el entorno a la operación normal. ● Detectivo: ocurrió el incidente y tengo que tratar de detectarlo lo más pronto posible. Los logs y alertas implementados en un SIEM. Me permiten detectar el posible indicio de un incidente. ● Compensatorios: proporcionan una alternativa. Trato de encontrar un equilibrio. Se analiza esa compensación buscando una relación costo beneficio con el riesgo que quiero mitigar y la oportunidad de ese control. Busca mitigar el riesgo de una situación anormal. Por ej en los else de casos de uso. Defensa en profundidad Un sistema de defensa de múltiples capas minimiza la probabilidad de una penetración exitosa y el compromiso porque un atacante tendría que pasar por diferentes tipos de mecanismos de protección antes de que ella obtuviera acceso a los activos críticos. Cuanto más sensible es un activo de información, más capas de controles se deberían implementar. Administración de riesgos (IRM): identificar, analizar y determinar los riesgos que están asociados a los activos que tengo y cómo voy a tratarlos. Paro cuando lo llevo a un nivel tolerable para la organización, determinado por el Apetito de Riesgo de la organización. GESTIÓN DE RIESGOS 1. Analizar el riesgo: analizó el riesgo. Tengo identificados los activos de información, ¿qué amenaza los puede afectar? Por cada uno de los activos, los analizo, veo a qué amenazas está expuesto, qué tan probable es que ocurra ese evento y qué daño le puede causar a cada uno de esos activos. 1. enumero todos los activos de la información. 2. determinar a qué amenazas están expuestos los activos. 3. determinar qué controles hay implementados para evitar que esa amenaza afecte al activo. 4. si lo afecta, ¿cuánto daño le puede hacer? estimo el impacto. 5. posibilidad de ocurrencia. 2. Tratamiento de riesgos: una vez obtenido lo anterior defino la estrategia de tratamiento de riesgos. Valuación de activos Se denominan activos los recursos del sistema de información o relacionados con éste, necesarios para que la Organización funcione correctamente y alcance los objetivos propuestos por su dirección. El activo esencial es la información que maneja el sistema; o sea los datos. Y alrededor de estos datos se pueden identificar otros activos relevantes: servicios, software, equipo auxiliar, redes, storage, hardware, personas, instalaciones. Un activo superior depende de un activo inferior. Una vez determinadas qué dimensiones (de seguridad) interesan de un activo hay que proceder a valorarlo. La valoración es la determinación del coste que supondría salir de una incidencia que destrozara el activo. Dimensiones de un activo de información ● Autenticidad: ¿qué perjuicio causaría no saber exactamente quien hace o ha hecho cada cosa? ● Confidencialidad: ¿qué daño causaría que lo conociera quien no debe? ● Integridad: ¿qué perjuicio causaría que estuviera dañado o corrupto? ● Disponibilidad: ¿qué perjuicio causaría no tenerlo o no poder utilizarlo? CRITERIOS DE VALORACIÓN DE UN ACTIVO Se ha elegido una escala detallada de diez valores, dejando en valor 0 como determinante de lo que sería un valor despreciable (a efectos de riesgo). Si se realiza un análisis de riesgos de poco detalle, se puede optar por la tabla simplificada de 5 niveles. Ambas escalas, detallada y simplificada se correlacionan como se indica a continuación: Determinación del riesgo Probabilidad x Impacto = Riesgo Impacto Pr ob abi lid ad Muy Bajo Bajo Moderado Alto Muy Alto Muy Alta Muy Bajo Bajo Moderado Alto Muy Alto Alta Muy Bajo Bajo Moderado Alto Muy Alto Moderada Muy Bajo Bajo Moderado Moderado Alto Baja Muy Bajo Bajo Bajo Bajo Moderado Muy Baja Muy Bajo Muy Bajo Muy Bajo Bajo Bajo Método cualitativo: asigna valores intangibles. No son numéricos. Ideal para presentar una conclusión. ● Pasos del Análisis Cualitativo ● ● Valoración Delphi: buscar estadísticamente valores ponderados que no sean tan dispersos/tan disímiles entre sí. Método cuantitativo: aplica fórmulas. ● Indicadores cuantitativos ○ Exposure Factor (EF): porcentaje de pérdida sobre el valor de un activo generado por la concreción de una amenaza en dicho activo. 0 % <= EF <= 100% ○ Single Loss Exposure (SLE): valor monetario asociado a un evento determinado. Representa la pérdida producida por una amenaza determinada individual. SLE = Valor del Activo($) * EF ○ Annualized Rate Occurrence (ARO): representa la frecuencia estimada de ocurrencia de un evento, dentro del período de un año. Por ej, cada 5 años equivale a un ARO=0,2 (Krutz) lo considera una cantidad. (Harris) lo considera una probabilidad ○ Annualized Loss Expectancy (ALE): representa la pérdida anual producida por una determinada amenaza. ALE = SLE * ARO ● Análisis costo/beneficio: costo control < valor del activo. (ALE antes del control) – (ALE después del control) – (costo mantenimiento del control) = valor del control. TRATAMIENTOS DE RIESGOS Proceso de selección y evaluación de medidas para modificar los riesgos. ● Evitar: por ejemplo sustituyendo el activo por otro que no se vea afectado por la amenaza o eliminando la actividad que lo produce. ● Aceptar: se asume el riesgo, bien porque está debajo del umbral aceptable de riesgo o bien en situaciones en las que los costes de su tratamiento son elevados y aun siendo riesgos de impacto alto su probabilidad de ● ● ocurrencia es baja o porque aun a pesar del riesgo la empresa no quiere dejar de aprovechar la oportunidad que para su negocio supone esa actividad arriesgada. Tomar la decisión consciente de no hacer nada Transferir: en ocasiones la empresa no tiene la capacidad de tratamiento y precisa la contratación de un tercero con capacidad para reducir y gestionar el riesgo dejándolo por debajo del umbral. Mitigar: tomando las medidas oportunas para que el nivel de riesgo se sitúe por debajo del umbral. Para conseguirlo se puede: ○ reducir la probabilidad o frecuencia de ocurrencia: tomando, por ejemplo, medidas preventivas. ○ reducir el impacto de la amenaza o acotar el impacto, estableciendo por ejemplo controles y revisando el funcionamiento de las medidas preventivas. EL RIESGO NO SE ELIMINA, SE LLEVA A UN NIVEL ACEPTABLE PARA LA ORGANIZACIÓN. Estrategias de tratamiento de riesgos Registro / Matriz de riesgos Cada evento de riesgo se define con: ● Evento de riesgo. ● Categoría. ● Probabilidad. ● Impacto. ● Exposición al Riesgo. ● Prioridad. ● Urgencia. CLASE 5 - Introducción a la criptografía CONCEPTOS GENERALES El objetivo de la criptografía moderna es proteger la información durante su transmisión y su almacenamiento. Criptología: hace uso de métodos y técnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o más claves. Cifra o cifrado: técnica que, en general, protege o autentica a un documento o usuario al aplicar un algoritmo criptográfico. Sin conocer una clave específica o secreta, no será posible descifrarlo o recuperarlo. Criptografía: el arte o ciencia de esconder el significado de una comunicación de personas no autorizadas. Criptoanálisis: el acto de obtener el texto-plano o llave de un texto-cifrado utilizado para obtener información, normalmente valiosa, que fuera originalmente encriptada. criptografía + criptoanálisis = criptología Esteganografía: método de ocultamiento del mensaje. El mensaje se protege porque el otro no puede percibir su existencia. Criptología y Esteganografía: ambas son técnicas que protegen la confidencialidad de la información, ambas se diferencian entre sí por la forma en que logran su objetivo En un criptosistema intervienen los siguientes elementos: emisor, destinatario, canal (por el cual se envía el mensaje), texto plano, proceso de encripción (transforma el mensaje en un código encriptado duhhh), proceso inverso (si quien recibe el mensaje es el usuario legítimo va a poder ejecutar dicho proceso para ver el mensaje). M: conjunto de mensajes no cifrados. Texto plano. C: conjunto de los mensajes cifrados. K: conjunto de claves. E 𝑘(M) = C: es el conjunto de transformaciones de cifrado o familia de funciones que se aplica a cada elemento de M para obtener un elemento de C. D 𝑘(C) = M: es el conjunto de transformaciones de descifrado, análogo a E. Las funciones de encripción son reversibles, las de hash no. 𝑛 2 es el espacio de claves, siendo n el largo de la clave. Work factor: fortaleza de un método. Hace referencia a una estimación del tiempo y los recursos que le tomaría a un atacante romper el cifrado. Un criptosistema sirve para brindar una serie de servicios tales como: confidencialidad (que nadie más que los destinatarios puedan verlo), integridad (el mensaje no sufrió modificaciones en el camino), autenticación y no repudio (el remitente no puede negar el envío de esa información). CLASIFICACIÓN DE ALGORITMOS Suelen dividirse en tres grandes grupos: ● Según la naturaleza del algoritmo. ○ Sustitución: se cambian unos símbolos por otros. ■ Mantiene el mismo patrón de frecuencias del alfabeto original (para caracteres simples, y combinaciones conocidas). ■ Tipo de ataque: análisis de frecuencias. ■ Pueden utilizarse múltiples alfabetos. ○ Transposición: cambia el orden o ubicación de los símbolos. ■ Mantiene el mismo patrón de frecuencias del alfabeto original (para caracteres simples). ■ Tipo de ataque: análisis de frecuencias. ■ Oculta la relación estadística de conjuntos de caracteres. Ej: ion, the… ■ Pueden utilizarse múltiples alfabetos. ○ Pueden aplicarse combinaciones de los dos métodos anteriores, así como también bloque o flujo (encripto caracter a caracter). ● Según la clave utilizada. ○ Simétricos: se utiliza la misma clave para cifrar y descifrar. R. ○ Asimétricos: se utilizan claves distintas para cifrar. R. ○ Reversibles: algoritmos de encripción. ○ Irreversibles: cifra un texto claro no permitiendo su descifrado. Funciones de hash. ● Según el número de bits cifrados a la vez. Sistemas Criptográficos ● Sistemas Simétricos (de llave privada). N(N-1)/2=cant claves necesarias ○ Ambas partes (emisor y receptor) comparten la misma llave de encripción / desencripción. ○ Requiere de un canal seguro para poder compartir la llave. ○ Fortalezas: ■ Mucho más rápido que los sistemas asimétricos. ■ Difícil de romper si se utiliza un gran tamaño de clave. ○ Debilidades: ■ Requiere de un mecanismo seguro para entregar las llaves correctamente. ■ Cada par de usuarios necesita una clave única, de manera que el número de individuos aumenta, también el número de claves, complicando su gestión. ■ Proporciona la confidencialidad, pero no la autenticidad o no-repudio. ○ secret keys (estática ) session keys (dinámica) ● Sistemas Asimétricos (de llave pública). ○ Dos llaves: en los sistemas de clave pública, cada entidad tiene diferentes 2 claves que están matemáticamente relacionadas. Si un mensaje es cifrado por una clave, se necesita la otra para descifrar el mensaje. ■ Llave pública, utilizada para encriptar. ■ Llave privada, utilizada para desencriptar. ○ Confidencialidad: si la confidencialidad es el servicio más importante, el remitente cifrará el archivo con la clave pública del destinatario. Sólo puede ser descifrado por la persona que dispone de la correspondiente clave privada (o sea el destinatario). ○ Autenticidad: si la autenticidad es lo más importante, entonces el remitente cifrará los datos con su clave privada. Con ello le garantiza al receptor que la única persona que podría tener el cifrado de datos es la persona que tiene la posesión de que la clave privada. En este caso, no se garantiza la confidencialidad porque cualquiera puede desencriptar ya que la clave pública del remitente puede ser conocida por cualquiera. ○ Fortalezas: ■ Mejor distribución de clave que en los sistemas simétricos. ■ Mejor escalabilidad que en los sistemas simétricos. ■ Puede proporcionar autenticidad y no-repudio. ○ Debilidades: ■ Trabaja más lento que los sistemas simétricos. ■ Requiere un gran proceso matemático. ● Ensobrado digital ○ ○ Algoritmo híbrido: simétrico + asimétrico. La clave simétrica es encriptada con la clave asimétrica. El mensaje es encriptado con clave simétrica. Cuando lo tiene el destinatario lo desencripta con la clave asimétrica para obtener la simétrica, y se desencripta el mensaje con la clave simétrica. SIMÉTRICA ASIMÉTRICA O DE CLAVE PÚBLICA ● ● ● ● ● ● ● ● ● ● ● ● Data Encryption Standard (DES) Triple-DES (3DES) Blowfish IDEA RC4, RC5, and RC6 Advanced Encryption Standard (AES) RSA Elliptic curve crypstosystem (ECC) Diffie-Hellman El Gamal Digital Signature Algorithm (DSA) Knapsack ALGORITMOS DE HASH Hash: es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija. Independientemente de la longitud de los datos de entrada, el valor hash de salida tendrá siempre la misma longitud. Puede detectar alteraciones intencionadas y accidentales. One-Way Functions Una función “one Way” es aquella función que es más fácil ejecutar en un sentido que en el inverso. Tomo el mensaje, obtengo un resultante y a partir de este último no puedo obtener el camino inverso. Ej rompo un vaso. RSA se basa en la dificultad de factorizar un gran número que es el producto de dos números primos grandes. En este tipo de algoritmo, los atacantes no se afanan por descubrir la clave sino por factorizar un gran número. Propiedades de las funciones hash 1. Unidireccionalidad: no puedo volver hacia atrás. 2. Compresión: sin importar el tamaño del input el resultado va a ser un tamaño fijo. 3. Facilidad de cálculo: debe ser fácil calcular h(M) a partir de un mensaje M. 4. Difusión: no importa el tamaño del cambio que yo haga en el archivo de origen, el resumen siempre va a ser distinto. Aplicaciones principales de las Funciones de Hash: ● Contraseñas. ● Firmas Digitales. ● Integridad y Autenticación. Para asegurar que el mensaje enviado con Hash no sea modificado, se utiliza MAC (Message Authentication Code). Un Hash es bueno/robusto si está libre de colisiones. Una colisión de Hash es una situación que se produce cuando dos entradas distintas a una función de hash producen la misma salida. Uso hash para proporcionar Integridad. Autenticación de mensaje cuando uso MAC porque estoy hablando de una clave simétrica. No repudio cuando uso clave asimétrica. Firma electrónica: el valor hash de un mensaje cifrado con la clave privada de una persona. Como la clave es pública es conocida, cualquiera puede descubrir ese mensaje. Firma digital: es la firma electrónica certificada por un AC (Autoridad Certificadora). AC: un organismo que cumple con determinados requerimientos que lo acreditan como idóneo para dar fé de que ambos extremos son quienes dicen ser. Firma digitalizada: firma hecha a mano alzada de forma digital. Escribo mi firma en la pantalla del celular. Dos personas firman un documento y no hay nadie más -> firma electrónica. Si en la firma de ese documento encima hay un escribano -> firma digital. CERTIFICADOS DIGITALES Un certificado digital es un documento digital mediante el cual un tercero confiable garantiza la vinculación entre la entidad de un sujeto y su clave pública. La veracidad de esta asociación es garantizada por la Autoridad Certificante. Certificado firmado por la clave pública del emisor y posee la firma digital de la AC. Validación de un certificado ● Integridad: ¿la firma es válida? ● ¿Firmado por una AC de confianza? ● ¿Está vigente? ● ¿Está revocado? ● ¿Su uso es consistente con la política? CLASE ASINCRÓNICA - Código malicioso MALWARE Cualquier tipo de software que trata de infiltrarse y/o tener comportamiento malicioso. Comportamiento subrepticio: acción desarrollada de manera encubierta u oculta. ● Tipos: virus, dns spoofing, exploit, phishing, troyano, spyware, spam, keylogger, zero day, honey pot, ddos, botnet, cookies. ● Puede ingresar: internet, redes sociales, mail, servicios de mensajería, etc. ● Archivos adjuntos más peligrosos: pdf, documentos de microsoft office, archivos zip y rar, etc. Virus: programa informático creado para causar algún daño. Actúa de forma transparente y tiene la capacidad de reproducirse a sí mismo. Está compuesto por su propio entorno, dentro del cual pueden distinguirse tres módulos principales: módulo de reproducción, módulo de ataque y módulo de defensa. Worms: código malicioso cuyas principales características son que no infecta archivos (principal diferencia con los virus) y que se propaga por sí mismo a través la explotación de diferentes tipos de vulnerabilidades. El medio utilizado: envío de mensajes a través de clientes de mensajería instantánea, copia por dispositivos USB, aprovechamiento de vulnerabilidades de software. El objetivo es llegar a la mayor cantidad de usuarios posible y lograr distribuir otros tipos de códigos maliciosos como Troyanos, Backdoors y Keyloggers. Estos últimos serán los encargados de llevar a cabo el engaño, robo o estafa. Troyano: código malicioso que simula ser inofensivo y útil para el usuario. Al igual que los gusanos, no infectan archivos, aunque a diferencia de aquellos, el troyano necesita del ser humano para su propagación. Se instala en el sistema al ejecutar el archivo que lo contiene. Se utiliza para espiar, usando la técnica para instalar un software de acceso remoto que permite monitorizar lo que el usuario legítimo de la computadora hace. Backdoors: se introduce de manera encubierta, aparentando ser inofensivo. Puede pasar por programas legítimos para engañar a los usuarios que lo ejecute. Una vez que el troyano se ejecuta, se suma a la rutina de arranque del ordenador. A continuación, puede controlar la computadora hasta que el usuario esté conectado a Internet. Cuando el ordenador se conecta a Internet, la persona que envió el troyano puede realizar muchas acciones. Honeypot: software o conjunto de computadores cuya intención es atraer a atacantes, simulando ser sistemas vulnerables o débiles a los ataques. Es una herramienta de seguridad informática utilizada para recoger información sobre los atacantes y sus técnicas. Zero Day: una nueva vulnerabilidad para la cual no se crean parches o revisiones, y que se emplea para llevar a cabo un ataque. Cualquier exploit que no haya sido mitigado por un parche del vendedor. Rootkit: programa o conjunto de programas que un intruso usa para esconder su presencia en un sistema y le permite acceder en el futuro para manipular este sistema. No es un exploit, es lo que el atacante usa después del exploit inicial. No es un malware en sí mismo pero, debido a que es utilizado ampliamente para ocultar los mismos, muchas veces se lo considera incorrectamente como programa dañino. Spyware: busca recolectar información del usuario, sin su consentimiento. Rogue: es un código malicioso que simula ser un programa de seguridad, con el fin de lograr que el usuario pague por una aplicación dañina o inexistente. Es utilizado para dos fines principalmente: ● Instalación de malware: (troyano) mientras la víctima supone que está instalando una aplicación de seguridad (en la mayoría de los casos gratuita), en realidad se instala en el equipo un código malicioso. ● Scam: en algunos casos, luego de alertar al usuario sobre un riesgo de seguridad en el sistema, se ofrece una aplicación “promocional”. Luego el usuario pagará por algo inexistente. Adware: es un programa malicioso, que se instala en el sistema sin que el usuario sepa realmente su objetivo principal, que es descargar y/o mostrar anuncios publicitarios en la pantalla de la víctima. Cuando un adware infecta un sistema, el usuario comienza a ver anuncios publicitarios que se muestran de manera sorpresiva en pantalla. Estos pueden modificar las páginas que visita el mismo e incluso aparecer aunque el usuario no esté navegando por Internet. Por lo general, el adware utiliza información recopilada por algún spyware para decidir qué publicidades mostrar al usuario. Frecuentemente se observa a estas dos amenazas trabajando en forma conjunta. CONCEPTOS Vulnerabilidad: debilidad de un sistema, que permite que un atacante pueda violar la integridad del sistema o de sus datos y sus aplicaciones. ● Vector de acceso: refleja desde dónde puede ser explotada la vulnerabilidad y la complejidad requerida. Cuanto más remoto y fácil de explotar, mayor será la puntuación. ● Impacto: definido a través de la afectación que puede tener una vulnerabilidad a los 3 pilares: confidencialidad, integridad y disponibilidad. Mientras más comprometido sea cada pilar, mayor será su puntuación. CVE: es una lista de vulnerabilidades de seguridad de la información públicamente conocidas. Permite identificar cada vulnerabilidad, asignando a cada una un código de identificación único. CVE – Proceso de incorporación de una vulnerabilidad: para que una vulnerabilidad recién descubierta sea incorporada totalmente al listado, tiene que seguir un proceso que consta de tres etapas: 1. Etapa de presentación inicial y tratamiento 2. Etapa de candidatura 3. Etapa de publicación: puede prolongarse un periodo de tiempo indefinido, ya que incluye también los procesos de revisión en la que se pueden tener cambios con respecto al contenido de la descripción. En estas etapas está la razón de por qué la lista CVE no tiene vulnerabilidades de día cero (recién descubiertas). Proceso de gestión de vulnerabilidades 1. Planeación: determinar el alcance. 2. Descubrimiento: detección de vulnerabilidades en sistemas y/o procesos. 3. Análisis y evaluación de riesgo: evaluación de brechas y recomendaciones para la remediación del riesgo. 4. Definición de planes de acción: generar un plan de acción que indique cuándo y de qué manera deben ser aplicadas las acciones de remediación. 5. Ejecución de plan de acción: las acciones de remediación planteadas deben ser ejecutadas en los tiempos establecidos para reducir los tiempos de exposición y reducir los riesgos de incumplimiento. 6. Verificación de efectividad: las acciones de tratamiento deben ser evaluadas para determinar los niveles de mitigación. 7. Lecciones aprendidas: deben ser usadas durante todo el ciclo para establecer los puntos de éxito y fracaso del proceso. Exploit: no es un malware en sí, pero es la llave para que este entre al sistema. Es una secuencia de comandos utilizados para, aprovechándose de un fallo o vulnerabilidad en un sistema, provocar un comportamiento no deseado o imprevisto. Parche: complemento de software. Diseñado para corregir los errores del sw, incluida la seguridad, en los sistemas operativos o aplicaciones. Bug Bounty Program: se trata de un acuerdo que ofrecen numerosas organizaciones, compañías, sitios web y desarrolladores de software ofrecen recompensas (tanto monetarias como no) a los individuos que reporten errores, vulnerabilidades y fallos de seguridad. Hoax: es un mensaje de correo electrónico con contenido falso o engañoso y normalmente distribuido en cadena. No roba ninguna información ni instala ningún malware, pero los mensajes en cadena y los hoaxes ralentizan las comunicaciones y difunden consejos engañosos. ClickJacking: es una técnica maliciosa para engañar a usuarios de Internet con el fin de que revelen información confidencial o tomar control de su computadora cuando hacen clic en páginas web aparentemente inocentes. Puede tomar la forma de código embebido o script que se ejecuta sin el conocimiento del usuario. Browser hijacker: cambia la página de inicio del navegador o el motor de búsqueda. Una vez que ello ha sucedido, no es posible cambiar la página de inicio nuevamente. Editan el registro para que cada vez que se reinicie el equipo, se restaure tal configuración o eliminen opciones del menú para no permitir el cambio. Para hacerlo utilizan ClickJacking o UI redress. Cookies: son archivos ubicados en la PC que permiten a los sitios web almacenar información con varios fines: personalizar Webs, fines estadísticos, seguimiento de campañas publicitarias. Teóricamente no tienen un carácter malicioso. Con la información almacenada puede formarse un perfil del usuario. Spam: envío de mensajes no solicitados, habitualmente de tipo publicitario, enviados en forma masiva. Los spammers disfrazan su correo electrónico en un intento para evadir anti-spam. Con frecuencia, es uno de los vehículos para distribuir malware. Anonymizing Proxy: proxies anónimos que permiten al usuario ocultar su actividad de navegación web. A menudo se utilizan para eludir filtros de seguridad web. Pueden representar un riesgo para las organizaciones: ● Seguridad: permite a los usuarios acceder a páginas web infectadas. ● Responsabilidad: las organizaciones pueden ser legalmente responsable si sus equipos se utilizan para distribuir pornografía infantil. También hay consecuencias si los usuarios violan licencias de terceros, a través de descargas ilegales. ● Productividad: pueden permitir a los usuarios visitar sitios que, aunque son seguros, son a menudo utilizados para fines no laborales (problema de RRHH x desempeño, no de seguridad!). PUAS (Potentially Unwanted Application): presentan un comportamiento indeseado por el usuario, que por lo general no exhiben el comportamiento típico del malware y requieren del consentimiento del usuario antes de realizar la instalación (User License Agreement). Aunque pueden no presentar conductas típicas de códigos maliciosos (como expandirse a través de una red, cifrar archivos o dañar otros programas), sí llevan a cabo otras acciones. Suelen instalar aplicaciones adicionales, cambian el comportamiento del dispositivo en el cual son ejecutados o realizan acciones no esperadas por la persona que los instaló. Ejemplos: toolbars, instaladores o software wrappers, adware. Keylogger: es una aplicación que almacena las teclas presionadas en un archivo. Generalmente este archivo es enviado a su autor a través de Internet. Muchos programas dañinos (malware) los utilizan como una forma efectiva para robar nombres de usuario, contraseñas, detalles de tarjetas de crédito y otros datos sensibles. PHISHING Es una modalidad de estafa diseñada con la finalidad de robar la identidad. El delito consiste en obtener información tal como número de tarjetas de crédito, contraseñas, información de cuentas u otros datos personales por medio de engaños. Tipos: ● Phishing ● ● Spear Phishing: los objetivos son identificados con anticipación y los correos electrónicos que intentan engañar, para la entrega de datos personales, pueden ser muy específicos. Involucra la explotación de la confianza. Whaling Phishing: variante de Phishing que consiste en atacar a un directivo importante de un grupo empresarial, un político o una celebridad. Los ataques son realmente difíciles de detectar ya que utilizan detalles muy específicos sobre las víctimas. BEC: este ataque tiene como objetivo secuestrar y controlar cuentas empresariales que los ciberdelincuentes pueden utilizar para interceptar o redireccionar las transacciones financieras. Son dirigidos, diseñados para cada víctima. La mayoría de las ocasiones los ciberdelincuentes estudian las últimas noticias de las empresas e investigan las redes sociales de los empleados para hacer que el ataque sea lo más convincente posible. Además de conseguir grandes sumas de dinero, muchos grupos de cibercriminales utilizan este método de ataque para obtener información confidencial de las empresas. Evitar Phishing Registro SPF: es un protocolo de seguridad que se encarga de comprobar la identidad del remitente de un correo electrónico, sirviéndose de los registros de dominios (DNS). Su uso permite que los servidores destinatarios puedan asegurarse de que el email que están recibiendo proviene de una IP autorizada por el remitente. Para que esta evaluación sea efectiva el servidor que realiza el envío de los mensajes debe disponer de un registro SPF en su servidor DNS y el servidor que los recibe tiene que poder comprobarlo. DKIM: sistema de autenticación que sirve para que los agentes de correo puedan verificar que el origen de los correos que llegan no sean un fraude. Se trata de una firma única vinculada con un dominio determinado, que permite a los destinatarios verificar que el remitente es quien dice ser. DMARC: se pueden definir reglas o políticas de protección donde los filtros antispam rechazan los correos en función de tener determinado asunto o el contenido del mail o la reputación del dominio. PHARMING DNS: al realizar una petición que requiere una búsqueda de DNS, la petición se envía al servidor DNS local del sistema operativo. El sistema operativo, antes de establecer alguna comunicación, comprueba si la respuesta se encuentra en la memoria caché. En el caso de que no se encuentre, la petición se enviará a uno o más servidores DNS. Las transacciones más comunes en DNS son: ● Consultas/respuestas DNS (Queries). ● Transferencias de Zona: mecanismo de replicación de ficheros de zona entre servidores. ● Actualizaciones dinámicas: mecanismo usado para actualizar los ficheros de zona de un servidor DNS. ● Notificaciones: transacción que usa un servidor autoritativo para notificar cambios en su base de datos de zonas. Queries: pueden ser de consulta o de respuesta. Una consulta DNS tiene origen en un resolver con destino un servidor DNS autoritativo o caché. Las consultas DNS realizadas por un resolver pueden ser iterativas o recursivas. ● Iterativa: es aquella en la que el resolver (cliente) requiere al servidor DNS devolver la mejor respuesta basada en sus ficheros de zona o caché. Si el recurso solicitado no se encuentra en el propio servidor, éste en su respuesta devolverá un referral, es decir, un puntero al servidor autoritativo del nivel más bajo del dominio solicitado, al que debe dirigirse a continuación para seguir la iteración. ● Recursiva: es aquella en que el resolver solicita del servidor DNS una respuesta final o un error (si el recurso no existe). En este caso el servidor DNS actúa de intermediario realizando las consultas iterativas necesarias para obtener la respuesta o el error. Pharming: es un tipo de ataque que permite redireccionar un nombre de dominio a una IP distinta de la original. De esta forma, un usuario que introduzca un determinado nombre de dominio que haya sido redirigido, accederá en su explorador de internet a la página web que el atacante haya especificado para ese nombre de dominio (muchas veces, una copia falsa de la original). Tipos: ● Pharming Local: se centra principalmente en la manipulación de un archivo de texto llamado hosts que relaciona en forma unívoca las direcciones IP con nombres de sitios web. Muchísimos códigos maliciosos están diseñados para manipular este archivo, modificando o agregando las direcciones que se encuentran almacenadas en esta tabla. De esta forma, se puede direccionar a una víctima a un sitio falso (Fake); aún cuando éste escriba correctamente la URL en su navegador… de ahí en más , es un ataque phishing. ● DNS Spoofing: es un método para alterar las direcciones de los servidores DNS que utiliza la potencial víctima y de esta forma poder tener control sobre las consultas que se realizan. En otras palabras, alteran las direcciones IP de los servidores DNS de la víctima para que apunten a servidores maliciosos. ● DNS Poisoning Attack. ● DNS Ataque de transferencia de zona. RANSOMWARE Es un código malicioso que, por lo general, cifra la información del ordenador e ingresa en él una serie de instrucciones para que el usuario pueda recuperar sus archivos. La víctima, para obtener la contraseña que libera la información, debe pagar al atacante una suma de dinero, según las instrucciones que éste comunique. Algunas de las técnicas para el secuestro son las siguientes: ● Cifrado de archivos del disco. ● Bloqueo de acceso a ciertos archivos (frecuentemente documentos de ofimática). ● Bloqueo total de acceso al sistema (previo al login, o bloqueo de pantalla una vez que el usuario accedió al sistema). RoT: Ransomware de las Cosas El método de infección más común en cualquier dispositivo inteligente procede de la instalación de aplicaciones que no provienen de la tienda oficial. Las recomendaciones para que nuestros dispositivos inteligentes no sean infectados por un ransomware son similares a las que debemos aplicar para evitar que nuestro móvil se infecte. ● Únicamente instalar aplicaciones de las tiendas oficiales. ● Mantener siempre el sistema operativo actualizado. ● No conectar ningún dispositivo de almacenamiento externo del que desconocemos su nivel de seguridad. ● Conectarse únicamente a través de nuestra red wifi (evitando siempre wifi abiertas). ● No modificar o eliminar las medidas de seguridad que tenga el dispositivo implementadas. BOTNET Zombie: es una PC infectada controlada a distancia por un hacker. Botnet: Red de equipos infectados llamados zombies, ya que es muy probable que el dueño de su equipo no sepa que este está siendo controlado remotamente por un tercero. Este conjunto de equipos zombies son perpetrados para realizar ataques contra terceros. Por ej: DoS, phishing. Una vez que logran infectar equipos a través de troyanos y toman el control de ellos, tienen disponible esa red para perpetrar distintos tipos de ataques. DoS: es un ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible para usuarios legítimos. Se produce a nivel red, es decir, cuando en forma distribuida, por ejemplo a través de Botnet donde cada zombie puede tener una IP distinta. Puede enviar millones de peticiones al mismo tiempo. Esa inundación de peticiones es lo suficientemente alta para sobrecargar la infraestructura y, además, le es difícil al firewall determinar el tráfico legítimo de aquel que no lo es, ya que su capacidad de detección hasta una IP y un puerto. Clean pipes: consiste en que todo el tráfico que recibe esa organización o servidor (o lo que se defina como infraestructura) se redirecciona a una solución que lo que hace es poder distinguir aquel tráfico que corresponde a IP declaradas como maliciosas, de modo de poder evitar este tipo de ataque volumétrico. Banean la IP origen. DoS Syn Flood: cuando el servidor espera las respuesta de los clientes, deja abierto el puerto por un determinado periodo de tiempo. El atacante envía paquetes syn con direcciones IP de origen falsificado múltiples. Después de recibir estos paquetes, el servidor responde a cada uno de esos host con un paquete SYN-ACKs y se va a quedar esperando un determinado tiempo para recibir la respuesta de cada uno de esos host del paquete acknowledge. Como resultado, el servidor destino va a mantener activa una gran cantidad de conexiones hasta que se agote el tiempo de espera. Si ese tiempo es lo suficientemente largo y volumétrico, entonces dejaría de tener capacidad para recibir y atender nuevas peticiones, entre ellas las legítimas. APT (Advanced Persistent Threat) Es un ataque dirigido, tiene predefinido con anterioridad cuál va a ser la víctima. Requiere niveles sofisticados de pericias y recursos, es decir, no está al alcance de cualquiera su ejecución. Se realiza por medio de múltiples vectores de ataque, generando oportunidades para alcanzar su objetivo. Este puede ser establecer y extender su posicionamiento dentro de la infraestructura de la víctima con el objetivo de filtrar información, o simplemente para atacar una tercera parte desde ellos. LAS CINCO FASES DE LOS ATAQUES 1. Interrupción en el sistema 2. El malware contacta con el ciberdelincuente 3. Descarga de herramientas de expansión y persistencia. 4. El malware se propaga lentamente 5. Filtración de datos ANTIMALWARE Es un software que tiene como función detectar software malicioso. Una vez identificada la amenaza puede prevenirla o eliminarla. Puede trabajar de forma reactiva o de forma heurística. Forma reactiva: se basa en comparar la firma de un archivo con lo almacenado en un base de datos. La firma no es solo el hash, es una secuencia continua de bytes que contiene cierta muestra del malware. Importante: mantener el antivirus actualizado. Forma heurística: da como resultado una respuesta a situaciones que no podía cubrir el método de forma reactiva, por ejemplo cuando el malware no tenía todavía una firma cargada. Diseña reglas en base al comportamiento de la experiencia y es un sistema que va aprendiendo automáticamente, haciendo que este método sea mejor y más preciso con el tiempo. Se basa en diferentes criterios para determinar si un archivo es malicioso o no, por ejemplo, si intenta modificar un registro o si establece una conexión remota con otro dispositivo. A cada uno de esos comportamientos se le asigna un puntaje, si supera un determinado umbral, se lo considera una amenaza. Tiene falsos positivos. Tipos de heurística: ● Heurística genérica: se analiza cuán similar es un objeto a otro, que ya se conoce como malicioso. ● Heurística pasiva: se explora el archivo tratando de determinar qué es lo que el programa intentará hacer. ● Heurística activa: se trata de crear un entorno seguro y ejecutar el código de forma tal que se pueda conocer cuál es el comportamiento del código. IOC - La “otra manera” de identificar malware: hacen referencia a una tecnología estandarizada que consiste en definir las características técnicas de una amenaza por medio de las evidencias existentes en un equipo comprometido. De este modo, es posible realizar un intercambio sencillo y práctico de información con otras personas y grupos de gestión de incidentes e implementar las firmas en diferentes herramientas como: ● Sistemas de detección de intrusiones o «Intrusion Detection System» (IDS). ● Sistemas de prevención de intrusiones o «Intrusion Prevention System» (IPS). ● Firewall ● Antivirus ● SIEM El valor real de la tecnología radica en ese intercambio de información ya que permite generar y compartir conocimiento a partir de análisis forenses, respuesta a incidentes o análisis de malware. IOC más frecuentes: tráfico inusual en la red, anomalías en cuenta de usuario, irregularidades geográficas, red flags, incremento extraordinario de consultas en la BD, anomalías en DNS. FUGA DE INFORMACIÓN Data Breach: es una intrusión en un sistema con información confidencial y/o sin la autorización del dueño, aprovechándose de una vulnerabilidad conocida o no, con el fin de controlar el propio sistema o pivotar a otros equipos. Data Leak: se define como una fuga de información expuesta y publicada. La gran diferencia entre Data Breach / Data Leak radica en que el primero es un incidente que compromete un sistema, mientras que el segundo es el resultado del primero en el que se publican en Internet los datos comprometidos en fuentes de acceso públicas o Deepweb (generalmente en webs o foros especializados). CLASE 6 y 7 - Ingeniería social y OSINT INGENIERÍA SOCIAL Es un conjunto de técnicas que usan los cibercriminales para engañar a los usuarios incautos para que les envíen datos confidenciales, infectan sus computadoras con malware o abran enlaces a sitios infectados. La seguridad depende principalmente del factor humano y en un menor grado el factor tecnológico. Principios psicológicos en las tácticas de IS ● Credibilidad: constituye el primer paso en la mayoría de los ataques de IS. Existen 3 métodos que utilizan los IS para construir credibilidad: simula ir en contra de su interés personal, le advierte a la víctima de algo que (sin que la víctima lo sepa) ha provocado el propio atacante, ayuda a la víctima a resolver un problema (que él mismo ocasionó). ● Desviar la atención del pensamiento sistemático: el modo en que procesamos la información recibida va a determinar el grado de eficacia del mensaje persuasivo. Una vez que recibimos un mensaje podemos hacer dos cosas con él: ○ Analizarlo en profundidad: pensamiento sistemático. Pensamos con detenimiento y de forma racional una petición antes de tomar una decisión. ○ Considerarlo sólo de forma superficial: procesamiento heurístico. Tomamos atajos mentales para tomar decisiones. Sesgo cognitivo: cuando quiero desviar la atención del pensamiento sistémico y hacer que la gente actúe de una determinada manera. Es un efecto psicológico que produce la desviación del procesamiento mental, es decir, de la acción que obtengo a partir de una distorsión. Escalera de inferencias o brincos de abstracción PNL: es un modelo que estudia la forma en que los seres humanos percibimos, representamos y comunicamos nuestras experiencias. Visual, Auditiva y Kinestésica. Técnicas y herramientas de Ingeniería Social ● Ataque Técnico (Autoridad/Consistencia) ○ No hay contacto directo interpersonal con las víctimas. ○ El atacante forja mensajes de email, websites, popups o algún otro medio. ○ Pretende ser soporte autorizado o un administrador de sistemas. ○ Trata de obtener información sensible de los usuarios (claves, nombres de usuario, números de tarjeta de crédito, claves de cajero, etc). ○ Muy exitoso. ● Ataque al Ego (Reciprocidad/Simpatía) ○ El atacante apela a la vanidad o ego de la víctima. ○ Usualmente atacan a alguien que parezca frustrado con su situación laboral. ○ La víctima trata de probar cuán inteligente o conocedor es y provee información o incluso acceso a sistemas o datos. ○ El atacante puede pretender ser una autoridad de la ley, la víctima se siente honrada de ayudar. ○ La víctima usualmente nunca se da cuenta. ● Ataque de Simpatía (Simpatía/Compromiso) ○ El atacante pretende ser un nuevo empleado, contratista o vendedor. ○ Existe alguna urgencia de completar una tarea u obtener alguna información. ○ Necesita asistencia o perderá su trabajo o estará en problemas. ○ Juego con la empatía/simpatía de la víctima. ○ El atacante pide ayuda hasta que encuentra a alguien que pueda ayudarlo. ○ Ataque muy exitoso. ● Ataque de intimidación (Autoridad) ○ El atacante pretende ser alguien con influencia (una figura de autoridad, oficial de la ley). ○ Trata de utilizar su autoridad para forzar a la víctima a cooperar. ○ Si hay resistencia utiliza la intimidación y amenazas (pérdida del empleo, cargos criminales). ○ Si pretende ser un oficial de la ley dirá que la investigación es encubierta y no debe ser divulgada. CONTRAMEDIDAS Concientización, separación de tareas, rotación de tareas, mecanismos robustos de autenticación, mínimo privilegio, acceso controlado, logging y auditoría, políticas, clasificación de la información. OSINT Es una disciplina útil para procesar información, está relacionada con encontrar, seleccionar y adquirir información de fuentes públicas, para luego analizarla y utilizarla para acciones de inteligencia. El OSINT es una eficaz herramienta para recopilar todo tipo de información, la cual puede ser utilizada para tareas como realización de perfiles de seguridad, estudios psicológicos, evaluar tendencias de mercado, auditorías en temas de seguridad de la información o conocer sobre la identidad digital y reputación online de personas, entre otras Humint: inteligencia humana, aparece abreviado a veces como HUMINT (Human intelligence) se corresponde con una serie de disciplinas que tienen como objeto la captura de información de inteligencia pero a través de la interacción humana. Signal Intelligence SIGINT: es la inteligencia de Señales, su objetivo principal está relacionado con el análisis y descripción de las mismas: radio, televisión, telefonía móvil, internet. Imagery Intelligence IMINT: es la inteligencia de imágenes derivadas de fotografías aéreas o satelitales. Anatomía de un ataque 1. Recopilación de inteligencia. 2. Selección de la “víctima”. 3. El ataque. Seleccionar Fuentes: encontrar e identificar las fuentes de información relevantes. Adquisición: es la obtención de información en las distintas fuentes públicas. Procesamiento: es procesar la información encontrada con el uso de distintas metodologías. Análisis: analizar la información obtenida y encontrar patrones de búsqueda de acuerdo al origen de la información. Inteligencia: consiste en presentar la información que se encuentra de forma eficaz por medio de esquemas, flujos, diagramas, software, dibujos. Vigilancia Digital ● Anticiparse a acontecimientos, ataques DDoS, atentados terroristas, etc. ● Analizar robos y fugas de información de empresas, gobiernos, etc. ● Investigar a personas, organizaciones, objetivos, eventos, etc. ● Monitorizar lo que se habla en redes sociales, foros, chats y blogs. ● Analizar relaciones entre personas, empresas, asociaciones, partidos, etc. ● Detectar fallos de configuración que impliquen la exposición de información. ● Monitorear e investigar páginas fraudulentas y phishing. ● Monitorizar tendencias sobre lo que se habla en Internet de una organización, producto, persona, etc. Análisis de información de Fuentes Abiertas ● Domain Owner Information ● IP Address Owner Information ● Search Engines 101 ● Social Media ● Metadatos ● Geolocalización ● Mensajería Instantánea ● Archivos ● Documentos ● Usernames Fuentes de información ● Abiertas: acceso irrestricto para todo el mundo. ● Cerradas: protegidas información usualmente clasificada ● Públicas: información que puede tener un organismo del estado y es de libre acceso ● Privadas: en poder de una organización debiendo o no cumplir con determinados requerimientos legales para poder tenerla ● Primarias: primera mano ● Secundarias o terciarias Agregar: se refiere al proceso a través del cual se puede obtener información a la que no se tiene acceso mediante la utilización de datos a los que sí se puede acceder. Inferir: la información combinada tiene un nivel de sensibilidad mayor que las partes que la componen. Métodos de obtención ● Pasiva: obtener la información sin tener ningún tipo de interacción con el objetivo. Información más limitada. ● Semi Pasiva: con este tipo de obtención el analista genera tráfico en la red a través de consultas al equipo (un servidor, por ejemplo) donde se encuentra alojada la información pública que nos interesa. Las consultas se deben realizar con la mayor discreción posible. El analista OSINT asume más riesgos de ser detectado por el objetivo, ya que desconoce las medidas de seguridad existentes, pudiendo tratarse de un honeypot o trampa para "script kiddies" (principiantes). ● Activa: el analista interactúa directamente con el target u objetivo. No es nada discreto a efectos de pasar desapercibidos en nuestro trabajo de OSINT. Se consiguen más datos. Con los conocimientos adecuados, se podría borrar el rastro después de haber accedido a dicho dispositivo o servidor. CLASE 8 - Seguridad en las aplicaciones Capa 7: capa de la aplicación, disponible desde donde sea que me conecte. Mantener un ciclo de desarrollo seguro: ● Causas: falta de seguridad desde el inicio de los proyectos, falta de integración de seguridad en los procesos de desarrollo, aplicar la seguridad en fases finales y más complejas de los proyectos. ● Consecuencias: altos costes, retrasos y reputación empresarial. Pérdidas económicas, pérdidas temporales, pérdida de clientes: confianza-credibilidad Software de aplicaciones y sus alcances: network. hardware, sistema operativo, utilities, aplicaciones de programas. El usuario interactúa a través de las aplicaciones. El software incluye al sistema operativo y las aplicaciones. Las fallas de sw ocurren cuando no se dan los pasos correctos en el ciclo de vida. Hay que ocuparse de la seguridad de las aplicaciones porque hay un activo de valor, hay una amenaza que es viable y puede perpetuarse desde cualquier lugar, y la vulnerabilidad que presenta la aplicación. La seguridad es un proceso continuo. Defensa en profundidad: proteger la aplicación en todas sus capas, ya que debo asumir que todas las capas han sido comprometidas. Validar los datos de entrada. Principio del mínimo privilegio: en cada una de las capas le confiero el menor privilegio a cada uno de los usuarios conectados, cualquier compromiso en cualquier capa va a generar un menor daño en dicha capa porque va a estar limitada la superficie de ataque y el tipo de daño puede ejecutar el usuario. Manejo seguro de errores: tomar la acción más restrictiva posible. Si algo falla o no se comporta conforme a los esperado, que la acción tomada sea la más restrictiva posible. Implemento defensa en profundidad, fallo de manera segura, definir correctamente los mensajes de error, evitar que los errores divulguen información. Seguridad por ocultamiento: no te muestro entonces no te imaginas. Control muy débil. No tengo que mostrarte más información de la pertinente. No es una medida de seguridad en sí. Modelo de seguridad positiva: todo aquello que no esté explícitamente permitido, está prohibido. Fallar de manera segura: se debe diseñar la aplicación para que siempre, ante la eventualidad de un error inesperado, realice la acción más restrictiva posible: cancelando la llamada al procedimiento, no permitiendo el acceso al objeto solicitado, no guardando los datos modificados, asumiendo un default restrictivo, denegando la autenticación, abortando la transacción, cerrando la conexión. Manejo seguro de mensajes de error: UX y no revelar información que no le es relevante al usuario. Los mensajes de error y advertencia que pueda generar la aplicación, deben ser cuidadosamente diseñados. Si el mensaje de error brinda demasiada información, la misma podría ser utilizada por un atacante, pero si los mensajes son de muy bajo nivel el usuario no lo entiende, y si los mensajes son muy pobres el usuario no les presta atención. Arquitectura: mínimo tres capas. Cada una tiene distintos sabores y combinaciones. Una capa de frontend (responsable de capturar todos los datos que ingrese el usuario como interfaz y le presenta la validación de los datos), otra es la capa de negocio (toda las lógicas que deba implementar DMZ, ataja las peticiones de los servidores verificando la composición de dichas peticiones), y luego la capa de datos (base de datos, fileserver). AUTENTICACIÓN Y AUTORIZACIÓN Identificar: es declarar la identidad a ese autenticador. Autenticar: proceso por el cual se prueba que ese sujeto es quien dice ser. Autorización: le doy todos los permisos necesarios para que haga lo que está autorizado a hacer. Autenticación local vs autenticación integrada (externa a la aplicación): puedo implementar un buen algoritmo pero mal implementado puede ser inseguro igual. Apoyarse en el que más sabe de algo antes que hacerlo de nuevo.Integrarse de manera correcta con directorios de usuarios, federarme con otra aplicación, hay que pensar bien cómo hacerlo para asegurarme que no ocurran nuevos errores. Factores de autenticación: deben ser dobles.Tipo 1 (algo que conoces), 2 (algo que tenes) y 3 (algo que sos). Que la medida de seguridad implementada NO se convierta en el punto de falla. Lo logro trabajando con estándares, buenas prácticas que estén actualizadas, verdades universales. MANEJO DE INFORMACIÓN SENSIBLE Información sensible: contraseñas de usuario, credenciales de conexión a BD, claves de encriptación, certificados digitales, datos personales, datos de negocio, datos financieros, etc. En la etapa de diseño es necesario contemplar que la información esté protegida cuando la almaceno (encripción, hashes, ACL's, restricciones en BD) y la transmito (encripción de la comunicación). El problema radica en NO utilizar de manera correcta los mecanismos de encripción o directamente NO utilizarlos. Uso hashes: cuando no es necesario obtener el valor original, sino que alcanza con chequear que un valor ingresado es correcto. Almacenamiento: que no queden en el código fuente, no aparezca en caché, no se guarde ni en archivos locales o logs, eliminar archivos temporales. AUDITORÍA Y TRAZABILIDAD Es deseable que el log sea remoto y que utilice mecanismos de recolección estándar. Si cada vez que pienso en diseñar una aplicación la llevó a un estándar, a futuro va a ser más fácil que se pueda integrar y conectar con un SIEM o demás herramientas. Definir qué es crítico con el negocio en cuestión PARTICIPACIÓN DE SEGURIDAD EN EL SDLC NO alcanza hacer una prueba o una revisión de seguridad al final. Si encuentro un error más lejos del origen, más caro va a ser arreglarlo. Proceso de construcción del software: verification and validation. Cuando construyo y hago el modelo, confronto al usuario con ese modelo para que me lo valide y luego se confronta el modelo con la construcción de software. Intervenciones de seguridad que siempre van a estar: requerimientos de seguridad (tiene mucho que ver con compliance), modelado de amenazas, revisión del diseño de la arquitectura de seguridad, análisis estático y dinámico, revisión de código seguro y pruebas de penetración, configuración de seguridad. MVP: versión de nuevo producto que permita colectar, con el menor esfuerzo posible, la máxima cantidad de conocimiento validado por los potenciales clientes. Para poder entregar valor de manera continua, se requiere un nivel de automatización. Problemas frecuentes en la participación de Seguridad en SDLC ● Equipos de seguridad subdimensionados en comparación con los equipos de desarrollo ● Falta de madurez en conocimientos de seguridad en los equipos de desarrollos ● Falta de automatismos para la revisión automática de código u cheques de configuraciones ● Coexistencia de distintos modelos de ciclo de vida y diferentes niveles de madurez INTRODUCCIÓN A TECNOLOGÍAS WEB Arquitectura: browser cliente, ese browser va a renderizar el archivo html, utiliza el protocolo http para enviar los pedidos al servidor. El browser va a ser el encargado de comunicarse con el web server a través del http, también mantiene las cookies actualizadas, implementa plugins (soportar audio, video). El web server genera la representación de los datos, gestiona las solicitudes recibidas del browser, procesar los datos recibidos y comunicarse con el application server. Application server es el responsable de resolver la lógica empresarial. DBMS se ocupa de la persistencia de los datos. HTTP: es el protocolo más utilizado para navegación web. Durante una comunicación http se intercambian mensajes, el cliente envía un mensaje tipo request para obtener un response del servidor. Versión 1.1. Si es https, se ponen de acuerdo el cliente y el servidor que tipo de cifrado van a utilizar. Contenido estático: permanece invariable desde el momento en que su actor lo crea. Contenido dinámico: es aquel que se genera automáticamente en el momento que alguien solicita su visualización y puede cambiar dependiendo de quién lo solicite o en qué momento lo haga. Reporte de Acunetix: Riesgo alto: este nivel indica que un atacante puede comprometer plenamente la confidencialidad, integridad o disponibilidad de un sistema sin acceso especializado, interacción con el usuario Es muy probable que permite Movimiento lateral y ataque a otros sistemas en el entorno de la Red de la aplicación vulnerable. Riesgo medio: este nivel indica que un atacante puede comprometer parcialmente la confidencialidad, Integridad o disponibilidad de un sistema. Requiere un acceso especializado, interacción del usuario. Es muy probable para ser utilizado en conjunto con otras Vulnerabilidades para escalar un ataque. Riesgo bajo: este nivel indica que un atacante puede comprometer la confidencialidad, integridad o disponibilidad de un sistema de una forma bastante acotada. Requiere un acceso especializado, interacción del usuario o circunstancias que están más allá del atacante. Necesita utilizar otras vulnerabilidades para escalar el ataque. OWASP: es una comunidad abierta dedicada a permitir que las organizaciones: desarrollen, adquieran y mantengan aplicaciones y APIs en las que se pueda confiar. Riesgos en la seguridad de aplicaciones: los atacantes pueden, potencialmente, utilizar diferentes rutas a través de su aplicación para perjudicar su negocio u organización. Cada uno de estos caminos representa un riesgo que puede o no ser suficientemente grave como para merecer atención. ¿Cómo se estima el riesgo? El OWASP Top 10 se enfoca en identificar los riesgos más críticos para un amplio tipo de organizaciones. Para cada uno de estos riesgos, se proporciona información genérica sobre la probabilidad y el impacto técnico, utilizando el siguiente esquema de evaluación, basado en la Metodología de Evaluación de Riesgos de OWASP. El ordenamiento del top 10 se realiza en orden descendente. En el caso de probabilidad se considera: explotabilidad (que nivel de expertir ? requiere para poder llevarlo adelante), prevalencia (predeterminado por el top 10) y detectabilidad (que tan ruidoso es ese tipo de intrusión). TOP 10, 2017 ● A1: 2017 Inyección Ingreso de datos que no han sido sanitizados ● A2: 2017 Pérdida de Autenticación ● A3: 2017 Exposición de datos sensibles ● A4: 2017 Externas XML (XXE) (Deriva en un ataque de denegación de servicio) ● A5: 2017 Pérdida Control de Acceso ● A6: 2017 Configuración de Seg Incorrecta ● A7: 2017 Secuencia de Comandos Sitios Cruzados (XSS) Ingreso de datos que no han sido sanitizados, se envía sin validar al servidor, se puede ejecutar comandos externamente ● A8: Deserialización Insegura ● A9: Componentes con vulnerabilidades conocidas ● A10: Registro y Monitoreo Insuficientes (Supera los 100 días aprox) Fase inicial de penetration test: reconocimiento, es decir, identificar las tecnologías que usan los servidores. Una de las técnicas es el banner grabbing. Banner grabbing: muchos web services revelan diferente información sobre el software utilizado y componentes instalados. Por ejemplo: La cabecera HTTP revela información sobre instalaciones Extensiones de archivos: las extensiones utilizadas dentro de las URLs revelan la plataforma o el lenguaje de programación utilizado, ejemplo: A1: 2017 - INJECTION Un atacante puede enviar código dañino a un intérprete de forma directa. ¿La aplicación es vulnerable? Una aplicación es vulnerable a ataques de este tipo cuando: ● Los datos suministrados por el usuario no son validados, filtrados o sanitizados por la aplicación. ● Se invocan consultas dinámicas o no parametrizadas, sin codificar los parámetros de forma acorde al contexto. ● Se utilizan datos dañinos dentro de los parámetros de búsqueda en consultas Object-Relational Mapping (ORM), para extraer registros adicionales sensibles. ● Los datos dañinos se usan directamente o se concatenan, de modo que el SQL o comando resultante contiene datos y estructuras con consultas dinámicas, comandos o procedimientos almacenados. Algunas de las inyecciones más comunes son SQL, NoSQL, comandos de SO, Object-Relational Mapping (ORM), LDAP, expresiones de lenguaje u Object Graph Navigation Library (OGNL). El concepto es idéntico entre todos los intérpretes. La revisión del código fuente es el mejor método para detectar si las aplicaciones son vulnerables a inyecciones, seguido de cerca por pruebas automatizadas de todos los parámetros, encabezados, URL, Cookies, JSON, SOAP y entradas de datos XML. Se pueden incluir herramientas de análisis estático (SAST) y pruebas dinámicas (DAST) para identificar errores de inyecciones recientemente introducidas y antes del despliegue de la aplicación en producción. SQL INJECTION Es un tipo particular de inyección que involucra al lenguaje estructurado de consultas que emplean las bases de datos. Es un método de inserción de código en una aplicación para realizar operaciones sobre una base de datos a partir de una vulnerabilidad en la misma. La vulnerabilidad reside en la falta de validación o filtrado de las variables que se ingresan y desde donde se genera dinámicamente, sentencias SQL. Al no existir validación de datos en los ingresos del usuario, es posible enviar querys “mal formadas” para ejecutar sentencias SQL en el Motor. La posibilidad de ejecutar sentencias/daños dependerá del nivel de permisos del usuario con el que se realiza la conexión a la Base de Datos. ¿Cómo ocurre? 1. La aplicación presenta un formulario 2. El atacante envía un ataque en los datos del formulario (atraviesa el firewall, y los Servers) 3. La aplicación envía el ataque a la base de datos en una query 4. La BD ejecuta la consulta que contiene el ataque y envía los resultados cifrados a la aplicación 5. La aplicación descifra los datos como normal y envía los resultados al usuario Ataques de inyección de datos Se produce cuando un atacante puede “inyectar” valores no controlados en los parámetros de la aplicación. Tales como ataques simples, basados en texto, cualquier input de datos puede ser un vector de ataque Puede resultar en: accesos no autorizados, corrupción de datos, denegación de servicio, divulgación de información . Ocurre cuando un atacante envía datos al intérprete que se explotarán sin que medie una validación en el medio. Cualquier entrada puede ser un vector de inyección. XSS CROSS SITE SCRIPTING Cross-Site Scripting (XSS): consiste en una inclusión de un script en una página Web que se ejecuta cuando la página es accedida por un usuario. El ataque ocurre cuando la aplicación le muestra al usuario los datos que el propio usuario ingresó. El script se puede ingresar de varias formas. Ej: - En la url - En un formulario (ej: post de un foro). La vulnerabilidad tiene lugar en dos momentos distintos: recepción de valores ingresados por el usuario y visualización de dichos valores en páginas HTML. Tipos: 1. No permanente o Reflejado: el código de scripting se incluye en el request, generalmente en la URL 2. Permanente: el código de scripting se almacena en la capa de persistencia de la aplicación (Base de datos o Archivos). 3. Local: por alguna otra debilidad el atacante logra inyectar el código de scripting en un archivo almacenado localmente en el equipo de la víctima Cross Site Scripting Reflejado: cuando una aplicación utiliza un sitio dinámico para mostrar mensajes de error a usuarios, usualmente el navegador toma el parámetro enviado y renderiza el sitio mostrando el error. Este comportamiento, al no tener ninguna validación o filtro, es señal de una vulnerabilidad de XSS Reflejado (Más Información). La url la manda el atacante. Cross-Site Scripting Almacenado La información queda almacenada en el servidor de la web server y son mostrados a otros usuarios sin ser procesados apropiadamente. El ataque se basa en usuarios ejecutando código malicioso provisto por el atacante dentro del mismo sitio. Se presenta en entornos que permiten la interacción entre usuarios. “Cualquier aplicación que refleje el input del usuario sin validar su contenido”. MANEJO SEGURO DE SESIONES Si el manejo de sesiones no es realizado en forma segura, podría ser factible que un usuario tome control de la sesión de otro. Ocurre cuando los identificadores de sesión son predecibles, cuando los esquemas de autenticación y manejo de sesiones son generados por los propios desarrolladores, por el incorrecto manejo de contraseñas, logoff, preguntas secretas, etc. 1. Session TimeOut: es un parámetro que uno define, que determina un valor numérico que tiene que ver con el tiempo lícito que se permite entre que el usuario dejó de hacer cualquier tipo de actividad hasta el momento que se declara la sesión invalida. Mejores prácticas: ● establecer el tiempo de espera de la sesión en el mínimo posible según el contexto de la aplicación. ● evitar un valor alto o infinito para la duración del timeout ● usar la definición declarativa para timeout, preferentemente para aplicar el valor de timeout para todas las sesiones de la aplicación ● implementar trazabilidad de la creación / destrucción de la sesión para poder monitorear la creación de un número de sesión anormal (fase de perfil de la aplicación a un ataque) 2. Un atacante se loguea a la página de un servicio y el servidor le asigna una sessionID. Luego el atacante le envía a la víctima esa sessionID fijado y cuando la víctima se loguee legítimamente a ese servidor, le va a pedir sus credenciales y las ingresará, cuando esto ocurra el atacante contará con una sessionID autenticada por la víctima en el servidor. 3. La aplicación inserto el ID de session dentro de la url. Cualquier persona que acceda a dicha url podría ingresar y estar autenticado. 4. Un atacante gana acceso a la base de datos donde se almacenan las contraseñas. Si las mismas no son almacenadas de manera segura, como por ejemplo hasheadas, quedarían expuestas al atacante. Broken Authentication and Session Management ¿Qué se puede lograr? Predicción de sesiones: generalmente cuando se puede predecir un ID de sesión, permite crear un ID de sesión válido de otro usuario. Reutilización de sesiones: cuando un ID de sesión caducó se reutiliza en poco tiempo. Fijación de sesiones: cuando se puede generar un ID de sesión arbitrario desde el cliente. Sniffing de identificadores de sesión: si el canal no está encriptado, si el ID de sesión está en la URL. HERRAMIENTAS COMPLEMENTARIAS Proporcionando seguridad en capas: firewall de BDs y de aplicaciones. WAF: protege la capa lógica de negocio. Se pueden definir reglas de filtrado para los ataques más convencionales de owasp, es decir, una regla para sanitizar. Los FW tradicionales trabajan en la capa de red y de transporte, pero al dejar el puerto 80 abierto no ofrecen ninguna clase de protección para la aplicación frente a estos ataques especializados en explotar vulnerabilidades web. Se trata de un dispositivo físico que analiza el tráfico web (entre el servidor web y la WAN), los datos recibidos por parte del usuario y protege de diferentes ataques web. El WAF solo es una herramienta complementaria y no pretende sustituir las medidas de protección que el desarrollador tiene que llevar a cabo al programar una aplicación. Se encuentra entre el tráfico que se recibe de internet y el web server, analiza las peticiones y solo deja pasar las inofensivas, las ofensivas las pone en cuarentena. WAF – Modelos de seguridad ● Modelo de Seguridad Positiva: los WAF que siguen el modelo de seguridad positiva deniegan por defecto todas las transacciones y solamente acepta las que identifica como seguras o válidas. Para determinar si una transacción es segura, consulta una serie de reglas que se definen previamente, ya sea, por el auto-aprendizaje de la aplicación o configuradas manualmente. ○ no dependen de ningún tipo de actualizaciones y protegen de ataques desconocidos ○ difícil de mantener ○ detectar falsos positivos y necesitan un proceso de aprendizaje ● Modelo de Seguridad Negativa: el WAF acepta todas las transacciones y solamente deniega las que detecta como una posible amenaza o un ataque. ○ no precisan de muchos ajustes y suelen ser fáciles de administrar. ○ no es muy preciso ○ depende de actualizaciones y bases de firmas de posibles ataques. Puede detectar un posible buffer overflow analizando las variables que lleguen por GET o POST. Por ejemplo, si el valor de una variable es superior a 150 caracteres, el WAF podría detectar la transacción como maliciosa y denegarla. Para los ataques de Cross Site Scripting y SQL Injection, el WAF vigila que los valores pasados tanto por GET como por POST, no contengan valores como "SELECT FROM, UNION, CONCAT, <script>, %, etc. El factor negativo, es que, si la aplicación utiliza caracteres que el WAF tenga en su "lista negra", denegará las peticiones de los usuarios, en este caso hay dos soluciones: rediseñar el funcionamiento de la aplicación o configurar el WAF para que ignore dichos caracteres. Algunos WAF también monitorizan las respuestas del servidor, por ejemplo, si en una respuesta, que el servidor web envía al usuario se detectan cadenas que pueden ser identificadas como cuentas bancarias, el WAF lo puede detectar como un posible ataque y denegar la respuesta. Funciona básicamente con una base de firmas. Herramientas de análisis de código: DAST (análisis de código de forma dinámica) y el SAST (análisis de código de forma estática). Trabajan en forma complementaria. El SAST va integrado el IDE del programador. El DAST se ejecuta como una especie de sandbox, es decir, va probando la aplicación en el uso, un escaneo más automático. El otro es una revisión estática del código. Herramientas útiles en penetration testing para aplicaciones web Web Proxy: se ubica entre el browser y el servidor web (o entre el navegador y el proxy de la red). Cada vez que el browser realiza una petición al servidor web a través del protocolo http. El web proxy (en forma local o en un equipo en control de pentester) captura el tráfico y permite modificarlo de modo de enviarlo modificado al servidor web. Scanner de vulnerabilidades: es una herramienta utilizada para analizar un servidor determinado, verificando problemas comunes de configuración, versiones desactualizadas o vulnerables, y problemas de seguridad de distintos servicios. MODELADO DE AMENAZAS Un modelado de amenazas es un análisis que ayuda a determinar los riesgos de seguridad que pueden aparecer o acaecer en un producto, aplicación o entorno, así como la forma en la que se presentan estos ataques. El objetivo es identificar cuáles son las amenazas y qué tipo de mitigación. ● Identificar amenazas potenciales así como condiciones necesarias para llevarlas a cabo. ● Facilitar identificación de condiciones o vulnerabilidades que afecten a la existencia de múltiples amenazas. ● Proporcionar información relevante sobre cuáles serían las contramedidas más eficaces para mitigar un posible ataque. ● Proporcionar información sobre cómo las medidas actuales previenen la consecución de ataques. ● Transmitir a la dirección la importancia de los riesgos tecnológicos. ● Establecer una estrategia sólida para evitar posibles brechas de seguridad. STRIDE Es un método de clasificación de amenazas. Según el método STRIDE el sistema se descompone en componentes y se analiza cada componente para comprobar qué amenazas le pueden afectar. Cuando se detectan amenazas se proponen acciones para mitigarlas. El modelo utilizado está basado en patrones, con el que se puede identificar problemas repetibles y organizarlos en categorías. Estas categorías facilitan la descomposición de la aplicación para un análisis mejor. La metodología recomienda la reutilización de información y comunicación entre las partes. ● ● Spoofing - Suplantación: se produce cuando un atacante se hace pasar por alguien que no es. Tampering: se produce cuando el atacante modifica los datos en tránsito. ● ● ● ● Repudiation: negar la autoría de una acción o evento en los sistemas de información. Information Disclosure: cuando la aplicación revela información sensible de forma no controlada debido a un error en la programación o un fallo en la configuración del servicio o aplicación. Denial of Service: introducción de información maliciosa que logre la saturación o el bloqueo de la aplicación y de los servicios que esta proporciona generando una caída Elevation of Privilege: se produce cuando un atacante tiene la capacidad para obtener privilegios que normalmente no tendrían. Esto se logra mediante la alteración o ataque a la aplicación obteniendo unos niveles de acceso mayores a los otorgados, saltándose así la política de control de acceso predefinida. Modelos de Madurez de Seguridad en Software Medir las capacidades en las organizaciones de seguridad de software es posible hoy en día con los modelos de madurez de seguridad de software. Estos modelos de madurez están diseñados explícitamente para la garantía de seguridad de software. SAMM: es un marco de trabajo abierto para ayudar a las organizaciones a formular e implementar una estrategia de seguridad para Software que sea adecuada a las necesidades específicas que está enfrentando la organización. Los recursos proveídos por el SAMM ayudarán a: ● Evaluar las prácticas de seguridad en Software existentes en la organización ● Construir un programa de seguridad en Software balanceado en iteraciones bien definidas ● Demostrar mejoras concretas en el programa de aseguramiento de Software ● Definir y medir las actividades relacionadas con seguridad en la organización Niveles de madurez en seguridad CMM1: tienen un proceso ad-hoc para “atrapar” y “remendar” vulnerabilidades de las aplicaciones. En este nivel, la madurez organización en la práctica de seguridad de software consiste en correr herramientas de análisis de vulnerabilidades de aplicaciones web en reacción a los acontecimientos, como para validar las solicitudes de cumplimiento de PCI-DSS y OWASP Top 10 – seguridad reactiva. CMM2: la organización ya ha adoptado procesos estándar para las pruebas de seguridad de aplicaciones para las vulnerabilidades, incluidas las revisiones de código seguro de las bibliotecas y componentes de software existentes. En este nivel, el proceso de pruebas de seguridad puede repetirse para producir resultados consistentes (por ejemplo, conseguir mismos problemas de seguridad si se ejecuta por diferentes testers), pero no se ha adoptado en todos los grupos de desarrollo de software dentro de la misma organización seguridad reactiva. CMM3: los procesos de seguridad de las aplicaciones se ejecutan siguiendo los procesos estándares definidos y estos son seguidos por todos los equipos de seguridad dentro de la misma organización. En este nivel, los procesos de seguridad de aplicaciones también son proactivos, lo que significa que se ejecutan las pruebas de seguridad de aplicaciones como parte de los requisitos de gobierno, riesgo y cumplimiento antes de su liberación en producción. seguridad proactiva. CMM4: los riesgos de seguridad de aplicaciones son identificados y gestionados en diferentes fases del SDLC. En este nivel, el enfoque de la seguridad es la reducción de los riesgos para todas las aplicaciones antes de que aparezcan en producción. CMM5: los procesos de seguridad de aplicaciones están optimizados para una mayor cobertura de la aplicación y del mayor retorno de las inversiones en las actividades de seguridad de la aplicación seguridad OPTIMIZADA. Es raro ver organización en CMM4 y CMM5 CLASE ASINCRÓNICA - PCI PCI: hacen un esfuerzo mancomunado para formular, educar y dar conocimiento de normas de seguridad al mundo de tarjetas. Cuyo objetivo es establecer un marco de control único para asegurar que el entorno donde operan sus tarjetas de crédito reúna las condiciones de seguridad básicas para evitar fraudes. Normas de Seguridad PCI DSS, PA DSS y PCI PTS ● PCI DSS: aplica a todas aquellas entidades que transmiten y almacenan datos de tarjetas de crédito. Se encuentra dividido en 6 grupos principales y 12 requisitos: desarrollar y mantener una red segura, proteger los datos de los tarjetahabientes, mantener un programa de manejo de vulnerabilidad, implementar medidas sólidas de control de acceso, monitorear y probar regularmente las redes, mantener una política de seguridad de información. El cumplimiento de PCI DSS es obligatorio para cualquier comercio o proveedor de servicios que procese, almacene o transmita datos de tarjetas de pago. ● PA DSS: si deseo certificar una aplicación que va a gestionar pagos para comercializar dicha aplicación. ● PTS DSS: esta norma recoge los requisitos de seguridad para transacciones con PIN. Va dirigida a los productores de los dispositivos de pago, definiendo los requisitos que deben seguir en el diseño, fabricación y transporte de estos dispositivos así como las entidades que los utilicen. Los requisitos se deben cumplir para todos los componentes de la red donde se procesan los datos de tarjeta. Se recomienda achicar lo más posible el cd, es decir, el entorno de datos de tarjeta. Para realizar esto se debe hacer una adecuada segmentación de la red, de modo tal que se puedan aislar los sistemas que procesen, almacenen y transmitan los datos de las tarjetas. Pasos para la identificación del alcance de cumplimiento 1. Identificar cómo y dónde la organización recibe datos de tarjeta de pago. 2. Documentar debidamente ese flujo, desde el punto de vista funcional y técnico es un paso imprescindible. 3. Identificar todos los demás componentes del sistema, procesos y personal que se encuentra en el alcance. 4. Implementar controles para minimizar el alcance únicamente a componentes, procesos y personal necesario. 5. Implementar todos los requerimientos aplicables de PCI DSS. 6. Mantener y monitorizar la efectividad y eficacia de los controles desplegados. ¿Qué controles se pueden implementar para realizar la segmentación? Es importante tener bien en claro los flujos operativos, así como tener los diagramas de red actualizados. Hay que implementar distintos controles lógicos para reducir y aplicando el mínimo privilegio los activos alcanzados. Se puede realizar con: firewalls de red con reglas de filtrado (rulesets) robustos, ACL’s, balanceadores (o equilibradores) de carga con políticas de distribución robustas, uso de Security Groups (SG–NSG) en entornos en cloud, redes de área local virtual (Virtual LAN – VLAN y PVLAN) lógicas independientes dentro de una misma red física, aislamiento físico a nivel de hardware (uso de equipos independientes para el entorno PCI DSS), uso de cortafuegos en redes definidas por software (Software defined networking – SDN), uso de hipervisores (hypervisors) para virtualización exclusivos para el entorno PCI DSS, uso de recursos en cloud ubicados en diferentes cuentas (multi-account). Tener en cuenta que el componente del sistema que implementa la segmentación (cortafuegos, enrutadores, conmutadores, etc.) va a estar incluido en el alcance de comportamiento de PCI. Datos confidenciales de autenticación NO pueden ser almacenados. PAN: es el ID o identificador de la tarjeta. Se estableció por un estándar en la ISO, la cual establece el criterio para nombrar a la tarjeta. Esto se hace porque es la única forma con la cual puede haber operatividad en los comercios porque hay distintos proveedores de servicios de tarjetas. En lugar de enviar el PAN se pueden enviar valores de hash empleando una criptografía sólida o utilizar el método de tokenización. Tokenizar: cuando se aplica a la seguridad de la información, se trata de sustituir un elemento sensible o confidencial por un equivalente no sensible, tal como un hash. Este token de por si no tiene ningún valor ni significado, ni tampoco es reversible. Si un atacante obtuviera este valor durante su transmisión, no podría utilizarlo para realizar un pago. Esquema de numeración del pan (Primary Account Number) ● Major Industry Identifier (MII): identifica el tipo de sistema al que la tarjeta está asociada (finanzas, aerolíneas, bancas, entretenimiento, etc). ● Issuer Identifier Number (IIN) o Bank Identification Number (BIN): está compuesto por los seis primeros dígitos de la tarjeta (incluyendo el MII). Permite la identificación del banco emisor de la tarjeta para efectos de enrutamiento de transacciones interbancarias. Una lista de IIN/BIN se puede encontrar aquí. ● Individual Account Identification (IAI): este número lo componen los dígitos a partir del séptimo hasta el penúltimo e identifica el número de cuenta asociado al titular de tarjeta. ● Check Digit: es el último dígito de la tarjeta y es calculado usando el algoritmo de Luhn ● La longitud del PAN depende muchas veces de la marca de tarjetas que lo gestiona y del área de emisión. Valor de verificación de tarjeta (CID/CAV2/CVC2 /CVV2) CVV: es un valor almacenado en la banda magnética y no es visible por el usuario en el proceso de validación. Es muy importante, ya que es una forma de autenticación cuando se realizan pagos no presenciales. Por norma general, los valores de CID/CAV2/CVC2/CVV2 no pueden ser almacenados por el comercio o el proveedor de servicio bajo ningún criterio. Esta prohibición está establecida en el requerimiento 3.2.2 de PCI DSS: 3.2.2. Desarrollar y Mantener una Red Segura 1. Requisito 1: Instalar y mantener una configuración de cortafuegos para proteger los datos. Rechazar todo otro tráfico entrante y saliente que no esté específicamente permitido. 2. Requisito 2: No usar contraseñas de sistemas y otros parámetros de seguridad provistos por los proveedores. Proteger los Datos de los Tarjetahabientes 3. Requisito 3: Proteger los Datos de los Tarjetahabientes. 4. Requisito 4: Encriptar la información de los tarjetahabientes e información confidencial transmitida a través de redes públicas abiertas. Mantener un Programa de Manejo de Vulnerabilidad 5. Requisito 5: Usar y actualizar regularmente el software antivirus. 6. Requisito 6: Desarrollar y mantener aplicaciones seguras. Implementar Medidas Sólidas de Control de Acceso 7. Requisito 7: Restringir el acceso a los datos de los tarjetahabientes tomando como base la necesidad del funcionario de conocer la información. 8. Requisito 8: Asignar una identificación única a cada persona que tenga acceso a un computador. 9. Requisito 9: Restringir el acceso físico a los datos de los tarjetahabientes. Monitorear y Probar Regularmente las Redes 10. Requisito 10: Rastrear y monitorear todo el acceso a los recursos de la red y datos de los tarjetahabientes. 11. Requisito 11: Probar regularmente los sistemas y procesos de seguridad. Mantener una Política de Seguridad de Información 12. Requisito 12: Mantener una política que contemple la seguridad de la información para los empleados y contratistas. Niveles de cumplimiento, ejemplo Pasos de certificación Cantidad de transacciones anuales definirán si necesitas certificar o no. Compliance CLASE ASINCRÓNICA - Herramientas de seguridad PPT: Personas-Procesos-Tecnologías Firewall: dispositivo de seguridad que monitorea el tráfico de la red entrante y saliente y decide si bloquea un tráfico en específico, en función de un conjunto de reglas que tiene predefinidas. Una barrera entre la internet pública y la privada. Reglas allow y deny. Reglas que redireccionan un pedido en particular sin avisar al emisor, drop. Debe haber un proceso formal definido en cada organización para realizar el alta y la baja de firewall. Este proceso supone que debe haber alguien que las solicita y alguien que las aprueba, y debe guardarse un registro detallado de toda esa operación. Permitir únicamente las comunicaciones autorizadas explícitamente e impedir cualquier comunicación que fuera explícitamente prohibida, dejando permitido todo lo demás. Hay dos tipos: filtrado de sw y de hw. Segmentación de la red: es un proceso que se encarga de dividir la red en pequeñas subredes, cuyo propósito es mejorar el rendimiento de las redes, pero también lo es mejorar las condiciones de seguridad. Reduce el riesgo en cada una de las partes de la red, reduce la superficie de ataque. Controla el tráfico en todas las partes de la red. Configuración de firewall internos, las ACL’s, VLANs. Mejor medida, pero lenta. VLANs (Virtual LANs): red de computadoras lógicamente independientes entre sí. Bloquear el acceso a cierta VLAN por parte de los atacantes que quieran ejecutar cualquier ataque de cualquier tipo. Es más común hablar de VLANs entre los switches y routers. Funcionan en la capa 2. Aislar servidores de estación de trabajo. Segmentar los servidores es aún mejor. Se reduce la posibilidad de hacer packet sniffing. IDS: son sistemas capaces de detectar intrusos por medio del análisis de información que se transmite a través de la red. Existe un patrón de comportamiento de un intruso, claramente diferente al patrón de un usuario legítimo, por lo tanto se puede detectar con análisis y estadísticas de uso. Crea un patrón de comportamiento de los usuarios respecto de los programas, transacciones, dispositivos, horarios, tanto en corto y largo plazo. Hay dos tipos: basados en red (NIDS) y basados en hosts (HIDS). El primero examina los paquetes de la red, el tráfico de entrada y salida, tiene sensores a través de la red y reporta los sensores a un host central, que es el encargado de poder analizar ese comportamiento distribuido. El segundo se ocupa de un único host en particular, que está protegido. IDS automatiza el proceso de detección de intrusos, IPS toma acciones de prevención. El primero trabaja en forma reactiva. VPN (Virtual Private Networks): es una tecnología que se soporta la posibilidad de conectarse a una red pública. Es como si generara una extensión de una red física local. El concepto de tunneled tiene que ver con esto. La comunicación que se establece entre un punto y el otro, va encapsulada utilizando un protocolo de cifrado. Sirve para acceder a la red interna de una organización o para acceder al contenido restringido de una locación. NO sirve para garantizar el anonimato. Concepto de privacidad basado en políticas, diferente al concepto de privacy by design. Me da un enlace seguro a una red insegura. Filtrado de contenidos: cuando quiero regular el tráfico y el consumo de internet en una organización. Automatizo las listas blancas y negras de sitios permitidos. Le proporciona protección a la compañía. HoneyPots: un sistema de seguridad que está diseñado como una trampa que se utiliza para identificar, evitar y en cierta medida neutralizar, los intentos de ataques sobre las redes. Firewall de aplicaciones: se utiliza para controlar el acceso a una aplicación o servicio web. Opera sobre la capa 7. Tiene reglas precargadas que permiten habilitar rápidamente la protección contra los ataques tradicionales, por ejemplo, SQL injection. Firewall de bases de datos: provee una medida adicional para proteger mi motor de base de datos. La principal función que posee, es que permite trabajar con un mayor nivel de granularidad, de discrecionalidad de los permisos que puedo otorgar sobre la BD. Puedo tomar acciones por el contenido de los registros contenidos en una BD. DLP (Prevención de Pérdida de Datos): son soluciones que pueden realizar un monitoreo activo de la información que está saliendo del perímetro de la red. O, incluso, pueden tener funciones de detección de la información dentro de los recursos propios de la compañía. Provee una capa que vigila y monitorea determinadas acciones. Por ejemplo, evitar que copien cosas a dispositivos externos. Registrar logs. Puede trabajar en forma dinámica con patrones que establezcamos. Escáner de vulnerabilidades: es una herramienta fundamental para el proceso de vulnerability assessment, es decir, el proceso periodico de recorrer la infraestructura para detectar si hay déficits en el parchado, puertos inseguros, etc. Proveen una actualización continua de esas bases de vulnerabilidades. Establecer un rango de direcciones IP. Se genera un reporte de vulnerabilidades durante el escaneo. Este reporte será clasificado en base a un estándar. El reporte proveerá una primera aproximación para poder priorizar las acciones de remediación y mitigación. SIEM: herramienta fundamental para procesos de monitoreo. Se trata de una plataforma que recolecta logs y registros de múltiples plataformas. Toda la información colectada va a parar a una consola (el SIEM). Recolecta información y parsea los registros para llevarlos a un formato entendible, darles un significado. Hardening: se relaciona con el concepto de proceso. Se trata de un proceso para asegurar un sistema mediante la configuración de determinadas reglas que establece un estándar. Reduce la posibilidad de que se ejecuten o se exploten determinadas vulnerabilidades o, que incluso, la superficie de ataque sea menor, ya que puede evitar ataques de movimiento lateral. Control de accesos: soluciones de SSO, identity management, CASB. Cuanto más automatizado este un proceso, menos susceptible va a ser a los errores humanos. Grandes cantidades de usuario Altas complejidades de administración Heterogeneidad de sistemas y plataformas Necesidades de integración Gestor de identidades (Identity Management): permite gestionar el ciclo de vida entero de los usuarios y los recursos a los que accede. Automatizar el alta de un usuario por parte de RRHH asignándole un rol. Con tan solo completar el puesto de la persona, el software, a partir de la combinación de tecnologías, podría ejecutar una serie de acciones para crear ese acceso en los múltiples sistemas con el perfil adecuado. Se puede integrar la autenticación a un autentication directory (el usuario recuerda solo una contraseña) o sincronizando el cambio de contraseña en cada uno de los dispositivos. CASB (Cloud Access Security Broker): solución en continuo crecimiento. Permite un nivel de protección en la nube. Atender los riesgos de seguridad del consumo de aplicaciones en la nube. Los proveedores se concentran en proteger sus aplicaciones contra ataques o su infraestructura, pero poco pueden hacer respecto de la implementación de las políticas de seguridad propia de cada organización. Entonces, CASB busca proteger los ataques orientados no a la aplicación en sí, sino a la información de los usuarios que consumen dicha aplicación. Con la ventaja de que la misma aplicación es la que genera ese portal de acceso. Es como un proxy. Inspecciona todo el tráfico que va desde y hacia las aplicaciones en la nube, permitiendo conocer las actividades que realizan los usuarios en los servicios que están contratados. Da protección en distintas fases. Permite detectar la shadow IT. Permite establecer cuatro pilares básicos: visibilidad, conformidad (compliance), prevención de amenazas, seguridad. Antivirus: previene o elimina una amenaza, por firmas o heurísticas. Antispyware: complementa la función del antivirus para evitar que se instalen spywares en las PCs. CLASE 9 - Informática forense Análisis forense: conjunto de técnicas consumado para extraer información valiosa. Proceso de preservación, colección, análisis y presentación de evidencia digital. Cibercrimen: actividades ilegales llevadas a cabo por individuos o organizaciones delictivas, en las que el uso de la tecnología tiene mayor o menor participación. Territorialidad: el cibercrimen permite desde una localización remota realizar una actividad delictiva. Entonces, ¿dónde está la jurisdicción de ese cibercrimen? Criminología: estudio el móvil o la relación que conduce o provoca la delincuencia en sí. Estudio la conducta social, humana. Criminalística: estudia conocimientos, métodos y técnicas de investigación. Principio de legalidad: un hecho es un delito cuando es jurídicamente relevante. Es jurídicamente relevante cuando puede encuadrarse en un tipo penal. Delitos informáticos: cualquier acto ilegal que requiera el conocimiento de tecnología informática para su perpetración, investigación o persecución. Algunos ejemplos: generación y distribución de código malicioso, ataques de denegación de servicio, phishing, piratería de software, violación de secretos comerciales (aún cuando me despidan y me vaya a trabajar a la competencia), fraude informático, estafa informática, hostigamiento, amenazas, pornografía infantil. Proyecto VIC: crea una base de imagenes de pornografía infantil compartida. No se comparte la base, se comparten los hash, permitiendo aumentar significativamente la capacidad de detección de ese tipo de contenido mientras se transporta o almacena. Informática forense: es una de las ramas de la ciencia forense. Se encarga de adquirir, analizar, preservar y presentar la evidencia. Evidencia: es todo aquello indicio, prueba, señal, vestigio que marca o prueba la existencia de un delito. Puedo usarla para probar la autoría de un hecho, como para probar que existió, la reconstrucción del mecanismo del hecho. Puede ser orientadora o probatoria. Dentro de la orientadora es aquella que proporciona una pista o un hilo para poder realizar una investigación. La probatoria es para dar constancia de que ello ocurrió y debe ser relevante, suficiente, confiable y válida. La evidencia digital se debe adquirir del método menos intrusivo posible. Cadena de custodia: registro cronológico y minucioso de la manipulación adecuada de los elementos, rastros e indicios hallados en el lugar del hecho, durante todo el proceso judicial. No es solo la existencia del log que pruebe la transacción, tengo que poder probar y defender toda la cadena de custodia, es decir, todo el proceso de preservación del log y todo el proceso por el cual se extrajo. Fruto del árbol envenenado: se refiere a las pruebas de un delito obtenidas de forma ilícita. Fases ● Preservación ● Colección: Cadena de custodia, preservación de evidencia Este proceso se define como la recolección de los dispositivos y la documentación (incautación y secuestro de los mismos) que puedan contener la evidencia que se desea recopilar o bien la adquisición y copia de la información existente en los dispositivos. ● Análisis: Reconstrucción de eventos, análisis soportado con herramientas. ● Presentación: Presentación oral, escrita ante los entes respectivos, lenguajes correctos, soportes adecuados. Colección / adquisición: debo proceder primero de lo más volátil a lo menos volátil. Admisible (valor legal), auténtica (no debe haber sufrido alteración), completa, creíble y confiable (la técnica que use para obtenerla debe ser reconocida). Los datos deben ser estériles, debo crear hash del sistema original, imágenes del sistema, crear hashes de las imágenes, hacer el análisis sobre las imágenes NO sobre el original o la copia. Copia: si es para una causa penal, debe ser BIT A BIT. Clonar NO es copiar. La evidencia se válida con un hash. Reglas fundamentales Minimizar el manejo del original mediante la duplicación de datos Documentar los cambios si es necesario alterar el original o el duplicado Debe presentarse la información de manera representativa No exceder el conocimiento propio y del equipo Tipos de Análisis ● Análisis forense de sistemas operativos ● Análisis forense de redes ● Análisis forense de sistemas embebidos ● Análisis forense de memoria volátil Presentación Debe contener: ● Contexto del incidente ● Listado de evidencias ● Hallazgos ● Acciones realizadas por el investigador ● Documentación de la cadena de custodia CLASE 10 - Ley de PDD Data privacy: la finalidad, condiciones de uso, el nivel de pertinencia de los datos en sí. Concepto arraigado a la legalidad del tratamiento de ese dato. Corresponde que yo haga tratamiento de ese dato. Data protection: una medida concreta para evitar que esa fuga tenga lugar. Data security: todo lo que yo dispongo para evitar que la información sea comprometida. Pública: toda información que puede trascender los límites de la organización sin que ello le genere un prejuicio ni que incumpla una normativa. Privada: relevante o que debería mantenerse puertas adentro de la organización. O que está circunscrita a un grupo de gente que tiene que utilizarla porque su tarea lo demanda. Need to know. Confidencialidad: es información que por la naturaleza que tiene, tiene una criticidad excesiva. Debo disponer de medidas adicionales. Cualquier fuga o afectación de esa información repercute en un impacto severo para la compañía. LEY 25326 Derecho a la intimidad: derecho a que me dejen solo. Me protege de una intromisión arbitraria, que no se metan con mis cosas. Se relaciona con la autodeterminación informativa (la potestad de poder gobernar la información que tienen de uno mismo, es decir, intimidad, honor, imagen, identidad) y el anonimato. Las personas de existencia ideal están alcanzadas. Datos personales: pueden identificar a una persona. Definen atributos y puedo establecer una relación directa con una persona. Persona de existencia física o jurídica. Datos no personales: no pueden asociarse a una determinada persona. Datos privados: pertenecen a la persona y no son accesibles al público. Datos públicos: puede acceder cualquiera invocando un interés legítimo. No están restringidos. Nominativos: puedo identificar un sujeto, DNI, identificación tributaria, etc. Sensibles: potencialidad discriminatoria, es decir, el conocerlos podrían generar una posición de diferencia / de afectación de un individuo. Datos que podrían ser objeto de discriminación. No estás obligado a dar datos sensibles. Banco de datos: cuando es lícita la formación de archivos. Se está alcanzado por la ley en toda BD que se almacenen datos personales. Puedo formar una BD cuando estoy debidamente inscripto, es decir, se presupone que la tenencia de esa BD es lícita por el mero hecho de estar registrada (se deben cumplir más cosas, obvio, pero defino esto por contraposición). Presumen lícito todo aquello que esté inscripto. No hay que dar una copia de los registros para inscribirse. Bancos de datos públicos: contienen información para la cual no requieren consentimiento. Bancos de datos privados: ¿Cómo deben ser los datos personales? Deben ser ciertos, adecuados, pertinentes y no excesivos en relación al ámbito y finalidad para los que se hubieren obtenido. ¿Cómo se debe efectuar la recolección de los datos personales? La recolección de los datos no puede hacerse por medios desleales, fraudulentos o en forma contraria a las disposiciones de la ley. ¿Se pueden usar los datos personales para otras finalidades distintas a la que motivan su obtención? No pueden ser usados para finalidades distintas o incompatibles con aquellas que motivaron su obtención. ¿Durante cuánto tiempo debo mantener los datos personales? Estos deben ser destruidos cuando hayan dejado de ser necesarios o pertinentes a los fines para los cuales hubiesen sido recolectados. ¿Es necesario mi consentimiento para que se puedan tratar datos sobre mi persona? El tratamiento de datos es ilícito cuando el titular no hubiere prestado su consentimiento libre, expreso e informado. El consentimiento informado está precedido de una explicación al titular de acuerdo a su nivel social y cultura. Libre - expreso - informado. ¿En qué casos no es necesario el consentimiento? ● Los datos se obtengan de fuentes de acceso público irrestricto; ● Se recaben para el ejercicio de funciones propias de los poderes del Estado o en virtud de una obligación legal; ● Se trate de listados cuyos datos se limiten a nombre, documento nacional de identidad, identificación tributaria o previsional, ocupación, fecha de nacimiento y domicilio; ● Deriven de una relación contractual, científica o profesional del titular de los datos, y resulten necesarios para su desarrollo o cumplimiento. Revocación consentimiento ● El consentimiento dado para el tratamiento de datos personales puede ser revocado en cualquier tiempo. ● La revocación no tiene efectos retroactivos. Datos Personales: deben ser ciertos, exactos, adecuados, pertinentes y no incompletos. Recolección de datos: no puede hacerse por medios desleales, fraudulentos o contrarios a la ley. Finalidad: los datos no pueden ser utilizados para finalidades distintas con las que motivaron su obtención. Almacenamiento: deben ser almacenados en un modo que permitan el ejercicio del derecho de acceso de su titular. Destrucción de datos: deben ser destruidos cuando hayan dejado de ser necesarios o pertinentes. Pertinencia: Nadie tiene derecho a requerir información no pertinente (con la finalidad declarada en la recolección). ¿Qué se debe hacer para asegurar los datos? Adoptar las medidas técnicas y organizativas que resulten necesarias para garantizar la seguridad y confidencialidad de los datos. Implementar y documentar las medidas técnicas. ¿Se pueden ceder o transmitir los datos? Solo con el consentimiento del titular. Derechos de los titulares de los datos: Derecho de acceso: autodeterminación informativa. Acceso de forma gratuita cada 6 meses. Contenido de la información: debe ser entendible por la media de la población. Derecho al bloqueo: revocación del consentimiento. Derecho de rectificación, actualización o suspensión: los datos que tienes son erróneos o están desactualizados. Sanciones: Administrativas: tienen que ver con multas. El ejercicio de los derechos no se realiza en el tiempo establecido por ley. Generalmente 10 días corridos de haber sido intimado fehacientemente. Penales. La Agencia de datos personales controla todo esto. Acción de Habeas Data: la puede ejercer el titular de los datos, responsables y usuarios. Sirve para conocer datos almacenados en BD y su finalidad, y en caso de inexactitud, falsedad, desactualización, exigir su rectificación, supresión o actualización. Competencia: es competente el juez (a elección del actor); del domicilio del actor, del domicilio del demandado, del lugar en el que el hecho o acto se exteriorice, del lugar en el que el hecho o acto pudiera tener efecto. Competencia federal: contra archivos datos públicos organismos nacionales, archivos de datos interconectados redes interjurisdiccionales (nacionales/ internacionales). Medidas mínimas de seguridad: ● registrar las entradas y salidas de información ● controlar el acceso público en donde se encuentra esa información ● la seguridad física, es decir, el centro de cómputos ● limitar la cantidad de accesos ● proteger la transferencia de datos, no se puede transportar de forma desencriptada Video Vigilancia: la imagen de registro físico es un dato personal. Se debe cumplir la condición de licitud y la advertencia del titular (sonría lo estamos grabando). Si es un evento privado no tengo que registrar esa BD, si soy del Estado y tengo cámaras de seguridad para vigilar un barrio tampoco . Si pongo una cámara dentro de un predio propio y da a la vereda, es correcto porque estoy cuidando el perímetro de mi domicilio. Pero si pongo una cámara apuntando al vecino de enfrente es ilícito. No puedo ir en contra de determinados derechos personales como la intimidad. Debe guardar pertinencia. En cuanto a la calidad, debe relacionarse con la finalidad y evitando la captación de detalles que no sean relevantes. Debe prever la entrega de información personal que soliciten los titulares. La mejor forma de proteger los datos personales es evitar suministrarlos en forma indiscriminada. Ser celosos de los datos. Dar lo mínimo posible. Reglamento General de Protección de Datos (GDPR) Adoptado por la Unión Europea, pero trasciende las fronteras ya que afecta a las empresas que aunque estén ubicadas geográficamente en otro lugar, alberguen datos de ciudadanos de la UE. Derecho al olvido: tiene carácter retroactivo debo borrar TODA la información, no solo desde el momento en que se solicitó la revocación hacia delante, en este caso es todo el historial. La Ley Argentina demanda un montón de data protection pero la GDPR impone medidas de data privacy. Se suma el privacy by design en el GDPR. CLASE 11 - Normas ISO 27k Es una guía de referencia. Promueve una forma homogénea para hacer algo, para que así sea más comparable y medible. La norma es desarrollada por un comité técnico. Sirve para tener un plan hacia donde quiero ir. ISMS (Information Security Management System) / SGSI: impulsa un sistema de gestión de seguridad de la información. Demostrar que tenemos un sistema donde se gestionan los riesgos, se tratan y mitigan. Se necesita el 75% del consenso para aprobar la norma. 27001: es la norma certificable. Forman parte de acá la PCI, las normas COSO, la normativa BCRA. Permiten estructurar por dominios los controles para poder implementar acciones de manera ordenada. Nos orientan en el trabajo a realizar. 27002: no es certificable pero orienta cómo implementar la 27001. 27003: es una guía de implementación. 27004: métricas, cómo hago la medición para saber como voy. Formas de medir objetivos, permiten determinar el rumbo. 27005: cómo gestionar el riesgo. 27006: requisitos para los certificadores. Yo me certifico cuando alguien que tiene un papelito especial para hacerlo declara su idoneidad con ese papelito puede acreditar que yo cumplo conforme a lo que pide la normativa. PLAN-DO-CHECK-ACT Control (dentro de la norma): agrupa todas las acciones, documentos, procedimientos, todas las medidas técnicas y organizativas que adoptó para garantizar que una amenaza en particular está identificada y valorada con un determinado riesgo sea minimizada. Medidas PPT. Puedo alinear los procesos pero no necesariamente certificarlos. Nunca puedo certificarme sin estar alineado con la norma. Puedo elegir certificar todo o solo una parte. Puedo certificar un proceso en particular o un producto. Certificar: someterse a la evaluación de una entidad externa. Cuenta con los títulos para demostrar qué tanto nivel de conformidad tengo con lo que pide la ISO. Cuando certifico tengo forma de demostrar que hago las cosas de la forma que dice la norma, tengo forma de demostrar mi desempeño. Si no cumplo con los requerimientos pierdo la certificación. Implementación: Decisión de certificación, Adquirir el estándar, Capacitación e inducción, Definir equipo de trabajo, Establecer el alcance, Prever consultoría externa, Identificar activos de información, Determinar el valor de los activos, Determinar los riesgos, Determinar las políticas y el grado de aseguramiento y controles (MGSI), Identificar los objetivos de control y los controles (Accountability, logs, SIEM), Definir procedimientos y controles a implementar, Implementar políticas, procedimientos y controles, Completar los requerimientos de ISMS (SGSI), Auditoría y revisión, Mantenimiento. Conseguir el apoyo del lugar es muy importante. Requiere una alineación cultural, que cada una de las partes estén involucradas y ayuden en su cumplimiento. No puedo tener las mismas protecciones para todos los activos de información, por ello es muy necesario clasificarlos. SOA: establece y documenta para cuando venga el auditor cuál es el alcance de ese SGSI. Proceso inexistente -> nivel cero sistema inexistente Proceso desorganizado -> nivel 1 sistema intermitente Proceso inconsistente -> nivel 2 sistema intuitivo Procesos documentados y comunicados -> level 3 sistema definido Procesos medidos y monitoreados -> level 4 sistema administrado Mejoras prácticas -> level 5 sistema optimizado Capítulos: son temáticos y se los puede denominar dominios de la ISO. Hay algunos de tipos estratégicos y otros operativos. Se divide en dominios de control que se agrupan en objetivos de control. Este último se basa en qué riesgo voy a mitigar. Y, debajo del objetivo de control, están los controles en particular. El objetivo tiene un verbo. Ejemplo Dominio de control: Gestión de comunicaciones y operaciones Objetivo de control: Proteger la integridad del software y de la información. Control: Controles contra software malicioso. “Se deberían implantar controles para detectar el software malicioso y prevenirlo contra él, junto a procedimientos adecuados para concienciar a los usuarios”. Entonces: Política de uso de software - Filtrado de contenidos - Antivirus de correo - Antivirus personal Restricción de permisos de WorkStation. Es decir, presentó un plan de mitigación de riesgos. Definir el “Entonces” es lo más importante. GAP: mide la diferencia entre la foto ideal y la actual. Hay un nivel mínimo aceptable y un nivel objetivo. La brecha que hay entre estos dos es lo que hay que ir evidenciando cómo se mejora. Se puede certificar si no se llega al objetivo. Se deben presentar planes de mejora. Proceso de certificación: Auditoría inicial: puede hacerla o no el mismo certificador. Saca la foto. Auditoría de certificación: están las acciones correctivas. Si tengo una NC (No Conformidad) entonces presentaré una AC (Acción Correctiva). Me emiten el certificado y me volverán a certificar en un X periodo de tiempo. Política de seguridad: dirigir y dar soporte a la gestión de seguridad de la información. Es un ABC tener un criterio para clasificar la información. Bueno aca se pone a hablar de algunos ejemplos el dominio de control, objetivo de control y el control dentro de la ISO. Eso está copiado en el pdf. Y después comenta sobre la nueva ISO 27002, pero sale en el primer trimestre de 2022. Es a título informativo, por el momento, pero porlas dejo una captura: Las normas proporcionan un marco de control sobre “QUÉ” se debe hacer, lo que sigue es determinar “CÓMO”. CLASE ASINCRÓNICA - Compliance Actuar de conformidad a una ley, norma, regla o política. Ley: norma jurídica obligatoria, emanada de la potestad legislativa del Estado. La ley prescribe conductas y es de cumplimiento obligatorio. Regulaciones: se refieren a unas normativas, conjunto de directrices de forma funcional que aplica a determinadas organizaciones o industrias de acuerdo a la actividad que desempeñe. Normas o estándares: serie de directrices, reglas, recomendaciones, que son emanadas por alguien idóneo en el tema. Lista de recomendaciones aprobadas por una institución reconocida para esa actividad, dar un uso común y repetido de esas determinadas reglas. Si sigo estas recomendaciones, me aseguro un determinado nivel de calidad en mi organización. Por ejemplo la ISO. Hay algunas certificables y otras no. Certificaciones: acreditan el nivel de idoneidad o de conocimientos de un profesional en un determinado tema. Un organismo independiente, que está certificado por un auditor, valide la calidad o el nivel de cumplimiento del sistema o el profesional. Proceso de evaluación de conformidad. Ley de Protección de datos Personales: también conocida como habeas data. Garantiza a los titulares el derecho a la información, al acceso del titular (cada 6 meses es gratuito debe estar enunciado en lenguaje claro), de bloqueo (porque esta desactualizado, es inexacto o porque desea eliminarlo). Ley de Delitos Informáticos: forma de aplicar o sancionar delitos. Modifica ciertos aspectos de las leyes existentes para que alcance las nuevas tecnologías. Gracias a que ahora se sanciona la tenencia de pornografía infantil, Argentina se pudo unir al convenio Budapest. Todos los países que suscriben a dicho acuerdo se comprometen a trabajar de forma colaborativa para la investigación de los delitos. Agiliza los procesos en las investigaciones transnacionales. Cobit: es un framework de controles basado en la normativa COSO. Objetivos de Control para las Tecnologías de la Información y Relacionadas es una guía de mejores prácticas presentada como framework, dirigida al control y supervisión de tecnología de la información. Cualquier compañía que cotiza con la bolsa de New York debe cumplir con dicha la regulación SOX, y cualquier filial o sede de cualquier país del mundo que reporte una compañía que cotiza en la bolsa de EEUU y cuyo monto anual de facturación supere el 2% de la facturación de la compañía global debe aplicar dichos principios en su organización. Regulaciones: GDPR, PCI, BRCA Se mide a las industrias por el impacto en el contexto en el que operan. Además de lo conocido, mide si tiene un sistema de gestión de seguridad, sistema de gestión de incidentes, si hay una política de formación personal en cuestiones de seguridad. Función del Compliance: determinar y asegurar un grado de cumplimiento porque nunca es absoluto, es aceptable, de normas internas y externas. Poder ejecutar actividades teniendo como faro el cumplimiento de dichas normas, leyes y regulaciones. El riesgo de compliance se define como la potencial perdida monetaria o daño en la reputación de violar o incumplir una determinada norma que debe cumplir la organización. La organización deberá de forma recurrente: ● optimizar: reducir el esfuerzo y mejorar la oportunidad, es decir, tratar de tener en mayor medida controles de tipo preventivos que detectivos. ● automatizar: reduzco el esfuerzo si busco automatizar los controles ● sinergía: menor esfuerzo, lograr más control y hacerlo mejor Todo esto para lograr un mejor manejo de riesgos Programa de integridad: se va a centrar en la cultura de ética y cumplimiento de la organización que debe ser proclamada con un criterio de arriba hacia abajo (la conducta se debe predicar con el ejemplo). No aparece en el gráfico, pero en el anillo negro dice procesos, personas y tecnologías, mucho muy importante. Todo esto relacionado con el PCA (DISEÑAR, EVALUAR, IMPLEMENTAR). Elementos esenciales de un Programa de Integridad: ● Cultura de Compliance: significa el compromiso del órgano de gobierno y la máxima dirección con el cumplimiento de las normas y las acciones que se derivan de ese compromiso. ● Objetivos de Compliance: determinando los propósitos de la organización en materia de Compliance para medir después si se están alcanzando o no. ● Riesgos de Compliance: que supone identificar, analizar y valorar los riesgos de incumplimiento que afectan a la organización. ● Programa de Compliance: conformado por políticas y procedimientos que permiten prevenir, detectar y gestionar los riesgos previamente identificados. ● ● ● Organización de Compliance: fijando la estructura de gobernanza, las funciones y responsabilidades, y los recursos necesarios para que el sistema funcione. Monitoreo y mejora: que pueda comprobarse la efectividad del modelo de Compliance y su adecuación continua a las circunstancias de la organización. Comunicación de Compliance: tanto dentro de la organización como hacia terceros.