Вы находитесь на странице: 1из 41

PLANES DE CONTIGENCIA

RONALDI RANGEL
SERVICIO AUTONOMO DE REGISTRO Y NOTARIAS (SAREN)
Dirección del Sistema Notarial

FECHA: 02/12/15

Maestría en:
Gerencia de la Tecnología de la Información

Cátedra:
Auditoria de Sistemas
Prof. Ing. Carlos Patiño

Universidad Santa María (USM)

10
Resumen

Las aplicaciones web con frecuencia resultan ser el punto de entrada más débil
a una red corporativa. Generalmente el acceso a las mismas debe ser público y
estar disponible desde cualquier parte del mundo, 24 horas al día, los 365 días
del año. Si la aplicación web no es segura, entonces toda la información sensible
está en grave peligro. Asegurar las aplicaciones web es crítico y no es una tarea
fácil, debido a la inmensa cantidad de vulnerabilidades y amenazas a las que
están expuestas. Para las aplicaciones web existen vulnerabilidades en la red, el
sistema operativo, servidores que las contienen, e incluso en las mismas
aplicaciones web. Un atacante puede aprovechar estas vulnerabilidades y
cometer ataques, con el fin de obtener información confidencial, conseguir
accesos no autorizados o simplemente causar algún daño. Sin embargo existen
técnicas, herramientas y buenas prácticas de auditoría en aplicaciones web
donde se propone metodologías bien definidos, que pueden ayudar a proteger
las aplicaciones web de estas vulnerabilidades

Palabras Clave: Auditoria, Aplicaciones Web, Sistemas, Vulnerabilidades,


amenazas

10
Agradecimientos

La realización de este trabajo de investigación fue posible debido a las


contribuciones y valiosos aportes, sugerencias, estímulos y disposición del Ing.
Carlos Patiño, profesor que imparte la cátedra de Auditoría de Sistemas de la
Universidad Santa María (USM) que con su paciencia, dedicación y apoyo guió
en todo momento en el transcurso de ocho clases donde siempre nos ha
inculcado el rol fundamental que tenemos como futuros Auditores de Sistemas
de manera desinteresada y muy profesionalmente, siendo este un pilar
importante me hicieron crecer y superar obstáculos, brindándome las
herramientas necesarias para que este tema de la Auditoria en Aplicaciones
Web fuese exitosa y logrando que el mismo llegara a un feliz término.

10
INDICE

Resumen………………………………………………………………………………...2
Agradecimientos………………………………………………………………………...3
Introducción……………………………………………………………………………...5

Capítulo I

1. Auditoria de
Sistemas…………………………………………………………..6
1.1 Perfil del auditor de sistemas………………………………………………6
1.2 Aspecto a considerar como auditor de sistemas………………………...6
1.3 Tipos de auditoría de sistemas…………………………………………….7
1.4 Principales aéreas de la auditoria de sistemas…………………………. 7

Capítulo II

2. Auditoria en Aplicaciones Web………………………………………………..8


2.1 Objetivo principal de la auditoría Web…………………………………...8
2.2 Tipos de auditoría en aplicaciones web…………………………………8
2.3 Herramientas de soporte (Seo)…………………………………………...9
2.3.1 Herramientas
Multifunción……………………………………………9
2.3.2 Herramientas para Palabras Clave…………………………………
10
2.3.3 Velocidad de
Carga…………………………………………………..10
2.3.4 Análisis de tráfico y Conversión (Analytics)
……………………….11
2.3.5 Análisis de Backlinks y de la
Competencia………………………..11
2.3.6 Rankings y Monitorización de Keywords………………………….
11

10
2.3.7 Análisis de Contenidos y Sitio
Web………………………………...12
2.3.8 Automatización de
Contenidos……………………………………..13
2.3.9 Redes Sociales (Social Media)…………………………………..…
13
2.4 Auditoria web completa………………………………………………….14
2.5 Ataque destinados en Aplicaciones Web………………………………15
2.5.1 Test de caja negra……………………………………………………..16
2.5.2 Test de caja blanca……………………………………………………18
2.5.3 Test de caja gris……………………………………………………..…19

Capítulo III

3. Metodología de Auditoría de Aplicaciones Web……………………………


21

Conclusiones………………………………………………………………….……...31

APÉNDICE1 A Referencias o Bibliografía………………………………………...32

APÉNDICE B Glosario de términos y Definiciones……………………………...33

APÉNDICE C Diagramas, esquemas, gráficos o dibujos……………………34-39

10
INTRODUCCIÓN

Desde el primer instante en que una aplicación web es publicada en la


red, es susceptible de recibir ataques malintencionados. Prevenir que esos
ataques resulten exitosos será la principal función de una auditoría web.

Una auditoría web o auditoría informática, es un proceso de revisión de la


seguridad de una aplicación web, cuya finalidad es encontrar las
vulnerabilidades de seguridad existentes, con el objetivo de solucionarlas antes
de que el atacante se aproveche de las mismas.

Un auditor es una persona con conocimientos técnicos profundos en el


ámbito de la informática, que es capaz de analizar una aplicación desde el punto
de vista de un atacante anónimo.

En esta investigación vamos a aplicar los conocimientos aprendidos


