Auditoría SW

Metodologías de Auditoría

IA

Metodologías de Auditoría

Enfoques sistemáticos y marcos de referencia para auditorías efectivas de software

Auditoría al Código Fuente

Examina el código escrito por desarrolladores para identificar problemas de calidad, seguridad, mantenibilidad y cumplimiento de estándares.

Objetivos:

  • • Detectar vulnerabilidades de seguridad (inyecciones SQL, XSS, CSRF)
  • • Identificar anti-patrones y code smells
  • • Verificar cumplimiento de estándares de codificación
  • • Obtener métricas de complejidad (lizard)
  • • Evaluar complejidad ciclomática y acoplamiento
  • • Detectar código duplicado o redundante

Técnicas:

Análisis Estático (SAST)

Examina código sin ejecutarlo. Herramientas: SonarQube, Fortify, Checkmarx, Lizard

Revisión Manual

Peer review por expertos para lógica de negocio compleja

Análisis de Composición (SCA)

Audita dependencias y librerías. Herramientas: Snyk, WhiteSource, Black Duck

Auditoría al Código Binario

Examina software compilado o ejecutables cuando el código fuente no está disponible o se requiere validar la integridad del proceso de compilación.

Casos de Uso:

  • • Auditoría de software de terceros sin acceso a fuente
  • • Verificación de supply chain attacks
  • • Análisis de malware potencial en componentes
  • • Validación de procesos de build y firma de código

Técnicas:

Ingeniería Inversa

Decompiladores y desarmadores: IDA Pro, Ghidra, Hopper

Análisis Dinámico

Ejecución en sandboxes monitoreando comportamiento

Fuzzing

Inputs malformados para identificar crashes y vulnerabilidades

Auditoría al Rendimiento

Evalúa la capacidad del software para operar eficientemente bajo diferentes condiciones de carga, recursos y escenarios operacionales.

Dimensiones Evaluadas:

  • Tiempo de respuesta: Latencia de operaciones críticas
  • Throughput: Transacciones por segundo (TPS) o requests por segundo (RPS)
  • Utilización de recursos: CPU, memoria, I/O, red
  • Escalabilidad: Capacidad de manejar crecimiento de carga
  • Estabilidad: Ausencia de memory leaks y degradación en el tiempo

Tipos de Pruebas:

Pruebas de Carga: Simular carga esperada normal y pico
Pruebas de Estrés: Llevar el sistema más allá de límites operacionales
Pruebas de Resistencia: Operación prolongada bajo carga sostenida
Pruebas de Escalabilidad: Evaluación de scaling horizontal y vertical

Herramientas:

JMeter, Gatling, Locust, K6, Prometheus, Grafana, New Relic, Datadog

Cumplimiento de Requerimientos

Verifica que el software implementado cumple con las especificaciones funcionales y no funcionales definidas.

Proceso:

  1. 1. Revisión de documentación: Especificaciones, casos de uso, user stories
  2. 2. Trazabilidad: Mapeo de requerimientos a implementación y tests
  3. 3. Validación funcional: Ejecución de tests de aceptación
  4. 4. Verificación de no-funcionales: Rendimiento, seguridad, usabilidad, accesibilidad

Herramientas de Gestión:

Jira: Con plugins de trazabilidad
Azure DevOps: Work items y test cases
IBM DOORS: Para entornos altamente regulados
Polarion: ALM completo con trazabilidad

Matriz de Trazabilidad

Relaciona cada requerimiento con:

  • • Diseño técnico
  • • Código implementado
  • • Test cases
  • • Resultados de validación

Auditoría de Documentación

Evalúa la calidad, completitud, precisión y actualidad de toda la documentación asociada al software.

Documentación Técnica:

  • • Arquitectura de software y diagramas
  • • Documentación de APIs (Swagger/OpenAPI)
  • • Manuales de instalación y configuración
  • • Diagramas de base de datos
  • • Código comentado y documentación inline

Documentación de Usuario:

  • • Manuales de usuario finales
  • • Guías de inicio rápido
  • • FAQs y troubleshooting
  • • Videos tutoriales y demos
  • • Release notes

Criterios de Evaluación:

Completitud ¿Cubre todos los aspectos necesarios?
Precisión ¿La información es correcta y actual?
Claridad ¿Es comprensible por la audiencia objetivo?
Accesibilidad ¿Fácilmente localizable y navegable?

Auditoría de Seguridad

Evaluación integral de controles de seguridad implementados para proteger confidencialidad, integridad y disponibilidad.

Categorías de Seguridad:

Autenticación y Autorización

  • • Mecanismos de autenticación (MFA, SSO, OAuth2)
  • • Control de acceso basado en roles (RBAC)
  • • Gestión de sesiones y tokens
  • • Políticas de contraseñas

Seguridad de Datos

  • • Encriptación en reposo (AES-256)
  • • Encriptación en tránsito (TLS 1.3)
  • • Tokenización y enmascaramiento
  • • Gestión de claves criptográficas

Seguridad de Aplicación

  • • Validación de inputs
  • • Protección contra inyecciones (SQL, LDAP, OS)
  • • Protección CSRF y XSS
  • • Manejo seguro de errores y logging

Seguridad de Infraestructura

  • • Hardening de servidores
  • • Segmentación de red
  • • Firewalls de aplicación web (WAF)
  • • Protección DDoS

Estándares de Referencia:

OWASP Top 10

SANS Top 25

CWE/SANS

NIST Framework

Metodologías y Marcos de Trabajo

OWASP

Open Web Application Security Project - Estándares de seguridad web

OWASP Top 10

Riesgos de seguridad más críticos

ASVS

Application Security Verification Standard

NIST

National Institute of Standards and Technology

Cybersecurity Framework

Marco integral de ciberseguridad

SP 800-218

Secure Software Development Framework

ISO/IEC

Estándares internacionales de calidad y seguridad

ISO 27001

Gestión de seguridad de la información

ISO 25010

Modelos de calidad de software

ARIA/WCAG

Estándares de accesibilidad web

WCAG 2.1

Web Content Accessibility Guidelines

WAI-ARIA

Accessible Rich Internet Applications

COBIT

Control Objectives for Information and Related Technologies

COBIT 2019

Gobernanza y gestión de TI empresarial

CMMI

Capability Maturity Model Integration

CMMI-DEV

Desarrollo de productos y servicios

Proceso General de Auditoría

1

Planificación

Definir alcance, objetivos, recursos y cronograma

2

Ejecución

Recolección de evidencia, análisis y pruebas técnicas

3

Informe

Documentación de hallazgos y recomendaciones

4

Seguimiento

Verificación de implementación de mejoras