Auditoría de Aplicación
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 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.
Por ello Internet Security Auditors ofrece un servicio para poder
analizar de forma específica estas aplicaciones, de forma independiente
y exhaustiva.
Características del Servicio
El proyecto de Auditoría de Aplicación está planificado (al
igual que cualquier proyecto informático) en las siguientes fases:
- Análisis Funcional: Se realiza un estudio general de
la aplicación, adquiriendo una visión global de las funcionalidades
que proporciona.
- Análisis Técnico: Se lleva a cabo un estudio
de los módulos que componen la aplicación, determinando
como interactúan entre ellos (Ej. objetos distribuidos entre
diferentes servidores, etc.) y destacando las entradas y salidas del
sistema que pueden ser visibles desde Internet.
- Diseño de las pruebas: Se determinan las pruebas a realizar
y se diseña cada una de ellas.
- Desarrollo de las pruebas: Fase en que se programan las pruebas
a ejecutar (Ej. Scripts que explotan buffers overflows en los CGIs que
tratan los datos de entrada, etc.).
- Realización de las pruebas: Durante esta fase, como
indica su nombre, se llevan a cabo todas las pruebas de los sistemas,
tomando nota de su resultado y en caso de obtener nuevas posibles debilidades
se vuelve a la fase de diseño para intentar explotarlas.
Ámbito de las pruebas
La metodología creada por Internet Security Auditors
permite llevar a cabo una exhaustiva revisión sobre las aplicaciones
auditadas cubriendo los siguientes aspectos de seguridad:
- Validación de entradas: Inyección de código malicioso provocando
que cuando el servidor web sirva esa página, el cliente web
que la cargue ejecute el código malicioso en el cliente; creación
y alteración de comandos SQL; ejecución de comandos
del sistema operativo; ejecución de comandos u observación
de datos que no se encuentren en los directorios permitidos; y utilización
del byte nulo que puede usarse con el fin de alterar los parámetros
de una URL.
- Canonicalización de URLs: Ataques que explotan la capacidad de almacenar
carácteres con múltiples bytes de la codificación Unicode u otras
codificaciones que permiten ocultar acciones y ataques que usan diferentes
posibilidades de codificación de URLs que aceptan los servidores
web.
- Manipulación de parámetros: Ataques de modificación de datos
enviados entre el cliente y la aplicación web en las cabeceras
HTTP, peticiones de URLs, campos de formularios y cookies.
- Autenticación y Gestión de Sesiones: Búsqueda exhaustiva
de claves y/o contraseñas. Ataques basados en la falsificación
de credenciales reales o evitando su necesidad mediante la explotación
de dependencias entre los componentes de estas aplicaciones o a través
de ataques directos a estos componentes.
- Overflows: Ataques que permiten la ejecución de código malicioso
en el Heap, en la pila del proceso, o bien, cadenas de formato malévolas.
- Fugas de Información: Análisis del código fuente
para localizar comentarios que pueden ayudar a los programadores a
su legibilidad e incrementar el proceso de documentación; revisión
para descubrir estructuras o información de depuración
no eliminada; descubrimiento de mensajes y códigos de error
para obtener información de aplicaciones web, sistemas operativos,
bases de datos...; búsqueda de archivos o aplicaciones que
puedan ser explotables o útiles en un ataque; e información
privada almacenada en la caché del navegador web y en los históricos
del navegador.
- Criptografía: Ataques que explotan el uso de algoritmos criptográficos
débiles y otros basados en la captura de datos cifrados y su
uso para tener acceso ya sea a la clave de cifrado o al texto claro.
- Configuraciones: Ataques empleando cuentas de usuario o del sistema creadas por
defecto en las instalaciones o preconfiguraciones, explotando vulnerabilidades
publicadas de alguno de los componentes de las plataformas en las
que se aloja la aplicación y explotación de configuraciones
deficientes o una falta de actualización de los componentes
principales de la aplicación web.
Resultados
Informe:
Se elabora un informe detallado donde se incluye:
- Resumen ejecutivo de alto nivel.
- Detalle de todas las pruebas realizadas especificando su objetivo.
- Resultados obtenidos en los diferentes tests que se han realizado.
- Recomendaciones que permitan solucionar de la forma más acertada
los problemas de seguridad encontrados.
- Clasificación de los problemas de seguridad según
su nivel de peligro. Esto permitirá a la empresa poder elaborar
un plan de actuación eficiente para resolver estos problemas
de seguridad.
Workshop:
Reunión orientada a explicar los resultados obtenidos en la auditoría y asesorar
sobre las posibles soluciones que existan para los problemas de seguridad
encontrados.