La mala implementación de TCP/IP en Windows

Eduardo Miércoles 16 de Enero del 2008

Segun un boletín publicado de Microsoft, hay un problema en la implementación del protocolo TCP/IP. Para los que no saben, éste es el protocolo gracias al cual se realizan casi todas las conexiones hacia Internet. Este fallo es bastante grave, pues digamos que si hubiera un virus como el Blaster en este momento, podría infectar a todas las computadoras Windows que hay en Internet en minutos.

El problema se debe a la forma en la que el kernel de Windows maneja las estructuras TCP/IP que almacenan los estados de las peticiones IGMPv3 y MLDv2. El kernel de Windows realiza una validación insuficiente al almacenar el estado de las peticiones IGMP procesadas por TCP/IP. Esto podría permitir a un atacante remoto ejecutar código arbitrario por medio de paquetes IGMPv3 y MLDv2 especialmente manipulados enviados a través de la red. Un atacante que explote con éxito esta vulnerabilidad podría tomar control total sobre el sistema.

No sólo eso, sino que también procesa mal las solicitudes ICMP fragmentadas de una forma específica. Las solicitudes ICMP son las que se mandan cuando hacemos ping servidor.com. Este otro fallo en las solucitudes ICMP podría provocar un DoS, o sea, que el servidor deje de responder.

Más información en Hispasec

Vía (Hispasec)

Sun va a adquirir MySQL

Eduardo Miércoles 16 de Enero del 2008

La noticia me parece excelente, pues Sun es una de las pocas compañías en Tecnologías de Información que se preocupa porque su software tenga calidad; me parece muy bueno, esperemos que todo sea para bien, ahora seguramente las empresas pensarán en usar MySQL en sus sistemas, cosa que no hacen por miedo a que no haya un soporte como el de Microsoft, o simplemente no lo hacen por ignorancia.

MySQL y Sun

¿Que no hay virus en Mac? Ya veremos…

Damián Viernes 11 de Enero del 2008

Esta entrada podría ser polémica para los obtusos recalcitrantes fanáticos de Mac, pero es necesario informar sobre estas situaciones. Sólo mediante el conocimiento de los usuarios se puede evitar una infección en sus sistemas OSX.

Primero que nada, hablemos de la definición de virus de computadora, un virus de computadora es un programa capaz de instalarse en un sistema sin el conocimiento ni permiso del usuario, además es capaz de propagarse a otros sistemas. Dependiendo de su intención y forma de propagarse, pueden clasificarse con nombres oscurantistas como gusanos, troyanos o virus de macro, entre otros nombres. Algunos borraban archivos, dañaban discos duros, recolectaban información privada, o simplemente se propagaban sin hacer daño. ¿Pero todo acaba ahí?

Seguir leyendo »

¿Cómo se calcula numéricamente sen(x) o ln(x)?

Damián Sábado 15 de Diciembre del 2007

¿Nunca se han preguntado cómo es que la calculadora puede darles el valor de sen(x) o arctan(x) para todos los valores que le metan? ¿Acaso tiene una tabla de todos los valores? (Obviamente no). En este post voy a presentarles herramienta matemática interesante y reveladora, que ilustra cómo se aproximan funciones que no se pueden calcular con operaciones elementales (suma, multiplicación, división, resta).

Seguir leyendo »

Apple Store por fin en México

Eduardo Martes 20 de Noviembre del 2007

Ahora todos los que vivimos en México podremos dejar de preocuparnos por las inflaciones excesivas de precios que sufriamos al comprar una Mac o algun accesorio, como por ejemplo los audifonos del iPod en lugar de $800 pesos los podremos comprar a su precio real $349.00 lo cual me parece espectacular, además de tener descuentos de estudiantes lo cual tambien es algo sensacional, pues al comprar una Mac Book te descuentan más de mil pesos por el simple hecho de ser estudiante, ahora el siguiente paso es una iTunes Music Store en México!!!, además casi todo tiene envio gratuito de 1 a 3 días hábiles!!

Apple Store llega a México

He cambiado casi totalmente a Linux

Eduardo Viernes 9 de Noviembre del 2007

Ubuntu

Después de unos meses de usar Ubuntu para prácticamente todo, me he sentido más cómodo que antes cuando usaba más Windows, la razón por la que aún lo sigo usándolo es por la CS3 de Adobe, pues realmente en Linux no le he encontrado un reemplazo.

Aunque para Photoshop existe Gimp, para Illustrator existe Inkscape y para Dreamweaver dicen que también existen varios reemplazos; me he encontrado con que además de ser un poco más complicados (tal vez porque no los sé usar del todo bien), no llegan a lo que tiene la Adobe Creative Suite. Aunque pienso que deberían sacar versiones para Linux, que no dudo que lo hagan en unos años, desgraciadamente ahorita no existen.

Pero cuando todo parece perdido en medio del desierto, recordamos, ahh pero Adobe si pensó en hacer su versión para Mac, ufff. Ahora solamente me falta tener mi Mac con Mac OS X y Ubuntu.

Regresando al tema principal, para mi punto de vista le he encontrado total reemplazo al Windows, excepto por los juegos, pero de ahi en fuera todo existe en Linux, por ejemplo:

Escritorio Ubuntu

Seguir leyendo »

Mac Pro al Limite

Paco Miércoles 3 de Octubre del 2007

En este semestre de la universidad tengo una clases con mi amigo David en las recién adquiridas Mac Pro de los laboratorios de diseño de la UIA. Durante clase, nos encontrábamos un poco aburridos e iniciamos sesión en uno de los equipos desocupados a nuestro lado. Simplemente se nos ocurrió abrir todos los programas que estuvieran instalados en la computadora. El resultado es el siguiente:

MacPro al Limite

Cerca de 140 aplicaciones (creo, es muy difícil contar tantos iconos tan pequeños), y muchas muchas, MUCHAS ventanas. En realidad fueron mas aplicaciones, pero cerca de 10 eran trials que ya habían terminado su periodo de evaluación, así que se cerraron inmediatamente.

Las imágenes las tomamos con ayuda de exposé, el cual tardó cerca de 3 minutos acomodar algunas de las ventanas que se encontraban abiertas, no pudimos esperar a que terminara, pues ademas en nuestro intento abrimos mas de 50 ventanas del Finder. Pero estimo que en ese tiempo logro acomodar cerca del 75% de las ventanas abiertas.

MacPro al Limite CPU Usage

Estos equipos si mal no recuerdo están equipados con “apenas” 8 Gb en RAM y dos Dual Core Intel Xeon a 3.0 Ghz. En realidad el sistema se volvió algo lento (obviamente) pero aun así se mantuvo operable. Simplemente impresionante el poder y la estabilidad de estas computadoras. Recuerdo que alguien en el pasado había intentado también esto pero en una Macbook con 2 Gb en RAM obteniendo también MUY buenos resultados.

¿Cómo surgió el nombre de Java? (la verdadera historia)

Eduardo Sábado 22 de Septiembre del 2007

He leído libros que cuentan cosas diferentes sobre porqué llamaron Java al lenguaje, pero ahora James Gosling, el creador de Java, nos dice la verdad en un mail que le envía a Jonathan Schwartz (CEO de Sun Microsystems).

Pueden verlo aqui en el blog de Jonathan Schwartz y lo copio y pego en la parte de abajo:

De: James Gosling
Fecha: 24 de agosto de 2007 20:16:58 AM PDT
A: Jonathan Schwartz
Asunto: ¿Cómo surgió el nombre de Java?

La historia es la siguiente:

Necesitábamos un nombre. Habíamos estado utilizando la palabra “oak” (roble), que yo había elegido totalmente al azar. Sin embargo, aunque el equipo ya le había cogido cariño, los abogados especialistas en marcas comerciales la rechazaron. Mantuvimos numerosos debates por correo electrónico acerca del nombre, pero no llegamos a ningún acuerdo. Acabamos en una situación muy curiosa: el principal obstáculo para la distribución del producto era el nombre.

Seguir leyendo »

Autoridades Certificadoras (Certificados de Seguridad)

Eduardo Viernes 21 de Septiembre del 2007

Como vimos anteriormente la criptografía asimétrica necesita de cuatro llaves para ser segura, pero siempre podemos dudar de que alguien no es quien dice ser. Para aumentar la seguridad se recurre a certificados de seguridad, los clásicos son VeriSign y Geotrust, que para mi punto de vista son muy caros, pero a veces la seguridad cuesta.

¿Cómo funcionan?

Las conexiones seguras en internet se hacen comúnmente usando el protocolo SSL. Cuando nos conectamos a un sitio seguro, leemos https:// en la barra de direcciones, en ocasiones vemos que sale en color amarillo y hasta aparece un candado. ¿Qué seguridad nos están brindando?, lo veremos a continuación:

Cuando inicias una conexión con un servidor, mediante SSL, se transmite la llave pública del servidor, luego tú también mandas tu llave pública, entonces de manera segura, se ponen de acuerdo para usar un sistema de cifrado simétrico; pero antes de establecer la conexión tú necesitas saber que el servidor pertenece realmente a la empresa que dice ser. Aquí entran las Autoridades Certificadoras, que lo único que hacen es dar de alta al servidor en GeoTrust, éstos a su vez mediante un estudio corroboran la identidad del servidor y, después de estar seguros, le otorgan un certificado de seguridad.

Un certificado de seguridad contiene los datos de la empresa y la llave pública del servidor, además está firmado digitalmente por la Autoridad Certificadora. Como los browsers tienen interconstruidas las llaves públicas de varias Autoridades Certificadoras, pueden revisar la firma digital del certificado, y así corroborar la identidad del servidor.

La firma digital de un certificado es simplemente el hash del certificado, que a su vez está encriptado con la llave privada de la Autoridad Certificadora. Para verificar que la firma es correcta y el certificado es válido, lo que se hace es descrifrar el hash del certificado, usando la llave pública de la Autoridad Certificadora; luego el hash desencriptado se compara con el hash del certificado. El proceso verifica implícitamente que: la Autoridad Certificadora en verdad firmó ese certificado, y que el certificado no ha sido alterado; por lo que se puede confiar plenamente en ese servidor para darle nuestro número de tarjeta de crédito, por ejemplo.

¿Pero realmente ésto nos brinda total seguridad?

Pues no, a pesar de todo el servidor nunca sabrá que quien se conecta a él es quien dice ser; pero definitivamente es mucho más seguro usar el certificado de seguridad que no usarlo.

La criptografía asimétrica (que usamos a medias)

Eduardo Viernes 21 de Septiembre del 2007

La criptografía asimétrica, como ya hemos hablado en el blog, es la que necesita de dos llaves diferentes, una pública y otra privada. Se basa prácticamente que lo que encriptamos con la privada se desencripta con la pública y lo que encriptamos con la pública se desencripta con la privada, aunque en el primer caso cualquiera puede descencriptar el mensaje, pues la llave pública está a la vista de todos.

Pero realmente ¿Cómo se se supone que se debería usar?

La idea de la criptografía asimétrica es que ambos lados tengan un par de llaves, o sea, ejemplificándolo debería ser así:

Criptografía Asimetrica

Imaginemos que se va a enviar un mensaje, entonces primero la computadora A encripta el mensaje con su llave privada, y después lo encripta con la pública de la computadora B, luego le manda el mensaje; y, cuando la computadora B recibe dicho mensaje, lo desencripta con su llave privada primero (lo cual asegura que él es el destinatario correcto) y el resultado luego lo desencripta con la llave pública del emisor (lo cual asegura que el único que la pudo haber encriptado fué el emisor que nosotros conocemos). Todo esto suponiendo que las computadoras conocen la verdadera llave pública del otro.

De esa manera si alguien intercepta la comunicación no podrá obtener su contenido, y estamos seguros que tanto el emisor como el receptor son quienes dicen ser.

Ahora veamos cómo lo usamos cotidianamente

En el protocolo SSL, por ejemplo, el servidor le manda su llave pública al cliente y el cliente manda su llave pública al servidor, con ellas se ponen de acuerdo para usar algún sistema de criptografía simétrica y la llave que van a usar en él; así se logra que la comunicación de ahora en adelante esté cifrada con una sola llave, y se resuelve el problema que presenta la criptografía simétrica cuando no se sabe si el medio de transmisión es seguro.

¿Por qué no usamos criptografía asimétrica en toda la comunicación? Principalmente porque es muy tardado el proceso de crifrar y descrifrar algo con las llaves públicas y privadas, mientras que los algoritmos de criptografía simétrica son más rápidos.

Ahora ¿Cómo sabemos que el servidor realmente es el servidor con el que nosotros queremos comunicarnos?, ésto no lo podemos saber mediante más criptografía. Lo que se hace para resolver el problema es que se usa un tercero confiable (Autoridad Certificadora) que nos asegura que realmente alguien es quien dice ser; y, ¿cómo funciona una autoridad certificadora? lo veremos después en otro post.

« Anterior - Siguiente »