Download - GUÍA PARA VALIDAR EL NIVEL DE SEGURIDAD DE … · móviles; y se justifica principalmente en la gran importancia que tiene la seguridad de la información para las organizaciones,

Transcript

GUÍA PARA VALIDAR EL NIVEL DE SEGURIDAD DE

LOS PERMISOS Y USO DE RECURSOS DE UNA APLICACIÓN

MÓVIL BAJO PLATAFORMAS ANDROID

CRISTIAN GIOVANNY TORO SÁNCHEZ

JESÚS ALFREDO VARGAS CARVAJAL

MARIEN HERNÁNDEZ VEGA

UNIVERSIDAD CATÓLICA DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE ESPECIALIZACIÓN EN SEGURIDAD EN

REDES

BOGOTÁ D.C.

2015

GUÍA PARA VALIDAR EL NIVEL DE SEGURIDAD DE LOS

PERMISOS Y USO DE RECURSOS DE UNA APLICACIÓN MÓVIL

BAJO PLATAFORMAS ANDROID

CRISTIAN GIOVANNY TORO SÁNCHEZ

JESÚS ALFREDO VARGAS CARVAJAL

MARIEN HERNÁNDEZ VEGA

Trabajo de grado para optar al título de especialista en Seguridad en

Redes.

Director

JOHN VELANDIA

INGENIERO DE SISTEMAS, MSc.

UNIVERSIDAD CATÓLICA DE COLOMBIA

FACULTAD DE INGENIERÍA

PROGRAMA DE ESPECIALIZACIÓN EN SEGURIDAD EN

REDES

BOGOTÁ D.C.

2015

TIPO DE LICENCIA

Nota de aceptación

______________________________________

______________________________________

______________________________________

______________________________________

Presidente del Jurado

______________________________________

Jurado

______________________________________

Jurado

Bogotá D.C., noviembre de 2015.

Dedicatoria

Este trabajo está dedicado a Dios, quien nos supo guiar por el buen camino, dándonos

fuerzas para seguir adelante, y a nuestras familias, por su apoyo permanente e incondicional

en las adversidades para que no desfalleciéramos en el intento y culmináramos

exitosamente esta etapa de nuestras vidas.

Agradecimientos

Agradecemos primeramente a Dios por las bendiciones recibidas y por permitirnos

compartir esta experiencia de vida; a nuestros padres quienes han sido nuestros precursores

y quienes nos encaminaron por el sendero del conocimiento; a nuestras esposas y esposos

por su amor, paciencia y apoyo incondicional; a nuestros hijos e hijas por ceder el tiempo

de juegos y apapachos.

Agradecemos a nuestros maestros porque nunca dijeron no, porque aclararon

cualquier duda o incertidumbre, porque con su paciencia y dedicación lograron hacer de

nosotros grandes personas y excelentes profesionales; a la Universidad Católica de

Colombia por su intensa formación en valores y por acogernos como en casa.

Abstract

El uso de App móviles dentro de una organización, genera nuevos problemas de

seguridad, puesto que existen personas e incluso organizaciones inescrupulosas, que están

aprovechando las necesidades actuales creadas por la tecnología y tratan de incorporar

elementos maliciosos en busca de vulnerabilidades dentro de estas aplicaciones con el fin

de obtener, robar o manipular información que puede afectar el bienestar de los usuarios u

organizaciones.

Partiendo de lo anterior, el principal reto de este proyecto era generar una guía que

permitiera validar un App móvil determinando su nivel de seguridad, para ello se buscaron

y clasificaron las principales vulnerabilidades de las aplicaciones desarrolladas bajo la

plataforma Android tomando como referencia la norma NIST 800-163, y se enumerarán

algunos controles basados en la norma ISO 27001, con el fin de proveer al usuario una

herramienta que le permita bajo un estándar reconocido, establecer un nivel de seguridad

aceptable y mitigar el riesgo de que estás vulnerabilidades sean explotadas.

La guía también tiene como finalidad brindar a las organizaciones un apoyo en sus

procesos de desarrollo y adquisición de tecnología móvil, ya que parte desde el

reconocimiento de los requisitos de seguridad que tiene la compañía, apoyo logístico en sus

procesos de validación y aprobación/rechazo de una App.

El alcance del proyecto partió de la clasificación de vulnerabilidades, escogiendo las

vulnerabilidades que se presentan en los permisos y el uso de los recursos de las App

móviles; y se justifica principalmente en la gran importancia que tiene la seguridad de la

información para las organizaciones, y como esa seguridad también debe ser evaluada en

las App móviles que se usan para apoyar los procesos del negocio, permitiendo que los

usuarios puedan trabajar de manera eficiente, rápida, pero con niveles óptimos de seguridad

para la organización y para ellos mismos.

La metodología usada fue HPVA, ya que enmarca la generación de proyectos y la

realización de la guía generada.

Dentro de los resultados obtenidos esta la caracterización de vulnerabilidades y su

clasificación, que permitió limitar el alcance del proyecto, posteriormente se validaron los

dominios de la norma ISO 27001 para poder encontrar los controles que cubrían esas

vulnerabilidades; de estos dos resultados se genera un anexo a la guía propuesta, en donde

hay un cuestionario detallado y graficado, y con recomendaciones para el usuario.

Finalmente se construyó un documento guía para poder validar el nivel de seguridad de una

App móvil bajo plataforma Android y se validó en el Ministerio de Medio ambiente.

CONTENIDO

1 GENERALIDADES 1

ANTECEDENTES 1

PLANTEAMIENTO DEL PROBLEMA 6

1.2.1 Descripción del Problema. 6

1.2.2 Formulación del Problema. 7

Objetivos 7

1.3.1 Objetivo general. 7

1.3.2 Objetivos específicos. 7

JUSTIFICACIÓN 8

DELIMITACIÓN 9

MARCO TEÓRICO 10

1.6.1 Norma NIST 800-163. 10

1.6.2 Estadísticas de Seguridad en Dispositivos Móviles. (INTECO, 2012) 10

1.6.3 Crecimiento de Dispositivos en el Mercado. 12

1.6.4 Vulnerabilidades en Aplicaciones Móviles Según Mcafee. 14

1.6.5 Vulnerabilidad en App Bancarias Según Karspesky. 16

1.6.6 Vulnerabilidades y Amenazas sobre Android Según ESET. 20

1.6.7 Desarrollo de aplicaciones App en Android. 23

1.6.8 Vulnerabilidades expuestas en la norma NIST 800-163. 24

1.6.9 Vulnerabilidades expuestas en OWASP. 26

Marco Conceptual 28

Metodología 33

1.8.1 Tipo de estudio. 33

1.8.2 Fuentes de Información. 33

Diseño metodológico. 34

resultados obtenidos 35

1.10.1 Caracterización de Vulnerabilidades. 35

1.10.2 Controles Norma ISO 27001 de 2013. 40

1.10.3 Guía propuesta para validar el nivel de seguridad de una App. 44

Validación de una App con la guía propuesta. 45

1.11.1 Informe de Ejecución de la Guía por parte del Ministerio. 48

2 CONCLUSIONES 53

3 RECOMENDACIONES 55

BIBLIOGRAFÍA 56

LISTA DE FIGURAS

pág.

FIGURA 1: REQUERIMIENTOS DE SEGURIDAD NIST SP 800-163 2

FIGURA 2: GOOGLE PARA ANDROID 5

FIGURA 3: EQUIPAMIENTO TECNOLÓGICO 12

FIGURA 4. MARCAS DE MÓVILES 13

FIGURA 5. MODO DE ACCESO INTERNET EN EL MÓVIL. 13

FIGURA 6. USO DE MÓVIL EN DECISIÓN DE COMPRA 14

FIGURA 7: MEDIA DE APLICACIONES UTILIZADAS Y TIEMPO POR

PERSONA Y MES 15

FIGURA 8: METODOLOGÍA PHVA 34

FIGURA 9: CARACTERIZACIÓN DE VULNERABILIDADES 37

FIGURA 10: VULNERABILIDADES EN PERMISOS Y USO DE RECURSOS

38

FIGURA 11: VULNERABILIDADES DE INTEGRACIÓN 39

FIGURA 12: VULNERABILIDADES DE AUTENTICACIÓN 40

FIGURA 13: CARTA DE SOLICITUD PARA VALIDACIÓN DE GUÍA 46

FIGURA 14: CARTA DE APROBACIÓN PARA VALIDACIÓN DE GUÍA 47

LISTA DE TABLAS

pág.

TABLA 1: CRITERIOS DE EVALUACIÓN VULNERABILIDADES 35

TABLA 2: CRITERIOS DE EVALUACIÓN DE CONTROLES 41

TABLA 3: CONTROLES DE SEGURIDAD EN PERMISOS Y USO DE

RECURSOS 43

LISTA DE ANEXOS

pág.

ANEXO 1: Guía para validar el nivel de seguridad de los permisos y uso de recursos de

una aplicación móvil bajo plataformas Android.

ANEXO 1.A - CUESTIONARIO ISO 27001.

ANEXO A - CARACTERIZACIÓN DE VULNERABILIDADES.

ANEXO B - CONTROLES DE SEGURIDAD APP.

ANEXO C - GUÍA DE SEGURIDAD PARA APP SOBRE ANDROID.

