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 cumplimiento de especificaciones, estándares, acuerdos contractuales u otros criterios ". [1]
"Producto de software" se refiere principalmente, pero no exclusivamente, a algún tipo de documento técnico. IEEE Std. 1028 [2] ofrece una lista de 32 "ejemplos de productos de software sujetos a auditoría", incluidos productos documentales como varios 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 son distintas de las revisiones de pares de software y las revisiones de gestión de software en que las realiza personal externo e independiente de la organización de desarrollo de software, y se preocupan por el cumplimiento de los productos o procesos, más que por 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 IEEE Std. 1028.
Objetivos y participantes
"El propósito de una auditoría de software es proporcionar una evaluación independiente de la conformidad de los productos y procesos de software con las regulaciones, estándares, directrices, planes y procedimientos aplicables". [3] Se recomiendan los siguientes roles:
- El Iniciador (que puede ser un gerente en la organización auditada, un cliente o un representante del 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 la 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 sesgos e influencias que puedan reducir su capacidad para realizar evaluaciones objetivas e independientes") es responsable de tareas administrativas como preparar el plan de auditoría y reunir y administrar el equipo de auditoría, y de garantizar que la auditoría cumple sus objetivos.
- El registrador documenta anomalías, elementos de acción, decisiones y recomendaciones realizadas por el equipo de auditoría.
- Los Auditores (que deben ser, como el Auditor Líder, libres de sesgos) 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 proporciona un enlace con los auditores y proporciona toda la información solicitada por los auditores. Cuando se completa 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 encontrar una reflexión: [4]
- Oportunidad: Solo cuando los procesos y la programación se inspeccionan continuamente con respecto a su potencial susceptibilidad a fallas y debilidades, pero también con respecto a la continuación del análisis de las fortalezas encontradas, o mediante análisis funcional comparativo con aplicaciones similares, se puede actualizar un marco. continuará.
- Apertura de la fuente: Requiere una referencia explícita en la auditoría de programas encriptados, cómo debe entenderse el manejo de la fuente abierta. Por ejemplo, los programas que ofrecen una aplicación de código abierto, pero que no consideran el servidor de mensajería instantánea como código abierto, deben considerarse críticos. Un auditor debe tomar una posición propia ante el paradigma de la necesidad de la naturaleza de código abierto dentro de las aplicaciones criptológicas.
- Elaboración: los procesos de auditoría deben estar orientados a cierto estándar mínimo. Los recientes procesos de auditoría de software de cifrado a menudo varían mucho en calidad, alcance y eficacia, y también en la experiencia de recepción de los medios de comunicación, a menudo diferentes percepciones. Debido a la necesidad de un conocimiento especial por un lado y de poder leer el código de programación y luego, por otro lado, de tener también conocimiento de los procedimientos de cifrado, muchos usuarios incluso confían en las declaraciones más breves de confirmación formal. El compromiso individual como auditor, por ejemplo, en cuanto a calidad, escala y eficacia, debe evaluarse reflexivamente por usted mismo y documentarse en la auditoría.
- El contexto financiero: se necesita mayor transparencia para aclarar si el software se ha desarrollado comercialmente y si la auditoría se financió comercialmente (auditoría pagada). Hace una diferencia si se trata de un pasatiempo privado / proyecto comunitario o si una empresa comercial está detrás de él.
- Referencia científica de las perspectivas de aprendizaje: cada auditoría debe describir los hallazgos en detalle dentro del contexto y también resaltar el progreso y las necesidades de desarrollo de manera constructiva. Un auditor no es el padre del programa, pero desempeña el papel de mentor si se considera que el auditor forma parte de un círculo de aprendizaje de PDCA ( PDCA = Planificar-Hacer-Verificar-Actuar). Junto a la descripción de las vulnerabilidades detectadas también debe haber una descripción de las oportunidades innovadoras y el desarrollo de los potenciales.
- Inclusión de literatura: un lector no debe confiar únicamente en los resultados de una revisión, sino también juzgar de acuerdo con un circuito de un sistema de gestión (por ejemplo, PDCA, ver arriba), para asegurarse de que el equipo de desarrollo o el revisor estaba y está preparado. para llevar a cabo un análisis más profundo, y también en el proceso de desarrollo y revisión está abierto a los aprendizajes y a considerar las notas de los demás. Debe acompañarse una lista de referencias en cada caso de auditoría.
- Inclusión de manuales de usuario y documentación: Además, se debe verificar si existen manuales y documentación técnica, y si se amplían.
- Identificar referencias a innovaciones: Las aplicaciones que permiten enviar mensajes tanto a contactos offline como online, por lo que considerar el chat y el correo electrónico en una sola aplicación, como también es el caso de GoldBug, deben probarse con alta prioridad (criterio de chats de presencia además a la función de correo electrónico). El auditor también debe resaltar las referencias a las innovaciones y respaldar las necesidades de investigación y desarrollo adicionales.
Esta lista de principios de auditoría para aplicaciones criptográficas describe, más allá de los métodos de análisis técnico, en particular valores fundamentales que deben tenerse en cuenta.
Herramientas
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 califican su conformidad con los estándares, las pautas y las mejores prácticas. De la Lista de herramientas para el análisis de código estático, algunas cubren un espectro muy amplio desde el código hasta la revisión de la arquitectura, y podrían usarse 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" . Standards.ieee.org . 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, cripto-mensajeros de código abierto para comparar, o: Revisión y auditoría de confidencialidad integral de GoldBug, Cifrado de correo electrónico -Client & Secure Instant Messenger, Descripciones, pruebas y revisiones de análisis de 20 funciones de la aplicación GoldBug basadas en los campos y métodos esenciales de evaluación de los 8 principales manuales de auditoría internacionales para investigaciones de seguridad de TI que incluyen 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)