Captcha: Escribe el código de la imagen, si puedes…

Captcha

Captcha

¿Quién no se ha tropezado, a la hora de registrarse en un sitio web, con el estúpido cuadro de texto en el que debemos escribir el código de letras y números que aparece en una imagen anexa? ¿Quién no se ha ciscado tres veces en la madre que engendró al que inventó esta chorrada porque es incapaz de vislumbrar siquiera alguno de los caracteres de la mencionada imagen?

Este sistema para autenticar que usuarios humanos y no programas o robots o spambots están tecleando delante del ordenador sus datos a la hora de realizar un registro es, sin quedarme corto, la mayor de las gilipolleces que los lumbreras de este mundo digital han asacado tras exprimir al máximo sus binarios cerebros.

Captcha es un acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart, uséase Prueba de Turing pública y automática para diferenciar computadoras y humanos. Es un sistema inventado para determinar que el que está rellenando determinado formulario es una persona física humana terrestre del mundo mundial y no un programita informático que se dedica a, por ejemplo, darse de alta automáticamente en foros de noticias y llenarlos de spam y mensajes para comprar Viagra hasta que revienten.

La idea es buena, el resultado un asco. Proviene, como su nombre indica, del archiconocido Test de Turing, pero con una pequeña gigantesca diferencia, que es que en la prueba de Turing el que debe determinar si le contesta una máquina o un ser humano es otro ser humano, y no un programa informático.

El Test de Turing pretende demostrar la supuesta inteligencia de una máquina. Se supone un juez situado en una habitación y una máquina y un ser humano en otra. El juez debe descubrir cuál es el ser humano y cuál es la máquina, estándoles a los dos permitido mentir al contestar por escrito las preguntas que el juez les hace. La tesis de Turing es que si ambos jugadores son suficientemente hábiles, el juez no podrá distinguir quién es el ser humano y quién la máquina. Hasta hoy, gracias al Cielo, ninguna máquina ha conseguido superar esta prueba.

Supongamos por un momento que queremos registrar nuestra página güeb en un buscador o motor de búsqueda internetero. Sabemos que existe software especializado para realizar esta función en millones de buscadores a lo largo y ancho de la Red de redes de un solo plumazo. Tocotó. Clic, clic y clic y ya tengo mi paginita en todos los buscadores del mundo. Pos no.

Parece ser que estos programitas les repatean las gónadas sexuales a los dueños de los buscadores, porque ellos lo que quieren es que tú entres en su web, te recorras seiscientas páginas hasta encontrar la del alta de sitios nuevos y teclees los datos con esmero y pulcritud en sus bonitos formularios hachetemele. Es por ello que anulan de un brochazo la posibilidad de utilizar software especializado cascándote un cuadro de texto con una imagen a su lado en la que se reflejan una serie de caracteres que, de manera aleatoria, cambian cada vez que accedes a esa página. Evidentemente los programas que ejecutan registros no pueden leer estos caracteres porque forman parte de una imagen prediseñada.

Esta técnica comenzó de este modo y ahora se ha extendido a cualquier página de todo pichichi que cuelga un formulario en el Intenné. Que quieres formar parte de mi peña de futbolín, pues te registras pero me rellenas la casillita de marras con los caracteres de la imagen; que lo que quieres es darte de alta en mi página de coleccionistas de bigotes de foca, pues ídem majete, a ver si van a inventar un programa que registra automáticamente usuarios en páginas de coleccionistas de bigotes de foca y se me va a terminar el chollo de que navegues a gusto por mi web recién horneada.

Si partimos de la premisa de que el sistema es válido para la función que realiza, aunque vulnerable sin no mucha inteligencia programática, yo me pregunto por qué demonios las letras y números de las imágenes de las pelotas no están más claros y mejor escritos. Qué más dará, digo yo, que una “I” parezca un “I”, como tiene que ser, o que parezca un “i” o una “L” o una “l” o un “1”.

Pues nada, exactamente, da igual hacerlo bien que mal. Entonces, ¿por qué cojones no ponemos las cosas más fáciles al usuario y empezamos a hacerlo bien? Supongo que pensarán que se pueden aplicar complicadísimas técnicas OCR para que un software descifre las letras y tal. Hombre, por favor. Hay imágenes prácticamente indescifrables a golpe de ojo humano (como la del afoto adjunto) y algunas que dan tanto por el culo que entran ganas de mandar al mismo lugar corporal al que inventó la gilipollez ésta, al güebmaster, al dueño de la página y la madre que los parió a todos.

El problema es que los diseñadores web se creen que esto es seguro, pero nada más lejos de la realidad. Actualmente hacer un captcha seguro requiere métodos complicados de implementar que únicamente poseen las grandes empresas. Cualquier algoritmo que se le aplique a una imagen puede ser desalgoritmado en cero coma. Que si tachan las letras, que si las deforman, que si utilizan la misma gama de colores para el frente y el fondo… Na de na. La ingeniería inversa deshace todo aquello antes hecho, y más teniendo en cuenta que los algoritmos de los captcha son públicos,… ¿qué más quieres?

Aunque los captcha fueron originalmente diseñados para impedir que un software OCR reconozca los caracteres de las imágenes generadas, existen proyectos de investigación que han probado que es posible saltarse muchos de estos engendros con programas que han sido específicamente diseñados para un tipo determinado de captcha. Para los que tienen letras distorsionadas, por poner un ejemplo, la aproximación típica es seguir los siguientes pasos:

  1. Eliminación del ruido de fondo, por ejemplo con filtros de color y detección de líneas finas.
  2. Segmentación, por ejemplo partiendo la imagen en segmentos que contienen una sola letra.
  3. Identificar la letra de cada segmento, y así utilizar la información extraída de la imagen.

El paso 1 es típicamente muy fácil de automatizar. Además, en 2005, se mostró que un algoritmo de una red neuronal tiene un menor margen de error que los humanos resolviendo el paso 3.

La única parte dónde los humanos superan a las máquinas es en el paso 2. Si el ruido de fondo consiste en formas similares a letras, y las letras están unidas a este ruido, la segmentación se hace casi imposible con el software actual. Por lo tanto, un captcha efectivo debería enfocarse en el paso 2, la segmentación.

