Un investigador australiano, Silvio Cesare, ha desarrollado una herramienta que es capaz de detectar vulnerabilidades en Linux de forma automática.
De acuerdo a sus estudios, los problemas y defectos que tienen las aplicaciones se deben en gran parte en la inseguridad de Internet. Él plantea que si se incorpora la detección de errores de forma temprana, desde la etapa de QA por ejemplo, se podría hacer que el software sea más seguro desde el comienzo.
En el modelo tradicional, para detectar paquetes con fallos, es necesario demostrar la lógica de Hoare. Sumado a eso, se realiza un control de modelado y un análisis estático. A su vez, actualmente, los desarrolladores normalmente hacen uso de código embebido de otros proyectos utilizando enlaces estáticos en vez de librerías externas. Eso significa que se mantiene una copia interna del código de la librería.
El problema, es que este comportamiento no es fomentado por las políticas de utilización de paquetes de Linux, ya que más de dos versiones de una librería necesitan ser mantenidas de forma adecuada. Las librerías viejas además, suelen tener fallos de seguridad.
Este problema afecta a más de 10 mil paquetes en varias distribuciones de Linux. De forma manual, en Debian por ejemplo, se puede localizar más de 400 paquetes, sin embargo en otras distribuciones no se rastrean paquetes en absoluto.
Entonces, se propone localizar estos paquetes embebidos en forma automática y de paso, crear un algoritmo que pueda inferir vulnerabilidades en el sistema. Para eso, se divide la problemática en tres partes:
- Determinar si un paquete A está embebido en un paquete B.
- Encontrar partes de los paquetes que compartan código.
- A través de las relaciones entre los paquetes, inferir posibles vulnerabilidades.
El enfoque planteado para solucionarlo consta de las siguientes premisas:
- Si un paquete tiene el nombre de otros paquetes como subconjunto, entonces se puede asumir que está embebido.
- Paquetes que comparten archivos están vinculados.
- Paquetes que comparten código también comparten sus vulnerabilidades y, además, paquetes equivalentes en varias distros, también comparten vulnerabilidades.
Para aquellos que les interese el proceso en mayor detalle, pueden recurrir a la página web de Silvio Cesare, en donde se encuentran sus publicaciones para descargar libremente.
Es importante resaltar que, a pesar de que su herramienta produce algunos resultados incorrectos, la velocidad con que automatiza la búsqueda es a nivel de segundos lo que hace que esta aplicación sea aún mucho más efectiva que los métodos manuales.
Raphael Labaca Castro
Especialista en Awareness & Research