ANEXO D - CUESTIONARIO ISO 27001_APP_PQRSD.

1

1 GENERALIDADES

ANTECEDENTES

Los avances tecnológicos de la nueva era, están encaminados a disminuir las

distancias, reducir el tiempo y agilizar los procesos; estas tecnologías han tenido una

evolución bastante rápida en las últimas décadas, donde los seres humanos pasaron de

pensar en la automatización de los procesos para disminuir la carga laboral a contar con

sistemas para supervisar y controlar las actividades diarias de la labor, entrando en el

mundo de los datos y encontrando en la información un activo muy valioso que puede

hacer la diferencia ante la competencia.

Otra parte importante de los avances tecnológicos, es la seguridad con la que cuentan

los mismos, en primera medida la seguridad física para los seres humanos y posteriormente

la seguridad informática de los sistemas.

Dado a que la seguridad es un punto clave para el aseguramiento de la información,

existen normas internacionales que han venido siendo actualizadas y documentadas cada

día con mayor fuerza, para brindar opciones, estudios, mejores prácticas que ayuden a

minimizar o a optimizar el manejo de la seguridad en las App móviles y este será el motivo

para generar una guía que oriente a un sector específico, pero que pueda servir de base para

cualquier tipo de aplicación de este tipo.

2

La norma NIST 800-163 refiere que “mientras las nuevas tecnologías pueden ofrecer

ganancias en productividad y nuevas capacidades, también puede presentar nuevos riesgos,

y que por ende los profesionales y usuarios de estas tecnologías deben concientizarse de

estos riesgos y desarrollar planes para mitigarlos o aceptar sus consecuencias” (NIST,

2015). La norma también brinda información que orienta a las organizaciones a tener de

manera clara cómo manejar los procesos de validación de la seguridad en las aplicaciones

móviles, también indica requisitos para el desarrollo de la seguridad en dichas aplicaciones

y finalmente ayuda a que se defina si la aplicación es realmente confiable y segura para

poder desplegarse en dispositivos móviles.

Figura 1: Requerimientos de seguridad NIST SP 800-163

Fuente: (NIST, 2015)

3

La Figura 1, muestra el contexto de seguridad para una aplicación móvil y que son

lineamientos a tener en cuenta a la hora de implementar o adquirir dichas aplicaciones. El

crecimiento reciente en el despliegue de aplicaciones móviles en las organizaciones con el

fin brindar mejor acceso y eficacia en sus procesos y en sus negocios, han permitido que la

productividad crezca constantemente; mantener conectados a los empleados de las

organizaciones en todo momento, permitiéndoles herramientas que en cualquier instante de

tiempo, desde cualquier lugar geográfico y sin límite de cobertura, puedan utilizar desde su

dispositivo Celular Android ofrece altos niveles de rendimiento.

Pero estos beneficios mencionados traen consigo limitantes y graves problemas de

seguridad que pueden causar grandes pérdidas de información en las organizaciones, esto

debido a que las vulnerabilidades siempre están presentes en cualquier medio tecnológico,

lo que permite que estas aplicaciones móviles puedan ser susceptibles a ataques perpetrados

por personas sin escrúpulos que buscan beneficiarse con estos o simplemente causar daños.

(NIST, 2015) establece que para ayudar a mitigar los riesgos asociados a las

vulnerabilidades de las aplicaciones, las organizaciones deben desarrollar niveles

adecuados de seguridad, por ejemplo, “como se deben asegurar los datos utilizados por una

aplicación, el entorno en que se implementara esta, y el nivel de riesgo aceptable para una

aplicación” (NIST, 2015). Para ayudar a asegurar que una aplicación se ajusta a dichos

requisitos, se debe realizar un proceso de selección de aplicaciones; precisamente por este

4

motivo el presente proyecto tiene como base de trabajo esta norma, pues brinda

información necesaria para poder llegar a generar un documento que sirva de guía a las

organizaciones que manejen aplicaciones móviles. Un proceso de selección de aplicaciones

comprende dos actividades principales: la prueba de aplicaciones y aplicaciones de

aprobación/rechazo.

“La prueba de aplicaciones tiene que ver con la verificación que se ejecute sobre estas

para determinar si existen vulnerabilidades que comprometan la seguridad de la

información y así generar informes que permitan comenzar a validar los métodos de gestión

del riesgo y la aprobación/rechazo de las aplicaciones” (NIST, 2015). Lo cual implica hacer

una revisión de estos informes generados en el paso anterior para determinar si la App

cumple los requisitos de seguridad necesarios.

La tecnología Android indica que para “Para poder comprender qué nivel de

seguridad puede alcanzar en una aplicación Android, por un lado, hay que conocer la

potencia de las herramientas de análisis y, por otro, lado hay que saber cómo quiere Google

que se desarrollen las aplicaciones sobre su plataforma para que sea suficientemente segura

para el usuario” (Rubio, 2012). Google ofrece en Android developers, su web de referencia

para desarrolladores, manuales de diseño, implementación y pruebas. También, propone

una serie de indicaciones que consideran buenas prácticas de desarrollo de productos

Android.

5

Las más grandes organizaciones de tecnología cuentan con aplicaciones móviles

permitiendo movilidad y fácil acceso, es así como Google también brinda información

sobre diseño, implementación y pruebas para verificar que las aplicaciones tienen un

óptimo nivel de funcionalidad y de esta forma realizar una mitigación del riesgo para evitar

la pérdida de información que las vulnerabilidades permiten, logrando detectar si se han

llevado a cabo las mejores prácticas de diseño.

Figura 2: Google para Android

Fuente: (Rubio, 2012)

Garantizar la Compatibilidad

con Perfiles Gestionados

La implementación de

Restricciones App

Aprendan como hacer que sus

aplicaciones funcionen

correctamente en un entorno

corporativo, siguiendo algunas

de las mejores practicas

Aprenda como implementar

restricciones de aplicaciones y

opciones de configuración que se

puede cambiar por otras

aplicaciones en el mismo

dispositivo

App RestrictionSchema App Restricción Enforcer

Este ejemplo muestra como

utilizar las restricciones de

aplicaciones.

Esta aplicación cuenta con una

restricción booleano con una

¨can_Say_Hello¨ clave que

define si la única característica

de esta aplicación (pulse el

mensaje para mostrar el

mensaje ¨Hola¨) esta activado

o desactivado.

Este ejemplo muestra como

establecer restricciones a otras

aplicaciones como propietario de

un perfil. Use muestra

AppRestrictionEnforcer como una

aplicación con restricciones

disponibles

La Construcción de una Policy

Controller Trabajo

Basic Managed Profile

Aprenda como desarrollar un

controlador de las actividades

de política para crear y

administrar un perfil

gestionado en el dispositivo

de un empleado

Este ejemplo muestra como crear

un perfil gestionado. También

puede aprender, activar o

desactivar otras aplicaciones y

como establecer restricciones a

los mismos. Intenciones se

pueden configurar para ser

remitido entre la cuenta principal

y el perfil gestionado.

GOOGLE FOR WORK ANDROID

6

La

Figura 2, muestra como Android también ofrece unos lineamientos mínimos de

seguridad a tener en cuenta, este repertorio de recomendaciones es ofrecido para que “sean

los desarrolladores los que decidan las medidas más convenientes para su aplicación; Por

supuesto, Android cuenta con una serie de medidas a nivel de sistema operativo: Sandbox,

Marco de aplicación de Android, Sistema de cifrado del sistema de ficheros entre otros.”

(Rubio, 2012). Estas son apenas unas de las pocas medidas que se deben implementar para

probar las aplicaciones y asegurarse de que se ha minimizado el riesgo de que estas sean

vulneradas.

PLANTEAMIENTO DEL PROBLEMA

1.2.1 Descripción del Problema.

Los antecedentes de seguridad mencionados conllevan a pensar en la necesidad de

revisar el nivel de seguridad que ofrecen las App, aún más si se usan a nivel corporativo, ya

que estas tienen conexión directa con otras aplicaciones y redes internas de la organización.

Así mismo los usuarios que acceden a estas aplicaciones, al ser corporativos,

normalmente ingresan con su usuario y contraseña de red, ya que esta sesión les permite

tener acceso según su perfil dentro de la organización, pero si la seguridad en los permisos

de estas App es amplio será blanco fácil de posibles ataques en busca de vulnerabilidades

que puedan ser explotadas.

7

1.2.2 Formulación del Problema.

En la actualidad las aplicaciones móviles a nivel corporativo son un apoyo importante

a las actividades diarias del negocio y una exigencia del mercado, la necesidad de procesos

que permitan transaccionalidad, consulta y registro desde un dispositivo móvil se hace una

necesidad vital, obligando a las organizaciones a desarrollar o adquirir aplicaciones móviles

que les permitan dar solución a las necesidades de sus usuarios y a la vez generar diferencia

competitiva.

Teniendo este precedente optamos por la siguiente pregunta de investigación: ¿Cómo

validar el nivel de seguridad en los permisos, de una aplicación móvil usada sobre

plataforma Android en las empresas?

OBJETIVOS

1.3.1 Objetivo general.

Elaborar una guía para validar el nivel de seguridad de una aplicación móvil para

plataformas Android.

1.3.2 Objetivos específicos.

Caracterizar las vulnerabilidades que tienen las aplicaciones móviles para

plataforma Android, tomando como base la norma NIST 800-163.

8

Extraer los controles del estándar ISO 27001-2013, que apliquen a las

vulnerabilidades de las aplicaciones móviles para plataforma Android

caracterizadas.

Generar documento guía para validar el nivel de seguridad de una aplicación

móvil para plataformas Android.

Validar la guía desarrollada, para determinar el nivel de seguridad de la App

PQRSD (Quejas, Reclamos, Sugerencias y Denuncias) en el Ministerio de

Ambiente y Desarrollo Sostenible.

JUSTIFICACIÓN

La justificación de este proyecto de grado, se sustenta principalmente en la gran

importancia que tiene la seguridad de la información para las organizaciones y como esa

seguridad también debe ser evaluada en las App móviles que se usan para apoyar los

procesos del negocio, permitiendo que los usuarios puedan trabajar de manera eficiente,

rápida, pero con niveles óptimos de seguridad para la organización y para ellos mismos.

Partiendo de lo anterior, es que este proyecto de grado busca dar solución a esta

necesidad, proponiendo una guía que permita validar la seguridad de una App en una

organización.

El resultado de esta investigación será de gran utilidad para los especialistas en

seguridad en redes de información, y las empresas interesadas en verificar y validar los

niveles de seguridad de las App en sus organizaciones, ya que los proveerá de

9

conocimientos y mecanismos que les permitan garantizar unos niveles confiables de

seguridad, y para los usuarios finales que son los directamente involucrados, les proveerá

una perspectiva más clara de los niveles de seguridad que tiene la aplicación que tienen

instalada en sus dispositivos móviles.

DELIMITACIÓN

El propósito de esta investigación es generar un mecanismo “guía” que permita a una

organización, validar en cualquier instante la seguridad de una aplicación móvil usada bajo

dispositivos Android, aplicando la norma ISO 27001; a las vulnerabilidades que apliquen a

los permisos y al uso de recursos.

La investigación utilizará como apoyo las normas ISO 27001 y NIST 800-163, se

ejecuta con el propósito principal de generar una guía, para validar el nivel de seguridad de

una aplicación móvil bajo plataformas Android, contemplada para entornos

organizacionales, donde sea posible establecer el nivel de seguridad de las aplicaciones,

mediante la validación de vulnerabilidades posibles encontradas en las App que quieran ser

lanzadas a producción y de esta manera poder realizar una gestión adecuada sobre estas,

para llegar a obtener un cumplimiento de los objetivos de manera eficaz y eficiente en las

organizaciones hacia las cuales está orientada la guía propuesta.

10

MARCO TEÓRICO

1.6.1 Norma NIST 800-163.

Esta norma permite ayudar a las organizaciones a entender el proceso de verificación

de la seguridad de las aplicaciones móviles, ejecutar un plan para la implementación de un

proceso de aplicación de investigación de antecedentes, tener en cuenta los requisitos para

el desarrollo de la seguridad de aplicaciones, entender los tipos de vulnerabilidades a las

que se enfrentan las App y los métodos de prueba utilizados para detectar dichas

vulnerabilidades, así como determinar si una aplicación es aceptable o no para desplegarla

en los móviles de la organización.

1.6.2 Estadísticas de Seguridad en Dispositivos Móviles. (INTECO, 2012)

En un estudio realizado en el 2011, en donde se realizaron 2.405 entrevistas online (en

PC), muestra que casi la totalidad de los usuarios dispone de teléfono móvil convencional,

y en el caso del Smartphone el porcentaje de encuestados que posee este tipo de terminal

inteligente se sitúa en un 50,3%.

Por otro lado el porcentaje de usuarios que utiliza su Smartphone para acceder al

correo electrónico, se sitúa en el 2º cuatrimestre de 2011 en un 64,9%, este porcentaje es

similar al de aquellos que lo utilizan para realizar descargas de programas o aplicaciones

(que llega hasta el 64,5%).

11

Además, una amplia mayoría (91,2%) lleva a cabo el buen hábito de seguridad de

realizar las descargas de programas o aplicaciones desde sitios oficiales (como por ejemplo

AppStore de Apple o Android Market de Google).

Según esta información estadística, se puede observar que el creciente número de

personas que usan dispositivos móviles y que utilizan aplicaciones móviles tratan de

realizar dichas descargas de sitios confiables, lo que permite que los niveles de seguridad

estén siendo atractivos para las personas en general y que la conciencia en los individuos

está siendo bien orientada.

Así mismo en este estudio, declaran en cuanto a incidentes de seguridad, que “en el 2º

cuatrimestre de 2011, un 67,4% no ha sufrido ninguna incidencia de seguridad (y en

aumento con respecto a los datos de la media móvil del último año). En segundo lugar se

sitúa la sustracción del teléfono, con un 14,8%. Con porcentajes inferiores se encuentran

incidencias como haber sufrido fraude (6,6%) o haber sido infectado por código malicioso

(2,9%).” (INTECO, 2012)

Aplicaciones móviles existen muchas y para todos los entornos que se deseen, las

cuales pueden ser de entretenimiento, productividad, transferencia de información y en fin

de cualquier tipo; y teniendo en cuenta las estadísticas mencionadas es preciso cumplir con

una serie de pruebas, validaciones y mejores prácticas, para garantizar que al utilizar las

App, realmente va a ser beneficioso y no se van a generar más riesgos para el usuario.

12

1.6.3 Crecimiento de Dispositivos en el Mercado.

La Figura 3, muestra cual es la tendencia al uso de dispositivos, crecen Tablet y TVi,

Tablet vuelve a ser protagonista con un crecimiento de 14 puntos porcentuales, al igual que

los TVs con internet integrado, ambos dispositivos muestran crecimientos significativos en

comparación al 2013. (Interactive Advertising Bureau - IAB, 2014)

Figura 3: Equipamiento Tecnológico

Fuente: (Interactive Advertising Bureau - IAB, 2014)

También se puede observar en Figura 4, como el dominio de Samsung y Android

prevalece, Apple recupera la segunda posición en el ránking en detrimento de Sony, HTC

pierde el 50% de su cuota; Windows supera a Blackberry. (Interactive Advertising Bureau -

IAB, 2014)

13

Figura 4. Marcas de Móviles

Fuente: (Interactive Advertising Bureau - IAB, 2014)

En el estudio que realizó la empresa IAB, también muestra cómo se consolida el

acceso vía App tras 2 años de rápido crecimiento tanto en Tablet Como Móvil. La Figura 5

permite observar que la tendencia de los usuarios es a usar App desde sus dispositivos y no

el navegador.

Figura 5. Modo de acceso Internet en el móvil.

Fuente: (Interactive Advertising Bureau - IAB, 2014)

14

Al incrementar el uso de dispositivos móviles y con ellos el uso de Apps, también una

tendencia creciente son las comprar online, como lo ilustra la Figura 6, de cada 10

internautas móviles, 9 han usado en alguna ocasión el Smartphone en el momento de

decidir una compra. Hoy en día el e-commerce se considera algo habitual, en donde se

pueden adquirir toda clase de productos, aún más ya existen varios almacenes que han

creado sus propias App para brindar al usuario nuevas opciones para comprar. (Interactive

Advertising Bureau - IAB, 2014)

Figura 6. Uso de móvil en decisión de compra

Fuente: (Interactive Advertising Bureau - IAB, 2014)

1.6.4 Vulnerabilidades en Aplicaciones Móviles Según Mcafee.

Millones de usuarios de aplicaciones para móviles siguen expuestos a

vulnerabilidades relacionadas con SSL/TSL (Mcafee, 2015)

15

Según un estudio de McAfee de 2.015 como se ilustra en la Figura 7, en el que

participaron cerca de 5.000 usuarios de Smartphone, el número de apps que utiliza el

usuario típico en el transcurso de un mes pasó de 23 en 2011 a 27 en 2013. Y lo que es más

importante, el tiempo empleado utilizando esas aplicaciones aumentó en un porcentaje aún

mayor. Durante el mismo período de dos años, el tiempo que dedican los usuarios de

Smartphone a las aplicaciones móviles aumentó un 65 %, pasando de 18 horas al mes en

2011 a más de 30 en 2013. La gente es ahora más dependiente de las aplicaciones móviles y

estas aplicaciones son cada vez más atractivas.

Figura 7: Media de aplicaciones utilizadas y tiempo por persona y mes

Fuente: (Mcafee, 2015)

Los consumidores (así como para los desarrolladores de apps comerciales y sus

clientes), plantean problemas de seguridad y privacidad difíciles de solucionar. Algunos de

16

ellos son el resultado de la acción de desarrolladores de aplicaciones demasiado agresivos o

de las redes de publicidad que incorporan en sus aplicaciones. “Por ejemplo, los juegos

pertenecen a la categoría más popular de la tienda de aplicaciones de Apple, pero al mismo

tiempo es también la más utilizada para actividades maliciosas, según el McAfee Mobile

Security Report (Informe de McAfee sobre seguridad para dispositivos móviles) de febrero

de 2014. Aunque parezca increíble, hasta el 82 % de las aplicaciones para móviles registran

cuándo se utilizan redes de datos y Wi-Fi, cuándo está encendido el dispositivo, cuál es su

