Taller de auditoría de contraseñas impartido en las jornadas de seguridad y ciberdefensa Ciberseg 2020 (Escuela Politécnica Superior de la Universidad de Alcalá).
Javier Junquera Sánchez y Kevin van Liebergen Ávila
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataJignesh Shah
This document discusses PostgreSQL performance on multi-core systems with multi-terabyte data. It covers current market trends towards more cores and larger data sizes. Benchmark results show that PostgreSQL scales well on inserts up to a certain number of clients/cores but struggles with OLTP and TPC-E workloads due to lock contention. Issues are identified with sequential scans, index scans, and maintenance tasks like VACUUM as data sizes increase. The document proposes making PostgreSQL utilities and tools able to leverage multiple cores/processes to improve performance on modern hardware.
Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data StreamingMichael Rainey
We produce quite a lot of data! Much of the data are business transactions stored in a relational database. More frequently, the data are non-structured, high volume and rapidly changing datasets known in the industry as Big Data. The challenge for data integration professionals is to combine and transform the data into useful information. Not just that, but it must also be done in near real-time and using a target system such as Hadoop. The topic of this session, real-time data streaming, provides a great solution for this challenging task. By integrating GoldenGate, Oracle’s premier data replication technology, and Apache Kafka, the latest open-source streaming and messaging system, we can implement a fast, durable, and scalable solution.
Presented at Oracle OpenWorld 2016
This deck presents the best practices of using Apache Hive with good performance. It covers getting data into Hive, using ORC file format, getting good layout into partitions and files based on query patterns, execution using Tez and YARN queues, memory configuration, and debugging common query performance issues. It also describes Hive Bucketing and reading Hive Explain query plans.
How GumGum Migrated from Cassandra to Amazon DynamoDB (DAT345) - AWS re:Inven...Amazon Web Services
GumGum recently moved to Amazon DynamoDB from Apache Cassandra. In this session, we discuss the architecture and design decisions made in the process, including comparisons of different NoSQL database options. We also share the justifications and steps taken in order to plan and complete the migration process. Finally, we cover the benefits and outcome of the migration, including performance boost, cost savings, and maintenance reductions.
An overview of the Amazon ElastiCache managed service, with examples of how it can be used to increase performance, lower costs and augment other database services and databases to make things faster, easier and less expensive.
Spline: Data Lineage For Spark Structured StreamingVaclav Kosar
Data lineage tracking is one of the significant problems that companies in highly regulated industries face. These companies are forced to have a good understanding of how data flows through their systems to comply with strict regulatory frameworks. Many of these organizations also utilize big and fast data technologies such as Hadoop, Apache Spark and Kafka. Spark has become one of the most popular engines for big data computing. In recent releases, Spark also provides the Structured Streaming component, which allows for real-time analysis and processing of streamed data from many sources. Spline is a data lineage tracking and visualization tool for Apache Spark. Spline captures and stores lineage information from internal Spark execution plans in a lightweight, unobtrusive and easy to use manner.
Additionally, Spline offers a modern user interface that allows non-technical users to understand the logic of Apache Spark applications. In this presentation we cover the support of Spline for Structured Streaming and we demonstrate how data lineage can be captured for streaming applications.
Presented at Spark Summit London 2018
Problems with PostgreSQL on Multi-core Systems with MultiTerabyte DataJignesh Shah
This document discusses PostgreSQL performance on multi-core systems with multi-terabyte data. It covers current market trends towards more cores and larger data sizes. Benchmark results show that PostgreSQL scales well on inserts up to a certain number of clients/cores but struggles with OLTP and TPC-E workloads due to lock contention. Issues are identified with sequential scans, index scans, and maintenance tasks like VACUUM as data sizes increase. The document proposes making PostgreSQL utilities and tools able to leverage multiple cores/processes to improve performance on modern hardware.
Oracle GoldenGate and Apache Kafka: A Deep Dive Into Real-Time Data StreamingMichael Rainey
We produce quite a lot of data! Much of the data are business transactions stored in a relational database. More frequently, the data are non-structured, high volume and rapidly changing datasets known in the industry as Big Data. The challenge for data integration professionals is to combine and transform the data into useful information. Not just that, but it must also be done in near real-time and using a target system such as Hadoop. The topic of this session, real-time data streaming, provides a great solution for this challenging task. By integrating GoldenGate, Oracle’s premier data replication technology, and Apache Kafka, the latest open-source streaming and messaging system, we can implement a fast, durable, and scalable solution.
Presented at Oracle OpenWorld 2016
This deck presents the best practices of using Apache Hive with good performance. It covers getting data into Hive, using ORC file format, getting good layout into partitions and files based on query patterns, execution using Tez and YARN queues, memory configuration, and debugging common query performance issues. It also describes Hive Bucketing and reading Hive Explain query plans.
How GumGum Migrated from Cassandra to Amazon DynamoDB (DAT345) - AWS re:Inven...Amazon Web Services
GumGum recently moved to Amazon DynamoDB from Apache Cassandra. In this session, we discuss the architecture and design decisions made in the process, including comparisons of different NoSQL database options. We also share the justifications and steps taken in order to plan and complete the migration process. Finally, we cover the benefits and outcome of the migration, including performance boost, cost savings, and maintenance reductions.
An overview of the Amazon ElastiCache managed service, with examples of how it can be used to increase performance, lower costs and augment other database services and databases to make things faster, easier and less expensive.
Spline: Data Lineage For Spark Structured StreamingVaclav Kosar
Data lineage tracking is one of the significant problems that companies in highly regulated industries face. These companies are forced to have a good understanding of how data flows through their systems to comply with strict regulatory frameworks. Many of these organizations also utilize big and fast data technologies such as Hadoop, Apache Spark and Kafka. Spark has become one of the most popular engines for big data computing. In recent releases, Spark also provides the Structured Streaming component, which allows for real-time analysis and processing of streamed data from many sources. Spline is a data lineage tracking and visualization tool for Apache Spark. Spline captures and stores lineage information from internal Spark execution plans in a lightweight, unobtrusive and easy to use manner.
Additionally, Spline offers a modern user interface that allows non-technical users to understand the logic of Apache Spark applications. In this presentation we cover the support of Spline for Structured Streaming and we demonstrate how data lineage can be captured for streaming applications.
Presented at Spark Summit London 2018
The document provides an overview of Apache Cassandra's architecture and design. It was created to address the needs of building reliable, high-performing, and always-available distributed databases. Cassandra is based on Dynamo and BigTable and uses a distributed hashing technique to partition and replicate data across nodes. It supports configurable replication across multiple data centers for high availability. Writes are sent to the local node and replicated to other nodes based on consistency level, while reads can be served from any replica.
This document provides an overview of indexing in MySQL. It begins with definitions of terminology like B-Trees, keys, indexes, and clustering. It then covers topics like primary keys, compound indexes, and optimization techniques. Use cases are presented to demonstrate how to design indexes for different querying needs, such as normalization, geospatial queries, and pagination. The document aims to explain indexing concepts and help the reader design efficient indexes.
Fully Utilizing Spark for Data ValidationDatabricks
Data validation is becoming more important as companies have increasingly interconnected data pipelines. Validation serves as a safeguard to prevent existing pipelines from failing without notice. Currently, the most widely adopted data validation framework is Great Expectations. They have support for both Pandas and Spark workflows (with the same API). Great Expectations is a robust data validation library with a lot of features. For example, Great Expectations always keeps track of how many records are failing a validation, and stores examples for failing records. They also profile data after validations and output data documentation.
These features can be very useful, but if a user does not need them, they are expensive to generate. What are the options if we need a more lightweight framework? Pandas has some data validation frameworks that are designed to be lightweight. Pandera is one example. Is it possible to use a lightweight Pandas-based framework on Spark? In this talk, we’ll show how this is possible with a library called Fugue. Fugue is an open-source framework that lets users port native Python code or Pandas code to Spark. We will show an interactive demo of how to extend Pandera (or any other Pandas-based data validation library) to a Spark workflow.
There is also a deficiency in the current frameworks we will address in the demo. With big data, there is a need to apply different validation rules for each partition. For example, data that encompasses a lot of geographic regions may have different acceptable ranges of values (think of currency). Since the current frameworks are designed to apply a validation rule to the whole DataFrame, this can’t be done. Using Fugue and Pandera, we can apply different validation rules on each partition of data.
Introduction to memcached, a caching service designed for optimizing performance and scaling in the web stack, seen from perspective of MySQL/PHP users. Given for 2nd year students of professional bachelor in ICT at Kaho St. Lieven, Gent.
The document provides an introduction to Cassandra presented by Nick Bailey. It discusses key Cassandra concepts like cluster architecture, data modeling using CQL, and best practices. Examples are provided to illustrate how to model time-series data and denormalize schemas to support different queries. Tools for testing Cassandra implementations like CCM and client drivers are also mentioned.
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
This document discusses supporting Apache HBase and improving troubleshooting and supportability. It introduces two Cloudera employees who work on HBase support and provides an overview of typical troubleshooting scenarios for HBase like performance degradation, process crashes, and inconsistencies. The agenda covers using existing tools like logs and metrics to troubleshoot HBase performance issues with a general approach, and introduces htop as a real-time monitoring tool for HBase.
In a world where compute is paramount, it is all too easy to overlook the importance of storage and IO in the performance and optimization of Spark jobs.
Data Discovery at Databricks with AmundsenDatabricks
Databricks used to use a static manually maintained wiki page for internal data exploration. We will discuss how we leverage Amundsen, an open source data discovery tool from Linux Foundation AI & Data, to improve productivity with trust by surfacing the most relevant dataset and SQL analytics dashboard with its important information programmatically at Databricks internally.
We will also talk about how we integrate Amundsen with Databricks world class infrastructure to surface metadata including:
Surface the most popular tables used within Databricks
Support fuzzy search and facet search for dataset- Surface rich metadata on datasets:
Lineage information (downstream table, upstream table, downstream jobs, downstream users)
Dataset owner
Dataset frequent users
Delta extend metadata (e.g change history)
ETL job that generates the dataset
Column stats on numeric type columns
Dashboards that use the given dataset
Use Databricks data tab to show the sample data
Surface metadata on dashboards including: create time, last update time, tables used, etc
Last but not least, we will discuss how we incorporate internal user feedback and provide the same discovery productivity improvements for Databricks customers in the future.
Spark Autotuning Talk - Strata New YorkHolden Karau
This document discusses how to tune Apache Spark jobs for optimal performance. It begins with introductions of the presenters and an overview of what will be covered, including the most important Spark settings, using the auto tuner, examples of common errors that can be addressed by tuning, and collecting historical data. Examples are provided of how to address errors like out of memory issues by increasing resources or adjusting partitioning. While tuning can help with many issues, some problems like unnecessary shuffles or unbalanced data cannot be addressed without code changes.
This presentation describes how to efficiently load data into Hive. I cover partitioning, predicate pushdown, ORC file optimization and different loading schemes
Este documento discute diferentes métodos para encriptar contraseñas en PHP y las ventajas del uso de password_hash() y password_verify() introducidos en PHP 5.5. Explica que password_hash() genera hashes seguros usando bcrypt de forma predeterminada y que password_verify() verifica hashes de forma segura, a diferencia de comparar cadenas directamente. También muestra un ejemplo de cómo implementar estos métodos en un objeto de valor para encriptar y verificar contraseñas de forma segura.
The document provides an overview of Apache Cassandra's architecture and design. It was created to address the needs of building reliable, high-performing, and always-available distributed databases. Cassandra is based on Dynamo and BigTable and uses a distributed hashing technique to partition and replicate data across nodes. It supports configurable replication across multiple data centers for high availability. Writes are sent to the local node and replicated to other nodes based on consistency level, while reads can be served from any replica.
This document provides an overview of indexing in MySQL. It begins with definitions of terminology like B-Trees, keys, indexes, and clustering. It then covers topics like primary keys, compound indexes, and optimization techniques. Use cases are presented to demonstrate how to design indexes for different querying needs, such as normalization, geospatial queries, and pagination. The document aims to explain indexing concepts and help the reader design efficient indexes.
Fully Utilizing Spark for Data ValidationDatabricks
Data validation is becoming more important as companies have increasingly interconnected data pipelines. Validation serves as a safeguard to prevent existing pipelines from failing without notice. Currently, the most widely adopted data validation framework is Great Expectations. They have support for both Pandas and Spark workflows (with the same API). Great Expectations is a robust data validation library with a lot of features. For example, Great Expectations always keeps track of how many records are failing a validation, and stores examples for failing records. They also profile data after validations and output data documentation.
These features can be very useful, but if a user does not need them, they are expensive to generate. What are the options if we need a more lightweight framework? Pandas has some data validation frameworks that are designed to be lightweight. Pandera is one example. Is it possible to use a lightweight Pandas-based framework on Spark? In this talk, we’ll show how this is possible with a library called Fugue. Fugue is an open-source framework that lets users port native Python code or Pandas code to Spark. We will show an interactive demo of how to extend Pandera (or any other Pandas-based data validation library) to a Spark workflow.
There is also a deficiency in the current frameworks we will address in the demo. With big data, there is a need to apply different validation rules for each partition. For example, data that encompasses a lot of geographic regions may have different acceptable ranges of values (think of currency). Since the current frameworks are designed to apply a validation rule to the whole DataFrame, this can’t be done. Using Fugue and Pandera, we can apply different validation rules on each partition of data.
Introduction to memcached, a caching service designed for optimizing performance and scaling in the web stack, seen from perspective of MySQL/PHP users. Given for 2nd year students of professional bachelor in ICT at Kaho St. Lieven, Gent.
The document provides an introduction to Cassandra presented by Nick Bailey. It discusses key Cassandra concepts like cluster architecture, data modeling using CQL, and best practices. Examples are provided to illustrate how to model time-series data and denormalize schemas to support different queries. Tools for testing Cassandra implementations like CCM and client drivers are also mentioned.
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
This document discusses supporting Apache HBase and improving troubleshooting and supportability. It introduces two Cloudera employees who work on HBase support and provides an overview of typical troubleshooting scenarios for HBase like performance degradation, process crashes, and inconsistencies. The agenda covers using existing tools like logs and metrics to troubleshoot HBase performance issues with a general approach, and introduces htop as a real-time monitoring tool for HBase.
In a world where compute is paramount, it is all too easy to overlook the importance of storage and IO in the performance and optimization of Spark jobs.
Data Discovery at Databricks with AmundsenDatabricks
Databricks used to use a static manually maintained wiki page for internal data exploration. We will discuss how we leverage Amundsen, an open source data discovery tool from Linux Foundation AI & Data, to improve productivity with trust by surfacing the most relevant dataset and SQL analytics dashboard with its important information programmatically at Databricks internally.
We will also talk about how we integrate Amundsen with Databricks world class infrastructure to surface metadata including:
Surface the most popular tables used within Databricks
Support fuzzy search and facet search for dataset- Surface rich metadata on datasets:
Lineage information (downstream table, upstream table, downstream jobs, downstream users)
Dataset owner
Dataset frequent users
Delta extend metadata (e.g change history)
ETL job that generates the dataset
Column stats on numeric type columns
Dashboards that use the given dataset
Use Databricks data tab to show the sample data
Surface metadata on dashboards including: create time, last update time, tables used, etc
Last but not least, we will discuss how we incorporate internal user feedback and provide the same discovery productivity improvements for Databricks customers in the future.
Spark Autotuning Talk - Strata New YorkHolden Karau
This document discusses how to tune Apache Spark jobs for optimal performance. It begins with introductions of the presenters and an overview of what will be covered, including the most important Spark settings, using the auto tuner, examples of common errors that can be addressed by tuning, and collecting historical data. Examples are provided of how to address errors like out of memory issues by increasing resources or adjusting partitioning. While tuning can help with many issues, some problems like unnecessary shuffles or unbalanced data cannot be addressed without code changes.
This presentation describes how to efficiently load data into Hive. I cover partitioning, predicate pushdown, ORC file optimization and different loading schemes
Este documento discute diferentes métodos para encriptar contraseñas en PHP y las ventajas del uso de password_hash() y password_verify() introducidos en PHP 5.5. Explica que password_hash() genera hashes seguros usando bcrypt de forma predeterminada y que password_verify() verifica hashes de forma segura, a diferencia de comparar cadenas directamente. También muestra un ejemplo de cómo implementar estos métodos en un objeto de valor para encriptar y verificar contraseñas de forma segura.
Slides del taller "The Linux Shell. Shell Scripting desde 0" presentado durante las actividades de la BugCon Security Conferences efectuado en la Escuela Superior de Computo -ESCOM- en el D.F., México, del 13 al 15 de febrero del 2013.
El documento habla sobre el uso de Memcached para acelerar sitios web. Memcached es un sistema de cache distribuido en memoria RAM que almacena datos duplicados de forma más rápida que una base de datos. Se utiliza para mejorar el rendimiento alivianando la carga de la base de datos al almacenar en cache elementos como sesiones de usuario, consultas SQL frecuentes y contenido estático.
Este documento proporciona una guía detallada para instalar PHP en Windows y configurarlo para funcionar con Apache. Explica cómo instalar PHP, editar los archivos de configuración php.ini y httpd.conf, y agregar extensiones PHP. También resume los conceptos básicos de PHP como sintaxis, variables, operadores, bucles, funciones y conexión a MySQL.
Este documento describe los pasos para crear una distribución Linux personalizada desde cero, incluyendo compilar las herramientas básicas como binutils y GCC, instalar paquetes como glibc, crear la estructura de directorios del sistema de archivos, y configurar el entorno para que funcione de forma independiente.
A veces la diferencia entre poder acceder a un sistema remoto con éxito o fallar puede ser el conocimiento de una herramienta, una línea de comando o incluso una técnica de evasión de AV/Firewall. Esta plática brindará consejos y trucos para poder hackear "like a Boss", que le dará una ventaja durante la auditoría de un sistema
Ponente: Roberto Salgado. Director técnico y co-fundador de Websec México. Roberto ha participado y contribuido en proyectos importantes como ModSecurity, PHPIDS, sqlmap y el libro “Web Application Obfuscation“. Creó la base de conocimientos de inyección SQL, una de las referencias más completas disponibles en la web y Panoptic, un buscador de rutas de archivos comunes con vulnerabilidades tipo LFI. También desarrollo el método más rápido para extraer información de bases de datos vulnerables a inyección a ciegas.
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
Uno de los primeros problemas con que debemos lidiar en la Web 2.0 es la recuperación de datos para el usuario. ¿Qué nuevas capas de persistencia han sido desarrolladas para hacer frente al reto?
En las transparencias se hace una muy leve introducción a Apache CouchDB y Amazon SimpleDB.
Estas transparencias están basadas en unas confeccionadas por mi para un curso sobre Cloud Computing.
José Ramón Palanco - NoSQL Security [RootedCON 2011]RootedCON
Este documento presenta una introducción a NoSQL y sus implementaciones más populares como MongoDB, CouchDB y Cassandra. Explica los conceptos clave de NoSQL como el teorema CAP y las diferentes arquitecturas como almacén de documentos, grafos y clave-valor. Luego, describe varios vectores de ataque específicos de NoSQL como injection en JSON y vistas, explotación de listeners HTTP, bruteforce de keys y ataques de denegación de servicio. El documento provee detalles técnicos sobre cómo aprovechar estas vulnerabilidades en cada implementación.
Mecanismos de autenticación-identificación. Vulneración y cracking de contras...Alejandro Ramos
Material de Alejandro Ramos para el Curso Online de Especialización en Seguridad Informática para la Ciberdefensa:
Módulo 3: Comunicaciones críticas e identificación en entornos de alta seguridad.
Mecanismos de autenticación-identificación. Vulneración y cracking de contraseñas
http://www.criptored.upm.es/formacion/index.html
Este documento presenta una introducción a la seguridad y criptografía en Python. Explica conceptos clave como cifrado simétrico y asimétrico, funciones hash, y librerías como PyCrypto y Cryptography. También cubre mejores prácticas de seguridad en Django, incluyendo el almacenamiento seguro de contraseñas, protección contra inyecciones SQL, y el uso de HTTPS.
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
Cuando un usuario tiene que elegir una contraseña, tiende a construirla de la misma forma, con la misma información personal como base, y usando las mismas ideas para añadir complejidad a la misma. En este estudio que os mostraremos , nos hicimos con varios miles de millones de contraseñas reales, con el fin de hacer un análisis a gran escala de esos comportamientos comunes, extrayendo conclusiones que nos permitan crear procedimientos y herramientas específicas para mejorar las técnicas actuales de Password Cracking.
Finalmente, usaremos este conocimiento obtenido a través de distintos análisis conductuales y estadísticos para, utilizando redes neuronales y otras técnicas avanzadas, obtener patrones que nos permitan crackear hashes cuya resistencia suele ser bastante alta utilizando otras técnicas.
Pablo Caro & Jaime Sánchez - I know your P4$$w0rd (and if I don’t, I will gue...RootedCON
El documento presenta una introducción a los expertos Pablo Caro y Jaime Sánchez, y describe brevemente su experiencia en seguridad. También resume algunos de los mayores incidentes de filtración de datos y el número de cuentas afectadas.
Este documento presenta el tema 2 de un curso de PHP. Cubre la sintaxis básica de PHP, incluyendo cómo incrustar código PHP en HTML y cómo imprimir. También explica los tipos de datos en PHP, variables, constantes, expresiones y operadores, estructuras de control como if/else y bucles, funciones, arrays, y bibliotecas de funciones comunes.
El documento presenta a Rodrigo Miranda, un desarrollador de aplicaciones y consultor en tecnología de la información. Explica brevemente la historia y características del lenguaje de programación PHP, incluyendo su sintaxis básica, tipos de datos, estructuras de control y manipulación de variables.
Este documento presenta información sobre un curso de Certified Penetration Testing Engineer (CPTE) ofrecido por la compañía Open-Sec. El curso dura 5 días e incluye información sobre los 5 elementos clave del penetration testing: obtención de información, escaneo, enumeración, explotación y reporte. Los graduados del curso aprenderán habilidades de ethical hacking a nivel profesional y podrán certificarse como CPTE u otros certificados como CEH o CPEH.
NoCONName 2014 (Ncn2k14) Abraham Pasamar - Desmitificando el AntiVirusINCIDE
Charla Desmitificando el AntiVirus en NoCONName 2104 NcN2k14.
Técnicas de evasión de antivirus.
Creación de un Crypter en C
Demo:
* Pruebas crypter
* Ataque ingenieria social: email+word con macro (downloader de Malware protegido con crypter FUD)
Video 1/
http://youtu.be/wPPmRgQNF24
* Ataque 0day con Sandworm (powerpoint)
Video 2/
https://www.youtube.com/watch?v=5hJddep-y80
Video 3/
https://www.youtube.com/watch?v=gZAndZB0Jqk
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]RootedCON
Este documento presenta osquery, una herramienta de detección de amenazas a escala que utiliza SQL para explorar sistemas operativos. Explica cómo osquery puede utilizarse para monitorizar hosts corporativos, recopilar datos de seguridad y correlacionarlos. Detalla el uso de osqueryi, osqueryd, tablas, consultas programadas, paquetes de consultas y el punto final TLS remoto para la gestión centralizada de osquery.
El documento presenta una metodología de cracking de contraseñas desarrollada por CSL Labs. Se describen técnicas como diccionarios, fuerza bruta, ataques de huella digital y uso de reglas. El proceso implica auditoría, tratamiento y análisis de datos, así como pruebas en laboratorio con diferentes máquinas y software. El objetivo es reducir el tiempo de cracking y aumentar el porcentaje de contraseñas descifradas aplicando métodos estadísticos y de inteligencia artificial.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
Don’t go breaking my heart: hacking medical devices (RootedCON 2023)Javier Junquera
Over the years several hacks affecting medical devices have been discovered. Unfortunately the lack of good security practices is a common thing in these type of devices.
This talk will explain the unique security scenario that affect medical devices and will explain an auditing process of an specific medical device. The audited medical device is a portable IoT electrocardiograph and several vulnerabilities and demos affected this devices will be shown during the presentation.
Al-Kindi convirtió tu dataset en mi keylogger (RootedCON Criptored 2023)Javier Junquera
Muchos de los datos que generamos mediante la interacción con nuestros dispositivos, hasta los más insospechados, pueden aportar una gran cantidad de información acerca de nosotros: desde patrones de conducta que permitan nuestra identificación inequívoca, hasta convertir nuestro dispositivo en un keylogger. En esta presentación se mostrará cómo la recopilación de datos para entrenar modelos de inteligencia artificial permite, mediante criptoanálisis, obtener un registro de los textos introducidos por el usuario simplemente extrayendo datos de accesibilidad de la API de Android.
De PARCHE a Vysion: construyendo un ecosistema CTI sobre la Darknet (RootedC...Javier Junquera
Charla impartida en RootedCON 2022
Los ciberataques han mostrado un incremento en cantidad y evolución. Un claro ejemplo ha sido el incremento de ataques y el cambio en el modus operandi de grupos de ransomware. Estos ataques cada vez vinculan más la publicación de datos a modo de extorsión en las redes conocidas como darknets. El análisis de esta nueva forma de operar y de sitios vinculados a grupos de ciberdelincuentes en Tor es crucial, de cara a detectar ataques recientes, empresas afectadas y dar seguimiento de estos grupos de cara a posibles atribuciones.
En esta charla se expondrá un análisis de estos grupos presentes en darknets y su seguimiento de forma automatizada. También se abordará el desarrollo y creación de una herramienta de análisis y threat intelligence, utilizando estos datos.
El caso Solorigate: la exposición de SolarWinds, de SUNBURST a SupernovaJavier Junquera
El día 8 de diciembre la compañía de ciberseguridad FireEye comunica haber sufrido un incidente en el que se han visto expuestas sus herramientas de RedTeam. Sólo unos días más tarde, tras investigarlo, detectan que el origen de este incidente se encuentra en Orion, el software (propiedad de la compañía SolarWinds) que utilizan para monitorizar sus sistemas. El software que utilizan para monitorizar sus sistemas más de 30.000 compañías entre las que se encuentran desde grandes tecnológicas hasta agencias de seguridad estadounidenses. A lo largo de la sesión se analizaran las causas, los detalles técnicos y las consecuencias de uno de los incidentes de ciberseguridad con mayor impacto de la historia: el Solorigate.
RootedCON 2020 talk. In this talk, we showed the research about software dependencies that led us to rule the world for a day. Surprisingly, we could take control of more than 800 developer machines in less than 24 hours with the collusion of the most famous software dependency repositories... And with the "collaboraiton" of the developers ;)
Conferencia Internet Society: El FBI El reabre el debate sobre backdoors y ci...Javier Junquera
Tras el atentado de diciembre de 2019 en la base aérea de Pensacola se reabre el debate entre el FBI y Apple acerca de las medidas de privacidad que pueden interferir en investigaciones policiales.
Tecnologías avanzadas de descubrimiento y análisis de la Dark NetJavier Junquera
Presentación de la ponencia "Tecnologías avanzadas de descubrimiento y análisis de la Dark Net" en las XII Jornadas STIC organizadas por el CCN-CERT en 2018
Mano de Obra en construcción civil (3).pptxMelanina4
Mano de Obra en construcción civil del curso de construccion civil de la carrera de ingenieria civil - UPC,
Calculo de las horas hombre, tablas salariales en el regimen de construccion
Manual de Implementación de BIM para la Ciudad de La Paz – Bolivia.docxJoaquin398967
Manual de BIM para La Paz: Estándares y directrices para la incorporación de Building Information Modeling en la construcción pública, mejorando la productividad y la calidad de las obras.
LO QUE TODO CONSTRUCTOR DEBE SABER - ING. GENARO DELGADO CONTRERAS.pdfPATRICKKEWINAMBROCIO
LO QUE TODO CONSTRUCTOR DEBE SABER:
Lo básico que todo constructor debe saber incluye:
Normativas y Códigos de Construcción: Conocimiento de las leyes y regulaciones locales que rigen la construcción.
Planificación y Gestión de Proyectos: Habilidad para planificar y gestionar tiempos, recursos y costos.
Materiales de Construcción: Comprensión de las propiedades y usos de los materiales comunes como concreto, acero, madera, ladrillos, etc.
Técnicas Constructivas: Familiaridad con los métodos y procedimientos de construcción adecuados para diferentes tipos de edificaciones.
Lectura de Planos: Capacidad para interpretar planos arquitectónicos, estructurales y de instalaciones.
Seguridad en el Trabajo: Conocimiento y aplicación de las prácticas de seguridad para prevenir accidentes en el sitio de construcción.
Gestión de Equipos y Mano de Obra: Habilidad para coordinar y supervisar a los trabajadores y subcontratistas.
Control de Calidad: Asegurarse de que todos los aspectos de la construcción cumplan con los estándares de calidad.
Comunicación Efectiva: Capacidad para comunicarse claramente con el equipo de trabajo, proveedores y clientes.
Estos fundamentos son esenciales para garantizar una construcción segura, eficiente y de alta calidad.
2. Hello!I am Javier Junquera
Investigador en ciberseguridad, y profesor
asociado en la Universidad de Alcalá
You can find me at javier.junquera@uah.es
@junquera
2
Cybersecurity Research
Group UAH
3. I am Kevin Van Liebergen
Becario de investigación en cátedra
ISDEFE
You can find me at @KevinLiebergen
3
Hello!
5. Almacenamiento de contraseñas
➔ Codificar no es cifrar
◆ Reversible sin dificultad
➔ Cifrar no es hashear
◆ Reversible
➔ Hashear es hashear, pero no lo es todo
7. Codificaciones. Usos
● Parámetro HTTP en los formularios
● Datos binarios en URL
$ printf “ciberseg” | base64
Y2liZXJzZWc=
$ printf “Y2liZXJzZWc=” | base64 -d
ciberseg
8. Almacenamiento de contraseñas
➔ Las contraseñas se deben almacenar protegidas
◆ En claro: No están protegidas
◆ En base64: No están protegidas
◆ En base32: Tampoco
9. Es una función matemática que comprime la
información de forma rápida para que sea identificable.
Hashing: ¿Qué es un hash?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
12. Es una función matemática que comprime la
información de forma rápida para que sea identificable.
Hashing: ¿Qué es un hash?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
13. Es una función matemática que comprime la
información de forma rápida para que sea identificable.
¿Qué es un hash criptográfico?
❖ Siempre del mismo tamaño
❖ No es reversible
❖ Los mismos datos dan siempre
el mismo hash
❖ Dos datos distintos dan
siempre dos hashes
diferentes
19. Hashes
➔ Coste medio: (849
)/2 ~
104.107.874.265.464.832
➔ Si tenemos 240GH/s
◆ 240.000.000H/s
◆ 13 años en obtenerlo
¡PERO!
1. password → Mayus/Minus → 28
=256
2. Password → 1337 → 24
x 256 = 4096
3. Passw0rd → Append/Prepend →
2 x 32 x 4096 = 262144
4. Passw0rd!
262.144 / 240.000.000 ~ 0,001 segundos
20. Hashes
➔ Collection#1 → 21.000.000
➔ En GPU
◆ 21.000.000/240.000.000
● 0,0875 s
➔ En una CPU
◆ 21.000.000/200.000
● 87,5 s
➔ En cada entrada i del diccionario
MD5(diccionario[i]) ==
MD5(Passw0rd!)
➔ Hay diccionarios de hashes
(RainbowTables)
diccionario[i] ==
MD5(Passw0rd!)
22. ➔ Primer paso para protegerlas más:
◆ +SALT (no valen RainbowTables)
◆ Passw0rd! + Número del 1 al 1024 →
● MD5(Passw0rd! + Número del 1 al 1024) +
Número del 1 al 1024
➔ Coste con diccionario: Tamaño del diccionario
Hashes
23. Hashes
➔ Primer paso para protegerlas más:
◆ +PEPPER
◆ Passw0rd! + Número del 1 al 1024 →
● MD5(Passw0rd! + Número del 1 al 1024)
➔ Coste con diccionario: Tamaño del diccionario * 1024
24. Hashes
➔ Las contraseñas se deben almacenar protegidas
➔ ¿Están protegidas con MD5, SHA1, SHA256… ? + (
SALT | PEPPER )
◆ No lo suficiente → ¡Paralelizable!
25. Hashing
Mensaje original
Bloque 2Bloque 1 Bloque 3
Hash 2Hash 1 Hash 3
Hash
Mensaje original
Bloque 2Bloque 1 Bloque 3
Hash 2
Hash 1
Hash
Paralelizable Completamente paralelizable
26. Hashes
➔ Las contraseñas se deben almacenar protegidas
◆ Hashes seguros
● PBKDF2
● BCRYPT
● ARGON2
28. Hashes
➔ PBKDF2
Protegemos Passw0rd! con SALT 0xdeadbeef, y
esfuerzo 1.000:
◆ K0
= HASH(“Passw0rd!xdexadxbexef”)
◆ K1
= HASH(K0
+ “xdexadxbexef”)
◆ …
◆ K1000
= HASH(K999
+ “xdexadxbexef”)
29. Hashes
➔ Argon2
◆ Especial contra GPUs
◆ Uso intensivo de memoria
◆ Aleatorización de pasos dependiente de la
password
➔ Modo i → Contra side-channels
➔ Modo d → Contra GPU
➔ Modo id → Mixto
PHC 2015
30. ➔ Hay ciertos hashes
especialmente críticos
◆ NTLM
Hashes
42. Estadísticas
➔ Media 7-9 caracteres
➔ Mayúscula suele ser la primera. Número al final
➔ Mujeres más nombres personales
➔ Hombres más hobbies
➔ $ ! #
➔ 1,2. Si son más de dos números suele ser progresión.
50. Aplicaciones
➔ *2john
◆ Además de todas las herramientas de generación
de diccionarios y ruptura de contraseñas, tenemos
las herramientas de tratamiento de archivos
59. Recomendaciones
➔ Longitud: Mínimo 10 caracteres
➔ ¡No repetirlas!
➔ Juego de caracteres
◆ ¿Necesitas recordarla?
● Mejor frase larga
◆ Si no, usa un gestor de contraseñas
➔ Segundo factor de autenticación
60. Recomendaciones
➔ Comprobar seguridad de
contraseña
◆ No está en un volcado o
diccionario
➔ Sobre el cambio periódico
de contraseñas… No :)
◆ Subscripción a servicios
de detección de leaks
61. ▹ ProTego is focused in provide a toolkit for health care
organisations to better assess and reduce cybersecurity
risk
▸ https://protego-project.eu/
▸ @protego_project
Acknowledgment
Research and innovation programme under grant agreement No. 826284.
62. Bibliografía
➔ The Ultimate Guide to Passwords in 2019: Length, Complexity & More!
➔ iphelix/pack: PACK (Password Analysis and Cracking Kit)
➔ Mebus/cupp: Common User Passwords Profiler (CUPP)
➔ Password Hashing: Scrypt, Bcrypt and ARGON2 - Michele Preziuso
➔ Rubber-Hose Cryptanalysis
➔ how does NTLM authentication work | What is Active Directory? Microsoft
Active Directory Fundamentals with Video Tutorials
➔ I know your P4$$w0rd (and if i don´t, I will guess it) (J. Sánchez y P. Caro,
Telefónica)