Está en la página 1de 31

Universidad Mariano Gálvez de Guatemala

Facultad de Ingeniería en Sistemas de Información


Seguridad de Aplicaciones

Análisis de Riesgos al perímetro de seguridad.


bajo las arquitecturas de Software: Aplicación Web, Aplicación
Móvil y Aplicación Cliente/Servidor.

ÍNDICE
INTRODUCCIÓN .......................................................................................................... i
DESARROLLO ........................................................................................................... 1

ANALISIS DE RIESGO ............................................................................................... 1

MATRIZ DE RIESGOS POR PLATAFORMAS .......................................................... 6

IMPLEMENTACIÓN DE CIBER SEGURIDAD ......................................................... 16

CONCLUSIONES ..................................................................................................... 27

BIBLIOGRAFÍA ........................................................................................................ 28
INTRODUCCIÓN

El ensayo a continuación de tipo literario, este se conforma por la iniciativa de un


proceso de seguridad en app web, móvil y cliente/servidor.

El presente documento se realizó con el objetivo de poder obtener la atención del


lector, en la cual perciba una correcta dirección y poder asociar las iniciativas de
seguridad en las tres arquitecturas del software, siendo la Web. Móvil y cliente/servidor,
ya que genera la necesidad actual de proteger la información desde los servicios, como
este afecta a la su dispositivo e información.

Derivado de lo anterior tras establecer un contexto a nivel general, así también se


puede apreciar el método que se utilizara para alcanzar los objetivos relacionados con el
análisis de riesgos, ya que con este es posible obtener resultados aceptables para
proteger la sesión e información de los usuarios.

La segunda parte de la cual se compone este análisis es sostener el fundamento de


la implementación de ciberseguridad, así como del medio que se atraviesa y sostendrá
el nivel de seguridad a lo largo del tiempo, pudiendo ser muy posible alcanzar el éxito.

La justificación bajo la cual se realizó este análisis es dar a conocer la idea de una
aplicación web, móvil y cliente servidor desarrollada con los mejores estándares para
proteger la información del negocio en sus distintas modalidades.

Dentro del objetivo general se pretende proteger la información y brindar un nivel


aceptable y confiable ante los usuarios de forma directa ante los ataques de ciber-
delincuentes.

Dentro de los específicos se tiene:

Tras la finalización de este análisis se espera que este pueda apoyar a investigadores
en un futuro sobre análisis de riesgos e implementación de ciberseguridad para las tres
arquitecturas de software ante un ataque a las aplicaciones web, móviles y
cliente/servidor.
1

DESARROLLO

ANALISIS DE RIESGO

Identificación de los activos de información:

Los activos de información, pueden ser un recurso, un producto, la infraestructura,


datos de personas, entre otros. (Areitio,J. 2008).

Un proyecto de seguridad tiene el objetivo de controlar la seguridad de los activos de


información que generan el dominio en el estudio de proyectos. El límite del conjunto de
activos del dominio no imposibilita la consideración de las relaciones en materia de
seguridad de dichos activos de información con el entorno.

El adaptarse a la norma ISO 27001 es importante para llevar a cabo un inventario de


activos de información. Estos representan algún valor para la empresa y quedan dentro
del alcance del SGSI.

Debido a que los activos de información son cambiantes, se mantendrá vivo el


inventario de activos, este se incluirá en la revisión del Sistema de Gestión de Seguridad
de la Información. Estos se actualizarán como parte del proceso de mejora continua, los
activos de información son los siguientes:

Datos digitales

- Personales
- Financieros
- Legales
- Investigación y desarrollo
- Estratégicos
- Comerciales
- Correo electrónico
- Contestadores automáticos
- Bases de datos
- Unidades lógicas
- Copias de seguridad
2

Software de aplicación

- Propietario desarrollo por la organización


- Cliente
- Planificación de recursos empresariales
- Gestión de la información
- Utilidades
- Herramientas de bases de datos
- Aplicaciones de comercio electrónico
- Middleware
- Sistemas operativos
- Servidores
- Ordenadores de sobremesa
- Ordenadores contrales
- Dispositivos de red
- Dispositivos de mano e incrustados

Activos de servicios de TI

- Servicios de autenticación de usuario


- Administración de procesos
- Enlaces
- Cortafuegos
- Servidores proxy
- Servicios de red
- Servicios inalámbricos
- Anti-spam
- Virus
- Spyware
- Detección y prevención de intrusiones
- Teletrabajo
- Seguridad
- Correo electrónico
3

- Mensajería instantánea
- Servicios web
- Contratos de soporte
- Mantenimiento de software

Amenazas y vulnerabilidades

(Areitio, 2008) “Las amenaza es todo aquello que causa una consecuencia o resultado
no deseado. Las vulnerabilidades son ausencias de salvaguardas adecuadas”.

Cabe destacar que una vulnerabilidad es un error de algún sistema, del cual no se tiene
conocimiento o se omitió por error.

A continuación se describen algunas amenazas y vulnerabilidades de los sistemas de


información.

 Inyecciones: Fallos de inyección de código, desde SQL hasta comandos del


sistema.
 Cross-site Scripting: Anteriormente fue número uno en la lista, es uno de los
problemas más extendidos.
 Gestión defectuosa de sesiones y autenticación: Son los fallos en las acciones
de gestión de sesiones y autenticación.
 Referencias directas a objetos inseguras: Fallos al exponer partes privadas o
internas de una aplicación sin control y que son de acceso público.
 Cross-site Request Forgery: Fallo producido por el desencadenamiento de
actuaciones legítimas provenientes de un usuario autenticado, que proceden del
control de un atacante que pasa desapercibido para el usuario.
 Ausencia de, o mala, configuración de seguridad: Es la ausencia de seguridad
o la mala configuración de ésta en el total de los componentes que forman una
aplicación web, desde la misma aplicación hasta la configuración del sistema
operativo o el servidor web.
 Almacenamiento con cifrado inseguro: Es la falta o mal empleo de los sistemas
de cifrado en cuanto a los datos almacenados o utilizados por la aplicación.
4

 Falta de restricciones en accesos por URL: Es la carencia de validación en el


procesamiento de URLs que se podrían utilizar para solicitar recursos sin los
derechos adecuados o páginas ocultas.
 Protección insuficiente de la capa de transporte: Esta en relación con la A7
pero se orienta a la protección del tráfico de red. Es la elección de un cifrado débil
o la mala gestión de certificados.
 Datos de redirecciones y destinos no validados: Fallos en el tratamiento de
redirecciones y utilización de datos no fiables como destino.

Exposición

La aplicación por ser Web se encuentra expuesta a todo tipo de ataques siendo los
más comunes de DDoS y fuerza bruta, ya que por desconocer al inicio si poseen
credenciales o bases de datos se inician por estos para obtener más información de forma
inmediata del sitio.

Probabilidad de ocurrencia

La probabilidad de ocurrencia se basa en una medida de 1 a 5 al evaluar la posibilidad


de que el incidente ocurra sobre la aplicación en un tiempo corto definido sobre una
plataforma específica.

Impacto

El impacto se mide de 1 a 5 y se basa en el riesgo o complejidad que pueda ocasionar a


la aplicación, y perder su objetivo que es estar disponible para el usuario final.

Acción Pertinente por Riesgo:

 Mitigar: Es el poder implementar medidas de seguridad para que el riesgo se


reduzca hasta ser aceptable.
 Compartir/Transferir: Se comparte el riesgo con un experto u organización que
ya conozca sobre este tipo de amenazas o riesgos y así poder disminuir el trabajo
para la organización
5

 Aceptar: Es el poder convivir con el riesgo de una manera en que se pueda


subsistir la aplicación web y cumpla sus objetivos, aunque exista siempre el riesgo
o vulnerabilidad
 Eliminar: Es como bien lo dice eliminar por completo el riesgo para la aplicación
web mediante prácticas y políticas de protección en el internet

Detalle del riesgo:

 Tamaño del producto: riesgos asociados con el tamaño general del software.
(Construcción/Modificación)
 Impacto en el Negocio: riesgos asociados con las limitaciones impuestas por la
gestión o por el mercado.
 Características del Usuario: riesgos asociados al consumo de la aplicación
versus las capacidades/habilidades del usuario final.
 Implementación: riesgos asociados a la implementación de la solución final en
uso.
 Arquitectura: riesgos asociados a la arquitectura en particular.
 Reutilización: uso de librerías y/o frameworks reconocidos que presentan
vulnerabilidades.
6

MATRIZ DE RIESGOS POR PLATAFORMAS


APLICACIÓN A
EVALUAR: WhatsApp
PLATAFORMA: Móvil

PROBABILIDAD
VULNERABILIDA

PERTINENTE
EXPOSICIÓN
IMPACTO

ACCIÓN
INCIDENTE DE ACTIVOS DE