Otros captcha son vulnerables por múltiples factores, ya que algunos sisitemas pueden sortearse simplemente reutilizando el ID se sesión de una imagen conocida y cascándolo en la URL a la hora de acceder a la page en cuestión; otros se alojan en servidores compartidos; otras veces, si parte del software de generación del captcha se realiza en el lado del cliente (la validación se hace en el servidor, pero el texto que el usuario tiene que identificar es renderizado en el lado del cliente), los usuarios pueden modificar el cliente para que muestre el texto sin renderizar. En fin.

Además de todo ello, siempre queda el recurso de la mano de obra barata, usando humanos explotados para decodificar los captcha. Un documento de la organización W3C afirma que un operador “puede fácilmente verificar cientos de ellos cada hora”.

En fin, que hoy en día estoy viendo por ahí métodos de autenticación mucho más fiables e ingeniosos (como las operaciones matemáticas o las definiciones de términos y palabras) que los captcha estos de los cojones. Así que déjennos en paz con cartelitos ilegibles y paren de poner trabas a la hora de navegar. Esto viene a ser las barreras arquitectónicas del Internet de futuro.

Mini manual para entender las calidades de las películas descargadas y no morir en el intento

Rollo de película

Rollo de película

Cuando tenemos la intención de descargar una película de Internet por medio de cualquier software de intercambio entre pares o P2P (eMule, eDonkey, Azureus, Ares, uTorrent, Pando…), al realizar una búsqueda es posible que obtengamos numerosos archivos de la película que deseamos descargar. El tamaño de estos archivos puede variar, así como su calidad de audio y vídeo, desde 600 Mb hasta más de 4 Gb, aproximadamente. Ello es debido a la forma en que ha sido copiada la película, y es que no es lo mismo una copia exacta de un DVD que una grabación clandestina con una cámara de vídeo en una sala de cine.

Por norma general existe una regla no escrita entre las personas que se dedican a ripear películas a la hora de nombrar los archivos que comparten. Seguro que, tras una búsqueda en eMule, más de una vez nos hemos tropezado con nombres de archivos de película como el siguiente:

Juegos de Guerra 2 (Spanish) 2007 DVDRIP Xvid-Mp3 (Centraldivx.com).avi

Es posible que nunca nos hayamos parado a observar todo lo que va más allá del título, pero lo cierto es que nos ofrece toda la información necesaria para saber la calidad que obtendremos tras la descarga.

Después del título aparece el idioma de la película entre paréntesis y el año de la producción. Con respecto a estos términos no comentaré nada más, porque son lo suficientemente claros como para arrojar más luz sobre el tema. Simplemente apuntar que el idioma puede aparecer escrito en inglés (lo más común) como en este ejemplo (Spanish), puede aparecer en español (Español), o incluso abreviado (ES, SP, ESP, SPA, etcétera). A la hora de realizar una búsqueda es conveniente introducir alguno de estos términos para cribar los resultados al máximo.

Lo que sigue al año de producción (DVDRIP Xvid-Mp3) es precisamente lo que nos informa sobre la calidad en la que está ripeada la película. En este caso vemos que es una copia directa de DVD (DVDRIP), que el códec de vídeo es Xvid y el de audio es MP3.

Vamos a ver a continuación las distintas calidades que puede tener un archivo de película y cómo se especifica, generalmente, en su nombre. Comenzaremos por la calidad peor y terminaremos por la mejor.

1. Cam

  • En el nombre de archivo aparece como: CAM
  • Origen del vídeo: Cámara (sin trípode, generalmente)
  • Origen del audio: Cámara
  • Calidad de vídeo: Muy baja
  • Calidad de audio: Muy baja

Este tipo apenas se usa en España por su baja calidad. Se corresponde con la grabación directa del vídeo y el audio en una sala de cine por un espectador, sin trípode ni ningún tipo de interés porque la calidad sea mínima.

Suelen ser estrenos muy recientes.

2. TeleSync

  • En el nombre de archivo aparece como: TS, TS-Screener, Telesync o Screener
  • Origen del vídeo: Cámara (con trípode)
  • Origen del audio: Origen externo limpio
  • Calidad de vídeo: Baja-Media
  • Calidad de audio: Media

Esta calidad es la más usual para los screeners en España. El vídeo es una grabación en la sala de cine con una cámara montada sobre trípode, y la calidad puede ser muy buena o nefasta, dependiendo de quién realice la grabación, con qué tipo de cámara y en qué condiciones (cine cerrado o con gente, iluminación, etcétera). El audio se obtiene de un medio externo limpio de ruido y, posteriormente, se sincroniza con la imagen mediante software. Este medio externo suelen ser los conectores de audífonos especiales para sordos de algunos cines o el sistema principal de sonido de la sala.

A este tipo se le suele llamar screener a secas. Suelen ser estrenos recientes.

3. VHS-Screener / VHS-Rip

  • En el nombre de archivo aparece como: VHS-Screener, VHS-Rip
  • Origen del vídeo: Cinta VHS
  • Origen del audio: Cinta VHS
  • Calidad de vídeo: Media
  • Calidad de audio: Media

Son películas ripeadas directamente desde una cinta VHS. La calidad es la de la cinta en cuestión.

Suelen ser antiguas películas descatalogadas o que no han aparecido en DVD.

4. TeleCine

  • En el nombre de archivo aparece como: TC, TC-Screener o Telecine
  • Origen del vídeo: Proyector de cine
  • Origen del audio: Proyector de cine
  • Calidad de vídeo: Media-Alta
  • Calidad de audio: Media-Alta

Este tipo de películas se traspasa directamente desde las salidas de los proyectores de cine a DVD o VHS. No era muy común verlas en España, pero ahora empiezan a irrumpir con fuerza.

Los países de Europa del Este y Rusia son los mayores productores de este tipo de calidades y, lo que se suele hacer, es extraer el vídeo de un TeleCine extranjero y sincronizar el audio captado en español en una sala de cine (algo parecido al DVD-Screener que se ve posteriormente).

Suelen ser estrenos recientes.

5. DVD-Screener

  • En el nombre de archivo aparece como: DVD-Screener o DVD-SCR
  • Origen del vídeo: DVD
  • Origen del audio: Origen externo limpio
  • Calidad de vídeo: Alta
  • Calidad de audio: Media

En este tipo de calidad el vídeo se extrae de un DVD promocional o de un DVD que ya ha salido en otros países antes que en España. El audio se obtiene de un origen limpio como los mencionados en la sección de TeleSync. Posteriormente se sincronizan.

Suelen ser películas no muy recientes, al menos en España.

6. DVD-Rip

  • En el nombre de archivo aparece como: DVD-Rip
  • Origen del vídeo: DVD
  • Origen del audio: DVD
  • Calidad de vídeo: Alta
  • Calidad de audio: Alta

Este tipo se corresponde con el ripeo tal cual de un DVD. Tanto el vídeo como el audio se extraen del DVD original, por lo que la calidad es muy buena, siempre y cuando se realice por una persona experta en tales lides. Muchas veces aparece antes de que se publique la película original, vía copias previas enviadas a los críticos de cine. Esto hace que los rips de mala calidad desaparezcan o no lleguen ni a aparecer.

Son películas que ya han salido en DVD.

7. DVD-R

  • En el nombre de archivo aparece com: DVD-R
  • Origen del vídeo: DVD
  • Origen del audio: DVD
  • Calidad de vídeo: Muy alta
  • Calidad de audio: Muy alta

Este formato de calidad se corresponde con la copia exacta de todos o algunos de los contenidos de un DVD sin ripear, es decir, sin compresión alguna, por lo que no existe pérdida de calidad. Suelen contener la película en dos o tres idiomas e, incluso, los subtítulos.

El problema es que el tamaño de un DVD original es demasiado grande para copiarlo en un DVD grabable normal de 4,7 Gb (DVD-5). Podría caber en un DVD de doble capa (DVD-9) que permite hasta 8,5 Gb o en uno mayor (existe hasta DVD-18), pero estos soportes no suelen ser admitidos por la mayoría de los reproductores de DVD de salón ni por muchos reproductores informáticos de DVD. Por todo ello, a excepción de algunas películas antiguas de dibujos animados que no tienen mucha duración, los extras del DVD original no suelen ser incluidos en este
formato.

Son películas que ya han salido en DVD. Tienen grandes tamaños, cercanos a los 4 Gb o más. Se suelen distribuir en la red BitTorrent. Lo que descargamos son archivos .VOB, .IFO y .BUP que han de ser quemados como DVD de vídeo.

8. Imagen de DVD

  • En el nombre de archivo aparece como: ISO, NRG, BIN, CUE, MDF, MDS
  • Origen del vídeo: DVD
  • Origen del audio: DVD
  • Calidad de vídeo: Muy alta
  • Calidad de audio: Muy alta

Las imágenes de DVD son copias exactas de DVD completos. En este caso se copia completamente un disco con la película, los idiomas, los subtítulos y todos los extras.

Son películas que ya han salido en DVD y que o bien no tienen muchos contenidos o bien duran menos que una película normal. Sobre todo películas de dibujos animados, actuaciones, vídeos musicales, documentales, series, etcétera.

9. BR-Rip

  • En el nombre de archivo aparece como: BR-Rip o BD-Rip
  • Origen del vídeo: BluRay Disc
  • Origen del audio: BluRay Disc
  • Calidad de vídeo: Excelente
  • Calidad de audio: Excelente

Son rips de discos BluRay con calidades 720p y 1080p. Al igual que con el resto de formatos, depende de la habilidad de la persona que lo genere para que la calidad sea mejor o peor. Aún así, a igual tamaño e igual proceso que un DVD-Rip, un BR-Rip tendrá mejor calidad simplemente porque la fuente es mejor.

Son películas ya aparecidas en BluRay Disc.

10. Otras denominaciones

Al calor de las anteriores denominaciones “oficiales” de calidades han ido apareciendo otras menos conocidas (la mayoría referidas a televisión para ripeos de series y películas) pero que cada vez van tomando más importancia. A continuación vamos a detallar algunas de ellas.

  1. TV-Rip: Es un rip directo de un programa o película de televisión.
  2. DVB-Rip: Rip a partir de una señal de TDT (Televisión Digital Terrestre).
  3. HDTV-Rip: Rip de televisión digital de alta definición.
  4. PDTV-Rip: Es un rip de televisión digital pura. Se obtiene con tarjetas sintonizadoras de televisión capaces de recibir TDT.
  5. DSR-Rip: Rip de satélite de señal digital.
  6. LD-Rip: Rip de LaserDisc.
  7. R5-Rip: DVD para la región 5 de Europa del Este, India, África, etc. Son copias hechas con un TeleCine analógico. Muy raras en España.
  8. Workprint (WP): Es un montaje no finalizado de una película que se envía a críticos y productores bastante antes de la versión final. Suelen ser películas con escenas que luego no aparecen en la versión definitiva, con marcas de agua, rótulos o contadores de segundos.

Además de la calidad de grabación de una película, es importante tener en cuenta el formato de vídeo y el formato de audio con los que está ripeada. El formato y el códec (del que hablaba al principio de este mini manual) están íntimamente relacionados, porque deberemos tener los codecs adecuados para reproducir tanto la imagen como el sonido de los distintos formatos. Además, los reproductores de salón sólo aceptan algunos de los formatos más conocidos y utilizados.

A continuación enumeraremos los más usuales con los que nos vamos a encontrar ripeada una película.

Formatos de vídeo

  • DivX y Xvid (AVI): Son formatos de codificación con los que obtendremos calidades similares a los de un DVD. Permite comprimir casi 2 horas de película en, aproximadamente, 700 Mb. Es el más común de los formatos de vídeo.
  • VídeoCD (VCD): Es el formato más veterano. Utiliza la compresión MPEG-1 a un bitrate fijo. Ofrece calidad de VHS y una película de 2 horas necesitará de 2 CD de 700 Mb para entrar correctamente. Es el formato más compatible.
  • Súper VídeoCD (SVCD): Formato basado en compresión MPEG-2. Distribuye los bits de una forma más eficiente que el anterior. Es menos
    compatible que el VCD. Una película necesitará de 2 ó 3 CD de 700 Mb, pudiendo llegar a alcanzar calidad de LaserDisc.
  • CVCD: Formato igual al VCD pero con mayor compresión.
  • KVCD: Al igual que el anterior deriva del VCD pero con una tasa de compresión todavía mayor.
  • RAT-DVD: Este formato permite comprimir una película respetando todo su contenido (menús, extras, subtítulos…) para ser visualizada exclusivamente en un ordenador con Windows XP, DirectX 9 y Windows Media Player 10 o WinDVD casi exclusivamente.

Formatos de audio

  • MP3: Este códec (MPEG Layer 3) es el más extendido y compatible. Tiene como peculiaridad un ratio de compresión 11:1 sin pérdida de calidad de sonido audible.
  • WAV: Formato propietario de Microsoft sin compresión.
  • WMA (Windows Media Audio): De compresión parecida al MP3 y de calidad también similar.
  • AAC: Codificación estándar para audio reconocida por ISO en el patrón MPEG-2. En teoría almacena más que un MP3 y en menos espacio. Formato utilizado por Apple.
  • AC3: Códec para reproducir audio en el sistema Dolby Digital AC3.
  • RA (Real Audio): Soporte multimedia creado por la empresa Real Network, con una alta tasa de comprensión y algoritmos especiales que reducen considerablemente el tamaño de los archivos de sonido.
  • OGG: Lo que diferencia a Ogg Vorbis del resto es que es gratuito, abierto y no está patentado. Su principal atractivo es la importante reducción que hace de un archivo de audio sin restarle calidad. Así mismo, se distingue por su versatilidad para reproducirse en prácticamente cualquier dispositivo.

Para terminar decir que además del formato de audio y vídeo y la calidad de ripeo, en el nombre de un archivo de película descargado podemos encontrar multitud de detalles más. Vimos al principio que suele aparecer el año de producción, el idioma (imprescindible) o el ripeador o sitio web que alberga el enlace. Pero también alguno de los siguientes textos que voy a detallar.

  1. SUBBED XXX: La película tiene subtítulos incrustados en lenguaje XXX.
  2. DUBBED XXX: La película no está en versión original, está doblada al lenguaje XXX.
  3. WS: WideScreen. Dimensiones originales, con bandas negras.
  4. FS: FullScreen. A pantalla completa, sin bandas negras.
  5. REPACK: Cuando alguna película ha salido ripeada con algún fallo, puede aparecer otra con esta leyenda indicando que está solventado.
  6. NUKED: No aprobada. Versión que no cumple las reglas de ripeo acordadas. Puede haber varias razones (BAD A/R, BAD ASPECT RATIO, BAD IVTC…).
  7. PROPER: Según las normas no escritas, el primero que saca una película (normalmente TS-Screener o TC-Screener) gana la “carrera” y nadie más puede publicar esa misma película. Pero si la calidad de la primera publicación es muy mala, otro grupo tendrá “el permiso” de publicarla como una versión “apropiada”.
  8. LIMITED: Significa que se ha visto en menos de 250 cines (en EEUU).
  9. INTERNAL: De distribución interna. Algunas películas se distribuyen de esta forma por varios motivos. Normalmente es para recuperar viejos ripeos en DVD (es decir, duplicar una película ya publicada hace tiempo) o cuando la fuente es una grabación de mala calidad.

Como resumen podríamos decir que es muy importante leer el nombre del archivo de película que nos vamos a descargar, ya que no es lo mismo, como hemos podido comprobar, que sea TS-Screener o DVD-Rip, que el códec de vídeo sea Xvid o VCD o que sea WS o FS.

Teniendo estos pocos detalles en cuenta, seguro que lo que bajemos de Internet será más adaptado a lo que deseamos obtener en una primera vez y únicamente descargando un único archivo por película.

Eso sí, los fakes que resultan en películas porno en lugar de esa última superproducción que queríamos haber bajado, van a seguir colándosenos por siempre jamás. Aunque una buena actitud es desconfiar de los DVD-Rip de películas todavía en las salas de cine. Por lógica.

Frases con historia (II)

No hay ninguna razón para que un individuo tenga un ordenador en su casa.

Ken Olson, Presidente de Digital Equipment Corporation. 1977.

14 errores lingüísticos demasiado comunes

Error

Error

Con este post estreno la categoría Off topic, es decir, esta es una entrada que no tiene nada que ver con el tema (o tópico) principal del blog, que se supone que es la tecnología o la informática o Internet o yo que sé. ¿Y por qué ahora? Pues porque me sale de los audiobaudios, qué pasa.

NOTA MENTAL: explicar alguna vez lo que son eran los audiobaudios, que seguro que nadie lo sabe, porque no aparece ni en el Google.

El caso es que siempre he querido escribir un post como el que están ustedes a punto de leer, y como mi intención no es dedicarme a hablar de la lengua española muy a menudo, pues lo encajo con calzador en la categoría Off topic y listo.

¡Pero calla de una vez y cuenta lo que tengas que contar, pesado! Ya voy, ya voy.

Hablaremos, pues, de errores lingüísticos demasiado comunes. No piensen que van a encontrar aquí errores del tipo “me se ha caído”, “la agüela” o “el sartén”, no. Lo que voy a pasar a comentar es una serie de incorrecciones que, de tan comunes y aceptadas, las cometen prácticamente la totalidad de los hablantes en esta lengua. ¿Ah sí? Pues sí, usted también seguramente. Al menos algunas de ellas.

Y es que a lo largo de los años he ido recopilando una serie de patadas al diccionario que, incluso, yo mismo he propinado en tiempos pretéritos y que, cuando descubrí la luz, a veces hasta me asusté de lo borregos que llegamos a ser los seres humanos. Todos por la misma senda.

Son palabras, expresiones y demás que, no sé por qué oscura razón (de razones hablaré someramente), se han tomado como buenas cuando, en realidad, son erróneas. Pero no piense que usted y yo, de pueblo de toda la vida, somos los únicos que las decimos mal, no. Son errores cometidos por redactores de medios de comunicación, políticos (mal ejemplo, pero bueno) e incluso escritores de renombre. Sí, sí. ¿A que le pica la curiosidad, eh? Pues vamos allá.

Para una identificación más clara, escribiré lo erróneo en color rojo y lo correcto en azul.

ERROR DEMASIADO COMÚN Nº 1: Se dice radiactividad, no radioactividad.

No es un buen modo de comenzar, porque la Real Academia Española de la Lengua acaba de admitir hace cuatro días la palabra errónea, dándola por válida. Y precisamente ha sido así porque su profusa utilización (mala utilización) ha conllevado a aprobar algo que está mal dicho.

