25 mayo 2009

Comparativa de Seguridad Joomla, Wordpress, Drupal y Movable Type

Como ejercicio, vamos a comparar cuatro de los gestores de contenido más populares gratuitos: Drupal, Wordpress, Joomla!, y Movable Type.

Particularmente no creo en este tipo de comparativas y considero esta entrada casi como un artículo de opinión, ya que hay siempre cientos de condicionantes y puntualizaciones de los que hablaremos. Contemplarlos todos es prácticamente imposible. Además nos encontramos con que no sirve de nada tener el sistema más seguro si el administrador acaba poniendo de contraseña "qwerty" o si no actualiza nunca el software. Tampoco es justo comparar aplicaciones con funcionalidades distintas, ya que a mayor complejidad mayor número de vulnerabilidades se encontrarán.

El estudio puede ser usado para valorar la seguridad como un punto más si tenemos que decidir que aplicación utilizar.

La primera problemática es encontrar el número de vulnerabilidades por producto en una determinada ventana de tiempo, hay varios repositorios con esta información, pero cada uno muestra datos distintos, además de que hay notas de seguridad (advisories) que engloban más de un fallo de seguridad. Hemos seleccionado Secunia, CVE y los boletines oficiales de las aplicaciones para contabilizar estos datos.

Usando Secunia como fuente de datos, y limitando las vulnerabilidades al núcleo de la aplicación y no los módulos desarrollados por terceros, se obtiene las siguientes gráficas para lo que va de año 2009, 2008 y 2007.



De esta primera gráfica se observa que el único producto del que no se han reportado vulnerabilidades es WordPress, y el que mayor número de vulnerabilidades presenta es Drupal.



Para el año 2008, Drupal encabeza nuevamente el número de notas de seguridad, aunque Wordpress es la única que presenta un fallo de criticidad alta.



En el año 2007 Drupal y Movable Type no disponían de la versión actual: 6.x y 4.x respectivamente y se han utilizado los datos de sus versiones anteriores, 5.x y 3.x. Wordpress y Drupal encabezan nuevamente la lista con mayor número de fallos y criticidades más altas. Los dos gestores de contenido de los que menos vulnerabilidades se han reportado son Joomla y Movable Type.

En cuanto a la representación total del número de vulnerabilidades según Secunia y usando el histórico desde el 2003 hasta la fecha actual es la siguiente:



La realidad es que el uso de plugins/addons por parte de este tipo de productos es muy habitual. Las facilidades que presentan para el desarrollo de módulos por parte de terceros han de contemplar los peores escenarios posibles, y deben añadir el mayor número de puntos de control de seguridad para evitar que estos desarrollos sean vulnerables.

Se muestra una aproximación según CVE con el total de vulnerabilidades por productos, incluidos los módulos de terceros en tres casos distintos. El total de vulnerabilidades reportadas, únicamente las vulnerabilidades críticas, y las vulnerabilidades reportadas entre el 2008 y el 2009.



Según se muestra, Joomla! presenta muchas más vulnerabilidades que sus competidores, en gran parte por el número elevado de módulos disponibles. Drupal y Wordpress se mueven en marcos similares y Movable Type se destaca como el más seguro.

En la última gráfica se representan las vulnerabilidades según el fabricante para el año 2009. Esta información no corresponde en con las vulnerabilidades reportadas, ya que el fabricante decide si reportar y solucionar una vulnerabilidad o no.



Finalmente destacar que únicamente Droopal y Joomla disponen de un equipo de seguridad; Drupal Advirsorie Security Team y Joomla Security Strike Team, encargados de reportar y seguir los fallos encontrados. Para todos los casos se notifican vía RSS y correo las vulnerabilidades, aunque solo Joomla y Drupal disponen de portales dedicados a la seguridad. El producto que menos información y peor la remite es el de MovableType, que no dispone ni de una etiqueta asignada en su portal para referenciar las entradas de seguridad.

Las conclusiones y clasificación que yo obtengo de este análisis son las siguientes:
  1. Movable Type es sin duda el gestor con el menor número de vulnerabilidades y menos críticas, si bien es cierto que su uso es extendido no existen tantos módulos como para sus competidores y esto le está ahorrando sustos.
  2. Joomla! es un gestor potente sin apenas vulnerabilidades, pero ampliamente modulable y con problemas muy importantes en esta parte. El mantenimiento de este producto requerirá mucho esfuerzo y estar suscritos no solo a las alertas de seguridad del propio fabricante, si no la de todos los módulos que se usen.
  3. Wordpress tras el paso del 2007 ha mejorado su seguridad de forma muy significativa, aunque en el 2008 se reportó una vulnerabilidad alta en este año 2009 es el único del que no se ha reportado ninguna vulnerabilidad.
  4. Drupal no presenta ninguna vulnerabilidad crítica o alta desde el 2007, consolidándose como un producto seguro. Es modulable y existen muchos paquetes disponibles y al igual que en Joomla, peligrosos, por lo que se ha de tener especial atención en su mantenimiento.

Referencias:

12 comments :

Anónimo dijo...

Mantención!! y actualización constante.. y olvidarse de muchos módulos.

rajchekar

axier dijo...

Mantención!! O_o

Voy de asustamiento en asustamiento...

Anónimo dijo...

No encuentro el apartado de vulnerabilidades en la web de "La Confederación Vallisoletana de Empresarios" www.cve.es ;)

Alejandro Ramos dijo...

@anonimo: jajajaja, seguro que no has buscado bien!!! :)) Gracias por el aviso, ya está solucionado.

alt_tab dijo...

Bonita estadistica, claro que el resultado final depende mucho de los modulos que instalemos, personalmente me quedo con drupal

Alejandro Ramos dijo...

@alt_tab: y que me dejes un comentario completamente despersonalizado, con lo que nos une.... me entristeces! :-)

zaratustra27 dijo...

joomla 1.x? Que yo sepa hay dos grandes versiones: la 1.0.x que es el joomla original y que aunque todavía es popular está a punto de ser declarada obsoleta y sin soporte y la ya no tan nueva versión 1.5.x. Poner ambas versiones en un mismo saco es cuando menos hablar a la ligera

Alejandro Ramos dijo...

@zaratustra27: eso parece, una pena que habiendo grandes diferencias entre una y otra no se les diferencie en repositorios de vulnerabilidades de conocido prestigio como son Secunia y Mitre(cve), a los que te invito le comentes como es que comenten ese error.

Anónimo dijo...

el enlace de wordpress te envía a joomla xD

Interesante artículo, gracias! (de hecho andaba de pruebas con distintos gestores de contenidos ahora =P)

Alejandro Ramos dijo...

@zaratustra27: eso parece, una pena que habiendo grandes diferencias entre una y otra no se les diferencie en repositorios de vulnerabilidades de conocido prestigio como son Secunia y Mitre(cve), a los que te invito le comentes como es que comenten ese error.

Anonymous dijo...

el enlace de wordpress te envía a joomla xD

Interesante artículo, gracias! (de hecho andaba de pruebas con distintos gestores de contenidos ahora =P)

zaratustra27 dijo...

joomla 1.x? Que yo sepa hay dos grandes versiones: la 1.0.x que es el joomla original y que aunque todavía es popular está a punto de ser declarada obsoleta y sin soporte y la ya no tan nueva versión 1.5.x. Poner ambas versiones en un mismo saco es cuando menos hablar a la ligera