Algunas personas están hablando acerca de una técnica llamada “whitelisting” como si fuese el caballero montando al caballo blanco a punto de salvar al mundo. Esto es así... en las novelas de fantasía.

Creo tener algo de experiencia cuando se habla de whitelisting. Fue mi trabajo en Microsoft por más de siete años. Mi trabajo era asegurarme que Microsoft no lanzara ni firmara digitalmente ningún código malicioso. ¿Como hacía eso? Usaba mucho, como sabrán, software antivirus. Utilicé ESET NOD32 Antivirus para contar con la mejor detección de amenazas desconocidas que nadie había visto antes y de las cuales no había firmas actualizadas.

Esta es la historia del club de fans de Whitelistening. Los antivirus no pueden protegernos de nuevas amenazas para las que no hay firmas. Whitelistening sólo permite ejecutar programas conocidos, para prevenir ataques de los cuales no se tiene conocimiento.

Para empezar, ESET NOD32 Antivirus detecta y bloquea amenazas desconocidas desde hace ya varios años. Utilizamos, como muchas empresas de AV, una técnica llamada “Heurística” que nos permite identificar amenazas desconocidas, a pesar de no estar en las firmas. El fans club de whitelist no ha mirado a ninguna tecnología antivirus desde que Windows 95 era un sistema totalmente nuevo.

Whitelistening no sólo nos permite ejecutar únicamente programas “benignos”, sino que también nos permite ejecutar cualquier programa que nosotros definamos como “benigno”. Si definimos un programa malicioso en una whitelist, el mismo se va a ejecutar y realizar acciones malignas, sin importar si el producto puede detectarlo ya sea por heurística o por base de firmas.

Hay varios tipos y formas de whitelistening, realicemos un vistazo:

Las firmas digitales están desarrolladas para hacer whitelist en programas y sitios web. La idea es que, si un programa o sitio web está firmado digitalmente por una fuente confiable y tiene un “certificado de autoridad”, entonces se puede usar tranquilamente el programa o sitio web. Microsoft usa firmas digitales para sus archivos ejecutables. Si el archivo cambia, el certificado digital se rompe, por lo tanto, usted no lo va a ejecutar. Si se confía en certificados equívocos, puede ser un problema. Este es uno de los ataques contra este tipo de white list.

Incluir sitios web en la lista puede ser otra solución para la seguridad. La idea es que usted solamente navegue en sitios conocidos y definidos como “benignos”. Esto no tiene nada que ver cuando un sitio “benigno” y conocido es hackeado, como ocurrió con el sitio de Miami Dolphins, en el último Super Bowl. Los hackers colocaron un exploit en el sitio, del cual se descargaba un troyano que comprometía el equipo de los usuarios.

Hay miles de sitios web conocidos y supuestamente benéficos que han sido comprometidos. MSN, Tomshardware.com, y recientemente Monster.com, todos sitios de alto tráfico, y de buen perfil, sitios “benignos” que probablemente se encuentren en este tipo de white list.

Incluir programas ejecutables en la lista, es otro tipo de whitelist. Algunos piensan que es la salvación. Incluso si no se agregan sitios web a la whitelist, el programa que intenta descargarse no se ejecutará porque no se encuentra en la misma.

La forma obvia de sobrepasar esto, es usando un exploit que modifique un proceso en memoria. No hay necesidad de utilizar ningún archivo y la técnica es utilizada por rootkits y otras amenazas que son capaces de deshabilitar cualquier software de seguridad, como pueden ser antivirus, firewalls, programas de white listing, y probablemente cualquier otro software similar.

¿Cómo hacen las compañías para agregar programas a la white list? Utilizan mucho software antivirus. Las aproximaciones usadas para el whitelisting son imperfectas, basándonos en que no verifican si un programa es benigno, verifican que están confiando en la fuente que les dice que ninguna amenaza ha sido encontrada en el programa. La única forma de saber que un programa es realmente benigno es accediendo al código de fuente del mismo y observarlo, o descompilarlo e ir verificando por el archivo entero para ver qué es lo que está realizando realmente. Esto no es realizado por las compañías de whitelisting y no puede ser realizado por ellos. Es por ello que estas empresas recaen en confiar en la fuente y terminan utilizando software antivirus.

En la práctica, los programas malignos están en la whitelist todo el tiempo. ¿No llamaríamos nosotros “maligno” a un programa con una seria o critica vulnerabilidad? Por supuesto que si, pero todos los programas, como Acrobat, Quicktime, y los sistemas operativos de Microsoft, Apple, Linux y otros, estarían listados. El problema es que no podemos parchear estos programas hasta que el parche esté listado. ¿Nos quedamos con el archivo inseguro listado o lo eliminamos? En algunos casos, las compañías podrían querer seguir usando el archivo imperfecto por una razón legítima de negocios, pero si no se encuentran en la whitelist, entonces necesitarían crear exclusiones y quitar las mismas.

La enorme cantidad de nuevos programas desarrollados día a día, que son genuinos y benignos, hacen que mantener una whitelist sea una tarea que requiera mucha atención y por sobre todo, tiempo y dinero.

Whitelisting puede ser una valiosa adición en una estrategia de defensa profunda, pero no es una completa defensa.

¿Podría imaginarse diciéndole a alguien, que como los airbag le agregan seguridad a los autos, no se necesita más el cinturón de seguridad? Bueno, la persona que le dice que el whitelisting reemplaza a los antivirus, es como un airbag llamando obsoleto a un cinturón de seguridad.

Randy Abrams
Director of Technical Education