ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Amador Aparicio CVE 2020-35710 o cómo tu RAS Gateway Secure revela el espacio de direccionamiento interno de tu organización Parallels RAS (Remote Application Server), es una solución de entrega de aplicaciones e infraestructura de escritorio virtual (VDI) que permite a empleados y clientes de una organización acceder y...
ElevenPaths Qué hemos presentado en el Security Innovation Day 2019: Luchando y detectando replicantes con armas innovadoras (V) En esta ocasión te contamos de qué hablaron nuestros expertos del equipo de Innovación y Laboratorio en el Security Innovation Day 2019.
ElevenPaths Equinox, el concurso de programación que dura un día El Equinox es un concurso de programación que dura 24 horas y tiene lugar dos veces al año, coincidiendo con los equinoccios de primavera y de otoño. La frase...
Gonzalo Álvarez Marañón Criptografía chivata: cómo crackear dispositivos inviolables La llave de seguridad Titan de Google o la YubiKey de Yubico son el último grito en seguridad de autenticación multifactor. Según la propia página de Google: «Las llaves cuentan...
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
ElevenPaths Back to school! Traemos la agenda de eventos de septiembre en ciberseguridad y hacking Volvemos con las pilas cargadas para empezar septiembre con una selección de diferentes eventos en los que desde ElevenPaths participaremos en charlas y conferencias. ¡Toma nota y participa! Encuentro Nacional...
ElevenPaths EmetRules: La herramienta para configurar “Pin Rules” en EMET EMET, la herramienta de Microsoft, introdujo en su versión 4.0 la posibilidad de “pinear” certificados raíz a los dominios correspondientes, solo en Internet Explorer. Aunque útil y necesaria, la capacidad de...
Gonzalo Álvarez Marañón Criptografía chivata: cómo crackear dispositivos inviolables La llave de seguridad Titan de Google o la YubiKey de Yubico son el último grito en seguridad de autenticación multifactor. Según la propia página de Google: «Las llaves cuentan...
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
ElevenPaths ElevenPaths Radio – 1×13 Entrevista a Pilar Vila Todo lo que rodea a la figura del perito informático forense en esta entrevista en formato podcast con Pilar Vila, CEO de Forensics&Security.
ElevenPaths Noticias de Ciberseguridad: Boletín semanal 20-26 de junio Millones de registros de usuarios expuestos en un servidor de Oracle El investigador de seguridad Anurag Sen ha encontrado una base de datos expuesta con millones de registros perteneciente a...
Bestiario de una memoria mal gestionada (III)David García 4 mayo, 2020 Si tuviéramos que elegir una vulnerabilidad especialmente dañina sería, con mucha probabilidad, la ejecución de código arbitrario, y más aún si puede ser explotada en remoto. En la primera entrada introdujimos los problemas que puede acarrear una memoria mal gestionada; en la siguiente hablamos del double free. Ahora veremos más ejemplos. Dangling pointers o punteros colgantes La gestión manual de la memoria es compleja y se debe prestar atención al orden de las operaciones, de dónde se obtienen recursos y dónde dejamos de usarlos para poder liberarlos en buenas condiciones. También se requiere seguir la pista a copias de punteros o referencias que, si son liberadas antes de tiempo, hacen que los punteros se queden “descolgados”, o en su versión en inglés, dangling pointers. Es decir, hacer uso de un recurso que ya ha sido liberado. Un ejemplo: Ejecutamos: Esto nos deja con un puntero que está apuntando a una zona de memoria (montículo) que no es válida (observemos que no imprime nada después de “(p2) apunta a…”. Es más, no existe forma de saber si un recurso al que se ha copiado su dirección continúa siendo válido, del mismo modo que no es posible recuperar un leak de memoria si se pierde su referencia (lo veremos más adelante). Para señalizar que un puntero no es válido, asignamos la macro NULL a ese puntero (en C++ “moderno” asignaríamos nullptr) para advertir de alguna forma que no apunta a nada. Pero si ese NULL no es comprobado, no nos sirve de nada. Por tanto, por cada puntero que utilice un recurso debe comprobarse “su no NULLidad”. La buena práctica es, por lo tanto: una vez liberamos memoria, asignamos NULL o nullptr (en C++) para señalizar que ese puntero ya no apunta a nada válido. Y además, antes de hacer uso de él, tanto para copiarlo como para desreferenciarlo, comprobamos su validez. Memory leaks o fugas de memoria Justo lo contrario a hacer uso de una zona de memoria que ya no es válida es hacer que ningún puntero apunte a una zona de memoria válida. Una vez perdida la referencia, ya no podremos hacer free sobre esa reserva de memoria, y ocupará ese espacio de forma indefinida hasta que el programa termine. Esto es un gran problema si el programa no termina, como por ejemplo, un servidor que normalmente se ejecuta hasta que la máquina se apague u ocurra alguna otra interrupción ineludible. Un ejemplo (si lo queréis replicar, hacedlo en un sistema virtualizado que se tenga para experimentar): El código que se ve a la derecha va obteniendo porciones de memoria hasta agotar toda la memoria de montículo. Esto produce que el sistema vaya agotando la RAM, empiece a hacer swapping y finalmente saldrá el OOM-killer a matar el proceso por pasarse de la raya con el consumo de memoria. ¿Qué es el OOM-killer? Es un procedimiento especial del kernel (en sistemas Linux) para eliminar procesos en memoria con el objeto de que el sistema no se desestabilice. En la captura podemos ver la salida del comando ‘dmesg’ en el que se refleja el kill de nuestro proceso por el coste de recursos que le supone al sistema. Si analizamos el código vemos que entramos en un bucle infinito en el que se va reservando memoria y reasignando el mismo puntero a nuevos bloques de esa memoria. Las referencias anteriores no se liberan y se pierden, lo que produce una incesante fuga de memoria (exactamente igual a una cañería rota) que termina drásticamente. Esto es evidentemente una dramatización de lo que ocurre en un programa real, pero la realidad es que ocurre así. El problema es que no se controlan las reservas de memoria en un punto, se van acumulando referencias perdidas y termina siendo un problema. Es posible que, en aplicaciones con fugas de memoria que sólo usamos durante unas horas, tan sólo notemos una ralentización (esto era más evidente en tiempos donde la RAM era más limitada) o una acumulación de memoria. Pero en servidores es común que esto conlleve la caída del servicio. En la próxima entrada veremos el uso de memoria no inicializada. No te pierdas la serie completa de este artículo: Bestiario de una memoria mal gestionada (I) Bestiario de una memoria mal gestionada (II) Bestiario de una memoria mal gestionada (IV) Iniciativa solidaria Covid-19: recargando IFEMA de energía para los enfermosElevenPaths Radio – 2×07 Entrevista a Yaiza Rubio
Gonzalo Álvarez Marañón Criptografía chivata: cómo crackear dispositivos inviolables La llave de seguridad Titan de Google o la YubiKey de Yubico son el último grito en seguridad de autenticación multifactor. Según la propia página de Google: «Las llaves cuentan...
ElevenPaths Boletín semanal de ciberseguridad 16-22 enero Actualización del compromiso de SolarWinds Se han dado a conocer nuevos detalles acerca del compromiso a la cadena de suministro de software desvelado en diciembre: Los investigadores de FireEye han publicado...
Diego Samuel Espitia Detectando los indicadores de un ataque En seguridad siempre optamos por implementar mecanismos de prevención y disuasión, más que de contención. Sin embargo, la implementación de estos mecanismos no siempre son eficaces o sencillos de...
Amador Aparicio CVE 2020-35710 o cómo tu RAS Gateway Secure revela el espacio de direccionamiento interno de tu organización Parallels RAS (Remote Application Server), es una solución de entrega de aplicaciones e infraestructura de escritorio virtual (VDI) que permite a empleados y clientes de una organización acceder y...
Área de Innovación y Laboratorio de ElevenPaths #CyberSecurityReport20H2: Microsoft corrige muchas más vulnerabilidades, pero descubre bastantes menos Existen muchos informes sobre tendencias y resúmenes de seguridad, pero en ElevenPaths queremos marcar una diferencia. Desde el equipo de Innovación y Laboratorio acabamos de lanzar nuestro propio informe...
ElevenPaths ElevenPaths Radio 3×07 – Entrevista a Mercè Molist ¿Conoces la historia del hacking en España? Primero debemos conocer su ética, su forma de vida y de pensamiento, su cultura… Para hablar sobre hackers y hacking en España, tenemos...