jueves, 18 de octubre de 2018

**beep**ing Anti-Virus

Advertencia: Estoy muy muy enojado.

Este año tuve que dedicarle muchísimo más tiempo a combatir el problema de los falsos positivos por malware en los instaladores de ZinjaI y PSeInt, que a desarrollar nuevas funcionalidades o a corregir otros problemas más importantes. Y por falso positivo entiéndase un Anti Virus increíblemente estúpido (o sea, casi cualquiera) afirmando la presencia de malware donde NO LO HAY.


Por culpa de esta plaga que son los anti-virus, no puedo aprovechar el poquísimo tiempo que me queda para mejorar mis proyectos libres. Hay mil cosas reportadas en los foros para resolver o agregar que son mucho más útiles que pelear contra estas porquerías. Pero estas porquerías espantan usuarios, impiden descargas e instalaciones, dañan la reputación del proyecto, me llenan el correo de quejas... simplemente lo complican todo.


Ya les conté el episodio con los navegadores... pueden ver detalles aquí; pero resumiendo: hay un video donde se ve como creo un txt, lo subo y automáticamente el navegador me dice al bajarlo que es malware. Ni siquiera es ejecutable!!!!!!

Y luego, con los instaladores. He tenido que resubir una y otra vez la misma versión de PSeInt, con cambios sin sentido, solo para confundir a los ya de por sí perdidos anti-virus. Empecé a tomar por norma pasar los instaladores por VirusTotal para ver quienes dan falsos positivos, y tratar de reducir esa lista para que no quedé ahí ninguno de los más usados o de mayor renombre. Pero ¿saben qué hay que hacer cuando un antivirus dice que lo que le acabo de dar tiene malware? ¿No? Yo tampoco... nadie lo sabe. Si hubiera una solución la usarían los que de verdad hacen virus, ¿no?

Entonces se trata de hacer cambios a ciegas en base a sospechas y conjeturas. A veces cambiar los flags de compilación para que el código binario resultante sea distinto (activar/desactivar optimizaciones suele ayudar). A veces reescribir un algoritmo entero para que se rasque la oreja izquierda con la mano derecha. A veces absorber la funcionalidad en otra parte del programa. A veces hacer la danza de la lluvia, prenderle una vela a Peter Norton, quemar un disquete viejo con una copia del 512 a modo de ofrenda y esperar que sea del agrado de sus dioses. Es realmente exasperante.


Un software popular, con gente y fondos, como cualquier enlatado de Corel, Microsoft, Adobe, etc. puede golpearle la puerta a Juancito McFee y decirle "loco, nos conocemos, dejate de joder" y entonces Juancito le hace una excepción. Pero un pobre diablo que trabaja solo en un proyecto de soft libre que no conoce nadie no tiene otro recurso más que maldecir al aire sin efecto alguno y luego pasar todo un fin de semana probando cambios al azar. Demos gracias que existe VirusTotal y nos permite validar esos cambios rápidamente, sino no estaríamos condenados.

Más de una vez he pensado en dejar de ofrecer versiones para Windows y quedarme solo cono GNU/Linux, (y eventualmente Mac, con el que tengo otros problemas). Ahora estoy en el punto de empezar a desactivar las funcionalidades que generan más problemas si no son totalmente vitales. Por ejemplo, en PSseInt los dos exes que más ruido hacen son el que busca las actualizaciones (al que por el momento he logrado hacer pasar) y otro que servía para recabar info adicional en caso de error, para facilitar los reportes. Este ya no está disponible, y eso por ahora calmó un poco las aguas.

Peeero. Me ha pasado más de una vez lograr que el 95% de los antivirus se queden tranquilos, y que los ruidosos sean 3 que nadie usa; para luego volver a las semanas y descubrir que tras una ronda de actualizaciones de los propios anti-virus, el mismo instalador ahora es detectado por más de la mitad de la manada.

Si a alguien le quedan dudas de si los falsos positivos son realmente falsos, puede bajar los fuentes, rearmarse un entorno de desarrollo a partir de algún mingw de confianza (no de ZinjaI, porque sino le van a hechar la culpa a ZinjaI), recompilar todo, y subir su propio resultado a VirusTotal para comparar. Sería una locura tanta molestia, les garantizo que el resultado sería muy muy similar.

fuente: http://thesatyrmag.com/computer-virus-vs-anti-virus/

