← Glosario
Desarrollo

¿Qué es Unsoundness?

Situación en la que las reglas que un lenguaje de programación afirma que son seguras son en realidad defectuosas o incompletas.

Definición

La falta de solidez (unsoundness) son situaciones en los lenguajes de software que contienen vulnerabilidades o brechas donde se violan reglas como la seguridad de tipos o la protección de memoria. Si una situación peligrosa que normalmente debería ser imposible según las reglas del lenguaje se vuelve posible debido a una falla en la propia lógica del lenguaje, esta situación se califica como unsound (no sólida). Generalmente surge de errores lógicos profundos en el compilador del lenguaje o en su biblioteca estándar.

Analogía: Es similar a que una caja fuerte de acero, cuyo cerrojo se dice que es imposible de romper, pueda abrirse con una horquilla para el pelo debido a un pequeño defecto de diseño en el ojo de la cerradura.

Cómo funciona

Los desarrolladores pasan por alto algunos escenarios extremos al diseñar u optimizar el lenguaje. Si un mecanismo que te permite escribir código seguro hace suposiciones erróneas en segundo plano, el programa puede bloquearse inesperadamente o presentar una vulnerabilidad de seguridad.

Dónde se usa

Es un concepto crítico que se aborda en los procesos de desarrollo de compiladores, en los diseños de lenguajes de bajo nivel y en las auditorías de seguridad.

Suele confundirse con

Es diferente de los errores de programación simples (bugs); significa que la promesa fundamental de fiabilidad del lenguaje se ve profundamente sacudida.

Preguntas y respuestas

¿Se observa en todos los lenguajes de software?

Especialmente en lenguajes como Rust, que tienen afirmaciones estrictas de seguridad, estas vulnerabilidades se toman muy en serio y se parchean de inmediato.

¿Cómo se soluciona?

Se actualiza el compilador del lenguaje para cerrar estos vacíos lógicos en las reglas.

Términos relacionados

Esta explicación se redactó en lenguaje sencillo para TreScout con IA y se tradujo automáticamente del original en turco · prevalece la versión turca. Si algo le parece erróneo o incompleto, escriba a hello@trescout.com. Leer en turco →