Jo Miranda A
Jo Miranda A
Jo Miranda A
Director:
Ing. JOHN F. QUINTERO
Firma de jurado
Firma de jurado
Dedicó este trabajo, primero que todo a Dios, que es nuestra guía y fortaleza en los
tiempos difíciles que se han vivido, por darnos el conocimiento y sabiduría para
actuar.
A mi familia quien es mi motor de vida, mi apoyo constante y porque siempre están
ahí para mí en cualquier propósito.
A mis profesores por brindarme nuevos conocimientos para mi futuro.
Y a todos aquellos que en algún momento compartieron y apoyaron mi deseo de
llegar tener un título como especialista.
Pág.
INTRODUCCIÓN ................................................................................................... 16
JUSTIFICACIÓN .................................................................................................... 18
1 OBJETIVOS ..................................................................................................... 20
5 RECOMENDACIONES..................................................................................... 93
6 CONCLUSIONES ............................................................................................. 96
BIBLIOGRAFÍA ...................................................................................................... 98
LISTA DE TABLAS
Pág.
Pág.
La aplicación móvil siendo una aplicación hibrida que permite a los clientes consultar
saldos, realizar compra de boletería para eventos, pagar servicios, etc. Se asume
que esta aplicación guarda, manipula o contiene información sensible de cada
cliente, por lo que es necesario garantizar la seguridad de esta información, ya que
presentaría un riesgo legal y de reputación para la empresa.
Por tanto, este trabajo tiene como objetivo realizar un análisis de vulnerabilidades,
con el fin de conocer el estado de seguridad actual de la aplicación. Para ello se
utilizará como referente el proyecto Mobile top 10 de OWASP (Open Web
Application Security Project) en la versión 2016, el cual identifica los riesgos de
seguridad que pueden surgir de acuerdo a su nivel de criticidad y con esto dar
prioridad a los riesgos más críticos.
PALABRAS CLAVES
Seguridad, Vulnerabilidades, Aplicativos Móviles, Análisis Estático Móvil, Análisis
Dinámico Móvil.
ABSTRACT
The mobile application. It’s a hybrid application allow to the costumer check balance,
buy tickets, pay home services. This application save information sensitive of each
client, for this reason it’s necessary guarantee the security of this information, as it
would generate legal risk and reputation for the company
For this project, permission was requested to carry out a vulnerability test on the
mobile application and thus be able to present a report of its current status, it was
found that the application does not have all the necessary controls for them to be
published in the store
The goal for this work is carry out assessment security app mobile and to present
the actual status. for this I will use to help me the project OWASP top 10 mobile, this
project identifies the higher risk and give the options for priority for solves them
To find the vulnerabilities or main risks, 2 types of analysis will be carried out, one
static and the other dynamic of the application, with the first one can perform a deep
search of its structure, code and security focused on the top 10 of OSWAP Mobile,
this is It will do with tools such as Dex2jar, JD-Gui and APkTool, Frida, Burpsuite,
etc., which allow to know the source code of the application and its security level.
And for the dynamic analysis, tools such as Genymotion, Docker, ADB, Tamer, etc.
will be used, which allow emulating the application as if it were a real mobile phone,
but in which it will be possible to analyze and capture all the actions that are carried
out. done within the application and thus be able to validate if it presents any
abnormal behavior.
Once the security tests have been carried out, a report will be presented to the
company, so that they are aware of the risks and / or vulnerabilities present in the
application and once a series of necessary recommendations are presented to be
able to solve them.
KEYWORDS
Security, Vulnerabilities, Mobile Applications, Mobile Static Analysis, Mobile
Dynamic Analysis.
INTRODUCCIÓN
La empresa financiera, día a día, busca hacer la vida más fácil a sus usuarios o
asociados y cómo asegurarse de que no pasen horas en una oficina para realizar
una transacción bancaria, una consulta o hacer efectivos los beneficios que tienen,
por eso han hecho el relanzamiento de su aplicación móvil y la han puesto en las
tiendas móviles Play Store y AppGallery. Dado que esta aplicación guarda, manipula
o contiene información sensible de cada cliente, es necesario garantizar la
seguridad de esta información, ya que presentaría un riesgo legal y reputacional
para la empresa.
16
Ahora, para realizar el análisis de seguridad se solicitó la aprobación y permiso de
la empresa, quien amablemente permitió que se realizara este trámite, para dejar
constancia del permiso, se realizó la firma de documentos escritos, los cuales se
adjuntan en el Anexos.
17
JUSTIFICACIÓN
Para la empresa uno de sus pilares más importantes es tener comunicación con los
clientes y poder brindarles opciones que les facilite realizar operaciones, pagos,
compras o tramites de manera rápida y oportuna y que adicionalmente pueda estar
alineado a las nuevas tecnologías, Es por esto que se realizó el relanzamiento de
la aplicación móvil.
Es por esto que mediante el análisis de seguridad que se realizará al aplicativo móvil
se podrá medir el nivel de seguridad que se tiene y el manejo que se le da a la
información que se captura y en caso de que presente un fallo, riesgo u evento
grave, poder brindar las pautas que permitan mitigar el riesgo latente. Por tal razón,
se desarrollará el proyecto con el fin de presentar un informe de seguridad que
contenga los riesgos latentes y sus opciones de mejora, para esto se utilizaran
herramientas open source como Dex2jar, JD-Gui, ApkTool, ADB, Genimotion, entre
otras, que permitan conocer el estado de seguridad actual de la aplicación.
Con este proyecto se espera, más que dar las pautas para que se pueda crear una
política, procedimiento o control de cambios, es que el aplicativo se agregue o
vincule en la matriz de riesgos y se valorada según el riesgo que pueda presentar
para la empresa, ya que, con los cambios realizados en su nueva versión, esta
18
aplicación paso a ser un activo valioso y que debe ser tratado con un alto nivel de
seguridad.
Y desea que esto permita mejorar la seguridad no solo del aplicativo sino de la
infraestructura que la soporta, debido a que la infraestructura hibrida que tiene el
aplicativo hace que la interacción con los sistemas internos sea constante y se
pueda llegar a generar alguna brecha para ataques o denegaciones de servicio, ya
que manipular o guardar información de los clientes se vuelve un tema importante
para cualquier empresa y más cuando se trata de una empresa que manipula
información de miles de personas.
19
1 OBJETIVOS
20
2 PLANTEAMIENTO DEL PROBLEMA
La aplicación móvil está desarrollada para una entidad financiera que ejerce su
función de cooperativa de crédito y ahorro y que su ente de control es la súper
solidaria el cual enfoca su control en la parte financiera y de asociados, es por esto,
que la entidad financiera se alinea a las reglamentaciones establecidas por la
Superintendencia Financiera, tales como las circulares externas 007 en la que indica,
“Se expidió teniendo en cuenta el auge de la digitalización de los servicios
financieros, la mayor interconectividad de los agentes y la masificación en el uso de
canales electrónicos, entre otros, y complementa las normas existentes con relación
a la administración de los riesgos operativos y la seguridad de la información.”1
Para el año 2019, se buscaba la manera de integrar las herramientas 4.0 y agilidad
en los procesos para permitir que los clientes tengan un mejor y fácil acceso a los
servicios de la empresa, por lo que se realizó el relanzamiento de la aplicación móvil
en la Play Store y AppGallery. Incluyendo nuevas opciones que permiten realizar
consultas de saldos, realizar compras de boleterías, pago de servicios, manejo de
cuentas y ahorros.
1
SUPERINTENDENCIA FINANCIERA DE COLOMBIA. Comunicados de prensa. [sitio web] Bogotá: 05 de
junio de 2018. [Consultado: 19 de abril de 2020]. Disponible en:
https://www.superfinanciera.gov.co/jsp/Publicaciones/publicaciones/loadContenidoPublicacion/id/10097769/f/0
/c/00
2
Ibíd.
21
Al ser una aplicación que manipula información sensible es importante que esta
tenga la suficiente seguridad, ya que el decreto 1377 de 2013 3 habla sobre el uso
adecuado de la información y si es mal utilizada puede generar efectos negativos
en la sociedad.
La manera más práctica para dar respuesta a este interrogante es que la entidad
financiera no tiene un área o personal que tenga un control o metodología enfocada
a la seguridad de móvil o nuevas tecnologías. Es por esto que, se presenta la
solicitud a la gerencia, para que autoricen el permiso de realizar el análisis de
seguridad al aplicativo móvil, con el fin de determinar si el aplicativo es seguro y no
expone la información de los usuarios y para que el área de desarrollo tenga un
enfoque metodológico para ir creando los parámetros, controles y/o políticas
iniciales que permitan garantizar que la aplicación está cumpliendo a cabalidad las
circulares y que está publicando una aplicación móvil segura para los asociados,
además de ir dejando documentado todo el procedimiento que se debe tener para
cumplir los requerimientos mínimos y evitar posibles sanciones.
3
COLOMBIA, MINISTERIO DE COMERCIO, INDUSTRIA Y TURISMO. Decreto Número 1377 de 2013. 2013.
[En línea] [Consultado: 19 de abril de 2020]. Disponible en: https://www.mintic.gov.co/portal/604/articles-
4274_documento.pdf
22
3 MARCO REFERENCIAL
4
CEBALLOS, Julián y MARULANDA, Cesar. Una Revisión de metodologías seguras en cada fase del ciclo
de desarrollo de desarrollo de software. 2012. [En línea] Articulo. Medellín: Universidad de San Buenaventura
Medellín. [consulta: marzo de 2020]. Disponible en internet:
http://web.usbmed.edu.co/usbmed/fing/v3n1/v3n1a2.pdf
5
MIFSUD, Elvira. Introducción a la seguridad informática - Seguridad de la información/Seguridad informática.
España. 2012 [En línea]. [consulta: marzo de 2020]. Disponible en:
http://recursostic.educacion.es/observatorio/web/ca/software/softwaregeneral/1040-introduccion-a-la-
seguridadinformatica?start=1.
23
Por lo tanto, cada desarrollador debe garantizar un mínimo de seguridad, debido a
que en cada aplicación expuesta se manipulara una cantidad indefinida de
información confidencial. Tal como lo indica Guzmán y Forero “la seguridad de un
sistema adquiere importancia directamente proporcional al valor de los datos que
contiene.”6 Por lo que cada vez es de mayor importancia mantenerla segura.
6
GUZMÁN, jeyson y FORERO, Leonel. Análisis de vulnerabilidades y seguridad de dispositivos móviles con
sistema operativo iOS 6.1.4 [En línea]. Proyecto de Grado. Bogotá: Universidad Piloto De Colombia. 2013
[consulta: marzo de 2020]. Disponible en: http://polux.unipiloto.edu.co:8080/00001524.pdf
7
Ibíd. 4. p. 23.
8
SALTZER, Jerome y SCHROEDER, Michael. The Protection of Information in Computer Systems [En línea].
Invited Paper; Reino Unido: 1975 [consulta: marzo de 2020]. Disponible en:
https://www.cl.cam.ac.uk/teaching/1011/R01/75-protection.pdf
24
Pero no solamente son las aplicaciones las que pueden tener fallos de seguridad
ya que gran parte de los dispositivos móviles están con sistema operativo Android
que es más vulnerable que el sistema operativo iOS, para el caso de Colombia en
el año 2019 el 70.05% de los equipos son Android.9 En el mismo 2019 para Android
se reportaron 514 fallos de seguridad tal como lo reporta Giusto10 con información
del CVE y un total de 368 para iOS.
9
JKIELTY, Android v iOS market share 2019. [en línea]. DeviceAtlas. Ireland. 9 de septiembre del 2019.
[Consultado: 15 de marzo de 2020]. Disponible en: https://deviceatlas.com/blog/android-v-ios-market-share
10
GIUSTO, Denise. Descienden las detecciones de malware en Android y crecen en iOS [en línea].
welivesecurity. 8 de enero 2020. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.welivesecurity.com/la-es/2020/01/08/descienden-detecciones-malware-android-crecen-ios/
11
ZHANG, Kuan. Security and Privacy for Mobile Healthcare Networks. 2 ed. New York: Springer. 2015, 2 p.
ISBN: 978-3-319-24715-1.
12
Ibíd. P 81.
25
Y el resultado de esto es poder guiar la empresa a que adopte unos mejores
controles de seguridad al momento de realizar un despliegue de cualquier
aplicativo.
13
DEBITOOR. App móvil - ¿Qué es una app móvil? [en línea]. Debitoor. España. (15 de marzo de 2017).
[Consultado: 15 de marzo de 2020]. Disponible en: https://debitoor.es/glosario/app-movil
14
DEVELOPERS. Android Debug Bridge (adb) [en línea]. Developers. España. (2018). [Consultado: 20 de
marzo de 2020]. Disponible en: https://developer.android.com/studio/command-line/adb?hl=es-419
15
VENTURINI, Guillermo. ¿Qué es rootear? [en línea]. Tecnología Fácil. Esperanza, Santa Fe. (2016).
[Consultado: 20 de marzo de 2020]. Disponible en: https://tecnologia-facil.com/que-es/que-es-rootear/
16
REAL ACADEMIA ESPAÑOLA. Sistema [en línea]. RAE. España. (2020). [Consultado: 18 de abril de 2020].
Disponible
en:http://buscon.rae.es/draeI/SrvltObtenerHtml?origen=RAE&LEMA=sistema&SUPIND=0&CAREXT=1
0000&NE DIC=No#sistema_operativo.
26
3.2.1 Sistema operativo android
Como es bien conocido, Android está basado en código abierto de Linux orientado
a un sinfín de dispositivos y múltiples plataformas.
Pero solo hasta el 2008, como lo indica Castillo 18 se pudo ver el sistema operativo
funcionando en un equipo móvil el cual era un HTC modelo T-Mobile G1, y fue
desarrollado junto con Google en su momento.
A través del tiempo se han presentado diferentes versiones de Android las cuales
se desarrollaron así:
17
CASTILLO, Lucho. Historia de Android [en línea]. EEUU. (5 de noviembre de 2012). [Consultado: 15 de
abril de 2020]. Disponible en: https://github.com/LuchoCastillo/AndroidOS/blob/master/data/historia.rst
18 Ibíd.
27
Tabla 1. Versiones del sistema operativo Android
Versiones de Android
Android Cupcake (Android 1.5) – Android Lollipop (Android 5.0 – 5.1) –
abril 2009 noviembre 2014
Android Donut (Android 1.6) – Android Marshmallow (Android 6.0) – octubre
septiembre 2009 2015
Android Éclair (Android 2.0 – 2.1) – Android Nougat (Android 7.0) - agosto 2016
octubre 2009
Android Froyo (Android 2.2) – mayo Android Oreo (Android 8.0) - agosto 2017
2010
Android Gingerbread (Android 2.3) – Android Pie (Android 9.0) - agosto 2018
diciembre 2010
Android Jelly Bean (Android 4.1 – Android 10 (conocido anteriormente como
4.3) – octubre 2011 Android Q) - marzo de 2019
Android Ice Cream Sandwich Android 11 - febrero de 2020
(Android 4.0) – Julio 2012
Android KitKat (Android 4.4) –
octubre 2013
Fuente: GARZON, Juan. Android 11 a Android 1.5: Cada versión de Android y sus novedades [en línea]. EEUU.
(19 de febrero de 2020). [Consultado: 1 de abril de 2020]. Disponible en:
https://www.cnet.com/es/imagenes/android-11-novedades-actualizacion-android-historia-google/
En una comparativa mundial que presenta Device Atlas, muestra el gusto que se
tiene hacia un sistema operativo. Este comparativo se evidencia en la Figura 2.
28
Figura 1. Mapa mundial de la elección de un sistema operativo
Fuente: DEVICE ATLAS, Android v iOS market share 2019 [imagen]. deviceatlas [Consultado: 3 de abril de
2020]. Disponible en: https://deviceatlas.com/blog/android-v-ios-market-share
Ahora en un plan más limitado, el informe presentado por Device Atlas 19 muestra
que para el 2019, el 70.05% de dispositivos móviles tienen sistema Android, frente
a un 29.62% de iOS y con un 0.33% perteneciente a otros sistemas, tal como se
presenta en la Figura 1.
19
DEVICE ATLAS, Android v iOS market share 2019 [En línea]. Device3atlas, EEUU [Consultado: 4 de abril de
2020]. Disponible en: https://deviceatlas.com/blog/android-v-ios-market-share
29
Figura 2. Porcentaje de uso de Android, frente a iOS
Fuente: DEVICE ATLAS, Android v iOS market share 2019 [imagen]. deviceatlas [Consultado: 3 de abril de
2020]. Disponible en: https://deviceatlas.com/blog/android-v-ios-market-share
30
Figura 3. Comparación de seguridad iOS vs Android
Fuente: Fattoh AI-Qershi, Muhammad AI-Qurishi, Sk Md Mizanur Rahman, and AtifAI-Amri. Android vs. iOS:
The Security Battle [en línea]. Riyadh, Kingdom of Saudi Arabia [Consultado: 5-de mayo de 2020]. Disponible
en: https://www.researchgate.net/publication/268744667_ios_vs_android_the_security_battle#pf5
En la Figura 3, se puede ver que los autores tomaron diferentes puntos de referencia
que impactan directamente tanto el uso del sistema operativo como la seguridad
que tiene cada uno de ellos.
31
Y que al final entregan un resultado que en una parte ya se había expuesto el cual
es la cantidad de dispositivos móviles Android que hay. “Android alcanzó el
liderazgo y ganó las dos carreras en las ventas sobre iOS. Esto podría explicarse
por aspectos diferentes a la seguridad. Android no se limita a un teléfono inteligente
específico, sino que es el sistema operativo para diferentes dispositivos y el primero
en las ventas (dispositivos Samsung)”20
20 Fattoh AI-Qershi, Muhammad AI-Qurishi, Sk Md Mizanur Rahman, and AtifAI-Amri. Android vs. iOS:
The Security Battle [en línea]. (11 de enero de 2014) Riyadh, Kingdom of Saudi Arabia [Consultado: 5 de mayo
de 2020]. Disponible en:
https://www.researchgate.net/publication/268744667_ios_vs_android_the_security_battle#pf5 [Traducción:
propia].
21
Ibíd.
32
3.2.4 Arquitectura de android
El sistema operativo Android de estructura en 4 capas o base que cumplen con una
función específica, “Cada una de estas capas utiliza servicios ofrecidos por las
anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores”22
Fuente: VICO, Ángel J. La columna 80, El blog técnico-personal de Ángel J. Vico… en español [imagen].
Arquitectura de Android [Consultado: 1 de abril de 2020]. Disponible en:
https://columna80.wordpress.com/2011/02/17/arquitectura-de-android/
22
UNIVERSIDAD CARLOS III DE MADRID. Software de Comunicaciones [en línea]. España. (1 de febrero de
2018). [Consultado: 1 de abril de 2020]. Disponible en:
https://sites.google.com/site/swcuc3m/home/android/generalidades/2-2-arquitectura-de-android
33
3.2.4.1 Aplicación
En la primera capa se encuentran las todas las aplicaciones que posee el sistema
Android y Vico expone más a fondo como están compuestas las aplicaciones “se
incluyen todas las aplicaciones del dispositivo, tanto las que tienen interfaz de
usuario como las que no, tanto las nativas (programadas en C o C++) como las
administradas (programadas en Java), tanto las que vienen de serie con el
dispositivo como las instaladas por el usuario.”23
23
VICO, Ángel J. La columna 80, El blog técnico-personal de Ángel J. Vico… en español [en Línea].
Arquitectura de Android (17 de febrero de 2011). [Consultado: 1 de abril de 2020]. Disponible en:
https://columna80.wordpress.com/2011/02/17/arquitectura-de-android/
24
UNIVERSIDAD CARLOS III DE MADRID. Op. cit. 34
34
3.2.4.3 Bibliotecas
25
VANEGAS, Carlos Alberto. Citado por: MUÑOZ, Yamir. Estado del arte vulnerabilidades de seguridad en
sistemas operativos móviles andrioid y iOS [en línea]. trabajo de monografía como requisito de grado para optar
el título de especialista en seguridad informática. Bucaramanga. universidad nacional abierta y a distancia –
unad escuela de ciencias básicas, tecnologías e ingenierías, 2019. 41 p. [Consultado: 2 de abril de 2020].
Disponible en: Repositorio Educativo Digital
UNAD. https://repository.unad.edu.co/bitstream/handle/10596/25396/%20%09yamunozca.pdf?sequence=1
26
VICO, Ángel J. Op. cit. 35
35
3.2.4.5 Entorno de ejecución
Como indica González27 en el que explica cómo funciona Dlavik y su sucesor ART,
que a partir de Android 2.2 Froyo, el sistema operativo utilizaba JIT (Just-In-Time)
pero google realizó el cambio al nuevo sistema ART el cual crea un archivo de
compilación tras la instalación de una aplicación, lo que permite hacer una sola
compilación del programa que se está ejecutando.
El sistema operativo Android, posee 3 tipos de aplicaciones y cada una tiene una
composición y método de desarrollo.
Ahora y como lo indica el grupo GitHub, “La desventaja más obvia de las
aplicaciones nativas es que solo se dirigen a una plataforma específica. Para
27
GONZÁLEZ, Carlos. Android Ayuda, ¿Qué es ART? Android Run time, el sucesor de Dalvik [en Línea].
Android Ayuda (07 de agosto de 2019). [Consultado: 1 de abril de 2020]. Disponible en:
https://androidayuda.com/android/que-es/art-android-runtime/
36
construir la misma aplicación para Android y iOS, uno necesita mantener dos bases
de código independientes o introducir herramientas de desarrollo a menudo
complejas para portar una base de código única a dos plataformas”28
Fuente: propia
Las aplicaciones basadas en web, son sitios web diseñados específicamente para
tener una experiencia de uso similar a una aplicación normal. Estas aplicaciones
generalmente se desarrollan en HTML5, estas aplicaciones presentan limitaciones
ya que están ligadas al navegador y su rendimiento es mucho menor.
Una de “La mayor ventaja es la reducción de los costos de desarrollo y
mantenimiento asociados con una base de código único, así como también permitir
a los desarrolladores distribuir actualizaciones sin comprometer las tiendas de
aplicaciones específicas de la plataforma”29
28
GITHUB. Mobile App Taxonomy. [en Línea]. Mobile Security Testing Guide (s.f). [Consultado: 11 de
noviembre de 2020]. Disponible en: https://mobile-security.gitbook.io/mobile-security-testing-
guide/overview/0x04a-mobile-app-taxonomy
29
Ibíd. Par. 8
37
Tabla 3. Ventajas y Desventajas de Aplicaciones Web
Fuente: propia
Las aplicaciones hibridas son las utilizadas en muchas empresas ya que estas
aplicaciones se ejecutan y trabajan como una aplicación nativa y a su vez estas
aplicaciones adquieren todo el desarrollo que traen las apps nativas y web. Por otra
parte, realizar el desarrollo en modo hibrido permite tener “una base de código
puede dar como resultado múltiples aplicaciones que se dirigen a diferentes
plataformas, con una IU muy parecida a la de la plataforma original para la que se
desarrolló la aplicación.”30
Fuente: propia
30 Ibíd. Par. 10
38
3.3 MARCO LEGAL
La LEY 1273 DE 2009 la cual indica que, “Por medio del cual se modifica el Código
Penal, se crea un nuevo bien jurídico tutelado – denominado “De la Protección de
la información y de los datos”- y se preservan integralmente los sistemas que utilicen
las tecnologías de la información y las comunicaciones, entre otras disposiciones.”31
Esta ley indica y hace relevancia a los delitos informáticos que se pueden presentar
con el fin de tener acceso no permitido y/o conseguir información de manera ilegal.
Por otro lado, se encuentra como ya se había mencionado antes, la ley estatutaria
1581 del 2012, Habeas Data, que se enfoca en el tratamiento de los datos que se
manejan en las empresas y los delitos que se pueden incurrir al violar alguno de sus
artículos citados.
Los principios sobre protección de datos serán aplicables a todas las bases de datos,
incluidas las exceptuadas en el presente artículo, con los límites dispuestos en la
presente ley y sin reñir con los datos que tienen características de estar amparados por
la reserva legal. En el evento que la normatividad especial que regule las bases de datos
exceptuadas prevea principios que tengan en consideración la naturaleza especial de
datos, los mismos aplicarán de manera concurrente a los previstos en la presente ley.32
31
COLOMBIA. CONGRESO DE LA REPÚBLICA. Ley 1273 (05, 5 de enero de 2009). Por medio de la cual se
modifica el Código Penal, se crea un nuevo bien jurídico tutelado [en línea]. Santa Fe de Bogotá, D.C.: Diario
Oficial No. 47.223. [Consultado: mayo 6 de 2020]. Disponible en:
http://www.secretariasenado.gov.co/senado/basedoc/ley_1273_2009.html
32
COLOMBIA. CONGRESO DE LA REPÚBLICA. LEY ESTATUTARIA 1581(18 de octubre de 2012). Por la
cual se dictan disposiciones generales para la protección de datos personales. [en línea]. Santa Fe de Bogotá,
39
3.4 MARCO ESPACIAL
D.C.: Diario Oficial No. 48.587 [Consultado: mayo 6 de 2020]. Disponible en:
http://www.secretariasenado.gov.co/senado/basedoc/ley_1581_2012.html
40
3.5 MARCO METODOLÓGICO
Para ejecutar este análisis se procederá a dividirlo en fases, las cuales permitirán
solicitar los permisos necesarios de manipulación de la aplicación, listar las
herramientas a utilizar en el desarrollo del análisis, validar permisos de la aplicación,
obtener información relevante y revisar las vulnerabilidades.
Siguiendo las buenas prácticas para desarrollar el proyecto se desglosan las fases
a ejecutar.
41
Por último, se realizará la captura y documentación de evidencias, pruebas
realizadas, para luego crear un documento final en el que se evidencie lo realizado
y se agreguen las recomendaciones para mitigar lo evidenciado.
42
3.5.1 Recursos necesarios
Los recursos que se presentan a continuación están unificados tanto el costo que
se utilizará en un recurso humano y en materiales o desplazamientos a lugares.
43
4 DESARROLLO DE LOS OBJETIVOS
Esta metodología como su nombre lo indica tiene 10 pasos los cuales están
enfocados en analizar y detectar fallos o problemas que se presentan en la
metodología.
33
OWASP Foundation. OWASP Mobile Security Project [en línea]. OWASP Mobile segurito (8 de enero 2019.)
[Consultado: 15 de marzo de 2020]. Disponible en: https://owasp.org/www-project-mobile-security/
44
Figura 5. OWASP top 10 Mobile
Fuente: MOKRIS, Keith. Building blocks for secure mobile development: Testing for the OWASP Mobile Top 10
[Imagen]. Now Secure. 13 de octubre 2016. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.nowsecure.com/blog/2016/10/13/secure-mobile-development-testing-owasp-mobile-top-10/
34
MOKRIS, Keith. Building blocks for secure mobile development: Testing for the OWASP Mobile Top 10
[Imagen]. Now Secure. 13 de octubre 2016. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.nowsecure.com/blog/2016/10/13/secure-mobile-development-testing-owasp-mobile-top-10/
35
SAAVEDRA, Fernando. OWASP Top Ten Mobile Risks [en línea]. Audea. Madrid. España. (15 de octubre
de 2019). [Consultado: 1 de abril de 2020]. Disponible en: https://www.audea.com/owasp-top-ten-mobile-risks/
45
4.1.2 M2 – insecure data storage36
Este riesgo que se ha identificado es uno de los más comprometidos ya que muchas
veces, para poder acceder a una página o sitio específico, hacemos clic o
aceptamos sin darnos cuenta de lo que aceptamos. Saavedra defina este riesgo
como, “Desde aplicaciones de terceros que utilizan caché, cookies y otra
información para recopilar datos protegidos, hasta que un adversario pueda obtener
físicamente el dispositivo y ver información, debe manejar el almacenamiento de
datos correctamente de varias maneras. Esto incluye la autenticación, el cifrado y
el manejo adecuado de todas las funciones de almacenamiento en caché.”37
Para la capa de sesión y aplicación del modelo OSI este riesgo es uno de los más
importantes ya que Saavedra afirma que, “Los protocolos inseguros de enlace,
versiones SSL incorrectas, negociación débil, la comunicación sin cifrar de datos
sensibles, etc. Por lo que hay que comprobar que los desarrolladores (a menudo
muy preocupados en cuanto a la protección del procedimiento de autenticación y
los datos en reposo) hayan implementado un cifrado de los datos que se transmiten
correctamente.”39 Para que no se exponga la data y sea capturada en su proceso
de transmisión.
36
MOKRIS, Keith. Op. cit. 75
37
SAAVEDRA, Fernando Op. cit. 76
38
MOKRIS, Keith. Op. cit. 75
39
SAAVEDRA, Fernando Op. cit. 76
46
4.1.4 M4 – insecure authentication40
Este se presenta debido al mal uso de los cifrados de la aplicación o a un nivel bajo
que es fácil de romper, Saavedra asegura que. “El uso incorrecto del cifrado es
extremadamente común en las aplicaciones móviles. Los algoritmos de cifradas
débiles, así como el procedimiento de cifrado / descifrado defectuoso, pueden ser
fácilmente explotados y por ende lo que se valorara son los problemas donde se
intentó la criptografía”43 y en muchas aplicaciones no se tiene una manera exacta
de saber si la aplicación tiene un certificado o llave que permita encriptar la
información que se maneja en ella.
40
MOKRIS, Keith. Op. cit. 75
41
SAAVEDRA, Fernando Op. cit. 76
43
SAAVEDRA, Fernando Op. cit. 76
47
4.1.6 M6 – insecure authorization44
Una aplicación o sitio web que realice lo que argumenta Saavedra es una aplicación
que debe ser analizada ya que genera un fallo de seguridad “capturar cualquier fallo
en la autorización (por ejemplo, decisiones de autorización en el lado del cliente,
navegación forzada, etc.). Es distinto de los problemas de autenticación (por
ejemplo, inscripción de dispositivos, identificación de usuarios, etc.).”45 hace fácil el
ingreso de los atacantes y permite que se tenga información sensible.
Saavedra define muy bien este fallo ya que en general “Los problemas de
implementación a nivel de código en el cliente móvil. Esto es distinto de los errores
de codificación del servidor. Entrarían dentro de ella, cosas como desbordamientos
de búfer, vulnerabilidades de cadena de formato y varios otros errores de nivel de
código donde la solución es reescribir algún código que se esté ejecutando en el
dispositivo móvil. Es decir, se centra en las vulnerabilidades creadas debido a
errores de codificación.”47 . Por lo que acá es importante que el desarrollador o su
equipo aplique las mejores técnicas o métodos que hay a nivel de normas y tengan
un DevSecoOps
44
MOKRIS, Keith. Op. cit. 75
48
4.1.8 M8 – code tampering48
Este riesgo generaliza en si a todas las aplicaciones las cuales sacan una versión y
no corrigen los fallos o quedan mal, es por esto que Saavedra indica que, “Los
parches binarios, modificación de recursos locales, incorrecta utilización de
métodos y modificación de memoria dinámica. Por ende, esta categoría cubre
cualquier modificación que el adversario pueda realizar en el código de la
aplicación.”49
49
4.1.10 M10 – extraneous functionality52
54
TECH CRUNCH. 6.1B Smartphone Users Globally by 2020, Overtaking Basic Fixed Phone Subscriptions [en
línea]. (2 de junio de 2015) Ingrid Lunden TechCrunch [Consultado: 5 de mayo de 2020]. Disponible en:
https://techcrunch.com/2015/06/02/6-1b-smartphone-users-globally-by-2020-overtaking-basic-fixed-phone-
subscriptions/#.n7ibu3d:RPIH [Traducción: propia].
55
ERICSSON MOBILITY. The Ericsson Mobility Report [en línea]. (1 de octubre de 2019) Telefonaktiebolaget
LM Ericsson [Consultado: 5 de mayo de 2020]. Disponible en: http://www.ericsson.com/news/141118-
90percent-to-have-mobile-phones-by-2020-predicts-ericsson-mobility-report_244099435_c [Traducción:
propia].
50
En un informe presentado por Giusto56 a principios de enero, indica que, para finales
del 2019, los reportes de vulnerabilidades de Android en CVE bajaron un 16% lo
que significa que, de 613 reportes en el 2018, se pasaron a 514 en el 2019 tal como
de evidencia en la Figura 5. Mientras que iOS tuvo 368 reportes en el 2019, un 194%
frente al 2018, como de evidencia en la Figura 6.
Fuente: GIUSTO, Denise. Descienden las detecciones de malware en Android y crecen en iOS [Imagen].
welivesecurity. 8 de enero 2020. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.welivesecurity.com/la-es/2020/01/08/descienden-detecciones-malware-android-crecen-ios/
Fuente: GIUSTO, Denise. Descienden las detecciones de malware en Android y crecen en iOS [Imagen].
welivesecurity. 8 de enero 2020. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.welivesecurity.com/la-es/2020/01/08/descienden-detecciones-malware-android-crecen-ios/
56
GIUSTO, Denise. Descienden las detecciones de malware en Android y crecen en iOS [en línea].
welivesecurity. 8 de enero 2020. [Consultado: 15 de marzo de 2020]. Disponible en:
https://www.welivesecurity.com/la-es/2020/01/08/descienden-detecciones-malware-android-crecen-ios/
51
Estas vulnerabilidades reportadas, permiten que diferentes tipos de malware
puedan explotarlas. Además de otros tipos de engaños que los atacantes puedan
realizar para robar información, unos de estos tipos de malware o ataques son los
que se presentan a continuación.
57
KASPERSKY LAB. Las siete amenazas principales para la seguridad móvil, teléfonos, Tablet y dispositivos
de Internet móvil: qué nos deparará el futuro [en línea]. Kaspersky Lab. (8 de enero 2015.) [Consultado: 15 de
marzo de 2020]. Disponible en: https://latam.kaspersky.com/resource-center/threats/top-seven-mobile-security-
threats-smart-phones-tablets-and-mobile-internet-devices-what-the-future-has-in-store
52
4.2.2 Accesos wi-fi
Este es un de los puntos en los que miles de personas caen, debido a que
muchos quieren mantener el mínimo consumo de datos del plan, entonces
muchos son los pecadores, y pues, sin embargo, las redes Wi-Fi gratuitas
generalmente son inseguras. Y con el ejemplo que presenta Kaspersky: en el
que demuestra cómo se pierde información fácilmente: “De hecho, según V3,
tres policías británicos que accedieron a participar en un experimento de
seguridad asociado a redes inalámbricas gratuitas fueron fácilmente presa de
ataques realizados por expertos en tecnología y vieron comprometidas sus
cuentas de redes sociales, PayPal e, incluso, conversaciones a través de
VoIP.”58
Otro de los fallos de seguridad que los atacantes aprovechan con regularidad, ya
que muchas personas, le gusta tener al mínimo el consumo de datos, Kaspersky
afirma que: “en ubicaciones públicas concurridas, como cafeterías, bibliotecas y
aeropuertos. Los cibercriminales asignan a estos puntos nombres comunes, como
"Wi-Fi gratuita del aeropuerto" o "Cafetería", lo que anima a los usuarios a
conectarse. En algunos casos, los atacantes exigen a los usuarios crear una
"cuenta" para acceder a estos servicios gratuitos”59 y como se indica, solicitan crear
contraseñas o permitir acceso mediante las redes sociales.
58 Ibíd.
59 Ibíd.
53
4.2.4 Ataques de phishing
4.2.5 Spyware
Infosec Institute en su guía de criptografía explica que este punto es uno de los más
sensibles, ya que los ataque son efectuados sobre la aplicación o los servicios que
se presta debido a que.
60 Ibíd.
61
Ibíd.
54
Se pueden producir casos de criptografía quebrada si los desarrolladores de
aplicaciones utilizan algoritmos de cifrado débiles o cifrado seguro sin una
implementación adecuada. Los desarrolladores utilizan algoritmos de cifrado
que ya poseen vulnerabilidades conocidas para acelerar el proceso de
desarrollo de aplicaciones y el resultado es que cualquier atacante decidido
puede descifrar las contraseñas y obtener acceso. Por eso es responsabilidad
de los desarrolladores y de las organizaciones aplicar estándares de cifrado
antes de implementar las aplicaciones.62
62
INFOSEC INSTITUTE. ANDROID HACKING & SECURITY - PART 14, Broken Cryptography [ en línea].
Infosec Institute (8 de enero 2019.) [Consultado: 15 de marzo de 2020]. Disponible en:
https://resources.infosecinstitute.com/android-hacking-security-part-16-broken-cryptography/
63
KASPERSKY LAB. Op. cit., 65
55
4.3 SELECCIÓN DE LAS HERRAMIENTAS PARA EL ANÁLISIS DE LA APP
Las herramientas que se presentan a continuación, todas son open source o están
incluidas en el Sistema Operativo Kali Linux, adicionalmente de otras que se han
visto en lo largo de la especialización.
Apk Combo: Es una página que permite buscar y descargar cualquier tipo de APK
que se encuentra en la Play Store.
Apk Downloader: Es una página que permite buscar y descargar cualquier tipo de
APK que se encuentra en la Play Store.
Burp Suite: Es una plataforma integrada para realizar pruebas Free de penetración
de aplicaciones web y móviles. Entre las funcionalidades más importantes está el
actuar como proxy para la interceptación de datos transmitidos por la red66
64
DEVELOPERS. Android Debug Bridge (adb) [En línea] Android Studio [Consultado: 22 de noviembre de
2020]. Disponible en internet: https://developer.android.com/studio/command-line/adb?hl=es
65
APACHE 2.0 License. Apktool. [En línea] GitHub, 2018. [Consultado: 24 de noviembre de 2020]. Disponible
en internet: https://github.com/androguard/androguard [Traducción: Propia]
66
PORTSWIGGER. Burp Suite. The Burp Suite family [En línea] Burp Suite 2018. [Consultado: 24 de noviembre
de 2020]. Disponible en internet: https://portswigger.net/burp/ [Traducción: Propia]
56
Dex2Jar: Es una herramienta que convierte archivos del tipo Free. DEX a código.
Jar67
JD-Gui: es una herramienta gráfica (GUI: Graphic User Interface o Interfaz Gráfica
de usuario) que nos permite visualizar la representación de las clases Java de los
archivos .jar. De esta manera, podremos revisar la composición de la aplicación a
analizar de forma organizada, entendiendo sus dependencias, interrelaciones,
llamadas a recursos.
67
SOURCEFORGE. Dex2jar. [En línea] dex2jar 2014. [Consultado: 24 de noviembre de 2020]. Disponible en
internet: https://sourceforge.net/projects/dex2jar/ [Traducción: Propia]
68 REDHAT. Contenedores de Software, ¿Qué es DOCKER? [En línea] RedHat. s.f [Consultado: 24 de
noviembre de 2020]. Disponible en internet: https://www.redhat.com/es/topics/containers/what-is-docker
69
VALENTINE, Rob. Pruebas de penetración, Serie de tutoriales de herramientas de penetración de Android:
Frida. [En línea] INFOSEC 2018 [Consultado: 24 de noviembre de 2020]. Disponible en internet:
https://resources.infosecinstitute.com/topic/frida/
57
MobSF Mobile Security Framework: es una herramienta Free que permite realizar
análisis estáticos y dinámicos de aplicaciones Android y iOS70
Nmap Es una utilidad que permite descubrir y auditar redes. Nmap permite levantar
información de redes, servicios o servidores, para lo cual envía paquetes y analiza
las respuestas a dichos paquetes71
Virtual Box: “Es una aplicación que sirve para hacer máquinas virtuales con
instalaciones de sistemas operativos. Esto quiere decir que, si tienes un ordenador
con Windows, GNU/Linux o incluso macOS, puedes crear una máquina virtual con
cualquier otro sistema operativo para utilizarlo dentro del que estés usando.”73
70
GITHUB. Mobile Security Framework. [En línea] Mobile Security Framework (MobSF) 2019. [Consultado:
24 de marzo de 2020]. Disponible en internet: https://github.com/ajinabraham/Mobile-Security-Framework-
MobSF [Traducción: Propia]
71
NMAP ORG. Nmap (Network mapper). [En línea] Nmap (Network mapper) 2019. [Consultado: 24 de marzo
de 2020]. Disponible en internet: https://nmap.org/
72
BORGHELLO, Cristian, Segu.Info, Noticias sobre seguridad de la Información [En línea] Android Tamer:
Penetration Test en Android. 2017 [Consultado: 24 de noviembre de 2020]. Disponible en internet:
https://blog.segu-info.com.ar/2017/01/android-tamer-penetration-test-en.html
73
FERNANDEZ, Yubal. Virtual Box: qué es y cómo usarlo para crear una máquina virtual con Windows u otro
sistema operativo [En línea] Xataka Basic 2020 2017 [Consultado: 24 de noviembre de 2020]. Disponible en
internet: https://www.xataka.com/basics/virtualbox-que-como-usarlo-para-crear-maquina-virtual-windows-u-
otro-sistema-operativo
58
W3af: Es un Framework desarrollado en Python que permite hacer ataques y
auditoría a aplicaciones web. W3af permite hacer un escaneo dinámico de una
aplicación web, enfocado en un grupo de objetivos especifico 74
Fuente: Propia
74
WA3F. [En línea] Web Application Attack and Audit Framework 2013. [Consultado: 25 de marzo de 2020].
Disponible en: http://w3af.org/
59
Figura 9. Tamaño de disco asignado
Fuente: Propia
Fuente: Propia
60
4.4.2 Instalación del programa genymotion
Fuente: Propia
Para poder tener un mayor rendimiento y que los recursos no presenten problema,
Se realiza la instalación Custom Phone 9.0 API 28 que no consume muchos
recursos o que coloca los básicos de funcionamiento.
61
Figura 12. Creación del Equipo Móvil
Fuente: Propia
Fuente: Propia
62
4.4.3 Revisión externa del aplicativo
Accesos de cámara;
Accesos de ubicación;
Accesos de almacenamiento;
Otros accesos tales como:
Uso de la linterna
Acceso total a la red
Uso del hardware de huellas digitales
Fuente: Propia
63
Figura 15. Vista principal de la aplicación
Fuente: Propia
Fuente: Propia
64
Figura 17. Opciones que solicitan información
Fuente: Propia
Fuente: Propia
Al revisar la aplicación se puede observar que hay unas opciones que permiten
visualizar la información que se tiene en las cuentas y ahorros. Por otro lado, las
65
opciones que están en el panel izquierdo, esto si permiten una interacción cliente-
servidor o cliente – servicios.
Fuente: Propia
Al revisar los sitios que y vínculos con los que interactúan se encuentra que este
tiene conexión con los siguientes sitios:
https://www.transfiya.com.co/
https://www.pse.com.co/persona
https://www.cinecolombia.com/
https://mundoaventura.com.co/
https://www.playland.com.co/
https://www.salitremagico.com.co/
66
Figura 20. Cambio de formato con Dex2jar
Fuente: Propia
Fuente: Propia
67
Figura 22. Archivos Internos de la App
Fuente: Propia
Fuente: Propia
68
Figura 24. Android Manifest
Fuente: Propia
Esto puede permitir a un atacante, modificar la aplicación en run time para evadir
diferentes controles, como por ejemplo SSL Pinning, Root Detection, Memory
Injection, etc. En otros casos, puede facilitar la materialización de fraude sobre los
clientes de la app ya que puede captura información sensible, por medio de Malware
instalado en el dispositivo.
Para este punto se procede a realizar la revisión del aplicativo con las herramientas
seleccionadas anteriormente.
En primera instancia se configura el burpsuite para que haga de hombre en el medio
y capture toda la información que se necesita, entra primera opción se realizan
pruebas con el aplicativo Frida.
69
Figura 25. Inyección de código con Frida
Fuente: Propia
Al tener los resultados podemos ver con esta información, se evidencia que la
aplicación puede ser atacada mediante los siguientes CVE:
70
CVE-2016-10398 Android 6.0 tiene un desvío de autenticación para atacantes
con acceso físico y raíz. Los tokens de autenticación
criptográfica (AuthTokens) utilizados por Trusted Execution
Environment (TEE) están protegidos por un desafío débil.
Esto permite a los adversarios reproducir respuestas
capturadas previamente y usar el TEE sin autenticarse.
Todas las aplicaciones que utilizan criptografía activada por
autenticación son vulnerables a este ataque, que se
confirmó en el LG Nexus 5X.
Fuente: Resultado del Análisis
Edb-Id: 38627
Cve: 2013-4787
Autor: Seguridad Bluebox
Tipo: Remoto
Plataforma: Androide
Fecha: 3/7/2013
Url Https://Www.Exploit-Db.Com/Exploits/38627
Fuente: Resultado del Análisis
71
Figura 26. Posibilidad de Cross Site Scripting
Fuente: Propia
Con esta información se evidencia que la aplicación puede ser atacada mediante
los siguientes CVE
72
cross-site scripting (XSS) reflejado debido a una validación
insuficiente en la carga del archivo interfaz. Un exploit
exitoso podría permitir a un atacante ejecutar scripts
arbitrarios.”76
73
Y para este tipo de vulnerabilidad, puede llegar a explotarse mediante el exploit
encontrado como Google Chrome para Android:
com.android.browser.application_id Intent Extra Data Cross-Site Scripting.
Edb-Id: 37792
Cve: 2012-4905
Autor: Artem Chaykin
Tipo: Remoto
Plataforma: Androide
Fecha: 2012-09-12
Url https://www.exploit-db.com/exploits/37792
Fuente: Resultado del Análisis
74
Figura 27. Almacenamiento de credenciales en texto plano
Fuente: Propia
Con esta información se evidencia que la aplicación puede ser atacada mediante
los siguientes CVE
75
Y para este tipo de vulnerabilidad, puede llegar a explotarse mediante el edb-id
encontrado como Ftp Server 1.32 - Divulgación de credenciales
Edb-Id: 44852
Cve: N/A
Autor: Manhnho
Tipo: Local
Plataforma: Androide
Fecha: 2018-06-07
Url https://www.exploit-db.com/exploits/44852
Fuente: Resultado del Análisis
Fuente: Propia
76
Por lo que se provee que este evento esté relacionado a los siguientes CVE
77
validate SSL certificates provided by HTTPS connections,
which may enable an attacker to conduct man-in-the-middle
(MITM) attacks.”82
Fuente: Resultado del Análisis
Edb-Id: 42349
Cve: N/A
Autor: Pasante
Tipo: Remoto
Plataforma: Androide
Fecha: 2017-07-20
Url https://www.exploit-db.com/exploits/42349
Fuente: Resultado del Análisis
Edb-Id: 42350
Cve: N/A
Autor: Intern0t
Tipo: Remoto
Plataforma: Androide
Fecha: 2017-07-20
78
Url https://www.exploit-db.com/exploits/42350
Fuente: Resultado del Análisis
Fuente: Propia
79
Figura 30. Información sensible expuesta
Fuente: Propia
Durante las pruebas se ha identificado que algunas peticiones de la aplicación a
diferentes recursos de la entidad retornarn la versión del servicio, por ejemplo, el
servidor web Microsoft IIS 8.5.
Y por otra parte el servidor GlassFish Server Open Sourcer Edition 4.1.2 y Servlet
3.1 y JSP 2.3
80
Figura 31. Entrega de información del software
Fuente: Propia
81
cifrar en la configuración, lo que puede resultar en la
exposición de información confidencial.”84
Fuente: Resultado del Análisis
Edb-Id: 41218
Cve: N/A
Autor: Google Security Research
Tipo: DoS
Plataforma: Androide
Fecha: 2017-02-01
Url https://www.exploit-db.com/exploits/41218
Fuente: Resultado del Análisis
Edb-Id: 38170
Cve: N/A
Autor: Takeshi Terada
82
Tipo: Remoto
Plataforma: Androide
Fecha: 2013-01-07
Url https://www.exploit-db.com/exploits/38170
Fuente: Resultado del Análisis
Edb-Id: 38310
Cve: 2011-1350
Autor: Geremy Condra
Tipo: Remoto
Plataforma: Androide
Fecha: 2011-11-03
Url https://www.exploit-db.com/exploits/38310
Fuente: Resultado del Análisis
Fuente: Propia
83
Strict-transport-security (HSTS): es un mecanismo de políticas de seguridad web
que ayuda a proteger sitios web contra ataques de degradación (Down grade) de
protocolo y secuestro de archivos de sesión (cookies). Permite a los servidores web
declarar que los navegadores web (u otros agentes del lado del cliente) solo deben
interactuar con él mediante conexiones HTTPS seguras, y nunca a través del
protocolo HTTP inseguro.
84
Tabla 19. Error en las Cookies
Edb-Id: 37794
Cve: 2012-04909
Autor: Artem Chaykin
Tipo: Remoto
85
Plataforma: Androide
Fecha: 2012-09-12
Url https://www.exploit-db.com/exploits/37794
Fuente: Resultado del Análisis
Fuente: Propia
Fuente: Propia
86
Tabla 21. Cabeceras inseguras
Y para estos eventos se relaciona el exploit que podría afectar el aplicativo o servicio
relacionado, Google Chrome for Android - Multiple 'file::' URL Handler Local
Downloaded Content Disclosure Vulnerabilities
Edb-Id: 37793
Cve: 2012-4906
Autor: Artem Chaykin
Tipo: Remoto
Plataforma: Androide
Fecha: 2012-09-12
Url https://www.exploit-db.com/exploits/37793
Fuente: Resultado del Análisis
87
NATIONAL VULNERABILITY DATABASE, Information Technology Laboratory [sitio web]. CVE-2012-4906
Detail, Gaithersburg, MD 20899 [Consultado: 18 de julio de 2021]. Disponible en: https://nvd.nist.gov/vuln/detail/
CVE-2012-4906
87
4.5 INFORME PARA LA EMPRESA
M9 – Reverse Engineering
M8 – Code Tampering 1
M6 – Insecure Authorization
M5 – Insufficient Cryptography
M4 – Insecure Authentication
M3 – Insecure Communication 1
Fuente: propia
88
De acuerdo a estos hallazgos se presenta la tabla en la que se describe cada
vulnerabilidad encontrada, como afecta la aplicación y las recomendaciones para
poder mitigar la aplicación, entre otros.
89
Tabla 24. Informe técnico para la entidad financiera
90
Al analizar los archivos estáticos
generados en la aplicación se ha
evidenciado una base de datos en
texto plano que contiene el nombre Utilizar la implementación
de usuario y la contraseña de acceso.de KeyStore en Android
M2:
para el almacenamiento
almacenamiento
El módulo se utiliza para autenticar al de datos sensibles y cifrar
de datos
usuario por medio de la huella digital. los mismos con algoritmos
inseguro
Un atacante que lograse tener acceso simétricos como por Real Networks Helix Server
al dispositivo de su víctima, puede ejemplo AES256. and Helix Mobile Server
extraer estas credenciales y 14.x before 14.3.x store
Almacenamiento materializar fraude sobre el usuario de passwords in clear text
CVE-2012- https://www.exploit-
de credenciales la aplicación. under adm_b_db\users\,
1923 db.com/exploits/44852
en texto plano Cifrar o enmascarar todos which allows local users to
los datos sensibles que se obtain sensitive
Se ha evidenciado que algunas
envían en las solicitudes information by reading a
solicitudes HTTP transportan
HTTP, en especial los database.
información sensible confiando
datos de autenticación de
M3: únicamente en el canal cifrado. Esto le
los usuarios.
Comunicación permitiría a un criminal que
insegura materialice un ataque de MITM o un
Para esto puede utilizarse
Proxy HTTPS, descifrar el tráfico y leer
cifrado asimétrico o
en texto plano información de los
alguna especie de
usuarios de la aplicación.
algoritmo de hash más
oscuridad.
In mobile_log_d, there is a
No se ha detectado ofuscación de los https://www.exploit-
Utilizar algoritmos de possible information
archivos del código fuente de la db.com/exploits/41218
ofuscación robustos como disclosure due to improper
M8: aplicación, al tratarse de un desarrollo -
DexGuard. CVE-2021- input validation. This could
manipulación de Ofuscación débil híbrido, un atacante que conozca el https://www.exploit-
También se pueden 0404 lead to local information
código lenguaje JavaScript puede determinar db.com/exploits/38170
utilizar Strings para disclosure with System
toda la lógica del lado del cliente para - https://www.exploit-
almacenar URLS. execution privileges
materializar ataques más profundos. db.com/exploits/38310
needed. User interaction is
91
Sanitizar todas las not needed for
excepciones de todos los exploitation. Product:
Al realizar diferentes ataques de
fragmentos del código y Android; Versions:
fuzzing sobre los parámetros de las
almacenar el error plano Android-11; Patch ID:
solicitudes HTTP se han identificado
en un archivo de log. ALPS05457039.
algunos errores que no están siendo
Finalmente retornar un
tratados correctamente, debido a que
error común que no
revelan información interna de la app.
revele información
interna.
Durante las pruebas se ha identificado
que algunas peticiones de la aplicación
a diferentes recursos de la entidad
retornaran la versión del servicio, por
Eliminar de la respuesta
ejemplo el servidor web Microsoft IIS
del servidor aquella
8.5.
información que no sea
M2:
procesada por el
almacenamiento Y por otra parte el servidor GlassFish
navegador o que revele
de datos Server Open Sourcer Edition 4.1.2 y
detalles internos como
inseguro Servlet 3.1 y JSP 2.3
versiones, nombres o
modos de
Un atacante puede aumentar su
funcionamiento.
superficie de ataque contra la entidad
identificando los componentes
específicos de software que se utilizan
en las soluciones telemáticas.
Fuente: Propia
92
5 RECOMENDACIONES
93
Crear una lista blanca de certificados válidos en el servidor e implementar
una función propia que verifique la autenticidad de los mismos.
94
Una vez presentado el informe a las áreas involucradas en el proceso de
desarrollo de la aplicación, se debe establecer un plan de trabajo que permita
mitigar las vulnerabilidades encontradas y en caso de ser necesario se
deberá cambiar su plataforma de desarrollo.
95
6 CONCLUSIONES
Se pudo conocer los diferentes métodos que se pueden realizar para ejecutar o
explotar una vulnerabilidad que pueda colocar en riesgo la seguridad de una
aplicación y la forma en que se puede recopilar información sensible desde una
aplicación.
Durante el proceso de análisis se pudo evidenciar que para cada tipo de ataque o
de búsqueda de información se hace necesario conocer o utilizar diferentes
herramientas que permitan o complementen la búsqueda de la información o
análisis a realizar.
96
menor riesgo a las empresas en la que pueda llegar aportar el conocimiento
adquirido o apoyar en el mejoramiento del mismo.
97
BIBLIOGRAFÍA
98
COLOMBIA, MINISTERIO DE COMERCIO, INDUSTRIA Y TURISMO. Decreto
Número 1377 de 2013. 2013. [En línea] [Consultado: 19 de abril de 2020].
Disponible en: https://www.mintic.gov.co/portal/604/articles-4274_documento.pdf.
DEBITOOR. App móvil - ¿Qué es una app móvil? [en línea]. Debitoor. España. (15
de marzo de 2017). [Consultado: 15 de marzo de 2020]. Disponible en:
https://debitoor.es/glosario/app-movil.
DEVICE ATLAS, Android v iOS market share 2019 [En línea]. Device3atlas, EEUU
[Consultado: 4 de abril de 2020]. Disponible en:
https://deviceatlas.com/blog/android-v-ios-market-share.
DRAKE, Joshua. FORA, Pau. LANIER, Zach. MULLINER, Collin. Ridley, STEPHEN.
Wicherski, Georg. Android™ Hacker’s Handbook. Indianapolis. John Wiley & Sons,
Inc. 2014. ISBN: 978-1-118-60864-7.
100
GONZÁLEZ, Carlos. Android Ayuda, ¿Qué es ART? Android Runtime, el sucesor
de Dalvik [en Línea]. Android Ayuda (07 de agosto de 2019). [Consultado: 1 de abril
de 2020]. Disponible en: https://androidayuda.com/android/que-es/art-android-
runtime/.
GUPTA, Aditya. Learning Pentesting for Android Devices. Packt Publishing. 2014.
ISBN 978-1-78328-898-4.
101
marzo de 2020]. Disponible en: https://resources.infosecinstitute.com/android-
hacking-security-part-16-broken.
JKIELTY, Android v iOS market share 2019. [en línea]. DeviceAtlas. Ireland. 9 de
septiembre del 2019. [Consultado: 15 de marzo de 2020]. Disponible en:
https://deviceatlas.com/blog/android-v-ios-market-share.
JKIELTY, Akndroid v iOS market share 2019. [en línea]. DeviceAtlas. Ireland. 9 de
septiembre del 2019. [Consultado: 15 de marzo de 2020]. Disponible en:
https://deviceatlas.com/blog/android-v-ios-market-share.
LOPEZ, Miguel. Ya disponible la beta 4 de iOS 13.5, tvOS 13.4.5, watchOS 6.2.5 y
iPadOS 13.5 con la API de notificación de exposición [en Línea]. Applesfera (06 de
mayo de 2020). [Consultado: 7 de abril de 2020]. Disponible en:
https://www.applesfera.com/.
102
MEDIANERO, Daniel. OASAM, Open Android Security Assessment Methodology
[En Linea]. Comunidad dragon jar. 13 de junio 2013. [Consultado: 15 de marzo de
2020]. Disponible en: https://www.dragonjar.org/oasam.xhtml.
MOKRIS, Keith. Building blocks for secure mobile development: Testing for the
OWASP Mobile Top 10 [Imagen]. Now Secure. 13 de octubre 2016. [Consultado: 15
de marzo de 2020]. Disponible en:
https://www.nowsecure.com/blog/2016/10/13/secure-mobile-developme.
NMAP ORG. Nmap (Network mapper). [En línea] Nmap (Network mapper) 2019.
[Consultado: 24 de marzo de 2020].Disponible en internet: https://nmap.org/ .
PORRAS, Eve. Ingeniería de sistemas. Sistemas operativos móviles: iOS [en línea].
Internet (11 de abril de 2012). [Consultado: 1 de abril de 2020]. Disponible en:
http://eve-ingsistemas-u.blogspot.com/2012/04/sistemas-operativos-moviles-
ios.html.
RAY, Jhon. OS 8 Application Development in 24 Hours [en línea]. 2. Ed. Sams teach
yourself. 2015 p 123. [Consultado: 2 de abril de 2020]. Disponible en:
https://books.google.com.co/books?id=FS75BgAAQBAJ&printsec=frontcover&hl=e
s#v=onepage&q&f=false.
SAAVEDRA, Fernando. OWASP Top Ten Mobile Risks [en línea]. Audea. Madrid.
España. (15 de octubre de 2019). [Consultado: 1 de abril de 2020]. Disponible en:
https://www.audea.com/owasp-top-ten-mobile-risks/.
104
SALAZAR, Edgar. Pruebas de Seguridad en aplicaciones web según OWASP. [en
línea]. Owasp. 2018. [consulta: marzo 2020]. Disponible en: https://owasp.org/www-
pdf-archive/OWASP_SUSCERTE.pdf.
TECH CRUNCH. 6.1B Smartphone Users Globally By 2020, Overtaking Basic Fixed
Phone Subscriptions [en línea]. (2 de junio de 2015) Ingrid Lunden TechCrunch
[Consultado: 5 de mayo de 2020]. Disponible en:
https://techcrunch.com/2015/06/02/6-1b-smartphone-use.
Thiel, David. 2016. iOS Application security. USA : No strach press. Inc, 2016.
105
TORI. Carlos. hacking ético, Sea proactivo: descubra las vulnerabilidades antes de
que otro lo haga. Mastroianni Impresiones. 2008. ISBN 978-987-05-4364-0.
106
https://github.com/b66l/OASAM/tree/master/oasam-is-intent-spoofing [Traducción:
Propia].
VANEGAS, Carlos Alberto. Citado por: MUÑOZ, Yamir. Estado del arte
vulnerabilidades de seguridad en sistemas operativos móviles andrioid y iOS [en
línea]. trabajo de monografía como requisito de grado para optar el título de
especialista en seguridad i.
WA3F. [En línea] Web Application Attack and Audit Framework 2013. [Consultado:
25 de marzo de 2020].Disponible en: http://w3af.org/.
107
ZHANG, Kuan. Security and Privacy for Mobile Healthcare Networks. 2 ed. New
York: Springer. 2015, 2 p. ISBN: 978-3-319-24715-1.
108
109