Una revisión de auditoría de software , o auditoría de software , es un tipo de revisión de software en la que uno o más auditores que no son miembros de la organización de desarrollo de software realizan "Un examen independiente de un producto de software, proceso de software o conjunto de procesos de software para evaluar el cumplimiento de especificaciones, estándares, acuerdos contractuales u otros criterios". [1]
El término "producto de software" se refiere principalmente, aunque no exclusivamente, a algún tipo de documento técnico. La norma IEEE Std. 1028 [2] ofrece una lista de 32 "ejemplos de productos de software sujetos a auditoría", incluidos productos documentales como diversos tipos de planes, contratos, especificaciones, diseños, procedimientos, normas e informes, pero también productos no documentales como datos, datos de prueba y medios entregables.
Las auditorías de software se diferencian de las revisiones por pares y de las revisiones de gestión de software en que son realizadas por personal externo e independiente de la organización de desarrollo de software y se preocupan del cumplimiento de los productos o procesos, más que de su contenido técnico, calidad técnica o implicaciones gerenciales.
El término "revisión de auditoría de software" se adopta aquí para designar la forma de auditoría de software descrita en la norma IEEE Std. 1028.
Objetivos y participantes
"El objetivo de una auditoría de software es proporcionar una evaluación independiente de la conformidad de los productos y procesos de software con las normas, estándares, directrices, planes y procedimientos aplicables". [3] Se recomiendan los siguientes roles:
- El iniciador (que puede ser un gerente de la organización auditada, un representante del cliente o usuario de la organización auditada o un tercero) decide sobre la necesidad de una auditoría, establece su propósito y alcance, especifica los criterios de evaluación, identifica al personal de auditoría, decide qué acciones de seguimiento serán necesarias y distribuye el informe de auditoría.
- El Auditor Líder (que debe ser alguien "libre de prejuicios e influencias que puedan reducir su capacidad de realizar evaluaciones independientes y objetivas") es responsable de tareas administrativas tales como preparar el plan de auditoría y reunir y gestionar el equipo de auditoría, y de garantizar que la auditoría cumpla con sus objetivos.
- El registrador documenta anomalías, elementos de acción, decisiones y recomendaciones realizadas por el equipo de auditoría.
- Los auditores (que, al igual que el auditor principal, deben ser imparciales) examinan los productos definidos en el plan de auditoría, documentan sus observaciones y recomiendan acciones correctivas. (Puede haber un solo auditor).
- La organización auditada actúa como enlace con los auditores y les proporciona toda la información que estos solicitan. Una vez finalizada la auditoría, la organización auditada debe implementar acciones correctivas y recomendaciones.
Principios de una auditoría de software
Los siguientes principios de una auditoría deben reflejarse: [4]
- Oportunidad: Sólo cuando los procesos y la programación se inspeccionan continuamente en cuanto a su potencial susceptibilidad a fallas y debilidades, pero también en cuanto al análisis continuo de las fortalezas encontradas, o mediante análisis funcional comparativo con aplicaciones similares, se puede continuar con un marco actualizado.
- Apertura de código fuente: En la auditoría de programas cifrados se debe incluir una referencia explícita a cómo debe entenderse el manejo del código abierto. Por ejemplo, los programas que ofrecen una aplicación de código abierto pero que no consideran que el servidor de mensajería instantánea sea de código abierto deben considerarse críticos. Un auditor debe adoptar una posición propia respecto del paradigma de la necesidad de la naturaleza de código abierto en las aplicaciones criptológicas.
- Elaboración: Los procesos de auditoría deben estar orientados a un estándar mínimo determinado. Los procesos de auditoría de software de cifrado actuales suelen variar mucho en cuanto a calidad, alcance y eficacia, y también la experiencia en la recepción de los medios de comunicación suele dar lugar a diferentes percepciones. Debido a la necesidad de conocimientos especiales, por un lado, de poder leer códigos de programación y, por otro, de tener conocimientos de procedimientos de cifrado, muchos usuarios incluso confían en las declaraciones formales más breves. El compromiso individual como auditor, por ejemplo en cuanto a calidad, escala y eficacia, debe evaluarse reflexivamente y documentarse en la auditoría.
- Contexto financiero: Es necesaria una mayor transparencia para aclarar si el software se ha desarrollado comercialmente y si la auditoría se ha financiado con fondos comerciales (auditoría pagada). Es diferente si se trata de un proyecto privado o comunitario o si está detrás de él una empresa comercial.
- Referencia científica de las perspectivas de aprendizaje: cada auditoría debe describir los hallazgos en detalle dentro del contexto y también destacar los avances y las necesidades de desarrollo de manera constructiva. Un auditor no es el padre del programa, sino que cumple un papel de mentor si se lo considera parte de un círculo de aprendizaje PDCA ( PDCA = Planificar-Hacer-Verificar-Actuar). Junto a la descripción de las vulnerabilidades detectadas, debe incluirse también una descripción de las oportunidades innovadoras y el desarrollo de los potenciales.
- Inclusión de la bibliografía: el lector no debe basarse únicamente en los resultados de una revisión, sino que también debe juzgar de acuerdo con un ciclo de un sistema de gestión (por ejemplo, PDCA, véase más arriba), para asegurarse de que el equipo de desarrollo o el revisor estaba y está preparado para realizar un análisis más profundo y también para que, durante el proceso de desarrollo y revisión, esté abierto a los aprendizajes y a considerar las notas de los demás. En cada caso de auditoría, se debe incluir una lista de referencias.
- Inclusión de manuales de usuario y documentación: Además se debe verificar si existen manuales y documentación técnica y si estos se amplían.
- Identificar referencias a innovaciones: Las aplicaciones que permiten tanto la mensajería a contactos offline como online, es decir, que contemplan el chat y el correo electrónico en una misma aplicación -como también es el caso de GoldBug- deben ser testadas con alta prioridad (criterio de chats presenciales además de la función de correo electrónico). El auditor también debe destacar las referencias a innovaciones y fundamentar las necesidades de investigación y desarrollo futuras.
Esta lista de principios de auditoría para aplicaciones criptográficas describe, más allá de los métodos de análisis técnico, valores fundamentales que deben tenerse en cuenta.
Herramientas
Algunas partes de la auditoría de software se pueden realizar utilizando herramientas de análisis estático que analizan el código de la aplicación y evalúan su conformidad con los estándares, las pautas y las mejores prácticas. De la lista de herramientas para el análisis estático del código, algunas cubren un espectro muy amplio, desde la revisión del código hasta la arquitectura, y se pueden utilizar para realizar evaluaciones comparativas.
Referencias
- ^ IEEE Std. 1028-1997, Estándar IEEE para revisiones de software , cláusula 3.2
- ^ "IEEE 1028-2008 - Estándar IEEE para revisiones y auditorías de software". IEEE . Consultado el 12 de marzo de 2019 .
- ^ IEEE Std. 10281997, cláusula 8.1
- ^ Referencias a otros principios básicos de auditoría, en: Adams, David / Maier, Ann-Kathrin (2016): Estudio BIG SEVEN, mensajeros criptográficos de código abierto para comparar - o: Revisión integral de confidencialidad y auditoría de GoldBug, cliente de correo electrónico cifrado y mensajería instantánea segura, descripciones, pruebas y análisis de 20 funciones de la aplicación GoldBug basadas en los campos esenciales y métodos de evaluación de los 8 principales manuales de auditoría internacionales para investigaciones de seguridad de TI, incluidas 38 figuras y 87 tablas., URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf - Idioma inglés / alemán, Versión 1.1, 305 páginas, junio de 2016 (ISBN: DNB 110368003X - 2016B14779)