Skip to main content

Articulo de seguridad en juegos

Page 1

La seguridad en los video juegos Ernesto Soto

Diego Zalles

DanithzaVargas

Calle 24 de Junio #10 Telf. +501 71008383

Av. Alemana Calle 11 #7 Telf. +591 76611322

Av. Canoto #111 Telf. +501 70442333

esotoroca@hotmail.com

diego.zalles@gmail.com

danithza_vp@hotmail.com

ABSTRACT El presente artículo hace una explicación de como la seguridad es un aspecto muy importante que los desarrolladores deben contemplar al momento de desarrollar video juegos. Para esto, se da a conocer los actuales mecanismos de seguridad existentes en los video juegos y las vulnerabilidades que presentan, así como se da algunas recomendaciones que consideramos adecuadas implementar a fin de maximizar la seguridad en los juegos.

1.

INTRODUCCION

La aparición de la computadora en la década de los 40, posibilitó que los genios tecnológicos de la época vieran en esta nueva tecnología una posibilidad hacia la creación de una nueva forma de entretenimiento y una fuente comercial. Es así que una vez que las computadoras comenzaron a introducirse en los hogares y en las vidas de las personas, no pasó mucho tiempo hasta que los primeros video juegos comenzaron a aparecer y ser ofrecidos a los usuarios, quienes recibieron esta nueva fuente de entretenimiento de una forma increíble convirtiéndola en muy poco tiempo en la forma de entretenimiento más importante para la sociedad actual y generado así una industria multimillonaria, donde han surgido un mundo de dispositivos y tecnologías que día a día salen al mercado cautivando a los consumidores. Sin embargo, esta industria de hardware y software que maneja miles de millones de dólares al año produciendo entretenimiento para la población, esta en un riesgo permanente, ya que existe un mundo paralelo de hackers y crackers que están constantemente al asecho buscando romper los canales de comercialización formales de esta industria para aprovecharse de la misma generando piratería y falsificación y revendiendo los productos a los consumidores a precios mucho más bajos. En este sentido y tomando en cuenta nuestra visión de desarrolladores de software a los cuales la piratería y falsificación nos afecta directamente, es que en este documento hacemos una evaluación de las plataformas tecnológicas que actualmente existen en el mundo del entretenimiento, revisando las medidas de seguridad que incorporan e identificando sus debilidades actuales, para en base a esto pasara a plantear nuevas alternativas de seguridad que permitan mantener el crecimiento de esta gran industria, así como se garantice el respeto y resguardo del trabajo intelectual de los desarrolladores.

2.

PLATAFORMAS

Uno de los muchos conceptos de video juegos que podemos encontrar, cita a este como “todo tipo de juego digital interactivo con independencia de su soporte”.

En esta definición, un tema muy importante que se menciona, es el hecho de que para utilizar un video juego necesitamos contar de forma obligatoria con un “soporte”, el cual se refiera a cualquier plataforma de hardware que incluya un dispositivo de entrada para manipular el juego, un procesador de gráficos y una vía de salida de imágenes para su visualización. Según esta definición es que hoy en día podemos encontrar como principales plataformas a: •

Arcades. Consisten en máquinas normalmente operadas por moneda (traga monedas) que se instalan en lugares públicos y donde cada máquina está diseñada para operar y ofrecer un juego particular.

•

Computadora. Consiste en utilizar un computador convencional como plataforma de juego, aprovechando los recursos de video y procesamiento del equipo para ofrecer al usuario una gran experiencia de juego.

•

Video consola. Se refiere a un sistema computacional personalizado y diseñado específicamente para juegos de video. Estos dispositivos incluyen algún medio electrónico de entrada de datos a través del cual se les puede suministrar diferentes juegos. A diferencia de las computadoras que son multipropósito, las consolas están diseñadas para aprovechar al máximo el hardware a fin de lograr la mejor experiencia de juego posible.

•

Dispositivo portátil. Esta clasificación incluye tecnologías móviles que han surgido los últimos años y las cuales se han aprovechado como plataformas de entretenimiento, ejemplos de estos soportes son el celular y las tabletas.

En todas estas plataformas se ha dado una evolución significativa a lo largo del tiempo, donde lo más destacado es el hecho de que los video juegos han pasado de ser productos físicos basados en el hardware a productos orientados al servicio basados en el software. Es decir, en los inicios, los video juegos estaban estrechamente ligados al hardware, donde por ejemplo, un juego venia incorporado en una placa la cual era específica para un tipo de hardware, mientras que hoy en día los video juegos son productos de software que incluso pueden ser accedidos a través de Internet. En este sentido, la llegada del Internet y de las conexiones de alta velocidad dio paso a que las plataformas no solo posibiliten la creación de juegos 1 Standalone, sino que también surjan nuevas vías de acceso a los juegos las cuales permitan a los 1

