En diversas ocasiones hemos conversado en Kriptópolis sobre si los programas antivirus sirven o no para algo. Decir que no sirven para nada no sería justo, pero tampoco lo es decir que nos protegen de todo. De hecho, parece que ni siquiera nos protegen de los virus, siempre que uno sepa cómo engañarlos.
El trabajo que hoy Kriptópolis presenta en exclusiva a sus lectores (por gentileza de su autor, FraMe, de Kernelpanik Labs), viene a demostrar que los antivirus pueden proteger al usuario común ante amenazas previsibles, pero todos ellos -o al menos diez de los más populares- se dejan buscar las vueltas por un usuario malicioso y claudican miserablemente ante determinadas estrategias, permitiendo la ejecución de código viral...
- Win32/Bypass: Anulando la detección de ficheros [PDF comprimido con zip, 40 páginas con ilustraciones, 2'7 MB].
La solución podría ser usar Sandbox embebidas
anónimo26 Septiembre 2007 - 1:41pm
Siempre he pensado que la solución a los virus y programas maliciosos es un sistema Sandbox, una virtualización del propio sistema operativo dentro del propio sistema operativo. Me explicaré, o trataré de hacerlo.
Si tuviesemos un emulador del S.O. en el propio S.O., de modo que, salvo que el usuario autorice a cada programa para que se ejecute en la máquina real, y todos los ejecutables se ejecurtaran hasta su aprobación, en la "zona segura", es decir, en el emulador, el propio S.O. podría vigilar posibles "comportamientos sospechosos", denegando los mismos y alertando del problema.
Pasado un tiempo el usuario podría autorizar un programa (en su conjunto, no haría falta que fuese componente por componente) para que pasase a ejecutarse de forma "real". Sin pasar por el emulador, a velocidad completa, como podríamos decir. O bien por métodos de análisis estadísticos el propio S.O. podría mover aplicaciones de la "zona segura" a la "zona real" de forma automática si éste puede deducir que no presentan peligro alguno.
Evidentemente la implementación de todo esto no es sencilla y conlleva la reestructuración completa del S.O. en el que se quiera implementar. Realmente debería parecer que el programa en la Sandbox tiene acceso al sistema como si fuese un entorno de trabajo normal. Para las aplicaciones ejecutándose en esta especie de "entorno de cuarentena" bajo vigilancia no debería haber diferencia, ni siquiera a bajo nivel a lo que sería su ejecución en el entorno real.
Es simplemente una idea conceptual, no sé lo que opinareis vosotros sobre ésto.
Algún creido en la sala?
cmcabanas15 Febrero 2007 - 3:39pm
Pero vamos a ver, cuanto más hablan "algunos", más deberían de callarse. La informática es para todos. No solo para los que saben hacer un nudo en la po... programando. El windows es mundialmente usado por ese motivo.. no hace falta saber mecánica para andar en el coche.
Y a mi me parece que los bocazas que les gusta alardear de lo bien que manejan linux y lo malo que es windows, no tienen esa idea de este mundo en el que, para ellos, solo caben los que conocen las entrañas de los sistemas operativos.
Windows tiene fallos y parece que nos estafan haciendonos pagar software inacabado, SI.
Pero también es cierto que precisamente por usarlo mucha mas gente está más atacado, es más atractivo para los piratillas de turno.
Un pregunta de USUARIO CURIOSO
Cuando el linux esté tan extendido(deseo que así sea)
¿Veremos esa robusted atacada por los mismos cracks?
Yo me preocuparía de todos los virus, los informáticos, los usuarios poco cuidadosos en la materia y los consejos de los DEMASIADO DUCHOS en la materia que pueden hacer que seas incapaz de utilizar tu ordenador para lo que quieres.
---------
CMCabanas
Me permito responderte...
Figue16 Febrero 2007 - 12:52am
Me permito responderte... en parte por lo menos.
Creo que si Linux algún día llega a popularizarse hasta el extremo que afecte realmente a las ganancias de Microsoft, entonces el sistema será muy robusto. Y por el sencillo motivo que cada vez que más gente empieza a usar sistemas libres, éstos crecen, se corrigen, se mejoran. Porqué son SOFTWARE LIBRE. Ni más ni menos. Y eso va para todos los sistemas operativos libres. Lo malo de un sistema privado es que no puede soportar el peso que tantos usuarios, crackers e interses hay para que pocos programadores lo revisen y lo diseñen. Pocos ojos que ven no pueden con todo. Muchos ojos viendo, hacen que haya menos errores y que se corrijan antes.
Espero haberme explicado bien.
Y algo que siempre digo... si sin saber el código fuente se pueden sacar todos estos bugs, exploits o como quieras llamarle, porqué en los sistemas operativos libres no hay un keylogger en cada PC ? (y que conste que no lo digo porque los haya en los privados, es un ejemplo...). Si se pudiera creo que ya lo habrían hecho.
Un saludo
¿Quien calla otorga?
Memantina (no verificado)15 Febrero 2007 - 12:18pm
Estimados responsables de firmas antivirus:
Si ayer ya me llamó la atención su silencio frente a este gran trabajo, hoy me parece sencillamente escandaloso que no tengan ustedes nada que decir.
Salgan de una vez de su anonimato y convénzanos por favor de que no nos están vendiendo humo.
Muchas gracias.
Sin respuesta
hastur15 Febrero 2007 - 12:36pm
No esperes respuestas de las casas antivirus puesto que el autor de esta prueba ha cometido el error de usar el fichero Eicar como base a todas sus pruebas y, como muchos sabreis, este fichero contiene una cantidad ingente de codigos maliciosos que no pueden infectar sistemas actuales ademas de otra gran cantidad de ficheros modificados o corruptos que no son representativas en el "mundo real".
Las casas antivirus desecharán este tipo de estudios solo por este simple factor (y en parte tendrán razon) y si te fijas, ninguna comparativa "seria" aceptara realizar las pruebas contra el fichero Eicar.
Estudios como este (aunque no tan amenos) aparecen casi todos los días sin que realmente se vean estas "vulnerabilidades" de los antivirus explotadas por los códigos maliciosos que aparecen constantemente.
Que cada cual saque sus propias conclusiones.
Saludos
Emh?
FraMe15 Febrero 2007 - 1:55pm
Como autor del artículo llevo un rato preguntándome qué quieres decir exactamente con los párrafos 1 y 2 de tu respuesta ^^
Valgan algunas de esas frases de las que todavía no he podido desentrañar su velado signficado:
- " ... este fichero contiene una cantidad ingente de codigos maliciosos que no pueden infectar sistemas actuales ..." ¿En qué parte de los 68 bytes de EICAR están tales códigos maliciosos?, y más aún, ¿cuándo EICAR pretende infectar nada? :O
- "... ademas de otra gran cantidad de ficheros modificados o corruptos que no son representativas en el "mundo real"" :?
- " .. ninguna comparativa "seria" aceptara realizar las pruebas contra el fichero Eicar ..." Eicar es precisamente el fichero usado por numerosas compañías para probar la capacidad de detección de contenido vírico de sus productos. Véase por ejemplo:
http://www.pandasoftware.com/spain/virus_info/funciona/
http://www2.hispasec.com/tests/eicar/ http://www.trendmicro.com/en/security/test/overview.htm
http://www.sophos.com/pressoffice/news/articles/2003/01/eicar.html
Por poner algunos.
--
FraMe - frame at kernelpanik.org
Kernelpanik Labs - http://www.kernelpanik.org
Mis disculpas
hastur15 Febrero 2007 - 2:58pm
Perdón por el gazapo FraMe. Me refería a otro fichero que contiene un zoo de virus que también es usado en algunas comparativas. Con respecto a tu informe, este está expuesto de forma amena y comprensible y con respecto a la expresión "mundo real" es solo una de las terminologías que han usado para contestarme desde algunas de las casas antivirus que tu mencionas para referirse a todo lo que no sean pruebas de laboratorio como la que tu has realizado.
Obviamente, sería ideal que todos los antivirus detectasen todo lo posible y no cayesen en fallos como los que tu has descrito o en la no detección de simples empaquetadores para camuflar su verdadero contenido, pero por lo visto esto aun no es (o no se quiere) implementable.
Desde mi ignorancia, te puedo indicar otra serie de comparativas independientes como pueden ser estas dos:
Virus Bulletin:
http://www.virusbtn.com/index
AV- Comparatives
http://www.av-comparatives.org/
Sería interesante que estas dos empresas dedicadas a realizar informes supuestamente independientes, aplicaran también los métodos que tu has descrito a sus análisis. Tal vez, el resultado variaría, tal vez no.
Agradezco de antemano que hayas usado tu tiempo en realizar este esplendido trabajo y ruego aceptes mis disculpas por todo lo mencionado anteriormente.
Saludos.
Tranquilo, FraMe
Memantina (no verificado)15 Febrero 2007 - 2:04pm
Ahora ya sabemos cuál es la respuesta (política del avestruz) de las casas antivirus ;)
Tarjetas tipo custodio
mon15 Febrero 2007 - 11:00am
Hola :)
Me ha parecido muy bueno el documento hasta en el desenfadado modo de presentarlo.
Al final viendo que un programador de virus puede buscar las cosquillas a determinadas distribuciones uno se vuelve mas cuidadoso (y paranoico).
Una cosa que he visto y me ha gustado es una pequeña ayuda hardware para minimizar el efecto de los virus en los equipos. Son tarjetas PCI que incluso las hay con tarjeta de red, su funcion es la siguiente. En modo normal la particion parece que nos deja hacer cambios (instalar, leer, crear archivos), pero cuando apagamos el equipo este se vuelve al estado inicial. Es decir no se guardan los cambios.
Si queremos instalar programas, actualizaciones, parches o hacer cambios debemos arrancar en modo administrador en el menu inicial de la tarjeta.
Ahora bien...deberiamos tener una segunda particion no monitorizada por la tarjeta donde guardar nuestros documentos y trabajos.
En caso de infección en nuestro sistema operativo (no en la segunda particion) al apagar volvemos al estado inicial sin virus.
Evidentemente esto no es la solucion pero si complementa y evita muchas reinstalaciones.
Un saludo
(Agur eta ondo ibili)
Mon el del Ibiza
Interesante
hastur15 Febrero 2007 - 10:58am
Interesante documento que, como prueba de concepto está muy bien pero ninguna de las amenazas "In the wild" (que son las que realmente acaban infectando a los usuarios) utiliza las estrategias descritas así que no deja de ser solo eso, una prueba sin consecuencias en el día a día de la mayoría de usuarios. Aun así no está de mas tirar de las orejas cada cierto tiempo a las compañías antivirus para que se pongan las pilas.
Con respecto al tema GNU/Linux, ningún sistema operativo es invulnerable, aunque dependiendo de como estén construidos será más facil infectarlos que otros, independientemente de la cuota de mercado.
Saludos.
Interesante
chatran15 Febrero 2007 - 9:06am
Muy bueno, esto demuestra que la mayoria de los antivirus no utilizan apropiadamente win32 api para trabajar con unicode, que existe desde los primeros tiempos de NT.
En el principio en la parte de programacion con delphi no queda muy en claro si estas usando las funciones findfirst y findnext con soporte unicode, si no mal recuerdo delphi por defecto solo soporta ansi, por lo que findfirst y findnext llaman a FindFirstFileA y FindNextFileA. Y para ejecutar eicar sin extension yo hubiese hecho un programa que use CreateProcess.
El final no me gusto, porque usas los privilegios de administrador y si quieres que un antivirus te protega del administrador(el equivalente a root en unix) estas pidiendo que el av se adueñe de tu ordenador.
Umf ...
FraMe15 Febrero 2007 - 12:08pm
Efectivamente, en Delphi se están usando las funciones por defecto, que no llevan soporte Unicode.
La idea de todo el artículo es precisamente la de "minimizar" el conocimiento que hay que tener para ejecutar código vírico en un sistema, partiendo de la base de no tener que tirar una sóla línea de código.
En el final pasa como con las películas, se gastan las ideas "buenas", pero tu te has marcado el objetivo de hacer una triología. Pues aquí lo mismo, pero con antivirus.
En cuanto a la teoría de "root/administrador", tu interpretación me parecería acertada, siempre que estuvieramos hablando de un antivirus que únicamente actua desde espacio de usuario, pero los analizados lo hacen desde espacio de kernel.
Usando el siempre peligroso paralelismo windows/linux, que se parecen como un huevo a una gallina, imagínate que sucedería de selinux o grsec, dejaran de proteger el sistema cuando el usuario efectivo es root.
--
FraMe - frame at kernelpanik.org
Kernelpanik Labs - http://www.kernelpanik.org
Missing Files?
pablolopeztorres15 Febrero 2007 - 1:09am
Muy buen artículo.
Una pregunta... ¿Dónde se encuentran los códigos fuente que acompañan al documento? (en cierto párrafo se refiere a un código en Delphi y un archivo de nombre MyDir.zip)
Error
FraMe15 Febrero 2007 - 1:23am
En mi disco duro ^^
Se me pasó quitar esa nota de "revisión", lo siento.
--
FraMe - frame at kernelpanik.org
Kernelpanik Labs - http://www.kernelpanik.org
Missing Files
pablolopeztorres15 Febrero 2007 - 10:19pm
No te preocupes, era mera curiosidad... Gracias por el artículo!
Pablo López Torres <pablolopeztorres@gmail.com>
(In)seguridad
felipe_alfaro14 Febrero 2007 - 10:55pm
Una vez más, la compatibilidad hacia atrás de Windows le lleva nuevamente a problemas. El texto es ingenioso, al igual que sus ideas. Ciertamente, cuando más leo sobre Win32 más me da la impresión de que es hora de enterrarlo definitivamente.
¿Falsa sensacion de proteccion?... umm cuidado.
car14 Febrero 2007 - 9:17pm
A ver, a mi tambien me gusta Linux de hecho tengo un Debian Sarge corriendo por una de las particiones de mi HD. Una vez dicho esto mi opinion es bien diferente a todas las que acabo de leer ¿De verdad pensais que porque useis Unix/Linux...estais protegidos ante viento y marea? pensadlo dos veces y no caigais en el mismo error que cualquier User de WIN con una antivirus y poco mas.
Pd: No por usar Linux estamos por encima de nadie y escribo esto desde Winxp porque utilizo ambos segun para que cosas.
seguridad
anv15 Febrero 2007 - 10:11am
Ya hemos hablado de esto otras veces. Linux es más seguro por muchos motivos diferentes. Todos ellos se conjugan para que no valga la pena para nadie hacer un virus para linux para algo más que una prueba de concepto. Uno de los motivos es porque hay pocos linux pero aunque el 90% de los usuarios tuviera linux, aún así seguiría habiendo varias razones de peso más que harían que un virus dificilmente se propagara.
Por encima no
Memantina (no verificado)14 Febrero 2007 - 9:23pm
pero mas seguros sin ninguna duda.
La primera barrera ha de ser el usuario
mced14 Febrero 2007 - 8:39pm
Y, si el usuario falla, el antivirus ha de ser como un airbag: proteger en lo posible. Es lo que digo siempre a mis conocidos con Windows (que son el 100%, amistades online aparte).
Confiarlo todo en el antivirus, abrir alegremente toda la mierda que nos envían por mail (el PowerPoint debería estar prohibido por Naciones Unidas), navegar con Internet Explorer, usar el Outlook, emplear contraseñas obvias, no hacer copias de seguridad periódicas... todo eso suele acabar en desgracia, por mucho antivirus que supuestamente esté ahí residente.
Por supuesto, pero no es el caso
bengo (no verificado)14 Febrero 2007 - 8:43pm
Ahora hablamos de un usuario consciente y cuidadoso a quien se la pueden meter doblada con antivirus y todo.
Así las cosas el antivirus ya sólo sirve para que el corte inglés haga caja.
Eso sí: todo lo que sea mover el dinero y combatir el paro, bienvenido sea ;-)
No es por ponerme ahora a
mced14 Febrero 2007 - 8:59pm
No es por ponerme ahora a defender a Windows ni a las terceras empresas a las que alimenta con su "eficiente" política de seguridad; pero considerando las vías habituales de entrada de los virus, es bastante complicado que a un usuario realmente consciente y cuidadoso se la puedan meter doblada. ¿Qué son vías habituales?
- E-mail
- Navegación
- P2P
- IM
Analizando los posibles escenarios, no veo la forma de que se puedan explotar las vulnerabilidades que describe el artículo.
Hablando claro está de usuarios cuidadosos; es evidente que al típico 'qué chulo está este PPS que me han enviado' o el 'métete con el IE en esta web de cracks/serials' le van a sodomizar sin remedio.
cierto pero...
anv15 Febrero 2007 - 10:08am
Cierto. A un usuario realmente consciente y cuidadoso probablemente no le entren virus fácilmente. El problema es que la "facilidad" de windows ha llevado a que más del 90% de los usuarios ni siquiera saben para qué sirve la tecla "insert". El sistema incluso oculta los verdaderos nombres de los archivos así que ni siquiera saben lo que es una extensión. Si tratas de explicarles cosas "complicadas" como la diferencia entre un ejecutable y un documento se aburren y dicen que ellos no entienden de esas cosas.
En conclusión: que los usuarios avanzados prefieren linux. Que si usan windows es porque no tienen más remedio. Windows es para usuarios inexpertos, y cada vez son más y más inexpertos. Los virus atacan a los usuarios inexpertos. Los usuarios inexpertos son la mayoría... creo que la conclusión es obvia.
¿Usuario consciente?
Kabish15 Febrero 2007 - 11:27am
¿Cual es un usuario consciente entonces? ¿El que renuncia a abrir cualquier pps o exe que le manden, usar Outlook e IE, eMule e IM? ¿O sea renunciar al 90% de la actividad con un ordenador del 90% de lo usuarios? (cambia por 80 si prefieres).
El cambio menos traumático de los citados para un usuario medio sería migrar a Firefox. Y mira: los certificados digitales de Hacienda o la Seguridad Social (clásico uso de un usuario medio no informático), por ejemplo, solo funcionan bajo IExplorer (sorpresa).
Hay que ser realistas. Un usario medio de Windows sin antivirus + firewall está perdido, porque los usuarios de ordenador no informáticos (el 90%) tienen cosas mejores que hacen que aprender la diferencia entre un documento y un ejecutable, aunque no sean cosas complicadas.
Ninguna sorpresa
Eskorpio16 Febrero 2007 - 4:32am
Con los certificados de Hacienda y la Seguridad Social supongo que te refieres al certificado de la FNMT. Respecto a lo que comentas de que sólo funcionan bajo IE decir que no estás en lo cierto, funcionan bajo Firefox tanto en Windows como en Linux.
Efectivamente, el usuario consciente
mced15 Febrero 2007 - 7:39pm
Efectivamente, el usuario consciente no usa IE, sino Opera o Firefox escogiendo cuidadosamente los sitios a los que autoriza la ejecución de scripts.
Evidentemente, aún quedan algunos inútiles (y que, en el caso de la Administración, son inútiles a los que se puede y se debe demandar) que programan con la etiquetita "Only for IE". En ese caso hay que pasar por el aro, eso sí, cuidando dónde se mete el pie igual que si cruzáramos un río infestado de pirañas.
El usuario consciente jamás abre un EXE recibido por E-mail, salvo que lo haya pedido expresamente. Y sí, aquí sí hace falta un antivirus.
Hace poco lei en algun lugar
Photon14 Febrero 2007 - 8:08pm
Hace poco lei en algun lugar que Karspersky esta desbordado y que no pueden con la marea si no se involucran los gobiernos.
En realidad es triste, y escribiendo desde mi suse a prueba de .exes, me pregunto , si linux alcanza mas cuota de mercado, cuanto tardaremos en ver aparecer una riada de virus para linux...
Egoísta, lo sé
spy (no verificado)14 Febrero 2007 - 8:11pm
Pero espero que Linux sea siempre minoritario para que podamos seguir viviendo tranquilos muchos años más.
plas plas plas
Figue14 Febrero 2007 - 7:20pm
Me ha encantado el documento :D y he resoplado varias veces... Qué grande día el que decidí eliminar Microsoft de mi vida privada!!!!
Quiero felicitar a FraMe por su trabajo y su sentido del humor. El texto es ameno e interesante.
Y gracias de nuevo a Kriptópolis por su difusión.
Un saludo ;)
^^
FraMe14 Febrero 2007 - 9:09pm
De nada ( rubor de niña adolescente piropeada ) x_D
--
FraMe - frame at kernelpanik.org
Kernelpanik Labs - http://www.kernelpanik.org
Gracias por la parte que me toca...
admin14 Febrero 2007 - 7:33pm
... y coincido contigo en que el documento es muy, muy bueno.
Y también coincido en la gran sensación de alivio que proporciona ver todos esos toros desde la barrera.
Mi antivirus no es vulnerable
bengo (no verificado)14 Febrero 2007 - 5:32pm
Se llama GNU/Linux ;)
Linux
anv15 Febrero 2007 - 9:53am
El líder propone yla comunidad dispone. Así funciona el software libre. En este caso el líder propuso llamar a todo "GNU", y la comunidad prefirió Linux probablemente porque se parecía al "standard" de los nombres de sistema operativo estilo unix (termina con x). Entonces el líder propone e insiste en que al menos se debe llamar "GNU/Linux". Hay mucha gente de acuerdo con eso pero auque les pese, el público en general prefiere un nombre más sencillo: Linux. ¿Que es el nombre del núcleo? Sí, es cierto. Pero en este caso ha resultado que el nombre que la comunidad dió al sistema completo coincide con el nombre del núcleo. Le guste o no a Stallman, así quedó y suena mejor "linux" que "geeneulinux" o "ñulinux".