La Web como plataforma de referencia: viejos ataques y nuevas vulnerabilidades

El pasado jueves 27 de junio de 2013 participé en la XV Jornada de Seguridad TI de Nextel S.A. en la Alhóndiga de Bilbao, invitado por mi amigo Ritxi Acebedo.

El evento estuvo muy bien (podéis ver todas las presentaciones y vídeos en su web) y lo pasé muy bien, a pesar de ser el único tipo que no fue de traje y que después de que hablara, otros ponentes se refirieron a mí como un hacker malvado, cosa que dista mucho de la realidad (todas mis intrusiones son a 127.0.0.1 ;P).

Os dejo el vídeo de la conferencia (está sacado del streaming, así que el audio es… sub-óptimo O:) ):

Y aquí la presentación:

Espero que os resulte de interés ;)

BilboStack 2012 y 2013

Los dos últimos años he tenido el placer de poder participar activamente en BilboStack, el mejor evento de desarrollo web de Bilbao (y ya se sabe que Bilbao y el mundo es casi lo mismo).

El primer año me invitaron a hacer un repaso de los estándares alrededor de HTML5 y la cosa quedó un poco flojilla por ser una charla de introducción para un evento destinado a desarrolladores pata-negra. A pesar de los disclaimers y demás historias, la sala estuvo a tope y la gente fue muy maja al terminar:

El segundo año quise poner un poco más de carne en el asador y preparé un repaso a un tema del que se habla bastante, pero quizá no con la suficiente profundidad: las funciones de tiempo y los temporizadores en JavaScript. Tuve la suerte de que poco después hubo otra charla de desarrollo de videojuegos en la que se pusieron en práctica muchos de los conceptos comentados, por lo que quedó muy apañada la simbiosis entre ambas charlas.

Además, me sirvió para probar Slid.us como editor de presentaciones HTML5, gracias a una invitación de @soyjavi :-)

Dos experiencias estupendas, gracias a un grupo de personas que hizo que todo fuera como la seda :-)

El problema de parada y los castores laboriosos

2012 fue el Alan Turing Year, año en el que se conmemora el nacimiento de Alan Turing, un matemático fundamental dentro de las ciencias de la computación.

En la Facultad de Ingeniería de la Universidad de Deusto realizamos dos acciones para celebrarlo: 1) el cambio de nombre de una de nuestras salas más “nobles” a “Sala Turing” y 2) una sesión de charlas cortas (10-15 mins) relacionadas con la figura de Alan Turing

Mi contribución fue una charla de introducción al problema de parada y a los “castores laboriosos” (tema del que ya hemos hablado por aquí) durante esa sesión de homenaje a Alan Turing.

Espero que os guste y os anime a echar un vistazo al resto de charlas cortas que se dieron ese día (muy interesantes), así como al resto de material que se generó en la Red en torno al papel fundamental de Alan Turing en el siglo XX.

PD: debería haber empezado la entrada con una disculpa por el silencio, pero creo que es muy cansino, así que considérese esta postdata como tal O;)

Karaoke casero con Audacity

Os voy a contar un truco muy sencillo -pero muy útil- para quitar la voz a vuestras canciones favoritas con Audacity, y de esta forma poder hacer el ridículo en karaokes improvisados, malograr con vuestra voz versiones apócrifas de canciones o iniciaros en el mundo de los mashups ;-)

Lo primero que necesitamos es una canción en WAV o cualquier formato que entienda el Audacity (MP3 puede valer). Yo he elegido “Hotel California” de “The Eagles”, por ejemplo.

Una vez abierta con el Audacity, veremos que es una canción stereo, con dos canales:

Si usamos el zoom, podremos ver la forma de la onda en cada uno de ellos y cómo son ligeramente diferentes:

Nos basaremos en el siguiente principio para eliminar la voz: si sumas una onda y su versión invertida, la anulas. Dado que la voz es mono (suele haber un solo cantante con una sola boca) normalmente, estará copiada igual en los dos canales, así que al invertir uno y sumarlo con el otro, se anulará.

¿Cómo hacemos esto? Muy fácil, separamos la pista stereo en dos canales mono:

Seleccionamos solamente una de las pistas:

Y aplicamos el efecto de inversión:

Finalmente volvemos a juntar los canales en una pista estéreo:

Y exportamos el resultado a un MP3.

Si lo hemos hecho bien, tendremos una versión de “Hotel California” en la que no se escuchará la voz y podremos arruinarla con nuestros alaridos.

Realmente este método no es perfecto y si nos fijamos bien, todavía quedará algún resto de la voz en nuestro MP3. Esto es debido a los filtros y efectos de post-producción que se emplean para mejorar las canciones, que no afectan por igual a los dos canales y por tanto dejan trazas que no se anulan al sumar una onda con su inversa. En algunas canciones estos efectos son tan extremos que la voz permanece totalmente audible después de emplear este método ;-(

Una vez eliminada la voz, podemos pensar en cómo se haría para quedarnos solamente con la voz y juntar la voz a la música sin voz de otra canción para inventar nuevas y estrambóticas versiones de música comercial. ¿Se os ocurre cómo podría hacerse? ;-)

Echofon y los malditos anuncios de 140 Proof

Soy un usuario de la versión para Firefox Echofon desde hace tiempo y hasta la versión 2.3.6 todo fue gozo y alegría. ¿Qué ocurrió en la versión 2.4 para amargarme la existencia? En su changelog se ven muchas mejoras, pero la última -que no caracterizaría de mejora precisamente- es la que desencadena todo mi malestar:

  • Ad supported by 140proof

Supongo que para Echofon sí que será una mejora, pero para el usuario resulta realmente molesto tener que leer tweets de cuentas que hemos decidido no seguir porque solamente publican spam.

Durante cierto tiempo, practiqué la táctica de “Virgencita, virgencita, que me quede como estoy” y me mantuve en la versión 2.3.6 a salvo de spam. Lo malo es que esa versión no está soportada en versiones más modernas de Firefox, por lo que seguir así me dejaba anclado en el pasado no solamente para Echofon, sino para todo lo demás.

Indagando por la red encontré dos soluciones bastante buenas para usar las nuevas versiones de Echofon sin anuncios.

La primera de ellas consiste en abrir el fichero que contiene el código JavaScript con la función encargada de importar los anuncios y “anularla”. El procedimiento es muy sencillo:

  1. Accedemos a nuestro perfil de firefox. En Linux está en $HOME/.mozilla/firefox/[LETRASyNUMEROS].default/ y en Windows en C:\Users\[USER]\AppData\Roaming\Mozilla\Firefox\Profiles\[LETRASyNUMEROS].default\.
  2. Entramos en el subdirectorio “extensions” y ahí, si tenemos Echofon instalado, debería haber otro subdirectorio “/twitternotifier@naan.net”. Entramos en él y una vez dentro, entramos en el subdirectorio “components”.
  3. Una vez allí, editamos el fichero nsEchofon.js y buscamos la función getAd.
  4. Borramos el contenido de la función y lo reemplazamos por esto:
  getAd: function(info) {
    this._pref.setBoolPref("licensed", true);
    EchofonUtils.notifyObservers("removeAds");
  },

Y ya está :-)

La pega que tiene este método es que habrá que reemplazar la función getAd cada vez que se actualice el Echofon.

El otro método es algo menos directo pero aún así me parece muy efectivo. Además, pueden combinarse y estar doblemente a salvo del spam. En este caso, lo que vamos a hacer es invisibilizar mediante CSS el contenido de la caja de texto de spam. De esta manera, aunque la función getAd siga trayendo el contenido no deseado a nuestro Echofon, a la hora de mostrarlo se hará de forma invisible, con lo que no lo leeremos :-)

Para ello, tenemos que acceder a nuestro perfil de Firefox (ver paso 1 del método anterior) y entrar en el subdirectorio “chrome”. Una vez ahí, creamos el fichero “userChrome.css” donde indicaremos nuestras preferencias personales para CSS, con este contenido:

#echofon-ad-unit {
display: none !important;
}

Así, cuando se llene ese elemento de publicidad, nuestro navegador no lo mostrará porque hemos indicado que su propiedad display esté a “none”. Sin embargo, como comentan en el sitio donde tradujeron el primero de los métodos, esto no evitará que se mande información nuestra a 140 Proof y Google Analytics, así que sigue siendo recomendable llevar a cabo también el primero método.

Happy tweeting ;-)

Claws-mail y la renovación de certificados SSL de Gmail

Estos últimos días estoy teniendo un problema a la hora de usar claws-mail con Gmail (en Deusto tenemos el correo con Google Apps for Education, así que lo tengo que usar sí o sí) porque cada cierto tiempo (1-2 años) Gmail renueva sus certificados SSL para sus servidores de correo.

Esto no debería suponer el mayor problema, pero al no renovar todos los certificados a la vez, durante unos días algunas conexiones van servidores con el certificado SSL antiguo y otras al nuevo. Cuando claws-mail detecta el cambio de certificado, nos avisa de que deberíamos comprobarlo y aceptarlo, así que en esos días inmediatamente posteriores al cambio, hay que estar aceptando certificados a cada rato lo cual es un peñazo fino.

Revisando en foros y en la documentación de claws-mail he dado con la solución: hay que habilitar la opción “unsafe_ssl_certs” dentro del fichero de configuración, ya que no hay ninguna opción para hacerlo desde el interfaz gráfico de claws-mail.

Así, si sufrís este incordio como yo, no tenéis más que editar el fichero ~/.claws-mail/clawsrc, ir a la línea donde se encuentra la opción unsafe_ssl_certs y fijarla a 1:

