Link of the day: Google Security

Well… sort of. It’s not anything new these days, but a while ago, Google published it’s own security testing tool for website security testing, called Skipfish. Of course, this is not the first tool that Google releases for this purposes, as many related are already out there (like ratproxy, the Browser Security Handbook, and so on…). However, the new thing today is skipfish.

Skipfish is an active website scanner that will test the web applications for XSS, SQL Injection, Shell injection, XML Injection (that one’s new for me), SSL, insecure cookies, correct MIME headers, server errors, invalid links… etc. The complete list is enormous, and one of the main things is that this tool is being developed on C for high performance. It claims to be able to run with 2000 requests per second on remote servers (of course, if the servers answers in time).

I haven’t had the chance yet to give it a try but I probably will these days. These are the kind of reports that you may see from it, see a skipfish screenshot.

This all came from Google’s Online Security Blog. It is worth a reading, updates are not too much common nor too much big, so you can keep easily up to date with your favorite RSS reader.

I’m a secure little skunk.

(Read more →)

Link del día: El castor ocupado

Para quién no lo sabe, una Máquina de Turing es una máquina conceptual que consta de una “cabeza” sobre una “cinta” que puede moverse a izquierda o derecha, y leer o escribir. Se supone que con esas cuatro operaciones básicas, la máquina conceptual de Turing es capaz de realizar cualquier algoritmo computable existente. Sí, desde sumar dos números hasta calcular los dígitos de π. Desde revertir una cadena de texto hasta ser un servidor web (aunque lo veo como poco eficiente para eso). Para diagramar los algoritmos que ejecutan, se utilizan estados sobre los pasos que están ejecutando, y lo que se puede leer o escribir trata de un alfabeto en particular (es decir, algún conjunto de símbolos que se le llama alfabeto de esa máquina).

Lejos de ser una metáfora a la publicidades de pasta dental, el Castor Ocupado es un algoritmo para máquinas de Turing que, dada una cantidad de estados y una cantidad de elementos de alfabeto, debe correr tanto tiempo como sea posible para luego detenerse. ¿Qué significa esto en términos de computabilidad? Significa que debe de ser, bajo una cantidad limitada de condiciones, el algoritmo más largo no-infinito, lo cual, de alguna forma es un desafío para encontrar aquello que tome más tiempo de computación y no sea interminable.

¿La razón? No es pura búsqueda por el buscar como muchos pueden suponer (y como muchos lo buscan, por simple diversión), sino que detrás de esto existe la teoría de la computación, en cuanto a qué algoritmos son computables (por ejemplo, parece que los que se encuentran sí, pero el algoritmo para encontrarlos no), qué orden de computación tienen, y seguramente también se relaciona con el tipo de problemas que son computables y no computables, pero dejaré eso para el futuro.

Hubo alguien más, Peteris Krumins, que le encontró una veta artística. Por un lado, hay un video en Youtube de una máquina de Turing (construida) corriendo el castor ocupado, y por otro lado, Peteris mismo hizo un programita que va dejando un archivo con el estado de la cinta a medida que la máquina va ejecutando, y de ahí, generar una imagen en donde se vea gráficamente. En su blog, en el artículo del Problema del Castor Ocupado, habla de los algoritmos y los resultados que obtuvo ejecutándolos. Curiosas las imágenes, e impresionante la imagen de 5 estados y2 símbolos, para verla completa hace falta una bueeeeeeeena pantalla.

Soy un zorrinito ocupado.

(Read more →)

Link del día: Queries comunes

A aquellos que programamos SQL nos encontramos muchas veces con lo que se encuentra cualquiera que programa cualquier otra cosa: tener que resolver un problema que seguro ya alguien resolvió. Para esto están los fotos, Google, sitios de soporte, StackOverflow, ExpertSexChange (a drede) y tantos otros lugares.

Hoy dejaré otro lugar que es de buena referencia para varios problemas comunes en SQL, algo que a muchos puede costarnos porque seguramente todos aprendimos a programar imperativamente y el álgebra relacional puede que no sea nuestro fuerte. El link en cuestión se trata de Common Queries Tree, que dice ser una extensión de Common MySQL Queries, y de los manuales de referencia de Artful Software.

A mi me ha ahorrado varias horas y dolores de cabeza, espero que a ustedes también.

Soy un zorrinito relacional.

(Read more →)

Link of the Day: Liberate your data!

