lunes, 8 de marzo de 2010

Failbook

Estaba leyendo un post en el blog de Panda sobe un Failbook como una casa. La pregunta es:

¿Qué significa FailbookFailbook es un epic fail (traduzcamoslo como "fallo épico", "gran fallo", "gran error" o cualquier variante que se os ocurra.) ¿Qué sucedió?

Bueno. En el blog ReadWriteWeb (que imagino que habrá que ver si se le sigue o no) empezaron a hablar de un acuerdo entre Facebook y AOL El caso es que en media hora de reloj después de publicarlo empezaron a tener unos comentarios del estilo:

- "Me gustaba el anterior Facebook. ¿Donde está el looooogiiin?"
- "Este Facebook es una kk. ¿Cuándo van a volver al anterior?"

Al principio creían que era un ataque. ¿De quién? ¿Quién podía querer algo contra ellos? Al investigar, se dieron cuenta de varias cosas:

  • Los comentarios no venían de IPs comúnmente utilizadas para realizar ataques a sitios web.
  • Casi todos los comentarios incluían Facebook y login.
  • Desde Google, al buscar precisamente Facebook y login.el segundo sitio que escupía era... El suyo.
Luego. Llegaron a la conclusión de que los usuarios que estaban escribiendo comentarios esperaban la página de Facebook en vez de la suya. Al no encontrarse con el sitio deseado, empezaron a suplicar a que se volviera a una situación anterior. Evidentemente, eso no podía ser así.

Ahora. En el mismo sitio, contando lo sucedido y cómo lo llevaron, o descubrieron qué pasaba, parece que, en parte, le echan la culpa a Google  ¿Tiene el buscador la culpa de que las personas no lean los enlaces que les muestra? En mi opnión, no. Otra cosa es que éste tuviera que mostrar otros sitios antes que el blog. 

Y ya, para acabar. En el post que causó este Failbook pusieron lo siguiente:
Dear visitors from Google. This site is not Facebook. This is a website called ReadWriteWeb that reports on news about Facebook and other Internet services. You can however click here and become a Fan of ReadWriteWeb on Facebook, to receive our updates and learn more about the Internet. To access Facebook right now, click here. For future reference, type "facebook.com" into your browser address bar or enter "facebook" into Google and click on the first result. We recommend that you then save Facebook as a bookmark in your browser.

sábado, 6 de marzo de 2010

Juegos de la tana III

Si seguimos con los anteriores posts de Juegos de la tana, I y II hechos por Microsoft, podemos hablar del Chess. Sí. Eso es. Después de muchos años incluyó uno en el Vista. Pues este es el antiguo de... 1992.

Chess de MS en 1992

Según se puede ver en el Acerca de... MS tenía un pack que parece ser que llamaba Microsoft Entertainment Pack For Windows. Creo que algunos otros juegos de los que se hablan aquí también pertenecían a ese pack. El JazzBall también pertenecía a este conjunto de juegos. 

Otra chorradita, que no era más que eso, una chorradita, era una especie de salvapantallas. Había que lanzarlo manualmente. De ahí eso de chorradita y especie de salvapantallas. Se llamaba IdleWild


IdleWild

Cada una de las opciones hacía una cosa. El chomp empezaba a morder las esquinas de la pantalla hasta que al final tenías toda la imagen negra. Había otro que te petrificaba de arriba a abajo la pantalla... Vamos. Lo que decía. Chorradillas. 



viernes, 5 de marzo de 2010

Juegos de la tana II

Como ya hablamos en Juegos de la tana  I, he encontrado una serie de juegos que estaban bastante bien. Revisando otro posible juego del que pudiera hablar he visto que tenía el Tetris. Sí, el famoso Tetris. Que para colmo de los colmos creía que nunca lo había jugado en el ordena y resulta que se habían guardado puntuaciones de partidas anteriores... en las que aparezco.

Tetris... con las piezas más grandes que una casa.

Como se puede apreciar. Las piezas de esta versión son muy grandes. Y, aquí estoy a punto de palmarla. 

He intentado probar otro juego que, aunque no me hacía mucha ilusión, también probé en su momento. Era el Lander

Lander: aterrizando sin toñarsela

Haciendo memoria, este juego trataba de hacer aterrizar la navecita sin que se estrellara. Estabas en la Luna (creo) y, ya sea con los botones de la derecha,  o con los cursores, indicabas el motor que querías que se encendiera para que la empujara en la dirección opuesta. Es decir, que si le dabas al motor izquierdo, la nave tiraría a la derecha. Si le dabas hacía abajo, la nave tiraría hacia arriba o, y aquí está la cuestión, frenaría la caída. En las opciones del juego se pueden cambiar determinadas variables como puede ser la fuerza de la gravedad, el combustible que se tiene para los motores, entre otros. He de decir que he tenido que poner una línea negra abajo del todo porque si no, se me fundía el suelo con el fondo. Aunque, ahora que lo pienso, si mi fondo es negro, no pasaría nada. A ver si consigo que empiece a caer, porque no lo he conseguido. 