Yo no puedo creer cómo los usuarios en general toleran convivir con estos monstruos. Siempre digo que en algún punto la informática se equivocó de camino y cuando nos dimos cuenta ya era demasiado tarde. Las baterías ya duraban menos de un día, los procesadores de texto tardaban en iniciar en un Core i11 con 32 núcles y 100GB de ram lo mismo que tardaban en su época sobre un Pentium 100 con 64MB, la Internet sin ad-blockers se había vuelto irreconocible, las actualizaciones tenían permiso para quitarte acceso a todo lo que habías hecho antes sin preguntar y aplicarse cuando más apurado estabas, los antivirus te mostraban la sandbox en la cara para que veas cómo desperdiciaban tu hardware mientras vos esperabas para trabajar, y hasta existían cosas como los full-stack-javascript-developers. No se cuando fue, pero ahora ya es tarde, ya hervimos cual rana, y ahora estamos en esta era post-apocalíptica.

En fin... hacía rato que no escribía, y no era de esta forma como pretendía volver a hacerlo; pero este tema me tiene muy ofuscado, y sobre todo porque me quita tiempo para hacer otras cosas, como por ejemplo escribir un post mejor y más útil. Este creo que solo me sirvió a mí, para descargar un poco, y para nada más.

13 comentarios:

  1. Grande Zaskar. Sos una inspiración para todos!

    ResponderEliminar
  2. Pienso Pablo, que deberías escribir un artículo y publicarlo, que contenga lo estúpidos que son los antivirus, para desacreditarlos a ellos.

    Por otro lado ánimo, continua con el proyecto, también pública esta queja en otros foros, tal vez se logre algo.
    Te recomiendo este foro, hay excelente desarrolladores (xcas, numworks, etc) que podrían dar posible soluciones.
    http://www.hpmuseum.org/forum/index.php


    ResponderEliminar
  3. Hola Pablo!!
    Fuerza, el proyecto lo vale y con creces.
    Que podemos hacer los usuarios para ayudar en está lucha despareja?
    Sugerencia, los de derecho de UNL te podrían ayudar redactando una nota a Sourceforge pidiendo que solucionen el problema y que TODOS LOS USUARIOS podríamos enviar para que tengan idea de la importancia del proyecto.
    Abrazo Campeón!!

    ResponderEliminar
    Respuestas
    1. El problema ya no es SF. SF sí responde rápido con las excepciones, y hace rato que ya no son necesarias. El problema son los antivirus, y ni siquiera es uno en particular. Es lamentablemente una tendencia general en esa industria.

      Eliminar
  4. Pablo, pienso que en la página principal de PSEINT deberías

    1: Anunciar esto, es decir lo que hacen los antivirus reportando esa errónea información.

    2: Una sección donde podamos firmar y comentar sobre PSEINT, es decir que por ejp en x universidad está instalado PSEINT en x equipos y el soporte de sistemas, respalda PSEINT, es seguro, muy útil en los entornos educativos universitarios, no posee malicioso etc.

    ResponderEliminar
  5. Los antivirus van a jode siempre Habría que saber que algoritmo usan los antivirus, que código toman como referencia, para decidir si un ejecutable, archivo ejecutable se lo considera un malware o no. El tema es que no hay antivirus libres.

    ResponderEliminar
  6. Pablo me gustaria colaborar en el proyecto de PSeInt si me lo permites contigo.

    ResponderEliminar
  7. Grandioso que exista alguien interesado en seguir desarrollando el proyecto, creo que puedes clonar el proyecto y trabajar independientemente.

    Tengo algunas sugerencias, puedes contactarme jhaimeza@gmail.com

    ResponderEliminar
    Respuestas
    1. Y usted quien es para darle sugerencias al gran Zaskar? que ha hecho? Algo que demuestre que sabes de lo que hablas? Algun proyecto open source que hayas participado.? o solo das sugerencias?

      Eliminar
    2. Hola anonymous, Mi amigo Pablo, a aceptado muchas ideas y sugerencias que le enviado, por favor revisa el historial de sugerencias, también he detectado varios BUGs (ver historial de reportes), aunque hay uno que aún está pendiente por resolver.

      escribir 5/-3

      Sobre mi experiencia puedes revisar hpcalc.org para encontrar mis aportes.

      Pablo comenta que en estas vacaciones continuará con el proyecto =)

      Eliminar
    3. No es personal, solo que Zaskar advierte lo frustrante que es lidiar con antivirus y usted quiere "firmar peticiones". Me pareció una falta de respeto.

      Eliminar
    4. Un amigo, administrador de un centro educativo y de la parte de sistemas, me informa que muchos proyectos que estaban alojados Sourceforge se movieron a otros sitios, debido al problema de falsos reportes. Pienso que Pablo debería al menos mover también su grandes proyectos.

      Gracias

      Eliminar
  8. ¿Y cuál es tu problema con JavaScript?

    ResponderEliminar