O Martes 05 Maio 2009 11:19:17 Camaleón escribiu:
El 2009-05-05 a las 10:47 +0200, Karl García Gestido escribió:
O Martes 05 Maio 2009 08:44:07 Camaleón escribiu:
Je, y también prueba que el "cazador" también puede ser "cazado".
Siempre :)
No, sólo cuando el cazador no es cauto :-)
Lo que han hecho los investigadores es registrar los dominios a los que el programa espía enviaba la información y poner un servidor para capturar los datos.
El dueño de la red de bots tardó 10 días en enterarse de la jugada (...) Es decir, que si el uso de linux estuviera más extendido, habría más bichitos que se podrían explotar (como el reciente bug del acrobat). Ahora no resulta jugoso hacerlo porque el objetivo es muy pequeño y los "beneficios", nada pingües :-P.
Algunos sistemas "obligan" al usuario a tomar determinadas precauciones "por defecto", aunque muchas variantes puedan soslayar esta cuestión IMHO excesivamente.
Ningún sistema "obliga" a nada. Tú puedes poner todas las medidas de seguridad que quieras. En cualquier sistema.
Un equipo candidato para ser explotado es el que:
1. no tiene cortafuegos.
No tiene por qué...
Puede usar un cortafuegos y ser inútil: bien porque es muy sencillo y no cumple su cometido o bien porque es tan complicado que los usuarios lo desactivan. Un equipo con puertos cerrados o con pocos puertos abiertos (vigilados o no) es más difícil de atacar que uno con ellos abiertos. El más simple cortafuegos es mejor que nada.
2. la clave de usuario (si existe) es la misma palabra que el nick; y si no es así, es algún dato personal accesible (fecha de nacimiento, por ejemplo).
Esto es cosa del usuario. El sistema le puede sugerir que cumpla determinadas características, pero no le va a negar usar la que prefiera :-/. Pasa en todos los sistemas. Bueno, hay mucha teoría detrás de la elección de una buena clave. En ese sentido, si es muy complicada y tienes que llevarla escrita encima o te olvidas de ellas no haces nada.
Los sistemas Unix con MD5 hacen cálculo de claves y no aceptan cualquiera. Hace mucho que no verifico esta cuestión, pero cuando andaba con Debian la libertad del usuario para fijar una clave estaba muy restringida. Una clave relativamente sencilla, como h1bcp_ (hay un bicho comiendo pipas_) de longitud adecuada (6 a 8 caracteres) es una buena cosa: no tener clave o tener la del nick de usuario (o derivados: pepito) es un suicidio.
3. el usuario realiza poco mantenimiento del sistema de seguridad ante la posibilidad de tener en su sistema software que permita explotar su sistema.
Eso también es algo que depende del usuario. Si no mantiene actualizado equipo, es su problema. Pasa en todos los sistemas. No. Es un problema de actitud. No sólo es actualizar el sistema, sinó comprobar que todo está como debería estar, que no hay alteraciones raras, limpiar cualquier cosa rara que hayan descargados los usuarios (si está escondido, es porno -seguro que con algún "malware"- o algún programa raro que no debería estar ahí. Si no es porno, bórralo; si lo es, échale la bronca al usuario y bórralo. Si tú eres el usuario, pregúntate de dónde ha podido bajar hasta tu equipo XD.
Otras tareas típicas son limitar ciertas características a los usuarios cuando no las necesiten (aunque los sistemas Windows piden mayor esfuerzo en este sentido). No permitir claves nulas o sencillas, no permitir código ejecutable en lugares raros (los usuarios pueden usar un webmail razonable o correo en modo texto como todo el mundo), etc. Hay muchas pequeñas cosas que hay que hacer. Asi, puedes utilizar sudo (por ejemplo) para crear "grupos con distintos grados de privilegios". No es necesario suplantar a root para usar ciertos comandos administrativos, y mucho menos hacer que el programa se ejecute en modo usuario "suplantando" a root (SetUid). Hay muchas posibilidades que deben de ser usadas. Un usuario doméstico debe también acostumbrarse a ciertas cosas. Por ejemplo, no usar el entorno gráfico como root si no es necesario, ni siquieraa registrarse (login) directamente como root Nunca!! En ese sentido, ideas como la de Ubuntu redundan en mayor seguridad... Eso sí, teniendo en cuenta que no hay como excederse limitando al usuario para que este trate de soslayar las limitaciones del sistema.
4. Hay una política de relajación sobre lo que puede hacer el administrador; con frecuencia, el administrador tiene una clave sencilla (si la tiene).
También es algo que depende del usuario. Pasa en todos los sistemas. No es lo mismo administrar un sistema donde las claves se fijan con algún sistema de cálculo de claves que en sistemas que el adminstrador por defecto no use claves.
Un sistema donde los usuarios están acostumbrados en alguna medida al uso de claves y de distintos niveles de privilegios, facilita que los administradores comprendan la importancia de tener claves razonables; los usuarios que huyen de esta cuestión son un problema siempre. Y son los menos interesados en cambiar de sistema.
Este perfil de usuario es muuuy mayoritario en Windows (me gustaría echarle un vistazo a los usuarios MAC en este sentido xD). Aunque los haya en Linux y sea cierto que si Linux fuera un sistema más usado el número de usuarios de este perfil sería mayor, las limitaciones "por defecto" del sistema son muy importantes a la hora de abordar esta cuestión.
No creas. Lo que pasa los de windows hacen más ruido. No. Su sistema de gestión de recursos, de privilegios, todo en el sistema está muy poco pensado. Aunque en sistemas como GNU/Linux pueda haber problemas o errores, en Windows prácticamente cualquier aplicación tiene acceso transparente al núcleo, normalmente sin que el usuario tenga intervención, ni siquiera conocimiento de lo que sucede. La filosofía del sistema es muy distinta, y a la larga muy problemática. Si pasas por la lista inglesa de suse verás que ya hay dos personas que han preguntado:
a) Cómo abrir agujeros en el cortafuegos b) Cómo permitir al usuario cambiar la hora del sistema
:-) En la lista inglesa? XD a mí me han preguntado todo tipo de barrabasadas, y generalmente el que preguntaba simplemente se ha llevado la bronca. También recuerdo tener que "explicarle" a algunos usuarios que no era buena idea eso de "usar root como cuenta de usuario normal" xDD
Para muchos usuarios es natural relajar las restricciones administrativas, al fin y al cabo ellos son los únicos usuarios del sistema. Lo malo no es que sea natural pensarlo, sinó que nos lleva a lo que digo en (4).
Es un problema conceptual, de cultura, de hábitos y buenas (o malas) costumbres, como dicen los investigadores de ese informe. No es del todo cierto. Con frecuencia, los informáticos culpan a los usuarios de todos los males "oye, yo te dejo navegar como root, la culpa es tuya por hacerlo". Es similar a la vieja discusión sobre las ventajas y desventajas de tener armas en casa: "oye, yo te vendo bazookas, la culpa es tuya por usarlos".
No es así. El sistema debe prever muchas situaciones y sus responsables deben de establecer pautas y límites. Aunque el usuario final sea siempre el responsable y de nada sirva la mejor estrategia sin usuarios implicados en ella, lo cierto es que un sistema donde puedes incluir un virus que contiene código "letal" por ejemplo, una instrucción en ensamblador para dañar un disco- y esperar que el cliente de correo no sólo lea ese correo y ejecute el virus, sinó que permita que se reenvíe el virus antes de dañar el disco XD es un ejemplo de sistema muy mal hecho a cualquier nivel. No sé, cuando la gente recibe pijadas en sus correos igual les gusta, pero eso es carne de cultivo de virus y demás "malware". Recuérdese que la práctica totalidad (más del 95%) del software que ataca sistemas es software trivial y nada o poco interesante desde el punto de vista de un hacker mínimo. Atacar el outlook no creo que sea meritorio, y su explotabilidad después de tantos años (si aún hay quien lo usa!!! XDD) no es equiparabla con nada que suceda en ningún otro ámbito informático. Sobre todo porque dicha "atacabilidad", capacidad para ser atacado, descansa en parámetros básicos de diseño del sistema.
No hay "usuarios tontos windows" y "usuarios listísimos linux". Hay "usuarios" y serán lo mismo en ambos sistemas. Hay sistemas que promueven ciertos grupos de usuarios y sistemas que promueven a otros. Como digo más abajo, también es responsabilidad de estos vigilar que su sistema con comience a promover a los primeros. "El hábito no hace al monje" >:-) Dale una herramienta a alguien, y la usará.
Si tienes un clavo a mano, todo lo que tienes cerca se parece a un martillo.
En la práctica, lo que determina la explotabilidad de un sistema no es sólo el usuario, sinó el propio concepto de usuario. Atacar un sistema Windows poco o nada defendido no es que sea posible, como lo sería hacerlo con un sistema GNU/Linux u otro en la misma situación, sinó sencillo. En particular, esa curiosa característica que permite incluir código ejecutable (y que se ejecutará) en prácticamente cualquier lado, puede ser muy bonita para alguna cosa, pero a la hora de explotar un sistema es una bendición.
Esto ya lo hemos hablado en anteriores ocasiones. Y no, una buena administarción de windows no lo deja expuesto como crees. Pero es más compleja. Lo mejor que puedes conseguir en Windows es acercarte a lo "normal" en GNU/Linux, y no es fácil, sobre todo porque el sistema promueve que se hagan otras cosas XD
Nota: usar un windows bien administrado (que los hay, y muchos) es muy similar a usar un "Unix-like" bien administrado. Es otra de mis preguntas cuando hablamos de usabilidad XD
Se suele suponer que, dado que todo sistema es atacable por definición y el usuario es el punto más débil de cada sistema, la situación sería semejante con cualquier sistema que fuese dominante. Esto es una pequeña falacia.
No lo es. Ahí tienes el fallo de seguridad del Acrobat. Acrobat es una aplicación tipo que se usa en entornos gráficos, con acceso a Internet en su mayoría, y que la suelen manejar precisamente ese "tipo" de usuario al que va dirigido el informe. Usuarios, no administradores, que pueden estar en una sesión gráfica como root, por comodidad y que pueden tener el cortafuegos desactivado porque no les funciona nada si lo activan :-(
¿Crees que "ese linux" con "ese usuario" *no* es vulnerable a ese ataque? Lo es. La inmensa mayoría de exploiteds y demás herramientas no se aprovecha de ese tipo de vulnerabilidades, sinó de trivialidades típicas y tópicas. En todo sistema puede entrarse, lo que cambia es el promedio.
Además, los sistemas "Unix-like" son bastante heterogéneos. Por alguna razón general se cree que las vulnerabilidades serían explotables de forma similar que en Windows (por versiones: una vulnerabilidad afecta a una versión dada del sistema, incluso a una u otra actualización, por ejemplo, al XPS1). Esto no es cierto. Es muy difícil que una vulnerabilidad en Ubuntu se pueda aprovechar de forma transparente en un sistema con SuSE. Lo del cortafuegos, "nada" significa descarga p2p y envío de archivos por IM. En mi experiencia, la gente suele preguntar por qué va tan lento, no suelen culpar al cortafuegos directamente (ni siquiera con el mensajito de "estás detrás de un cortafuegos!!!"). Así: "he instalado -tal distribución- y -aquí su problema con un dispositivo/todo muy bien, me gusta mucho-, y al intentar descargar por torrent me va muy lento. Es normal eso? porque tengo una conexión muuuuy rápida (1 Mbps) y en Windows me iba superbien. ¿Cómo hago para que vaya más rápido?".
como decir que un texto cifrado es siempre descifrable: vale, todo texto cifrado es descifrable por la fuerza, pero puede llevar tanto tiempo hacerlo que cuando lo consigas ya no lo necesites XD En el ataque a sistemas la situación es similar: el poco tiempo promedio que necesite alguien para explotar un sistema Unix o derivados sobre el necesario para explotar un sistema Windows puede hacer que los ataques generalizados que estamos viviendo sean virtualmente imposibles, o al menos mucho menos frecuentes. Por qué? porque la suma de los excesos de tiempo puede ser muy elevada. Pueden ocurrir muchas cosas en el interín: pueden cambiarse claves, pueden detectarse intrusos (el perfil de usuarios Unix es mucho más heterogéneo: bien que encontrarás muchos usuarios laxos, pero también te encontrarás con administradores de sistemas con tanto conocimiento de ataques a sistemas informáticos como tú o más). Esto dificultaría disponer de las enormes redes de "equipos explotados" que hacen que conseguir más equipos explotables sea una mera cuestión de tiempo.
Que sea difícil no quiere decir que sea imposible. Si estuviera más extendido sería un blanco más interesante, habría más gente interesada en romperlo. "gente interesada en romperlo" ya hay mucha, la mayoría de la gente con "ese talento" gusta de hacerlo. En realidad, la gente "con talento" no se dedica a romper Windows.
El problema no es "romperlo", sinó "explotarlo", que es muy distinto. Puedes romper muchas máquinas con "Unix-like", pero el problema es crear una red del tamaño promedio de las que hay por ahí para atacar a otros sistemas. Ésta es la parte más difícil. Además, si ves la extensión de los mensajes piramidales, ¿para qué atacar sistemas? esto irá disminuyendo a medida que los mensajes de aquel tipo aumenten. Tienes tus grupos en facebook? cuántos de los mensajes que tiene el grupo responden a algún tipo de spam? Por ejemplo, como en google y otros era muy difícil crear cuentas de forma automática... pues simplemente ponían a personas a hacerlo, y después te bombardeaban a correos... pero aún así, ¿cuántos mensajes de spam aceptamos por habernos dado de alta en tal o cual sitio? si incluso algunas operadoras de telefonía móvil proponen descuentos a los clientes que acepten estas publicidades!!! XD
Una de las clásicas excusas para los fracasos de un desarrollo informático es "la culpa es de los usuarios". La pregunta debería ser "¿y quién c***nes se suponía que iba a usar tu software sinó esos usuarios?
Un desarrollo informático puede fracasar por varios motivos, pero no estamos hablando dee eso sino de la seguridad de los sistemas y de las pautas de los usuarios. Hablamos de una "bootnet". La mayoría de equipos explotables usan un sistema fácilmente explotable. Un usuario poco experimentado que utilice Windows está usando un sistema muy vulnerable porque no conocerá los riesgos y debilidades de su sistema, por mucho que adopte medidas razonables. Ese mismo usuario con Debian no tendría esos problemas de seguridad.
Un usuario doméstico ante un hacker está desprotegido, usando el sistema que use. Otra cosa es por qué un hacker iba a atacar a su sistema.
Esto también rige para los actuales usuarios de los sistemas GNU/Linux (que siempre hablamos de Linux pero ahí está FreeBSD): deberíamos ser poco comprensivos con aquellas distribuciones e instalaciones que relajen su requisitos de seguridad en haras a atraer a un puñado de usuarios más (es poco probable que muchos usuarios que no se molestan en usar una clave razonable vayan a molestarse en descargar e instalar GNU/Linux).
No, no hay que hacer concesiones en materia de seguridad para "acercar" usuarios, lo que hay que hacer es facilitarles su uso y que comprendan la importancia de sus actos.
Y el cortafuegos (susefirewall2) es un buen ejemplo de ello... bicho raro donde los "haiga"; la gente lo desactiva o se pasa a otro porque no hay quien lo entienda :-P. vaya, no es muy cómodo pero es bastante sencillo ;)
Aún hay software que utiliza un puerto "por defecto" (de los que hay que abrir a propósito). Sería bueno poder modificar ese puerto, pero eso no es cuestión del firewall, sinó de la aplicación. Ahora mismo pienso en las aplicaciones de IM.
Saludos,
-- Camaleón Salud!! -- O malo da relixión e a súa carenza de imaxinación -- karl