lunes, 19 de octubre de 2009

Rumorología antivirus

"A una colectividad se le engaña siempre mejor que a un hombre". A bote pronto esta afirmación de Pío Baroja puede parecer errónea, pero enseguida cobra sentido si pensamos en el fenómeno de la rumorología, cómo una información falsa puede expandirse con gran fuerza en un colectivo, donde los individuos actúan como cadenas propagando el rumor de forma inconsciente.

El origen de un rumor puede ser intencionado e interesado, de hecho es una de las técnicas bien conocidas para la manipulación de masas de cara a influir en el comportamiento voluntario de los individuos. "Miente, miente, que algo quedará. Una mentira repetida mil veces se convierte en una realidad", que decía Joseph Goebbels, ministro encargado de la propaganda nazi en tiempos de Hitler. En otras ocasiones el origen de un rumor no es intencionado, pero no por ello deja de ser menos efectivo.

¿Por qué se propaga un rumor?. Probablemente se pueda encontrar mucha literatura sobre la psicología del rumor, si bien una de las causas palpables es la falta de crítica y criterio propio de los individuos a la hora de dar por buena y propia la información que reciben. Hay que analizar y contrastar la noticia, que dirían los periodistas.

Otro aspecto interesante del rumor es que evoluciona y se intensifica al transmitirse. Cada uno de los individuos puede añadir elementos a la información para dotarla de mayor credibilidad de cara a terceros, por lo que el bulo crece con fuerza a medida que se propaga aprovechando las relaciones de confianza entre individuos. Una misma historia puede sonar más o menos convincente dependiendo del grado de confianza que tengas en el transmisor.

¿Pero que tiene todo esto que ver con los antivirus? ¿Vamos a hablar de los mensajes sobre falsos virus que pueden llegar a nuestro buzón y que la gente reenvía? Pues no, vamos a ver como los propios antivirus pueden verse afectados por la rumorología, como partiendo de una información falsa no analizada y contrastada pueden propagar y aumentar un error de forma inconsciente.

En el 2002 se llevó a cabo en España la II Campaña de Seguridad en la Red, encabezada por la Asociación de Internautas con la colaboración de diversas instituciones, desde el Ministerio de Ciencia y Tecnología hasta medios de comunicación. Entre otras actuaciones se facilitó de forma gratuita diverso software de seguridad: Antivirus de Panda, CheckDialer de Hispasec o una pequeña utilidad desarrollada por la propia Asociación de Internautas denominada "AlertVir". Es esta última la protagonista de nuestra historia.

AlertVir es una especie de "avisador", tipo cliente RSS para Windows, que muestra información sobre malware de nueva aparición. Un programa tan pequeño como legítimo e inofensivo. Algunas heurísticas de varios motores antivirus empezaron a detectar de forma errónea esta utilidad, es lo que llamamos "falso positivo":

CAT-QuickHeal: (Suspicious) - DNAScan
Fortinet: PossibleThreat
Norman: W32/Suspicious_U.gen
Sophos: Mal/Packer
Sunbelt: VIPRE.Suspicious

Como puede observarse las primeras detecciones eran muy genéricas, en los nombres dados se hace mención a "sospechoso" ó "posible amenaza". La clave sin embargo la podemos encontrar en la firma de Sophos que lo identifica como "Mal/Packer", lo que nos da una pista de porque algunos motores antivirus empezaron a detectarlo. El ejecutable de AlertVir está comprimido con la utilidad "UPack" para hacerlo más pequeño. Algunos creadores de malware también utilizan este tipo de utilidades para ofuscar sus especímenes, por lo que algunos antivirus optaron por el camino más fácil: identificar directamente como sospechoso cualquier software que utilice alguno de estos packers.

Lo que en principio fue un caso más de falso positivo y heurísticas paranoicas ha ido degenerando con el tiempo a medida de que otros antivirus detectaban la utilidad como malware, probablemente llevados a equívoco por alguna de esas primera detecciones. El caso es que ya no se trataba de heurísticas paranoicas basadas en el packer, sino que los motores empezaron a crear una firma específica para detectar a AlertVir identificándolo como malware con nombre propio:

AntiVir: PHISH/FraudTool.AlertVir.A
AhnLab-V3: Win-AppCare/Alertvir.46788
Authentium: W32/Alertvir.A
Comodo: ApplicUnsaf.Win32.FraudTool.AlertVir
eTrust-Vet: Win32/Tarliver.A
F-Prot: W32/Alertvir.A
F-Secure: FraudTool.Win32.AlertVir.a
VBA32: FraudTool.AlertVir.a
ViRobot: Adware.AlertVir.46788

