Si no eres un Rock Star de la seguridad informático y Cyber te sugiere una sidra fresquita, entonces, debes de andar acojonado. Todo el mundo se esfuerza por asustar a la población con historias de miedo, muchas de ellas bastante fantásticas. Mú triste. Bueno, pues si no eres más que un mero mortal y quieres enterarte de que es eso de los CyberLoQueSea, sigue leyendo.
Hace ya algunas años, en los albores del siglo XXI (como se te queda el cuerpo al oír eso umh? :) ya vivimos un momento similar. En aquella época, se produjo un épico ataque a Yahoo (empresa mucho más relevante por aquella entonces) y de repente todo el mundo comenzó a hablar de hackers (MAL... como veremos en un momento). En aquella época me encargaron que escribiera una serie sobre seguridad informática en la revista Solo Linux... y parece que va siendo hora de revisar aquella serie de artículos y poner un poco de calma en los aparentemente convulsos tiempos que estamos viviendo.
■
Por qué les llaman Hackers cuando quieren decir Criminales?
Sí, amigos mortales, pasó entonces y sigue pasando ahora. La gente no aprende y, a estas alturas resulta frustrante seguir oyendo y viendo como muchos medios de comunicación siguen usando de forma incorrecta la palabra HACKER. Así que lo primero que tenemos que tener claro es que un Hacker no es, un delincuente... Es como decir que Español y delincuente son sinónimos... los hay que sí, y los hay que no, pero son dos cosas totalmente diferentes... Un hacker es una persona apasionada por la tecnología y que disfruta aprendiendo todos los detalles sobre ella, llevándola al extremo y, en muchas ocasiones, siendo capaz de utilizar de formas que no habían sido previstas inicialmente. De hecho, en muchas ocasiones, esto se extiende incluso más allá del ámbito tecnológico...Bueno, esto es a groso modo, si alguien quiere leer una definición más completa, puede consultar este enlace. En general, el término utilizado tradicionalmente para referirse a los delincuentes informáticos que utilizan conocimientos técnicos para actividades ilegales, es Cracker. Durante los últimos años, especialmente la prensa no especializada (no como nosotros LoL) ha estado utilizando sistemáticamente el término de forma incorrecta. Y, si me lo preguntáis ahora, para mi esta es una lucha perdida. Otra gente parece que llegó a esa conclusión antes que yo y empezó a acuñar términos alternativos para intentar mantener a la comunidad hacker separada del mundo criminal. Así os podéis encontrar términos como White Hat Hacker (hacker de sombreo blanco) o Hacker ético, para referiros a la acepción original en el ámbito de la seguridad informática, y Black Hat Hacker (hacker de sombrero negro), o Dark-Side Hacker (hacker del lado oscuro), para referirse a los Crackers de toda la vida. Al final, lo que importa es que quede claro que un Hacker no es un delincuente y gracias a muchos Hackers, hoy en día tenemos cosas como Linux, todas la herramientas de GNU, routers más seguros, servidores web por todo el mundo y otras muchas maravillas.Cuidado no te hackeen
Cuantas veces habrás oído algo así recientemente?. Historias de miedo contadas en la televisión donde mágicamente un tipo controla tu ordenador o tu teléfono de porque sí. Da mucho miedo no?. Pues bien, si y no. Nuestra misión en esta serie de artículos es explicaros como funcionan esas cosas (que si que las hay) para que, una vez las entendáis, dejen de funcionar... que tampoco son pá tanto. Y para esta primera entrega, vamos a explicaros, como funciona un ordenador... pero para meros mortales eh?... nada de rollos técnicos incompresibles.Ordenadores
Bueno, como todos sabréis, un ordenador no es más que una máquina electrónica. La peculiaridad de estas máquinas es que, en lugar de hacer una única cosa cuando las encendemos, son capaces de hacer distintas cosas. La forma de decirle que es lo que queremos que hagan es mediante los denominados programas... o el Software como les gusta llamarlo a los anglosajones. Esta idea la debería tener todo el mundo muy clara. Las apps de vuestro móvil son programas, la página web para configurar vuestro router de casa es generada por un programa, el explorador que utilizáis en vuestro ordenador o tablet para navegar por Internet es otro programa. Está claro no? Todos esos ejemplos que acabamos de poner es lo que se conoce habitualmente como aplicaciones. Son programas destinados al usuario final para hacer alguna cosa concreta. Sin embargo hay un nivel inferior que permite que todas esas aplicaciones de usuario funcionen correctamente. Lo que se conoce como sistema operativo. El sistema operativo es el programa que maneja el ordenador al más bajo nivel. Es el que sabe como hacer que la tarjeta de red envíe datos, o como decirle al disco duro que queremos leer o escribir algo. La diferencia fundamental entre las aplicaciones y los sistemas operativos es que los sistemas operativos pueden hacer cosas que las aplicaciones no pueden. Como os podéis imaginar esto es bastante más complicado, pero para el tema que nos ocupa, esta clasificación es más que suficiente.Usuarios y Permisos
Como acabamos de decir, el sistema operativo es un programa especial que puede hacer prácticamente lo que quiera con el ordenador. Tiene control absoluto. Las aplicaciones por su parte no pueden hacer lo que quieran, sin embargo, pueden pedirle al sistema operativo que haga cosas por ellas. Lo que esto significa es que, las aplicaciones podrían hacer lo que quieran, simplemente pidiéndoselo educadamente al sistema operativo. Para solucionar este problema, los sistemas operativos modernos han introducido el concepto de usuarios y permisos. Así, el sistema operativo puede seguir haciendo lo que le de la gana, pero cuando una aplicación le pide que haga algo, el sistema operativo va a comprobar qué usuario está ejecutando la aplicación y si tiene los permisos adecuados, o si la aplicación misma tiene esos permisos (como ocurren con dispositivos Android). Así, en la mayoría de sistema operativos hay ciertos permisos que solo tienen algunos usuarios/aplicaciones privilegiados. Lo que esto significa es que ahora, el sistema operativo ya no va a hacer lo que la aplicación le pida a no ser que la aplicación (o el usuario que la ejecuta) tenga permiso para ello. Y esta es la razón por la que no se debe trabajar en un ordenador con un usuario privilegiado de forma habitual.... que no lo pillas?... veámos un ejemplo. Nota: Esto es todo un poco más complejo hoy en día, pero ahondar en esos detalles no va a aportar gran cosa a los conceptos generales, así que vamos a dejarlo así por el momento.Soy Groot
Los sistemas operativos GNU/Linux utilizan un usuario especial llamadoroot
(bueno, esto está paulatinamente cambiando, pero por ahora nos vale). Otros sistemas operativos le dan otro nombre (Administrador
por ejemplo). Este tipo de usuarios, normalmente, pueden hacer lo que quieran. Se trata de usuarios especial que solo se deben utilizar para tareas de mantenimiento como configuraciones del sistema operativo, por ejemplo.
Una de las cosas que puede hacer el usuario root
es acceder a todo el disco. Mientras que un usuario normal, solo puede acceder a ciertas partes del disco, y para muchas de ellas solo puede leer datos pero no le está permitido escribir nada.
Ahora imaginemos que se nos cuela un virus. Un virus no es más que una aplicación. En concreto es una aplicación bastante güay que es capaz de copiarse dentro de otras aplicaciones y de esa forma reproducirse e incluso pasar a otros ordenadores. Técnicamente un virus es un programa muy interesante, pero a efectos prácticos, lo que el programa tiene que hacer es acceder al disco para buscar otros programas y copiarse dentro de ellos (escribir en el disco).
Vale, tenemos un virus en nuestro ordenador. Supongamos que es un virus de los cutres, uno de los que el usuario tiene que ejecutar (como cualquier otra aplicación).
Que pasaría si el usuario de ese ordenador estuviera trabajando como root
?. Ahá, lo habéis pillado no?. Una vez que el usuario ejecute el virus (ya hablaremos más adelante de como esto puede pasar), el virus, que no es más que una aplicación, se va a ejecutar con permisos de root
, lo que significa que le podrá pedir al sistema operativo acceder a todo el disco y, por tanto, infectar todos los ficheros del sistema.
Por el contrario, si en lugar del usuario root
estuviéramos utilizando un usuario normal, el virus solo podría infectar los ficheros de ese usuario. No podría infectar ningún programa del sistema, ya que no tendría permiso para escribir en la parte del disco en la que se encuentran esos programas, y no podría infectar ningún fichero de otros usuarios.
Malware
Este parece un buen momento para introducir un nuevo término: Malware. Como os podéis imaginar, el palabro es la contracción de Malo y ware (como enSoftware
) y se utiliza para referirse a cualquier programa que tenga fines malévolos. Aquí tenéis una lista no exhaustiva de los más comunes:
- Virus. Acabamos de hablar de ellos. Los virus son programas capaces de copiarse dentro de otro programa, de forma que, cuando el usuario ejecuta un programa infectado, el virus vuelve a ejecutarse y a infectar más programas. Hay multitud de tipos de virus, pero ya hablaremos de ellos en detalle en una próxima entrega.
- Gusanos (worms). Un gusano es un programa que es capaz de moverse a través de una red. Estos programas son capaces de pasar de un ordenador a otro y, en general, en cada ordenador por el que pasan hace alguna maldad.
- Caballo de Troya (Trojan). Un troyano o caballo de Troya, es un programa que parece que hace una cosa, pero realmente hace otra. O mejor dicho, además de lo que parece que hace, el programa hace algo más. Como el caballo de Troya de toda la vida de siempre, vamos.
- Troyano de acceso remoto (RAT).. Son una combinación de un programa de control remoto y un troyano. El troyano engaña al usuario para que ejecute el programa que en realidad lo que hace es habilitar el acceso remoto a esa máquina, permitiendo que un atacante tome el control de la misma.
- Ransomware. Del inglés Ransom que significa aleatorio... que no, que és coña, significa secuestro. Estos programas, van a cifrar nuestros ficheros de datos y pedir un recate para recuperarlos. Muy de moda hoy en día.
- Bombas Lógicas. De estos no hablan mucho en la tele. Una bomba lógica es un programa que permanece latente hasta que una cierta condición de cumple, por ejemplo, una determinada fecha. En ese momento se ejecuta y hace lo que tenga que hacer
De vuelta a Hogwarts
Sí, si... todo el mundo habla de estas cosas como si fueran mágicas. Bienvenidos a la Edad Media... LOL... Dicen los entendidos que puedes saber si alguien es un cracker, sumergiéndolo en aguas frías... Ay, estas empresas de alta tecnología que todavía creen en cuentos :) La verdad es que, todo esto, no tienen nada de mágico. En el mundo real, cualquier malware, o, mejor dicho, cualquier programa en general, tiene que ser ejecutado por alguien para funcionar. Los programas no deciden ejecutarse ellos mismos sin más y de repente empiezan a funcionar en cualquier ordenador que ande por ahí. No, la magia no existe, aunque a muchos les encante sugerir lo contrario. Así que hay dos formas fundamentales de ejecutar un programa:- Que el usuario ejecute el programa
- Que otro programa ejecute el programa (y aquí es donde encontramos algunas formas bastante ingeniosos de conseguirlo)
Malware... qué malware?
Hablaremos largo y tendido sobre malwares y antivirus en otra entrega, pero, basado en lo que os acabamos de contar... como creéis que podéis evitar el 90% de los malwares que andan por ahí sueltos, incluso los que no detecta el antivirus porque, por ejemplo, se trata de uno nuevo que todavía no ha sido identificado? Efectivamente. Ya sé que lo tenéis super claro, pero voy a ponerlo aquí como una sencilla lista... porque queda mú bonito:- Evita utilizar cuentas con permisos de administrador para el trabajo cotidiano. Solo utiliza esas cuentas cuando sean estrictamente necesarias
- Cuando hagas algo que pueda exponerte a algún ataque (instalar un programa de origen dudoso o navegar por sitios en los que no confías), utiliza una cuenta de usuario separada de tu cuenta de trabajo normal. Si algún tipo de programa maligno se cuela, en la mayoría de los casos, no podrá hacer gran cosa.
Ordenadores a tutiplen
Si amigos, por obra y gracia de la economía de escala, hoy por hoy es muy barato hacer un ordenador y, como es tan barato, pues le ponemos ordenadores a todo cacharro que se menea. Además de nuestro ordenador, por supuesto, nuestro teléfono, es un ordenador, nuestra SmartTV es un ordenador, nuestro router wifi es un ordenador, nuestra cámara de vigilancia es un ordenador, la radio de nuestro coche es un ordenador y hasta nuestra cafetera es un ordenador con conexión wifi. Lo que esto significa es que cosas que antes solo le podían pasar a los ordenadores, como pillar una gripe (vamos coger un virus), ahora le puede pasar hasta a la lavadora. Aquí la situación es un poco distinta. Todo está más limitado y no tenemos control, en muchos casos, sobre los usuarios o permisos en estos dispositivos. Y sabéis que?... muchos de ellos ejecutan sus programas comoroot
.
Esto, no es intrínsecamente malo (mejor si no es así, pero...) ya que en principio el propio cacharro controla lo que ejecuta. Aquí el problema es otro... el denominado Síndrome de la configuración por defecto (la verdad que me acabo de inventar el nombre, pero mola bastante :).
La cosa aquí es que, cuando compramos uno de esos cacharros que no son un ordenador, queremos conectarlo y empezar a usarlo. Además, estos cacharros no suelen tener un teclado o una pantalla, y estas dos cosas combinadas hacen que, la mayoría de la gente no modifique la configuración por defecto del dispositivo.
Esto es muy malo, porque las configuraciones por defecto de todo cacharro viviente están en Internet. Que esa información este en Internet es una cosa muy buena, especialmente cuando tienes que acceder a tu propio cacharro y el manual de instrucción ya no está... se fue con el embalaje original a la basura. La pega es que si no nos preocupamos de cambiar esas contraseñas por defecto, estamos invitando a que los malos tomen el control de nuestros cacharros.
Para que os hagáis una idea del problema, solo tenemos que ver lo que ha hecho el gusano Mirai en octubre de 2016. La forma en la que este malware infecto millones de dispositivos por todo el mundo es casi vergonzosa. Simplemente se conectaba a todo bicho viviente y probaba un conjunto de passwords por defecto... y así con millones de routers, cámaras de vigilancia y todo tipo de cacharros. Este es uno de los ejemplos en los que el malware es ejecutado por otro programa y no por el usuario. En el caso de Mirai, ese programa era un servidor telnet
.
Gusanos a mi?.. Já
Así que, si eres un fiki de los gadgets y te mola que tus zapatillas térmicas estén conectadas a internet para poder enviar un comando desde tu móvil al salir del trabajo para que al llegar a casa estén calentitas.... no hay problema. Solo recuerda cambiar el password por defecto de las zapatillas y de tu router (ya hablaremos de eso de poner cosas en internet)... y también te quitarás el 90% de los problemas con gusanos.Mucho 90%, pero que pasa con el 10% restante
Muy buena pregunta amiga mortal. Es verdad. Existe un pequeño porcentaje de amenazas ahí fuera que son de las que dan miedo de verdad. Son las que se aprovechan de errores de programación en ciertas aplicaciones para engañarlas y conseguir que sean ellas las que ejecute otro programa que haga algo malo y no el usuario del ordenador, el sistema operativo o cualquier otro programa al que se le permita hacer eso. Esto es lo que se conoce como exploits. Sobre este tema, si bien es serio, también hay bastante confusión. Vamos a explicarlo despacito. Los programas de ordenador son una serie de instrucciones que le dicen al procesador que hacer. Lo podemos ver como un algoritmo matemático. Piensa en una división hecha a mano. Coges una parte del dividendo, la divides por el divisor, multiplicas, restas y sigues. Los programas hacen cosas así. A veces el programador se equivoca al escribir el programa. En ese caso se dice que el programa tiene un BUG. El nombre viene del inglés y significa literalmente bicho. Cuenta la leyenda que en los albores de la informática un programa en un ordenador electromecánico falló. Un ordenador electromecánico utiliza interruptores mecánicos que se accionaban eléctricamente. Pues bien, al parece en una de estas, el interruptor pilló una polilla (un BUG literalmente) y no hacía contacto de tal suerte que el programa no funcionaba correctamente. Pues bien, muchos bugs son errores que simplemente hacen que el programa funcione mal y no suponen ningún riesgo desde el punto de vista de la seguridad. El programa simplemente funciona mal. Pero otros, errores se pueden aprovechar para hacer que el programa ejecute unas instrucciones diferentes. Unas instrucciones introducidas externamente por una atacante. Lo que en jerga técnica se conoce como ejecución de código arbitrario. Cuando esto sucede, el bug tiene una vulnerabilidad asociada. Es decir, ese error en concreto puede suponer un problema de seguridad. Que exista una vulnerabilidad no significa automáticamente que estemos en peligro. Para que eso ocurra, alguien tiene que explotar esa vulnerabilidad. Y esto se consigue escribiendo un Exploit. Un exploit es un pequeño programa que se aprovecha de una vulnerabilidad (un bug con problemas de seguridad) para forzar a un determinado programa a que haga algo para lo que no fue diseñado (como por ejemplo ejecutar un malware). Volveremos sobre esto en detalle en una próxima entrega... no desesperéis :).Exploits
Los exploits pueden ser locales o remotos. Los remotos son los más peligrosos ya que se pueden ejecutar a través de la red y pueden venir de cualquier lado. Los locales hay que ejecutarlos en la máquina víctima. Eso significa que primero es necesario que el atacante consiga acceso a la máquina, lo cual, si tomamos algunas precauciones no es nada fácil. Pero además, dependiendo de que tipo de programa sea el vulnerable, la cosa cambia mucho. Recordáis la clasificación que hicimos de Aplicaciones y Sistemas Operativos. Efectivamente un bug explotable en una aplicación con privilegios de administrador o, incluso en el sistema operativo permite a un atacante hacer cualquier cosa que quiera con el ordenador que está atacando. Estos malwares que hacen uso de explots, son el 10% de los casos que nos hemos ido reservando hasta ahora. Lo del 10% es un decir. No tengo ni idea de cual es el porcentaje real, pero lo que si sé es que es muchísimo menor que el resto de los casos que hemos discutido hasta el momento. La razón es que su impacto es en general muy corto. Una vez que el ataque se lanza, los ejemplos del exploit se hacen públicos (se están utilizando para atacar otros ordenadores). Con esa información los expertos pueden arreglar el bug muy rápido (en general), y neutralizar el ataque... para siempre... Eso claro, si el malware es descubierto a tiempo (recordáis las bombas lógicas de las que hablamos más arriba?). En estos casos hay algunas cosas que podemos hacer, al menos para quitarnos de encima los malware que se conozcan:- Mantener el sistema actualizado. Los desarrolladores de los sistemas operativos están constantemente solucionando bugs en todo tipo de programas. Muchos se resuelven incluso antes de que nadie escriba un exploit y es por ello que actualizaciones frecuentes del sistema reducen el riesgo de pillas bichos.
- Utilizar cortafuegos (Firewall). Un firewall bien configurado puede detener muchos exploits remotos incluso si son desconocidos. Esto es especialmente cierto para los usuario domésticos que en general no ejecutan servicios públicos y por la tanto pueden fácilmente bloquear la mayoría de tráfico externo ilegítimo.
Con todos ustedes Er 0-Day
Como os podéis imaginar, cuando el bug lo encuentra una persona legal (un usuario, un programador de una aplicación,...) informará sobre él para que se corrija. Pero cuando los malos encuentran un bug, especialmente uno difícil de encontrar, no se lo dicen a nadie. Se ponen a trabajar en conseguir un exploit, y cuando lo tienen... tampoco se lo dicen a nadie. El hecho de que no se lo digan a nadie hace que estos exploits sean muy peligrosos, ya que, cuando se usen por primera vez, la máquina que sea atacada va a caer casi seguro. Al tratarse al un bug desconocido, el sistema operativo y las aplicaciones no van a estar actualizadas, porque nadie sabía que había que actualizar nada. Los antivirus no va a detectar nada, porque no saben que haya nada que detectar y así sucesivamente. Es lo que en lenguaje llano se conoce como pillarte en bragas. Estos exploits se conocen como Zero-Days o 0-Days, exploits de día cero, ya que nadie los había visto antes. Son tan peligrosos porque son totalmente desconocidos, y nadie está preparado para ellos. Una vez que son utilizados su efectividad baja drásticamente, ya que una vez que se conoce el bug que explotan, este puede ser arreglado y por lo tanto el exploit dejará de funcionar. Hoy por hoy, un zero day es algo muy valioso. No es fácil encontrar bugs que explotar. Los programas cada vez se hacen mejor, y los ordenadores proporcionan más y más métodos para hacer los programas más seguros (ASLR, canaries, non-exec stack,...). Estos se suelen utilizar para cosas gordas, tipo Stuxnet o como parte de ataques masivos como el reciente WannaCry ransomware. Así que sí... puede que alguno de estos acabe en tu ordenador aunque no seas nadie importante. En lo que a nosotros, meros mortales, se refiere, solo hay una cosa que podemos hacer... las copias de seguridad. Esta es, en cierto modo, la última línea de defensa. Cuando todo falla, y no hay nada que podamos hacer... bueno, pues hay que pasar el chaparrón e intentar que, ese ataque que no podemos evitar, tenga un impacto mínimo. Así, tener copia de nuestros datos nos va a permitir recuperar cualquier cosa que el ataque destruya. Además de las copias de seguridad, es conveniente tener un plan de contingencia. Vale, eso suena bastante técnico y complicado, pero no es para tanto. En el caso más sencillo, solamente implica estar preparados para restaurar el sistema y, probablemente, cambiar las passwords de todas las cuentas que utilicemos.El CheckList
Existen algunas amenazas más a tener en cuenta, pero como dijimos al principio en este artículo, el objetivo era explicaros como funcionan los ordenadores y como protegerlos siguiendo unas reglas muy básicas. En próximas entregas hablaremos de esas otras amenazas (servicios on-line y redes) e iremos profundizando en algunos de los temas que hemos introducido en este artículo. A modo de resumen, las siguientes reglas nos van a mantener seguros en la mayoría de los cosas. Sí, amigos, una cosa tenemos que tener clara... la seguridad absoluta no existe, ni con los ordenadores ni con los coches, ni con otros muchos aspectos de la vida. La única forma de no tener un accidente con tu coche es que no utilices el coche (y aún así alguien puede atropellarte), y la única forma de que tu ordenador esté completamente seguro es que no lo utilices... Aquí Er CheckList:- Utiliza los usuarios privilegiados solo para lo imprescindible
- Utiliza usuarios con poco privilegios en entornos en los que no confíes
- Mantén tu sistema actualizado
- Utiliza un cortafuegos con las reglas más restrictivas que puedas
- Mantén un backup de tu información importante
- Prepara un plan de contingencia para recuperar tu sistema si todo lo demás falla
Header Image Credits: Robert Hickerson
■
CLICKS: 2478