31 julio 2011

Enlaces de la SECmana - 82

Leer más...

28 julio 2011

Vaya por delante que Ricardo Galli es una persona a quien le tengo un sincero aprecio personal y profesional por la cantidad de cosas que ha hecho tanto a nivel técnico como a nivel humano.

Hecho este disclamer, contaremos como un bug tan aparentemente inocente (iframe injection) puede tener bastante repercusión.

Para el que no lo sepa, un bug de este tipo consiste en la posibilidad de inyectar contenido ajeno a un site web haciendo que parezca propio. Este tipo de vulnerabilidades son fácilmente identificables en URLs de tipo Contenido=archivos/documento.html, si un site web emplea este tipo de URLs para cargar contenido, y no ha tenido la precaución de filtrar que esa URL no se convierta en Contenido=http://www.otraweb.com/documento.html, puede ser víctima de este tipo de bugs.

Hace tiempo el polifacético Luis Delgado, localizó un fallo de este tipo en la web de Fundación Autor. Tras valorar la forma mas pedagógica de emplear dicho bug, decidimos crear una supuesta oferta de trabajo redactada al estilo SGAE (click para ver la imagen en grande) y construir una URL que, partiendo del dominio 'madre' fundacionautor.org, cargase nuestra oferta de trabajo.


Como se puede ver, la oferta era en si un despropósito, pero tal y como están las cosas podía sonar creible.

Con eso en la mano le hicimos llegar la información a Ricardo Gallir quien a su vez, la publicó en Twitter


Y en google+



Hasta que Rafael Montagud se percató 'que algo raro había' y tiró del hilo en uno de los comentarios de Google+



Aun así la noticia llegó a la portada de Menéame


Una vez la gente se dio cuenta, la noticia fue descartada, no obstante, suscitó muchos comentarios (merece la pena leerlos)


Y esta es la historia de como un inocente bug que a priori sería catalogado como 'de bajo riesgo' desató esta polémica en la red. 

Añado que, esta vulnerabilidad NO supone compromiso alguno del servidor, tampoco acceso a recursos o ficheros no públicos.

Nuestras disculpas a quien se haya podido sentir ofendido por 'el engaño' y también a Ricardo Galli. Ante todo fair play
Leer más...
Finalmente se ha publicado la guía OpenSAMM traducida en su totalidad al castellano. Según anunciaba el coordinador de esta traducción, Juan Carlos Calderón, en las listas de correo de OWASP, de habla hispana (owasp-spanish, owasp-argentina, owasp-chile, entre otras) esta guía llevaba casi dos años traducida sin ser publicada, pero por fin ha llegado el día.

Para quienes no conozcan este proyecto, está liderado por Pravir Chandra de Fortify Software, compañía especialista en software de seguridad y comprada por HP hace ya casi un año. Sobre su definición, cito textualmente (traduciendo al castellano) su definición directamente sacada de la página web oficial de OpenSAMM:

"El modelo de madurez de seguridad de software (en inglés Software Assurance Maturity Model - SAMM) es un marco abierto para ayudar a las organizaciones a formular e implementar una estrategia a seguir para la seguridad en el software, encajando en los diferentes riesgos a los que se enfrenta una organización. Los recursos proporcionados por el SAMM ayudarán en lo siguiente:
  • Evaluación de las prácticas de seguridad en software de la organización.
  • Construcción de un programa de seguridad en software balanceado en iteraciones bien definidas.
  • Demostración de mejoras concretas en un programa de garantía de la seguridad.
  • Definición y medida de actividades relacionadas con la seguridad dentro de una organización.
SAMM fue definido con la flexibilidad en mente y así poder ser utilizada en pequeñas, medianas y grandes empresas, independientemente del estilo de desarrollo. Además, este modelo puede ser aplicado en toda la organización, para una única línea de negocio, o incluso para un proyecto en concreto.

Como proyecto libre, el contenido de SAMM siempre permanecerá neutral a fabricante y queda disponible libremente para que todo el mundo pueda utilizarlo."


Desde su primera versión publicada, este proyecto formó parte de la comunidad OWASP, con lo que ello conlleva: que toda la comunidad pueda contribuir y en esta ocasión, traducir el documento a otros idiomas. Además de la propia guía, en la sección de descargas (parte de Tools) de la página de OpenSAMM, se dispone de una serie de herramientas para apoyar las fases propuestas, como por ejemplo plantillas de entrevistas, hojas de ruta, planes de trabajo, planes de proyecto, gestor de vulnerabilidades...


¿Tienes en cuenta la seguridad en tu proceso de desarrollo? Si tienes dudas o directamente es una respuesta negativa, ya tienes por dónde empezar, además de forma totalmente gratuita y en tu idioma.

La versión original en inglés puede descargarse desde este enlace PDF [inglés], y su versión recién traducida al castellano, puede descargarse aquí.
Leer más...

27 julio 2011

Androide 007 – Licencia para ejecutar



El objetivo de esta entrada es dar un pequeño repaso al funcionamiento de las medidas de seguridad propuestas por Google a la hora de establecer una capa anti copia (válida) en las aplicaciones de pago del Market y saltárnosla de forma manual y automatizada.




Cómo funciona la licencia

Abstrayéndonos un poco del funcionamiento interno, podemos distinguir tres componentes fundamentales:
  • La aplicación, que contiene el nombre del paquete y una llave firmadaque es utilizada para validar las peticiones por parte del servidor.
  • El cliente de Android Market, al tener más permisos que la aplicación
    se encarga de recoger la información necesaria acerca del usuario y el
    dispositivo (nombre de usuario en Google, IMSI, IMEI, etc...). Posteriormente envía la petición de verificación de la licencia al servidor en lugar de la aplicación.

  • El servidor evalúa toda la información recibida, comprobando la identidad del usuario con las solicitudes registradas de compra, devolviendo como respuesta la validez de la licencia que posteriormente es manejada por la aplicación del market.