Programa computacional que puede ser ejecutado fuera de línea y que no requiere una conexión de red para funcionar.


jugadores interactuar con otras personas a través de Internet (Juegos Online o Community Networks).

De esta forma, los juegos online y las comunidades de juego, ahora dan la posibilidad a que los hacker busquen:

Sin embargo, el cambio de los juegos del hardware al software, la gran variedad de plataformas y las nuevas vías de acceso trajo consigo también la dificultad de mantener la seguridad en las aplicaciones de entretenimiento para evitar que hackers y crackers consigan vulnerar los video juegos restando valor a los ingresos percibidos por esta industria o incluso poniendo en riesgo y comprometiendo los datos personales de los consumidores (los usuarios).

1.

Penetrar las comunidades de juego para el robo de datos de usuarios y su posterior utilización de forma no autorizada (ejemplo envíos de SPAM).

2.

Hackear las cuentas de usuarios de juegos online o los servidores de comunidades de juego a fin de robar información financiera como datos de tarjetas de crédito.

3.

Hackear las cuentas de usuarios con el objetivo de acceder a datos de acceso (usuarios y contraseñas) utilizando estos para penetrar otros servicios.

3.

PRINCIPALES AMENAZAS

Para analizar los tipos de amenazas de seguridad a los cuales pueden estar sujetos los video juegos, hemos decidido analizar 2 tipos de plataformas de juego: las consolas y las computadoras. Se han seleccionado estas plataformas, tomando en cuenta que hoy en día estas ocupan los 2 primeros lugares como soportes de entretenimiento preferidos por los consumidores ya que de acuerdo a la encuesta realizada por la empresa S2 Group en diciembre del 2011, el 70% de los encuestados afirmaron utilizar su PC para jugar, mientras que un 38% de los encuestados utilizan una consola de video juegos.

Un ejemplo de esto último es el hecho de que muchas personas utilizan sus mismos usuarios y contraseñas para diferentes cuentas (acceso a la computadora, cuenta de correo electrónico, cuenta bancaria, etc.) 4.

Hackear cuentas de usuario con el fin de demostrar su habilidad.

Todo este tipo de amenazas presenta un nuevo reto a los desarrolladores de juegos, quienes ya no buscan únicamente proteger su software contra la piratería, si…no que ahora también se tienen que preocupar en el resguardo de los datos de sus consumidores.

4.

MEDIDAS DE SEGURIDAD

Algunas medidas de seguridad que utilizan actualmente los desarrolladores de video juegos contra las amenazas antes mencionadas son las siguientes: •

Protección de seriales. La seguridad de los seriales incluye en trabajo de Ingeniería Social en la protección de los seriales, Cifrado de Datos. Comprobar los certificados de seguridad de la página en que se encuentra.

•

Protección por hardware. La seguridad del hardware se refiere a la protección de objetos frente a intromisiones provocadas por el uso del hardware. A su vez, la seguridad del hardware puede dividirse en seguridad física y seguridad de difusión. En el primer caso se atiende a la protección del equipamiento hardware de amenazas externas como manipulación o robo. Todo el equipamiento que almacene o trabaje con información sensible necesita ser protegido, de modo que resulte imposible que un intruso acceda físicamente a él. La solución más común es la ubicación del equipamiento en un entorno seguro.

•