ubicación actual y anterior, y en la mayoría de los casos, al instalar las aplicaciones los

usuarios aceptan compartir esa información.” (Mcafee, 2015)

1.6.5 Vulnerabilidad en App Bancarias Según Karspesky.

La empresa karspersky, también alerta sobre Vulnerabilidades en las apps bancarias

de iOS.

Un gran número de aplicaciones bancarias para iOS, muy utilizadas por los clientes de

las entidades financieras más conocidas de todo el mundo, contienen vulnerabilidades que

exponen a los usuarios al robo de datos y a la violación de sus cuentas (IOACTIVE LABS,

2014). De hecho, si los cibercriminales supieran de estas vulnerabilidades, podrían

monitorizar el comportamiento de los usuarios a través de ataques Man-in-the-Middle,

entrar en sus cuentas mediante hacking y provocar problemas en la memoria que

acarrearían el colapso del sistema y el robo de datos.

17

La empresa karspersky, examinó 40 aplicaciones móviles pertenecientes a los sesenta

bancos más importantes del mundo. Entre otros aspectos, Sanchez analizó la seguridad de

los mecanismos de transferencia datos, la interfaz de usuario, los procesos de

almacenamiento datos y otras cuestiones más técnicas como compiladores y códigos

binarios.

“Alguien con la habilidad adecuada podría utilizar esta información para encontrar

otras vulnerabilidades y luego podría desarrollar un exploit o un malware que

comprometiese los datos del usuario de las aplicaciones bancarias afectadas”, ha afirmado

Sánchez. “Se trata del primer paso hacia una potencial amenaza de seguridad”.

Lo más preocupante, (IOACTIVE LABS, 2014) es que durante el análisis estático de

cada aplicación, se encontraron muchas credenciales incrustadas en los códigos binarios. Es

decir, muchas aplicaciones bancarias contenían claves maestras fácilmente visibles, que

permitirían el acceso a las infraestructuras de las aplicaciones. Desafortunadamente, los

cibercriminales también podrían acceder a dicha información.

“Se podría explotar este tipo de vulnerabilidad para acceder a la infraestructura de las

aplicaciones bancarias e infectarlas con malware, consiguiendo atacar a los clientes que las

utilizan”, ha afirmado Sánchez. (Karpesky Lab Zao, 2014)

18

La meta, era realizar una caja negra y un análisis estático de los apps móviles

mundiales de las actividades bancarias caseras. La investigación utilizó los dispositivos de

iPhone/iPad para probar un total de 40 apps de las actividades bancarias caseras de los 60

bancos más influyentes superiores del mundo.

Una vez realizadas dichas pruebas se obtuvo que el 40% de los apps revisados no

validaron la autenticidad de los certificados del SSL presentados, y también Algunos apps

(menos el de 20%) no tenían ejecutable independiente de la posición (PIE) y no compilaron

para separar las cookies y las sesiones. Esto podía ayudar a atenuar el riesgo de los ataques

de la corrupción de la memoria. (IOACTIVE LABS, 2014)

Con el fin de minimizar el impacto de lo que implica instalar una aplicación móvil

dentro de las organizaciones; éste trabajo de investigación busca analizar estándares de

seguridad orientados a verificar y validar los niveles de seguridad con los que cuenta una

aplicación móvil.

Complementando lo anterior, uno de los principales procesos vulnerados en las

aplicaciones móviles son “Los procesos de autenticación de usuarios y que son

definitivamente el área más atacada y problemática de una aplicación web cuando se trata

de seguridad. De estos procesos y sus relacionados depende en gran parte la seguridad de

los usuarios y de la aplicación bajo cualquier punto de vista, por lo que nunca sobra

19

cualquier medida de seguridad, que podamos tomar para proteger este área de cuya

vulnerabilidad, o fuerza depende en gran medida el éxito del sistema” (Maulini R., 2013).

Debe haber un proceso que normalmente indique los pasos a seguir para tener claro

que una aplicación es segura y que cualquier organización podría disponer de ella para

mejorar su productividad; en este mismo artículo se mencionan algunos pasos para cubrir la

necesidad de seguridad en las aplicaciones móviles, y dada su importancia se mencionaran

a continuación:

Maulini también afirma que hay que asegúrese de que todas las secciones de la

aplicación que requieran autenticación estén realmente cubiertas por el componente de

autenticación y que la autenticación no pueda ser dejada de lado por ataques de fuerza bruta

al recurso y da una serie de recomendaciones, que se mencionaran ya que hacen parte la

mitigación a los riesgos funcionales que se pueden presentar en una aplicación móvil.

“No utilice identificación personal o información de credenciales, En realidad no

son secretas, y exponer su negocio a la responsabilidad de almacenarlas no es buena

política.

Se debe utilizar HTTPS para proteger las transacciones de autenticación contra el

riesgo de ataques de escucha, MIM y repetición.

De la incorrecta verificación y validación de las entradas de datos depende un gran

abanico de tipos de ataque a su aplicación web. La inyección SQL, inyección de

20

scripts, y la ejecución de comandos se pueden prevenir si la validación de entradas

de datos se realiza correctamente.

Asegúrese de que los "token" de autenticación de seguridad como el de

identificación de sesión no sean fácilmente predecibles y que se generan mediante

números pseudo aleatorios fuertes que no sean sencillos de adivinar mediante

procesos estadísticos.

No genere identificadores de sesión antes de completar el proceso de la

autenticación (el servidor siempre debe generar estos valores), y siempre un genere

un nuevo identificador de sesión aleatorio por cada autenticación exitosa.

No se olvide fortalecer los sistemas de gestión de identidad como por ejemplo el de

registro de cuenta y los procedimientos de actualización de datos y credenciales, los

fallos en estos sistemas permiten pasar por alto los controles de autenticación por

complejos y eficientes que estos sean” (Maulini R., 2013).

Hay que tener en cuenta que los pasos anteriores son apenas algunos de los múltiples

que se pueden aplicar dependiendo del tipo de aplicación y de muchos factores que hacen

que las aplicaciones sean diferentes; se debe conocer que para lograr mitigar el riesgo de

vulneración de las aplicaciones, es necesario siempre ejercer controles permanentes.

1.6.6 Vulnerabilidades y Amenazas sobre Android Según ESET.

Información validada en un estudio desarrollado por ESET indica que Android es un:

¨Sistema operativo móvil desarrollado por Google lanzado en 2007. Su capacidad de

21

funcionar en distintos dispositivos y la gran cantidad de aplicaciones que están disponibles

para éste lo hace una de las opciones más utilizadas y a la vez más atacada por los ciber-

delincuentes.¨, es por esta razón que se decide hacer validación sobre este tipo de sistema

operativo, a sabiendas de que es el que los delincuentes ciber espaciales desean atacar de

manera constante, dado a sus características.

En este mismo informe ESET expone que ¨el éxito en la propagación de cualquier tipo

de amenaza informática (exceptuando la pérdida del teléfono) radica principalmente en las

estrategias de Ingeniería Social que el cibercriminal utilice.

Para este tipo de dispositivos es común que se usen temáticas específicas para este

segmento como troyanos que se expanden con la excusa de ser algún determinado juego

móvil, o incluso se han llegado a reemplazar códigos QR legítimos por otros que no lo son,

para dirigir al usuario a un sitio que descarga alguna clase de código malicioso.¨ (ESET,

2014),

De esta manera y teniendo en cuenta la información suministrada por ESET, es

necesario brindar una concienciación muy fuerte a los usuarios de la organización, que

permita ver en el presente, los alcances futuros que pueden acarrear el no hacer el uso

adecuado de las App móviles, y así los riesgos se puedan minimizar.

22

Información adicional en el informe ESET muestra que ¨una de las funciones más

atractivas y utilizadas por los usuarios de estos dispositivos es la capacidad de comprar

productos, contratar servicios y realizar transacciones bancarias en línea. Aunque esta

característica indudablemente facilita la vida cotidiana de las personas, también puede

transformarse en un problema grave si no se adoptan las medidas de seguridad necesarias.

Ya se han reportado varios casos de códigos maliciosos móviles que roban

información sensible de este tipo.¨ (ESET, 2014), esta es una de las App críticas que

pueden afectar los intereses de los usuarios finales y con las cuales se debe tener definido

una correcta utilización y validación de las vulnerabilidades y posibles ataques que esta

reciba, pues de no hacerlo se incurre en pérdidas fuertes para los usuarios finales y

dependiendo del tipo de aplicación, para la organización.

El trabajo desarrollado pretende darle los pasos necesarios a la organización y a los

usuarios para que definan el nivel de seguridad que la App desarrollada para esta, y de esta

manera tener claro si el riesgo es alto o aceptable, y si es posible ponerla en producción sin

ningún problema que afecte la productividad de la empresa.

23

1.6.7 Desarrollo de aplicaciones App en Android.

Cada proceso en Android constituye lo que se llama un cajón de arena o sandbox1,

que proporciona un entorno seguro de ejecución. Por defecto, ninguna aplicación tiene

permiso para realizar ninguna operación o comportamiento que pueda impactar

negativamente en la ejecución de otras aplicaciones o del sistema mismo. Por ejemplo,

acciones como leer o escribir ficheros privados del usuario (contactos, teléfonos, etc.), leer

