redinterna

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 Neurosec 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 Neurosec 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 caracteres 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 test 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.