Entradas

“Application Security” con Microsoft SDL

El otro día estaba en una entrevista de trabajo en el que me preguntaban si tenía experiencia en metodologías de desarrollo seguro de software. Tras salir de allí pensé que nunca había escrito por aquí sobre ese tema y es algo que me costó encontrar cuando me quise enfrentar al reto de asimilarlo. Es por eso que os traigo la primera de varias entradas, ¡espero que os gusten!

Cuando trabajas como responsable de seguridad, participar en los procesos de desarrollo de software es una de las tareas en las que tienes que dar lo máximo.

Como es lógico, las aplicaciones estarán expuestas a todo tipo de usuario. Puede que sean para uso interno (limitando un poco la exposición) o pueden estar abiertas al mundo, pero siempre serán un objetivo para los fallos “espontáneos” o “buscados” de seguridad.

En la forma de trabajo que hemos tenido hasta “hace cuatro días”, se desarrollaba siguiendo un modelo Waterfall, el que se daba (se sigue dando?) en la Universidad en la que todo tenía una secuencia inalterable basada en:

  • Toma de requisitos
  • Diseño
  • Desarrollo
  • Pruebas
  • Mantenimiento (tras lanzamiento)

Todo muy encorsetado, siendo complicado arreglar ciertos problemas o añadir nuevos requisitos sobre la marcha. Es cierto que se logra una mejora al añadir la implementación de prototipos, lo que podría verse como un leve precursor del modelo agile.

En cualquier caso, utilizar este modelo ha llevado en muchas ocasiones a algo parecido al extreme programming donde se termina por lanzar a la papelera el diseño y los requisitos para realizar desarrollos inmersos en un éxtasis de locura, infinidad de horas y mucho café.

El problema de este tipo de forma de trabajar es que da lugar a todo tipo de fallos de seguridad, sobre todo en viejos modelos de pruebas de seguridad “binarios”, lo que se traduce en “si da tiempo hago alguna prueba y si no…, pues no”.

Como podrás entender, en un mundo en el que cada vez hay más tecnología, en el que todo está conectado y en el que los problemas de seguridad pueden arruinar literalmente negocios y grandes empresas, esa forma de desarrollar ya no es viable.

Microsoft y la seguridad

La multinacional de Redmond archiconocida por el sistema operativo Windows, desde hace años colabora de forma sistemática con gobiernos y organizaciones en la búsqueda de las mejores prácticas en materia de ciberseguridad.

Una muestra de esto es su definición del ciclo de vida de desarrollo seguro, más conocido como Microsoft SDL, que se estableció internamente para todos los desarrollos desde el año 2.004.

Como ejemplo, podemos ver cómo los productos Microsoft han mejorado sustancialmente con respecto a los fallos graves de seguridad detectados antes y después de la puesta en práctica del modelo.

Figura 1 – Boletines de seguridad importantes y críticos de Windows antes y después del SDL

Figura 2 – Boletines de seguridad de SQL Server 2000 antes y después del SDL

Figura 3 – Boletines de seguridad para Exchange Server 2000 antes y después del SDL

Introducción a Microsoft SDL

La metodología que nos presenta Microsoft SDL se basa en tres conceptos principales que tendremos que tener siempre en cuenta:

Formación: todos los roles tanto técnicos como de gestión dentro de un proyecto deben estar debidamente formados en seguridad. Puesto que cada día aparecen nuevas vulnerabilidades y nuevos ataques, la formación debe ser continua en el tiempo y de la mejor calidad posible.

Mejora continua: es importante comprender la causa y el efecto de cada vulnerabilidad para evaluar de forma periódica todos los procesos, así podremos implementar los cambios que sean necesarios.

Responsabilidad: será muy importante archivar toda la información necesaria para realizar el mantenimiento de una aplicación cuando aparezcan los problemas. Tener un plan de detección y respuesta ante incidentes de seguridad nos permitirá poner en movimiento a todas las partes implicadas en el mismo.

Es por eso que el modelo de Microsoft SDL se estructura en cinco áreas de capacidades alineadas con las fases clásicas de desarrollo de software:

  • Formación, directivas y capacidades organizativas
  • Requisitos y diseño
  • Implementación
  • Comprobación
  • Lanzamiento y respuesta

Con el paso del tiempo y la creciente utilización de metodologías ágiles, Microsoft ha implementado una versión especial del SDL para este tipo de forma de desarrollar. Dicho modelo lo iremos viendo en las próximas entradas.

¿Te lo vas a perder?

Herramientas de Seguridad para entornos Microsoft

En innumerables ocasiones nos hemos encontrado con que debemos de realizar una auditoría de seguridad, analizar vulnerabilidad o simplemente detectar algún malware o código malicioso en entornos microsoft, llámese servidores o estaciones de trabajo.

En esta entrega quiero compartir con todos vosotros tres herramientas que nos ayudarán a realizar esta labor de una manera sencilla y quitándonos mucho tiempo en buscar alternativas que en ocasiones no sirven para nada.

