Mis intereses

  • Seguridad informática
  • Hacking con python
  • Seguridad en contenedores Docker y Kubernetes
  • Desarrollo seguro
  • Seguridad en Java
  • Desarrollo microservicios con Spring

Cursos

Machine learning y data science con scikit-learn y pyspark(Udemy)

machine learning 2020Este curso pretende ser una introducción a las técnicas más relevantes de Machine Learning y mostrar ejemplos de aplicación de estas técnicas. Que sirva para conocer qué técnicas existen, en qué se fundamentan y sobre qué tipos de problemas pueden aplicarse. El enfoque será teórico-práctico y se hará uso del lenguaje de programación Python y del toolkit Scikit Learn. Se recomienda a los alumnos instalarse ANACONDA en su plataforma habitual. ANACONDA incluye Python, Scikit-Learn y Matplotlib. La versión de python que utilizaremos será la 3.6.


Curso de Python Avanzado para Proyectos de Seguridad(ADR formación)

python avanzado para proyectos seguridad 2020Python es un lenguaje interpretado muy utilizado como herramienta de pentesting, sobre todo para la creación de herramientas que permiten recolectar información y detectar fallos de seguridad en aplicaciones web. Desde un enfoque teórico-práctico estudiaremos Python como un lenguaje orientado para investigadores de seguridad interesados tanto en la parte defensiva como en la ofensiva. Python se utiliza para un gran número de proyectos incluyendo programación Web, herramientas de seguridad, scripting y automatización de tareas.


Charlas y conferencias

Comparto las presentaciones y/o materiales empleados en las charlas y conferencias que he participado. Algunas de las que he he presentado se pueden ver en mi sitio público de presentación de propuestas

Monitoring and managing Containers using Open Source tools. OpenSuse 2020(Inglés)

Europython 2020The world is advancing towards accelerated deployments using DevOps and cloud native technologies. In architectures based on microservices, container monitoring and management become even more important as we need to scale our application. In this talk, I will show how to monitor and manage docker containers to manage the status of your applications. We will review how to monitor for security events using open source solutions to build an actionable monitoring system for Docker and Kubernetes. Through a web interface, tools such as cadvisor, portainer and rancher give us a global overview of the containers you are running as well as facilitate their management.


Python Memory Management 101.Deeping in Garbage collector. Europython 2020(Inglés)

Europython 2020In this talk I will try explain the memory internals of Python and discover how it handles memory management and object creation.The idea is explain how objects are created and deleted in Python and how garbage collector(gc) functions to automatically release memory when the object taking the space is no longer in use. Also I will review the main mechanims for memory allocation and how the garbage collector works in conjunction with the memory manager for reference counting of the python objects.Finally, I will comment the best practices for memory managment such as writing efficient code.


SecDevOps containers. StackConf 2020(Inglés)

StackConf 2020In this talk I will speak about main tips for integrating Security into DevOps. I will share my knowledge and experience and help people learn to focus more on DevOps Security. In addition to the so-called best practices, the development of efficient, readable, scalable and secure code, requires the right tools for security development.
These could be the main talking points:
-How to integrate security into iteration and pipeline application development with containers.
-How to secure development environments.
-DevOps security best practices


Python Memory Management 101.Deeping in Garbage collector. PyConHK 2020(Inglés)

Pycon HK 2020In this talk I will try explain the memory internals of Python and discover how it handles memory management and object creation.The idea is explain how objects are created and deleted in Python and how garbage collector(gc) functions to automatically release memory when the object taking the space is no longer in use. Also I will review the main mechanims for memory allocation and how the garbage collector works in conjunction with the memory manager for reference counting of the python objects.Finally, I will comment the best practices for memory managment such as writing efficient code.


Machine learning para proyectos de seguridad. Pycones 2019

Pycones 2019 En los últimos años, muchas de las soluciones de seguridad están utilizando el aprendizaje automático para detectar y prevenir las principales amenazas como malware o detección de anomalías en las redes. El objetivo de los algoritmos de machine learning es construir modelos que permitan predecir con la mayor precisión posible si ante nuevas entradas de datos, nuestro algoritmo va a ser capaz de predecir si se trata de malware o se ha detectado un comportamiento anómalo. Para ello disponemos varios tipos de modelos como regresión, clasificación, agrupación en clústeres, árboles de decisión, entre otros. En esta charla explicaré los conceptos principales sobre el aprendizaje automático aplicado a la ciberseguridad a través de diferentes casos de uso y ejemplos. Comenzaremos explicando los algoritmos principales que podemos usar para hacer nuestras predicciones, aplicando estos conceptos en el campo de la seguridad. Se comentarán ejemplos que permitirán evaluar las mejores técnicas de aprendizaje automático en función del problema de seguridad que se plantea.


Machine learning para proyectos de seguridad. Codemotion 2019

Codemotion 2019En los últimos años, muchas de las soluciones de seguridad están utilizando el aprendizaje automático para detectar y prevenir las principales amenazas como malware o detección de anomalías en las redes. El objetivo de los algoritmos de machine learning es construir modelos que permitan predecir con la mayor precisión posible si ante nuevas entradas de datos, nuestro algoritmo va a ser capaz de predecir si se trata de malware o se ha detectado un comportamiento anómalo. Para ello disponemos varios tipos de modelos como regresión, clasificación, agrupación en clústeres, árboles de decisión, entre otros. En esta charla explicaré los conceptos principales sobre el aprendizaje automático aplicado a la ciberseguridad a través de diferentes casos de uso y ejemplos. Comenzaremos explicando los algoritmos principales que podemos usar para hacer nuestras predicciones, aplicando estos conceptos en el campo de la seguridad. Se comentarán ejemplos que permitirán evaluar las mejores técnicas de aprendizaje automático en función del problema de seguridad que se plantea.


osint + python: extracting information from tor network and darkweb. Bsides 2019(Inglés)

Bsides 2019The talk will start explaining how Tor project can help us to the research and development of tools for online anonymity and privacy of its users while surfing the Internet, by establishing virtual circuits between the different nodes that make up the Tor network. Later, we will review main tools for discover hidden services in tor network with osint tools.


Security in open source projects. Froscon 2019(Inglés)

Froscon 2019In recent years, the amount of open source components used by developers has experienced significant growth. Millions of open source libraries are distributed through centralized systems such as Maven Central (Java), NPM (JavaScript) and GitHub (Go).In this talk, I will present the common security problems faced by companies that use open source. We will also talk about how to manage the risks of open source software using people, processes and tools


DOCKER. Seguridad y monitorización en contenedores e imágenes. Ulab 2019

Ulab 2019Este charla tiene como objetivo introducir los conocimientos para entender cómo gestiona Docker la seguridad tanto desde el punto de vista de la máquina donde lo ejecutamos, como desde el desarrollo y despliegue de imágenes.Docker es una herramienta portable para virtualización basada en contenedores y permite también la portabilidad de las aplicaciones.Se comentarán el conjunto de buenas prácticas que minimicen en la medida de lo posible la exposición de nuestra aplicación ante posibles ataques. Desde el punto de vista del análisis de imágenes comentaremos una serie de herramientas que permiten al usuario analizar cada una de las capas de las imágenes y contenedores en búsqueda de librerías desactualizadas, y vulnerabilidades y exposiciones comunes que podemos encontrar en la base de datos (CVE).


Testing python security. Pyconweb 2019(Inglés)

Pyconweb 2019Python is a language that in a easy way allows to scale up from starter projects to complex applications for data processing and serving dynamic web pages. But as you increase complexity in your applications, it can be easy to introduce potential problems and vulnerabilities. In this talk José Manuel Ortega will talk about the common security problems in Python code, like remote command execution and SQL injections. Of course he'll show to to prevent against these and other types of vulnerabilities.


Testing NodeJS security. Fosdem 2019(Inglés)

Fosdem 2019NodeJS is one of the fastest growing platforms nowdays and from a security point of view is necessary to know all posibilities that the platform offers to developers.This is a talk that explains some of the most common problems in NodeJS applications and how using frequently used tools it is possible to exploit such vulnerabilities.Also I will show what are the main vulnerabilities we can found and how we can fix them in our applications.


Darkweb + Python: discover, analyze and extract information from hidden services. Pyconit 2019(Inglés)

Pyconit 2019The talk will start explaining how Tor project can help us to the research and development of tools for online anonymity and privacy of its users while surfing the Internet, by establishing virtual circuits between the different nodes that make up the Tor network. In addition, we will review how Tor works from anonymity point of view, preventing websites from tracking you. Python help us to automate the process to search an discover hidden services thanks to packages like requests,requesocks and sockspy,At this point we will review the crawling process and show tools in python ecosystem available for this task.


Testing python security. PyconIE 2018(Inglés)

Pyconie 2019Python is a language that in a easy way allows to scale up from starter projects to complex applications for data processing and serving dynamic web pages. But as you increase complexity in your applications, it can be easy to introduce potential problems and vulnerabilities. In this talk, I will highlight the biggest problems we can find in python functions, how to use then in a secure way and tools and services that help you identify vulnerabilities in the python source code.


Common Vulnerabilities & Exposures (CVE) In Docker Containers. All Day Devops 2018(Inglés)

All day devops 2019CVEs are the standard source for vulnerability details and descriptions. Security professionals use CVEs to understand vulnerabilities and what can be done to prevent them.Securing application containers requires a security strategy which includes analyze and audit docker images layer by layer.


Python & OSINT para proyectos de seguridad. Bitup 2018

Bitup 2018El objetivo de la charla es mostrar herramientas realizadas en Python orientadas a realizar pruebas de seguridad y a nivel de OSINT se realizaría alguna prueba de concepto para extraer información pública de servidores y dominios.


Testing python security. Pycones 2018(Inglés)

pycones 2018In this talk, I will highlight the biggest problems we can find in python functions, how to use then in a secure way and tools and services that help you identify vulnerabilities in the python source code.


Microservices and serverless in python projects. Europython 2018(Inglés)

europython 2019Monoliths, microservices and now Serverless. Function as a Service (FaaS) platforms give us new ways to attack old problems. The possibility of executing functions as a service allows designing scalable and highly parallel applications, but on the other hand, this kind of applications require a particular programming style. For example, bundling dependencies and managing state is not trivial.However, there are plenty of tools and frameworks to help you code serverless applications with Python, and once you get started it is not complicated. In this talk we will mention the advantages of Serverless and we will focus on the situations in which we can introduce it into our Python projects. We will use AWS Lambda for the examples.


Python para proyectos de seguridad. Linux center 2018

linuxcenter 2019Python se ha convertido en el lenguaje más usado para desarrollar herramientas dentro del ámbito de la seguridad. Muchas de las herramientas que se pueden encontrar hoy en día como escáner de puertos, análisis de vulnerabilidades, ataques por fuerza bruta y hacking de passwords, se han escrito en este lenguaje ,además de ofrecer un ecosistema de herramientas para realizar pruebas de seguridad y de pentesting de aplicaciones.


Introducción a python. Linux center 2018

linuxcenter 2019 Introducción a python.Python como lenguaje multiplataforma.Principales estructuras de datos y colecciones(listas,tuplas,diccionarios).Orientación a Objetos en python.Gestionar paquetes y trabajar con virtualenv.Entornos de desarrollo tanto en local(python idle,pycharm,wingide) como en la nube(pythonanywehere).Módulo STB (Security Tools Builder) para generar el esqueleto de nuestro proyecto


GrayLog for Java developers. Fosdem 2018(Inglés)

fosdem 2018For developers, application logs are critical to figuring out what’s going on inside the apps we create. We tail them. We search them. We analyze and graph them.In this talk I will show Graylog as an open source log management tool, providing central storage, processing, and analysis of log messages powered by Java,MongoDB and ElasticSearch


Everything you need to know about containers security. Fosdem 2018(Inglés)

fosdem 2018Security is important but not everyone cares about it until something bad happens. In this talk, I’ll speak about main tips for integrating Security into Containers.I will share my knowledge and experience and help people learn to focus more on Containers Security. In this talk I will review the state of the art of application security practices and talk about best security practices to create more secure containers. And we look at organizational, process, and technology innovations to secure applications in ways that incorporate, but go beyond, testing for vulnerabilities, by looking at what developers can do before checking in code and what application security looks like in production.


Increasing Web Seurity With The Power Of HTTP Headers. OWASP APP SEC 2017(Inglés)

owasp 2017Nowadays everyone uses web browsers on a daily basis for various tasks such as reading emails or purchasing on ecommerce portals. Web developers often forget that a browser is a piece of software that can be used as remote code execution engine, an can be used to inject malicious code either by exploiting an Cross-Site Scripting (XSS) vulnerability or by executing a MITM attack. The focus of this talk is to explain how new browser headers (HSTS, HPKP, CSP) can help to easily add an extra layer of security in order to defend against common web security vulnerabilities. These could be the talking points: -Introduction about web browsers security,explaining why secure transport is important and what HTTPS provides in terms of confidentiality, authenticity and integrity -Analyze new headers, such as HTTP Strict Transport Security (HSTS), HTTP Public Key Pinning (HPKP) and Content Security Policy (CSP),explaining how they work for avoid HTTPS,XSS and Clickjacking attacks.


Testing Docker Images Security. LinuxLab 2017(Inglés)

linuxlab 2017Docker is a great technology that allows developers to build and deploy the infrastructure of an application in one source code image, but, security is one of the biggest challenges. In this talk, we present the best practices and lessons learned of security reviews on docker images deployments.


Testing Docker Images Security. NoCoName 2017

noconname 2017En esta conferencia se presentarán las mejores praćticas a nivel de revisiones de seguridad en las imágenes de docker. En primer lugar, se verá una descripción general del proceso de despliegue de una imagen en el repositorio oficial docker hub. En segundo lugar, se comentarán las principales superficies de ataque y las amenazas sobre dichas imágenes. Por último, se verá cómo se puede detectar vulnerabilidades en las imágenes con herramientas que permite automatizar éste proceso y otras técnicas de análisis de código junto con las mejores prácticas que explican cómo remediar estas vulnerabilidades. Se harán demos con herramientas Opensource y algunos casos de uso con python.


Testing Docker Images Security. All day devops 2017(Inglés)

all day devops 2017Docker is a great technology that allows developers to build and deploy the infrastructure of an application in one source code image, but, security is one of the biggest challenges. In this talk, we present the best practices and lessons learned of security reviews on docker images deployments.


Discovering Python Search Engine. Pycones 2017

pycones 2017Los principales motores que podemos integrar en nuestras aplicaciones son elasticSearch, PostGres Full text Search que permite añadir capacidades de búsqueda en aplicaciones web con django,whoosh como módulo que permite añadir funcionalidades de búsqueda e indexado de contenidos en aplicaciones y sitios web.


Testing Docker Images Security. Bsides 2017(Inglés)

bsides 2017Docker is a great technology that allows developers to build and deploy the infrastructure of an application in one source code image, but, security is one of the biggest challenges. In this talk, we present the best practices and lessons learned of security reviews on docker images deployments.


OSINT Tools for Security Auditing. Fosdem 2017(Inglés)

fosdem 2017The talk would aim about making an introduction to open source intelligence automation tools(OSINT) developed in Python, commenting the process we can follow to obtain, analyze and exploit public information in social networks and public servers.The final objective is obtain the maximum possible of knowledge in the context we are auditing.


Footprinting for security auditors. Fosdem 2017(Inglés)

fosdem 2017Footprinting is one of the most important techniques security auditing, since allows them gather information about the target we are analysing.In the process to collect information about our target we can diferentiate two phases,the first one is where we obtain public information without interact with the objective and the second one is where we can use tools such as port scanning. In the process to collect information about our target we can diferentiate two phases, the first one is the passive where we obtain public information about our target without interact with the objective and the second one is the phase where we can use tools such as port scanning or banner grabbing.


OSINT Tools for security auditing. Pycones 2016(Inglés)

pycones 2016The talk would aim about making an introduction to open source intelligence automation tools(OSINT) developed in Python, commenting the process we can follow to obtain, analyze and exploit public information in social networks and public servers.The final objective is obtain the maximum possible of knowledge in the context we are auditing.


WebScraping with asyncio. Pyconie 2016(Inglés)

pyconie 2016If we want to extract the contents of a website automating information extraction, often we find that the website does not offer any API to get the data you need and it is necessary use scraping techniques to recover data from a Web automatically. Some of the most powerful tools for extracting the data in web pages can be found in python ecosystem.


Testing NodeJS Security. Codemotion 2016

codemotion 2016Esta charla tratará de cómo proteger las aplicaciones express en términos de autenticación, middleware, y las mejores prácticas antes de subirla a producción


Ethical hacking with Python tools. Europython 2016(Inglés)

europython 2016Nowdays, Python is the language more used for developing tools within the field of security. Many of the tools can be found today as port scanner, vulnerability analysis, brute force attacks and hacking of passwords are written in python. The goal of the talk would show the tools available within the Python API and third-party modules for developing our own pentesting and security tools and finally show a pentesting tool integrating some of the modules.


Hacking ético con herramientas Python. Europython 2016