Protección de las consolas. Se han utilizado diversos sistemas para proteger las consolas a lo largo de lo años, todos ellos sin éxito por desgracia. Por ejemplo tenemos la protección “juegos en cartucho”, que usaba Nintendo 64 o las antiguas Megadrive y SuperNintendo (esas a la fuerza más bien), la cual se saltaba con el aparato “copión” (algo caro, eso sí). PSX, PS2 y Xbox One tenían protección interna que se evitaba con un disco de carga o acoplándoles un chip para mejores resultados. GameCube fue un hueso más duro, su extraño formato Mini-DVD y la dificultad para abrir la consola puso en jaque a los piratas, aunque finalmente cayó con el típico modchip. Tiempo después para la Dreamcast también utilizó un formato único llamado GDROM, pero incomprensiblemente la consola leía también los CD’s convencionales (error no cometido en GameCube) y el pirateo fue de risa. No hizo falta disco de carga (pasado un

Ilustración 1: Paquete de dispositivos Fuente: http://www.s2grupo.es, del blog de Seguridad Security Art Work, http://www.securityartwork.es Tomando en cuenta estas 2 plataformas, podemos ver que los principales tipos de amenazas a los cuales estaban sujetos los juegos hasta hace unos años eran: 1.

Venta ilegal. Donde los hackers buscaban crackear los video juegos, saltando las protecciones anti copia y generando así un negocio de reventa ilegal.

2.

Crackeo por diversión. Donde los hackers realizaban ingeniería inversa a las aplicaciones a fin de conocer su código y entenderlo para así obtener ventaja a través de la utilización de trampas, mejorar su nivel o mejorar el juego incorporando mayor dificultad o más niveles.

3.

Crackeo mal intencionado. Donde los hackers modificaban el comportamiento de un juego para incorporar virus o malware que sea ejecutado automáticamente sin el consentimiento del jugador.

Estos tres tipos de amenazas hasta hace poco eran el centro de atención y la gran preocupación de los desarrolladores de juegos de software, sin embargo, con la llegada del Internet, y debido a que ahora los dispositivos no se encuentran aislados entre sí, sino que se interconectan, nacen nuevos tipo de amenazas que permiten a los hackers tener un nuevo punto de atención orientado al robo de información de los jugadores.


•

tiempo), ni chip ni nada, tan sólo las copias en CD. Actualmente el sistema ha cambiado de modo que Xbox 360 o Wii protegen su lector mediante el firmware, pero también sin éxito. La primera y única que se mantiene a salvo de la piratería ha sido PS3, gracias a su seguridad interna y en especial a su soporte Blu-Ray, que entre otros motivos implicaría un pirateo caro. •

Gameguard. nProtect GameGuard (a veces llamado GG) es un programa anti-trampas desarrollado por INCA Internet. Se instala junto a muchos juegos asiáticos en línea (MMORGP) como Lineage II, 9Dragons, Cabal Online, Phantasy Star Universe, Gunz: The Duel, Flyff, PangYa y Ragnarok Onlinepara bloquear aplicaciones maliciosas y métodos comunes de trampas. nProtect GameGuard provee B2B2C (Negocio a Negocio al Consumidor) servicios de seguridad para compañías de juegos online y portales de Internet.

De igual forma, para vulnerar estas verificaciones los hackers analizan el código original del programa, detectando los lugares desde donde se disparan las validaciones de autenticidad del juego y una vez encuentran las llamadas a las validaciones, incorporan saltos a ese código para evitar que sea invocado o modifican el algoritmo de validación para que retorne un resultado válido al juego y así este crea que el mismo es original. •

GameGuard oculta el proceso de la aplicación del juego, monitorea el rango entero de la memoria, termina aplicaciones definidas por el proveedor de juegos e Internet INCA, que son trampas. •

Comunicaciones seguras. Tener conexiones seguras en los operaciones transaccionales, un servidor seguro utiliza el protocolo SSL (Secure Socket Layer), que se activa siempre al entrar al servicio, estableciendo una conexión de modo que la información se transmite cifrada mediante algoritmos de 128 bits, que aseguran que sólo sea inteligible para el ordenador del cliente y el servidor.

Algunas formas de vulneración que utilizan son: •

Crackeo de software. Un crack es un parche que se elabora con el objetivo de modificar el comportamiento original del software. Los cracks son desarrollados sin la autorización del autor del programa y normalmente buscan algunos de los siguientes objetivos: •

Activar juegos gratuitamente. Como ya vimos en el punto 4 una de las medidas de seguridad que los desarrolladores incorporan en los video juegos, es el uso de claves de activación (números seriales), las cuales sirven para restringir la instalación o uso del juego hasta que no se ingrese una clave válida. Para evitar esta limitación, los hackers modifican el flujo original del programa haciendo que el mismo acepte una clave falsa u omita el paso de verificación del serial a fin de que el juego quede completamente activado.

Liberar limitaciones o periodos de prueba. Muchas veces los desarrolladores de software, distribuyen o permiten la descarga de versiones de prueba “shareware” de los juegos, las cuales permiten utilizar el juego por un periodo de tiempo determinado o con una funcionalidad reducida hasta que el usuario proceda a comprar el mismo. Este tipo de versiones también son muy susceptibles a los hackers quienes modifican el código original del juego a fin de eliminar todas las restricciones o validaciones que existan.

•

5. PRINCIPALES VULNEARBILIDADES Por más que las empresas desarrolladoras de software trabajan arduamente en incorporar en los video juegos medidas de seguridad, hoy en día los hackers se las arreglan para romper esa medidas y lograr su cometido, es así que han desarrollado técnicas tanto físicas (a nivel de hardware), como lógicas (a nivel de software) que vulneran la seguridad de los juegos y logran causar daño tanto a los usuarios como a los fabricantes de software.

Activar juegos fraudulentos. Existen juegos que permiten instalarlos, pero al utilizarlos, en cualquier momento disparan una verificación para validar que el software es original. En caso de detectar que no es original, muestran al usuario un mensaje o advertencia informándole que se encuentra usando un software fraudulento.

Introducir malware en un software. El malware se refiere a código malicioso que tiene el objetivo de infiltrarse en una computadora sin el consentimiento del propietario. El malware puede ser incorporado a un software bueno, permitiendo que al ejecutar el software el malware se ejecute de forma automática y sin nuestro consentimiento.

•

Flashear la consola. Si hablamos de un juego de consola, como ser Xbox o PlayStation, la vulnerabilidad que podemos encontrar es el flasheo de la consola. El flasheo se refiere al cambio de firmware que se le realiza a la unidad de DVD de la consola a fin de evitar que esta lea los security sectors de los juegos, validando si estos son originales o no. El trabajo de flasheo es un trabajo que involucra tocar la consola a nivel de hardware (desarmar la consola), así como realizar un trabajo de actualización de software a fin de actualizar el firmware del lector. Esta vulnerabilidad es tan conocida y fácil de realizar, que podemos encontrar muchos tutoriales disponibles en internet que muestran como realizar este trabajo. Ejemplo de esto, es el siguiente vínculo en el cual se presenta un video tutoríal muy completo sobre como flashear un Xbox 360. http://www.youtube.com/watch?v=NeaeTTwzZ-4 Una vez una consola ha sido flasheada, esta permitirá utilizar la misma para jugar cualquier juego que se le introduzca, no importando si este es original o no.


•

Robo de cuentas. Un tipo de vulnerabilidad que existe y afecta de forma amplia a los juegos en línea, corresponde a la utilización de herramientas para el robo de cuentas.

El objetivo de usar un desensamblador, es encontrar la posición de memoria que se encarga de la toma de decisión sobre si un serial introducido es correcto o incorrecto.

Este tipo de ataque es muy simple de utilizar, requiere un conocimiento mínimo y es altamente efectivo para que el atacante se apodere de las cuentas.

Un muy buen programa desensamblador que podemos utilizar es el W32DSM89.

Algunas herramientas disponibles que se pueden utilizar son: •

Keyloggers. Los keyloggers permiten al atacante capturar toda la información que la víctima escribe a través de su teclado, pudiendo así capturar datos de acceso (usuario, contraseña), como también datos financieros (número de tarjeta de crédito) que podamos utilizar en nuestros juegos. Algunas formas en las cuales podemos ser víctimas de un ataque por esta vía son: o

Accediendo a juegos desde computadoras públicas o de otras personas.

o

Siendo víctimas de un 2troyano a través del cual se instale un keylogger en nuestro equipo.

Un ejemplo de keylogger es el software Local Keylogger. •

Sniffers. Los sniffers son programas que capturan los paquetes de datos que circulan por una red, permitiendo analizar el tráfico y proporcionando información sobre que paquetes se mandan, que datos contienen y quien los manda y recibe. De esta forma, si utilizamos una red pública (por ejemplo la conexión wifi de un café) para jugar y esa red tiene un nivel de seguridad muy bajo, es posible que podamos ser sujetos a ataques de personas que se encuentren olfateando (sniffing) la red, capturando los paquetes que enviamos y accediendo a nuestros datos confidenciales (usuarios, contraseñas y datos financieros). Un ejemplo de un software de sniffing es WireShark el cual actualmente es uno de los sniffers más poderosos disponibles de forma gratuita.

6.

Ilustración 3: Visualización de un programa a través de W32DSM89. En el gráfico 1, por ejemplo, podemos ver un programa visualizado a través del W32DSM89 en el cual se muestra en color turquesa el texto que se presenta al usuario cuando introduce un serial incorrecto, así mismo, en el recuadro rojo se muestra la referencia a la posición de memoria donde se encuentra la condición que determina si aceptar el serial como válido o no. La siguiente herramienta que necesitamos para hackear un programa es un editor Hexadecimal, el cual, nos permita modificar “en caliente” nuestro juego, viendo la estructura de sus posiciones de memoria y pudiendo modificar las acciones que existen en cada posición para así alterar el funcionamiento del programa. Un programa ideal para esta operación es Hiew32, este editor nos permite buscar una posición de memoria de nuestro programa y alterar la instrucción que existe en la misma. Este trabajo de edición se realiza a través de un formato hexadecimal.

EJEMPLO

