25 noviembre 2011

OWASP Appsec Tutorial Series

Amigos aca les pongo una serie de tutoriales de la OWASP, a medida que vayan sacando los publicare en esta entrada, espero que les guste, a titulo personal me parecieron muy buenos.


OWASP Appsec Tutorial Series - Episode 1: Appsec Basics



OWASP Appsec Tutorial Series - Episode 2: SQL Injection



OWASP Appsec Tutorial Series - Episode 3: Cross Site Scripting (XSS)

14 octubre 2011

Hablando un poco sobre seguridad

Que tal amigos, tenia mucho tiempo que no escribía una entrada, esto dado a mis ocupaciones y cosas personales por lo que aveces no me da chance de ponerme a escribir cualquier tema que tenga pendiente de comentar por acá.

Hoy sin embargo quería compartir algo que me gusta hacer desde hace mucho tiempo y básicamente es dar charlas, ponencias, transmitir ideas, impartir e intercambiar conocimientos.

Es una de las actividades que de verdad me gusta hacer, disfruto mucho haciéndola y me entretiene bastante. Este año por naturaleza de mi trabajo y por las cosas de las cuales me ocupo me han citado a varias charlas, conversatorios, talleres dirigido a todo tipo de publico como niños, universitarios, profesionales y a comunidades organizadas  donde a cada uno he llevado lo mejor de mi como ponente y como persona.

Acá les dejare alguno de los sitios donde he estado y algunas fotos.

Pto Ordaz - Bolivar
  • Charla a Universitarios y a profesionales sobre Certificación Electrónica
  • Charla de Certificación Electrónica a miembros de la APN (Administración Publica Nacional)
  • Charla Sobre Seguridad en Aplicaciones  Web - OWASP en la JINFOUNEG

San Felix - Bolivar
  • Charla sobre Seguridad en Redes Sociales a Comunidad Organizada

Maturin - Monagas
  • Charla a Universitarios y a profesionales sobre Certificación Electrónica
  • Charla a Universitarios y Profesionales sobre seguridad en la Web 2.0
  • Charla de Certificación Electrónica a miembros de la APN (Administración Publica Nacional)

Pto la Cruz - Anzoategui
  • Charla a Universitarios y a profesionales sobre Certificación Electrónica
  • Charla de Certificación Electrónica a miembros de la APN (Administración Publica Nacional)
  • Charla de Seguridad en Redes Sociales a niños y niñas
  • Ponencia sobre Seguridad en Aplicaciones Web -  OWASP a universitarios y profesionales

Santa Ana de Coro - Falcon
  • Charla a Universitarios y a profesionales sobre Certificación Electrónica
  • Charla a Universitarios y Profesionales sobre seguridad en la Web 2.0
  • Charla de Seguridad en Redes Sociales a niños y niñas
  • Charla sobre Seguridad en Redes Sociales a Comunidad Organizada

09 agosto 2011

Como crear contraseñas seguras y de manera rapida.

Muchas veces pensamos unos buenos minutos y quemamos un montón de neuronas para crear contraseñas un tanto complejas, pero me ha pasado que esos minutos pueden llegar a ser  una hora, tal vez por que soy un  tanto paranoico con esto de las contraseñas, de manera tal que si cuento con muy poco tiempo creare una contraseña con lo que primero se me venga y tal vez no sea lo mas adecuado.

Nada mas fácil, practico y seguro que crear una contraseña con Open SSL.

Para esto necesitamos tener instalado OpenSSL en nuestro sistema, si estamos en la consola de un GNU/Linux, específicamente de un Debian o Ubuntu seria de la siguiente manera.

sudo apt-get install openssl

Una vez instalado OpenSSL podemos generar contraseñas aleatorias y de manera segura con el siguiente comando.

openssl rand -base64 12

y obtendremos la siguiente salida.

nB+gBKxkg3IenCDu

Estamos claro que hay que tener mucho cuidado con el resguardo de las contraseñas sobre todo si pertenece a un servicio critico o si con esa contraseña se tiene acceso a información valiosa.   

05 junio 2011

Los 12 principios del testeo de la OWASP Testing Guide

No existe la solución definitiva

La seguridad no consiste en comprar programas o “cacharros” y utilizarlos sin más. La seguridad está relacionada con las personas y los procedimientos, además de con la tecnología. No existe ninguna herramienta ni ningún appliance que simplemente por utilizarlo ya nos de seguridad. Las herramientas sirven para escalar nuestro trabajo (permitiéndonos hacer más con menos esfuerzo) y para implementar políticas de seguridad. Pero la solución definitiva no existe.


Hay que pensar estratégicamente, no tácticamente

Cuando se detecta un fallo de seguridad no hay que “simplemente” solucionarlo, desplegar el parche y esperar el siguiente fallo. Es necesario aplicar a nuestro proceso de desarrollo las medidas correctivas que nos permitan reducir el número de fallos que se producen. La prevención es la mejor manera de proteger la seguridad de nuestros sistemas.


El ciclo de desarrollo es la clave

La OWASP Testing Guide insiste a lo largo de toda la primera parte en que lo fundamental del análisis de seguridad es su integración en el ciclo de desarrollo de software. Es importante que desde la fase de definición de requerimientos y diseño de la aplicación se tenga la seguridad en mente.

Testear pronto y frecuentemente

Cuanto antes comencemos a testear y cuanto más frecuentemente lo hagamos durante el proceso de desarrollo, mejor software produciremos, más robusto y con menos fallos. De esta forma también se reducirán los costes de programación al corregir los fallos en una fase inicial del desarrollo de la aplicación.


Comprender el alcance de la seguridad

Analizar la seguridad de una web es un constante proceso de priorización. No podemos analizar exhaustivamente todos y cada uno de los puntos de una aplicación web por lo que debemos tener en cuenta dónde están los riesgos y priorizar en aquellos que más probablemente va a buscar un atacante y más impacto tienen en el negocio.


Desarrollar la mentalidad correcta

Nadie tiene, al menos nadie que yo conozca, un nombre de 2049 caracteres, con caracteres como ‘, ; o #. Sin embargo, esto no significa que en un campo de entrada de un nombre de persona no pueda introducirse una cadena con esta longitud y con estos caracteres. Cuando se analiza la seguridad de un software hay que pensar “fuera de la caja”, hay que usar “pensamiento oblicuo” y ver de qué manera un atacante podría vulnerar el correcto funcionamiento de una aplicación introduciendo datos incorrectos. Normalmente se usan casos extremos, cero caracteres, miles de caracteres, caracteres infrecuentes, cadenas de formato, etc. Para realizar análisis de seguridad es imprescindible desarrollar la mentalidad correcta.


Dominar la materia

En este punto, OWASP se refiere a dominar los requerimientos de la aplicación que se está desarrollando. Aunque se haga uso de metodologías ágiles de programación, es importante que exista una documentación básica de los requerimientos de la aplicación que se está desarrollando, en forma de diagramas, pseudocódigo, actas de reunión, una wiki o cualquier otro método.


Utilizar las herramientas adecuadas

“Dame seis horas para cortar un árbol, y pasaré las primeras cuatro afilando el hacha.” Abraham Lincoln

Las herramientas son un aspecto fundamental en un análisis de seguridad. Sin las herramientas adecuadas y su conocimiento se pierde eficiencia y eficacia y se invierte más tiempo es tareas repetitivas, dejando menos tiempo para el análisis.


El diablo está en los detalles

Un análisis superficial de seguridad como el que nos ofrecen determinadas herramientas de seguridad, no es suficiente. Es conocido que en el campo de la seguridad los falsos positivos son muy frecuentes. Para realizar un análisis diligente es necesario verificar las vulnerabilidades que identifiquemos y estirar de todos los hilos.


Utilizar el código fuente cuanto esté disponible

No siempre es posible disponer del código fuente de una aplicación cuya seguridad estamos analizando, sin embargo, la identificación de determinadas vulnerabilidades es más exhaustiva si el experto que analiza la web dispone del código y tiene los conocimientos necesarios para analizarlo.


Desarrollar métricas

Las métricas son un aspecto en ocasiones minusvalorado, pero fundamental en el campo de la seguridad. Si podemos medir, podemos mejorar. No es sencillo, pero es necesario desarrollar las métricas adecuadas para poder medir la seguridad de nuestras aplicaciones y la calidad del análisis y así poder establecer objetivos de mejora concretos.


Documentar

Documentar es una palabra temida en ocasiones por los técnicos. Sin embargo, documentar es un aspecto fundamental de cualquier aplicación y, por supuesto, de cualquier análisis de seguridad. Si la dirección de la organización no puede entender el problema existente, es improbable que disponga los recursos necesarios para solucionarlo. Igualmente, si no documentamos los problemas, no podremos calcular métricas y no tendremos referencia en el futuro de fallos pasados.

Fuente: Florencio Cano

04 mayo 2011

Que es la OWASP Testing Guide

Determinadas aplicaciones web se están convirtiendo en un activo crítico en numerosas empresas por la información que procesan y almacenan. Ya no es raro encontrar soluciones ERP, CRM, bussiness inteligence, etc. vía web utilizadas por empresas de todos los tamaños. La seguridad de las mismas es un aspecto fundamental ya que la confianza de los clientes está en juego.
Cuando analizamos la seguridad de una web entendemos el término “seguridad” en un sentido amplio. Analizar la seguridad de una aplicación web implica:

  • Comprobar si existen errores en la programación o en la configuración de la misma que permitan a un atacante vulnerar la confidencialidad, integridad, disponibilidad o trazabilidad de los datos.
  • Comprobar que el funcionamiento de la aplicación está conforme a los requerimientos definidos por la organización y está alineado con el negocio. 
  • Comprobar que el procesado y almacenamiento de datos cumple con la legislación y los compromisos contractuales referentes a la aplicación.

En ocasiones un análisis de seguridad se realiza por ser requisito o estar recomendado por otro tipo de normativa, como la ISO 27001. Ésta norma, para quien todavía no la conozca, establece los requerimientos de un sistema de gestión de seguridad de la información (SGSI), y establece distintos controles relacionados con un análisis de seguridad web.

¿Por qué analizar la seguridad de una web?

Si proteger la confidencialidad, integridad, disponibilidad y trazabilidad de la información de una aplicación web no parecen suficientes motivos para revisar una aplicación web, pensemos en otros casos:
  • Daños a la imagen de la empresa
  • Responsabilidad legal, sanciones
  • Interrupción del servicio
  • Espionaje industrial
Estos argumentos se centran en los beneficios resultantes de evitar daños a la organización, sin embargo, realizar un análisis de seguridad de una aplicación web también ofrece un valor a la empresa que la distingue en el mercado. Realizar análisis periódicos de la seguridad de nuestra aplicación web por una empresa independiente es un buen argumento comercial para diferenciarse de la competencia y dar una seguridad extra a un potencial cliente que todavía tiene dudas.

¿Qué es OWASP y la OWASP Testing Guide?

La Open Web Application Security Project es una organización mundial sin ánimo de lucro que tiene como objetivo mejorar la seguridad del software en general, y especialmente de las aplicaciones web.

OWASP es una entidad independiente que no respalda ni recomienda empresas ni productos comerciales concretos.

La OWASP Testing Guide es un marco de análisis de seguridad web desarrollado y documentado por OWASP. En su guía se diferencian dos partes fundamentales. En la primera parte se habla principalmente de teoría y filosofía del proceso de análisis de seguridad de aplicaciones. Se describen principios, técnicas y métodos básicos que pueden utilizarse durante un análisis de seguridad y se establece qué, cuándo y cómo testear. En la segunda parte se describen 66 controles de seguridad, divididos en 10 categorías.