D
SEGURIDAD INFORMACI CATEGORÍA CONTROL
(descripción) ÓN RIESGO DEL RIESGO AMENAZAS (descripción)
(1-5) (1-5) (I*P)
Robo de la cuenta de
WhatsApp, mediante Perdida de Instalar Antivirus en el dispositivo,
Cuenta de
configuración en otro la cuenta, evitar la instalación de
WhatsApp, Características MEDI
dispositivo, con robo de perdida de Phishing 3 5 15 Mitigar aplicaciones que no estén en
Contactos, del usuario A
mensaje de confirmación autenticació playstore, AppleStore u otra de
backup
de la aplicación, atreves n confianza.
de fsvenom.
Configurar controles de acceso a
los dispositivos que eviten la
Clonación de la cuenta,
Conversacion realización de copias de seguridad
mediante el backup del perdida de
es, contactos, Error del sin autorización, o almacenar de
dispositivo original, la Técnico ALTA 2 5 10 Mitigar
agenda, sistema forma encriptada las copias de
instalado en otro privacidad
archivos seguridad realizadas o bien
dispositivo
colocarlas en una ubicación con
control de acceso
Crear y difundir
desinformación a través de
Desinforma
fuentes aparentemente
información ción, Instalar parches de seguridad de
fiables, mediante la Técnico Phishing ALTA 3 3 9 compartir
importante perdida de la aplicación WhatsApp
manipulación de mensajes
privacidad
y cambiar la identidad del
remitente
Crear respaldos o Backups en la
Datos perdida de
Exposición a manipulación nube, configurar correos de
personales, la cuenta,
y robo de la cuenta Accidentes, recuperación, utilizar doble factor
agenda, perdida de Vandalismo ALTA 4 5 20 compartir
WhatsApp, por pérdida o errores humanos de autenticación, configurar la
contactos, la
robo del dispositivo. localización del dispositivo y
archivos, etc. privacidad
eliminar los archivos.
perdida de Evitar rootear los dispositivos, no
conversacion
Robo de la base de datos las cuentas, permitir la depuración USB a
es, contactos, Características
y llave de encripción en perdida de Vandalismo ALTA 3 5 15 mitigar menos que estemos seguros de
agenda, del usuario
teléfonos rooteados la que se va a utilizar en un tiempo
archivos,
privacidad estimado.
7

APLICACIÓN A EVALUAR: ERP


PLATAFORMA: Cliente – Servidor

PERTINENTE
EXPOSICIÓN
VULNERABIL

PROBABILID

IMPACTO

ACCIÓN
IDAD

AD
INCIDENTE DE SEGURIDAD CATEGORÍA AMEN CONTROL
(descripción) ACTIVO RIESGO DEL RIESGO AZAS (descripción)
Ataque Pass-the-Hash: Aplicación Robo de Arquitectura Error ALTA 4 4 16 Mitigar Restringir y proteger cuentas del
conseguir la autenticación en un software identidad y en los dominio con altos privilegios.
recurso de la red. acceso a sistem Restringir y proteger cuentas
recursos e as locales con privilegios de
información de administrador. Restringir el
la organización. tráfico entrante usando Windows
Firewall.
Inundación del datacenter. Servidores Pérdida de Arquitectura Evento ALTA 4 5 20 Compartir/T Se transfiere parte del riesgo a
hardware y no s ransferir el encargado de infraestructura.
continuidad del natural Riesgo
servicio. es
Ataque Pass-the-Ticket: Aplicación Robo de Arquitectura Error ALTA 4 4 16 Mitigar Restringir y proteger cuentas del
conseguir acceso a un recurso software identidad y en los dominio con altos privilegios.
de la red. acceso a sistem Restringir y proteger cuentas
recursos e as locales con privilegios de
información de administrador. Restringir el
la organización. tráfico entrante usando Windows
Firewall.
Administración desatendida, falta Servidores y Aumento de las Técnico Errores MEDIA 3 4 12 Mitigar Crear planes de mantenimientos
de seguimiento a los parches de estaciones vulnerabilidades, human y seguimientos a los parches de
actualización de los servidores y de trabajo. fallas en las os seguridad de los servidores y
de las estaciones de trabajo. aplicaciones, un estaciones de trabajo.
blanco fácil para
atacantes.
Aplicaciones clientes Servidores, Captura de texto Técnico Error MEDIA 3 3 9 Compartir/T Parte del riesgo es trasladado a
vulnerables, no se aplicación estaciones plano, con datos en los ransferir el los desarrolladores de las
estándares de seguridad al de trabajo. sensibles. sistem Riesgo aplicaciones.
código de programación. as y
errores
human
os.
Malas contraseñas, débiles y Estaciones Fácil acceso al Técnico Errores MEDIA 3 3 9 Mitigar Implementar políticas de
fáciles de adivinar. de trabajo. sistema y human creación y cambios de
recursos en red. os contraseñas.
APLICACIÓN A EVALUAR: Whatsapp Web
PLATAFORMA: Web

PROBABILI

PERTINEN
EXPOSICI
IMPACTO
VULNERA

ACCION
BILIDAD

DAD

ON
INCIDENTE DE SEGURIDAD CATEGORÍA CONTROL

TE
(descripción) RIESGO DEL RIESGO AMENAZAS (descripción)
El más importante, y del que Pérdida de De Man in the middle ALTA 4 5 20 Mitigar Desarrollar conexiones directas
se han hecho eco otras Autenticación y arquitectura entre dispositivos, donde se cree
compañías, es la falta de Gestión de un canal entre ambos dispositivos y
cifrado de sus comunicaciones, Sesiones el servidor de mensajería, crear un
que permite dar acceso de mejor cifrado de los mensajes
forma inconscientes a la
agenda telefónica y a los
mensajes de los usuarios.
Vulnerabilidades con el No utilizar SSL Técnico Terrorista MEDIA 3 4 12 Mitigar Cifrar la información en el servidor,
sistema de ubicación del para almacenar y monitorear constantemente los
usuario a través del servicio de información de accesos a la misma en los
geolocalización de WhatsApp manera segura- y servidores
almacena las coordenadas sin cifrar.
geográficas y las mantiene
desprotegidas. De este modo,
al compartir una ubicación los
datos se descargan a través de
un canal no seguro.
Este problema ha provocado No utilizar SSL Técnico Errores de ALTA 4 4 16 Eliminar Realizar análisis de capa 7 y cifrar
que, según reconocen desde la para permitir la Sistema la información que se almacena en
compañía de seguridad, transmisión de el servidor dentro de las sesiones
cualquier usuario, de forma información de de chat
anónima y sin necesidad de manera segura- y
credenciales pueda utilizar la sin cifrar.
infraestructura de WhatsApp
para subir todo tipo de archivos
o ficheros de cualquier tamaño
a sus servidores (incluido los
ejecutables).
La plataforma de WhatsApp no Poca protección Técnico Phishing MEDIA 5 2 10 Compartir Cifrar el canal de información con
cuenta con ningún tipo de en las un protocolo de encriptacion más
antivirus y los contenidos se comunicaciones apropiado y desarrollar una llave de
archivan automáticamente del entre usuarios a descripción propia
servidor en un período de 30 través del canal
días las facilidades para establecido
distribuir todo tipo de malware
o realizar ataques de phishing
son tremendamente sencillas y
sin ningún tipo de costes para
el atacante.
9

Carencia en el proceso de alta Falla de Operativo Errores de MEDIA 3 4 12 Mitigar Realizar políticas y condiciones
y verificación de los usuarios. Restricción de Sistema para un mejor uso, validando con
El código de activación de Acceso a URL las telefonías si los números son
usuario se genera en el propio vigentes para la validación por SMS
entorno de la aplicación, y utilizar doble factor de
incluso antes de ser enviado a autenticación
los servidores internos para
que éstos manden el mensaje
SMS, con el código, al usuario,
la posibilidad de cambiar el
remitente a la hora de enviar
mensajes.
El acceso a las conversaciones Almacenamiento Operativo Vandalismo MEDIA 5 2 10 Compartir/T Utilizar protocolos de encriptacion
de un usuario a través de otras Criptográfico ransferir en los temporales que se guardan
aplicaciones que tienen acceso Inseguro en el dispositivo
a la tarjeta MicroSD donde se
almacenan las copias de
seguridad de WhatsApp
10

INCIDENTE DE SEGURIDAD

(Informatica, 2008) Incidente de seguridad de la información, es un impedimento en la


operación normal de las redes, sistemas o recursos informáticos; o una violación a la
Política de Seguridad de la Información.

Los incidentes pueden comprometer la confidencialidad, integridad o disponibilidad de la


información, entre los incidentes a los que se vio expuesta la aplicación son:

1. Ataque DDoS a Dyn

Potentes ataques DDoS (ataque distribuido de denegación de servicio, en español)


son unos de los más utilizados para interrumpir una gran cantidad de sitios web, entre
estos se incluye dashboard.bluehealthcorp.info/seguridad

Aplicaciones, como otros sitios conocidos como Twitter, Netflix, PayPal, Pinterest y
PlayStation Network, entre otros. El ataque logró comprometer el sitio, pues excluyo a
todos los dispositivos conectados a la Internet. Los ataques se realizaron con Kali, una
distribución de Linux, el objetivo de este es inundar de tráfico al proveedor de alojamiento
DNS del host.

2. Los clientes de http://dashboard.bluehealthcorp.info/seguridadAplicaciones


vieron expuesta su información sensible