Por las denominaciones antivirus podemos apreciar que en estos casos se trata de una identificación unívoca (AlertVir), no por heurística, y por los prefijos la mayoría lo cataloga como herramienta para llevar a cabo algún tipo de fraude (FraudTool).

¿Cómo es posible que distintos análisis llevados a cabo por laboratorios antivirus independientes lleguen a una misma conclusión errónea?. La respuesta es simple, porque no se han llevado a cabo esos análisis independientes, sino que se han dejado arrastrar e influenciar unos por otros (eufemismos aparte, porque se copian entre ellos).

Con el transcurso del tiempo la bola de nieve ha ido creciendo cual rumor, ya que cada uno de esos motores que identificaron erróneamente a la aplicación hacían más creíble que se trataba de un malware, y el resultado a día de hoy es que, nada más y nada menos, 31 motores antivirus identifican a AlertVir:

a-squared: Win32.SuspectCrc!IK
AntiVir: PHISH/FraudTool.AlertVir.A
Antiy-AVL: FraudTool/Win32.AlertVir.gen
Authentium: W32/Alertvir.A
Avast: Win32:Trojan-gen
AVG: Suspicion: unknown virus
BitDefender: Trojan.Small.AVB
CAT-QuickHeal: FraudTool.AlertVir.a (Not a Virus)
Comodo: Heur.Packed.Unknown
DrWeb: Trojan.Fakealert.380
eSafe: Win32.Trojan
eTrust-Vet: Win32/Tarliver.A
F-Prot: W32/Alertvir.A
F-Secure: Trojan.Small.AVB
Fortinet: PossibleThreat
GData: Trojan.Small.AVB
Ikarus: Win32.SuspectCrc
Jiangmin: TrojanDropper.Agent.aehe
K7AntiVirus: not-a-virus:FraudTool.Win32.AlertVir
Kaspersky: not-a-virus:FraudTool.Win32.AlertVir.a
McAfee-GW-Edition: Phish.FraudTool.AlertVir.A
nProtect: Trojan/W32.Small.46788
PCTools: FraudTool.AlertVir!sd5
Sophos: Sus/ComPack-C
Sunbelt: Trojan.Win32.Packer.Upack0.3.9 (v)
Symantec: Trojan Horse
TheHacker: Aplicacion/AlertVir.a
TrendMicro: TROJ_SMALL.FCY
VBA32: FraudTool.AlertVir.a
ViRobot: Adware.AlertVir.46788
VirusBuster: Packed/Upack

¿Es lícito que los antivirus se copien? Desde mi punto de vista, dado el aluvión de malware que sufrimos hoy día, es necesaria la colaboración entre antivirus. Es materialmente imposible que un solo laboratorio tenga capacidad suficiente para analizar al detalle todos los especímenes que surgen a diario. El caso "AlertVir" es un efecto colateral no deseado, pero en general la colaboración es beneficiosa para todos los antivirus y por ende para la seguridad global.

Para minimizar situaciones similares sí sería deseable establecer mejores controles antes de dar como buena la detección de otro motor, por muy reputado que nos parezca, y siempre evitando la copia de firmas indiscriminadas sin algún tipo de análisis independiente adicional (evitar el plagio sin más). Como con los rumores en el boca a boca, es necesario cierto sentido crítico antes de dar por buena la información que recibimos y hacernos eco de ella.

Otra área de oportunidad interesante es la colaboración de la industria para la gestión de los falsos positivos. Los errores son inevitables en cualquier actividad, y el determinar si un software es malintencionado o legítimo es una tarea más complicada cada día, no existe un algoritmo perfecto. Si a eso le sumamos que, dada la cantidad de malware, la industria se ha visto obligada de pasar de los analistas humanos a la automatización a la hora de discernir el goodware del malware, el ratio de errores se ha incrementado considerablemente.

Hasta la fecha los errores por falsos positivos se suelen gestionar de forma individual. En el propio caso "AlertVir" hubo al menos dos casas antivirus que rectificaron y eliminaron sus firmas de detección, si bien ese conocimiento no se propagó al resto de laboratorios. En la actualidad existen canales de colaboración para el intercambio de muestras de malware y amenazas en general, sería beneficioso que se establecieran mecanismos similares para corregir errores por ese "exceso de celo". La industria del desarrollo de software, cada vez más golpeada por los falsos positivos, lo agradecerá.


bernardo@hispasec.com
Bernardo Quintero


Más información:

Detección de alertvir.exe en VirusTotal
http://www.virustotal.com/analisis/ffb1db59eca78eceb66365d5dd4605a3a0e69c92f
bbb30e5b3e0e7b147b9a079-1255884096

Alertvir, paradojas antivirus
http://blog.hispasec.com/laboratorio/303

AlertVir
http://www.alertvir.es

1 comentario: