Los errores de la programación en las películas PT 3

0 369

En este nuevo episodio de Code Time continuemos con el camino de la programación y damos cierre a esta serie de capítulos enfocados al mundo del cine y la programación. Hasta ahora tratamos sobre temas dentro de todo generales. Hoy en particular nos centraremos en algunos errores relacionados con los “virus” y los superpoderes de los “hackers”.

Nota: Antes de continuar les recordamos que esta es una continuación de una serie. Por lo que les recomendamos leer la nota anterior y escuchar su respectivo podcast. Si están interesados en hacerlo les dejamos este enlace directo.

Listen to “Code Time (84): Errores de la programación en las películas pt 3” on Spreaker.

Los virus siempre hacen algo visual

La computación ha evolucionado mucho a lo largo de las últimas décadas y se han visto transiciones impresionantes. Una de ellas es la que permitió el uso masivo de los ordenadores mediante el reemplazo de las CLI por las GUI. Simples botones, imágenes, íconos y menús dieron lugar a una simplicidad de uso sin precedentes.

Parece que esta moda se ha extendido tanto que los desarrolladores de software se ven obligados a que sus virus hagan tareas visuales como abrir ventanas, mostrar mensajes, etc.

Esto es algo que nuestros queridos personajes del “lado del bien” aprovechan como sistema de seguridad. Siempre es bueno saber que alguien está copiando nuestra información mediante una ventana que dice “Copiando archivos a servidor”. Y ¿cómo olvidarse del típico “Acceso Denegado” o “Acceso Concedido”?. Personalmente me imagino a los desarrolladores de sistema o programas plantearse “ahora tenemos que poner un cartel que diga access granted por si alguien se mete en nuestro sistema y ya que estamos que sea con letras muy grandes para que se vea bien”.

Aunque para algunos suene como algo loco las computadoras no hacen lo que la pantalla les muestra sino todo lo contrario. Desempeñan tareas y si lo consideran necesario, esto es en base a lo que el programador se plantee, muestra algo. De hecho tareas como abrir una ventana o imprimir algo en pantalla son relativamente costosas con respecto a realizar un procesamiento genérico. Los desarrolladores sabrán entender lo que digo.

Seguridad de software vulnerada

Los virus suelen hacer cosas tontas

Esto está estrechamente relacionado con lo que acabamos de mencionar. Los hackers desarrolladores del lado del mal hacen incluso más trabajado de lo normal. Muestran calaveras, mensajes de burla, emiten sonidos, etc. Esto por no mencionar el hecho de que las tareas que realizan son muy evidentes y no saben camuflarlas.

Por ejemplo imaginemos alguien que quiere hacer una copia de una lista de archivos que pesan 1GB en total. Los ciberdelincuentes no pueden refrenar las ganas de hacer esto de una sola vez. De esta forma el ancho de banda se ve consumido en su totalidad por no mencionar el consumo de recursos del sistema. Una forma basada en el sentido común sería tener un script simple el cual copie las cosas lentamente, similar a como funciona bittorrent. Finalmente el resultado será el mismo salvo que las posibilidades de que un usuario normal detecte este último ataque es muchísimo más bajo que haciendo lo primero.

Virus en acción

Los virus tienen superpoderes

Es curiosa la capacidad que tienen los programas hoy en día. Llegan a hacer cosas maravillosas como almacenar terabytes de información en simples pendrives que cualquier persona puede comprar por menos de cien dólares. Hacer un seguimiento que requeriría supercomputadoras como las que empresas como Google o Facebook poseen mediante simples laptops. Y así podríamos seguir porque incluso vemos capacidades como afectar al mundo físico. Procesar cierta información puede llevar a un ordenador a arder en llamas. Esto no tiene mucho sentido que digamos salvo que los fabricantes hayan dotado de tanques de gasolina a cada dispositivo del mundo sin que nadie se haya percatado.

Todo es compatible con todo

La tecnología plug and play ha facilitado mucho las cosas desde hace ya muchos años. Esta ha permitido utilizar los dispositivos simplemente con conectarlos. Ejemplos abundan como ser los pendrives, mouse, teclados, unidades lectograbadoras, etc.

El problema de las películas a este respecto es que presuponen que todos los sistemas operativos funcionan de la misma manera, cosa que es totalmente errónea.

Esta es la misma razón por la cual los virus para Windows no afectan a sistemas Apple o Linux. Los binarios no compatibles. De hecho para los mismos usuarios de Linux saben muy bien que muchas veces para realizar una instalación es necesario compilar el código fuente para garantizar que los binarios funcionen correctamente. Aunque si hay que remarcar que muchas veces el software que permite ejecutar un mismo binario en distintos sistemas puede llevar a agujeros de seguridad (flash, java, entre otros).

Para Hollywood esto parece trivial ya que un .exe es perfectamente ejecutable en servidores linux y así. Gracias a esto realizar hackeos o ciertas tareas ocultas resulta algo muy sencillo. Aunque es lindo ver un mundo donde una versión diferente del controlador no genera un caos.

Las computadoras tienen que ser controladas por el teclado

Aquí haré un paréntesis ya soy partidario de esta forma de trabajar. El uso del teclado, a diferencias de lo que muchos creen es mucho mas eficiente para realizar la mayoría de tareas. Como contraparte es importante recalcar que aprender cada comando útil requiere de su buen tiempo y no es algo que resulte tan trivial como el uso del mouse.

¿Dónde está la ventaja del teclado? Simple: en el uso de atajos. Esto que podría no parecer mucho permite seguir interactuando con el sistema sin necesidad de quitar las manos del teclado para llevarlas al mouse, utilizarlo y volver. Esto que parece poco en realidad lleva a pérdidas de tiempo individualmente son pequeñas pero a la larga se convierten en una cifra significativa.

Entiendo que no sea perceptible a simple vista pero los que trabajan con computadoras saben muy bien que cuanto menos muevan las manos más cosas podrán hacer.

El problema con este punto es que las películas exageran este aspecto hasta puntos ridículos. No hay que sorprenderse si en estas “realidades” una sola persona es capaz de manejar dos computadoras al mismo tiempo como si fuesen una. Manipulan imágenes, muestran y ocultan ventanas. Consolas se desplazan y muestran un listado de datos que el “hacker” puede interpretar con una simple leída y así podemos seguir. Y como último detalle a esto se le agregan comentarios en voz baja como ser “Sólo necesito pasar por alto el algoritmo de cifrado en el mainframe”, “Estoy por redireccionar el puerto” entre otras cosas sin sentido.

GUI Futurista

Realizar tareas de hacking requiere de software exótico

La pantalla de los “hackers” durante su trabajo son mostradas como una combinación de cosas negras, verdes, azules y rojas. Todo es deslumbrante. Pero las cosas no se detienen allí. También muchas de estas se basan en interfaces de usuarios futuristas, con pantallas táctiles, hologramas, gráficos de alta calidad, etc.

Este tipo de interfaces además las podemos ver en el mundo real en publicidades de empresas a la hora de querer dar una imagen de innovación. Compañías de seguros se encargan de mostrar que sus empleados revisan gráficos en tiempo real con estadísticas avanzadas. Es verdad que tener en cuenta los números es muy importantes pero la idea del desarrollo de software no es crear cosas que visualmente sean alucinantes sino funcionales.

Las personas que trabajan en el desarrollo, más que nada en bajo nivel. abandonan poco a poco las herramientas visuales para reemplazarlas con utilidades en base a consola. En ciertos casos de hecho desactivan la carga del administrador de ventanas para emplear la terminal por defecto como se hacía hace ya tiempo atrás.

Como se habló en varios episodios hace cierto tiempo en Code Time, el poder expresivo de una consola es mucho mayor y además acarrea la ventaja de un consumo de recursos mucho menor. Herramientas de este tipo se ven por ejemplo con editores como nano, emacs o vim, y utilidades mismas de los sistemas operativos.

Esperamos que hayan disfrutado  de esta serie sobre los diversos malos entendidos entre el cine y el mundo de la programación. No se olviden que su opinión es importante para nosotros por lo que los invitamos a dejarnos un comentario.

Aprende a desarrollar aplicaciones para iOS 11
Mis medios de contacto

Twitter    Gmail

Contenido

Spreaker    iTunes    Ivoox    Canal de Telegram    Soundcloud    Youtube

Comentarios
Loading...

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. AcceptRead More

Privacy & Cookies Policy