Code Review · Caja Blanca · OWASP ASVS · SAST

Auditoría de
Código Fuente

La Auditoría de Aplicaciones puede abordarse desde una vertiente de caja negra o de caja blanca, en la que se dispone y audita el Código Fuente de la aplicación, pero se requiere un componente manual capaz de asimilar el contexto de la aplicación para obtener resultados óptimos, y esa capacidad es la que ofrecemos en Internet Security Auditors.

Contexto
Comprensión de la aplicación, su arquitectura y requisitos
Revisión
Análisis manual y automatizado del código fuente
Documentación
Informe con hallazgos y guías de desarrollo seguro
El servicio

¿Qué es una Auditoría de Código Fuente?

Las empresas normalmente incluyen en su sitio Web pequeñas aplicaciones (Applets, CGIs, ActiveX, etc.) que ayudan a gestionar los datos enviados por los usuarios (datos personales, pedidos, pagos online, control de acceso, etc.). Existen también otras empresas que utilizan su sitio Web para realizar una gran variedad de operaciones con sus clientes/proveedores/personal (p.e. portales corporativos, brokers/banking online, e-commerce, extranets, etc.) y esto implica la utilización de una compleja aplicación que se ejecuta en el servidor Web o de aplicaciones y que gestiona todas estas operaciones.

El proceso de auditar Aplicaciones está planificado en las fases que se presentan a continuación:

Código
El lenguaje de programación y las funcionalidades y particularidades de este desde el punto de vista de la seguridad dado que el objetivo del proyecto será definir las mejoras posibles para conseguir implantar unas buenas prácticas en seguridad en desarrollo en ese lenguaje concreto.
Contexto
Es necesario familiarizarse con la aplicación a revisar. La seguridad que se pretende alcanzar vendrá definida por los requerimientos de negocio de donde se usa la aplicación, qué datos manipula y cuáles serían las consecuencias de un acceso ilegítimo a esta información.
Audiencia
Puede ser conveniente disponer de la colaboración de usuarios de las aplicaciones que faciliten información sobre la aplicación auditada. Conocer cómo se han implementado controles de seguridad en los aspectos críticos y claves en esta permitirá conocer dónde pueden encontrarse aquellas deficiencias más relevantes.
Topología
Situación de la aplicación y sus componentes dentro del contexto de la red (en algunos casos se prescindirá de la revisión de estos aspectos).
Importancia
Es necesario conocer la necesidad de disponibilidad de la aplicación y el efecto de la pérdida de ésta para el negocio.
Nuestros servicios

Cómo trabajamos

Nuestra metodología nos permite llevar a cabo una exhaustiva revisión sobre las aplicaciones auditadas cubriendo los siguientes aspectos de seguridad:

01Autenticación
Se audita que todas las conexiones internas y externas (usuarios y entidades) pasan a través de un apropiado y adecuado sistema de autenticación y asegurar que estos controles no pueden ser sobrepasados; todas las páginas o zonas de la aplicación requieren la autenticación adecuada; aquellos puntos donde se transmiten credenciales o información sensible se emplean POST; que las credenciales se transmiten cifradas; etc.
02Autorización
Se comprueba que se hayan implementado los mecanismos adecuados de autorización; definido claramente los tipos o perfiles de usuario y los derechos de dichos usuarios; se emplea la premisa de “mínimos privilegios”; autorización en cada petición; etc.
03Gestión de Cookies
Se revisa que las cookies no incluyen información sensible; que no se pueden realizar acciones no autorizadas mediante su manipulación; se emplea cifrado y transmisión no segura; los datos de sesión se validan correctamente y la cookie mantiene la menor cantidad de información posible; etc.
04Validación de Datos de Entrada
La auditoría verifica que existen mecanismos de Validación de Datos robustos e incluyen todos los datos que pueden ser modificados por un usuario malicioso como cabeceras HTTP, campos de entrada, campos ocultos, datos de listas, cookies, cabeceras/datos HTTP; que todas las comprobaciones de validación de datos en el servidor y no en el lado del cliente; que no existen puertas traseras en el modelo de validación; etc.
05Gestión de Errores/Fugas de Información
En este punto se revisa que todos los métodos/funciones que devuelven valores tienen una correcta gestión de errores y devuelven valores comprobados y esperados en condiciones de error. Gestionando excepciones y situaciones de error; que no se devuelven errores del sistema al usuario; la aplicación falla de “forma segura”; etc.
06Registro/Auditoría
Se audita que ningún tipo de información sensible se almacena en los registros de la aplicación: cookies, información en métodos “GET”, credenciales de autenticación, etc.; la aplicación registra las acciones que se producen en la aplicación por parte de los usuarios y especialmente en casos de acciones potencialmente peligrosas; todos los eventos de autenticación, fallidos o no, se registran; etc.

Alcance del servicio

Qué engloba este servicio

Autenticación

Comprobación de que todas las conexiones internas y externas pasan por un sistema de autenticación adecuado que no puede ser eludido, y de que las credenciales se transmiten cifradas.

Autorización

Revisión de los mecanismos de autorización, la definición de perfiles de usuario y sus derechos, la aplicación del principio de mínimos privilegios y la autorización en cada petición.

Gestión de cookies

Verificación de que las cookies no contienen información sensible, no permiten acciones no autorizadas al manipularlas y mantienen los datos de sesión validados y mínimos.

Validación de datos de entrada

Análisis de los mecanismos de validación sobre todos los datos que puede modificar un usuario malicioso, realizada en el servidor y sin puertas traseras en el modelo de validación.

Gestión de errores y fugas de información

Revisión de la gestión de errores y excepciones para que la aplicación falle de forma segura y no devuelva errores del sistema al usuario.

Registro y auditoría

Comprobación de que los registros no almacenan información sensible y de que se registran las acciones de los usuarios, los eventos de autenticación y las acciones potencialmente peligrosas.

Lo que dicen nuestros clientes

Organizaciones que confían en nosotros

FAQ

Preguntas frecuentes

¿Qué lenguajes de programación podéis auditar?

Nuestro equipo tiene experiencia en la revisión de código en cualquier lenguaje: Java, C#, Python, PHP, JavaScript/TypeScript, Go, Ruby, Swift, Kotlin, C/C++ y otros. Adaptamos las herramientas y la metodología al stack tecnológico de cada cliente.

¿Qué diferencia hay entre un Code Review y una auditoría de aplicación web?

La auditoría de aplicación web es de caja negra (sin acceso al código fuente), simulando un atacante externo. El Code Review es de caja blanca: se revisa el código fuente directamente para encontrar vulnerabilidades a nivel de implementación, como patrones inseguros, secretos hardcodeados o fallos en la lógica que no son detectables desde el exterior.

¿Solo usáis herramientas automáticas?

No. Las herramientas de análisis estático (SAST) son un complemento, pero la revisión manual experta es esencial. Las herramientas generan falsos positivos y no detectan vulnerabilidades de lógica de negocio, condiciones de carrera o problemas de diseño. Nuestro equipo combina ambos enfoques para maximizar la cobertura.

¿Necesitáis acceso al repositorio de código?

Sí. Necesitamos acceso al código fuente de la aplicación, idealmente a través del repositorio (Git, SVN, etc.). También podemos trabajar con una copia del código proporcionada de forma segura. El acceso se gestiona de forma confidencial y bajo acuerdo de no divulgación.

¿Se puede combinar con una auditoría de caja negra?

Sí, y es lo recomendable. Combinar la revisión de código (caja blanca) con una auditoría de caja negra proporciona la máxima cobertura: la revisión de código detecta vulnerabilidades a nivel de implementación, mientras que la auditoría de caja negra valida la exposición real y la explotabilidad desde la perspectiva de un atacante.

Contacto

¿Necesitas una revisión de seguridad de tu código fuente?

Cuéntanos tu situación y nuestro equipo se pondrá en contacto contigo para orientarte o agendar una llamada técnica.

Oficinas
Barcelona, Madrid, Bogotá
R
Ricardo Andrés Cárdenas
Hace 2 meses

Trabajar con Internet Security Auditors ha sido una experiencia altamente satisfactoria. Su acompañamiento en la migración a ISO/IEC 27001:2022 y el proceso de certificación PCI DSS ha sido fundamental para fortalecer nuestro SGSI.

A
Andrés Mejía
Hace 3 meses

Su equipo combina una sólida experiencia técnica con una gran disposición al trabajo colaborativo, lo que ha fortalecido nuestra postura de seguridad y el cumplimiento normativo.

V
Victoria Villarreal Palazón
Hace 4 meses

Han sido nuestro socio indispensable para la implementación de los requisitos de RGPD. Destacaría su disponibilidad para resolver dudas y su capacidad para elaborar un marco legal con acciones concretas y comprensibles.

M
Miguel Acosta
Hace 5 meses

Todo el proceso de Attestation of Compliance de PCI DSS fue extremadamente rápido, eficiente y profesional. Sin duda, recomendamos sus servicios a cualquier empresa que necesite soluciones en ciberseguridad.

S
Sergio Sainz de la Maza
Hace 6 meses

Llevamos más de 10 años trabajando con Internet Security Auditors por su experiencia, compromiso y cercanía. Los recomiendo sin dudarlo.

Solicitar información

Nos pondremos en contacto contigo lo antes posible.
Presencia Global

Nuestras oficinas

Barcelona

C. Santander, 101. Edificio A-2
E-08030 Barcelona (España)

+34 93 305 13 18
Madrid

C. Arequipa, 1
E-28043 Madrid (España)

+34 91 763 40 47
Bogotá

Transversal 22 # 98-82, Ed. Porta 100 Of. 1003
110221 Bogotá (Colombia)

+57 601 638 68 88
25
años de experiencia en ciberseguridad
Contacta con nosotros