domingo, 8 de junio de 2014

Mitos y realidades de los videojuegos

Los videojuegos no son nuevos para nuestra cultura, pero a pesar de que ya tenemos dos generaciones completas que han nacido en la época de arcades y consolas aún hay muchos mitos y errores de percepción acerca de cómo la interacción con los juegos de video influyen y afectan a las personas. A continuación reseño cinco de los mitos más comunes con la intención de analizarlos desde un punto de vista objetivo y de separar la realidad de la ficción:

  • Los videojuegos vuelven violentas a las personas

Si bien es cierto que personas que han cometido actos de violencia o crímenes han sido jugadores antes, la realidad indica que las personas con tendencias violentas interactúan menos con medios como los videojuegos que el promedio de las personas en su mismo demográfico. De hecho, dentro del grupo de personas que normalmente juegan (personas menos a 30 años) el porcentaje de personas que han estado involucradas en actos violentos es mínimo (menor al 1%) y esta abrumadora mayoría no está cometiendo ni crímenes ni actos violentos.
Un estudio en Estados Unidos considera que otros factores como la estabilidad emocional y mental de los jóvenes en las escuelas así como la calidad de vida en el hogar son más decisivos en la inclinación hacia comportamientos agresivos que la exposición a los medios o a los videojuegos. La persecución moral hacia los videojugadores es más dañina en el sentido de que promueve prejuicios y estereotipos hacia un grupo que de por sí ya se siente aislado, además de que quita la atención de los verdaderos problemas sobre la violencia en los jóvenes mientras permite que el problema continúe.

  • Los videojuegos son solo para niños

Aunque la mayoría de los niños juegan videojuegos, el centro de este mercado ha cambiado hacia jugadores más grandes como consecuencia de una generación entera que sigue jugando en una edad adulta. Ya en 2012 el 62% del mercado de juegos de consolas y el 66% de jugadores en PC son mayores de 18 años y la industria de los videojuegos ha respondido creando juegos específicos para una audiencia adulta.
Un problema derivado de esto es que muchos padres ignoran las clasificaciones y advertencias en los juegos pensando que “todos los juegos son para niños”, algo que podría solucionarse si los padres se educaran un poco más sobre los juegos que hay disponibles y la compra de los mismos fuera realizada por padres y niños juntos.

  • Los videojuegos no son para niñas

La idea de que los videojugadores son predominante hombres es correcta empíricamente pero errónea en su concepción: de un grupo de personas entre 11 y 30 años el 90% de los hombres y el 40% de las mujeres son videojugadores y los porcentajes de mujeres que juegan aumentan cada año desde la última década, además de que las mujeres ya sobrepasan al número de hombres que usan juegos en la web. Juegos como The Sims han tenido tasas de conversión enormes atrayendo a mujeres que nunca habían jugado antes. Dada la falta de balance en el mercado de los videojuegos y la gente dentro de la industria, los estereotipos sexistas no son sorprendentes.
Un cambio importante en las dinámicas de los videojuegos más recientes es el cambio del rol de los personajes femeninos que han pasado de ser víctimas a personajes poderosos e independientes, muchas veces las protagonistas de sus propios juegos. En el libro Killing Monsters, Gerard Jones afirma que las niñas a menudo usan estas representaciones como referentes para reafirmarse a sí mismas al confrontar retos en su vida diaria.

  • Los videojuegos aíslan y alienan a las personas

Contrario a lo que muchas personas piensan, buena parte de un juego es social: caso 60% de los jugadores frecuentes tiene amigos con quienes juega, 33% de los jugadores adultos juegan con sus hijos y poco más del 25% juega con su cónyuge. Incluso los juegos diseñados para un solo jugador jugados de manera social, ya sea con otra persona que apoya al jugador con consejos o compartiendo la experiencia de juego en redes sociales.
El sociólogo Talmadge Wright ha analizado cientos de horas de juego y sobre cómo las comunidades online interactúan y reaccionan a videojuegos, concluyendo que el meta-juego –la conversación sobre el contenido del juego- provee un contexto para reflexionar y aprender acerca de las reglas y las consecuencias de romperlas. En esta observación se pueden ver en realidad dos tipos de interacción: cooperación implícita y camaradería entre los jugadores, dos jugadores pueden estar peleando a muerte en la pantalla y creando una relación como amigos más estrecha fuera de la pantalla. Las expectativas sociales son reafirmadas por medio del contrato social que gobierna el juego, más allá de las representaciones simbólicas en el juego.

  • Los videojuegos no son una forma válida de expresión artística.

Los primeros videojuegos, limitados por la tecnología disponible, eran poco más que galerías de tiro en la que los jugadores le disparaban a lo que se moviera, pero eso ha cambiado conforme tanto juegos como jugadores se han vuelto más sofisticados: muchos juegos son ahora diseñados como escenarios de práctica ética que permiten a los jugadores navegar mundos expansivos y abiertos en las que pueden tomar sus propias decisiones fuera de una línea narrativa dura y ver de primera mano las consecuencias de sus acciones, como sucede en juegos como Fable.
El juez de apelaciones en Estados Unidos Richard Posner mencionó en un juicio en 2002 que “la violencia siempre ha sido un tema recurrente en la cultura, y sirve para enseñar a los niños tanto moralidad como para prepararlos para el mundo real como cualquier que haya leído las historias de los hermanos Grimm sabe, Andersen y Perrault. Aislar a los niños de los juegos por temor a la exposición a la aventura o la violencia presente en los juegos sería no sólo iluso, sino deformante; los dejaría mal equipados para interactuar con el mundo”.


La industria de los videojuegos ha aprendido a diversificarse y ha logrado con éxito llevar las historias presentes en los juegos a otros ámbitos como la literatura, la música y el cine, por mencionar los que más personas tocan, creando franquicias que han sido vigentes por décadas.

martes, 4 de marzo de 2014

Hay o no hay virus en Linux?



El debate sobre los virus informáticos en GNU Linux no es nada nuevo. Cada cierto tiempo pueden leerse noticias, post y comentarios en blogs, como este, y en las diferentes redes sociales sobre el tema. Aquellos que consultan sobre si existen los virus en Linux, cansados por perder información al ser afectado su MS Windows, recibiendo respuestas dispares, en su mayoría de personas que opinan sin saber realmente sobre el tema... En Linux no hay virus porque los creadores de estos programas malignos no pierden el tiempo en hacer algo para un Sistema Operativo que casi nadie usa”.

Primero tenemos que saber a que nos referimos por virus informático, es un software que se copia y se ejecuta automáticamente, y que tiene por objeto alterar el normal funcionamiento de un equipo informático (hoy podemos hablar no solo de la PC o la Notebook, sino también de la Tablet, el Smartphone y hasta de un Smart TV), sin el permiso o el conocimiento del usuario. Para ello, los virus reemplazan archivos por otros infectados con su código.
Para que un virus se instale en nuestro equipo, basta con que ejecutemos un programa infectado siendo un usuario común del sistema operativo. Esto difiere, por ejemplo, de un troyano que requiere que el usuario confirme ciertos procesos necesarios para que se instale, solicitando generalmente tener algunos privilegios.

Lo que realmente define a un virus es su forma de transmisión, o sea, como se reproduce dentro de un sistema o de una red.
Un sistema operativo es más sensible a los virus cuanto más fácil sea desarrollar un mecanismo eficiente y automatizado de transmisión del mismo. Supongamos que tenemos un virus que quiere transmitirse solo, que ha sido lanzado por un usuario normal, de forma inocente, al ejecutar un programa. Dicho virus tiene dos mecanismos de transmisión:
  • replicarse accediendo a la memoria utilizada por otros procesos, anclándose a ellos en tiempo de ejecución. Al infectar estos procesos, que en MS Windows pueden ser los del Sistema Operativo, el virus se transmite a otros programas.
  • abriendo los ejecutables del Sistema de Archivos (File System), y añadiendo su código –payload– al ejecutable. El Sistema de Archivos es el componente del Sistema Operativo encargado de administrar y facilitar el uso de las memorias periféricas y secundarias, como el disco rígido y los pendrives, al infectarse este el virus podrá propagarse al resto de los archivos.
Todos los virus que podemos considerar como tales tienen al menos uno de estos dos mecanismos de transmisión, o los dos, no hay más mecanismos.

Respecto al primer mecanismo, recordemos la arquitectura de memoria de GNU Linux y cómo funcionan los procesadores Intel. Estos poseen cuatro anillos, numerados de 0 a 3; a menor número, mayores los privilegios que tiene el código que se ejecute en dicho anillo.
Estos anillos corresponden con estados del procesador, y, por lo tanto, con lo que se puede hacer con un sistema estando en un anillo concreto. Linux hace uso del anillo 0 para el kernel, y del anillo 3 para los procesos. No hay código de proceso que se ejecute en anillo 0, y no hay código de kernel que se ejecute en anillo 3.
El kernel mediante el uso de la memoria virtual hace creer a cada proceso que tiene toda la memoria para él solo. Un proceso –que trabaja en anillo 3– solo puede ver la memoria virtual que le han configurado, por el anillo en el que opera. No es que la memoria de los otros procesos esté protegida; es que para un proceso la memoria de los otros está fuera del es-pacio de direcciones de memoria que puede utilizar, no sería capaz ni de referenciar una dirección de memoria de otro proceso.
Para que un proceso pudiese tocar la memoria de otros procesos o del kernel, debería ser el propio kernel.
Por ello, la arquitectura de memoria virtual impide este mecanismo de transmisión; ningún proceso –ni siquiera los que tienen privilegios de root– tienen forma de acceder a la memoria de otros.
Podríamos argumentar que un proceso puede ver el kernel; lo tiene mapeado a partir de su dirección de memoria lógica 0xC0000000. Pero, por el anillo del procesador en el que se ejecuta, no puede modificarlo; generaría un trap, ya que son zonas de memoria que pertenecen a otro anillo. Ni siquiera un virus como root puede saltar esta barrera.

En Linux, un proceso puede hacer simplemente lo que le permita su usuario efectivo y su grupo efectivo. Es cierto que existen mecanismos para intercambiar el usuario real con el efectivo, pero poco más. Si nos fijamos donde están los ejecutables, veremos que solamente root tiene privilegios de escritura tanto en dichos directorios, como en los archivos contenidos. Dicho de otro modo, solamente root puede modificar dichos archivos. Esto es así en Unix desde los 70, en Linux desde sus orígenes, y en su Sistema de Archivos que soporte privilegios, aún no ha aparecido ningún error que permita otro comportamiento. ¿Cuántos ejecutables del Sistema de Archivos podría infectar como usuario común? Podríamos verificarlo escribiendo en una terminal lo siguiente:

find / -type f -perm -o=rwx -o \( -perm -g=rwx -group `id -g` \) -o \( -perm -u=rwx -user `id -u` \) -print 2> /dev/null | grep -v /proc

Los archivos de tipo fichero y con privilegios de ejecución que encontraremos no suponen un problema, ya que con frecuencia son enlaces virtuales que constan como que pueden leerse, escribirse y ejecutarse, y si un usuario lo intenta, nunca funciona. Este script puede demorar bastante, pero solo encontrara unos pocos archivos y subdirectorios, que tienen permiso para el usuario, los cuales serian imposibles de infectar.
Por lo que vemos, la única forma de propagar el payload es siendo root. En ese caso para que un virus funcione es necesario que los usuarios tengan siempre privilegios de administrador. En ese caso sí puede infectar archivos. Pero aquí viene la trampa: para transmitir la infección, necesita tomar otro ejecutable, mandarlo por correo a otro usuario que solamente emplee la máquina como root, y que repita el proceso.
En sistemas operativos donde es necesario ser administrador para tareas comunes o para ejecutar muchas aplicaciones diarias, esto sí se puede dar. Pero en Unix es necesario ser administrador para configurar la máquina y modificar los archivos de configuración, así que es escaso el número de usuarios que emplea como cuenta diaria la de root. Es más; algunas distribuciones de Linux ni siquiera tienen habilitada la cuenta de root.
Por ello, en Linux un ejecutable no puede infectar a otros siempre que no estemos usando la cuenta de root como cuenta de uso común; y aunque las compañías antivirus se empeñan en decir que hay virus para Linux, realmente lo más parecido que se puede crear en Linux es un troyano en área de usuario. La única forma de que estos troyanos puedan afectar algo del sistema es ejecutándolo como root y con los privilegios necesarios. Si solemos emplear la máquina como usuarios normales, no es posible que un proceso lanzado por un usuario común infecte al sistema.

Para poder afectar a un archivo en GNU Linux, un virus necesita el privilegio de lectura –hay que leerlo para modificarlo–, y de escritura –hay que escribirlo para que la modificación sea válida– sobre el archivo del ejecutable que quiere ejecutar. Esto es así siempre, sin excepciones. Y en todas y cada una de las distribuciones, los usuarios que no son root no disponen de estos privilegios. Luego simplemente con no ser root, la infección no es posible.

A la pregunta ¿Existen vulnerabilidades en sistemas Linux? la respuesta es ciertamente sí. Otra cosa es la ventana de vulnerabilidad que tiene un sistema Linux que sea actualizado adecuadamente. Si nos preguntamos ¿existen herramientas para aprovechar estos agujeros de seguridad, y explotarlos? Pues también sí, pero eso no son virus, son exploits. El virus debe saltar varias dificultades más que siempre se han puesto como un defecto/problema de Linux por los defensores de Windows, y que complican la existencia de virus reales –kernels que se recompilan, muchas versiones de muchas aplicaciones, muchas distribuciones, cosas que no pasan automáticamente de forma transparente al usuario, etc. Los teóricos “virus” actuales hay que instalarlos a mano desde la cuenta de root. Pero eso no puede ser considerado un virus.

Es cierto que existen antivirus para Linux buenos. El problema es que no hacen lo que los defensores de los antivirus argumentan. Su función es filtrar el correo que pasa de malware y virus para MS Windows, así como verificar la existencia de virus de MS Windows en carpetas exportadas vía SAMBA; con lo que si empleamos nuestra máquina con GNU Linux como gateway de correo o como NAS para máquinas MS Windows, podemos protegerlas.

El principal antivirus existente para GNU Linux es ClamAV. Bajo licencia GPL, compila para la mayor parte de las distribuciones disponibles del mercado. Está diseñado para analizar los adjuntos a los mensajes de correo que pasen por la estación y filtrarlos de virus.
Esta aplicación se integra perfectamente con sendmail para permitir el filtrado de los virus que puedan almacenarse en los servidores Linux que proveen de correo a las empresas; disponiendo de una base de datos de virus que se actualiza diariamente, es un proyecto vivo y muy interesante.
Este potente programa es capaz de analizar virus incluso en adjuntos en formatos más complejos de abrir, como pueda ser RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2, MS Cabinet files, MS CHM (HTML COmprimido), y
MS SZDD.
ClamAV soporta también mbox, Maildir, y archivos de correo en formato RAW, y ficheros Portable Executable comprimidos con UPX, FSG, y Petite.
La pareja Clam AV y spamassassin son la pareja perfecta para proteger a nuestros clientes MS Windows desde los servidores de correo Unix o GNU Linux.


Fuente: Santo Orcero David. (2008). Mitos y realidades: Linux y los virus. Revista Todo Linux, 90, 26-29.