Es decir, la idea básica reside en que el usuario como desarrollador puede querer establecer una serie de políticas de permisos que permitan comprobar en tiempo de ejecución si tenemos luz verde para poder ejecutar una aplicación o no en nuestro terminal.

Hay casos donde las funcionalidades se ven restringidas, quedando su uso limitado a un
número determinado de intentos, o durante un periodo de tiempo. Y otros sin embargo nos impiden realizar un uso funcional.

Resumiendo el proceso a nivel de código; se crea una instancia de:

com.android.vending.licensing.LicenseChecker

y esta es encargada de llamar al método:

checkAccess(com.android.vending.licensing.LicenseCheckerCallback)

que realiza la consulta y devuelve la respuesta llamando al método encargado de ejecutarla.

¿Hasta qué punto es segura?

El servidor firma las validaciones con un par de claves RSA que son compartidas exclusivamente entre el servidor y el desarrollador de la aplicación.

Posteriormente el servicio de licencias genera un par de claves para cada cuenta de editor y publica la parte pública en el perfil de la cuenta de usuario. Este copia la llave pública y la incrusta en el código fuente de la aplicación, la compila y publica el APK.

Mientras tanto el servidor que almacena la parte privada la utiliza para firmar las respuestas a las validaciones de licencia para cada aplicación publicada por el usuario.

Una vez se ha recibido una respuesta satisfactoria por parte del servidor, se procede a utilizar la llave pública para validar la integridad de los datos. De esta forma se evita cualquier tipo de manipulación en la respuesta. O eso es lo que espera Google.

Vamos a jugar un poco

Hoy en día existen diversas herramientas que realizan esta labor de forma totalmente automatizada librándonos de todo el proceso. En esta entrada nosotros vamos a realizarlo de las dos formas, manual y usando la aplicación (antilvl) desarrollada por Lohan Plus. Siempre viene bien conocer cómo funciona todo el proceso interno.

La aplicación que vamos a desproveer de su protección es "They need to be fed" un juego desarrollado por YoyoGames.

-- Proceso manual

Lo primero que debemos hacer es desempacar el fichero APK para obtener el classes.dex. Recordemos que ahí es donde está contenido todo el código de nuestra aplicación. Aquí podemos tomar varios caminos y transformar el fichero contenedor de las clases a código Java, instrucciones Dalvik o realizar una interpretación del mismo usando baksmali, entre otras.

Nosotros haremos esto último, así que nos apoyaremos en la herramienta baksmali (v1.2.6):

sebas@Helios:~/Android/research/protection/com.yoyogames/bcode/com$ java -jar baksmali-1.2.6.jar -x -o baksmali_code ../../Android/research/protection/com.yoyogames/classes.dex

Una vez tenemos a nuestra disposición el código, el siguiente paso es buscar el fichero donde está contenida la comprobación de la licencia:

sebas@Helios:~/Android/research/protection/com.yoyogames$ find ./baksmali_code/ -name "LicenseChecker.smali"


./baksmali_code/com/android/vending/licensing/LicenseChecker.smali


Ese fichero contiene dos métodos cuyo código es necesario modificar para cumplir nuestro objetivo, el primero es el "checkAccess" (código aquí) que básicamente se encarga de comprobar si tenemos suficiente acceso como para usar la aplicación.

sebas@Helios:~/Android/research/protection/com.yoyogames.droidtntbf-1.apk_FILES$ grep -Hnr "checkAccess" .

Coincidencia en el archivo binario ./classes.dex
./baksmali_code/com/yoyogames/droidtntbf/RunnerActivity.smali:335: invoke-virtual {v1, v2}, Lcom/android/vending/licensing/LicenseChecker;->checkAccess(Lcom/android/vending/licensing/LicenseCheckerCallback;)V
./baksmali_code/com/android/vending/licensing/LicenseChecker.smali:627:.method public declared-synchronized checkAccess(Lcom/android/vending/licensing/LicenseCheckerCallback;)V


Y el segundo el "handleServiceConnectionError" (código aquí), que se encarga de generar las respuestas ante incidentes de errores de conexión con el servicio, véase timeouts, por ejemplo.

sebas@Helios:~/Android/research/protection/com.yoyogames$ grep -Hnr "handleServiceConnectionError" .


Coincidencia en el archivo binario ./classes.dex
./baksmali_code/com/android/vending/licensing/LicenseChecker.smali:168: invoke-direct {p0, p1}, Lcom/android/vending/licensing/LicenseChecker;->handleServiceConnectionError(Lcom/android/vending/licensing/LicenseValidator;)V
./baksmali_code/com/android/vending/licensing/LicenseChecker.smali:464:.method private declared-synchronized handleServiceConnectionError(Lcom/android/vending/licensing/LicenseValidator;)V
./baksmali_code/com/android/vending/licensing/LicenseChecker.smali:615: invoke-direct {p0, v1}, Lcom/android/vending/licensing/LicenseChecker;->handleServiceConnectionError(Lcom/android/vending/licensing/LicenseValidator;)V
./baksmali_code/com/android/vending/licensing/LicenseChecker.smali:774: invoke-direct {p0, v0}, Lcom/android/vending/licensing/LicenseChecker;->handleServiceConnectionError(Lcom/android/vending/licensing/LicenseValidator;)V


Una vez identificados sustituimos el código del método "checkAccess" por este, y el de "handleServiceConnectionError" por este otro.

Básicamente lo que hacemos es meter un par de mensajes en el log para facilitarnos un poco la tarea con logcat a la hora de hacer la traza a la ejecución de la aplicación, y por otro lado nos aseguramos de que se esté llamando al método allow().

El siguiente paso es firmar la aplicación para poder instalarla en nuestro dispositivo, esto se hace en unos sencillos pasos:
  • Generamos nuestra clave privada:

    sebas@Helios:~/Android/research/protection$ keytool -genkey -v -keystore llave-poc.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
  • Empacamos el APK, puedes usar apktool para esta tarea.
  • Firmamos con jarsigner:

    sebas@Helios:~/Android/sdk/tools$ jarsigner -verify -verbose -certs ~/Android/research/protection/com.yoyogames/prueba.apk

  • Utilizamos zipalign:

    sebas@Helios:~/Android/sdk/tools$ ./zipalign -v 4 ~/Android/research/protection/com.yoyogames/prueba.apk ~/Android/research/protection/com.yoyogames/prueba-final.apk
