← Últimos artículos
💻 computer science

Extracting Database Access-Control Policies From Web Applications

Este artículo presenta Ote, una herramienta que utiliza la ejecución concolica para extraer y resumir automáticamente las políticas de control de acceso de aplicaciones web de Ruby on Rails, abordando la naturaleza propensa a errores de las implementaciones de seguridad implícitas y ad hoc y permitiendo la detección de errores de política.

Autores originales: Wen Zhang, Dev Bali, Jamison Kerney, Aurojit Panda, Scott Shenker

Publicado 2026-07-20
📖 6 min de lectura🧠 Análisis profundo

Autores originales: Wen Zhang, Dev Bali, Jamison Kerney, Aurojit Panda, Scott Shenker

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

El Mapa Secreto de la Jungla Digital

Imagina el internet como una ciudad enorme y bulliciosa donde cada sitio web es un edificio lleno de habitaciones, archivos y secretos. En esta ciudad, las bases de datos son las bóvedas gigantes donde se almacena toda la información importante —como calificaciones, mensajes privados o registros médicos—. Para mantener estas bóvedas seguras, cada edificio necesita un guardia de seguridad (una política de control de acceso) que decida quién puede entrar en qué habitación y qué se le permite observar.

Normalmente, estos guardias de seguridad son escritos por desarrolladores humanos. Ellos esconden las reglas dentro de los planos del edificio (el código) de una manera desordenada y dispersa. Podrían poner un cartel de "Prohibido el paso" en una puerta, una nota de "Solo personal" en una ventana y un acertijo complejo en la pared de un pasillo. Esto se llama una política implícita. El problema es que estas pistas dispersas son fáciles de pasar por alto, fáciles de errar y casi imposibles de entender para cualquier otra persona. Si un desarrollador deja el equipo, nadie sabe exactamente cuáles son las reglas. Es como intentar descifrar las reglas de un juego simplemente observando a la gente jugar, sin haber visto nunca el libro de reglas. Este artículo aborda la difícil tarea de encontrar ese libro de reglas oculto, limpiarlo y escribirlo para que todos puedan ver exactamente qué se le permite hacer a la computadora.


El Bot Detective que Lee la Mente del Código

Entra Ote, un nuevo detective digital diseñado para resolver el misterio de estas reglas de seguridad ocultas. Los investigadores detrás de Ote, un equipo de UC Berkeley y NYU, se dieron cuenta de que intentar leer el desordenado código de las aplicaciones web antiguas para encontrar las reglas es como intentar encontrar una aguja en un pajar con vendas en los ojos. En lugar de leer el código línea por línea, Ote decide jugar el juego.

Ote utiliza una técnica llamada ejecución concolica. Piensa en esto como un bot de videojuegos superpotente que no solo juega el juego una vez; lo juega millones de veces, probando todas las combinaciones posibles de entradas. Es como un detective que recorre un edificio, probando cada puerta, revisando cada ventana y anotando exactamente qué sucede cuando presiona un botón específico. Si el bot presiona un botón y un archivo secreto se abre, escribe: "Presionar el Botón A abre el Archivo B". Si presiona el Botón A y no pasa nada, también lo anota.

Pero aquí está la parte complicada: los sitios web reales son enormes. Si Ote intentara revisar cada ruta individual, tardaría una eternidad, ¡tal vez años! Para resolver esto, el equipo notó algo interesante sobre cómo funcionan estos sitios web. Descubrieron que la parte del código que realmente decide qué datos recuperar suele ser muy simple, como una lista corta de reglas de "si esto, entonces aquello". El resto del código es solo decoración elegante (como hacer que la página se vea bonita). Así que Ote ignora la decoración y se enfoca solo en la lógica simple.

Aún mejor, Ote tiene un asistente inteligente (un modelo de lenguaje de IA) que actúa como un juez de relevancia. Cuando el bot encuentra una rama extraña en el código, el asistente pregunta: "¿Esto importa para la seguridad?". Si la rama es solo sobre cambiar el color de una fuente o mostrar una etiqueta de "No oficial", el asistente dice: "¡Ignora eso!". Esto evita que Ote pierda el tiempo en callejones sin salida, convirtiendo una tarea que tomaría días en una que toma solo unas pocas horas.

Lo que Ote Encontró: Los Momentos "¡Ajá!"

El equipo probó Ote en tres aplicaciones del mundo real: diaspora (una red social), Autolab (una herramienta para tareas escolares) y The Odin Project (un sitio web de una escuela de programación). No solo querían ver si Ote podía funcionar; querían ver si podía encontrar errores que los humanos habían pasado por alto.

Los resultados fueron sorprendentes. Cuando el equipo comparó las reglas que Ote extrajo contra las reglas que ellos habían escrito a mano hace años, Ote encontró varios fallos:

  1. El Guardia de Permisos Excesivos: En el sistema Autolab, las reglas escritas por humanos accidentalmente permitieron que los "asistentes de curso" vieran datos sensibles en cursos que supuestamente estaban "deshabilitados". Solo los instructores deberían haber visto esos datos. Ote detectó esta filtración de inmediato.
  2. La Llave Faltante: En la red social diaspora, las reglas escritas por humanos olvidaron permitir el acceso a ciertas notificaciones y detalles de perfil que la aplicación realmente necesitaba para funcionar. Si hubieran aplicado las reglas antiguas, la aplicación habría dejado de funcionar para los usuarios reales.
  3. El Error Silencioso: El hallazgo más emocionante fue un error sutil en el propio código de Autolab. Hace años, un desarrollador escribió accidentalmente mal el nombre de una columna al configurar una verificación de seguridad. El código parecía estar verificando si un estudiante tenía permiso para ver un examen, pero debido a un error tipográfico, la verificación no estaba haciendo nada silenciosamente. La política extraída por Ote mostró que ninguna verificación estaba ocurriendo, lo que llevó al equipo a encontrar y corregir el error tipográfico.

El Veredicto: Una Mejor Manera de Escribir el Libro de Reglas

Ote no es una varita mágica que garantiza una seguridad perfecta. Admite que podría perderse algunas rutas muy raras o tener dificultades con códigos extremadamente complejos que no siguen reglas simples. Sin embargo, los experimentos demostraron que, para aplicaciones del mundo real, Ote es increíblemente útil. Puede extraer una lista clara y legible de reglas de seguridad (escrita en un lenguaje llamado SQL) en menos de cinco horas.

El artículo sugiere que usar Ote es como tener un segundo par de ojos que nunca se cansa. Ayuda a los desarrolladores a entender qué está haciendo realmente su código, en lugar de lo que creen que está haciendo. Al convertir la lógica desordenada y oculta en un libro de reglas claro y explícito, Ote ayuda a los equipos a detectar brechas de seguridad antes de que se conviertan en desastres. No reemplaza al desarrollador humano, pero les brinda una herramienta poderosa para asegurar que las bóvedas digitales permanezcan bien cerradas.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →