1) El documento discute la seguridad y los aspectos. 2) Propone un sistema de permisos basado en aspectos que utiliza control de acceso basado en historial. 3) Explica cómo integrar los aspectos con el modelo de seguridad basado en clases de Java utilizando dominios de protección.
Heat oil to almost smoking, then stir-fry aromatics until fragrant. Add ingredients according to cooking times with meat first and seafood ordered from longest to shortest cooking. Add sauce when vegetables are two-thirds done, cover to steam if longer cooking is needed, and add herbs last.
This document contains a summary of Samrat Patil's qualifications and experience. It outlines his educational background which includes graduating from Shivraj Institute with top marks and obtaining an MBA from Sinhgad Institute where he was actively involved in various events. His corporate profile includes over 2 years of experience as a Supply Chain Executive at Hindustan Coca-Cola Beverages and 6 months as a Senior Analyst, Procurement at Flextronics International. The document also lists his core competencies and skills, awards, research work conducted, training programs attended, and social media profiles.
Lo Cotidiano - Tomo II - Capitulos= La busqueda de la Luz - La Espera y la Es...inesalonsoares
¿Que es lo cotidiano?
Es la necesidad, la belleza, la comunicacion...
Muchos signos, significados y sentidos en una palabra!
Quizas puede ser nuestro hoy que habla con nuestros pasados y sueña con el futuro, lo por venir...
Durante el mes que vivi en Francia percibi lo cotidiano gracias a mis ojos sensibles y me sumergi en la realidad...
Mi camara fotografica intento detener y comprender el Tiempo ...
The document discusses timer programming on 8-bit microcontrollers. It describes the different timer modes, how to program timer 1 in 16-bit mode, how the timer clock frequency is related to the crystal oscillator frequency, examples of generating delays and square waves using timers, and calculating timer values for desired delays. Assignments are provided to write C programs using timers to toggle pins with different delays.
This document provides advice on how Central European startups can successfully launch in the US market. It outlines three approaches: the "NLB Approach" taken by Leo, which involves applying to accelerators, moving to San Francisco, and fundraising there; the "Build a Mutant" approach taken by MarGn, which involves fundraising in Europe but building US infrastructure and hiring local salespeople; and the "Wedding Planner" approach taken by Oliver, which focuses on building partnerships with US customers slowly over time before considering an acquisition. It cautions against "Roadkill Strategies" like trying to sell before relationships are built or delegating expansion without operational support. In conclusion, it advises matching one's approach to one's current
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
Heat oil to almost smoking, then stir-fry aromatics until fragrant. Add ingredients according to cooking times with meat first and seafood ordered from longest to shortest cooking. Add sauce when vegetables are two-thirds done, cover to steam if longer cooking is needed, and add herbs last.
This document contains a summary of Samrat Patil's qualifications and experience. It outlines his educational background which includes graduating from Shivraj Institute with top marks and obtaining an MBA from Sinhgad Institute where he was actively involved in various events. His corporate profile includes over 2 years of experience as a Supply Chain Executive at Hindustan Coca-Cola Beverages and 6 months as a Senior Analyst, Procurement at Flextronics International. The document also lists his core competencies and skills, awards, research work conducted, training programs attended, and social media profiles.
Lo Cotidiano - Tomo II - Capitulos= La busqueda de la Luz - La Espera y la Es...inesalonsoares
¿Que es lo cotidiano?
Es la necesidad, la belleza, la comunicacion...
Muchos signos, significados y sentidos en una palabra!
Quizas puede ser nuestro hoy que habla con nuestros pasados y sueña con el futuro, lo por venir...
Durante el mes que vivi en Francia percibi lo cotidiano gracias a mis ojos sensibles y me sumergi en la realidad...
Mi camara fotografica intento detener y comprender el Tiempo ...
The document discusses timer programming on 8-bit microcontrollers. It describes the different timer modes, how to program timer 1 in 16-bit mode, how the timer clock frequency is related to the crystal oscillator frequency, examples of generating delays and square waves using timers, and calculating timer values for desired delays. Assignments are provided to write C programs using timers to toggle pins with different delays.
This document provides advice on how Central European startups can successfully launch in the US market. It outlines three approaches: the "NLB Approach" taken by Leo, which involves applying to accelerators, moving to San Francisco, and fundraising there; the "Build a Mutant" approach taken by MarGn, which involves fundraising in Europe but building US infrastructure and hiring local salespeople; and the "Wedding Planner" approach taken by Oliver, which focuses on building partnerships with US customers slowly over time before considering an acquisition. It cautions against "Roadkill Strategies" like trying to sell before relationships are built or delegating expansion without operational support. In conclusion, it advises matching one's approach to one's current
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
1. The document is an unabridged version of "Futuretronium®, The Revolution II!" which discusses anticipating and understanding disruptive driving forces that are reshaping the world through a radical approach called "strong-sense futures thinking".
2. It describes how scientific knowledge is doubling every decade and computer power is doubling every 18 months, leading to an unprecedented era of scientific activity and technological change that will fundamentally transform industries and lifestyles.
3. The document provides a primer on technological and scientific knowledge from Dr. Michio Kaku and emphasizes the need to carefully manage risks and opportunities arising from these explosive driving forces that are churning immense and unprecedented change.
[Script Documentation] Add reminders to spreadsheet Constantin Rusu
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
This document discusses leadership and group dynamics within startups. It notes that while not all new companies are startups, startups are designed for very fast growth when small in size and recently founded. It explores how the costs to launch an internet startup have decreased and professional support structures have increased. It examines the culture of failure within startups and discusses leadership qualities and how team dynamics change over the startup lifecycle from the initial founding to later growth stages.
Este documento presenta una agenda para una charla sobre la recopilación y organización de datos sobre el movimiento estudiantil chileno. Se detalla cómo se obtuvieron más de 9,000 enlaces a través de RSS feeds y Twitter, y cómo estos datos se publicaron en un portal web y línea de tiempo. El trabajo futuro incluye identificar eventos relevantes, vincular datos a eventos, permitir la participación de usuarios, resumir y clasificar contenido de forma automática, y presentar la información en diferentes formatos.
The document discusses motivation and goal setting. It defines motivation as a process that causes an organism to move towards a goal. It outlines Abraham Maslow's hierarchy of needs from physiological to self-actualization. Self-motivation techniques include breaking tasks into small steps and starting action without waiting for inspiration. The document provides strategies for motivation like developing new skills and receiving feedback, and appeals that can motivate like benefits, emotions, needs, and expertise. It discusses characteristics of success like responsibility, hard work, persistence, and learning. Goal setting should involve specific, measurable, attainable, relevant, and time-bound goals that are short-term or long-term. Steps to achieving goals include identifying obstacles and resources, making a plan
Google Apps for Education > Chapter 3: Customize Google Apps for your schoolConstantin Rusu
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
Este documento presenta una introducción a Spring Security 3 y un taller práctico sobre cómo configurar la seguridad en aplicaciones web con Spring Security. El documento incluye una breve introducción a Spring Security, una guía paso a paso para configurar la seguridad en una aplicación web de ejemplo y más allá del taller con más información sobre configuraciones avanzadas de Spring Security.
Este documento discute la importancia de la seguridad en los sistemas. Explica que la seguridad incluye conceptos como la confidencialidad, integridad y disponibilidad. También describe actividades como el análisis de requisitos, riesgos y casos de abuso que deben realizarse para desarrollar un sistema seguro. Finalmente, resalta la importancia de pruebas como el testing funcional de seguridad y las pruebas de penetración.
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]RootedCON
Este documento presenta una herramienta llamada MEAT (Make Environment Android Tools) que automatiza el proceso de preparación del entorno para realizar auditorías de seguridad en dispositivos móviles Android. La herramienta guía al usuario a través de opciones como elegir entre un dispositivo físico o emulado, parchear aplicaciones para evadir controles como SSL Pinning usando Frida, y levantar un proxy para analizar comunicaciones. El objetivo es optimizar el tiempo dedicado a la preparación del entorno, que suele ser una parte no productiva de las auditor
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...Amazon Web Services LATAM
Este documento presenta las mejores prácticas de seguridad para Identity and Access Management (IAM) en AWS. Se describen 10 mejores prácticas clave para IAM, incluyendo la creación de usuarios individuales, otorgar permisos mínimos, administrar permisos mediante grupos, habilitar AWS CloudTrail para auditoría, configurar una política de contraseñas robusta, rotar credenciales regularmente, habilitar MFA para usuarios privilegiados, usar roles IAM para compartir accesos, usar roles IAM para instancias EC2, y
Presentación brindada en el contexto del OWASP Latam Tour 2014 - Argentina
Presentación introductoria sobre el impacto de la inclusión tardia de los requerimientos en general y de seguridad en particular. Inclusión oportuna en las etapas tempranas de los proyectos de desarrollo de software.
Técnicas de elicitación de requerimientos de seguridad:
Security use cases
Mis-use cases
Abuse cases
Obligation use cases
Threat trees
STRIDE / DREAD
Anti-Goals
Secure tropos
SQUARE
SQUARE-Lite
SREP
CLASP
Las practicas de despliega continua (CD) y DevOps están revolucionando el proceso de desarrollo y de negocio. Las practicas de seguridad, y sobre todo las pruebas de seguridad tendrán que adaptarse a este nuevo mundo.
Durante este charla propongo unos métodos para automatizar las pruebas de seguridad para que encajan en un proceso de despliega continua sin interrumpir el proceso. El formato incluirá los siguientes asuntos:
1. Introduccion breve a DevOps y Despliega Continua
2. Los retos para automatizar pruebas de seguridad
3. El marco de pruebas BDD-Security en tres pasos
4. Integracion con Jenkins
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesSoftware Guru
El documento habla sobre la importancia de incorporar la seguridad de la información en el desarrollo de aplicaciones. Explica que la seguridad debe ser parte de los requerimientos, el diseño y las pruebas de las aplicaciones para prevenir defectos. También recomienda realizar capacitación al personal de desarrollo, seguir guías de desarrollo seguro, y utilizar técnicas como revisiones de código y pruebas automatizadas para mejorar la seguridad.
Este documento presenta un curso sobre hacking ético con Kali Linux. Incluye información sobre el instructor Alonso Eduardo Caballero Quezada y su experiencia. Explica conceptos como metodología de pruebas de penetración, máquinas virtuales vulnerables como Metasploitable2, e introduce Kali Linux describiendo sus características, cómo obtenerlo e instalarlo. También cubre temas como cambiar la contraseña predeterminada de root y iniciar servicios de red en Kali Linux.
Este documento proporciona una introducción al curso virtual "Hacking con Kali Linux" impartido por Alonso Eduardo Caballero Quezada. El curso enseña sobre metodologías de pruebas de penetración, máquinas virtuales vulnerables como Metasploitable, la introducción y características de Kali Linux, y el uso de herramientas para capturar información, enumerar objetivos, mapear vulnerabilidades y explotar sistemas. El instructor tiene amplia experiencia en seguridad informática y ha impartido cursos y conferencias sobre hacking ético y forense informática
Este documento proporciona una introducción al curso virtual "Hacking con Kali Linux" impartido por Alonso Eduardo Caballero Quezada. El curso enseña técnicas de hacking ético y seguridad cibernética utilizando la distribución Linux Kali. El curso cubre temas como metodologías de pruebas de penetración, máquinas virtuales vulnerables, introducción a Kali Linux y sus herramientas, shell scripting, captura de información, enumeración de objetivos, mapeo de vulnerabilidades y explotación.
El documento presenta información sobre auditoría informática en el área de administración y auditoría de centros de datos. Explica conceptos clave como objetivos, categorías y tipos de auditoría, así como controles internos. También incluye actividades prácticas relacionadas con auditoría de hardware, software, seguridad y procesos.
1. The document is an unabridged version of "Futuretronium®, The Revolution II!" which discusses anticipating and understanding disruptive driving forces that are reshaping the world through a radical approach called "strong-sense futures thinking".
2. It describes how scientific knowledge is doubling every decade and computer power is doubling every 18 months, leading to an unprecedented era of scientific activity and technological change that will fundamentally transform industries and lifestyles.
3. The document provides a primer on technological and scientific knowledge from Dr. Michio Kaku and emphasizes the need to carefully manage risks and opportunities arising from these explosive driving forces that are churning immense and unprecedented change.
[Script Documentation] Add reminders to spreadsheet Constantin Rusu
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
This document discusses leadership and group dynamics within startups. It notes that while not all new companies are startups, startups are designed for very fast growth when small in size and recently founded. It explores how the costs to launch an internet startup have decreased and professional support structures have increased. It examines the culture of failure within startups and discusses leadership qualities and how team dynamics change over the startup lifecycle from the initial founding to later growth stages.
Este documento presenta una agenda para una charla sobre la recopilación y organización de datos sobre el movimiento estudiantil chileno. Se detalla cómo se obtuvieron más de 9,000 enlaces a través de RSS feeds y Twitter, y cómo estos datos se publicaron en un portal web y línea de tiempo. El trabajo futuro incluye identificar eventos relevantes, vincular datos a eventos, permitir la participación de usuarios, resumir y clasificar contenido de forma automática, y presentar la información en diferentes formatos.
The document discusses motivation and goal setting. It defines motivation as a process that causes an organism to move towards a goal. It outlines Abraham Maslow's hierarchy of needs from physiological to self-actualization. Self-motivation techniques include breaking tasks into small steps and starting action without waiting for inspiration. The document provides strategies for motivation like developing new skills and receiving feedback, and appeals that can motivate like benefits, emotions, needs, and expertise. It discusses characteristics of success like responsibility, hard work, persistence, and learning. Goal setting should involve specific, measurable, attainable, relevant, and time-bound goals that are short-term or long-term. Steps to achieving goals include identifying obstacles and resources, making a plan
Google Apps for Education > Chapter 3: Customize Google Apps for your schoolConstantin Rusu
1. Google Drive allows users to create, share, and collaborate on documents, spreadsheets, presentations and more online.
2. Using Chrome as a browser provides the best experience for using Google Docs.
3. Chrome is a fast, free browser designed specifically for Google Docs.
Este documento presenta una introducción a Spring Security 3 y un taller práctico sobre cómo configurar la seguridad en aplicaciones web con Spring Security. El documento incluye una breve introducción a Spring Security, una guía paso a paso para configurar la seguridad en una aplicación web de ejemplo y más allá del taller con más información sobre configuraciones avanzadas de Spring Security.
Este documento discute la importancia de la seguridad en los sistemas. Explica que la seguridad incluye conceptos como la confidencialidad, integridad y disponibilidad. También describe actividades como el análisis de requisitos, riesgos y casos de abuso que deben realizarse para desarrollar un sistema seguro. Finalmente, resalta la importancia de pruebas como el testing funcional de seguridad y las pruebas de penetración.
Paco Ramirez - M.E.A.T. - Make Enviroment Android Tools [rooted2019]RootedCON
Este documento presenta una herramienta llamada MEAT (Make Environment Android Tools) que automatiza el proceso de preparación del entorno para realizar auditorías de seguridad en dispositivos móviles Android. La herramienta guía al usuario a través de opciones como elegir entre un dispositivo físico o emulado, parchear aplicaciones para evadir controles como SSL Pinning usando Frida, y levantar un proxy para analizar comunicaciones. El objetivo es optimizar el tiempo dedicado a la preparación del entorno, que suele ser una parte no productiva de las auditor
AWS Summits América Latina 2015-Mejores Prácticas de Seguridad para IAM (Iden...Amazon Web Services LATAM
Este documento presenta las mejores prácticas de seguridad para Identity and Access Management (IAM) en AWS. Se describen 10 mejores prácticas clave para IAM, incluyendo la creación de usuarios individuales, otorgar permisos mínimos, administrar permisos mediante grupos, habilitar AWS CloudTrail para auditoría, configurar una política de contraseñas robusta, rotar credenciales regularmente, habilitar MFA para usuarios privilegiados, usar roles IAM para compartir accesos, usar roles IAM para instancias EC2, y
Presentación brindada en el contexto del OWASP Latam Tour 2014 - Argentina
Presentación introductoria sobre el impacto de la inclusión tardia de los requerimientos en general y de seguridad en particular. Inclusión oportuna en las etapas tempranas de los proyectos de desarrollo de software.
Técnicas de elicitación de requerimientos de seguridad:
Security use cases
Mis-use cases
Abuse cases
Obligation use cases
Threat trees
STRIDE / DREAD
Anti-Goals
Secure tropos
SQUARE
SQUARE-Lite
SREP
CLASP
Las practicas de despliega continua (CD) y DevOps están revolucionando el proceso de desarrollo y de negocio. Las practicas de seguridad, y sobre todo las pruebas de seguridad tendrán que adaptarse a este nuevo mundo.
Durante este charla propongo unos métodos para automatizar las pruebas de seguridad para que encajan en un proceso de despliega continua sin interrumpir el proceso. El formato incluirá los siguientes asuntos:
1. Introduccion breve a DevOps y Despliega Continua
2. Los retos para automatizar pruebas de seguridad
3. El marco de pruebas BDD-Security en tres pasos
4. Integracion con Jenkins
Incorporando la Seguridad de la Información en el Desarrollo de AplicacionesSoftware Guru
El documento habla sobre la importancia de incorporar la seguridad de la información en el desarrollo de aplicaciones. Explica que la seguridad debe ser parte de los requerimientos, el diseño y las pruebas de las aplicaciones para prevenir defectos. También recomienda realizar capacitación al personal de desarrollo, seguir guías de desarrollo seguro, y utilizar técnicas como revisiones de código y pruebas automatizadas para mejorar la seguridad.
Este documento presenta un curso sobre hacking ético con Kali Linux. Incluye información sobre el instructor Alonso Eduardo Caballero Quezada y su experiencia. Explica conceptos como metodología de pruebas de penetración, máquinas virtuales vulnerables como Metasploitable2, e introduce Kali Linux describiendo sus características, cómo obtenerlo e instalarlo. También cubre temas como cambiar la contraseña predeterminada de root y iniciar servicios de red en Kali Linux.
Este documento proporciona una introducción al curso virtual "Hacking con Kali Linux" impartido por Alonso Eduardo Caballero Quezada. El curso enseña sobre metodologías de pruebas de penetración, máquinas virtuales vulnerables como Metasploitable, la introducción y características de Kali Linux, y el uso de herramientas para capturar información, enumerar objetivos, mapear vulnerabilidades y explotar sistemas. El instructor tiene amplia experiencia en seguridad informática y ha impartido cursos y conferencias sobre hacking ético y forense informática
Este documento proporciona una introducción al curso virtual "Hacking con Kali Linux" impartido por Alonso Eduardo Caballero Quezada. El curso enseña técnicas de hacking ético y seguridad cibernética utilizando la distribución Linux Kali. El curso cubre temas como metodologías de pruebas de penetración, máquinas virtuales vulnerables, introducción a Kali Linux y sus herramientas, shell scripting, captura de información, enumeración de objetivos, mapeo de vulnerabilidades y explotación.
El documento presenta información sobre auditoría informática en el área de administración y auditoría de centros de datos. Explica conceptos clave como objetivos, categorías y tipos de auditoría, así como controles internos. También incluye actividades prácticas relacionadas con auditoría de hardware, software, seguridad y procesos.
CSSLP Capítulo 1 en el desarrollo de SW.pdfevilcrazy891
El documento presenta conceptos clave de seguridad como confidencialidad, integridad, disponibilidad, autenticación y autorización. También describe principios de diseño seguro como privilegio mínimo, separación de funciones, defensa en profundidad y fallo seguro. Finalmente, explica conceptos como mediación completa, economía de mecanismos y eslabón más débil.
Desde una aplicación web simple, previamente desarrollada, basada en la serie televisiva expediente X (X-Files), el objetivo será establecer la autenticación y autorización de usuarios de recursos de la aplicación web, como securizar la invocación de los métodos de los componentes de negocio. Se establecerá una configuración de seguridad mínima inicial, que se completará con mecanismos más sofisticados, a continuación. Todo ello, haciendo hincapié en las novedades de la versión 3.x de Spring Security como el uso de SPEL, anotaciones, espacio de nombres, configuración Java, etc. Los asistentes podrán ver muchas de las características que implementa Spring Security para establecer mecanismos de seguridad en las aplicaciones JEE. Las herramientas a utilizar serán Spring Tool Suite 3.6, Springframework 3.2, Maven 3 y Spring TC Server 2.9.
En este webinar, “Soluciones de Seguridad de Oracle desde la óptica de la Ingeniería de Software”, podrá descubrir las tecnologías Oracle que le permitirán securizar y controlar el acceso a los datos de las aplicaciones que desarrolle, utilizando enmascaramiento de datos, accesos restringidos, auditoría, protección de web services, etc.
OWASP Spain: Protection and Verification of Business Logic FlawsHdiv Security
Los problemas de seguridad a nivel aplicación podemos organizarnos en 2 tipos de problemas: Security Bugs o Bugs de Sintaxis y Business Logic Flaws, conocidos también como Design Flaws.
El primer tipo de riesgo, que incluye entre otros 2 de los problemas más conocidos como SQL Injection o XSS, está basado en bugs de programación que afortunadamente pueden ser detectados mediante herramientas AST (Application Security Testing) de forma automática reportando el fichero y la línea del problema.
A pesar de esta ventaja, el resto de los problemas que podemos englobar dentro de la categoría de Business Logic Flaws que representan aproximadamente el otro 50% del problema, no pueden ser detectados por las soluciones AST.
Los problemas de seguridad de tipo Business Logic Flaws son problemas relacionados con el dominio de la aplicación que actualmente son detectados mediante procesos de pen-testing de forma manual y su resolución en muchos casos implica un rediseño completo de las aplicaciones.
El objetivo de este charla es la presentación de un enfoque de protección de los business logic flaws integrado dentro del SDLC, junto con mecanismos para la automatización del proceso de pen-testing de este tipo de riesgos.
Siguiendo un enfoque práctico, dentro de la charla haremos uso de aplicaciones de referencia dentro del ecosistema de Spring como PetClinic (Spring MVC y REST) y de herramientas de auditoría como Burp Suite.
Daniel González & Helena Jalain - DevSecOps y la caída de Babilonia: cómo olv...RootedCON
El documento discute los riesgos de seguridad asociados con DevSecOps, incluyendo la exposición de información confidencial en herramientas de desarrollo como repositorios de código, sistemas de tickets, servidores de integración continua y consolas de scripts. También analiza cómo vulnerabilidades en estas plataformas podrían permitir la ejecución de código malicioso u obtención de acceso no autorizado. Concluye resaltando la importancia de aplicar el principio del mínimo privilegio y realizar configuraciones seguras
Gestión de seguridad en tus proyectos Joomla!Joomla Valencia
Este documento proporciona consejos sobre la gestión de seguridad de proyectos Joomla. Primero, recomienda configurar correctamente el servidor y alojamiento siguiendo una lista de comprobación de seguridad. Segundo, sugiere implementar buenas prácticas de configuración en la instalación como ajustar permisos, realizar copias de seguridad y activar .htaccess. Tercero, aconseja el seguimiento continuo de instalaciones mediante herramientas de actualización, registro de incidencias y copias de segur
En el mundo actual, las APIs juegan un papel importante en la creación de aplicaciones y servicios robustos y flexibles. Sin embargo, con la expansión de las APIs, también surge la necesidad de abordar los desafíos de seguridad asociados.
En esta charla, exploraremos en detalle el OWASP Top 10 de Seguridad en APIs, una lista de las principales vulnerabilidades que los desarrolladores y equipos de seguridad deben tener en cuenta al diseñar, desarrollar y asegurar sus APIs. Por último, comentaremos las mejores prácticas para mitigar los riesgos y garantizar la seguridad de tus APIs. Entre los puntos a tratar podemos destacar:
1.Introducir el concepto de seguridad en las APIs
2.OWASP Top 10 y su importancia para la seguridad en APIs
3.Actualización del OWASP Top 10 security en 2023
4.Herramientas para evaluar y mejorar la seguridad de tus APIs.
5.Estrategias y mejores prácticas para garantizar la seguridad de tus APIs.
Este documento presenta una serie de capítulos sobre la tecnología y configuración de CheckPoint. Cada capítulo cubre un tema como la arquitectura, despliegue, operaciones, políticas de seguridad, acceso de usuarios, NAT y monitoreo. Los capítulos incluyen descripciones de los temas, objetivos de aprendizaje e instrucciones de laboratorio.
Common Criteria: Herramienta para el desarrollo seguroJavier Tallón
Common Criteria (CC) es la certificación más reconocida a nivel internacional para medir la seguridad de productos IT. Por ejemplo, en España, es la certificación utilizada por el CCN para que un producto pueda entrar en el catálogo CPSTIC.
Lo que no es tan conocido es el peso tan importante que tiene en esta certificación el ciclo de vida de un producto o los procedimientos de desarrollo seguro.
Common Criteria, además de una metodología de evaluación, es una herramienta para garantizar el desarrollo de un producto teniendo en cuenta la seguridad desde el inicio. La obligación de definir los requisitos de seguridad implementados por el producto o el diseño de la arquitectura de seguridad son solo algunos de los pasos que permiten mitigar las vulnerabilidades en productos que siguen el standard Common Criteria.
Además en Common Criteria se han creado "Perfiles de Protección" que son plantillas de requisitos funcionales de seguridad que debe cumplir un producto de una categoría determinada. Por lo que, CC se puede utilizar tambien como una herramienta más que soporte el diseño seguro de productos IT.
Durante esta charla, explicaremos que es Common Criteria y como utilizar la norma como metodología para el desarrollo seguro de productos IT. Además daremos algunos ejemplos sencillos de como aplicar la norma obteniendo resultados muy satisfactorios durante la fase de diseño.
4. Seguridad y Software
• La seguridad debe ser un hecho durante todas
las fases del desarrollo
Motivación - 4
5. Seguridad y Software
• La seguridad debe ser un hecho durante todas
las fases del desarrollo
• Es un cross-cutting concern
Motivación - 5
6. Seguridad y Software
• La seguridad debe ser un hecho durante todas
las fases del desarrollo
• Es un cross-cutting concern
• Veremos un ejemplo utilizando AspectJ
Motivación - 6
8. AC con Aspectos
• Identification
– Asignar una identidad a los clientes
Motivación - 8
9. AC con Aspectos
• Identification
– Asignar una identidad a los clientes
• Authentication
– Afirmar que alguien es quien dice ser
Motivación - 9
10. AC con Aspectos
• Identification
– Asignar una identidad a los clientes
• Authentication
– Afirmar que alguien es quien dice ser
• Authorization
– Asegurar que tiene los permisos necesarios
Motivación - 10
11. AC con Aspectos
• Asumiremos una clase Server que
implementa service de la interfaz
ServerInterface
Motivación - 11
22. Seguridad y AOP
1. Código más mantenible
2. Separación de responsabilidades
(especialización)
Motivación - 25
23. Seguridad y AOP
1. Código más mantenible
2. Separación de responsabilidades
(especialización)
3. Las interacciones framework-application
están bien definidas
Motivación - 26
26. 2 – Aspectos y Seguridad
HACIA UN SISTEMA DE PERMISOS
29
27. Identificando el problema
• Usar aspectos para mejorar la seguridad
puede ser un arma de doble filo
Aspectos y Seguridad - 30
28. Identificando el problema
• Usar aspectos para mejorar la seguridad
puede ser un arma de doble filo
1. Invocation Interception
2. Privileged Aspects
Aspectos y Seguridad - 31
34. Problemas
• Advices, inter-type declarations pueden
alterar el estado de un objeto
• La interacción de dos o más módulos puede
ser influenciada
37
35. Problemas
• Advices, inter-type declarations pueden
alterar el estado de un objeto
• La interacción de dos o más módulos puede
ser influenciada
• Un programa “seguro” sin aspectos no lo es
necesariamente con aspectos.
38
36. Problemas
• Advices, inter-type declarations pueden
alterar el estado de un objeto
• La interacción de dos o más módulos puede
ser influenciada
• Un programa “seguro” sin aspectos no lo es
necesariamente con aspectos.
• …intencional o accidentalmente
39
38. Soluciones propuestas
• Invocation Interception
– Uso de declare precedence
• No es suficiente!
– Se vuelve intratable con muchos aspectos
– No hay un aspecto en el tope de la jerarquía
41
40. Soluciones propuestas
• Privileged Aspects
– Eliminarlos por completo
• No es suficiente!
– Adaptar un módulo no diseñado para ser “seguro”
– Una política puede depender del estado interno
de un módulo
43
41. Soluciones propuestas
• Modificar o extender el lenguaje de aspectos
– Por ejemplo, describir qué partes pueden ser
accedidas por cierto módulo
44
42. Soluciones propuestas
• Modificar o extender el lenguaje de aspectos
– Por ejemplo, describir qué partes pueden ser
accedidas por cierto módulo
• No es suficiente!
– Abstracciones de aspectos son “compiladas” en
abstracciones de objetos
• Los aspectos desaparecen
45
43. An Aspect Permission System
• Funcionamiento en tiempo de ejecución
(load-time o run-time)
46
44. An Aspect Permission System
• Funcionamiento en tiempo de ejecución
(load-time o run-time)
• Inserción de chequeos de seguridad (weaving)
47
45. An Aspect Permission System
• Funcionamiento en tiempo de ejecución
(load-time o run-time)
• Inserción de chequeos de seguridad (weaving)
• Mantener una identidad de los aspectos (en
caso de inlining)
48
46. 3 – Un sistema de permisos con AOP
HISTORY-BASED ACCESS CONTROL
49
48. History-based vs Stack-based
inspection
• Los aspectos son “compilados” (woven) a
bytecode
=> Los advices no dejan trazas en el stack
51
49. History-based vs Stack-based
inspection
• Los aspectos son “compilados” (woven) a
bytecode
=> Los advices no dejan trazas en el stack
• Por lo tanto, necesitamos mirar algo más que
el Stack en presencia de Aspectos
54
53. 1) Weaver-based
• Implementación:
– Sólo afecta al weaver de aspectos
– La JVM no sufre modificaciones
– Basado en anotaciones
• Independiente de la estrategia y del momento
del weaving
58
54. 1) Weaver-based
• Implementación:
– Sólo afecta al weaver de aspectos
– La JVM no sufre modificaciones
– Basado en anotaciones
• Independiente de la estrategia y del momento
del weaving
• Los aspectos no pueden interferir con el
modelo de seguridad
59
57. 2) History-based
• Permisos actuales dependen de todos los
permisos anteriores
1. Derechos estáticos (static rights, SR)
2. Derechos actuales (current rights, CR)
CR0 = SR
CRi ≤ ∩k<i CRk
62
58. 2) History-based
• En load-time (o compile-time) se asignan los
SR de cada aspecto
63
59. 2) History-based
• En load-time (o compile-time) se asignan los
SR de cada aspecto
• Centrado en la clase PermissionManager
64
60. 2) History-based
• En load-time (o compile-time) se asignan los
SR de cada aspecto
• Centrado en la clase PermissionManager
• Cuando corresponda, se llama a
demand(Permission p) para chequear
CR = p v p => CR
65
72. Evaluación de este enfoque
• El modelo History-based es muy estricto
comparado con uno Stack-based
• Una implementación ideal requeriría integrar
el sistema al compilador y al lenguaje base
• No toma en cuenta el mecanismo de
class-loading
77
73. 4 – AOP y el modelo de seguridad de Java
CLASS-BASED SECURITY
78
74. Class-based security
• Al considerar el mecanismo de class-loading,
el supuesto de identidad de aspectos ya no es
válido
79
75. Class-based security
• Al considerar el mecanismo de class-loading,
el supuesto de identidad de aspectos ya no es
válido
• ¿Cómo integrar aspectos con el modelo de
clases de Java?
80
77. Dynamic Class Loading
• La carga de clases en Java es de manera
dinámica y lazy
• Separa clases confiables de las no confiables
82
78. Dynamic Class Loading
• La carga de clases en Java es de manera
dinámica y lazy
• Separa clases confiables de las no confiables
• La identidad de una clase está dada por su
full-qualified name más su defining class
loader
83
79. Dynamic Class Loading
• Objetivos
– Asignación de Protection Domains
– Separación de Namespaces
– …Entre otros
84
80. Asignación de Protection Domains
• Cada class loader asigna un protection
domain a las clases que define
85
81. Asignación de Protection Domains
• Cada class loader asigna un protection
domain a las clases que define
• Un protection domain encapsula los permisos
asignados a las clases del dominio
86
82. Asignación de Protection Domains
• Por lo tanto, un aspecto también tendrá un
protection domain asignado
87
83. Asignación de Protection Domains
• Por lo tanto, un aspecto también tendrá un
protection domain asignado
• Al usar inlining, un aspecto puede “compilar”
un advice dentro de una clase confiable
88
84. Asignación de Protection Domains
• Por lo tanto, un aspecto también tendrá un
protection domain asignado
• Al usar inlining, un aspecto puede “compilar”
un advice dentro de una clase confiable
• Por lo que el protection domain del aspecto
no se conserva en algunos casos
89
86. Separación de namespaces
• Los aspectos también pueden quebrar este
principio por medio del inlining
• Al resolver una clase, un advice puede usar el
defining class-loader del join point shadow en
vez del class-loader que define al aspecto
91
87. Evaluación de AspectJ
Defining class loader
la : aspecto
lb : tipo dinámico del llamador
lc : tipo estático del llamado
ld : tipo dinámico del llamado
Permite el weaving de un
advice
No permite el weaving de
un advice
92
88. Evaluación de AspectJ
• lb ≤ lc y lc ≥ ld (por restricciones de JVM)
• Si la es ancestro de lb lc ld entonces es posible
hacer un advice (lo cual no es deseable)
• Hacer un advice a partir de b requiere la ≥ lb
• Caso especial cuando la < o ≠ lb , la < lc, la ≥ ld
asdf - 93
89. Observación
• Load-time weaving de AspectJ usa su propio
class-loader, lo que impide tener separación
de namespaces efectiva
• Sin embargo, AspectJ ofrece otras formas de
weaving en compile o post-compile time
94
91. Conclusiones
• AOSD permite una buena separación de intereses
en cuanto a Seguridad
• Sin embargo, es un arma de doble filo
• La inserción de untrusted aspects requiere una
arquitectura más elaborada
• Aun así, AspectJ por ejemplo, no está 100%
integrado al modelo de clases de Java
96