WebGL es vulnerable a ataques de denegación de servicio DoS

La especificación WebGL para la aceleración de gráficos desde el navegador puede ser el nuevo objetivo de ataque de los ciberdelincuentes, que pueden utilizar métodos complejos de renderizado para bloquear los equipos.

La especificación WebGL está diseñada para poder utilizar la aceleración de gráficos por hardware directamente desde los navegadores, una funcionalidad disponible con la nueva versión de HTML5. Se trata de una funcionalidad que se ha incluido por defecto en las últimas versiones de navegadores como Firefox y Chrome y que también se puede activar en Safari.

La especificación WebGL mejora exponencialmente la experiencia de usuario con los navegadores, pero no está exenta de brechas de seguridad
La especificación WebGL mejora exponencialmente la experiencia de usuario con los navegadores, pero no está exenta de brechas de seguridad

De hecho, muchos especialistas ven en WebGL la gran alternativa estándar de otras plataformas cerradas como Adobe Flash o Microsoft Silverlight, incluso con diversos beneficios como su arquitectura abierta o la posibilidad de que los contenidos puedan ser indexados por los motores de búsqueda.

No obstante, la consultora de seguridad Context ha detectado algunos problemas que podrían comprometer el rendimiento de los equipos y que permitirían la ejecución de código arbitrario por parte de los atacantes.

El agujero de seguridad se encuentra en la ejecución de peticiones de renderizado complejas, como por ejemplo los gráficos con elevados algoritmos para generar sombreados. Según esta compañía, se podrían producir ejecuciones de código infinitas (o bucles infinitos), lo que bloquearía las tarjetas gráficas de los equipos atacados, produciéndose la denegación de servicio.

De hecho, en la documentación de la especificación WebGL aparecen explicaciones detalladas sobre ello: “Es posible crear, de forma intencionada o no, combinaciones de sombreados y geometría que llevarán mucho tiempo en ser renderizadas”, lo que podría dejar a las tarjetas gráficas bloqueadas.

No obstante, también se especifican diversas formas para evitar este tipo de problemas por parte de los usuarios y se asegura en dicha documentación que las futuras versiones de WebGL los solventarán.