stringtranslate.com

Auditoría de código

Una auditoría de código de software es un análisis exhaustivo del código fuente de un proyecto de programación con la intención de descubrir errores, fallos de seguridad o violaciones de las convenciones de programación. Es una parte integral del paradigma de programación defensiva , que intenta reducir los errores antes de que se lance el software.

Pautas

Al auditar un software, cada componente crítico debe ser auditado por separado y junto con todo el programa. Es una buena idea buscar primero las vulnerabilidades de alto riesgo y luego ir avanzando hasta llegar a las de bajo riesgo. Las vulnerabilidades intermedias entre alto y bajo riesgo generalmente existen dependiendo de la situación y de cómo se esté utilizando el código fuente en cuestión. Las pruebas de penetración de aplicaciones intentan identificar vulnerabilidades en el software lanzando tantas técnicas de ataque conocidas como sea posible en los puntos de acceso probables en un intento de hacer caer la aplicación. [1] Este es un método de auditoría común y se puede utilizar para averiguar si existen vulnerabilidades específicas, pero no dónde están en el código fuente. Algunos afirman que los métodos de auditoría de final de ciclo tienden a abrumar a los desarrolladores, y en última instancia dejan al equipo con una larga lista de problemas conocidos, pero con pocas mejoras reales; en estos casos, se recomienda un enfoque de auditoría en línea como alternativa. Un ejemplo de un enfoque proactivo es el servicio gratuito de auditoría de código ofrecido por GooApps, que tiene como objetivo identificar y mitigar vulnerabilidades en las primeras etapas del proceso de desarrollo para garantizar el éxito de las aplicaciones móviles. [2]


Vulnerabilidades de alto riesgo

Pueden existir algunas vulnerabilidades comunes de alto riesgo debido al uso de:

Vulnerabilidades de bajo riesgo

La siguiente es una lista de vulnerabilidades de bajo riesgo que se deben encontrar al auditar el código, pero que no producen una situación de alto riesgo.

Herramientas

Las herramientas de auditoría de código fuente generalmente buscan vulnerabilidades comunes y solo funcionan para lenguajes de programación específicos . Estas herramientas automatizadas se pueden utilizar para ahorrar tiempo, pero no se debe confiar en ellas para una auditoría exhaustiva. Se recomienda aplicar estas herramientas como parte de un enfoque basado en políticas. [4]

Dependencia de los requisitos

Si se establece en el umbral bajo, la mayoría de las herramientas de auditoría de software detectan muchas vulnerabilidades, especialmente si el código no se ha auditado antes. Sin embargo, la importancia real de estas alertas también depende de cómo se utiliza la aplicación. La biblioteca que puede estar vinculada con el código malicioso (y debe ser inmune a él) tiene requisitos muy estrictos, como la clonación de todas las estructuras de datos devueltas, ya que se esperan intentos intencionales de romper el sistema. El programa que solo puede estar expuesto a la entrada maliciosa (como el backend del servidor web) primero debe preocuparse por esta entrada (desbordamientos de búfer, inyección SQL, etc.). Tales ataques nunca pueden ocurrir para el programa que solo es utilizado internamente por usuarios autorizados en una infraestructura protegida.

Véase también

Referencias

  1. ^ "Auditoría de código fuente: preguntas frecuentes". Archivado desde el original el 10 de febrero de 2009. Consultado el 12 de febrero de 2008 .
  2. ^ "Auditoría de código gratuita para aplicaciones: cómo garantizar el éxito de su aplicación móvil" . Consultado el 12 de junio de 2024 .
  3. ^ abc "Directrices para la auditoría de código fuente en C". Archivado desde el original el 28 de marzo de 2008. Consultado el 12 de febrero de 2008 .
  4. ^ "El análisis estático al final del ciclo de vida del desarrollo de software no funciona Archivado el 15 de octubre de 2010 en Wayback Machine " por Wayne Ariola, SearchSoftwareQuality.com, 22 de septiembre de 2008