I know that Google has products for everything, and they’re still creating new things, making more and more enemies in different business. Besides that, we have the user’s data concern: what about privacy? What about having other options? What happens to our Google data?

Well, Google has made a step forward into that, creating DataLiberation.org, or, known by it’s full name, The Data Liberation Front (politics, anyone?). The mission for this project is that all users should be able to control the data they store in any of Google’s products. And to approach that mission, you may check for instructions on how to import or export data from any of Google products, and how to make it compatible with different options.

For example, you may as well want to download your Google Docs to use Microsoft Word. Or maybe you want your AdWords data in HTML. Or maybe you want to download back your videos from Youtube.

There are plenty of options, and ideally, each of Google’s products should have a way to back up your data and use it in another service or any way you like. It is supposed that it’s your data. (However, licenses may state else.)

I’m a compatible little skunk.

(Read more →)

Link del día: Software libre y gratuito para todo

Si bien ya alguna vez publiqué un link en donde había un listado de software libre ordenado por categorías, estoy seguro que ese listado ni es extensivo, ni es completo, ni cubre las necesidades de todos. El software gratuito y libre abunda y, aunque opino que no existe software de calidad necesaria para reemplazar a todo el software prioritario, no podemos decir que nuestras necesidades no se encuentran cubiertas bajo el paraguas del no-pagar.

Aviso que no quiero hablar aquí de la mentidad del software libre contra la del software cerrado (en la cual, mucho del freeware posiblemente caiga). Sé que existe la diferencia pero no quiero remarcarla aquí, yo quiero afrontar esto ahora desde el punto de vista de los usuarios, nosotros, quiénes lo que queremos es “una alternativa gratis”.

Y para alternativas gratis, tenemos muchas. Dónde buscar? Mi primera aproximación es siempre SourceForge.net, seguida de Google Code (quien está lejos del primero). Pero a veces estaría bueno poder browsear por categorías y es aquí en donde voy a dejar algunos listados que pueden sernos útiles, al menos para ver alternativas de nuestro software actual y, quién sabe, descubrir alguna alternativa gratis que nos guste más. (Eso a mí me pasó con Notepad++, por ejemplo. Ya no sé con qué reemplazarlo.)

El primer listado está bien ordenado según funcionalidad. “I want a freeware utility to…” y completar la frase con aquello que nos interese. Otro de ellos es simplemente un listado que alguien hizo en un foro, pero no deja de ser una buena fuente (aunque es más seguro que con el tiempo pase a estar desactualizado - y ya debe de estarlo ahora, sabiendo que el post es del 2006).

El tercero y último que puedo compartir hoy es llamado el OSSWin Project: OpenSource Software for Windows. En el fondo, no todo es para Windows (como FreeDOS, por ejemplo, jeje), pero no deja de ser otro buen punto de partida, especialmente si este es nuestro sistema operativo.

Soy un zorrinito gratuito.

(Read more →)

Link del día: NoSQL

Gracias a DG quien me compartió este artículo en Google Reader, me enteré que Twitter va a estar migrando sus servidores de datos desde un modelo relacional (que en este caso se trata de MySQL) a un modelo no relacional, en este caso, un family-value non-relational database management system (digan eso cinco veces, bien rápido).

Básicamente de lo que se trata es que ya los datos no se encuentran “atados” por relaciones, o disgregados según los datos relacionados que poseen (lo cual se conoce como leyes de la normalización). Dejemos de ser relacionales por un momento y pensemos las grandes ventajas que esto nos puede traer. Más allá de lo raro que se nos puede hacer, la escalabilidad que esto permite es impresionante.

Para que tengan una idea, este sistema en particular, llamado Cassandra, comenzó a desarrollarlo Facebook, lo compró Google y lo hizo Open Source. Está pensando especialmente para sistemas con muchísima información y para escalar y replicarse fácilmente, agregando, quitando, o moviendo nodos que formen parte de todo el sistema de almacenamiento.

Muchos de los sistemas bajo esta denominación de NoSQL cumplen con estas premisas, los invito a visitar el artículo de Wikipedia sobre NoSQL y ver lo que se dice de varios de estos.

Soy un zorrinito no-relacional.

(Read more →)

Link del día: Tutoriales de algoritmos de los mejores de los mejores