No es la primera vez que ocurre, y es que cuando la conciencia de inexactitud sobre algo desaparece, los poderes lingüísticos responden autorizando lo incorrecto, siempre y cuando sea una cosa lógica, claro está. No vayamos a pensar que admitan en un futuro la palabra “fistro” porque mucha gente la utilice (o sí, ¿quién sabe?).

Sospecho que la “o” esa que se coló en la palabra radiactividad fue por similitud con el elemento químico radiactivo denominado radio, aún así, la RAE sigue aconsejando que de forma mayoritaria y preferible se siga escribiendo (y diciendo) radiactividad.

Algo parecido pasa con la voz “paralímpico”, a la que mucha gente (no mucha, mucha, y cada vez menos) le mete una “o” por ahí en medio.

ERROR DEMASIADO COMÚN Nº 2: Se dice eructo, no erupto.

Afortunadamente es un error demasiado común que va desapareciendo con el tiempo. Es curioso que muchos hablantes sean prácticamente incapaces de pronunciar una “p” al final de una sílaba; la verdad es que es algo raro en castellano. Pero existe un gran número de personas que pronuncian “captus” o “cóptel” en lugar de “cactus” y “cóctel”. Esa misma impericia ha hecho que la palabra “eructo” se haya ido deformando con el pasar del tiempo y convirtiéndose en un error demasiado común, sobre todo entre los niños y los más jóvenes.

Por supuesto, las variantes palurdas como “eruto” o “iruto” son totalmente reprobables.

ERROR DEMASIADO COMÚN Nº 3: Se dice Ku Klux Klan, no Ku Kux Klan.

Al clan de organizaciones racistas, antisemitas, xenófobas y anticomunistas de EEUU parece que se le ha perdido la letra “l” de su segunda palabra. Poca gente he oído que pronuncie y escriba bien este nombre, informativos de Tele 5 incluidos.

Después de la Guerra de Secesión americana se formó el KKK. El nombre del clan se compuso a partir del vocablo griego kuklos (círculo). El capitán Kennedy añadió Klan en recuerdo de los grupos familiares ancestrales, ya que todos tenían ascendencia escocesa. Los fundadores decidieron escribir clan con “k”, para darle más notoriedad a la organización. Les gustó el sonido rítmico de las palabras y decidieron separar “Kuklos” en dos palabras, cambiando la “o” por la “u” y la “s” final por una más impactante “x”.

ERROR DEMASIADO COMÚN Nº 4: Se dice estalagmita, no estalacmita.

Es curioso que la que cuelga de arriba se llame estalactita (con esa “c” en medio) pero la que se forma por debajo se llame estalagmita (con una “g” en medio). Es muy curioso, pero es así.

El término estalactita proviene del griego culto stalaktos (que gotea), y la palabra estalagmita viene también del griego culto stalagma (filtración). Muy parecidas pero con una sutil diferencia, ¿verdad?.

El hecho de que estalactita se escriba con “c” ha propiciado que a la pobre estalagmita se la crucifique con una “c” también, en lugar de su correcta “g”.

ERROR DEMASIADO COMÚN Nº 5: Se dice grosso modo, no a grosso modo.

Entre los errores demasiado comunes, éste es uno de los más demasiados y de los más comunes de todos los errores. Cometido con total impunidad por maestros, profesores, periodistas, presentadores y locutores.

La preposición “a” que se cuela delante de este latinismo parece ser influencia de otras expresiones castellanas con parecido significado que sí es correcto que la lleven, como ‘a vuelapluma’, ‘a ojo de buen cubero’ o ‘a bulto’. Sin embargo, “grosso modo” es una locución latina que prescinde totalmente de dicha preposición para completar su significado.

Así pues, una oración correcta sería, por ejemplo, ‘les voy a explicar a ustedes, grosso modo, cómo funciona la economía sumergida’.

ERROR DEMASIADO COMÚN Nº 6: Se dice motu proprio, no motu propio.

Entiendo que es una puñetada pronunciar “proprio” sin atragantarse; demasiadas erres para dos sílabas de nada. Pero, lo siento, este es otro giro de la lengua latina que prácticamente el 100% de los hablantes dice de manera errónea.

Utilizado como expresión para indicar que se hace algo espontáneamente, sin responder a petición previa, se utiliza mucho en la lengua española, por lo que ha ido derivando en el sentido del adjetivo “propio” castellano, que nada tiene que ver con el “proprio” latino. “Propio” es el caso ablativo de proprius (con movimiento propio) y, como tal ablativo que es, ya lleva implícita la preposición que, y este es otro error, muchas veces se le coloca por delante.

Por lo tanto, y aparte de la “r” de marras, como hemos comentado ya con “grosso modo”, tampoco deben utilizarse las preposiciones “de” o “por” (‘de motu proprio’, ‘por motu proprio’) antes de este latinismo. Una frase correcta sería, por ejemplo, ‘el acusado admitió su falta motu proprio en la segunda jornada del juicio’.

ERROR DEMASIADO COMÚN Nº 7: Se dice areola, no aureola.

Aunque esta afirmación no es del todo correcta, porque ambas palabras existen, me estoy refiriendo, por supuesto, a ese círculo rojizo algo moreno que rodea el pezón de los pechos. Eso que todos tenemos, y que a las mujeres se les nota algo más, se denomina areola, o aréola también. Aureola (con “u”) es el resplandor, disco o círculo luminoso que suele figurarse detrás de la cabeza de las imágenes sagradas.

Este es otro ejemplo de error demasiado común aceptado por la RAE, ya que hoy día es correcto utilizar “aureola” por “areola”, aunque, de nuevo, la Academia recomiendo el uso del segundo término.

ERROR DEMASIADO COMÚN Nº 8: Se dice impreso, pero también imprimido.

Es curioso que en los últimos tiempos cada vez oigo más la palabra “impreso” y menos la palabra “imprimido”. Parece que a los nuevos repipis de la lengua les suena a cateto eso de”imprimido” y te sueltan en cualquier momento ‘¿has impreso lo que te mandé?’.

Pues bien, en castellano existen alguno verbos que tienen dos participios, uno regular (“imprimido”) y otro irregular (“impreso”). Estos verbos utilizan su participio regular sólo como adjetivo y nunca como verbo, a excepción de “freír”, “imprimir” y “proveer”. (Sí, freír tiene forma regular de particio, es correcto decir ‘he freído’, aunque se considera arcaico).

Los dos participios pueden utilizarse indistintamente en la formación de los tiempos compuestos y de la pasiva perifrástica, aunque la preferencia por una u otra forma varíe en cada caso. Según la RAE lo lógico es utilizar el participio regular “imprimido” en oraciones activas con el verbo conjugado como participio, por ejemplo: ‘he imprimido el documento’, ‘¿has imprimido lo que te envié?’ o ‘hemos imprimido el libro completo’, y el participio irregular “impreso” cuando actúe como adjetivo: ‘coja usted un folleto impreso del mostrador’ y en oraciones pasivas ‘el manual de usuario ha sido impreso en Alemania’.

Por lo tanto, tan bien dicho está ‘he imprimido’ como ‘he impreso’, pero la primera forma es (o debería ser) la más aceptada. Lo que nunca utilizaremos es la forma regular en los casos en los que sea un participio como sustantivo, es decir, cuando se utiliza la forma verbal como un nombre. Nunca diremos ‘tiene usted que rellenar el imprimido’, sino ‘tiene usted que rellenar el impreso’.

ERROR DEMASIADO COMÚN Nº 9: Se dice incluido, no inclusive.

Tampoco es una afirmación correcta del todo, ya que ambos términos existen. Me refiero aquí a la proliferación de carteles y cartelitos que veo, y cada vez más, en comercios de todo tipo. Esos cartelitos que rezan ‘Este establecimiento permanecerá cerrado desde el día 1 hasta el día 14, ambos inclusive’.

Vamos a ver, “inclusive” es un término que proviene del latín escolástico y que significa incluyendo el último objeto nombrado. Lo correcto sería escribir ‘Este establecimiento permanecerá cerrado desde el día 1 hasta el día 14, ambos incluidos’ o ‘Este establecimiento permanecerá cerrado desde el día 1 hasta el día 14 inclusive’. Pero nunca lo anterior.

ERROR DEMASIADO COMÚN Nº 10: El problema con súper y super-.

En castellano existen tres palabras muy parecidas, a saber, el adjetivo “súper” (‘mi coche utiliza gasolina súper’, ‘tenemos un plan súper para esta noche’), el sustantivo “súper”, que es un acortamiento coloquial de la voz “supermercado” (‘vamos al súper a comprar leche) y, por último, el elemento compositivo prefijo “super-“, que denota lugar situado por encima, superioridad o excelencia (‘superpotencia’, ‘superpoblación’ o ‘superproducción’). El problema recae en este último, y es que la RAE sólo acepta el prefijo “super-” cuando precede a sustantivos y nunca a adjetivos o adverbios.

Así pues, palabras como ‘superhombre’, ‘supercasa’ o ‘supercamión’ serían correctas, pero nunca lo serían otras como ‘superbien’, ‘superútil’ o ‘superreservado’, que tan de moda están.

En su caso, la Real Academia acepta que en el español coloquial actual se usa “super-” con mucha frecuencia para añadir valor superlativo a los adjetivos o adverbios a los que se une, pero nunca admite abiertamente su utilización como correcta. De todas maneras, advierte también que si se utiliza de esta forma, debe escribirse junto a la palabra, sin guiones y sin tilde, y no confundirlo con el otro “súper”.

Es el típico ejemplo de algo que, no tardando mucho, será aceptado por la RAE, y Paris Hilton, cuando venga a España, podrá decir sin complejos y sin miedo a equivocarse que esto o aquello es superguay.

ERROR DEMASIADO COMÚN Nº 11: Se dice no, no para nada.

Vaya lío que me ha quedado; lo explico.

Les ha dado también últimamente a los recursis por contestar con un “para nada” a la hora de negar algo categóricamente. Pues bien, en castellano sólo se acepta un adverbio de negación, y ese es nuestro querido “no”. Ahora bien, nadie dice que este “no” no pueda ir acompañado, pero nunca sustituido. Así, si alguien nos pregunta a ver si nos hemos hecho del Opus, nunca contestaremos ‘¡Para nada!’, es erróneo, sino ‘¡No, para nada!’; o con un simple y sencillo ‘¡No!’.

ERROR DEMASIADO COMÚN Nº 12: Yo no doy más de mí.

Una expresión que a veces plantea dudas de concordancia es aquella de “dar de sí” (‘María no da más de sí’ o ‘Esta camiseta se ha dado de sí’). El problema es que siempre se tiene que mantener la concordancia entre el sujeto y el pronombre que sigue a la preposición “de”. O sea, diremos: ‘yo no doy más de mí’ y ‘tú no das más de ti’. Todos los demás con “sí”. Se considera incorrecto decir ‘yo no doy más de sí’, aunque está bastante arraigado en el habla popular como para eliminarlo de un plumazo.

ERROR DEMASIADO COMÚN Nº 13: Se dice encima de mí, no encima mío.

Este error es otro de esos que lo comete prácticamente el 100% de los hablantes. El origen de este error está en equiparar el complemento preposicional introducido por la preposición “de” (‘detrás de María’) con los complementos de posesión, de estructura formalmente idéntica (‘la casa de María’). Sin embargo, se trata de construcciones diferentes: en la primera (‘detrás de María’), el núcleo del que depende el complemento preposicional es un adverbio (“detrás”), mientras que en la segunda (‘la casa de María’) es un sustantivo (“casa”). Puesto que los adjetivos posesivos son modificadores del sustantivo, sólo si el complemento encabezado por “de” depende de un sustantivo puede sustituirse sin problemas por un posesivo: ‘la casa de María’ = ‘su casa’ o ‘la casa suya’.

Sin embargo, los adverbios no son susceptibles de ser modificados por un posesivo, de forma que no admiten la transformación descrita: ‘detrás de María’ no equivale a ‘su detrás’, por lo que no es admisible decir ‘detrás suyo’. En consecuencia, no se dice ‘delante mío’, ‘detrás tuyo’ ni ‘encima mío’, sino ‘delante de mí’, ‘detrás de tí’ y ‘encima de mí’.

Evidentemente, los derivados utilizados en el sur de España, del tipo “encima mía”, tampoco son correctos. Particularmente soy un defensor a ultranza del idioma andaluz (porque yo lo considero un idioma, no un dialecto o un deje) y me encanta escuchar algo como ‘¡quillo, no te sienteh ensima mía, que mira que canijaso tengo!’, pero lamentablemente la Real Academia no recoge esta posibilidad. Igual en un futuro, y cuando se le dé la importancia que tiene a este idioma, cosas como la anterior aparacen reflejadas en un diccionario. Así sea.

