Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
Caractersticas de seguridad != seguridad en el software ............................................................................ 2 Los siete reinos peligrosos ............................................................................................................................ 3 Validacin y representacin de entradas ................................................................................................. 4 Abuso de la API ......................................................................................................................................... 4 Caractersticas de seguridad ..................................................................................................................... 4 Tiempo y estado........................................................................................................................................ 4 Manejo de errores .................................................................................................................................... 4 Calidad del cdigo ..................................................................................................................................... 5 Encapsulamiento....................................................................................................................................... 5 Entorno ..................................................................................................................................................... 5 Bibliografa .................................................................................................................................................... 5
Tabla 1. Vulnerabilidades de alto perfil descubiertas entre 2002 y 2007 en el software para mostrar imgenes
Programa zLib
Noviembre de 2002
Internet Explorer
Agosto de 2004
libPNG
Julio de 2005
zLib
Efecto Negacin de servicio de que afecta a varios programas, incluyendo aquellos que manejan imgenes PNG. Un archivo PNG puede ser usado para ejecutar cdigo arbitrario cundo se despliega en Internet Explorer. Negacin de servicio que afecta a los usuarios de Firefox, Opera, Safari y varios programas ms. El cdigo de renderizado JPG permite la ejecucin remota de cdigo arbitrario. Afecta a Internet Explorer, Microsoft Office y otros productos de Microsoft. Crea el potencial para la ejecucin remota de cdigo. Afecta a mucjos programas incluyendo aquellos que manejan imgenes PNG.
http://www.securityfocus.com/ bid/14162
Diciembre de 2005
Renderizar archivos WMF permite http://www.microsoft.com/ la ejecucin remota de cdigo technet/security/bulletin/ arbitrario. Explotable a travs de ms06-001.mspx Internet Explorer. Enero de Renderizar imgenes GIF permite la http://www.sunsolve.sun.com/ 2007 ejecucin remota de cdigo search/document.do?assetkey= arbitrario mediante un applet 1-26-102760-1 hostil. En lugar de concentrarnos en las formas de implementar las caractersticas de seguridad usando un modulo precargado o mediante un marco de trabajo, debemos identificar y evitar los errores comunes en el cdigo que no estn relacionados con la seguridad.
6. Calidad del cdigo 7. Encapsulamiento 8. * Entorno En realidad son ocho reinos, pero el octavo describe los asuntos de seguridad fuera del cdigo. Esta clasificacin sirve para describir los defectos genricos y los defectos especficos a un contexto.
Abuso de la API
Una API es un contracto entre un emisor y un destinatario. La mayora de las formas de abusar de la API son causadas porque el emisor no cumple con su parte del contrato. Otra forma de abuso es confiar en que una funcin de bsqueda DNS retornara informacin confiable. En este caso, el emisor abusa del destinatario asumiendo su comportamiento.
Caractersticas de seguridad
La seguridad en el software es ms que caractersticas de seguridad, a pesar de esto, es importante implementar las caractersticas de seguridad de forma correcta. Las caractersticas de seguridad se refieren a: autenticacin, control de acceso, confidencialidad, criptografa y manejo de privilegios. Escribir una contrasea de base de datos dentro del cdigo es un ejemplo de una caracterstica de seguridad mal implementada.
Tiempo y estado
Para mantener la cordura, a los programadores les gusta creer que el cdigo se ejecutara en forma ordenada, ininterrumpida y lineal. Los sistemas operativos que corren en sistemas multincleo, multiprocesador o en maquinas distribuidas, no siguen esta regla. Los defectos surgen cuando existe una brecha entre lo que el programador piensa y lo que pasa en la realidad. Estos defectos son causados por interacciones inesperadas entre los hilos, procesos, el tiempo y la informacin. Estas interacciones funcionan mediante el uso de estados compartidos: semforos, variables, el sistema de archivos y cualquier elemento que puede almacenar informacin. Los juegos en lnea como World of Warcraft frecuentemente contienen vulnerabilidades de tiempo y estado porque permiten que varios usuarios interacten de forma simultnea (Hoglund & McGraw, 2007).
Manejo de errores
Los errores y el manejo de estos representan un tipo de API, pero los errores relacionados con estos son tan comunes que requieren de un reino aparte. Al igual que con el abuso de la API, existen dos formas de introducir errores de seguridad. La primera y la ms comn es manejar los errores de forma dbil o
no manejarlos. La segunda es producir errores que revelan demasiado o que son difciles de manejar de forma segura.
Encapsulamiento
El encapsulamiento es tener fuertes fronteras. En un navegador web esto puede significar que el cdigo mvil no pueda ser usado por otro cdigo mvil. En el servidor esto pude significar la diferenciacin entre la informacin validada y la que no lo est, o entre la informacin que puede ver el usuario y la que no.
Entorno
Este reino incluye todo lo que esta fuera del cdigo pero que es crucial para la seguridad del producto. Los archivos de configuracin que gobiernan el comportamiento del programa y las banderas usadas para construir el programa son dos ejemplos de la influencia del entorno en la seguridad del software.
Bibliografa
BEA. (2004). WebLogic Server documentation. USA: BEA. Chess, B., & West, J. (2007). Secure Programming with Static Analysis. USA: Addison-Wesley Professional. Dowd, M., McDonald, J., & Schuh, J. (2006). The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. USA: Addison-Wesley Professional. Hoglund, G., & McGraw, G. (2007). Exploiting Online Games: Cheating Massively Distributed Systems. USA: Addison-Wesley Professional. Howard, M., & LeBlanc, D. (2003). Writing Secure Code. USA: Microsoft Press. Tsipenyuk, Chess, & McGraw. (2005). Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors. USA: Fortify Software.