Para demostrar lo fácil que es actualmente vulnerar la seguridad de un juego, a continuación mostraremos como con solo dos herramientas podemos fácilmente crackear cualquier juego. Lo primero que necesitamos es un software desensamblador. Un software desensamblador es aquel que como su nombre lo indica, me permite des ensamblar un programa independientemente del lenguaje en el que haya sido desarrollado, pudiendo así visualizar su código en lenguaje assembler.

2

Software malicioso que se presenta al usuario aparentemente como un programa legítimo e inofensivo, pero que al ocasionarlo causa daño.

Ilustración 2: Visualización de un programa a través de Hiew32 En el gráfico 2, por ejemplo, podemos ver que se ha buscado la dirección de memoria .0041D070 en la cual se encuentra la


instrucción: 0F849E000000, instrucción que hace referencia a una condición que en caso de cumplirse manda al programa a la posición de memoria: .00041D114.

que evita que se pueda alterar su código o introducir código que no estaba originalmente definido. Una empresa que ofrece este tipo de soluciones es nProtect, la cual ofrece un programa llamado GameGuard el cual proporciona la funcionalidad antes mencionada.

De esta forma, si quisiéramos alterar el programa y evitar que se entre a la dirección de memoria .00041D114 solo bastaría modificar la instrucción para que se invierta el condicional. Con solo realizar esto anterior a través de estas 2 herramientas, tendríamos nuestro programa crackeado y listo para ser utilizado sin necesidad de adquirir el serial y habiendo vulnerado en menos de 10 minutos toda la seguridad del programa y los esfuerzos de los programadores por evitar la piratería del mismo.

7.

3.

Esta herramienta consiste en un software que implementa técnicas de hackeo multi nivel para evitar que hackers o crackers puedan realizar ingeniería inversa de nuestros programas, haciendo que aplicar ingeniería inversa sea como ver un inmenso rompecabezas totalmente desarmado.

RECOMENDACION

A lo largo de este artículo hemos analizado los tipos de plataformas de juegos que existen, los tipos de amenazas que las aquejan, así como las medidas de seguridad que se incorporan y como los hackers y crackers las evaden fácilmente ocasionando perdidas millonarias a la industria de los video juegos, así como a los consumidores. ¿Pero qué podemos hacer nosotros los desarrolladores para evitar que esto siga sucediendo? Algunas alternativas que se nos vienen a la mente y que las dejamos a su consideración son: 1.

La primera alternativa que se nos ocurre que podría reforzar la seguridad en los juegos, aplica tanto para las consolas de juego como para las computadoras, y consiste en obligar a que mientras utilicemos el juego, debamos tener una conexión de Internet. Con esta medida se podría establecer un mecanismo de comunicación entre el juego y el servidor de la compañia, donde el juego requiera datos que se descargan constantemente de internet para poder continuar con el juego, y que ante ausencia de comunicación con el servidor el juego no pueda seguir operando. Si bien esta medida creemos que puede reforzar de forma considerable la seguridad en los video juegos, ya que disminuiría de forma sustancial la posibilidad de que se crackee los juegos o de que se flashee las consolas, el problema que traería sería la dependencia de una conexión a Internet para disfrutar del juego. Si bien esto último puede ser una limitante importante, la cobertura de internet que actualmente existe y la expansión por la que está atravesando puede ser que posibilite que este tipo de medidas de seguridad no sean realmente una limitante.

2.

Otra alternativa que más allá de una recomendación es ya un hecho, consiste en utilizar programas de protección de juegos. Estos programas permiten que como desarrolladores incorporemos en los juegos subprogramas que se encargan de monitorear e impedir que nuestros juegos sean susceptibles a troyanos, alteraciones de código o incluso intentos por efectuar trampa en el juego. La forma en que funcionan estos subprogramas es ocultando el proceso de la aplicación del juego y monitoreando el rango entero de la memoria, de forma

Para terminar, la última alternativa que dejamos a su consideración, consiste en el uso de un software de encriptado de código.

8.

REFERENCIAS [1] Informe Seguridad en juegos online 2011 – S2 Group

http://www.s2grupo.es [2] Blog de seguridad - Security Art Work http://www.securityartwork.es [3]Como crackear un software http://web.textfiles.com/computers/bburn1.txt [4] Encripción de software http://www.crypkey.com/products/stealth.php [5] Artículo Seguridad en consolas –NY Times http://www.nytimes.com/2011/04/28/arts/videogames/sony-playstation-security-flaw-tests-consumertrust.html?_r=1 [6] Información sobre video juegos – Wikipedia http://es.wikipedia.org/wiki/Videojuego


Turn static files into dynamic content formats.

Create a flipbook