Y listo, si la instalamos veremos que hemos conseguido saltarnos la verificación de pago.


-- Proceso automatizado


Si queremos evitarnos el engorro de todo el proceso podemos usar anti-lvl, una herramienta desarrollada por Lohan Plus cuyo principal propósito es revertir el "License Verification Library" (LVL) y cualquiera de sus implementaciones. Además en cada versión se añaden nuevas huellas de las distintas variaciones existentes, con lo que al estar en constante actualización proporciona la seguridad de alcanzar el objetivo que perseguimos.

El uso más sencillo no puede ser, y con una simple línea consigue hacer todo el proceso por nosotros, basando su proceso en sencillos pasos: desensamblado, detección de los mecanismos de protección, eludir los mecanismos, ensamblar, firmar, y hacer el align a los primeros bytes:

sebas@Helios:~/Android/sdk/tools$ sudo java -jar antilvl.jar -f ~/Android/research/protection/com.yoyogames.droidtntbf-1.apk pruebafinal.apk




Si ahora pasamos esa aplicación a nuestra SDCARD y la instalamos, obtendremos el mismo resultado que comentábamos con anterioridad.

Conclusión

Una vez más queda demostrada la facilidad con la que es posible ownear a Google. En este caso la seguridad que proporcionan a sus aplicaciones. Supongamos la situación de que una empresa decide desarrollar uno de sus productos para plataformas Android, esta aplicación debe de pasar previamente por el market, así que deciden aprovechar la funcionalidad que Google ofrece de aplicar el LVL y así asegurarse de que nadie pueda utilizarla sin antes pagar el precio que tiene.

Supongamos que estamos hablando de una conocida empresa que fabrica aplicaciones con finalidad de Navegador/GPS, y que tienen un precio de 70€. Ahora vamos y nos burlamos de ese sistema de seguridad y la tenemos gratis en nuestro dispositivo.

¿A quién se le echa la culpa, al desarrollador por no haber tomado las suficientes precauciones y haber confiado en Google, o a Google por tener un sistema tan infalible?

--------------------------------------

Contribución por Sebastián Guerrero
Leer más...

26 julio 2011

¡Nominaciones Pwnie Awards 2011!


Vuelven los premios más divertidos del mundo del hacking y la seguridad. ¿Que qué se premia? Se premia el FAIL, la pericia o el ridículo dentro de la comunidad de la seguridad.

Además de ser unos premios bastante peculiares, son un pequeño resumen de lo mejor de todo el año, especialmente en la comunidad del exploiting.

Este año hay de todo y para todos, y es que la tarta está muy repartida.

Mención especial para Sony, que no ha dejado hueco para más participantes en la categoría "Pwnie for Most Epic FAIL", y es que ocupa ella sola todo el espacio disponible.

El 3 de Agosto en Las Vegas, en BlackHat USA, se celebrará la ceremonia que determinará los vencedores de cada categoría.

Este año las categorías son las siguientes:

- Pwnie for Best Server-Side Bug
- Pwnie for Best Client-Side Bug
- Pwnie for Best Privilege Escalation Bug
- Pwnie for Most Innovative Research
- Pwnie for Lamest Vendor Response
- Pwnie for Best Song
- Pwnie for Most Epic FAIL
- Pwnie for Lifetime Achievement
- Pwnie for Epic Ownage

Y las nominaciones para cada categoría:

Pwnie for Best Server-Side Bug

Premio para la persona que haya descubierto el fallo más sofisticado e interesante tecnicamente en el lado del servidor.

- ASP.NET Framework Padding Oracle
- Microsoft FTP server heap overflow
- ISC dhclient metacharacter injection
- BSD-derived IPComp encapsulation stack overflow
- Exim remote code execution flaw

Pwnie for Best Client-Side Bug

Igual que la categoría anterior, pero en el lado del cliente.

- FreeType vulnerability in iOS
- Google Chrome sandbox bypass
- Java mismatched codebase arbitrary code execution
- Blackberry Pwn2Own exploit
- Android web market XSS

Pwnie for Best Privilege Escalation Bug

Seguimos con el mejor fallo que permita escalada de privilegios.

- Privilege escalation in CSRSS
- Linux kernel set_fs kernel memory overwrite
- Linux $ORIGIN privilege escalation

Pwnie for Most Innovative Research

Persona que haya publicado la investigación, paper, presentación, hilo en lista de correo o herramienta más innovadora e interesante.

- Stackjacking
- Understanding and Exploiting Flash ActionScript Vulnerabilities
- Black Box Auditing Adobe Shockwave
- Securing the Kernel via Static Binary Rewriting and Program Shepherding
- Understanding the LFH heap

Lamest Vendor Response

La peor respuesta por parte del vendedor.

- Remotely exploitable stack overflow in OpenSSH on Novell NetWare
- Magix Music Maker 16 stack overflow
- RSA SecurID token compromise

Pwnie for Best Song

¿Qué ceremonia de entrega de premios no tiene premio para la mejor canción?

- Eatin' Cookies
- Hacker Hacker
- 0-day
- The Light It Up Contest
- Mastering Success And Failure
- Help Yourself To My Flaws
- LIGATT Rap
- gli anni
- #antisec
- My Digital Self

Pwnie for Most Epic FAIL

Parece que aquí hay premio seguro.

- Sony (Fail0verflow y GeoHot)
- Sony (Sony Online Entertainment (SOE) fail)
- Sony (LulzSec)
- Sony (PSN)
- Sony (Despedido su equipo de seguridad de redes)

Pwnie for Epic 0wnage

- Anonymous for hacking HBGary Federal
- LulzSec for hacking everyone
- Bradley Manning and Wikileaks
- Stuxnet

