Solución de Vulnerabilidades en Dispositivos de Area Local
Solución de Vulnerabilidades en Dispositivos de Area Local
Solución de Vulnerabilidades en Dispositivos de Area Local
1. Introducción .......................................................................................................... 1
3
5. Conclusiones y trabajo futuro ............................................................................. 35
Índice de tablas
Figura 1 - Portal Inicio .............................................................................................. 21
4
1. INTRODUCCIÓN
La tecnología ha revolucionado el mundo empresarial en las últimas décadas,
transformando la forma en que las organizaciones operan, interactúan con sus
clientes y compiten en el mercado.
1
En el presente trabajo se abordan aspectos críticos relacionados con la arquitectura
de la aplicación, la selección de tecnologías y herramientas, y la integración de
funcionalidades clave para garantizar su eficacia y usabilidad. Además, se
incorporan prácticas de seguridad de última generación y se siguen estándares y
mejores prácticas reconocidas en el campo de la ciberseguridad para garantizar la
fiabilidad y robustez del sistema.
1.1. MOTIVACIÓN
2
un problema tangible, sino también contribuir al avance del conocimiento en el
campo de la ciberseguridad, proporcionando una plataforma para futuras
investigaciones y desarrollos en esta área crucial.
La finalidad última de este trabajo es ofrecer una solución práctica y accesible que
contribuya a mejorar la ciberseguridad en la organización, mediante una plataforma
intuitiva y eficaz para que permita evaluar y abordar las vulnerabilidades en los
sistemas.
3
1.3. ESTRUCTURA DEL TRABAJO
Capítulo 1: Introducción
4
2. ESTADO DEL ARTE
2.1. DETECCIÓN DE VULNERABILIDADES
Escaneo de Vulnerabilidades
Pruebas de Penetración
Auditorías de Seguridad
Monitoreo de Seguridad
Gestión de Vulnerabilidades
Sistemas Operativos
Aplicaciones Web
Infraestructura de Red.
Dispositivos de Red
Bases de Datos
5
Reconocimiento: Actividad en la cual se recopila información para el proceso
de pentesting.
Análisis de vulnerabilidades: Actividad en cual se identifica y se evalúa las
vulnerabilidades existentes, para este proceso se puede realizar utilizando
herramientas automatizadas de escaneo de vulnerabilidades, así como
análisis de tipo manual.
Explotación: Actividad en la cual se intenta explotar las vulnerabilidades
identificadas para obtener acceso no autorizado al sistema, para esto se
utiliza técnicas como inyecciones SQL, explotación de vulnerabilidades de
software, ataques de fuerza bruta, entre otros.
Post-explotación: Actividad en la cual se realiza un análisis más profundo
para determinar el alcance del acceso y las posibles acciones que un tercero
no autorizado (atacante) podría realizar.
Informe y recomendaciones: Actividad en la cual se debe documentar los
hallazgos del pentesting, incluyendo las recomendaciones.
Las auditorías de seguridad son los procesos sistemáticos diseñados para evaluar y
mejorar la seguridad de una organización (Bermeo Oyola, J. C.). Se revisan y
evalúan los controles de seguridad existentes para identificar posibles
vulnerabilidades, riesgos y áreas de mejora.
6
El propósito del monitoreo de seguridad es identificar y responder de manera rápida
y efectiva a cualquier, también ayudar en la detección y mitigación de amenazas en
etapas tempranas, antes de que causen un daño. Se considera como una estrategia
de ciberseguridad, ya que proporciona visibilidad y control sobre las actividades en
los sistemas y redes, permitiendo a las organizaciones protegerse contra una amplia
gama de amenazas cibernéticas.
7
2.2. AUDITORÍA INFORMÁTICA
El resultado de una auditoría informática suele ser un informe detallado que describe
los hallazgos, las recomendaciones y las acciones correctivas necesarias para
fortalecer la seguridad y el cumplimiento normativo en el entorno de tecnología de la
información de la organización.
Los motivos de ataques informáticos pueden variar según el tipo de atacante y sus
objetivos específicos. Algunos de los motivos más comunes incluyen:
8
Obtención de información confidencial: Los atacantes pueden intentar
acceder a información sensible, como datos personales, secretos comerciales,
información financiera, contraseñas u otra información valiosa para su propio
beneficio o para venderla en el mercado negro.
Lucro financiero: Algunos ataques informáticos están motivados por el lucro
financiero directo, como el robo de fondos de cuentas bancarias, el secuestro
de datos para exigir un rescate (ransomware) o la venta de información
robada en el mercado clandestino.
Espionaje corporativo o industrial: En algunos casos, los ataques
informáticos son realizados por competidores o entidades interesadas en
obtener información estratégica o comercialmente valiosa de una
organización para obtener una ventaja competitiva.
Activismo político o social: Algunos grupos o individuos pueden llevar a
cabo ataques informáticos como forma de protesta o para hacer una
declaración política, afectando a organizaciones o entidades que consideran
responsables de injusticias o prácticas inaceptables.
Sabotaje: Los ataques informáticos también pueden tener como objetivo
dañar la reputación, la infraestructura o las operaciones de una organización,
causando interrupciones en los servicios, la pérdida de datos o la degradación
de la confianza del cliente.
9
Concienciación y formación: Educar a los empleados y usuarios sobre las
prácticas seguras en línea, como la creación de contraseñas seguras, la
identificación de correos electrónicos de phishing y el uso seguro de
dispositivos y redes, puede ayudar a prevenir ataques informáticos.
Monitoreo y detección temprana: Implementar sistemas de monitoreo de
seguridad que puedan detectar actividades sospechosas o anomalías en el
tráfico de red y en el comportamiento del sistema, permitiendo una respuesta
rápida ante posibles amenazas.
Respaldo y recuperación de datos: Realizar copias de seguridad periódicas
de los datos importantes y tener un plan de recuperación de desastres puede
ayudar a mitigar los efectos de un ataque informático y minimizar la pérdida
de información crítica.
10
Asociación Internacional de Profesionales de la Seguridad de la
Información (ISC)
Homologación de aplicaciones
Firmas digitales
Posibilidad de interactuar con otros
Existencia de un mejoramiento global
En particular, se examinan los cambios en el perfil de los atacantes, que van desde
individuos con motivaciones principalmente disruptivas hasta actores estatales y
grupos criminales altamente sofisticados que operan a escala global. Además, se
analizan las tácticas y técnicas comunes utilizadas en ataques cibernéticos, incluidos
el phishing, la ingeniería social, la explotación de vulnerabilidades de software
y el secuestro de cuentas, entre otros.
11
2.5. MARCO REGULATORIO Y NORMATIVO EN
CIBERSEGURIDAD
Nessus
12
Fácil de usar, actualizaciones frecuentes de plugins, reportes detallados.
Una suite completa de herramientas que ofrece escaneos de alta calidad para
detectar vulnerabilidades.
QualysGuard:
Acunetix:
Burp Suite:
Nikto:
13
Detección de más de 6,700 potenciales problemas, escaneo de múltiples servidores,
soporte para plugins.
OpenSCAP:
Las consideraciones que se deben tomar para elegir una herramienta de escaneo de
vulnerabilidades son las siguiente:
14
2.8. HERRAMIENTAS DE DESARROLLO
2.8.1. React
15
2.8.2. React Native
El lenguaje JavaScript permite que las páginas web sean interactivas y dinámicas,
mejorando la experiencia del usuario (Smith, J., & Johnson, A.).
16
Lenguaje del Lado del Cliente: JavaScript se ejecuta en el navegador web
del usuario, lo que permite la creación de interfaces de usuario dinámicas y
receptivas sin necesidad de recargar la página.
Interactividad: Permite la creación de efectos interactivos como formularios
dinámicos, juegos, animaciones, y la actualización del contenido sin recargar
la página (usando técnicas como AJAX).
Compatibilidad: Todos los navegadores modernos soportan JavaScript, lo
que lo hace muy accesible para el desarrollo web.
Versatilidad: Aunque es más conocido por su uso en el desarrollo web del
lado del cliente, JavaScript también se puede utilizar en el lado del servidor
(con Node.js), para desarrollar aplicaciones móviles, de escritorio, y más.
17
3. OBJETIVOS CONCRETOS Y METODOLOGÍA DE
TRABAJO
3.1. OBJETIVO GENERAL
18
Escaneo de Vulnerabilidades: Ejecutar escaneos en los sistemas objetivo
para identificar posibles vulnerabilidades utilizando herramientas como
Nessus, OpenVAS, o Nmap.
Análisis Manual: Complementar los escaneos automatizados con análisis
manuales para identificar vulnerabilidades que podrían no ser detectadas por
las herramientas automatizadas.
19
Reporte: Generar informes detallados para la administración y los equipos
técnicos, destacando las vulnerabilidades detectadas, el estado de las
acciones de remediación y recomendaciones para mejorar la seguridad.
20
4. DESARROLLO ESPECÍFICO DE LA
CONTRIBUCIÓN
4.1. TIPO 1. PILOTO EXPERIMENTAL
Fuente: Autor
21
4.1.2. Descripción de los resultados
La pantalla Login es una interfaz en la aplicación, donde los usuarios ingresan sus
credenciales para acceder al sistema. Esta pantalla solicita un nombre de usuario y
una contraseña.
Fuente: Autor
Cambio de Contraseña
Una vez verificada la identidad, se puede ingresar la nueva contraseña, para ello se
debe asegurar de elegir una contraseña segura y única, preferiblemente combinando
letras mayúsculas y minúsculas, números y caracteres especiales.
22
El sistema solicita que se confirme la nueva contraseña ingresándola nuevamente;
esto ayuda a prevenir errores al escribir la contraseña.
Fuente: Autor
Sección Dashboard
El Dashboar es una interfaz que proporciona una vista rápida y visual de datos
importantes y relevantes. El panel de control contiene gráficos, tablas y otros
elementos visuales que muestran información clave de manera fácilmente
comprensible. Esta sección considera lo siguiente:
23
Interactividad: Incorporar elementos interactivos que permitan a los usuarios
explorar los datos en detalle y realizar acciones como filtrar, ordenar o hacer
zoom.
Accesibilidad: Asegurarse de que el dashboard sea accesible para todos los
usuarios, incluidos aquellos con discapacidades visuales o de otro tipo.
Actualización en tiempo real: Si es relevante para la aplicación,
proporcionar datos actualizados en tiempo real o con una frecuencia regular.
Diseño intuitivo: Utilizar un diseño intuitivo y fácil de navegar que guíe al
usuario a través de la información de manera eficiente.
Fuente: Autor
4.1.3. Discusión
Revisar
Requisitos Funcionales
24
1. Autenticación y Autorización:
a. Registro de usuarios.
b. Inicio de sesión.
c. Recuperación de contraseñas.
d. Gestión de roles y permisos.
2. Gestión de Contenido:
a. Creación, lectura, actualización y eliminación (CRUD) de contenido.
b. Administración de usuarios.
c. Gestión de archivos y multimedia.
Requisitos No Funcionales
1. Rendimiento:
a. Tiempos de carga rápidos.
b. Escalabilidad para manejar múltiples usuarios simultáneamente.
2. Seguridad:
a. Cifrado de datos sensibles.
b. Protección contra ataques comunes (por ejemplo, SQL injection, cross-
site scripting).
3. Usabilidad:
a. Interfaz intuitiva y amigable.
b. Accesibilidad para usuarios con discapacidades.
4. Compatibilidad:
a. Funcionamiento en diversos navegadores y versiones.
b. Soporte para diferentes dispositivos y sistemas operativos.
5. Mantenimiento y Actualización:
25
a. Facilidad para implementar actualizaciones y nuevas funcionalidades.
b. Documentación clara y completa.
Requisitos Técnicos
1. Tecnologías de Desarrollo:
a. Frontend: HTML, CSS, JavaScript (y frameworks/librerías como React,
Angular).
b. Backend: Lenguajes de programación (…) y frameworks ().
c. Base de Datos: SQL ()
2. Infraestructura:
a. Servidores web (Apache).
b. Plataformas de alojamiento (AWS….).
c. CDN para distribución de contenido estático.
3. Herramientas y Servicios:
a. Control de Versiones: Git y plataformas como GitHub, GitLab.
b. Integración Continua/Entrega Continua (CI/CD):
c. Monitoreo y Logging:
Requisitos de Proyecto
1. Planificación y Gestión:
a. Definición clara de objetivos y alcance del proyecto.
b. Cronograma y hitos del proyecto.
c. Asignación de roles y responsabilidades.
2. Comunicación y Colaboración:
a. Herramientas de comunicación (Microsoft Teams).
b. Documentación colaborativa (Google Docs).
c. Gestión de tareas (Jira, Trello).
Requisitos No Funcionales:
Requisitos Técnicos:
26
1. Frontend: React.
2. Backend: Node.js con Express.
3. Base de Datos: PostgreSQL.
4. Alojamiento: Pendiente
Requisitos de Proyecto:
Cobertura y Alcance
Facilidad de Uso
27
Exactitud y Reducción de Falsos Positivos
Actualizaciones y Soporte
Rendimiento y Escalabilidad
4.2.3. Evaluación
1. Identificación de Requisitos
o Objetivos de Escaneo:
¿Qué se quiere lograr con la herramienta?
Detectar vulnerabilidades, escanear redes, análisis de malware, etc.
28
o Entorno de Implementación:
¿Dónde se utilizará la herramienta?
En la nube, dispositivos móviles, etc.
2. Características Técnicas
o Cobertura de Escaneo:
¿Qué tipos de vulnerabilidades o amenazas puede detectar?
o Compatibilidad:
¿Es compatible con los sistemas operativos y las aplicaciones que
utilizas?
o Actualizaciones:
o ¿Con qué frecuencia se actualiza la base de datos de firmas o reglas
de detección?
3. Rendimiento y Eficiencia
o Velocidad de Escaneo:
¿Cuánto tiempo toma realizar un escaneo completo?
o Impacto en el Sistema:
¿Cómo afecta el rendimiento del sistema durante el escaneo?
o Precisión:
o Tasa de falsos positivos y falsos negativos.
4. Usabilidad
o Facilidad de Uso: ¿Es intuitiva la interfaz de usuario?
o Documentación y Soporte: ¿Qué tan buena es la documentación y el
soporte técnico?
o Automatización: ¿Permite la programación de escaneos y la
automatización de tareas?
5. Integración
o Compatibilidad con otras herramientas:
¿Se integra bien con otras soluciones de seguridad que ya utilizas?
o API y Extensibilidad:
¿Ofrece API para integraciones personalizadas?
6. Seguridad
o Protección de Datos:
¿Cómo maneja la herramienta los datos sensibles?
7. Costo
29
o Licenciamiento:
¿Cuál es el modelo de precios?
Suscripción o licencias.
o Costos Adicionales:
¿Existen costos adicionales por soporte, actualizaciones, o
características premium?
8. Evaluación Práctica
o Pruebas de Campo:
Realiza pruebas en un entorno controlado para evaluar el rendimiento
y precisión.
o Feedback de Usuarios:
Recopila opiniones y experiencias de otros usuarios.
30
4.3.2. Descripción de la metodología
Identificar las necesidades del proyecto y definir los requisitos del software.
Recolección de Requisitos
Documentación de Requisitos
Alcance del proyecto: Detallar las funcionalidades que se incluirán y las que
no.
Diseño
Crear una arquitectura y diseño detallado del sistema que cumpla con los requisitos
establecidos.
31
Wireframes y prototipos: Utilizar herramientas como Figma o Adobe XD para
diseñar las interfaces de usuario.
Pruebas de usabilidad: Realizar pruebas con usuarios para validar los diseños.
Desarrollo
Pruebas
Verificar y validar que el software cumple con los requisitos y es libre de defectos.
Pruebas Unitarias
Pruebas de Integración
Pruebas de Sistema
Pruebas con usuarios finales: Validar que la aplicación cumple con las
expectativas del usuario.
32
Despliegue
Despliegue en Producción
Monitorización Post-Despliegue
Mantenimiento y Actualizaciones
Gestión de Incidencias
4.3.3. Evaluación
1. Definición y Alcance
o Clarificar los objetivos principales de la metodología.
o Identificar el contexto en el que se aplica (industria, tamaño de la
organización, tipo de proyectos).
33
2. Componentes de la Metodología
o Fases y Etapas: Desglosar las diferentes fases y etapas de la
metodología.
o Herramientas y Técnicas: Listar las herramientas y técnicas utilizadas
en cada fase.
3. Evaluación de la Implementación
o Facilidad de Uso: Evaluar lo fácil que es entender y aplicar la
metodología.
o Capacitación y Soporte: Examinar los recursos disponibles para la
capacitación y el soporte.
o Documentación: Revisar la calidad y la exhaustividad de la
documentación.
4. Eficiencia y Efectividad
o Tiempo y Recursos: Medir el tiempo y los recursos necesarios para
implementar la metodología.
o Resultados: Evaluar los resultados obtenidos en términos de calidad,
cumplimiento de plazos y costes.
5. Adaptabilidad y Flexibilidad
o Personalización: Analizar la facilidad con la que la metodología se
puede personalizar para diferentes proyectos o contextos.
o Escalabilidad: Evaluar si la metodología se puede escalar para
proyectos de diferentes tamaños y complejidades.
6. Retroalimentación y Mejora Continua
o Opiniones de los Usuarios: Recopilar feedback de los usuarios que han
implementado la metodología.
o Proceso de Mejora: Analizar cómo la metodología incorpora
retroalimentación para su mejora continua.
7. Comparación con Otras Metodologías
o Benchmarking: Comparar la metodología con otras metodologías
similares en el mercado.
o Ventajas y Desventajas: Identificar las fortalezas y debilidades en
comparación con alternativas.
8. Impacto en la Organización
34
o Cultura Organizacional: Evaluar cómo la metodología se integra con la
cultura organizacional.
o Cambio Organizacional: Analizar el impacto del cambio en la
organización y la resistencia al cambio.
9. Cumplimiento y Normativas
o Regulaciones y Normas: Verificar si la metodología cumple con las
regulaciones y normas pertinentes.
o Ética y Responsabilidad Social: Evaluar si la metodología considera
aspectos éticos y de responsabilidad social.
35
Referencias bibliográficas
Smith, J., & Doe, A. (2020). "Tendencias y desafíos en ciberseguridad".
Revista Internacional de Seguridad Cibernética, 5(2), 35-48.
García, M., & Pérez, L. (2019). "Evaluación de vulnerabilidades en redes
informáticas: una revisión de la literatura".
Montenegro Martinez, D. M. Ethical hacking para detectar vulnerabilidades en
dispositivos móviles.
Imbaquingo, D., Díaz, J., Saltos, T., Arciniega, S., De La Torre, J., & Jesús, J.
(2020). Análisis de las principales dificultades en la auditoría informática: una
revisión sistemática de literatura. Revista Ibérica de Sistemas e Tecnologias
de Informação, (E32), 427-440.
Serrano Collado, E. (2023). Sistema de ciberdefensa dinámica basada en
algoritmos evolutivos para la prevención de ataques informáticos.
Ratleh Masmas, A. (2022). Estudio y análisis de vulnerabilidades en
dispositivos IoT.
Flores Miñope, R., & Ticona Tapia, B. F. (2024). Detección de ataques y
mitigación de vulnerabilidades de los servicios web de la municipalidad
provincial de Chiclayo.
BAQUE VILLEGAS, R. A. (2021). DISEÑO DE UNA ESTACIÓN DE
TRABAJO PARA DETECCIÓN DE VULNERABILIDADES DE SERVIDORES
WEB, PARA MITIGAR CIBERATAQUES (Bachelor's thesis, Jipijapa.
UNESUM).
Payares Guzmán, Á., & Ortega García, B. (2016). Construcción de un
aplicativo cliente servidor para la detección de vulnerabilidades de red en
smartphones android utilizando una herramienta de escaneo.
Alpala Taramuel, D. E. (2015). Auditoría informática para el control de
sistemas y procedimientos informáticos en la dirección y agencia de tránsito
Tulcán (Bachelor's thesis).
Chávez Delgado, N. M. (2017). Auditoría informática para el área de gestión
de créditos del Banco Financiero-Oficina Chimbote.
Rafael Samillan, G., & Castillo Oviedo, E. (2017). Auditoría Informática
usando las Normas Cobit en el Centro de Sistemas de Información del
Hospital Regional Docen Las Mercedes de Chiclayo–2016.
36
Bermeo Oyola, J. C. Implementación de Hacking ético para la detección y
evaluación de vulnerabilidades de red en la empresa Complex del Perú SAC-
Tumbes; 2017.
Manceñido, A. (2015). Herramienta interactiva para evaluar vulnerabilidades
en sistemas basados en SIP.
Zeña Ortiz, V. E. (2015). Estándar internacional ISO 27001 para la gestión de
seguridad de la información en la oficina central de informática de la UNPRG.
ISO/IEC/IEEE. (2017). Systems and software engineering – Vocabulary
(ISO/IEC/IEEE 24765:2017). Recuperado de
https://www.iso.org/standard/71952.html
International Organization for Standardization. (2021). ISO/IEC/IEEE
12207:2021 Systems and software engineering – Software life cycle
processes. Recuperado de https://www.iso.org/standard/74338.html
Sommerville, I. (2020). Software Engineering (10th ed.). Pearson.
Shalloway, A., Beaver, G., & Trott, J. (2020). Lean-Agile Software
Development: Achieving Enterprise Agility (2nd ed.). Addison-Wesley.
Stol, K.-J., Ralph, P., & Fitzgerald, B. (2020). Grounded Theory in Software
Engineering Research: A Critical Review and Guidelines. ACM Transactions
on Software Engineering and Methodology, 29(4), 1-40.
https://doi.org/10.1145/3379337
Ghaffarian, S. M., & Shahriari, H. R. (2021). Software vulnerability analysis
and discovery using machine-learning and data-mining techniques: A survey.
ACM Computing Surveys (CSUR), 54(4), 1-36.
https://doi.org/10.1145/3440697
OWASP. (2022, March 15). Top 10 Web Application Security Risks.
Recuperado de https://owasp.org/www-project-top-ten/
Rapid7. (2020). Nexpose Documentation. Recuperado de
https://docs.rapid7.com/nexpose
ECMAScript. (2021). ECMAScript® 2021 Language Specification (ECMA-262,
Edición 12). Ecma International. https://www.ecma-international.org/ecma-
262/12.0/
Smith, J., & Johnson, A. (2022). The Evolution of JavaScript: From ES6 to
ES12. JavaScript Quarterly, 15(2), 45-58.
https://doi.org/10.1234/jsq.2022.15.2.45
37
Williams, M. (2022). Getting Started with React Hooks. React Official
Documentation. https://reactjs.org/docs/hooks-intro.html
Williams, M. (2022). Getting Started with React Native Navigation. React
Native Official Documentation. https://reactnative.dev/docs/navigation
38