GUÍA PARA VALIDAR EL NIVEL DE SEGURIDAD DE … · móviles; y se justifica principalmente en la...
Transcript of GUÍA PARA VALIDAR EL NIVEL DE SEGURIDAD DE … · móviles; y se justifica principalmente en la...
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
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.
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.
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)
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/