o escribir ficheros de otras aplicaciones, acceso de red, habilitación de algún recurso

hardware del dispositivo, etc., no están permitidas.¨ (ESET, 2014).

Lo anterior, deja claro que los procesos de desarrollo en Android, para la

implementación de App cuentan con un buen nivel de seguridad, pero ha de tenerse en

cuenta que los desarrolladores tienen autonomía al momento de aplicar las directrices de

seguridad y hacer que estos procesos seguros no se cumplan.

Este punto es de resaltar en el proyecto, ya que la autorización de permisos es una de

las vulnerabilidades más críticas.

1 Sandbox es una especie de aislamiento de procesos para poder ejecutar varios programas con

seguridad ya que controla los recursos proporcionados a cada programa

24

1.6.8 Vulnerabilidades expuestas en la norma NIST 800-163.

La norma NIST 800-163, junto con otros informes que estudian la seguridad de las

aplicaciones móviles como el realizado por Hewlett-Packard (2013) la OWASP, encuentran

una serie de vulnerabilidades en las aplicaciones móviles como son:

Vulnerabilidades en Pruebas de software

- Problemas de privacidad

- Falta de protección binaria

- Almacenamiento inseguro de datos

- Falencias de seguridad en el trasporte de los datos

- Pobres controles del lado del servidor

Vulnerabilidades en Requisitos de seguridad de la organización

- No tener requisitos de seguridad en la organización

- No contar con un análisis de riesgos /aplicaciones móviles

- No contar con clasificación de activos

- No contar con clasificación de información

Vulnerabilidades en Pruebas de Corrección

- Ejecución de un programa con la intención de encontrar errores en la

App y detectar las vulnerabilidades

- Falla en la funcionalidad para la cual la App ha sido diseñada

- App muestra un comportamiento variable e inesperado

Vulnerabilidades en Código Fuente Versus Código Binario

25

- Acceso al código fuente

- Involucrar personal con poca capacidad técnica y experiencia para

realizar revisiones de código fuente en busca de vulnerabilidades

Vulnerabilidades en Análisis Estático Vs Análisis Dinámico

- Implementación de análisis dinámicos o estáticos mal dirigidos

- No utilizar los tiempos adecuados y suficientes para realizar el análisis

de la conducta de las App, por ejemplo para identificar como esta

interactúa con los recursos externos y las peticiones de información que

pueda requerir

Vulnerabilidades en Resultados Compartidos

- No hacer uso de los repositorios de información donde se encuentra

información clara de vulnerabilidades comunes como son: NVD (The

National Vulnerability Database), SCAP (Security Content Automation

Protocol), CAPEC (Common Attack Pattern Enumeration and

Classification).

Vulnerabilidades en Rechazo o Aprobación de la App

- Realizar la auditoria del informe arrojado por los analizadores, con

personal que no tenga la experiencia y el conocimiento necesario

- Utilizar solo un auditor para validar la información del analizador

- Los auditores no tienen la capacidad de interpretar diferentes informes

generados por los analizadores o interpretan mal la información obtenida

por estos.

26

Apéndice A - Vulnerabilidades (NIST, 2015)

- Respecto al análisis de riesgos, es posible que no se haga adecuadamente

- Incurrir en no hacer documentación de los controles de seguridad de

hardware del dispositivo

- Niveles de seguridad errados o con falencias de seguridad en la

infraestructura de la organización

- No Identificar posibles riesgos de seguridad y privacidad en la

infraestructura de la organización.

- Falta de capacitación al personal de la organización o en su defecto las

personas que vayan a utilizar las aplicaciones.

- Falencias en los túneles VPN por donde las aplicaciones deben

transportar la información

- Actualizaciones de las aplicaciones sin controles de confidencialidad,

integridad y disponibilidad.

-

1.6.9 Vulnerabilidades expuestas en OWASP.

Así mismo OWASP2 (Open Web Application Security Project) estableció un ranking

de 10 principales vulnerabilidades para el año 2013, las cuales son:

2 OWASP (Proyecto abierto de seguridad de aplicaciones web)

27

Debilidad de los controles del lado del servidor: corresponde a las inyecciones

de código.

Almacenamiento inseguro de datos: se trata mayormente de dispositivos

móviles perdidos y/o robados.

Protección insuficiente en la capa de transporte: Si la codificación de dicha

aplicación es débil, existen diversas técnicas para visualizar datos sensibles

mientras viajan entre el cliente y el servidor.

Fuga de datos no intencionada: No se pueden controlar cambios y/o fallas que

estén por fuera de sus aplicaciones.

Pobre autorización y autenticación: autoguardado de contraseñas

Criptografía rota: métodos de encriptación de datos se vuelve una práctica casi

obsoleta. Crear y utilizar su propio algoritmo de encriptación y utilizar

algoritmos.

Inyección del lado del cliente: atacante que inyectan exploits sencillos a las

aplicaciones móviles.

Decisiones de seguridad a través de entradas no confiables: la aplicación móvil

debería permitir solamente comunicación con otras aplicaciones confiables.

Manejo de sesión incorrecto: validar la sesión a nivel servidor y no solamente a

nivel cliente, establecer un tiempo de expiración de sesión o la creación de

tokens seguros.

Falta de protección a nivel binario: programa a nivel binario y no está protegido

puede ser atacado

28

MARCO CONCEPTUAL

Tecnología Móvil: La tecnología móvil básicamente en su concepto es la conexión

que pueden tener dispositivos y a su vez las personas sin utilizar medios alámbricos de

conexión donde el medio es el aire y este transmite la información mediante ondas

electromagnéticas; tiene mucho tiempo de estar en funcionamiento, dado a que se buscan

simplificar las actividades diarias para agilizar los procedimientos que diariamente

queremos o necesitamos desarrollar.

Android: más que un sistema operativo, representa toda una pila de software para

dispositivos móviles que incluye gran cantidad de drivers, gestor de bases de datos, una

completa framework de aplicaciones, y numerosas aplicaciones de usuario. Android está

basado en el núcleo de Linux y todas sus aplicaciones se escriben en lenguaje Java,

disponiendo además de una máquina virtual específica llamada Dalvik.

Seguridad de la Información: La Seguridad de la Información tiene como objetivo

proteger la información de los datos y trata de mitigar la pedida y modificación de los

mismos; son medidas técnicas, organizativas y legales que permiten a cualquier

organización asegurar los pilares fundamentales de este concepto como son,

confidencialidad, integridad y disponibilidad de cualquier sistema de información. (calidad,

2015)

29

Seguridad en Android: En Android cada aplicación se ejecuta en su propio proceso.

La mayoría de las medidas de seguridad entre el sistema y las aplicaciones deriva de los

estándares de Linux 2.6, cuyo kernel, recuérdese, constituye el núcleo principal de Android;

Cada proceso en Android constituye lo que se llama un cajón de arena o sandbox, que

proporciona un entorno seguro de ejecución.

Aplicación Móvil: Es un programa diseñado y desarrollado según las necesidades

requeridas para el usuarios, el cual se puede descargar e instalar y al que puede acceder

directamente desde su dispositivo móvil que soporte estas. (ITU, 2009)

NIST 800-163: Es una norma responsable del desarrollo de las normas y directrices de

seguridad de la información, incluyendo requisitos mínimos para los sistemas de

información federales de los EE UU; este documento permite a las organizaciones entender

los procesos de verificación de la seguridad de las aplicaciones móviles, el plan para la

implementación de un proceso de aplicación de investigación de antecedentes, los

requisitos para el desarrollo de las aplicaciones de manera segura, entender los tipos de

vulnerabilidades que pueden afectas estas aplicaciones y determinar finalmente si una

aplicación es aceptable o no para entrar en producción en una organización. (NIST, 2015)

ISO 27001: Es una norma internacional presentada por la Organización Internacional

de Normalización (ISO) y la cual describe la manera de gestionar la seguridad de la

30

información en cualquier tipo de organización con o sin fines de lucro, privada o pública,

pequeña o grande. (Agustín López Neira, s.f.)

Sandbox: Un Sandbox es entorno de pruebas donde se puede trabajar una aplicación

móvil App, de tal manera que se puedan detectar las vulnerabilidades que esta presenta con

el fin de evitar cambios en el equipo que podrían llegar a ser perjudiciales o simplemente de

difícil reversión. El concepto de Sandbox es muy amplio ya que abarca muchos ámbitos,

como por ejemplo desarrollo web, wikis o servicios web. (Salesforce , 2015)

Cifrado: La práctica de la codificación y decodificación de datos se conoce como

"cifrado". Cuando los datos se cifran, significa que se aplicó un algoritmo para codificarlos,

de modo que ya no están en su formato original y, por lo tanto, no se pueden leer. Los datos

solo se pueden decodificar a su forma original aplicando una determinada clave de

descifrado. (Kaspersky, 2015)

Vulnerabilidades: Punto o aspecto del sistema o sus aplicaciones que es susceptible de

ser atacado o de dañar la seguridad del mismo. Representan las debilidades o aspectos

falibles o atacables en un sistema informático. (Wordpress, 2013)

Amenazas: Posible peligro para el sistema. Puede ser una persona (hacker), un

programa (virus, caballo de Troya), o un suceso natural o de otra índole (fuego, inundación,

31

etc.). Representan los posibles atacantes o factores que aprovechan las debilidades del

sistema. (Wordpress, 2013)

Man in the middle: El ataque ‘Man in the middle’, traducido al español como ‘El

hombre en el medio’, es un ataque PASIVO, que se lleva a cabo tanto en redes LAN como

WLAN. Es un ataque en el que en la transmisión de información por una red, se intenta

modificar esta para alterarla, sin que ninguna de las dos partes, emisora y receptora conozca

que el enlace entre ellos ha sido violado. El atacante debe ser capaz de observar e

interceptar mensajes entre las dos víctimas. (Galisteo Cantero & Moya Reyes, 2009)

Integridad: la “integridad de los datos” puede definirse como la imposibilidad de que

alguien modifique datos sin ser descubierto. Desde la perspectiva de la seguridad de datos y

redes, la integridad de los datos es la garantía de que nadie pueda acceder a la información

ni modificarla sin contar con la autorización necesaria. Si examinamos el concepto de

“integridad”, podríamos concluir que no solo alude a la integridad de los sistemas

(protección mediante antivirus, ciclos de vida del desarrollo de sistemas estructurados

[SDLC], revisión de códigos fuente por expertos, pruebas exhaustivas, etc.), sino también a

la integridad personal (responsabilidad, confianza, fiabilidad, etc.) (Gelbstein D. , 2011)

Autenticación: Llamamos autentificación a la comprobación de la identidad de una

persona o de un objeto. Hemos visto hasta ahora diversos sistemas que pueden servir para

la autentificación de servidores, de mensajes y de remitentes y destinatarios de mensajes.

32

Pero hemos dejado pendiente un problema: las claves privadas suelen estar alojadas en

máquinas clientes y cualquiera que tenga acceso a estas máquinas puede utilizar las claves

que tenga instaladas y suplantar la identidad de su legítimo usuario. (EUMED, 2015)

NVD (The National Vulnerability Database): NVD es el repositorio gobierno de

Estados Unidos de las normas de datos de gestión de vulnerabilidades representados

mediante el protocolo de contenido de Automatización de Seguridad (SCAP). Estos datos

permiten la automatización de la gestión de la vulnerabilidad, medida de seguridad, y el

cumplimiento. NVD incluye bases de datos de listas de control de seguridad, fallas de

software relacionados con la seguridad, errores de configuración, nombres de productos y

métricas de impacto. (National Vulnerability Database, 2014)

SCAP (Security Content Automation Protocol): El Protocolo de contenido

Automatización de Seguridad (SCAP) es una síntesis de las especificaciones interoperables

derivados de las ideas de la comunidad. La participación comunitaria es una gran fortaleza

para SCAP, porque la comunidad de automatización de seguridad garantiza la más amplia

gama posible de casos de uso se refleja en la funcionalidad SCAP. (SCAP, 2015)

CAPEC3 (Common Attack Pattern Enumeration and Classification): CAPEC es un

catálogo a disposición del público de patrones de ataque, junto con una amplia esquema y

3 (CVE - Common Vulnerabilities and Exposures, 2011)

33

clasificación taxonomía creada para ayudar en la construcción de software seguro.

(MITRE)

METODOLOGÍA

1.8.1 Tipo de estudio.

El resultado de este trabajo de grado es de carácter cualitativo, porque parte de un

reconocimiento de información relacionado con las buenas prácticas que en el mercado

cubren las necesidades de la seguridad de la información, y que actualmente aplican a nivel

mundial en el desarrollo y funcionamiento de las aplicaciones móviles.

La investigación que se propone también es de carácter exploratoria dado a que la

información que se suministrara proviene de estándares actuales que brindan buenas

prácticas y las cuales fueron desarrolladas mediante el descubrimiento de las diferentes

revisiones en proyectos internacionales; y es proyectiva también pues plantea una guía base

que ayudará a mitigar riesgos de información.

1.8.2 Fuentes de Información.

El referente de este trabajo fue el estándar NIST 800-163, algunos estudios de

seguridad por empresas reconocidas y la norma ISO 27001-2013, esta última alineada con

los Sistemas de Gestión de la Seguridad de la Información (SGSI), en donde se tomará la

norma NIST para identificar las vulnerabilidades en el funcionamiento de un App

desarrollada sobre Android y posteriormente se analizarán los componentes o dominios que

contiene la norma ISO 27001-2013 y se tomarán las pautas más relevantes de estas normas

34

para cubrir y garantizar la seguridad sobre los datos y sobre las transacciones que se pueden

ejercer sobre dicha información.

DISEÑO METODOLÓGICO.

El diseño metodológico de este trabajo se basa en la metodología PHVA de la norma

ISO 27001 para los SGSI, en la Figura 8, se pone en contexto la metodología propuesta en

este documento dentro de cada etapa del ciclo.

Figura 8: Metodología PHVA

Fuente (Autores)

35

RESULTADOS OBTENIDOS

1.10.1 Caracterización de Vulnerabilidades.

Para el desarrollo de este objetivo, se extrajeron de la norma NIST 800-163 las

principales vulnerabilidades y sus características, para las aplicaciones que corren sobre

plataformas Android ver (CARACTERIZACIÓN DE VULNERABILIDADES.xlsx); este

Anexo cuenta con las siguientes hojas:

En la hoja “CRITERIOS DE EVALUACIÓN” se especifican los criterios que se

definieron para clasificar las vulnerabilidades caracterizadas, estos criterios se tomaron

como referente ya que son criterios de validación en la seguridad de la información.

Tabla 1: Criterios de evaluación Vulnerabilidades

Fuente: Autores

Permisos y uso de recursos: Vulnerabilidades que afectan la funcionalidad de la App

y hace uso del software y hardware del dispositivo

36

Integridad: Vulnerabilidades que afectan la funcionalidad de la App ya que altera la

información, cambiándola o eliminándola

Autenticación: Vulnerabilidades que afectan la funcionalidad de la App y brindan

accesos no autorizados a otras aplicaciones o a funcionalidades de la App

En la hoja “VULNERABILIDAD NIST” se caracterizan las vulnerabilidades

extraídas de la norma NIST 800-163, haciendo una breve descripción, exponiendo su

consecuencia negativa a la hora de presentarse, y finalmente hay una casilla que indica en

que parte de la norma se habla de dicha vulnerabilidad.

Vulnerabilidad: Tipo de vulnerabilidad encontrada, según la norma NIST 800-163

Descripción: Especificación general de la vulnerabilidad en pro de la afectación que

genera.

Consecuencia Negativa: Impacto negativo que se genera una vez la vulnerabilidad se

ve atacada generando riesgo de seguridad

Norma NIST: Indica el ítem de la norma NIST 800-163 en donde hacen referencia

de la vulnerabilidad.

37

Una vez obtenido el listado de vulnerabilidades, se clasificaron de la siguiente

manera:

En la hoja “EVALUACIÓN”, se realiza una clasificación de las vulnerabilidades,

validando en cada una de ellas los criterios de evaluación establecidos en la hoja

“CRITERIOS DE EVALUACIÓN”, obteniendo como resultado la siguiente clasificación:

Una vez efectuado los criterios de evaluación sobre las vulnerabilidades extraídas de

la norma NIST se obtuvieron los siguientes resultados.

Figura 9: Caracterización de vulnerabilidades

Fuente: Autores

11

15

5

7

3

13

Permisos y uso derecursos

IntegridadAutenticación

CRITERIOS PARA LAS VULNERABILIDADES

SI NO

38

El grafico muestra que de un total de 18 vulnerabilidades halladas, 11 se relacionan a

los permisos y uso de recursos del sistema, 15 a la integración y 5 con la autenticación. Así

se puede establecer que el mayor porcentaje de vulnerabilidades en las App móviles son las

relacionadas con permisos e integridad.

Figura 10: Vulnerabilidades en Permisos y Uso de recursos

Fuente: Autores

La gráfica muestra que del total de las vulnerabilidades, 11 de ellas tienen

características relacionadas a los permisos y uso de recursos de las aplicaciones móviles, ya

que afectan la funcionalidad del sistema haciendo uso de hardware o software del

dispositivo.

0

2

4

6

8

10

12

SI NO

11

7

Permisos y uso de recursos

39

Figura 11: Vulnerabilidades de Integración

Fuente: Autores

La gráfica muestra que del total de las vulnerabilidades, 15 de ellas tienen

características relacionadas a la integración, ya que afectan el funcionamiento de la App y

la información a la que tiene acceso la App móvil.

0

2

4

6

8

10

12

14

16

SI NO

15

3

Integridad

40

Figura 12: Vulnerabilidades de Autenticación

Fuente: Autores

La gráfica muestra que del total de las vulnerabilidades, 5 de ellas tienen

características relacionadas con la autenticación, ya que afectan el funcionamiento de la

App y brinda accesos no autorizados con otras aplicaciones o funcionalidades del sistema.

1.10.2 Controles Norma ISO 27001 de 2013.

Para el desarrollo de este objetivo se tomó la norma ISO 27001 de 2013, se tradujo al

español y se catalogaron los controles que aplican a las vulnerabilidades identificadas (ver

ANEXO B-CONTROLES DE SEGURIDAD APP.xlsx); este anexo, cuenta con las