Podéis consultar toda la información y los divertidos comentarios de cada una de las vulnerabilidades en la web del concurso.

Referencias
Leer más...

25 julio 2011

Paneles de control de acuarios con SHODAN

Se ha hablado mucho de buscar paneles de control de sistemas que pueden afectar a la integridad física de las personas, como son por ejemplo los paneles de control de potabilizadoras de agua, partiendo de esa idea se me ocurrió que probablemente se haya desarrollado una gran cantidad de software para construir sistemas que automaticen los procesos necesarios que se realizan cuando se tiene a cargo animales y que garantizan la integridad de éstos, como es el control de la alimentación. Resumiendo, se me ocurrió buscar software de gestión de establos, de acuarios, de granjas... que pudiesen ser controlados de forma remota y estuviesen conectados a Internet.

Lo más relevante que encontré, a falta de indagar más a fondo, es un sistema modular llamado Aquacontroller Apex de gestión de acuarios por control remoto del acuario a través de un servidor web, de la empresa Neptune Systems (http://www.neptunesys.com).

Una búsqueda por "AquaController" en el buscador de banners SHODAN arroja unos seiscientos resultados, la mayoría servidores en el pais del tío Sam, que devuelven el nombre del programa en la cabecera Server de la respuesta HTTP.


Estos servidores web contienen un panel de control que permiten programar entre otras cosas rutinas de alimentación, controlar el PH del agua inyectando CO2 cuando alcance valores críticos, la temperatura programando cuando debe saltar el sistema de refrigeración, o se pueden programar alarmas cuando ciertas variables alcancen unos determinados valores. Para una lista más completa de funcionalidades podemos ver el manual, aquí el PDF para la versión 4.

Como podemos ver en el propio manual haciando una pequeña búsqueda, vemos que el el usuario y password por defecto que deja la instalación son admin/1234.


Resta ir abriendo pestañas en el navegador con los resultados devueltos por SHODAN y vemos que muchos no han cambiado el usuario y contraseña por defecto. Desde el panel de control que ofrece el servidor web del programa se pueden controlar todos los parámetros del acuario, las luces, el sistema de refrigeración, el PH, la alimentación...




Algunos paneles de control permiten ajustar un montón de módulos y contienen un montón de instrumentos, lo que hace suponer que ahí hay un acuario bastante grande con posibilidad de albergar multitud de animales, cuyo control es accesible para cualquiera con conexión a Internet ya que a pesar de que montaron un acuario y conectaron todo tipo de módulos y cosas se olvidaron de cambiar el usuario y la contraseña por defecto.



----------------------------------------------------------

Contribución por Miguel Ángel Bernabé Cruz
Leer más...

24 julio 2011

Enlaces de la SECmana - 81

Leer más...

23 julio 2011

Informe Fortinet European Security Strategy Census

Leo en el suplemento de seguridad de la revista TCN, que como resultado de un estudio encargado por Fortinet, fabricante de dispositivos de seguridad, se desprende que la importancia que los directivos TI dan al cumplimiento de las normativas es de un 27%. Después siguen la lucha contra las amenazas (menos mal!) con un 22%, y la virtualización en un 18%. En últimos lugares, están la movilidad y el cloud computing con un 12%.

El estudio, Fortinet European Security Strategy Census, tuvo en cuenta la opinión de 300 responsables de TI de países como España, Francia, Alemania, Italia, Países Bajos y Reino Unido.

Hace ya unos cuantos posts escribimos una reflexión relacionada con la importancia dada a la normativa únicamente, que  desgraciadamente, se ha demostrado ser  tendencia. Queda demostrado que, efectivamente, la prioridad está donde aprieta el zapato y donde "no cumplir" nos puede llevar a una sanción. La búsqueda de hacer las cosas bien, por el mero hecho de preocuparnos por la seguridad de los datos y los procesos, así como de las amenazas existentes queda en segundo plano (y en este caso, prioridad).

Por otra parte, mejorar la seguridad en dispositivos móviles se encuentra en la estrategia del 88% de los encuestados. En las empresas españolas cabe destacar que el 49% de las consultadas opina que la responsabilidad de la protección de los dispositivos móviles es del usuario/propietario. Mi duda es: ¿se referirán a los terminales personales de los usuarios o a los corporativos? Si el dispositivo es corporativo, la responsabilidad de que el mismo esté bien protegido ante amenazas externas, debería recaer en el departamento de TI, y su saber hacer en materia de configuración, bastionado y utilización de herramientas de seguridad corporativas específicas para dispositivos móviles.    

Además, entre las "preocupaciones laborales" de los encuestados destaca la seguridad de redes inalámbricas (un 57% en Europa y 53% en España). Según el informe, el sobreabultado márketing realizado por alguno de los denominados Firewalls de nueva generación han llevado a plantearse a las empresas, la necesidad de control de las aplicaciones. Mi reflexión ante esto es: Dada la política de cambios (generalmente sin avisar con tiempo suficiente) que experimentan las aplicaciones web utilizadas por los usuarios a diario, como Facebook o Twitter, ¿están los cortafuegos de nueva generación a la altura de poder adaptarse y funcionar como corresponde ante los cambios de las aplicaciones?
El colofón del informe era aún más esperable. La frase que está en las pizarras del 69% de los despachos de los directivos TI de Europa (un 77% en el caso europeo) es común: "Reducción de costes". De hecho, en la misma revista TCN, me llamó la atención un artículo de opinión escrito por la country manager en España de un fabricante de soluciones de Disaster Recovery, potenciar la importancia de este tipo de procedimientos incluso como alternativa a la alta disponibilidad. Es decir, en esencia, el artículo "vende su producto" (como es normal), indicando que es más barato asumir el riesgo de tener un servicio sin alta disponibilidad, pero a cambio disponer de una solución de disaster recovery que deje todo como estaba en minutos, planteándose como una posibilidad para la reducción de costes.  
Leer más...

22 julio 2011

Buenas prácticas de seguridad para publicación de proyectos

Ayer os contábamos el caso del malware incrustado en el instalador de CamStudio, probablemente debido a una intrusión en el servidor de descargas y modificación del fichero de instalación.

Éste no es un caso aislado, y es que a proyectos tan importantes como irssi, Wordpress, UnrealIRCd, ProFTPd o recientemente vsftpd también les ha pasado algo parecido.

Si bien no se puede decir que sea inevitable, se pueden tomar algunas medidas de seguridad para que las posibilidades de que ésto suceda se reduzcan al mínimo, o ayudar a detectar el problema lo antes posible para aplicar una solución.

1.- Publicar hashes de los ficheros
Ya sea mediante MD5, SHA1, SHA512, WHIRLPOOL u otro que nos guste más, es básico publicar junto con el paquete la huella del mismo para que los usuarios que lo descarguen puedan comprobar que es el mismo fichero que el autor subió. La elección del algoritmo debería depender del tamaño de los ficheros y la popularidad del mismo, por ejemplo, MD5 sería una buena opción para ficheros grandes por ser rápido y SHA1 para los pequeños.

Por supuesto, las huellas y los ficheros de descarga deben estar en diferentes sitios independientes.

2.- Publicar firmas GPG de los ficheros
La idea es la misma que la anterior, pero utilizando GPG en vez de hashes.

3.- Separar sitio web y sitio de descargas
Por una razón lógica, y es que si consiguen hacer una intrusión en uno habrá discordancias que permitirán detectar el problema rápidamente. Por ejemplo, si tenemos los hashes en el sitio web y vulneran el sitio de descargas para reemplazar un paquete, no podrán cambiar también el hash de dicho paquete, y tanto los usuarios como el administrador podrán ver rápidamente que algo no funciona como debería.

4.- Evitar alojamientos o servicios compartidos
Para que no nos pase lo mismo que a Ettercap deberíamos evitar servicios compartidos de alojamiento como SourceForge o Google Code. Un fallo de seguridad en su sistema puede afectarnos directamente.

Por el mismo motivo también deberíamos evitar alojamientos compartidos, donde se comparte un único espacio con múltiples clientes.

5.- Comprobar la integridad de los ficheros en algún proceso
Si el proyecto consta de instalación no está de más que se compruebe la integridad del paquete durante el proceso teniendo como referencia los hashes almacenados en nuestro servidor. Si el proyecto no consta de instalación, se podría programar un pequeño script que realizara el proceso.

Con estas medidas podemos reducir significativamente el riesgo de que nuestro proyecto sufra alguna modificación malintencionada externa. ¿Se os ocurre alguna medida más? ¿Creéis que son medidas excesivas? ¿Las cumplen los proyectos, especialmente los de productos relacionados con la seguridad?
Leer más...

21 julio 2011

CamStudio VS CamStudios


CamStudio, para el que no lo sepa, es un software OpenSource para grabar screencast en Windows. Su atractivo estriba en el hecho de que, a diferencia de Camtasia, es gratuito (y bastante mas limitado). No obstante para determinadas tareas sencillas, cumple bastante bien.

Por requerimientos del guión tuve que hacer una pequeña captura y me dispuse a utilizar el susodicho CamStudio. No lo había usado anteriormente pero tenia muy buenas referencias al respecto. Lo bajé, lo usé y todo bien -o eso pensaba-

Durante la instalación de CamStudio, Patriot-NG me avisó de la creación de algunos ficheros dentro de la jerarquía C:\Windows además de que se había instalado un nuevo servicio en el sistema. Probablemente en ese punto debí aplicar un punto de paranoia por lo del servicio, no obstante me autoconvencí que eso podría ser 'normal' por las características del software.

El caso es que hoy, de repente, de sopetón, me salta un popup de Microsoft Security Essentials alertándome de la presencia de un troyano. En estos casos lo primero suele ser la negación: No ! que va ! ¿a mi? Pero si yo no me bajo nada raro, si este Windows es mas íntegro que una de las vírgenes que prometen a los islamistas suicidas !!.

Una vez superada la fase de negación, continuo leyendo con mas detenimiento la alerta del antivirus y me encuentro lo siguiente:

Elementos:
file:C:\WINDOWS\Desktop Manager\dwm.exe
service:USmsServ

Deewomz.A

Un fichero sospechoso asociado a un servicio de Windows. Con estos datos me dirijo a Virustotal para subir el fichero y ver que opinan otros antivirus. Además de Essentials, solo era detectado como malicioso por otro antivirus (McAfe) y por heurística, no por firma. Con esa premisa y dado el bajo ratio de detección, empecé a pensar que igual era un falso positivo, sin mas

Buscando en google por la ruta en la que estaba dwm.exe llego a un enlace del foro de Camstudio donde algunos usuarios se quejaban de que tras instalar CamStudio, habían tenido el mismo problema que yo. En el hilo del foro, la gente aseguraba haber descargado el software desde la pagina principal -como yo- y en un momento dado otro usuario expone otro enlace en el que se detalla 'la miga del problema'

Por lo visto, durante algún tiempo en la pagina web oficial del proyecto, los enlaces a descargas (que apuntaban a sourceforge) habían sido cambiadas

http://sourceforge.net/projects/camstudio/files/stable/
VS
http://sourceforge.net/projects/camstudioS/files/stable/

Y en ese otro site se alojaban versiones troyanizadas de CamStudio.

¿Que ha hecho la gente de CamStudio? Tener la enorme deferencia de poner bien los enlaces, nada mas. Ni una sola explicación del porqué del cambio. En la pagina oficial, ni una sola mención al incidente.

Conclusión: 
  • Alguien presuntamente durante el mes de Junio (o antes) hackea la web del proyecto
  • Crea un proyecto similar en SourceForge (CamStudios)
  • Aloja en él versiones troyanizadas de CamStudio con un troyano poco conocido ¿tal vez ad-hoc?. 
  • El incidente se detecta, la gente del proyecto 'mira hacia otro lado' y ponen bien los links 
A saber cuantas personas ahora mismo tienen 'un regalo' en su equipo sin saberlo y cuanto tiempo tardarán en averiguarlo
Leer más...

20 julio 2011

Chongqing: La ciudad más "vista" del Mundo

Atónito me quedé cuando leí sobre el nuevo proyecto que sólo se puede dar en un país donde los ciudadanos son considerados conejillos de indias, y además los hay por montones: China. Sólo uno de los países que siempre está en el podio de la carrera por el sentido de la vigilancia y la censura a su pueblo, podría ser uno de los "early adopters" de una idea que George Orwell llevó a la novela hace ya unos años con el nombre de "1984"

En concreto, el proyecto se llama Peaceful Chongqing y la finalidad, según el gobierno chino, es conseguir poblar la ciudad de Chongqing de cámaras de monitorización, para conseguir el título de "ciudad más segura del mundo". Es tanta la locura, que siendo la cantidad de habitantes que son (unos 12.000.000), tocarían a una cámara por cada 24 personas. 
Ya me pareció destacable la cantidad de cámaras que se pueden ver dando un tranquilo paseo por las calles de Londres hace un par de años. Daba cierta sensación de seguridad el saber que posiblemente alguien estuviera mirando lo que pasaba a tu alrededor en cada momento y fuese más rápido poder contraatacar a la policía en caso que hubiese cualquier incidencia. Sin embargo y por contra, te hacía sentirte como un protagonista de Gran Hermano, pero sin salir luego en Sálvame o en Interviú, sabiendo que la palabra intimidad ya carece de sentido para tí en la calle.

En el caso de Chongqing, el deseo de sembrar de cámaras la ciudad se lleva al extremo. Curioso es también que el negociazo de vender unas 500.000 cámaras de vigilancia, así como el software de necesario, se lo va a llevar, nada más y nada menos que el gigante americano de las comunicaciones CISCO. Además, otra parte del bizcocho, la relacionada con el almacenamiento de las imágenes y videos, va a tocar también para otro fabricante americano más: Hewlett-Packard.

¿El estricto gobierno chino aceptando que la tecnología del imperio capitalista americano sirva para monitorizar a sus ciudadanos? ¿Qué sucedería si esos 500.000 dispositivos pudieran formar parte de una botnet que se activase a partir de una fecha determinada? ¿Y si se encontrara una vulnerabilidad con un impacto alto en el software de las mismas explotable remotamente? Evidentemente diréis, ya bueno pero se tratará de un circuito cerrado en una red privada... ¿Y si alguien entra en ella? Todo el mundo tiene un precio ¿cuánto cuesta en China sobornar a un vigilante?
Si alguien, a través de una de esas cámaras, tomase control de todas las demás, incluso podría plantearse hacer como en las películas y apagar todas en una fecha/hora determinadas contando con el efecto sorpresa y el efecto confianza de las autoridades en que las cámaras nos dirán quién fue y, a las malas, podremos verlo a posteriori. ¿Tenemos claro a quién va a estar dedicado el siguiente ataque de tipo APT
Porque imagino que el gobierno chino, ante una compra así de salvaje para este reality show hecho con chinos a modo de Gran Hermano king-size ¿pedirá el código fuente del software de las cámaras verdad?

Sé que es un tópico lo de "engañar como a un chino" pero ¿os imagináis que los sobrinos del tío Sam enviaran las cámaras ya con regalito incorporado? ¿Nuevos capítulos de "Humor Amarillo"? Sería un nuevo caso de Hackeo Memorable!
Leer más...

19 julio 2011

Novedades en NcN

Cada vez falta menos para el evento No Con Name, el decano de los eventos de seguridad en España.

Este año las ponencias abarcan múltiples áreas y podemos encontrar, por ejemplo, a mi tocayo Yago Fernández Hansen hablando sobre 'Geolocalización Wi-Fi basada en API', a Chema Alonso y el gran Juan Garrido que darán una ponencia sobre 'Terminal Hackpplications' o a nuestro colaborador habitual Sebastián Guerrero, que hablará sobre reversing en dispositivos Android. La lista completa de ponentes se puede consultar aquí.

A todo esto ya conocido, añadimos una mesa redonda donde se hablará sobre seguridad desde dos enfoques: Investigadores y Entornos corporativos. El objetivo es tratar de analizar riesgos e incidentes de seguridad desde ambos puntos de vista, esta mesa redonda será moderada por SbD.

Otra novedad que destapamos está relacionada con las entradas para la NcN. Vamos a contar como obtener una entrada con un 50% de descuento e incluso obtenerla gratis (promoción válida hasta el 10 de Agosto).

La forma de aprovechar la promoción es muy fácil: Tienes que enviar una sugerencia a la dirección de correo ideas_congreso@noconname.org las sugerencias pueden ir orientadas tanto a solicitar ponentes, mesas redondas, talleres o logística.

Todas las personas que envíen una sugerencia tendrán un 50% de descuento en la entrada (de 60 euros a 30) y además entre todas las sugerencias se seleccionarán 3 que tendrán la entrada gratis
Leer más...

18 julio 2011

Si Gmail hace poco introducía medidas para luchar contra la suplantación de direcciones de email, ahora Microsoft ha anunciado una nueva función muy curiosa para usuarios de Hotmail que debería ayudar a luchar contra spammers y fraudes vía email.

Seguro que todos hemos recibido alguna vez un email de un amigo que no teníamos muy claro si era verídico o, por el contrario, había sido enviado por alguien que ha obtenido el control sobre su cuenta.

En muchas ocasiones ocurre lo segundo, bien porque usaba una contraseña débil, bien porque usaba la misma contraseña en múltiples servicios y han comprometido su cuenta en alguno de ellos, o bien porque no le importaba mucho la seguridad de su ordenador.

Por ejemplo, fue sonado un caso de hace unos años, cuando una cuenta de Hotmail de Jack Straw, político del Reino Unido, fue comprometida y envió cientos de emails intentando engañar a sus contactos.

La nueva característica de Hotmail está diseñada para hacer más rápida y fácil la restauración de la cuenta para su dueño.

Cuando un usuario reciba un email de un contacto que indique que la cuenta ha sido comprometida, podrá reportar directamente a Hotmail que la cuenta de su contacto ha sido pirateada.


Además, si se marca un mensaje como basura, también permite reportar que la cuenta parece haber sido comprometida.


Con esta acción, se avisa a Hotmail de que tiene que tomar acciones sobre esa cuenta, al menos para determinar si ha sido comprometida, y en este caso tomar medidas.

Puede pasar que el email llegue desde otro servicio como Gmail o Yahoo!, en ese caso Hotmail promete que enviará el aviso al otro proveedor.

Todo ésto se combina con el sistema de detección que tiene Microsoft aparte, y que intenta detectar comportamientos extraños en las cuentas. Esta información y el reporte se combinan para verificar que, efectivamente, el reporte es verídico. La acción de los usuarios puede ser importante ya que pueden dar una respuesta más rápida que el sistema automático.

Según Microsoft la funcionalidad lleva habilitada sólo durante unas pocas semanas, y ya ha ayudado a identificar y recuperar cientas de cuentas comprometidas.

Además de curiosa, parece una buena idea, siempre que Hotmail tome las medidas adecuadas sobre la cuenta, y siempre verificando que la intrusión se ha realizado y tus amigos no te están gastando una pequeña "broma".
Leer más...

17 julio 2011

Enlaces de la SECmana - 80

Leer más...

16 julio 2011

Charla @secbydefault en #CPES15: Hackeos memorables

Como habíamos comentado en varias ocasiones, este año Security by Default volvía a estar en Campus Party Valencia, tanto en el desarrollo y coordinación del Wargame #wgsbd2, como dando una charla sobre la sección Hackeos Memorables del blog.

En este hilo queremos compartir con vosotros la charla que mi compañero Yago Jesús y yo  dimos ayer en el área de innovación de Campus Party Valencia 2011.

Desde SbD queremos dar las gracias a los asistentes a la misma, así como todos los que la visionaron por streaming. Esperamos de corazón que la hayáis disfrutado tanto como nosotros preparándola. Os aseguro que me lo pasé en grande con Yago preparando una presentación que os resultase entretenida.

Sin más dilación, os dejamos con el video que la organización de Campus Party subió a su canal Youtube.

Si te quedaste con las ganas de verla, ahora tienes una nueva oportunidad... ¿te la vas a perder?







También podréis consultar la presentación de la ponencia a continuación:

Leer más...

15 julio 2011

Seguimiento del Wargame II de SecurityByDefault #wgsbd2 #cpes15

Llevamos ya varios días con el Wargame II de SecurityByDefault que se está celebrando durante la Campus Party Valencia 2011, y el ritmo de participación ha sido frenético desde el minuto 1 que se publicaron las direcciones para poder participar.

Tras las indicaciones por parte de nuestro compañero Alberto en la presentación del área de innovación para poder participar en este concurso, comentando las bases más importantes, abrimos la dirección web https://portal.securitybydefault.com para que todos aquellos que deseasen participar, pudiesen registrarse en el panel de puntos y envío de tokens. Dentro, aparecerían todos los retos propuestos (con un total de 23), asignada la misma puntuación para todas las pruebas. 


Los puntos asignados a cada usuario dependerían del número de personas que la hubiesen resuelto anteriormente. De nada servirá, como se realiza en otras ediciones o wargames, guardarse respuestas para minutos antes de acabar el concurso: aquí hay que ser rápido ya que si no, te puede salir "muy barata" una prueba que te pudiese haber llevado mucho tiempo en resolver.


A fecha de hoy, 15 de Julio de 2011, contamos con un total de 322 participantes, de multitud de países. Destacan los siguientes:

  • España: 221 registrados
  • Colombia: 42 registrados
  • México: 16 registrados
  • Argentina: 5 registrados

De todos los participantes, casi el 33% ha conseguido solucionar mínimo uno de los retos propuestos
De todos los retos, los que han sido resueltos en un mayor número de ocasiones son los siguientes:
  • routing: 87 veces
  • keyconsole: 63 veces
  • feellikecsi_knl: 60 veces

Por último, os dejamos el TOP provisional en este momento, encabezado por nu11 con 3210 puntos y 22 pruebas resueltas, seguido de w3b0n3s con 2970 y 21 pruebas resueltas y kifo con 2743 puntos y 19 pruebas resueltas.

El concurso seguirá abierto hasta mañana por la tarde, seguramente hasta las 17h hora Española, por lo que todavía podréis seguir jugando durante más de un día. Si todavía no te has registrado, ¡no te lo pienses y que no te de miedo! Hay pruebas de todos los tipos, que cuestan más o menos, y abarcando todo tipo de categorías.

Puedes seguir la evolución en nuestro twitter o siguiendo el hashtag #wgsbd2.


[+] Panel del Wargame II SecurityByDefault #wgsbd2 https://portal.securitybydefault.com/

En otro orden de cosas, pero también relacionadas con esta edición de Campus Party, recordad que a las 13h, nuestros compañeros Yago y Lorenzo darán una charla sobre Hackeos Memorables en el área de innovación. La charla se retransmitirá vía streaming en esta dirección (esperemos), y seguramente se cuelgue el video posteriormente.
Leer más...

14 julio 2011

Hacia un nuevo modelo de auditoría de protección de datos

Hacia un nuevo modelo de auditoría de protección de datos
Principios y valores

Son ya doce años, desde que se promulgo el RD 994/99 de 11 de Junio, a través del cual se establecía por primera vez, la obligatoriedad de realizar auditorías sobre protección de datos de carácter personal.

El legislador perdió una magnífica oportunidad de desarrollar este precepto con el RD 1720/07 de 21 de Diciembre, quien mantuvo el mismo texto con una única salvedad, la realización de auditorías extraordinarias, cuando hubiese modificaciones sustanciales en los sistemas de información que pudieran repercutir en el cumplimiento de las medidas de seguridad.

El actual texto vigente, determina que el informe de auditoría deberá dictaminar sobre la adecuación de las medidas y controles a la Ley y su desarrollo reglamentario, identificará sus deficiencias y propondrá las medidas correctoras o complementarias, incluyendo hechos y observaciones en los que se basen los dictámenes alcanzados y las recomendaciones propuestas.

En una línea muy parecida, se definen las auditorías de seguridad en el Esquema Nacional de Seguridad (RD 3/2010 de 8 de Enero), pero incorporando un elemento clave en esta materia la independencia. De este modo se describe como revisión y examen independiente de los requisitos y actividades del sistema para verificar la idoneidad de los controles del sistema, asegurar que se cumplen la política de seguridad (mutatis mutandis Documento de Seguridad) y los procedimientos operativos establecidos, detecta las infracciones y recomienda modificaciones apropiados de los controles y de los procedimientos (El Centro Criptográfico Nacional desde el sentido común, habilita la concurrencia de auditorías del artículo 96 del RD 1720/07 de 21 de Diciembre con las del Artículo 34 del RD 3/2010 de 8 de Enero). Guía de Seguridad CCN-STIC-802).

Desde el estándar ISACA para la realización de auditorías de sistemas de información, Institución que debe ser tomado como referente en esta materia (Memoria Anual de la Agencia Española de Protección de Datos del año 2.002) a falta de una reglamentación, define como estructura y contenido mínimo de una auditoría de sistemas de información:
  • Introducción, declaración de objetivos, alcance, carácter y extensión de los procedimientos de auditoría
  • Opinión y conclusión respecto a si los controles y procedimientos son adecuados
  • Hallazgos detallados
  • Limitaciones
  • Declaración sobre las directrices seguidas
La función de la auditoría debe jugar un papel crucial como garante del adecuado diseño del sistema de protección de los datos y del correcto funcionamiento del mismo, por lo que la auditoría bien sea interna o externa, no debe quedarse en un mero testeo de los controles y debe recogerse de manera implícita toda una serie de valores y formalismos.

En este sentido, la auditoría debe contar con un enfoque integrado, tolerancia cero al riesgo al estar en juego derechos fundamentales del individuo y obligaciones de resultado, y bajo los valores y principios de transparencia, objetividad, seguimiento, neutralidad, independencia y recursos especializados.



Desde la experiencia en el sector, considero que se debe alcanzar una mejora global, sustancial y en su conjunto de la calidad de los trabajos de auditoría, debiéndose proyectar sobre todos los actores que ejercitan la actividad de auditoría.

El sector de las auditorías sobre protección de datos, no deben ser totalmente ajenas en cuanto a los principios del sector de otro tipo de auditorías como las de cuentas. La Comisión Europea en un estudio el sector de la auditoría en la UE, mostraba la falta de objetividad y estima explorar la posibilidad de crear un certificado de calidad europeo para sociedades de auditoría de cuentas (Libro Verde de la Comisión Europea. Política de Auditoría. Lecciones de la Crisis).

El Supervisor Europeo de Protección de Datos, en su reciente Dictamen 2011/C 181/01, un enfoque global de la protección de datos personales en la UE, reconoce la necesaria certificación de servicios desde una perspectiva general, que entre otros elementos ayudará a las Autoridades encargadas de la protección de datos en su papel de supervisión. Camino que beneficiara a todos los agentes en juego.

Tal y como exponía, el legislador perdió una oportunidad de oro para desarrollar esta materia en aras de buscar calidad, independencia, neutralidad y objetividad en la realización de auditorías sobre protección de datos, habiendo desarrollado en su día el articulado relativo a las auditorías, aunque hubiese sido como mera recomendación “ad cautelam”.

Comparándonos con el modelo de auditoría de cuentas, que cuenta con una mayor proyección histórica y mayor desarrollo legislativo, es interesante como han ido incorporando mejoras de carácter técnico aconsejadas por la experiencia y la practica desarrollada desde el año 1.988, hasta su reciente Texto Refundido por RDL 1/2011 de 1 de Julio:
  • Contenido mínimo del informe de auditoría
  • Responsabilidad plena de la empresa auditora
  • Sistema de fuentes jurídicas a las que se debe someter la actividad de auditoría:
    • Normas de auditoría
    • Normas Éticas
    • Normas de control de calidad
  • Régimen de incompatibilidades
  • Inscripción en el Registro Oficial
En línea con lo expuesto y con el objeto de crear seguridad jurídica entre todas las partes (Prestadores de Servicios, Responsable de Ficheros y/o Encargados de Tratamiento), considero que debe desarrollarse el marco jurídico de auditorías con el fin de garantizar los principios, valores y resultados de las auditorías, con un nivel de calidad mínimo y donde quede claro y manifiesto entre otros muchos elementos el régimen de responsabilidad civil.

En cuanto al modo de reglamentación. Considero que la figura de la Instrucción de la Agencia Española de Protección de Datos, quizás no tenga cabida, a pesar del valor normativo de éstas (Sentencia del Tribunal Supremo de 16 de Febrero de 2.007. Fundamento Jurídico Tercero), La figura de la Instrucción debe ir dirigida a adecuar tratamientos a los principios de la Ley, por lo que a mi entender lo realizaría a través de un nuevo texto Reglamentario y huir de otras vías del tipo, disposición adicional trigésimo octava de una Ley de Acompañamiento, o como Disposición Adicional Primera de una Ley relativa a la protección del Lince Ibérico. Tendencia habitual del legislador de denominar inadecuadamente las Leyes. Las esconde bajo rótulos, títulos e indicadores que nada tienen que ver con el ámbito objeto de regulación. Lo que el Primer Presidente del Tribunal Supremo tras la Transición, el eminente jurista, Excmo. Don Federico Carlos Sainz de Robles llamó “el juego del escondite”.

Lo justo y lo injusto no son productos de la naturaleza, sino de la Ley (Arquelao).

------------------------------------------------------------------------------------------

Contribución por:
Gonzalo Salas Claver
Senior Manager
Grupo SIA
Leer más...