La primera herramienta es PROCESS EXPLORER:

Process Explorer es una herramienta de la suite de sysinternals de Microsoft que nos permite identificar todos los procesos que se están ejecutando en Windows (Servidores o estaciones de trabajo) dando como resultado tanto los procesos legítimos como ilegítimos o sospechosos.

Aunque algunas personas lo confunden con el “administrador de tareas de Windows” hay que decir que NO es asi.

A través del Process Explorer podemos hacer un dump, ver el ID del proceso que está ejecutando la herramienta, matar (kill) el proceso en caliente, identificar la ruta donde esta instalado el proceso, ver el nivel de permisos a nivel de NTFS que tiene el proceso, entre muchas otras cosas.

Como bono extra de la herramienta nos da las estadisticas en tiempo real de consumo de memoria, CPU y Disco Duro.

2015-12-09_23-06-49

Esta formidable herramienta fue desarrollada por Mark Russinovich actual CIO de Azure en Microsoft.

Para descargar dar clic aquí:

https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx

 

La segunda herramienta es el Microsoft Baseline Security Analyzer (MBSA):

https://technet.microsoft.com/es-es/security/cc184924.aspx

Es una herramienta muy útil que se utiliza para realizar auditoría de seguridad y escaneo de vulnerabilidades en entornos Microsoft.

Su enfoque es para ayudar a las pequeñas y medianas compañías que no cuentan con un departamento de tecnología especializado en seguridad pero desean tener sus sistemas operativos blindados con las recomendaciones por parte de Microsoft que incluyen:

  • Actualizaciones y parches de seguridad
  • Recomendaciones de Seguridad
  • Detección de vulnerabilidades de seguridad
  • Auditoría de seguridad

woorden-wdb-gif-mbsa

Es importante destacar que se puede escanear múltiples ordenadores lo que hace muy simple el poder ver como esta el estado de seguridad de mis servidores o estaciones de trabajo.

Los sistemas operativos soportados por MBSA son:

Windows 2000, Windows 7, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Vista, Windows XP .

Puedes descargar la herramienta dando clic aquí:

https://www.microsoft.com/en-us/download/details.aspx?id=7558

 

La tercera herramienta es Microsoft Malicious Software Removal Tool (MSRT):

microsoft-malicious-software-removal-tool

Esta última herramienta nos permite detectar y eliminar software y codigos maliciosos (malware) en nuestros servidores y ordenadores con sistemas operativos.

  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows 7 Enterprise
  • Windows 7 Enterprise N
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Home Premium N
  • Windows 7 Professional
  • Windows 7 Professional N
  • Windows 7 Starter
  • Windows 7 Starter N
  • Windows 7 Ultimate
  • Windows 7 Ultimate N
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows Server 2012 Datacenter
  • Windows Server 2012 Essentials
  • Windows Server 2012 Foundation
  • Windows Server 2012 Standard
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
  • Windows 8.1
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Standard
  • Windows Server 2012 R2 Essentials
  • Windows Server 2012 R2 Foundation
  • Windows 10

Esta herramienta he de confesar que me ha salvado en muchas ocasiones como por ejemplo cuando la crisis en su momento del malware Conficker, realizando un sencillo script que permitía ejecutar la herramienta de manera silenciosa en los ordenadores y servidores se pudo eliminar y controlar el malware.

Muchos administradores de sistemas siguen utilizando este script en el inicio de sesión de los usuarios, es una manera efectiva de mantener los ordenadores limpios de codigos maliciosos.

Para más detalles podemos ir al siguiente enlace, donde adicionalmente podemos descargar la herramienta.

https://support.microsoft.com/en-us/kb/890830

Hasta la próxima…..

 

 

¿Están mis datos y ficheros personales y empresariales que están alojados en el Cloud cumpliendo con lo exigido en la LOPD?

Hola! de nuevo, hoy vengo con un tema un poco controversial, sobre los servicios en la nube llamado también cloud y su cumplimiento con la LOPD (Ley de Orgánica de Protección de Datos)  que en España protege los derechos de las personas a salvaguardar su honor e intimidad personal y familiar de los ciudadanos y el pleno ejercicio de sus derechos.

Esta Ley está regida y controlada por la AGPD (Agencia Española de Protección De Datos) en este sentido es de por sí controversial los servicios en la nube como en este caso en particular los ofrecidos por la empresa Microsoft.

Uno de sus productos estrella y que aloja una serie de soluciones empresariales es el Office 365 que contiene los productos Exchange Online (Correo electrónico), SharePoint Online (Gestión de documentos y contenido), Project Server Online (Gestión de Proyectos), Skype Empresarial (Comunicaciones Unificadas), Onedrive Empresarial (Almacenamiento de Ficheros) y la suite de productos de Office 2016 (Word, Excel, PowerPoint y NotePad).

En este sentido la pregunta que muchos nos hacemos es la siguiente.

