Archive for Programación

OWASP Mobile Security Project

Introducción

OWASP (Open Web Application Security Project) nos provee de una serie de recursos basados sobre todo en guías y herramientas para que nuestros proyectos web sean lo más seguros posibles, tanto desde el punto de vista de desarrollo seguro como de la evaluación de la seguridad de éstos.

Para los desarrolladores ofrece una gran cantidad de recursos para ayudar a llevar a cabo un ciclo de vida de desarrollo de software seguro (S-SDLC, Secure Software Development Life Cycle).

Para los auditores de seguridad ofrece una gran cantidad de recursos como guías y herramientas para evaluar la seguridad de las aplicaciones móviles.

OWASP Objetivos

OWASP Mobile Security Project

Pues bien, tanto los desarrolladores de aplicaciones móviles como los auditores de éstas, pueden aprovecharse también de recursos de este tipo para poder alcanzar el objetivo de la máxima seguridad posible. Para ello OWASP nos propone su Mobile Security Project.

owasp-msp-logo

La imagen anterior es el logotipo oficial del proyecto OWASP Mobile Security Project.

OWASP ProcesosAl igual que en las aplicaciones web, para conseguir el nivel máximo de seguridad posible es imprescindible que todos los factores se alineen; personas, procesos y tecnología.

Recursos OWASP Mobile Security Project

A continuación nombraremos algunos de los recursos disponibles en este proyecto.

Top 10 Mobile Risks: Tal y como podemos encontrar con el Top 10 de riesgos en aplicaciones web, también tenemos este recurso disponible en el proyecto MSP.

Developer Cheat Sheet: Una “chuleta” con consejos para el desarrollador para evitar errores que puedan dar lugar a vulnerabilidades en su aplicación.

App Security Testing Cheat Sheet: Una “chuleta” para el auditor con información interesante para llevar a cabo la evaluación de la seguridad de la aplicación.

Secure Mobile Development: Recurso para el desarrollador que le ayudará durante el ciclo de desarrollo de software seguro (S-SDLC).

Security Tesing Guide: Similar a la Testing Guide para aplicaciones web, también podemos encontrar una guía de test para ayudar al auditor durante sus tareas de evaluación de los controles de seguridad de la aplicación.

Tools: OWASP nos propone un arsenal de herramientas que nos ayudarán tanto para el desarrollo seguro así como para testear los distintos controles de seguridad. Disponibles para las diferentes plataformas (Android, iOS o Windows Phone).

Top 10 Mobile Controls: Definidos conjuntamente por la ENISA y OWASP, nos indica el top 10 de los controles de seguridad a evaluar.

owasp-msp-resources

En próximos artículos en el blog hablaremos de los distintos recursos que acabamos de comentar. Como siempre, esperamos que sean de vuestros interés y esperamos vuestro feedback.

¡Saludos!

@miguel_arroyo76

 

 

Sockets SSL en Python

Recientemente un lector del blog me contactó para pedirme, muy amablemente, si podía ayudarle a comprender los conceptos de implementación de sockets SSL en Python. ¡Por supuesto! Y como siempre, fiel a la humilde ideología de este blog, quedará aquí todo expuesto con el fin de compartirlo con todos vosotros e intentar ayudar a alguien más.

En primer lugar, vamos a ver un breve resumen del concepto de socket.

Dentro del ámbito de la programación, se utiliza el término socket para hacer referencia, principalmente, a las siguientes definiciones:

  • Socket (def. [1]): concepto abstracto por el cual dos programas, normalmente situados en computadoras diferentes, pueden intercambiar un flujo de datos a través de un canal de comunicación.
  • Sockets (def. [2]): en muchos casos la Network Application Programming Interface (NAPI) denominada BSD Berkeley Sockets se abrevia a Sockets. Se trata de una interfaz de trabajo que se utiliza para relacionar la capa de aplicación con la capa de transporte. Normalmente, este tipo de interfaces las proporciona el sistema operativo. A continuación, siguen otras NAPIs conocidas:
    • TLI, XTI (de AT&T UNIX System V)
    • Winsock (de Microsoft)
    • MacTCP (de Apple Computer)

Veamos una imagen representativa de estas:

NAPI en el Modelo TCP-IP Read more