Viernes 11 de Octubre de 2013

Profundidad de navegación: Principal / Trucos, Terminal...

Desactivar Norton Antivirus con 8 instrucciones

Lic. Cristian F. Borghello: Si bien el título del artículo parece una exageración, no es así.

Los que me conocen saben que una de mis pasiones es la programación.

Hace un tiempo una empresa me planteo desarrollar un producto con un instalador. Como todo instalador, el mismo debía crear la carpeta donde posteriormente se copiaban los archivos de la aplicación en cuestión.
Grande fue mi sorpresa al comenzar a recibir quejas de usuarios de Norton Antivirus (NAV) que mencionaban que este detectaba mi instalador como posible "Script Malicioso de Alto Riesgo".

La acción que se detectaba como maliciosa era la detección de si una carpeta X existía y, posteriormente, la creación de la misma en caso negativo. Estas acciones eran realizadas con objetos de Scripting proporcionados por Windows para Visual Basic, el lenguaje de programación en el que estaba desarrollada la aplicación. Es decir que no se utilizaba nada extraño o rebuscado que podía ser interpretado como dañino (excepto para NAV claro).

Luego de consultas a la empresa de la que nunca obtuve respuesta decidí hacer algo.

A la luz de los hechos tenía dos caminos: encontrar una forma alternativa de hacer lo que NAV detectaba como malicioso o intentar "convencerlo" que en realidad mi instalador no hacia nada dañino más que crear una carpeta.

Si bien para la aplicación final se optó por la primera alternativa, la curiosidad me llevó a investigar un poco más pudiendo llegar a:

* desactivar NAV manualmente mediante el registro de Windows.
* desactivar la detección de ejecución de scripts de NAV mediante 8 instrucciones.
* que NAV se mantenga activo sin percatarse de lo anterior.
* que el usuario se crea protegido cuando en realidad no lo está, proporcionando una falsa sensación de seguridad.
* preguntarme ¿donde informa NAV o Symantec, la empresa desarrolladora, que esto puede suceder?

A modo de "Proof of Concept" pongo a disposición una mini-aplicación que demuestra el caso descripto.

Si Ud. tiene NAV desde 2002 a 2005 puede probarlo obteniendo el .ZIP que pongo a su disposición. Este script no ha sido probado en versiones posteriores a las mencionadas y según he comprobado no se aplica a la versión Corporate del producto en donde todo parece funcionar como corresponde, es decir que la creación de una carpeta no es detectado como acción dañina y no es tan fácil desactivar el scaneo de scripts.

Pero, de que estoy hablando el decir que NAV proporciona una falsa sensación de seguridad?

NAV trae una herramienta que tienen la posibilidad de detectar scripts maliciosos ("Script Blocking").

En el ZIP mencionado puede encontrarse:

* n1.jpg: captura de la aplicación ejecutada.
* n2.jpg: captura de "Script Blocking" de NAV 2005 activado.
* n3.jpg: captura del bloqueo de NAV al intentar crear una carpeta.
* norton.dll: .DLL encargada de contar y crear carpetas en el disco.
* norton.exe: aplicación que muestra botones para realizar distintas acciones.
* n.bat: registra la DLL y ejecuta la aplicación.
* uninstall.bat: desregistra la DLL.

Pasos a realizar:

1. Tener instalado NAV.

2. Obtener norton.zip y descomprimirlo en una carpeta.

3. Verificar que se tenga activado el "Script Blocking" como aparece en "n2.jpg".

4. Entrar en la carpeta creada y ejecutar n.bat. Este archivo registra la DLL necesaria y luego ejecuta la aplicación. Si no se registra esta DLL la aplicación fallará.

5. Una vez dentro de la aplicación se puede "Crear Carpeta". Si no se tiene NAV o si el mismo está desactivado se cuentan la cantidad de subcarpetas dentro de la carpeta actual y luego se crea la carpeta "Norton_1" dentro de la misma. Si se tiene NAV activado aparecerá un aviso como se muestra en "n3.jpg" avisando de la "acción dañina".

Seleccionamos "Stop this Script" y continuamos probando.
6. Con "Desactivar Norton" se desactiva la protección de ejecución de scripts de NAV, se cuenta la cantidad de carpetas y se crea la carpeta "Norton_2" como si NAV no estuviera instalado/activado. Aquí puede comprobarse que NAV no detecta la "acción dañina". Si volvemos a presionar sobre "Crear Carpeta", NAV no avisará y se creará la carpeta "Norton_1".

7. Verificar que "Script Blocking" sigue activado (el check sigue marcado). Como vemos la protección está desactivada pero NAV no lo informa.

8. Presionar "Borrar Carpeta". Este botón borrará las carpetas "Norton_1" y "Norton_2" creadas anteriormente.

9. Para volver activar la protección se debe desmarcar "Script Blocking" y volver a marcarlo.

10. Si desea, puede volver a probar para asegurarse que la protección se activó, aunque ahora no le encuentre la utilidad.

11. Desinstalar la aplicación ejecutando uninstall.bat. Esto desregistra la DLL. Si lo desea ya puede borrar la carpeta creada.

Según mi óptica NAV falla en tres importantes puntos:

* al detectar un script dañino cuando no lo es. Esto no pasa con otros antivirus y tampoco con la versión Corporativa de la misma empresa. Esto es un "falso positivo" y puede "perdonarse", pero siendo así Symantec debería dar respuesta a los desarrolladores de estas aplicaciones y hacer lo posible para solucionar este falso positivo.
* al seguir informando que el "Script Blocking" sigue activado NAV brinda una falsa sensación de seguridad al usuario.
* al no ser capaz de detectarse a si mismo como activo/desactivo y no informar al usuario de esta condición.

Y todo esto con 8 claves de registro, 8 DLL que reemplaza NAV, 8 INSTRUCCIONES !!!.

Los detalles no vienen al caso pero imagine que puede hacer un código dañino (no como el mío) luego de desactivar estas funciones, mientras Ud. piensa que está protegido.

Buenos Aires, 29 de julio de 2005

Fuente: Lic. Cristian F. Borghello
Fecha: 05/08/2009