unsafe_ssl_certs=1

Esto no deshabilita la comprobación del certificado, como pudiera parecer (esa opción es skip_ssl_cert_check), sino que permite almacenar varios certificados para cada servidor, lo que coincide perfectamente con el caso en el que nos encontramos ;-)

Kantu leunak nahi nituzke jarri…

Aprovechando las ganas que tiene la gente de ayudar a través de las redes sociales, hace unos días me animé a “socializar” un encargo que me habían hecho: crear un listado de canciones tranquilas (no necesariamente baladas) en euskera. Así que tomo prestado el verso de Ruper Ordorika “kantu leunak nahi nituzke jarri” (me gustaría poner canciones suaves) para titular esta entrada :-)

La respuesta de la gente ha desbordado mis expectativas y el listado que en pocas horas generamos es el siguiente:

Mil gracias a toda la gente que ha contribuido :-) (@matalaz, @saghul, @n61, @fuanis, @_buxus, @irenetxiki, @AitorArechabala, @Uhernand, @josianito, @azetaekis, @suzzlo, @jabiluengo, @josianito, @ilis, @itzitxo, @ikerbrk, @ibai, @chambertuX, @cyrusnimda, @Eneko_McCracken, @aizenar, @_izartxo_, @Inselafor, @jjontx, @jaimeirurzun, etc.)

Por supuesto, tenéis a vuestra disposición los comentarios de esta entrada para seguir contribuyendo con más recomendaciones ;-)

Embeber proyectos Scratch en cualquier sitio

Esta semana he estado muy involucrado en dos eventos que me encantan: la MoodleMoot (Jornada de encuentro de la comunidad Moodle) y SLUN (Software Libre en la Docencia). En ambos eventos he participado en la organización e impartiendo talleres :-)

Resulta que a raíz del taller que dí en SLUN sobre Scratch, un asistente me preguntó cómo se llevan Moodle y Scratch y cómo de fácil es embeber proyectos de Scratch en Moodle. La respuesta es sencilla y basta con fijarse en el código que genera la propia web de Scratch para ello, pero para que la gente que no se maneja bien con HTML no se líe, he creado este pequeño generador de código HTML para embeber proyectos de Scratch donde sea.

Para usarlo, solamente tienes que poner la dirección del proyecto Scratch que quieres embeber y pulsar en el botón de generar código. Automáticamente se generará el código necesario y se incluirá en esta página para comprobar que el código generado es correcto.

Qué lo disfrutéis ;-)





Un gobierno en funciones no puede aprobar la ley Sinde

Hoy verás este texto en decenas de blogs. Si estás de acuerdo con él, reprodúcelo donde consideres oportuno.

Ante la previsible aprobación de la polémica “Ley Sinde”, los periodistas, bloggers, usuarios, profesionales y creadores de Internet seguimos manifestando –como hicimos en el Manifiesto de 2 de Diciembre de 2009- nuestra firme oposición a una norma que incluye modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet.
En principio no parece de recibo que un Gobierno en funciones adopte esta decisión en su último o uno de sus últimos Consejos de Ministros. Sería doblemente grave que se confirmaran las presiones ejercidas por EEUU, a través de su embajada en Madrid, como revelaron los cables de Wikileaks.
En todo caso insistimos en estos razonamientos:
1.- Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.
2.- La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.
3.- La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.
4.- La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.
5.- Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.
6.- Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.
7.- Internet debe funcionar de forma libre y sin interferencias políticas auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.
8.- Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.
9.- Proponemos una verdadera reforma del derecho de propiedad intelectual orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.
10.- En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.

La cultura de la remezcla

Creo que hay bastantes cosas que estoy haciendo y que no estoy contando en el blog, así que voy a empezar a ponerlas por aquí, aunque sea de forma desordenada en el tiempo, por si os resultasen de interés.

El pasado mes de septiembre participé en los Cursos de Verano de la EHU/UPV invitado por la gente de Tabakalera para hablar de la “cultura de la remezcla” dentro de un curso sobre “content curators”, un rol que muchos realizan en esta sobre-informada sociedad aunque no conozcan tan rimbombante nombre.

Fue muy agradable participar en el curso. La organización fue impecable y la gente que participó muy animada. Además tuve el placer de compartir viajes con Venan Llona, todo un lujo. Lo pasé muy bien.

Si queréis saber lo que conté, estáis de suerte, porque está todo grabado. Ojo, que es un vídeo de un poco más de una hora. Avisados estáis ;-)

PABLO GARAIZAR – CONTENT CURATOR from Tabakalera on Vimeo.

La presentación que utilicé está colgada en Slideshare:

Y si preferís la prosa a las artes escénicas, aquí tenéis este borrador sobre el tema:

Todo ello publicado con licencias libres, claro, para que lo remezcléis a gusto ;-)