Alpha's Manifesto

La madriguera de una insignificante figurita blanquinegra.

Link of the day: RamDisk

I was reading a blog entry on the Web Developer’s Personal Notepad, and came across an article of how he could speed up his PHP Unit tests by 10 times. I mean, wow, TEN. TIMES. That’s a lot indeed.

So, it turns out that he used a RAM storage for the databases, and that really lowered the bottleneck effect on those tests. Not only that, it turns out that the used software, RAMDisk, is available free of use for storage under 4 GBs. Even if you need to have a licensed version, it only costs 10 dollars, so there’s no excuse to start making your databases go on memory for this kind of stuff.

Also, it’s disposable storage, so it fits perfectly the purpose of testing. Sadly it’s only available for Windows Vista+, but hey, it’s still free for all of us!

I’m a tested little skunk.

Link del día: Máquinas virtuales en la web

Hace pocas horas Peteris Krumins (@pkrumins) anunció que en poco tiempo estará saliendo al público su nuevo proyecto con James Halliday.

Dicho proyecto, llamado StackVM, tiene como propósito poder insertar máquinas virtuales en páginas web, darles conectividad entre ellas con simple pasos como drag & drop, y la cantidad de usos que esto podría tener son miles.

Entre los ejemplos que él menciona en su anuncio, están la posibilidad de dar una demo “live” de un software (que podría incluir por detrás todo el entorno necesario para mostrarlo, incluyendo servidores de bases de datos, incluyendo routers, etc). Podría demostrar online (sí, en la misma página web) el funcionamiento de un software cliente servidor, de un software firewall, o cosas que por lo general son muy complejas de demostrar.

Otro de los ejemplos es la enseñanza, testeos de seguridad, o la posibilidad de que los estudiantes realmente interaccionen con entornos virtuales sin otra necesidad que un navegador.

Otro de los ejemplos es el testeo de aplicaciones. Imaginen probar su software en un entorno Linux, un Mac OS, un Windows en distintas versiones, sin más que un navegador.

Actualmente están de a poco liberando muestras para distinta gente, solo tienen que apuntarse para ser tenidos en cuenta si es que lo quieren probar.

Soy un zorrinito virtual.

Link del día: Un sistema operativo seguro de verdad

Alguien me compartió en Google Reader un artículo de Bitelia que hablaba del sistema operativo más seguro del mundo. Sea quién sea esa persona, gracias, y disculpas porque le perdí el rastro (ya no me dice quién lo compartió).

Este sistema operativo en cuestión se llama Qubes, y es un sistema operativo basado en Linux que pretende reutilizar el software actual aislándolo de forma tal entre sus partes que una falla en uno no logre comprometer a las demás partes, de esta forma, resultando en un sistema operativo realmente seguro. Idea de Joanna Rutkowska, una hacker polaca, dueña de Invisible Things Lab, este sistema operativo básicamente lo que hace es virtualizar cada aplicación en un entorno distinto, de forma tal que cuando uno se ve comprometido, nunca se podrá salir del mismo como para lograr invadir otras aplicaciones.

Por supuesto, esto dejaría de lado cualquier tipo de ataque que involucre memoria compartida, cosa que suele pasar en sistemas operativos actuales. Si alguna vez han visto un aviso de seguridad que decía “el software X tiene un bug que puede hacer que un atacante pueda ejecutar código malicioso en el sistema”, bueno, realmente es así, y lo es gracias a que el software X comparte memoria con el sistema operativo. Un atacante lo que hace es hacer que su código se salga de los límites del software X y termine ejecutando algún código de elección en las librerías del sistema operativo.

Esto, en el caso de Qubes, se volvería prácticamente imposible. Por supuesto, lo sería dentro de los entornos virtualizados, pero ya que no habría nada más en dicho entorno virtualizado más que la aplicación vulnerable (software X), no podría comprometer otras aplicaciones ya que difícilmente podría encontrar el punto de inyección para el resto de las aplicaciones.

Hay cosas que desde mi punto de vista no consigo entender todavía, pero supongo que ya las habrán atacado. Por ejemplo, todavía existiría posibilidad de vulnerar al software X y al sistema operativo que lo corre, con tal, logrando la ejecución de cualquier código ahí adentro. No se accede al resto del sistema, pero logramos control sobre un entorno (salvo que estos sean volátiles?). Por otro lado, de qué forma logran las aplicaciones compartir datos? Muy seguramente existirán canales comunes de comunicación, y por supuesto, este queda al alcance de la vulnerabilidad. (Aunque según dicen Xen Hypervisor es realmente seguro.) Por otro lado, si es que los datos son válidos pero logran introducir problemas en otra aplicación, este canal común no podrá impedir su inyección.

En fin, sin duda queda mucho por hablar, y hablar desde la ignorancia como yo no sólo es fácil sino que es cómodo. Procuraré seguir esto un poco más de cerca para ver cómo es que se afrontarán (si se hacen) ese tipo de dificultades.

Soy un zorrinito aislado.

Link del día: Máquinas Virtuales

Es bien conocido que la virtualización es una herramienta muy poderosa que amplía vastamente nuestras capacidades de prueba y simulación sobre sistemas para los cuales no disponemos el hardware real – o el dinero equivalente. Hoy por hoy las máquinas virtuales pueden llegar a ser tan poderosas como máquinas reales (con obvias limitaciones) y satisfacer muy bien ciertas necesidades (hosting con administración remota, ambiente de pruebas, testing de stress, investigación, etc.).

El proceso de creación de una máquina virtual es igual (o a veces un poquito más complicado) que la configuración de una máquina real: instalar el sistema operativo, configurarlo acordemente, configurar la red, instalar los programas necesarios, configurarlos, dejar todo en un estado lo más performante posible y finalmente, algún retoque final que querramos, y sabemos que solo el sistema operativo ya puede tomar un buen par de horas que no quisiéramos tener que sacrificar.

Para eso la gente de VMWare Images y VirtualBox Images (via LuAuF) nos deja imágenes prearmadas para bajar, y por mi parte también encontré estas imágenes para Virtual PC (aunque expiran muy prontito). Podemos descargarlas a nuestro disco y una vez ahí, ya tenemos el sistema operativo pre-instalado y a veces con algunas aplicaciones (como es el caso de las de Virtual PC).

Soy un zorrinito virtual.