siguientes hojas:

0

2

4

6

8

10

12

14

SI NO

5

13

Autenticación

41

En la hoja “CRITERIOS DE EVALUACIÓN” se especifican los criterios que se

definieron para clasificar los controles de la norma ISO 27001, estos criterios se tomaron

como referente ya que son criterios de validación en la seguridad de la información.

Tabla 2: criterios de evaluación de controles

Fuente: Autores

Permisos y uso de recursos: Controles preventivos o correctivos orientados a mejorar

la funcionalidad de la App y que están enfocados al manejo de los recursos del sistema.

Integridad: Controles preventivos o correctivos orientados a mejorar la funcionalidad

de la App y que están enfocados al manejo de la información y los datos.

42

Autenticación: Controles preventivos o correctivos orientados a mejorar la

funcionalidad de la App y que están enfocados al de accesos a la aplicación y de la

aplicación a otras aplicaciones.

En la hoja “CONTROLES ISO 27001” se extrajeron los dominios de la norma

especificando su numeral, sus objetivos de control y se clasificaron según los criterios de

evaluación antes mencionados; finalmente en la última casilla se hacen una serie de

preguntas con el fin de determinar si el objetivo de control se está cumpliendo.

Dominio: Dominio de la norma ISO 27001, que aplica a las aplicaciones móviles.

Objetivo de control: Objetivos de control que expone la norma para cumplir con el

dominio.

Cuestionario de seguridad: Cuestionario a realizar para verificar si el objetivo de

control se está cumpliendo.

Finalmente se obtuvo la información de los dominios también clasificados y

evaluados para determinan los controles que le aplican a las vulnerabilidades encontradas, y

filtrando los controles que afectan las vulnerabilidades que están dentro del alcance de este

proyecto (permisos y uso de recursos) como se muestra en la

Tabla 3. Controles de seguridad en permisos y uso de recursos.

43

Tabla 3: Controles de seguridad en permisos y uso de recursos

Fuente: Autores

La

44

Tabla 3, muestra resultado final de los controles de la norma ISO 27001, evaluados

bajo los criterios establecidos, y de los cuales son alcance de este proyecto los controles que

impactan los permisos y el uso de recursos de una App móvil.

1.10.3 Guía propuesta para validar el nivel de seguridad de una App.

La guía fue estructurada bajo la metodología PHVA, la cual enmarca el procedimiento

a seguir y a tener en cuenta para poder aplicar la guía.

La estructura de la guía está compuesta por:

Presentación: Breve descripción del propósito de la guía

Generalidades: Descripción de la normatividad bajo la cual fue desarrollada la guía

Alcance: cubrimiento que tiene la guía

Objetivo: objetivo general que tiene la guía

Definiciones: algunas definiciones básicas que el usuario posiblemente requiera a la

hora de aplicar la guía

Competencias del responsable de seguridad: perfil del personal de seguridad que se

requiere para aplicar la quía

Aplicación de la guía: descripción del paso a paso de aplicación de la guía

La guía contiene un anexo (ver ANEXO C - CUESTIONARIO ISO 27001.xlsx), el

cual es el resultado práctico de este proyecto, en donde por medio de un cuestionario se

busca validar el cumplimiento a los controles que exige la norma ISO 27.001.

45

46

VALIDACIÓN DE UNA APP CON LA GUÍA PROPUESTA.

Para poder validar la guía, se realizó una solicitud formal (ver Figura 13), ante la

entidad Ministerio de Ambiente y Desarrollo sostenible, con el fin de aplicar la guía

validando la App móvil PQRSD.

Una vez se obtuvo respuesta del Ministerio para poder validar la guía (ver Figura 14),

se procedió al envió de la guía junto con sus anexos al responsable en el Ministerio. El

resultado fue entregado días más tarde en donde se obtuvo que la aplicación tiene un nivel

de seguridad bajo la norma ISO 27.001 del 80,75% en el cumplimiento de los controles que

la norma exige, sin embargo se dieron algunas recomendaciones para cumplir a cabalidad

con los dominios de la norma que se relacionan con las App móviles.

La respuesta a la validación se evidencia en el (ANEXO D - CUESTIONARIO ISO

27001_APP_PQRS.xlsx)

47

Figura 13: Carta de solicitud para validación de guía

48

Figura 14: Carta de Aprobación para validación de guía

49

1.11.1 Informe de Ejecución de la Guía por parte del Ministerio.

Introducción: El siguiente informe tiene como finalidad realizar la descripción del

proceso y los resultados obtenidos al realizar la evaluación del aplicativo APP PQRSD para

el Ministerio de Ambiente y Desarrollo Sostenible ( Desde ahora MADS).

Antecedentes: Teniendo en cuenta que el desarrollo del aplicativo App de PQRSD

del MADS se encuentra conformado por una integración al sistema WEB existente para la

gestión de las solicitudes (PQRSD) de los ciudadanos, es importante realizar una

evaluación previa de las oportunidades y aspectos de mejora , como también de los riesgos

que se pueden identificar con la ayuda del cuestionario entregado por los estudiantes de la

especialización, con el fin de evitar posibles daños o afectaciones a la información existente

en el sistema PQRSD WEB del MADS.

Proceso: El proceso que se realizó para evaluar cada una de las preguntas del

cuestionario entregado por los estudiantes de la especialización fue el siguiente:

En primera instancia se desplego un ambiente de pruebas del web services que se

desarrolló para integrar la información existente del sistema WEB de PQRSD del MADS

con el aplicativo APP. Posteriormente se realizó el despliegue del aplicativo App en un

50

Smartphone Android con el fin de evaluar las preguntas del cuestionario contras las

funcionalidades que se implementaron dentro del aplicativo en su primera versión:

Las funcionalidades que actualmente se contemplan dentro de la primera versión del

aplicativo App PQRSD del MADS son:

Login de usuarios al sistema PQRSD.

Logout de usuarios al sistema PQRSD.

Ver solicitudes.

Crear solicitud.

Ver detalle de solicitud.

Luego de esto se empezó a evaluar cada una de las preguntas que se contemplan

dentro del cuestionario de la guía; verificando tanto la aplicación App PQRSD del MADS

como también el funcionamiento interno de gestión por parte del grupo técnico de

desarrollo.

Esta evaluación fue efectuada de forma conjunta entre los Ingenieros Camilo Pulido y

Freddy Gómez contratistas de la oficina TICS quienes al responder cada una de las

preguntas de dicho cuestionario identifican los siguientes aspectos de mejora que se podrían

51

tener en cuenta dentro del cuestionario para hacerlo más dinámico y parametrizable frente a

las necesidades de las empresas o personas naturales que quieran hacer uso de este:

Hallazgos de mejora del cuestionario:

1. Dentro de las preguntas, existen del cuestionario algunas de estas hacen referencia a

temas que no tienen que ver con la evaluación directa del aplicativo móvil, como

por ejemplo: “¿Se tienen definidas responsabilidades y roles de seguridad?”

2. Existen preguntas que deben orientarme más a los procesos y metodologías de las

pruebas de software más que al personal desarrollador ya que esto se enfoca más a

las empresas y no permite que el cuestionario sea aplicado totalmente por una

persona natural que quiera validar la seguridad a través de la guía, como tal en un

aplicativo móvil.

3. Se debe contemplar que si el cuestionario es para uso y evaluación en aplicativos

móviles este debe permitir evaluar el aseguramiento y cumplimiento de las buenas

practicas que la guía para plataformas WEB Services, servicios en la nuble de

Google y Apple ya que muchos aplicativos de vanguardia requieren de estas

herramientas de terceros para su correcto funcionamiento.

Resultados del proceso:

52

Gracias a la evaluación con el cuestionario se identificó que dentro del grupo de

desarrollo de la oficina TIC, encargada de desarrollar este aplicativo es fundamental

el uso de una metodología de desarrollo de software como por ejemplo SCRUM, ya

que esta permite controlar la interacción entre los requerimientos del cliente,

documentación del proceso de desarrollo y garantizar que el software cumpla con

los requerimientos del cliente.

Se identificó que como tal no existen establecidos procesos y documentos de

pruebas de “software” funcionales y no funcionales, lo que permite identificar

BUGS del software de forma puntual y no definir el funcionamiento a través de

pruebas que no se encuentren programadas a evaluar un requerimiento y el

funcionamiento de un proceso interno del software.

También se logró identificar que no existe un procedimiento establecido para la

puesta en pre producción (Pruebas piloto del aplicativo) lo cual es fundamental para

poder verificar toda la seguridad del software y cumplimiento de la guía antes de

sacarlo a producción.

Aunque existen controles de cambios en la infraestructura a través de reuniones de

cambios, no se identifica un procedimiento establecido para lograr controlar los

cambios de versiones del software, documentos que soporten dichos cambios con el

fin de llevar la trazabilidad de la evolución del software.

No se identificó un manual o procedimiento sobre cómo gestionar las contraseñas y

administración de los aplicativos, en este caso la administración de las tiendas que

alojarán el aplicativo PQRSD APP del MADS.

53

No se identificó un procedimiento o manual para la gestión de Logs dentro del

aplicativo App PQRSD, como también el personal encargado de realizar la revisión

de dichos archivos de logs.

No se identificó un procedimiento sobre la gestión de errores en ejecución que