ERROR DEMASIADO COMÚN Nº 14 (y último): El burro delante para que no se espante.

Este error es uno de mis favoritos, porque nace de la creencia errónea de que existe un error donde realmente no lo hay.

¿Cuántas veces hemos oído de pequeños eso de el burro delante para que no se espante cuando decíamos, por ejemplo ‘Yo y Pablo vamos a jugar a fútbol’? Te lo decía tu madre, te lo decía el profesor y hasta te lo decía la vecina de abajo; qué maja ella. Y claro, a partir de entonces, a prestar atención al hablar, no se te fuera a colar otro burro de esos.

Pues lo cierto es que no existe ni ha existido nunca una norma en castellano que trate sobre el orden de los sujetos (cuando hay varios) en una oración. Es algo así como el mito aquel famoso de que las mayúsculas se pueden no acentuar, falso hasta decir basta. Lo que si dice la RAE al respecto es que, por educación, se recomienda nombrar antes al otro que a ti mismo (‘Pablo y yo’), pero sólo por educación. Decir o escribir ‘Yo y Pablo’ no es de ningún modo un error gramatical. Que lo sepas.

Bueno, pues aquí termina este post. Espero haber aclarado algún que otro concepto a más de uno y, de ahora en adelante, espero que todo aquel que haya leído estas líneas se preocupe por hablar y por escribir un poquito mejor.

Inyecciones SQL (¡a que te pincho!)

Inyección SQL

Inyección SQL

El hacking ya no es lo que era en los noventa. Antes, la seguridad era mínima y los administradores de sistemas eran los mismos chupatintas que lo mismo te configuraban un proxy que te atendían en la ventanilla. Los sistemas operativos tenían más agujeros que un queso de esos con agujeros y, para más inri, las actualizaciones brillaban por su ausencia

Casi nadie tenía Internet, y los cuatro frikis que compramos un módem por aquello de chatear, nos las vimos y nos las deseamos para configurarlo y conectarlo a la Red, cortando la línea de teléfono a tus padres durante tardes interminables y escurriendo el bulto cuando llegaba la factura de Telefónica. Eso sí, la sensación de satisfacción que se te quedaba en el cuerpo cuando conseguías desenmarañar aquel entramado de siglas era indescriptible.

Nos cobraban 5.000 pesetas mensuales por la conexión, teléfono a parte, y existía algo que se llamaba Infovía y que muchos de los que lean esto ni sabrán lo que fue. Pululaban todavía las BBS, el chat se hacía desde un cliente de IRC y las páginas web daban verdadera pena.

Aparecieron los e-zines (fanzines digitales) y corrían de mail en mail como antaño sus hermanos mayores de papel de mano en mano. Descubrí SET antes de que fuera SET, cuando se llamaba Saqueadores a secas. Descubrí también 7a69, Raza Mexicana, Raregazz y otros de los que no recuerdo el nombre. Había uno muy divertido que no tenía como tema principal el hacking ni la informática (y que tampoco me acuerdo cómo se llamaba) que enseñaba desde cómo fabricar una bomba a las mejores maneras para asesinar a un gato. Aquella época era así; el destape digital.

Y entones fue cuando me empecé a aficionar al hacking, al cracking, al phreaking y al virii, que eran los cuatro pilares básicos que todo buen conocedor del underground informático debía manejar, o al menos alguno de ellos pero en plan gurú, si no eras directamente un lammer o un puto newbie.

La filosofía de los hackers de aquella época se ha perdido. El objetivo claro que se perseguía entonces era la superación personal y el ansia por adquirir los conocimientos que permitieran dominar aquella nueva tecnología que tanto futuro parecía tener. Hoy los buenos hackers son putas al servicio de gobiernos o de empresas de seguridad. Alguno de los de antes quedará por ahí, seguro, pero el espíritu ya no es el mismo, se ha desinflado.

El hacking, además, se ha vuelto complicado y peligroso. Hoy los administradores de sistemas han pasado de la ESO (algunos), los sistemas operativos son muchísimo más seguros y los usuarios están mucho más concienciados del concepto de seguridad (más o menos). Los bugs o agujeros de seguridad se resuelven y parchean en horas, y cualquier software se actualiza de manera automática prácticamente a diario.

Sin embargo, de vez en cuando, siguen apareciendo técnicas novedosas que producen un revolvimiento de tripas en el underground informático y una sudoración fría en los lobbys económicos y políticos del sistema. Algo así como un resurgir del lodo, descuellando por unos instantes. Por supuesto, al descubridor de tal o cual vulnerabilidad se le eleva a los altares del movimiento subterráneo y se le santifica a lo Kevin Mitnick.

En los últimos años a mí se me han puesto los pelos de punta en tres de ocasiones: una con la aparición del ataque NetBIOS, otra con la aparición del XSS y otra con la aparición de las inyecciones SQL. Y a estas últimas nos vamos a referir en continuación. ¿Por qué? Por nada en especial.

Para los neófitos: SQL es un lenguaje estructurado que se utiliza para realizar consultas contra bases de datos, ya sean consultas de actualización, de selección o de eliminación.

Las bases de datos cada vez son más importantes en nuestra vida. Todo está ordenado y clasificado en determinado campo de determinado registro de determinada tabla de determinada base de datos. Y, claro, en Internet, que es un espejo casi en tiempo real del mundo no digital, las bases de datos crecen como champiñones a diestro y siniestro. Cualquier página web que visitemos dispondrá de un foro, de una agenda de eventos, de un registro de usuarios, de un catálogo de productos, etcétera. Pues bien, todo eso, y mucho más, necesita de una base de datos para poder funcionar.

Una inyección SQL no es otra cosa que un ataque, debido a una vulnerabilidad corregible, a la base de datos de una aplicación en el nivel de validación. Para que me entienda todo el mundo, el nivel de validación se refiere a esos cuadraditos de texto donde yo escribo mi nombre de usuario y mi contraseña cuando accedo a una web en la que estoy registrado. En esos mismos cuadraditos dispongo yo de la posibilidad de escribir código SQL que la base de datos que haya detrás se trague e interprete y provocar un auténtico desastre.

Vamos a ver un ejemplo práctico. Imaginemos la típica página de validación, donde me piden mi nombre y mi contraseña, para entrar a comprar a una tienda virtual en la que estoy registrado. Cuando yo escribo el nombre, la contraseña y pulso el botón de aceptar, el software comprueba que los datos sean correctos. Para ello realiza un consulta a la base de datos en SQL que puede ser algo como lo siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = '" + NombreUsuario + "' AND Contrasena = '" + ContrasenaUsuario + "';"
 

Esto selecciona (SELECT) todos (*) los registros de (FROM) la tabla TablaUsuarios donde (WHERE) el campo Nombre sea igual (=) a la variable NombreUsuario (su valor se asigna de lo que nosotros hallamos escrito) y (AND) el campo Contrasena sea igual a la variable ContrasenaUsuario. Si yo escribo “Jonathan” y “Tambor1900” respectivamente en el campo de texto para nombre y contraseña, el resultado de la cadena anterior sería el siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = 'Jonathan' AND Contrasena = 'Tambor1900';"
 

Ahora viene la magia. En el campo de texto para el nombre, en lugar de un nombre, voy a escribir esto: ' OR '1'='1

Y en el campo para la contraseña lo mismo, mismito. La cadena SQL que se envía a la base de datos quedaría así:

"SELECT * FROM TablaUsuarios WHERE Nombre = '' OR '1'='1' AND Contrasena = '' OR '1'='1';"
 

Es decir, selecciona todos los registros de la tabla TablaUsuarios donde el campo Nombre sea igual a nada o 1 sea igual a 1 y el campo Contrasena sea igual a nada o 1 igual a 1. ¡Abracadabra! Es posible que no exista un nombre o una contraseña vacía, pero siempre 1 va a ser igual a 1, por lo tanto, hasta la cocina del sitio web como si fuéramos un usuario correctamente registrado.

Vamos a hacer más pupita. Vamos a escribir en el campo del nombre lo mismo que antes y en el de la contraseña lo que esto: '; DROP TABLE TablaUsuarios

Con lo que la cadena final queda así:

"SELECT * FROM TablaUsuarios WHERE Nombre = '' OR '1'='1' AND Contrasena = ''; DROP TABLE TablaUsuarios;"
 

Las sentencias SQL siempre terminan en punto y coma (;) y pueden separarse entre sí por el mismo signo de puntuación. En el anterior ejemplo, comprobaría correctamente que 1 es igual a 1, como hemos comentado antes, para, después, cargarse sin miramientos la tabla TablaUsuarios (DROP TABLE TablaUsuarios).

Evidentemente el daño puede ser mayor que borrar una tabla (suponemos que el administrador tiene copias de seguridad), ya que podemos hacernos con todos los datos sensibles y privados de los usuarios del sitio, hacer compras en su nombre, acceder a sus cuentas bancarias y mil miles de cosas más.

Muchos habrán pensado ya a estas alturas que para inyectar este tipo de códigos SQL es necesario conocer el nombre de las variables (NombreUsuario y ContrasenaUsuario) y el nombre de la tabla (TablaUsuario) que el programador ha utilizado. Y efectivamente así es. Pero para conseguir estos datos podemos recurrir a la técnica de hacer “cascar” la consulta y que produzca un error. Por ejemplo, si en el nombre de usuario escribimos dos comillas simples ('') y en la contraseña cualquier cosa, la cadena SQL resultante sería la siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = ''' AND Contrasena = 'Tambor1900';"
 

Aquí hay más comillas de las que el intérprete SQL de la base de datos puede reconocer, y esto devolvería un error de acceso a la base de datos. Dependiendo de qué servidor web aloje esta página y cómo esté configurado, es más que posible que dicho error aparezca en pantalla (en formato HTML) especificando concretamente dónde y por qué se ha producido, y describiéndonos a las mil maravillas la cadena de conexión y todas sus variables, nombres de campos y tablas. Un placer. Gracias mil.

Una vez expuesta la vulnerabilidad y cómo explotarla, es de caballeros explicar también cómo corregir este defecto. He de decir que muchísimas páginas web en Internet no tienen este tema solucionado; allá ellos. Sólo es necesario visitar sitios web y probar (a base de comillas aquí, comillas allí) hasta que encontremos uno vulnerable. Ya digo que los hay por doquier.

Existen varios métodos para solucionar este problema, pero el más sencillo y eficaz es el que consiste en evitar la introducción de comillas simples en las cajas de texto sustituyéndolas por espacios, por ejemplo. He aquí una forma de hacerlo en VBScript en una página ASP:

CadenaSQL = "SELECT * FROM TablaUsuarios WHERE Nombre = '" & REPLACE(NombreUsuario, "'", " ") & "' AND Contrasena='" & REPLACE(ContrasenaUsuario, "'", " ") & "'"
 

O en JavaScript en una página PHP:

CadenaSQL = SELECT * FROM TablaUsuarios WHERE Nombre = '" & NombreUsuario.replace( "'", " "); & "' AND Contrasena='" & ContrasenaUsuario.replace("'", " "); & "'"
 

Otro factor importante en cuanto a la seguridad es limitar al máximo los permisos del usuario que ejecuta estas sentencias para evitar posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE o UPDATE y asegurándonos de que cada ejecución de una sentencia ejecute una sentencia del tipo permitido.

Una solución definitiva sería trabajar con procedimientos almacenados. El modo en el que se pasan los parámetros a los procedimientos almacenados evita que la inyección SQL pueda ser usada. También deberíamos validar los datos que introduce el usuario teniendo en cuenta, por ejemplo, la longitud de los campos y el tipo de datos aceptados. Si programamos en ASP.NET, además, utilizaremos siempre que sea posible las clases de System.Web.Security.FormsAuthentication para que los usuarios entren en nuestras aplicaciones web.

Es tan jugoso explotar una vulnerabilidad como conseguir eliminarla. Los hackers del pasado son los expertos en seguridad del presente. Pero, por favor, no se me vendan a las multinacionales, que no queda muy underground que digamos.

eBook ‘retroPLOF!’

retroPLOF!

Especifica tu dirección de correo electrónico y pulsa 'Comprar ahora'. Puedes pagar con tu cuenta de PayPal o con cualquier tarjeta bancaria.

E-mail envío eBook:

Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación. Más información.

ACEPTAR
Aviso de cookies