Miércoles, 30 de Diciembre de 2015

Un bug en el sistema penitenciario de EE.UU. liberó a más de 3200 presos desde 2002

Este fallo de seguridad en el programa penitenciario calculaba de forma errónea las fechas de liberación de los prisioneros.

El Departamento de Correcciones de Estado de Washington (DoC) enfrenta una investigación luego de que saliera a la luz un bug en su sistema responsable de la liberación prematura de 3200 presos desde 2002 hasta la actualidad.

Este fallo de seguridad en el programa calculaba de forma errónea las fechas de liberación de los prisioneros una vez que se les aplicaba reducción de condena por buena conducta. Durante los 13 años que se sostuvo este bug, se redujeron penas de más de 3200 convictos.

“Que este problema se sostuviera por 13 años me decepciona muchísimo y es inaceptable. No tengo idea como puede haber pasado y acepto que un juzgado tenga algunas preguntas para hacerle a los responsables”,explicó el gobernador de Washington, Jay Inslee.

Esta brecha estuvo presente en el software del DoC desde que la Corte Suprema incluyó el sistema de “créditos” por buen comportamientos para los prisioneros. Para sumar esta característica al programa debieron actualizar la aplicación, aunque ese código se encontraba defectuoso.

Sin embargo, lo que preocupa todavía más a las autoridades es que el DoC reportó esta falla en diciembre de 2012, cuando una familia asaltada se dio cuenta que su agresor sería liberado pronto, sin cumplir el tiempo de su condena original. En ese entonces, la institución reportó el fallo y pidió que se solucione “lo antes posible”, aunque tuvieron que pasar tres años para que se retomara el asunto.

Fuente: TheHackerNews

Últimos lanzamientos Ver más

  • Sebastian

    Lean la nota, dice que el bug estaba presente cuando reducia la pena por buena conducta y habla de “creditos” que asumo se cambiaban por dias u horas menos de condena. Voy a asumir que el bug esta en la logica que convierte dichos creditos en tiempo de condena. Igual, donde la ven que los programadores tengan que ir presos?

  • Ariel

    Que increible, delincuentes tuvieron libertad antes tiempo por un mal calculo de software, los programadores tendrian que ir presos

    • Andres Bordese

      Todo depende del contrato que hayan firmado. Debieron haber hecho más testing, de eso no cabe ninguna duda.

      Difícilmente hayan pagado lo que hace falta para hacer verificación formal (lo cual garantiza la ausencia de errores, aunque consume mucho tiempo y $), por lo que es entendible que haya errores. Sólo los sistemas críticos pasan por verificación formal, como por ejemplo los sistemas de control de un cohete.

    • Ariel

      Entiendo lo que decis, pero estamos hablando de un soft que hace cuentas con fechas !!

    • Eso justamente no entendí, ¿cómo es posible que un software calcule mal una fecha? El programa tendría que estar muy mal programado a propósito, no hay manera de errarle.

    • Juan

      Puede ser que el requerimiento fue incorrecto. Desde el punto de vista del programador, estaba bien y era lo que le pidieron. Desde el otro lado, se dieron cuenta de que lo que pidieron no era lo que necesitaban.

    • holydrake

      Estoy de acuerdo

    • holydrake

      Si, es posible, a veces las bases de datos tienen el formato invertido, o bien en algun momento se puede perder el valor de la variable, y el tester debe ser diferente a quien programa o desarrolla el soft, cosa que en la realidad no ocurre porque cuesta mucho dinero.

    • waomda

      A lo mejor no son tan sencillos los cálculos y/o fórmulas en ese sistema de créditos, no creo que el error pase por no saber calcular fechas.

      Saludos.

    • holydrake

      Es un hecho a lo sumo culposo, no se puede probar que haya habido intención, no por ende no hay dolo y la culpa es de la empresa que no invirtió horas en testing, hay pruebas que en la mayoría de los casos se les escapa a los desarrolladores. Una persona ajena al proyecto siempre es destinada a hacer los casos de prueba, pero por una cuestión de costos siempre se le asigna esa tarea al programador, y esto es lo que termina sucediendo.