Yo me enteré mucho tiempo atrás de TopCoder cuando se hizo famoso casi comenzando (y cuando el diseño del sitio era totalmente distinto), por las competencias entre programadores, y como una especie de entrenamiento para mejorar. Todo el tiempo se están realizando competencias de programación. Antes eran solamente de desarollo, pero ahora se pueden hacer competencias de diseño de arquitecturas, de diseño de programas, de suites de testeo, en fin, de un montón de cosas relacionadas al desarrollo de software.

Yo hace mucho tiempo me había anotado, pensando en que algún día encontraría tiempo para experimentar una comptencia, pero nunca lo encontré. Ahí está mi usuario todavía juntando polvo.

Lo que me hizo volver a este sitio es ver otro aporte que ellos dan que se volvió muy famoso, y son los TopCoder Algorithm Tutorials. A diferencia de lo que parece decir el título, no son tutoriales sobre algoritmos pre-armados, sino que hablan de una gran variedad de cosas, desde cómo planificar eficientemente las tareas de desarrollo, hasta distintas técnicas a utilizar para el desarollo.

Muy interesante, y muy bien explicados algunos, vale la pena pegarse una mirada porque seguramente algo de lo que leamos sea aplicado en el día a día.

Soy un zorrinito olvidado.

(Read more →)

Link of the day: Google's beggining & PageRank

I think that most of you already know the story: Google started as an academic project, and in that project, they introduced several new ideas that were used to detect the “relevant” pages among a great number of them. That is what we today know as PageRank.

However, have any of you read the original paper they made? If not, you can take a look at it here, it is called The Anatomy of a Large-Scale Hypertextual Web Search Engine.

Besides that, the Wikipedia holds a great amount of information and examples on PageRank, and how does the algorithm works. We know that this has been improved over the years and that not all the details are public until now, but Google helps us by uploading lots of information on different sites, like GoogleWebMasterHelp user profile on Youtube, Google Webmaster Central (home of the webmaster tools), and the Google Official Webmaster Central Blog.

I know, yes, they help us to do something on they way they like to be on a listing they made. Sounds circular, but they’ve done lots of things and if we want to get to the people, they are a really good shot.

I’m a Googler little skunk.

(Read more →)

Link del día: Microsoft Open Specifications

Gracias a kangrejo, quién me compartió la noticia a través de Google Reader (pero que leí en Google Buzz), me enteré que hace unos dos o tres días, Microsoft publicó la especificación de los archivos PST, es decir, de las carpetas personales de Outlook. Microsoft los publica bajo una licencia que básicamente dice: “te digo de onda que no te voy a hacer problema si lo usás… pero igual tengo la posibilidad de hacerlo.”

Independientemente de eso, siguiendo el link y llegando a la especificación llegué a la mencionada especificación en MSDN, y me enteré que no solo se encuentra allí dicho formato, sino que muchos otros formatos se encuentran publicados para hacer uso de ellos de la forma que más queramos. Podemos verlos en Microsoft Office File Format Documents, en donde encontraremos especificaciones de formatos como OpenXML (como era de esperar), PPT, PPTX, XLS, DOC y más…

Por si fuera poco, podemos visitar también una sección más arriba llamada Open Specifications, que es desde donde tenemos acceso a todas las especificaciones que Microsoft ha publicado. Tenemos muchas cosas, como protocolos de Windows (ejemplos: Front Page Server Extensions: Website Management Specification, Message Queuing: ActiveX Client Protocol Specification, Shell Link (.LNK) Binary File Format, etc), o Protocolos de Exchange, o Protocolos de SQL.

En fin, mucho para mirar para quien quiere meterse del lado de adentro de Microsoft y operar con sus datos.

Soy un open zorrinito.

(Read more →)

Link of the Day: Security papers, tools and exploits

It’s been a while now I’m following the RSS feed of a site called Exploit-DB. In fact, this site was created by Offensive Security, the same guys that are the creators of Backtrack, the widely-known Linux distribution for penetration testing and security auditing.

What I like most of the site are the papers. Most of them are truly enlightening and even inspiring. The last ones I’ve read are Inyección SQL en MSSQL - HackTimes, [Spanish] PFD - Partial Function Disclosure and The (in)security of Omegle - What Omegle users should know. All of the papers are easy to understand and well documented, even with pictures and examples of what they talk about.

Not so far from here, I found the site called HackTimes, with lots of articles to read about security measures, hacking techniques, ideas and more. I’ve just read an article about Fuzzy Hashing and it seems totally interesting.

I’m a secure little skunk.

(Read more →)