Por cierto, este juego es deeeel:


Acerca de... Lander: 1990

Creo que por hoy no voy a hablar de más juegos de estos. Pero, tened por seguro que hay más. Uno en especial del que quiero hablar y que me encantaba tanto... que me lo estoy haciendo. 

martes, 2 de marzo de 2010

Juegos de la tana I

Hace mucho, mucho tiempo... Cuando aún era un chavalín... Cuando los ordenadores sólo eran para jugar y viciarse... Había una serie de juegos de Microsoft que eran sencillitos, pero viciaban a más no poder. Hace poco me puse a buscar cosas en antiguos CDs de esos que donde se guardan las copias de seguridad. Y me encontré con unos juegos a los que ya jugaba cuando teníamos el Windows 95/98. Ya os podéis imaginar cómo debían de ser de sencillos para la época de estos sistemas operativos.

Había uno o dos que me encantaban.

Uno de ellos se llamaba Jezzball.

Inicio de JazzBall

Este juego trataba de ir encerrando las bolas, que iban rebotando en las paredes. ¿Cómo? El puntero del ratón se convertía en una flecha bidireccional. Podía ir de izquierda a derecha o de arriba a abajo. Para cambiar ese sentido se hacía click con el botón derecho del ratón. Así, para ir encerrándolas, había que hacer click con el botón izquierdo del ratón. 

Encerrando las bolas.

Como se puede ver, ya he separado dos bolas. Eso lo hará más sencillo porque la dificultad radica en que las bolas no pueden tocar ninguno de los lados de la barrera mientras que está se está creando. 

Bolas casi encerradas al completo.

La verdad, no me acuerdo el porcentaje al que había que llegar para pasar al siguiente nivel. Creo que era un 75%. Como se puede apreciar, a medida que hay zonas se quedan inutilizas allá donde no hay cabida para ninguna bola. Una vez he pasado este primer nivel, el siguiente tiene 3 bolas. Y, según he visto, tengo 3 vidas. De las cuales, en la siguiente captura, ya he perdido 2. 

Nivel 2, con 3 bolas. A un 69%.

También me he dado cuenta del temporizador. Hay un tempo determinado para acabar el nivel. 

En el momento en el que se perdía, las bolas se quedaban en el sitio rodando sobre sí mismas.

Y poco más puedo contar de este juego. 




Para Sony... todos los años son bisiestos.

Unos compas del curro contaban ayer 1 de Marzo, con mis 27 años recién cumplidos el mismo día, que parece ser que si encendías la PS3 ese mismo día... se iba a hacer gárgaras. He querido mirar un poco el porqué. Uno de los primeros sitios que he encontradoes este. Otro, es Teknoconsolas (es de un colega del curro). En este aparece la noticia del error y el pronunciamiento de Sony.

Todo pinta que a estas alturas parece que ya se ha solucionado. También se puede ver un comunicado de Sony sobre la solución al problema.

Pero, no quiero hablar de Sony. Sino, quiero hablar sobre la programación de los años bisiestos. Cuando estamos en los Ciclos Formativos o en la Universidad y estamos empezando suelen caer ejercicios con fechas. Estos ejercicios suelen incluir comprobaciones de años bisiestos. ¿Cómo se sabe si un año es bisiesto o no? Hay que tener en cuenta el resultado de 3 operaciones distintas. El año en cuestión hay que dividirlo entre:

  • 4
  • 100
  • 400
Una vez hemos dividido este año entre estos tres valores, miramos el resto. A esta operación se le llama módulo. 

num1 MOD num2 = resto de (num1/num2)

Una nomenclatura de algunos lenguajes de programación es:
  • num1 % num2: El '%' representa el modulo de la misma manera que '/' representa el cociente de la división.
  • num1 == num2 : Condición de igualdad. Si se pone sólo un '=' se asignará ese valor y siempre pasará por esa condición.
  • num1 != num2: Todo lo contrario al anterior. Pregunta si num1 es distinto a num2.
Así, tenemos un código fuente que puede ser:


if(anio % 4 == 0 && anio % 400 == 0 && anio % 100 != 0){
     "El año es bisiesto"; 
}else{
     "El año NO es bisiesto"; 
}



Así, si nos damos cuenta de que esto se hace nada más empezar a estudiar esta carrera (ya sean ciclos formativos o la universidad), esto es un cate como una casa. Aunque, la pregunta es: ¿Cuántas otras cagadas de este estilo habremos hecho sin darnos cuenta? Espero que pocas o ninguna. Que es muy fácil hablar, pero después, cuando nosotros lo hacemos, nos quedamos con la boca pequeña. 

jueves, 25 de febrero de 2010

Man in the ...

Lo primero, siento mucho no haber escrito en toda esta semana y media. A ver si puedo preparar mucho material para cuando no tenga tiempo para escribir o para cuando tenga dificultades para contar algo.

Y ahora... ¡Empezamos!

Hacía tiempo que leí una cosa con la que hemos estado trabajando estos días en el FTSAI. Se trata de un ataque llamado Man In The Middle (MITM).

¿De qué trata un ataque de estas características? Bueno. Lo voy a resumir mucho porque quiero guardar temario para otros posts.

Pongamos como ejemplo un escenario como el que sigue:

Escenario 1: Red de ordenadores conectados a Internet

Como podemos ver, este escenario consta de:
  • Dos equipos: E1_A  y E1_B.
  • Un router: E1_R conectado a Internet.
Estos equipos están conectados entre sí utilizando un enlace ethernet y ambos pueden acceder a Internet a través del router. Para que este tipo de ataques sea viable  tienen que existir switches, no deberían de haber hubs ni comportarse como tales. (Esto está actualizado: puse todo lo contrario) .

Pongamos un ejemplo: E1_A está visitando una página que requiere un loguearse. El usuario de E1_B es malvado y curioso. Quiere saber qué está visitando E1_A y, además, sacar alguna que otra contraseña que salga de ese equipo.

Una de las razones por las que no se puede usar conmutación es porque ésta se encuentra a nivel de enlace. ¿Qué significa esto? Los switches tienen un pequeño conocimiento de quién le está enviando un paquete y el puerto por donde tiene que enviarlo. En caso de que no sepa por dónde enviarlo, lo enchufará por todos aquellos por donde no han entrado. Volviendo al nivel de enlace. Al saber por dónde hay que enviar las solicitudes, la red sabrá que si E1_A quiere Internet, se lo tiene que enviar al puerto donde está conectado E1_R. Y viceversa: las respuestas del router irán al puerto donde está conectado E1_A. Si hubiera hubs, sería un lío con los paquetes que van y vuelven del emisor al receptor.

Este tipo de ataques lo que buscan es que E1_B hará creer a E1_A que es el router. Leerá los datos que esta última envía y a su vez se lo re-enviará al router E1_R haciéndole creer que es E1_A. En cuanto el router responda se producirá el efecto inverso.

Con esto, se puede llegar a ver los sitios donde se está metiendo. Incluso, se podrían llegar a ver las contraseñas. Y, si están llevan algún hash determinado, se podría llegar a sacar la contraseña en claro. Algo más complicado, que intentaré montar para otra ocasión, es conseguir capturar los datos HTTP que van por SSL.

Por cierto. Ayer, leyendo un post en F-Secure que habla de otro tipo de ataque al que ha denominado Man In The Browser. Éste tipo de ataques se basa, según he podido entender, en interceptar al navegador, no al equipo. Esto es así por la encriptación SSL de la que acabo de hablar. 


P.D: Vale, lo he explicado como el culo. Espero que no me vuelva a pasar. 


viernes, 12 de febrero de 2010

Mi propio AlertVirus!!


A fecha de hoy he modificado el script de Alertvir que hace unos días conté.

Ahora no tengo mucho tiempo para dar detalles. Por eso sólo voy a dar datos básicos:
- Está basado en Alertvir.
- El programa se alimenta de un RSS de CERT-INTECO, que, a su vez, lo he encontrado en la misma página de Alertvir. 
- Ya hablaré del código fuente, en la medida de lo posible, en otro momento. Lo importante es que he duplicado (forma muy suave de decir "copiado") abiertamente la estética del app de Alertvir. La única diferencia es que he cambiado el color de algunas letras, he quitado un campo y en el enlace de "saber más" he puesto un enlace a la URL de CERT-INTECO donde describe ese bicho. 
- El siguiente paso es buscar la forma de que se pueda incluir en la mayoría de los sitios. La razón por la que he reimplementado esto es porque la descripción del troyano que me estaba mostrando no se veía porque el color de fondo y el de las letras era el mismo. Dado que los estilos están hardcodeados en el gadget, no se podía cambiar el color de esa descripción. Hasta ahí es donde quiero llegar. Ya contaré lo que consigo en cuanto lo tenga.

Y poco más puedo contar. Buscaré la forma de incluir el enlace a este post para que quede constancia.

Actualización: A parte de corregir la fuente y ponerle un título a este post, he puesto un enlace... Bueno. Lo voy a corregir que ahora mismo está puesto post anterior.