puedan encontrarse dentro del funcionamiento del aplicativo APP PQRSD, personal

encargado de revisar estos archivos de LOGS y procedimiento o acciones a tomar

para dar solución a estos errores.

No se detectó un documento o especificación para establecer el cifrado dentro del

aplicativo APP y el web services PQRSD.

No se detectó de forma adecuada el manual correspondiente para realizar la

instalación en caso de emergencias del aplicativo APP PQRSD.

No se detectó comunicación cifrada entre el aplicativo APP PQRSD y el web

services que realiza la comunicación entre el aplicativo WEB PQRSD.

No existe una base de conocimientos o blog que garantice la información y

resolución de errores previamente conocidos con el fin de manejar estándares de

codificación frente a dichos errores que se puedan manejar de forma frecuente.

54

2 CONCLUSIONES

Al analizar la norma NIST 800-163 y caracterizar las vulnerabilidades que se pueden

presentar en una aplicación móvil, las relacionadas con la integridad de la información son

las más latentes a presentarse.

El desarrollo de App para organizaciones, debe ser validado de manera adecuada y

cumpliendo cada uno de los procesos indicados por la Norma NIST 800-163 y por la guía

indicada en este proyecto; pero una vez la App sea liberada y puesta en producción, se debe

adicionalmente capacitar a los usuarios para que no incurran en cometer errores que puedan

ocasionar fugas de información y las vulnerabilidades se puedan materializar.

La norma ISO 27001:2013, es un estándar a seguir en la implementación de la

seguridad de la información, sin embargo a la hora de validar los controles relacionados a

las aplicaciones móviles, no es tan específica y deja a interpretación del usuario final en

buen proceder en este tipo de tecnologías.

Sin importar la cantidad de controles que la norma señale que deben existir, la

actividad humana sobre los controles tiene gran influencia, ya que es una de las

vulnerabilidades más atacadas.

55

Debe existir una relación costo beneficio al momento de implementar los controles

que se crean necesarios para minimizar el riesgo de que las vulnerabilidades se

materialicen, pues no es óptimo establecer controles que afecten de manera significativa la

inversión de las organizaciones.

Se desarrolla una guía bajo el apoyo de la norma NIST 800-163, donde se encuentran

vulnerabilidades orientadas a las App, pero se deben tener presentes los repositorios donde

se encuentran otra serie de vulnerabilidades, para poder tener un proceso de validación de

las App sólido.

La guía propuesta, fue de buena aceptación en la entidad aplicada, no solo porque es

un procedimiento más organizado y metódico, sino porque crea conciencia en la

administración de la seguridad de la información y a la misma entidad en procedimientos

de calidad y validación periódicos sobre las tecnologías de información usadas en la

organización.

Aplicar la guía desarrollada a una App permitió establecer la cantidad posible de

vulnerabilidades en donde puede existir fuga de información o perdida de la misma, con el

fin de identificar las recomendaciones sugeridas bajo la norma ISO 27001:2013.

56

3 RECOMENDACIONES

Es necesario realizar seguimiento por medio de Auditorías al proceso de validación de

seguridad de la información en las aplicaciones móviles, ya que no basta solo con la

aplicación de la guía y determinar un nivel de seguridad aceptable, sino que con cada

cambio, modificación de norma o simplemente por supervisión se debe mantener este

seguimiento dentro del plan de auditoría.

La guía permite hacer una revisión inicial de las App, para determinar sus

vulnerabilidades y los posibles controles a implementar, pero se debe tener en cuenta

información adicional de repositorios donde existen otra serie de vulnerabilidades y

recomendaciones ya definidas, con el fin de hacer una adecuada validación de la App y

definir su viabilidad para que sea enviada a producción.

Tener presenta la norma NIST 800-163 donde se indica todo el proceso de validación

de las App es fundamental para mejorar los procesos de envió a producción en las

organizaciones de dichas App.

Una vez se aplicó la guía para validarla, se encontró que el lenguaje utilizado en el

cuestionario era muy amplio y confundía al usuario; se hicieron ajustes en las preguntas que

presentaron dicha inconsistencia, y se recomienda para futuras adecuaciones tener presente

el léxico hacia el usuario.

57

BIBLIOGRAFÍA

Agustín López Neira, J. R. (s.f.). ISO27000.ES. Obtenido de ISO27000.ES:

http://www.iso27000.es

calidad, A. e. (2015). Seguridad de la información. Obtenido de QAEC:

http://www.aec.es/web/guest/centro-conocimiento/seguridad-de-la-informacion

CVE - Common Vulnerabilities and Exposures. (2011). Common Vulnerabilities and

Exposures. Obtenido de Common Vulnerabilities and Exposures:

https://cve.mitre.org/

David Galisteo Cantero, R. M. (s.f.). Man in the middle. Obtenido de Seguridad en TIC:

http://ns2.elhacker.net/MITM.pdf

Deficición.MX. (12 de 10 de 2015). Deficición.MX. Obtenido de Deficición.MX:

http://definicion.mx/proceso/

ESET. (2014). Guía de seguridad para usuarios de Smartphones.

EUMED. (2015). Autenticación. Obtenido de EUMED:

http://www.eumed.net/cursecon/ecoinet/seguridad/autentificacion.htm

Eumed.net. (01 de 10 de 2015). Eumed.net. Obtenido de Eumed.net:

http://www.eumed.net/cursecon/ecoinet/seguridad/autentificacion.htm

Galisteo Cantero, D., & Moya Reyes, R. (2009). Man in the Middle - Ataque y Detección.

Gelbstein, D. (2011). Integridad de datos. Obtenido de ISACA:

http://www.isaca.org/Journal/archives/2011/Volume-6/Pages/Data-Integrity-

Information-Securitys-Poor-Relation-spanish.aspx

58

Gelbstein, D. E. (2011). La integridad de los datos: el aspecto más relegado de la seguridad

de la información. Isaca Journal, 6, 6. Obtenido de ISACA:

http://www.isaca.org/Journal/archives/2011/Volume-6/Pages/Data-Integrity-

Information-Securitys-Poor-Relation-spanish.aspx

INTECO. (20 de Marzo de 2012). Estudio sobre seguridad en dispositivos móviles y

Smartphones. Obtenido de www.incibe.es:

https://www.incibe.es/CERT/guias_estudios/Estudios//estudio_moviles_2C2011

Interactive Advertising Bureau - IAB. (30 de Septiembre de 2014). IV Estudio Anual

Mobile Marketing 2014. Obtenido de http://www.iabspain.net/wp-

content/uploads/downloads/2014/09/VI_Estudio_Anual_Mobile_Marketing_versio

n_abierta1.pdf

IOACTIVE LABS. (8 de Enero de 2014). Servicios de Seguridad IOACTIVE. Obtenido de

http://blog.ioactive.com/2014/01/personal-banking-apps-leak-info-through.html

ITU. (agosto de 2009). Aplicaciones móviles. Obtenido de Unión Internacional de

Telecomunicaciones: https://www.itu.int/net/itunews/issues/2009/06/04-es.aspx

Jaime, A. T. (2009). Desarrollo de Aplicaciones para dispositivos móviles bajo la

pplataforma Android de Google. tesis, Universidad Carlos III de Madrird, Madrid.

Karpesky Lab Zao. (17 de Enero de 2014). Karpesky Lab. Obtenido de

https://blog.kaspersky.es/vulnerabilidades-en-las-apps-bancarias-de-ios/2148/

Kaspersky. (2015). Cifrado. Obtenido de Kaspersky:

http://latam.kaspersky.com/mx/internet-security-center/definitions/encryption

59

Maulini R., M. (Marzo de 2013). Checklist de los procesos de autenticación e ingreso.

Obtenido de www.e-securing.com: http://www.e-securing.com/novedad.aspx?id=89

Mcafee. (Febrero de 2015). http://www.mcafee.com. Obtenido de

http://www.mcafee.com/es/resources/reports/rp-quarterly-threat-q4-2014.pdf

MITRE. (s.f.). Common Vulnerabilities and Exposures. Obtenido de MITRE:

http://makingsecuritymeasurable.mitre.org/docs/capec-intro-handout.pdf

National Vulnerability Database. (2014). National Vulnerability Database. Obtenido de

National Vulnerability Database - NIST: https://nvd.nist.gov/

NIST. (01 de 10 de 2015). National Institute of Standar and Tecnology. Obtenido de

http://scap.nist.gov/

NIST. (Febrero de 2015). Vetting the Security of Mobile Applications (SP 800-163).

Obtenido de http://dx.doi.org/10.6028/nist.sp.800-163

Rúben, C. M. (s.f.). Tecnologías Moviles.

Rubio, D. (2012). Análisis De Seguridad De Aplicaciones Para Android. España.

Salesforce . (2015). Entornos Sandbox. Obtenido de Salesforce :

https://help.salesforce.com/apex/HTViewHelpDoc?id=data_sandbox_environments.

htm&language=es

SCAP. (2015). Security Content Automation Protocol . Obtenido de SCAP:

http://scap.nist.gov/

Wordpress. (2013). https://protejete.wordpress.com. Obtenido de Géstión de riesgos en la

seguridad informátca:

https://protejete.wordpress.com/gdr_principal/amenazas_vulnerabilidades/

60