¿Están mis datos y ficheros personales y empresariales que están alojados en el Cloud cumpliendo con lo exigido en la LOPD?

La respuesta es un rotundo “SI” de hecho ha sido Microsoft pionero en España en cumplir la LOPD, de por si existe un libro que habla exclusivamente de este tema y que puedes descargar en el siguiente enlace:

LOPD Libro Microsoft

https://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCAQFjAAahUKEwjDy97wxp_IAhVBBBoKHbi5AC8&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2FC%2F2%2F6%2FC2689C05-2B67-4D11-BD2A-43CF9DBCE59E%2FLibro_LOPD_V2_Alta.pdf&usg=AFQjCNFVe8JwJ0y4lEOt45oRpm-2KKhNoQ&sig2=m1B9K8Vaq3jKw7q7-AkvzA

Tambien la AGPD ha publicado una nota donde ha certificado que las soluciones corporativas de Microsoft cumple con las garantías para la exportación de los datos.

Los productos y soluciones corporativos son: Office 365, Dynamics CRM Online y Microsoft Azure.

Cloud

Hay que aclarar que esto es una garantía en cuanto a que da a los usuarios corporativos la tranquilidad de la protección de su intimidad personal y a las empresas la tranquilidad que sus datos están protegidos.

Aumentando la confianza de las empresas en migrar sus datos desde su CPD tradicional a la nube (Cloud), con todas las ventajas que trae ello consigo.

Nota: https://news.microsoft.com/es-es/2014/06/06/aepd-servicios-cloud-microsoft/

Asi que dormir tranquilos que los datos en Microsoft están a salvo y cumpliendo la ley…..

Hasta la próxima.

Sigue #Windows10 heredando el mismo REGEDIT ¿?

Hola a todos, recientemente Microsoft ha lanzado su nuevo sistema operativo de escritorio bajo el nombre de “Windows 10” e invita a todas las personas con sistemas operativos Windows XP, Windows 7, Windows 8 y Windows 8.1 a descargarlo gratuitamente bajo la única condición de tener una licencia legal http://www.microsoft.com/es-es/windows/windows-10-upgrade

 

Aunque se ha rumorado por allí que hay equipo “no legales” que están recibiendo igualmente la actualización.

 

En este sentido y viendo curiosamente una idea que se ha ocurrido es ver si el famoso REGEDIT sigue teniendo la misma estructura de código que viene arrastrando desde Windows 7.

 

El REGEDIT es el corazón del sistema operativo de Windows y no son muchos los administradores de sistemas y CISO que toman las medidas necesarias para que los usuarios comunes o delincuentes informáticos entren en el y realicen algunas travesuras como eliminar programas, cambiar las fuentes al sistema, corromper el sistema operativo etc. etc.….. hay que reconocer que dentro de nuestro grupo PIRULETO HACKING TEAM ya se ha realizado una travesura “sana” en algún Kiosco digital.

 

Ahora a ponernos manos a la obra.

 

En este ejemplo vamos a ver si la clave RUN, que es la que permite ejecutar programas apenas iniciar Windows (el malware le encanta esta llave de registro) sigue estando en el mismo sitio en los diferentes sistemas operativos arrancando desde Windows 7, luego Windows 8.1 y finalmente Windows 10.

 

Como siempre he dicho una imagen vale mas que mil palabras:

 

Advertencia: Tocar el REGEDIT es muy peligroso sino tienes conocimientos técnicos ni se te ocurra tocarlo.

 

Windows 7

2015-08-20_19-09-55Figura 1. Menú de Inicio de Windows 7

2015-08-20_19-11-02Figura 2. Registro de Windows 7

Windows 8.1

2015-08-20_19-13-39Figura 3. Búsqueda de Registro en Windows 8.1

2015-08-20_19-14-42Figura 4. Registro de Windows 8.1

Windows 10

2015-08-20_19-18-15Figura 5. Menú de Inicio de Windows 10

2015-08-20_19-19-56Figura 6. Registro de Windows 10

Como podemos ver y concluir sigue teniendo el mismo formato lo que nos hace deducir por ende que seguimos con el mismo REGEDIT heredado desde Windows 7.

Comprensible que realizar un cambio de arquitectura de software es muy costoso y se sigue una misma estructura para facilitar las migraciones de versiones y programas pero, en mi opinión se puede mejorar a medida que se evoluciona el sistema operativo esto con respecto al REGEDIT que como hemos visto no ha cambiado nada.

Medidas preventivas para evitar que nos modifiquen el REGEDIT.

  • No dar privilegios administrativos a los usuarios de nuestra red corporativa
  • Desplegar políticas de seguridad a través de nuestro directorio activo vía Group Policies Management Console GMPC https://technet.microsoft.com/es-es/library/Cc754948(v=WS.10).aspx
  • Utilizar software de terceros para proteger cambios en nuestro REGEDIT
  • Utilizar sistemas de alertas e intrusión en nuestros sistemas operativos que detecten cambios en el REGEDIT

 

Hasta una próxima……..