Las informaciones de los usuarios fueron comprometidas en un ciberataque. La


técnica usada no fue muy significativa; lo impactante fue que la mayoría del daño
involucra datos y es imperceptible para algunas víctimas.

CONTROL

Se consideran las siguientes medidas para detectar, prevenir o minimizar el riesgo


asociado con la ocurrencia.

Inyecciones: Estos ataques se pueden prevenir desde el código según su lenguaje,


como lo pueden ser:
11

PHP

En PHP tenemos varias formas de hacerlo, entre ellas para bases de datos MySQL
tenemos la función mysql_real_escape_string, que añadiremos en las variables que
introducimos en la consulta.
$respuesta=mysql_query("SELECT * FROM `Usuarios` WHERE
`user`='".mysql_real_escape_string($name)."' AND
`pass`='".mysql_real_escape_string($password)."'")

.NET

En .NET evitaremos la inyección en SQL Server (con C#) estableciendo el tipo de


parámetro como literal con SqlDbType.VarChar.

SqlConnection con = new SqlConnection(_connectionString);


SqlCommand cmd = new SqlCommand("SELECT * FROM Usuarios WHERE user=@user
AND pass=@pass", con);
/* Convertimos en literal estos parámetros, por lo que no podrán hacer la inyección */
cmd.Parameters.Add("@user", SqlDbType.VarChar, 32).Value = user;
cmd.Parameters.Add("@pass", SqlDbType.VarChar, 64).Value = password;
O también podríamos usar AddWithValue de una forma ligeramente similar a la anterior:
using( SqlConnection con = (acquire connection) ) {

con. Open();

using( SqlCommand cmd = new SqlCommand("SELECT * FROM Usuarios WHERE


user=@user AND pass=@pass", con) ) {
/* Convertimos también en literales los parámetros */
cmd.Parameters.AddWithValue("@user", user);
cmd.Parameters.AddWithValue("@pass", password);
using( SqlDataReader rdr = cmd.ExecuteReader() ){
/* [...] */
}
}
}
12

Java

Ahora con Java lo que hacemos es similar a lo que hemos hecho con C# (en .NET),
crear la consulta con los parámetros y posteriormente establecerlos (sustituirlos siendo
ya estos un literal, que no producirán fallos de seguridad).

Connection con = (acquire Connection)


PreparedStatement query = con.prepareStatement("SELECT * FROM Usuarios WHERE
user=? AND pass=?");
query.setString(1, user);
query.setString(2, password);
ResultSet rset = query.executeQuery();

Perl

En este ejemplo de Perl usamos la característica placeholder que al fin y al cabo es


igual que con los dos ejemplos anteriores, agregando a la consulta los parámetros (con
este método se pone a punto las comillas para evitar las inyecciones SQL).

$query = $sql->prepare("SELECT * FROM Usuarios WHERE user=? AND pass=?");


$query->execute($user,$password);

Cross-site Scripting:

Para evitar eso se pueden seguir las siguientes buenas practicas:

PHP

Existe la función strip_tags que dada una cadena de texto limpia todas las etiquetas
HTML que encuentre.

Javascript

Podemos encontrar una función adaptada de strip_tags que hace lo mismo.


13

MATRIZ DE RIESGO

APLICACIÓN A EVALUAR: http://dashboard.bluehealthcorp.info/seguridadAplicaciones/


PLATAFORMA: Web

PROBABILID

EXPOSICIÓN
VULNERABI
AMENAZAS

IMPACTO
INCIDENTE DE CATEGORÍA ACCIÓN CONTROL

LIDAD
RIESGO

AD
SEGURIDAD (descripción) DEL RIESGO PERTINENTE (descripción)

El más importante, y del que


se han hecho eco otras
compañías, es la falta de Desarrollar conexiones directas entre
Pérdida de
cifrado de sus dispositivos, donde se cree un canal
Autenticación De Man in the
comunicaciones, que ALTA 4 5 20 Mitigar entre ambos dispositivos y el servidor
y Gestión de arquitectura middle
permite dar acceso de forma de mensajería, crear un mejor cifrado
Sesiones
inconscientes a la agenda de los mensajes
telefónica y a los mensajes
de los usuarios.
Vulnerabilidades con el
sistema de ubicación del
usuario a través del servicio
de geolocalización de No utilizar SSL
http://dashboard.bluehealthc para
orp.info/seguridadAplicacion almacenar Cifrar la información en el servidor, y
es almacena las información de Técnico Terrorista MEDIA 3 4 12 Mitigar monitorear constantemente los
coordenadas geográficas y manera accesos a la misma en los servidores
las mantiene desprotegidas. segura- y sin
De este modo, al compartir cifrar.
una ubicación los datos se
descargan a través de un
canal no seguro.
14

Este problema ha provocado


que, según reconocen
desde la compañía de
seguridad, cualquier
usuario, de forma anónima y No utilizar SSL
sin necesidad de para permitir
Realizar análisis de capa 7 y cifrar la
credenciales pueda utilizar la transmisión
Errores de información que se almacena en el
la infraestructura de de información Técnico ALTA 4 4 16 Eliminar
Sistema servidor dentro de las sesiones de
http://dashboard.bluehealthc de manera
chat
orp.info/seguridadAplicacion segura- y sin
es/ para subir todo tipo de cifrar.
archivos o ficheros de
cualquier tamaño a sus
servidores (incluido los
ejecutables).
La plataforma de WhatsApp
no cuenta con ningún tipo
de antivirus y los contenidos Poca
se archivan protección en
automáticamente del las
Cifrar el canal de información con un
servidor en un período de 30 comunicacion
protocolo de encriptacion más
días las facilidades para es entre Técnico Phishing MEDIA 5 2 10 Compartir
apropiado y desarrollar una llave de
distribuir todo tipo de usuarios a
descripción propia
malware o realizar ataques través del
de phishing son canal
tremendamente sencillas y establecido
sin ningún tipo de costes
para el atacante.
15

Carencia en el proceso de
alta y verificación de los
usuarios. El código de
activación de usuario se
genera en el propio entorno Realizar políticas y condiciones para
de la aplicación, incluso Falla de un mejor uso, validando con las
Errores de
antes de ser enviado a los Restricción de Operativo MEDIA 3 4 12 Mitigar telefonías si los números son vigentes
Sistema
servidores internos para que Acceso a URL para la validación por SMS y utilizar
éstos manden el mensaje doble factor de autenticación
SMS, con el código, al
usuario, la posibilidad de
cambiar el remitente a la
hora de enviar mensajes.
16

Clasificación de aspectos a evaluar en la matriz de riesgos

CAPAS A EVALUAR POR AMENAZAS


PLATAFORMA
Código, Aplicación, Eventos: naturales, terroristas, accidentes, errores en dispositivos,
Implementación y Perímetro. pérdida de comunicación, errores en los sistemas, errores
humanos, vandalismo, etc.

CATEGORÍA DE RIESGO IDENTIFICACIÓN DE RIESGO


de arquitectura Tamaño del Producto: riesgos asociados con el tamaño general
del software.(Construcción/Modificación)
Técnico Impacto en el Negocio: riesgos asociados con las limitaciones
impuestas por la gestión o por el mercado.
operativo Características del Usuario: riesgos asociados al consumo de la
aplicación versus las capacidades/habilidades del usuario final.
Implementación: riesgos asociados a la implementación de la
solución final en uso.
Arquitectura: riesgos asociados a la arquitectura en particular.
Reutilización: uso de librerías y/o frameworks reconocidos que
presentan vulnerabilidades.

ACCIONES PERTINENTES NIVEL DE VULNERABILIDAD


Mitigar el Riesgo: Baja 1 < 8
Compartir/Transferir el Riesgo: Media 8 < 16
Aceptar el Riesgo: Alta 16 <= 25
Eliminar el Riesgo:

IMPLEMENTACIÓN DE CIBER SEGURIDAD

Pruebas de Penetración: Caja Negra

DDoS

Se realizó un ataque de DDoS con la redistribución de Kali en Linux, haciendo un ping


extendido así como múltiples consultas al puerto 80 de la dirección
http://dashboard.bluehealthcorp.info/seguridadAplicaciones, pudiendo doblegar al
servidor DNS del host en la nube.
17

SQL Injection

Se realizó un ataque de SQL Injection con el software SQL Power Injection 1.2, haciendo
un análisis al método GET y POST con resultados negativos, pues por más que se intentó
vulnerar al puerto 80 y romper las cookies no fue posible, adicional se inyecto
directamente en la dirección http://dashboard.bluehealthcorp.info/seguridadAplicaciones,
código malicioso de SQL sin doblegar la seguridad de la página.
18

Man in the middle

Se realizó un ataque de Man In The Middle con el WireShark, haciendo un análisis de


paquetes con resultados negativos, pues como se observa en la captura, todos los
paquetes están encriptados, haciendo muy difícil descifrarlos de la dirección
http://dashboard.bluehealthcorp.info/seguridadAplicaciones, no se pudieron obtener
credenciales del usuario.

Pruebas de Seguridad basado en los riesgos: Caja Blanca

Contraseñas débiles en dispositivos de red.

Existe una probabilidad alta de ocurrencia, debido a que existen herramientas e

Información que facilita la explotación de la vulnerabilidad, además, un atacante no

Requiere de altas habilidades para realizar los ataques, esto se logró determinar a través
de Metasploit, el cual es un framework de explotación de vulnerabilidades de seguridad,
es utilizado para el desarrollo y ejecución de exploits y payloads. Metasploit está escrito
en el lenguaje de programación Ruby y contiene una suite de herramientas que permiten
19

Realizar pruebas sobre vulnerabilidades, enumeración de redes, ejecución de ataques,


evasión de controles de seguridad y evasión de servicios de detección.

Existen distintas ediciones de Metasploit, sin embargo, para el proyecto se utilizó la


versión gratuita, que se encuentra instalada en la suite de Kali Linux

DESCRIPCIÓN DE CÓMO MITIGAR CADA RIESGO IDENTIFICADO.

Inyecciones: Estos ataques se pueden prevenir desde el código según su lenguaje,


como lo pueden ser:

PHP

En PHP tenemos varias formas de hacerlo, entre ellas para bases de datos MySQL
tenemos la función mysql_real_escape_string, que añadiremos en las variables que
introducimos en la consulta.

$respuesta=mysql_query("SELECT * FROM `Usuarios` WHERE


`user`='".mysql_real_escape_string($name)."' AND
`pass`='".mysql_real_escape_string($password)."'")
20

PRUEBAS DE CAJA NEGRA APLICACIÓN CLIENTE-SERVIDOR

Prueba: Ingreso de datos en un campo numérico

Descripción de la situación: La aplicación posee una pantalla para el ingreso de un valor


numérico, como por ejemplo un monto (en alguna moneda), cuyo valor debe estar entre
1 y 1.000. Por lo tanto, todo valor menor que 1 y mayor a 1.000 es invalido.

Técnica de pruebas de caja negra: Partición de equivalencias y análisis de valores borde.

Caso 1:

Datos de entrada: 450.

Resultado esperado (Salida): La aplicación permite el ingreso del dato.

Caso 2:

Datos de entrada: 1 (Valor borde).

Resultado esperado (Salida): La aplicación permite el ingreso del dato.

Caso 3:

Datos de entrada: 1.000 (Valor borde).

Resultado esperado (Salida): La aplicación permite el ingreso del dato.

Caso 4:

Datos de entrada: 0.

Resultado esperado (Salida): La aplicación no permite el ingreso del dato y


muestra un mensaje de error.

Caso 5:

Datos de entrada: 1.001.

Resultado esperado (Salida): La aplicación no permite el ingreso del dato y


muestra un mensaje de error.
21

Prueba: Campo de texto que solo acepta caracteres alfabéticos

Descripción del caso: Se tiene un campo de texto que solo acepta caracteres alfabéticos.
La longitud del valor ingresado debe estar entre 6 y 10 caracteres.

Técnica de pruebas de caja negra: Partición de equivalencias.

Usando partición de equivalencias, se pueden establecer tres particiones, longitudes


entre 0 y 5 caracteres (partición inválida), longitudes entre 6 y 10 caracteres (partición
válida), y longitudes mayores a 10 caracteres (partición inválida). Además, el ingreso de
caracteres no alfabéticos (por ejemplo un número), se considera también dato inválido.

Caso 1:

Datos de entrada: cadena de 5 caracteres.

Resultado esperado (Salida): La aplicación no permite el ingreso del dato y


muestra un mensaje de error.

Caso 2:

Datos de entrada: cadena de 7 caracteres, incluyendo uno o más caracteres no


alfabéticos.

Resultado esperado (Salida): La aplicación no permite el ingreso del dato y


muestra un mensaje de error.

Caso 3:

Datos de entrada: cadena de 7 caracteres, solo de caracteres alfabéticos.


Resultado esperado (Salida): La aplicación permite el ingreso del dato.

Caso 4:

Datos de entrada: cadena de 11 caracteres.

Resultado esperado (Salida): La aplicación no permite el ingreso del dato y


muestra un mensaje de error.
22

Prueba: Ingreso de un campo fecha.

Descripción de la situación: Se registra una transacción administrativa o de contabilidad,


que posee un campo fecha. Según la especificación funcional, el campo fecha solo
acepta fecha iguales o anteriores al día actual. Es decir, el ingreso de fechas en el futuro
no está permitido.

Técnica de pruebas de caja negra: Partición de equivalencias y análisis de valores borde.

Caso 1:

Datos de entrada: Fecha de hoy (Valor borde).

Resultado esperado (Salida): Se permite el ingreso de la transacción (mensaje de


éxito).

Caso 2:

Datos de entrada: Fecha de hoy más un día (Fecha de mañana).

Resultado esperado (Salida): No se permite el ingreso de la transacción y se


muestra un mensaje de error.

Caso 3:

Datos de entrada: Fecha del día de ayer.

Resultado esperado (Salida): Se permite el ingreso de la transacción (mensaje de


éxito).
23

PRUEBAS DE CAJA NEGRA APLICACIÓN MÓVIL

Obtener base de datos y llave de WhatsApp, vulnerando un dispositivo Android.

Paso 1.

Rootear el dispositivo Android utilizando imagen de Recovery customizada que permita


brindar permisos de administrador (ROOT). Esto se realiza inicialmente con el programa
ODIN, el cual sirve para cambiar realizar cambios de firmware a dispositivos.

Programa Odin

Paso 2.

Instalar en el teléfono, desde el nuevo Recovery, el programa Root que nos va a dar
todos los privilegios sobre el sistema del dispositivo. En nuestro caso se instalara
SuperSu, el cual debe instalarse no de forma gráfica, sino como anteriormente se
indicó, desde el recovery.
24

Recovery instalado Programa SuperSu

Paso 3

Ingresar al sistema a buscar la llave de la aplicación WhatsApp, a la cual se debe de


acceder mediante permisos de administrador. La llave de dicha aplicación, se encuentra
en la ubicación “data/data/com.WhatsApp/files/key”

Ubicación de la llave
25

Paso 4

Copiamos la llave hacia una ubicación local (en la computadora), y copiamos la base de
datos que se encuentra en la ubicación “sdcard/WhatsApp/Databases”,
específicamente copiamos la msgstore.db.crypt12, la enviamos a la misma ubicación,
en donde colocamos la llave obtenida.

Ubicación de la base de datos WhatsApp

Paso 5

Utilizando el programa “WhatsApp Viewer.exe” podemos desencriptar la base de


datos y ver las conversaciones que se encuentran almacenadas en la misma. Para ello
abrimos el programa y seleccionamos la base de datos y la llave, en la ubicación que
definimos. Seguidamente nos creará un archivo el cual podemos abrir utilizando
siempre la misma aplicación.

Proceso de desencripcion de base de datos


26

Paso 6

Abrimos el archivo generado por el programa y veremos todas las conversaciones.

Visualización de las conversaciones WhatsApp


27

CONCLUSIONES

 Con buenas prácticas de programación cada persona responsable del desarrollo


debería hacer que sus apps se comuniquen de manera segura con sus propios
servidores, mediante el uso de cifrado y encriptamiento de comunicación, de tal
modo de asegurarse que la comunicación es con un usuario real y no con un
atacante.

 Existen un método para autenticar un usuario a nuestra aplicación, lo importante


esta en no realizar la información de estas variables públicas, manejar ciertos
estándares de seguridad para evitar ataques que suplanten identidades dentro de
nuestras aplicaciones, estas aplican a los sistemas web, móviles y cliente/servidor,
son prácticas de seguridad un tanto arriesgados puesto que la mayoría de
aplicaciones utiliza este gestor, al obtener un bug muchas de las aplicaciones
pueden ser vulnerables.

 Se pueden evitar estos ataques en muchos lenguajes distintos, e incluso hay


lenguajes que por defecto hay que complicarse para que exista este fallo de
seguridad, pero lo que tenemos que saber es que donde hay una consulta SQL
puede haber una brecha de seguridad, el prestar mucha atención con estos
ataques que están tan de moda.
28

BIBLIOGRAFÍA

Areitio, J. (2008). seguridad de la información redes informaticas y sistemas de


información. España: Paraninfo.

Arteaga, S. (08 de agosto de 2018). Computer Hoy. Obtenido de


https://computerhoy.com/noticias/tecnologia/detectada-vulnerabilidad-
whatsapp-que-permite-manipular-mensajes-287703

facebook. (2018). Facebook for developers. Obtenido de


https://developers.facebook.com/docs/facebook-login/access-
tokens?locale=es_LA

Informatica, D. d. (2008). Universidad Nacional de Lujan. Obtenido de


http://www.unlu.edu.ar/doc/seginfo/Como_reportar_un_incidente_de_SI.pdf

Leyva Andres, J., & Mora Vargas, R. (2016). Instituto Politécnico Nacional. Obtenido
de
https://tesis.ipn.mx/bitstream/handle/123456789/21896/TOKEN%20DE%20
SEGURIDAD%20DE%20CONTRASE%C3%91A%20DESECHABLE.pdf?se
quence=1&isAllowed=y

También podría gustarte