Pasar al contenido principal

Auditoría de Código Fuente

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 de Internet Security Auditors.

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.

Las actuaciones que se llevan a cabo para realizar la Auditoría de Aplicación, siguen la filosofía de caja negra, es decir, en ningún momento se audita el código fuente de la aplicación. El motivo de esta metodología de trabajo es la de simular la actuación real de un atacante malicioso que, a través de las aplicaciones auditadas y sin disponer de su código fuente, intente realizar un ataque al sistema, bases de datos, etc...

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.

Ámbito de las pruebas

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

Autenticació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.

 

Autorizació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.

Gestió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 se sesión se validan correctamente y la cookie mantiene la menor cantidad de información posible; etc.

Validació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.

 

Gestió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.

Registro/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.

No dudes en ponerte en contacto con nosotros si necesitas más información

Mandanos tus dudas y nos pondremos en contacto contigo lo antes posible.
Por favor, introduzca un número de teléfono válido.
CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.