europython 2016Python se ha convertido en el lenguaje más usado para desarrollar herramientas dentro del ámbito de la seguridad. Muchas de las herramientas que podemos encontrar hoy en día como escáner de puertos, análisis de vulnerabilidades, ataques por fuerza bruta y hacking de passwords, se han escrito en este lenguaje ,además de ofrecer un ecosistema de herramientas para realizar pruebas de seguridad y de pentesting de aplicaciones.


Python tools for webscraping. PyData 2016(Inglés)

pydata 2016If we want to extract the contents of a website automating information extraction, often we find that the website does not offer any API to get the data you need and It is necessary use scraping techniques to recover data from a Web automatically. Some of the most powerful tools for extracting the data in web pages can be found in the python ecosystem.


Python para desarrolladores web. T3chfest 2016

t3chfest 2016La charla tendría como objetivo dar a conocer qué herramientas se disponen a nivel de desarrollo web dentro del ecosistema de Python. A nivel de frameworks de desarrollo se comentarán los más destacados (Django,Flask,Pyramid), comentando cuál es el más adecuado dependiendo del tipo de proyecto. A nivel de herramientas de extracción de datos de páginas web, se comentarán librerías de scraping que permiten automatizar este proceso como beatifulsoup, scrapy. A nivel de visualización de datos también podemos encontrar librerías interesantes como Bokeh. Por último, se comentará cómo se pueden acceder a APIs de servicios web desde Python.


Testing Android Security.Codemotion 2016(Inglés)

codemotion 2016


Comparing Python ORM - Track Avanzado.Pycones 2015

pycones 2015El objetivo de la charla es mostrar algunos de los sistemas ORM que podemos encontrar dentro del ecosistema de Python como Sqlalchemy, Storm, Sqlobject, Django ORM,realizando una comparativa entre ellos,mostrando ventajas y desventajas de cada uno. Algunas de las características a comparar son performance, eficiencia, tratamiento de caché, consultas. Por ultimo, se comentarán las ventajas que aportan estos sistemas para la seguridad de la aplicaciones web con Django.


Seguridad y criptografía en Python - Track Científico.Pycones 2015

pycones 2015La charla tendrá como objetivo introducir la criptografía y la seguridad desde el punto de vista del desarrollador, mostrando maneras de cifrar la información con scripts de Python y la información más sensible en aplicaciones web usando Django,comentando la principales vulnerabilidades que podemos encontrar en un sitio web(SQL injection,XSS, CSRF) y cómo Django nos puede ayudar a evitar ataques que se aprovechen de estas vulnerabilidades.


Seguridad en dispositivos móviles


Comparing JVM Languages.JavaConf 2015

javaconf 2015Nowdays there are more than two hundred languages working in JVM. It's commonly called polyglot programming in JVM ecosystem. This talk will try make an introductory look at several JVM languages, including Java 8, Scala, Groovy, Clojure, Celylon and Kotlin. I will compare them showing benefits and drawbacks each one. Some features I will compare are: Performance, Type checking(Static vs Dinamic), Functional principles, Collections and data structures, Semantics and Security.


Python Security & Cryptography.Europython 2015

europython 2015The talk would aim to introduce cryptography and security from the developer point of view, showing ways to encrypt information with Python scripts and more sensitive information in web applications using django. I will introduce to security in python ,showing some libraries that allow encryption and decryption like PyCrypto or M2Crypto,comparing theses libraries with the cryptography module.At the same time,I will show the main ciphers and hashing algorithms used in these libraries like AES,DES,RSA and some examples illustrating each case.I wil show other techniques like steganography for hiding information in files(images,documents,programs) with some libraries like Stepic or ezPyCrypto. Finally,I will comment OWASP Python Security Project where we can find some useful practices and secure coding guidelines for detecting potential security vulnerabilities in our applications like SQL injection or Cross-site scripting.


Web Cryptography.JSDAY 2015


Mobile Backend as a Service (MBaaS).T3chfest 2015

t3chfest 2015La charla trataría de dar una introducción a los servicios en la nube que se pueden utilizar para persistir los datos de nuestras aplicaciones móviles

Libros

Desarrollo seguro (Marcombo 2020)

desarrollo seguro


DevOps and Containers Security: Security and Monitoring in Docker Containers (BPB 2020)

docker security


Tecnologías para arquitecturas basadas en microservicios.Patrones y soluciones para aplicaciones desplegadas en contenedores (2020)

microservicios