durante las semanas de clases, en la cátedra de auditoría de sistemas, para
resolver un caso práctico real de auditoría web desde una perspectiva
profesional.

10
Partiendo de un ejemplo de la solicitud de una pequeña empresa,
dedicada a la creación de páginas web, para revisar la seguridad de uno de sus
servidores, en el que aloja tres de sus aplicaciones web, a través de una
auditoría web externa. Resolveremos la auditoría solicitada tomando como base
las metodologías abiertas existentes más conocidas, como OWASP y OSSTMM
que explicaremos más adelante, cuyo uso está muy extendido entre la
comunidad técnica dedicada a la seguridad.

CAPITULO I

1. AUDITORIA DE SISTEMAS

Es la disciplina que provee de herramientas a los auditores para la


verificación de controles en el procesamiento de la información, desarrollo de
sistemas e instalación con el objetivo de evaluar su efectividad y presentar
recomendaciones a la Gerencia.

Es el proceso de recoger, agrupar y evaluar evidencias para determinar si un


sistema informatizado salvaguarda los activos, mantiene la integridad de los
datos, lleva a cabo eficazmente los fines de la organización y utiliza eficazmente
los recursos.

Es el mecanismo /proceso metodológico para valorar y evaluar la confianza que


se puede depositar en TI.

1.1 PERFIL DE AUDITOR DE SISTEMAS


 Profesional en sistemas de información-
 Conocimiento Gral. De auditoria

10
 Conocimiento Gral. De gestión de empresas-
 Conocimientos específicos
 Desarrollo de sistemas
 Gestión de TI
 Análisis de riesgo de TI
 Telecomunicaciones y redes
 Base de datos
 Seguridad física aplicada a centro de procesamiento de datos
 Seguridad lógica
 Mejores prácticas de continuidad de sistemas
 E-Commerce

 El Auditor de Sistemas debe evaluar la estructura de control interno de la


empresa. Estudia los controles organizativos definidos dentro del área de
TI, realiza el análisis de aplicativos en desarrollo, producción y
mantenimiento, realiza auditoria sobre datos y redes.

1.2 Aspectos a considerar de este profesional:


Asegurar que la información sensitiva esté protegida de divulgación no
permitida, pérdida, daños o mal uso. Confidencialidad.
Asegurar que la información esté protegida contra alteración no autorizada y
sea confiable. Integridad.
Asegurar que los recursos informáticos estén disponibles para las personas
autorizadas, disponibilidad. (CIA).

1.3 TIPOS DE AUDITORIA DE SISTEMAS


 Auditoría Interna
 Auditoría Externa
 Auditoría de Clientes
 Auditoria de Certificaciones
 Auditoría Operativa
 Auditoría Publica
 Auditoría Financiera
 Auditoría de Sistemas
1.4 PRINCIPALES ÁREAS DE LA AUDITORIA DE SISTEMAS
 Auditoria de Outsourcing de TI
 Auditoria de la Seguridad Física
 Auditoria de la Dirección de Informática

10
 Auditoria de la Explotación
 Auditoria de Bases De Datos
 Auditoria de la Seguridad
 Auditoria de Redes
 Auditoria de Internet
 Auditoria de Aplicaciones
 Auditoria de la Videovigilancia

 Auditoria de aplicaciones Web

CAPITULO II

2. AUDITORIA DE APLICACIONES WEB

Una auditoria de aplicaciones web es una análisis exhaustiva de un sitio web


(página o tienda online) que contempla tanto los aspectos técnicos como la
calidad y presentación de los contenidos desde el enfoque del marketing
estratégico.

El principal objetivo en qué consiste una auditoría Web es dar a conocer los
errores que están generando nuestra web, el estado de la página que se está
verificando, dando como resultado una serie de reportes que ayudarán al
webmaster o al propietario a comprender varias áreas del sitio como son la
seguridad, la usabilidad, contenido, calidad y la forma en la que se deben de
realizar las mejoras.etc.

Existen diferentes tipos de estudios para poder llevar a cabo la auditoria de


páginas web pero nos centraremos en los más usuales.

Veamos las auditorías que se pueden realizar en un sitio:

a. Usabilidad.

10
Con esto nos referimos a la facilidad con la que los usuarios navegan en el sitio
web, se incluyen áreas como:

 Enlaces rotos
 Calidad de los contenidos
 Percepción del usuario
 Claridad en la navegación

b. Optimización

Se busca identificar los elementos que los buscadores utilizan para


el posicionamiento web, como:

 Estructura de las URLs


 Balance entre texto/imágenes
 Factores del SEO en cada página
 Estado de indexación del sitio
 Arquitectura del sitio
 Estrategia de enlaces internos y externos
 Presencia de la marca en la redes sociales
 Análisis de palabras clave

c. Seguridad

Con ésta auditoría se encuentran las debilidades y vulnerabilidades de


seguridad que darían a los hackers la oportunidad de hacer daño a su sitio Web.
Se deben conocer las herramientas y tecnología utilizada en el sitio, para
realizar pruebas específicas, como:

 Análisis del archivo .htaccess

10
 Información encriptada
 Los estados de respuesta del Servidor
 La utilización de Captcha en el sitio
 Inyecciones LDAP

2.3 Herramientas de Soporte Optimización de Motores de Búsqueda (SEO)

2.3.1 Herramientas Multifunción

Estas herramientas merecen un apartado especial, ya que realizan múltiples


tareas de forma efectiva y constituyen en sí mismas todo un arsenal que te
ayudará a acelerar tu posicionamiento con resultados de calidad.

Aquí tienes una selección de las mejores herramientas que te facilitarán esta
tarea.

 Advanced Web Ranking


 Traffic Travis
 Market Samurai
 Scrapebox
 SEO Powersuite

2.3.2 Herramientas para Palabras Clave

Construir una buena lista de Frases Clave es una de las actividades más
importantes del Posicionamiento SEO, y que determinará en gran medida el
éxito o el fracaso de tus esfuerzos.

Aquí tienes una selección de las mejores herramientas que te facilitarán esta
tarea.

 Planificador de Palabras Clave de Google


 Google Trends
 Soovle

10
 Übersuggest

2.3.3 Velocidad de Carga

La velocidad de carga de tus páginas es importante por partida doble: como


factor de posicionamiento y porque tus visitantes volverán más veces si tu
página carga rápido. A nadie le gusta esperar, y muchos visitantes abandonan
una web lenta antes de que termine de cargar.

Estas herramientas te ayudarán a analizar la velocidad de tu página, a descubrir


qué la hace más lenta y a solucionar este problema.

Aquí tienes una selección de las mejores herramientas que te facilitarán esta
tarea.

 GTmetrix
 Webpagetest
 Pingdom
 Google PageSpeed Insights

2.3.4 Análisis de tráfico y Conversión (Analytics)

Para obtener el máximo rendimiento necesitas conseguir datos sobre tus


visitantes, saber desde dónde llegan, cómo interactúan con tu web, qué
contenidos les atraen más…

Con esta información te será mucho más fácil optimizar tu web y hacerla lo más
útil posible a tus visitantes, lo que te ayudará en el posicionamiento y las
conversiones

Aquí tienes una selección de las mejores herramientas que te facilitarán esta
tarea.

 Google Analytics

10
 Yandex Metrika

2.3.5 Análisis de Backlinks y de la Competencia

El análisis del perfil de los enlaces es muy importante para asegurarte de que no
corres riesgo de ser penalizado, y también para saber qué está haciendo tu
competencia y poder adaptar tu estrategia.

Hace unos años no existían herramientas fiables para poder realizar un estudio
a fondo de los enlaces de una web, por suerte ahora contamos con opciones
muy potentes.

Aquí tienes una selección de las mejores herramientas que te facilitarán esta
tarea.

 Ahrefs
 Majestic
 SEO SpyGlass
 Open Site Explorer
 SEMRUSH

2.3.6 Análisis de Contenidos y Sitio Web

Es importante que te asegures de que todas las páginas de tu sitio web disfrutan
de “buena salud”, que no tengan errores y que sus contenidos estén lo más
optimizados posibles.

Estas herramientas te ayudarán a diagnosticar tu web y mantenerla en buenas


condiciones.

 Google Webmaster Tools


 Bing Webmaster Tools
 Xenu
 Screaming Frog

10
 Website Auditor

2.3.7 Rankings y Monitorización de Keywords

Cuando estás persiguiendo posicionarte por varias Keywords es necesario


monitorizar sus posiciones en los resultados de búsqueda (SERPs)

Hacerlo de forma manual, buscando cada Palabra Clave y apuntando en qué


página y posición aparece, es un proceso largo y tedioso que puedes ahorrarte
gracias a estas herramientas.

 Rank Tracker
 SERPWoo

2.3.8 Automatización de Contenidos

Seguramente ya te has dado cuenta de que el posicionamiento suele robar


mucho tiempo y por ello es importante buscar formas de automatizarlo siempre
que se pueda.

Estas herramientas son unas de las mejores para ayudarte en esta tarea.

 If This Then That (IFTTT)


 Botize

2.3 .9 Redes Sociales (Social Media)

A estas alturas a nadie se le escapa que las Redes Sociales juegan un papel
cada vez más importante en el Posicionamiento Web, tanto directa como
indirectamente.

La gran ventaja de este medio es que no dependes de los caprichos de un


buscador como Google para recibir visitantes, sino que puedes construir tus
propias fuentes de tráfico.

10
El inconveniente es que gestionar tus actividades de Social Media es complicado
y te roba mucho tiempo. Por suerte existen herramientas que te ayudarán en
esta tarea, aquí tienes las que recomiendo.

 Bufferapp
 Hootsuite
 Social Bro
 BuzzBundle

2.4 Auditoria Web Completa

Además del SEO puede integrarse como un parte, pero una auditoria
web, incluye mucho más, además del SEO, como es:

 Programación: Informe sobre la programación del sitio web, si es de


programación propia, o usa un CMS
 Servidor: Esto no es muy necesario, pero resulta útil mencionar el tipo de
alojamiento web que usa, es decir si está en un hosting compartido, un
VPS o servidor dedicado.
 Estructura: En esta parte de la auditoria, muy ligada al SEO, se tiene que
detallar como está organizado la web.
 Diseño: En esta parte, se tiene que hacer referencia al diseño de la web,
sobre todo en si es reponsive o no.
 Contenido: Este parta también ligada al SEO, hay que hablar del
contenido de la web, algo que será según la temática del sitio web en
cuestión.
 Redes sociales: En ese parte, hay hablar de la presencia en Las redes
sociales, en concreto mencionar todo los perfiles que representa al sitio
web, si los hay claro está, puede que esté en redes sociales.

10
Con estos puntos fundamentales, y el SEO, se elabora un completo informe
sobre un sitio web, pero si es necesario puede incluir un informe sobre estrategia
de marketing, e incluso un informe contable sobre los gastos y costes del sitio
web.

Este informe lo puede realizar una sola persona, pero también se puede hacer
en equipo, el cual están integrados programadores, administradores de
servidores, SEO, diseñadores gráficos, comunity managers, expertos en
marketing y si es necesario, contables.

Y todo este informe, se puede añadir una memoria con propuestas y


sugerencias para mejorar el sitio web.

Una auditoria web, no tiene que ser para un sitio ajeno, podemos realizar una
auditoría web de nuestros sitios web, pero tener un completo informe sobre
nuestros sitios, y de esta forma no pierdes datos importantes, sobre todo de lo
relacionado con el SEO.

2.5 Ataque destinados en Aplicaciones Web

Las páginas web dado su carácter público son un foco perfecto para los
atacantes. Basados en varios aspectos técnicos del sitio, determinan de qué
forma pueden obtener el control parcial o total de este y utilizarlo para sus
propósitos.

La auditoria web permite evaluar la seguridad de estas aplicaciones y obtener


una visión de su seguridad a través de los ojos de un experto.

Hoy en día, la mayoría de las aplicaciones y servicios web son potencialmente


susceptibles a un conjunto de ataques independientes de la plataforma y/o
tecnología utilizada. Este tipo de ataques a aplicaciones web puede suponer
grandes pérdidas económicas sobre la empresa afectada, lo que puede
desembocar en una mala imagen hacia nuevos clientes o asociados.

10
La auditoría controla la seguridad de todas las aplicaciones web de un
entorno corporativo:

Hoy en día gran parte de los entornos webs corporativos ofrecen una
importante interacción con el usuario a través de aplicaciones. De este modo, las
antiguas páginas web tipo tarjeta de presentación han derivado, por ejemplo; en
aplicaciones donde el usuario puede realizar consultas de información sobre una
base datos, compras a través de catálogos, así como un largo etcétera de
utilidades.

Esta interacción adicional también supone un nuevo riesgo en la seguridad


de nuestros datos. Es necesario controlar que nuestras aplicaciones estén
desarrolladas de forma segura, ya que a través de ellas es posible saltarse otros
mecanismos de seguridad como pueden ser un Firewall o un IDS/IPS.
La auditoria web permite evaluar la seguridad de estas aplicaciones y obtener
una visión de su seguridad a través de los ojos de un experto.

Las comprobaciones se realizan tanto a través de herramientas automatizadas


de escaneo y análisis de aplicaciones web, como de forma manual. Para ello se
realizan diversos test de intrusión en la búsqueda de vulnerabilidades simulando
ataque informático para determinar su nivel de protección:

Cuando se quiere estudiar la seguridad de los sistemas que están accesibles


desde Internet (servidores, routers, firewalls...) frente a un ataque, la mejor forma
de estudiarlo es sometiéndose a un ataque pero controlado.

En este tipo de análisis además de descubrir las vulnerabilidades


presentes en los equipos, se procede a la explotación de las mismas con el
objetivo de evaluar las repercusiones reales de cada una de ellas y su
peligrosidad específica en su entorno. Con ese objetivo los auditores realizan
una batería de tests sobre los equipos que serán auditados.

10
Los tests de intrusión se puede realizar de tres maneras:

2.5.1 Test de caja negra

El concepto principal de un test de caja negra es simular los métodos de


ataque de un hacker con sus mismos recursos. El auditor sólo dispone de
información pública sobre el objetivo, y a través de esta intenta identificar los
agujeros de seguridad que puedan comprometer información sensible o las
operaciones del sistema. Cuando se aplica correctamente este test, se puede
simular no sólo ataques de hackers al azar, sino también de hackers que se
dedican a obtener algún acceso inicial al sistema.

Este test imita lo que un verdadero hacker haría, y proporciona al cliente una
evaluación realista del nivel de riesgo al que está expuesto el sistema. Si el
auditor puede identificar alguna vulnerabilidad a través de este test es probable
que un hacker también pueda identificarla.

Pros:

1. Proporciona una estimación real de las amenazas.


2. Obtiene los resultados a través de la información pública.
3. Requiere un esfuerzo mínimo del cliente.

Contras:

1. Puede ser un esfuerzo recopilar la información.


2. Pueden pasar desapercibidas puertas traseras o vulnerabilidades
parciales.
3. Las recomendaciones para reparar fallos son generales.

Pruebas realizadas con esta metodología:

1. Pruebas de Penetración de Infraestructura/Red.


2. Pruebas de Penetración de Aplicaciones.

10
3. Ataque simulado completo.

Técnicas de caja negra:

 Vulnerabilidades de tipo 'deface';


 Vulnerabilidades de tipo 'cross-site scripting';
 Vulnerabilidades de tipo 'spoofing';
 Vulnerabilidades de tipo inyección de SQL;
 Vulnerabilidades de tipo inyección de código;
 Vulnerabilidades derivadas de la validación de entrada / salida;
 Vulnerabilidades derivadas del análisis de tiempos;
 Vulnerabilidades de sincronización;
 Vulnerabilidades de tipo desbordamiento de memoria;
 Vulnerabilidades basadas en secuestro de sesiones;
 Vulnerabilidades en los equipos de la red local;
 Vulnerabilidades basadas en 'sniffing' de la red;
 Vulnerabilidades basadas en escaladas de privilegio;
 Vulnerabilidades en la gestión de contraseñas.
 Inyección de código;
 Autentificación incompleta y gestión de sesiones;
 Referencias directas a objetos inseguros;
 Configuración incorrecta de la seguridad de aplicaciones;
 Almacenamiento criptográfico inseguro;
 Problemas de acceso a URLs restringidas;
 Protección del nivel de transporte insuficiente;
 Redirecciones no validadas.

2.5.2 Test de caja blanca

Antes del test de caja blanca los auditores se proveen de toda la información
necesaria para evaluar mejor la seguridad del entorno sometido a prueba,
incluyendo el código fuente, archivos de configuración, documentación,
diagramas, etc. Esto permite una revisión a fondo del sistema, identificando no

10
sólo las vulnerabilidades inmediatas, sino también secciones de código y
configuraciones potencialmente peligrosas, puertas traseras, y defectos de
construcción. El test de caja blanca puede requerir más recursos, tanto del
auditor como del cliente, para proporcionar la información pertinente. Este tipo
de test es más adecuado para entornos muy sensibles.

Pros:

1. Extremadamente minucioso.
2. Las recomendaciones para reparar fallos son muy precisas.
3. Detecta las amenazas inmediatas, así como los defectos de configuración
y construcción.
Contras:
1. Requiere muchos recursos tanto del auditor como del cliente.
2. No simula un verdadero ataque.

Pruebas realizadas con esta metodología:

1. Solicitud de revisión de código.


2. Examen de diseño y construcción.
3. Configuración del servidor de Auditorías.
4. Auditorías de red.

Técnicas de caja blanca

 Ataques con conocimientos de la arquitectura del sistema;


 Ataques con acceso a los detalles de las aplicaciones implantadas en
la organización;
 Vulnerabilidades de abuso contra interfaces de programación de
aplicaciones;
 Vulnerabilidades de calidad de código;
 Vulnerabilidades derivadas de la configuración del sistema;
 Vulnerabilidades de los protocolos;
 Vulnerabilidades criptográficas;

10
 Vulnerabilidades en la gestión de contraseñas.

2.5.3 Test de caja gris

El test de caja gris combina los tests de caja negra y caja blanca. Este
test hace pruebas con métodos similares a los de la caja negra, simulando
ataques reales. Sin embargo, a diferencia del test de caja negra, el atacante
dispone de la información técnica pertinente del sistema, y además se le permite
pedir información adicional señalada con comentarios como con los del test de
caja blanca.

Este test es muy efectivo para identificar el mayor número real de


amenazas como sea posible en el menor tiempo disponible, y por eso es la
manera más efectiva para efectuar evaluaciones de seguridad cuando los
valores más absolutos de las cajas blanca y negra no son necesarios.

Pros:

1. Más rentable.
2. Proporciona una estimación realista de las amenazas.

Contras:

1. No simula un ataque real como la caja negra.

Pruebas realizadas con esta metodología:

1. Aplicación de pruebas de penetración (con la revisión de código parcial).


2. Test de la infraestructura y la red de penetración (con revisión de la red y
la configuración del servidor.)
3. Examen de alto nivel de diseño y construcción.

10
CAPITULO III

3. Metodología de Auditoría de Aplicaciones Web

Se busca identificar las amenazas producto de la existencia o no de


vulnerabilidades en las características, o por la omisión o deficiencia en cuanto a
controles y medidas de seguridad

El objetivo principal de la metodología es determinar las vulnerabilidades


y amenazas presentes en una aplicación web en sus diferentes fases, y ofrecer
un reporte con las recomendaciones y medidas de seguridad que deben ser
tomadas para protegerlas.

Es indispensable tener herramientas y conocimientos en el área de


aplicaciones web, para la correcta aplicación de esta metodología. Sus temas
exigen un mínimo de comprensión en aspectos como plataforma, redes,
sistemas operativos, servidores web, base de datos, programación, tecnologías
del lado del servidor y del lado del cliente. Específicamente debe saber para qué
sirven cada una de estas tecnologías y como se relacionan entre ellas, en el
universo de las aplicaciones web.

10
Otro aspecto importante para la correcta aplicación de esta metodología,
es el uso de herramientas o técnicas que ayuden a tener una mejor comprensión
y análisis de los elementos en una aplicación web. El uso de Diagramas de Flujo
para describir detalles algorıtmicos de un proceso, realizar Diagramas UML
(Lenguaje Unificado de Modelado) a conveniencia que ayuden a visualizar,
especificar y documentar partes del sistema de software (por ejemplo diagramas
de clases, diagramas de casos de uso, diagramas de secuencia), modelos de
entidad relación (ER) para describir tablas y objetos en una base de datos, entre
otros.

El uso de herramientas de software puede agilizar en gran medida el


proceso de auditoría. Un escaneo de puertos rápidos con nmap puede revelar
un servidor de escritorio remoto no protegido o un servidor de base de datos
accesible desde la red pública sin contraseña. Un escáner de vulnerabilidades
automatizado como NESSUS o RETINA puede ayudar a detectar muchas
vulnerabilidades de los equipos en la red. Son ejemplos de herramientas en las
que se puede apoyar el auditor.

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:

 Análisis Funcional: Se realiza un estudio general de la aplicación,


adquiriendo una visión global de las funcionalidades que proporciona con el fin
de plantear las actuaciones y procedimientos óptimos que se llevan a cabo en
el Análisis Técnico.

10
 Análisis Técnico: Se realiza un análisis de la aplicación de manera que
se pueda decidir a qué tipos de ataques es sensible.
 Diseño de las pruebas: En esta fase se diseñan las pruebas a realizar
para explotar aquellas deficiencias de seguridad que puedan aparecer en la
aplicación auditada.
 Desarrollo de las pruebas: Se programarán las pruebas a ejecutar, y se
determinará el orden en el que se llevarán a cabo.
 Realización de las pruebas: Durante esta fase se llevan a cabo todas
las pruebas sobre la aplicación auditada, se analizan los resultados obtenidos y
en el caso de detectar nuevas vulnerabilidades a explotar se vuelve a la fase
de diseño para intentar explotarlas.

ÁMBITO DE LAS PRUEBAS

La metodología creada permite llevar a cabo una exhaustiva revisión


sobre las aplicaciones auditadas cubriendo los siguientes aspectos de
seguridad:

1. Recopilación de información

Antes de auditar una aplicación es necesario determinar el ámbito sobre


el que se realizará la revisión de seguridad con ciertos aspectos clave
sobre esta y que consiste, entre otros en estos:

 Descubrimiento de aplicaciones.
 Identificación de puntos de entrada a la aplicación.
 Análisis de códigos de error.
 Identificación de plataformas.

2. Ingeniería Inversa de Protocolos

Los ataques que pueden realizarse a las aplicaciones, se pueden iniciar a


través del análisis de los protocolos implementados por estas. A veces

10
pueden no implementarse controles de seguridad lo suficientemente
robustos, y otras veces, implementar librerías propietarias de protocolos
estándar de forma incorrecta que implican también vulnerabilidades de
seguridad en el sistema.

3. Análisis de la configuración en la infraestructura

El análisis de la infraestructura y la topología de la arquitectura pueden


revelar información como por ejemplo el código fuente, métodos HTTP
soportados, funcionalidades de administración, métodos de autenticación
o configuraciones de la infraestructura. En este punto se desarrollan las
siguientes pruebas:

 Pruebas sobre SSL/TLS.


 Pruebas sobre la gestión de la configuración en la infraestructura.
 Pruebas sobre la gestión de la configuración en la aplicación.
 Pruebas sobre el manejo de extensiones de archivos.
 Identificación de ficheros antiguos, de backup o no referenciados.
 Acceso a interfaces de administración.
 Pruebas sobre métodos HTTP y XST.

4. Análisis del esquema de autenticación

Autenticación: “es el acto de establecimiento o confirmación de algo (o


alguien) como auténtico”. Un ejemplo de este proceso es el proceso de
inicio de sesión, para realizar este análisis se realizan las siguientes
pruebas:

 Transmisión de credenciales a través de un canal cifrado.


 Pruebas de enumeración de usuarios.
 Pruebas de identificación de cuentas de usuario previsibles.
 Pruebas de fuerza bruta
 Pruebas para sobrepasar el esquema de autenticación.

10
 Pruebas de finalización de sesión.
 Pruebas sobre implementaciones de CAPTCHA.
 Pruebas de autenticación basadas en múltiples factores.
 Pruebas de condiciones de carrera.

5. Análisis de gestión de sesiones

En el núcleo de cualquier aplicación basada en web se encuentra la forma


en que mantiene el control de estado y, por tanto, la interacción con el
usuario. En el sentido más amplio, la gestión de sesiones abarca todos
los controles sobre un usuario, desde la autenticación hasta la salida de la
aplicación.

 Pruebas del esquema de gestión de sesiones.


 Pruebas sobre los atributos de las cookies.
 Pruebas de fijación de sesión.
 Pruebas sobre exposición de variables de sesión.
 Pruebas de CSRF.

6. Análisis del esquema de autorización

Autorización: “Es el concepto de permitir el acceso a los recursos


únicamente a aquellos permitidos a utilizarlos”. Lo que se pretende
analizando el esquema de autorización es entender su funcionamiento y
con esa información intentar evadir el mecanismo de autorización. Para
ello realizamos las siguientes pruebas:

 Pruebas de acceso a recursos protegidos.


 Pruebas para sobrepasar el esquema de autorización.
 Pruebas de elevación de privilegios.

7. Análisis de las reglas de negocio

10
Las reglas de negocio pueden incluir reglas que expresen políticas de
negocio (como productos, precios o ubicaciones) o workflows basados en
tareas ordenadas de transmisión de datos de un participante (una
persona o un componente software) a otro.

 Pruebas sobre las reglas de negocio.


 Pruebas de abuso de funcionalidad.

8. Análisis del mecanismo de validación de datos

El principal problema que nos encontramos en las aplicaciones, es que no


se realizan adecuadamente las validaciones de los datos de entrada
antes de usarlos, esto provoca que la mayoría sean sensibles a ataques
contra el sistema de ficheros o ataques de desbordamiento de buffer
entre otros, al verse afectadas por vulnerabilidades. Para llevar a cabo
este análisis se realizan las siguientes pruebas:

 Pruebas de XSS (stored, reflected y basados en el DOM).


 Pruebas de Cross Site Flashing.
 Pruebas de inyección de código SQL.
 Pruebas de inyección LDAP.
 Pruebas de inyección ORM.
 Pruebas de inyección XML.
 Pruebas de inyección SSI.
 Pruebas de inyección XPATH.
 Pruebas de inyección IMAP/SMTP.
 Pruebas de inyección de código.
 Pruebas de inyección de comandos de sistema operativo.
 Pruebas de desbordamiento de memoria.
 Pruebas de HTTP Splitting/Smuggling.

9. Análisis de negación de servicio

10
La negación de servicio (DoS) tiene como objetivo impedir que un sistema
proporcione la actividad habitual a los usuarios. Estos ataques maliciosos
pueden producirse privando a un sistema de recursos críticos, explotando
vulnerabilidades o mediante un abuso de funcionalidad.

Lo que se pretende en este punto es verificar si el sistema resulta vulnerable a


este tipo de amenazas, para ello se llevan a cabo las siguientes pruebas:

 Pruebas de bloqueo de cuentas de usuario.


 Pruebas sobre escritura en disco.
 Pruebas sobre liberación de recursos.
 Pruebas de consultas SQL intensivas de CPU.

10. Análisis de Web Services

Se llevará a cabo un análisis sobre los Web Services implementados para


intentar detectar deficiencias. Se revisarán controles de acceso y
seguridad a nivel IP, la configuración, fugas de información motivada por
deficiencias en la gestión de errores y excepciones, filtros de validación
implementados, así como la existencia de controles de auditoría y
logging.

 Pruebas de recopilación de información.


 Pruebas sobre la estructura XML.
 Pruebas de parámetros GET de HTTP y REST.
 Pruebas de datos adjuntos en SOAP.
 Pruebas de repetición en Web Services.

RESULTADOS

Informe
Se elabora un informe detallado donde se incluye:

10
 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.

Las revisiones técnicas de seguridad de una aplicación Web se pueden


realizar tanto de forma automática, mediante el uso de herramientas
comerciales, como mediante un análisis manual de cada uno de los módulos de
la aplicación. Apoyándose en ambas técnicas, dedicando un mayor esfuerzo en
el estudio manual de seguridad web, de cara a identificar errores relacionados
con lógica de negocio y fallos de seguridad que no pueden ser encontrados
mediante el uso de herramientas automáticas.

Otras metodologías que pudiéramos aplicar procedimiento para la


detección de vulnerabilidades web son:

 Metodologías en seguridad en el desarrollo de aplicaciones web


(OWASP)
 Manual de la Metodología Abierta de Testeo de Seguridad (OSSTMM).

Este procedimiento permite identificar que vulnerabilidades contiene la


aplicación haciendo uso de las técnicas o ataques más novedosos.

OWASP (Open Web Application Security Project) es una metodología de


seguridad de auditoría web, abierta y colaborativa, orientada al análisis de

10
seguridad de aplicaciones Web, usada como referente en auditorías de
seguridad para analizar y evaluar los riesgos.

La revisión de los controles, definidos por esta metodología, permite al


equipo de auditores garantizar que una revisión de la plataforma se realiza de
forma adecuada, garantizando que todos los vectores de ataque han sido
analizados y que los fallos de seguridad han sido detectados. Este proceso
ayuda a mejorar la seguridad y la protección de los sistemas informáticos.
Existen dos modalidades de revisión de seguridad basada en OWASP.

Una auditoría web en la que se evalúan los controles, centrándonos en


los 10 riesgos más críticos en una aplicación web de OWASP siendo esta la más
recomendable cuando se estudia la seguridad de una aplicación web por
primera vez o cuando la seguridad de este entorno no es crítica para la
empresa. Ofrece un buen equilibrio en cuanto a esfuerzo, costes y resultados.

1. Inyección de comandos (OS, LDAP, SQL)


2. Autenticación de usuarios
3. Cross-Site Scripting (XSS)
4. Referencias a objetos inseguras
5. Fallos de configuración
6. Exposición de datos delicados
7. Niveles de acceso de funciones
8. Cross-Site Request Forgery (CSRF)
9. Uso de componentes vulnerables
10. Redirecciones no validadas

Auditoría OWASP completa: El objetivo en una revisión de seguridad web


completa, que se apoya en la metodología OWASP, es validar los 66 controles
definidos por la metodología. Es el enfoque ideal cuando la criticidad de una
plataforma es elevada, y permite blindar un sistema frente a ataques

10
informáticos. Sin duda garantiza una revisión superior respaldada por los
mejores estándares, procedimientos y controles de trabajo.

Grupos de controles:

 Recopilación de información
 Configuración y administración
 Gestión de identidades
 Autenticación de usuarios
 Autorización de accesos
 Gestión de sesiones de usuario
 Validación de parámetros de entrada
 Manejo de excepciones
 Debilidades de criptografía
 Lógica de Negocio
 Vulnerabilidades de cliente

RESULTADOS

Informe
Se elabora un informe detallado donde se incluye:

Informe de negocio

En un lenguaje no técnico explicamos nuestra valoración de los resultados para


que personas no relacionadas con tecnicismos entiendan el nivel de exposición
y riesgo que tiene su negocio.

Informe técnico

En lenguaje técnico especificamos nuestros hallazgos:

Vulnerabilidades encontradas, cómo se ha llevado a cabo el análisis y


las evidencias recabadas. Así mismo se acompañada por supuesto de

10
una propuesta de solución para cada problema con la finalidad de que el cliente
pueda solucionarlos todos.

CONCLUSIÓN

Como hemos visto, vivimos en un mundo cambiante donde la incertidumbre es un factor


consustancial a cualquier actividad, y como no podía ser menos a los sistemas de
información y su relación con el mundo empresarial y organizativo. Por tanto se hacen
completamente imprescindibles una serie de medidas que como hemos visto vienen de la
mano de los planes de contingencia.

Asimismo asumimos que debemos controlar de una manera efectiva estos planes para que
se adecuen y estén actualizados a nuestras necesidades funcionales en todo momento. Por
ello aparte de los propios planes, necesitamos el desarrollo de su evaluación fase por fase
de la mano de la auditoría de estos planes. Estas auditorías nos darán la base para su
evaluación, y corrección en su caso, lo que nos proveerá de planes adecuados
funcionalmente hablando a nuestras organizaciones.

Como conclusión, llegamos a que una organización provista de un plan de contingencia


adecuado y medidas de control previstas efectivas, tiene asegurada su continuidad en este
mundo empresarial y organizativo cada vez más cambiante y competitivo.

10
APÉNDICE A
REFERENCIAS BIBLIOGRÁFICAS

1. PIATTINI, Del Peso, Ruiz. Auditoria de Tecnologías y Sistemas de


Información. México, Editorial Alfaomega S.A. de C.V. 2008.
Capítulo 18: "Auditoria de Aplicaciones", p. 557.

Otros Enlances

 peslam.com/auditoria-pagina-web.html
 webmastercreativo.com/como-realizar-una-auditoria-web-completa/
 bialita.com/blog/analytics/61-que-es-una-auditoria-de-paginas-web
 juancoccaro.com/2012/09/las-5-mejores-herramientas-para-realizar-una-auditoria-
seo/
 es.scribd.com/doc/55676195/Perfil-de-Auditor-de-Sistemas#scribd
 colombiadigital.net/actualidad/articulos-informativos/item/4801-tipos-de-ataque-
y-como-prevenirlos.html
 a2secure.com/auditorias/auditoria-web

10
APÉNDICE B
GLOSARIO DE TÉRMINOS Y DEFINICIONES

Auditoría de Sistemas: Es la revisión que se dirige a evaluar los


métodos y procedimientos de uso en una entidad, con el
propósito de determinar si su diseño y aplicación son correctos;
y comprobar el sistema de procesamiento de Información como
parte de la evaluación de control interno; así como para
identificar aspectos susceptibles de mejorarse o eliminarse.

Aplicación web: Herramientas que los usuarios pueden utilizar accediendo a


un servidor web a través de Internet o de una intranet mediante un navegador.
En otras palabras, es una aplicación software que se codifica en un lenguaje
soportado por los navegadores web en la que se confía la ejecución al
navegador.

10
Sistema: Es un conjunto de partes o elementos organizadas y relacionadas que
interactúan entre sí para lograr un objetivo. Los sistemas reciben (entrada)
datos, energía o materia del ambiente y proveen (salida) información, energía o
materia.

La vulnerabilidad: Es la disposición interna a ser afectado por una amenaza.

La confidencialidad Es la garantía de que la información personal será


protegida para que no sea divulgada sin consentimiento de la persona. Dicha
garantía se lleva a cabo por medio de un grupo de reglas que limitan el acceso a
ésta información.

Metodología

Parte de la lógica que estudia los métodos. Conjunto de métodos que se siguen
en una investigación científica, un estudio o una exposición doctrinal.

APÉNDICE C
DIAGRAMAS, ESQUEMAS, GRÁFICOS O DIBUJOS

10
Figura 1. Tipos de auditorias

10
Figura 2. Áreas de la auditoria de sistemas

10
Figura 3. Herramientas Seo

10
Figura 4. Metodología Auditoria Seo

10
Figura 5. Metodología Auditoria de aplicaciones web

10
Figura 6. Otras Metodología Auditoria de aplicaciones web (OWASP)

10

Вам также может понравиться