Jorge Alberto Mussuto Sr.

Jorge Alberto Mussuto Sr.
Somewhere in Massachusetts ®

Thursday, April 22, 2010

(title unknown)

(title unknown): "An idea for a very, very long weekend with your kid, if you have one...
This magnificent castle was in the front of Dedon showroom during Fuorisalone.It makes me wish to have
at least three kids instantly so that we can make this castle for the rest of the week.
"

Bump!

Bump!: "

One of the nice things about this job is that I’m meeting lots of interesting
startups who are doing mobile apps. My fave so far is
Bump.


Bump World Headquarters

Bump World Headquarters


The idea is simple: I bump your phone with mine, and the result
is that I transfer something to you; say, a phone number, or a picture, or, of
course,
money.


A good place to start getting the picture would be their
FAQ.
This is the kind of technology I like; a simple effect, instantly
understandable, that requires rocket science under the
covers to pull off.


The Bump guys

Ah, that startup ambience. You’ll note that I erased the
whiteboards, but I can reveal that one of them contained scraps of what
appeared to be [gasp!] Haskell code.


Bump and Android


There’s good news and bad news. The good news is that they’re running on
Android (very nicely) and shipping an Android API. You can bump an iPhone and
an Android together and it Just Works, no problemo.


In fact, there are a couple of things they can do in Android that are
harder on other platforms; for example, because of the Android
Intent
feature, you can register Bump to, for example, share pictures.


Sharing pictures with Bump

Of course, nothing’s perfect. The Bump guys had run
across a couple of issues which were causing them extra work at release time,
and really shouldn’t have.
So I visited them to look at the source code so we can figure out how to set
things up so that particular bug doesn’t bite anyone else.


Practical mobile-device compatibility

Practical compatibility testing at the Bump World
HeadQuarters.


Any other startups reading this, I’d be happy to get pitches. But I probably
won’t write you up here unless I’m actually going to use your app myself.

Black Hat Europa, 2 day briefings

Black Hat Europa, 2 day briefings: "
En su segundo día, la Black Hat Europa comenzó con la presentación de Thai Duong y Juliano Rizzo sobre Crypto ataques a aplicaciones web. Su investigación se ha dirigido a cryptoanalizar el modo de cifrado por bloque Cipher-Block Chaining. CBC fue inventado por IBM en 1976. En este cifrado, a cada bloque de texto plano se le aplica una operación XOR con el resultado del bloque anterior. De esta manera el resultado de un módulo es dependiente de los anteriores, excepto para el primero que se utiliza un vector de inicialización IV. La siguiente imagen es muy ilustrativa:



El tamaño de bloque suele ser de 8 bytes con un cifrado DES/triple DES o 16 bytes para AES. Por lo que respecta a la clave de cifrado se utiliza 56 bits para DES, 168 bits para triple DES y 128, 192 o 256 para AES. Pero, ¿qué ocurre si el último bloque de texto plano no es del tamaño requerido? Pues que es completado con información arbitraria, normalmente 0’s por seguridad. Esta última afirmación es justamente una de las debilidades del sistema.

Thai Duong y Juliano Rizzo presentaron el ataque Padding Oracle, el cual requiere que el atacante pueda interceptar mensajes con padding y a su vez tenga acceso al sistema que lo comprueba a modo de oráculo. El proceso que un atacante podría realizar para comprobar si el rellenado de bits es correcto es el siguiente:

  • Se remite la cadena cifrada al oráculo.
  • El oráculo mediante la clave de cifrado comprueba si es correcto el padding
  • El oráculo contestará al atacante con un 0 si es incorrecto o un 1 si es correcto.

Si el lector quiere ampliar conocimientos en cuanto al proceso completo recuperación de la trama de bytes original puede consultar su paper, disponible online.

Como caso práctico de implementación del ataque, Thai y Juliano presentaron la rotura de un captcha que utiliza este modo de cifrado. El sistema utiliza CBC para albergar el texto detrás de la imagen difuminada, lo que han denominado ERC.


<img src=”/captha?token=ERC”/>


El ERC se guarda en un campo oculto del formulario o en una cookie. Cuando el usuario remite el código introducido por teclado, el servidor compara la cadena con el resultado de descifrar el ERC. Si son iguales el resultado del captcha es correcto. De esta forma el servidor que recibe el ERC es susceptible a ataques de Padding Oracle siempre y cuando respondan ante rellenados de bits incorrectos. En la mayoría de sistemas, cuando se modifica el ERC y el rellenado es correcto el servidor devuelve una imagen con un código difuso, pero el problema viene cuando el servidor ha inicializado el IV con información aleatoria dificultando la obtención de P0. Para solventarlo, Thai y Juliano proponen obtener P0 y el IV de una imagen introducida por un usuario normal.



Otros sistemas que utilizan CBC e identificados por los autores del ataque, son las View States de JavaServer Faces. Nuevamente, un 10 para estos chicos.

Blog Archive

Quilts

Where am I?