domingo, 4 de noviembre de 2012

El antivirus Sophos introduce numerosas vulnerabilidades en el sistema

Tavis Ormandy lo ha vuelto a hacer. Se ha remangado y estudiado a fondo el comportamiento de este antivirus hasta encontrar numerosas vulnerabilidades muy interesantes tanto de diseño como de implementación. Pero lo que es peor, se ha topado con un producto que empeora la seguridad del sistema operativo, y con un laboratorio al que le cuesta corregir los problemas encontrados.

En agosto de 2011, Ormandypublicó un extenso estudio sobre Sophos, (llamado irónicamente "Sophail") en el que "ridiculizaba" la implementación de las protecciones que ofrecía el motor, desde el sistema de firmas hasta la protección de los desbordamientos de memoria que prometían, entre otras. Criticaba el uso de XOR para "cifrar", la parafernalia "psuedocientífica" que ostentaba su publicidad en contraste con la realidad de una implementación "inocente" contra algunos ataques... Incluso estudiaba abiertamente cómo el propio antivirus abría una superficie de ataque en el sistema para quien quisiera aprovecharla.

Bajo la segunda versión de ese documento, Ormandy se centra ahora en encontrar vulnerabilidades en el motor en sí y más problemas en la implementación. No han sido pocos los fallos encontrados. Entre ellos, algunos que empeoran la seguridad de Windows:

  • Ejecución de código al mandar analizar un binario especialmente manipulado en formato RAR, PDF, un ejecutable en Visual Basic y CAB.
        
  • Elevación de privilegios gracias a un problema de permisos en Sophos.
        
  • CrossSite Scripting a la hora de mostrar código HTML podría permitir el robo de cookies del usuario. Esto ocurre en la página de bloqueo de contenido supuestamente malicioso que muestra el antivirus en el navegador.
         
  • La protección Buffer Overflow Protection System (BOPS) de Sophos, lejos de proteger, carga en cada proceso del sistema una DLL sin ASRL activo, por lo que a efectos prácticos, inutiliza el ASRL del sistema.
         
  • El servicio Layered Service Provider (LSP, que bloquea contenido de Internet Explorer) carga módulos desde un directorio de integridad baja y escribible, lo que en la práctica inutiliza el modo protegido de Internet Explorer.

Los últimos dos errores, son sencillos de encontrar y a su vez bastante burdos y entrañan un profundo desconocimiento de la seguridad básica actual de Windows. Para detectarlas solo se necesitan mirar las características de los binarios que componen el producto Sophos. De hecho, Tavis arremete en el documento contra Sophos en este sentido:

"Uno de los "product manager" de Sophos dijo "La librería de Sophos Sophos_detoured.dll se ha compilado sin ASLR por motivos de rendimiento". Luego aclararon que esto no representa la posición del equipo de seguridad de la empresa y se debía a un malentendido."

Por tanto, no se trata solo de vulnerabilidades en el código: esos problemas ocurren en cualquier software y son totalmente comprensibles... Los fallos de Sophos parecen un grave problema de entendimiento de la seguridad de base, o al menos, descuidos imperdonables teniendo en cuenta que precisamente pretenden proteger al usuario. La frase de Ormandy con la que concluye el estudio, es muy reveladora:

"Sophos pudo convencerme de que trabajaban con buenas intenciones, pero realmente no disponían del equipo necesario para manejar la información descubierta por un investigador de seguridad que coopera en su tiempo libre. Me dijeron que trabajarían en esto y que mejorarían sus prácticas internas de seguridad."
De hecho, la mayoría de problemas (comunicados el 10 de septiembre) han sido resueltos ya y para los que no, está programada una actualización.

Más información:

Sophail: A Critical Analysis of Sophos Antivirus

Sophail: Applied attacks against Sophos Antivirus



Sergio de los Santos
Twitter: @ssantosv

No hay comentarios:

Publicar un comentario en la entrada