Introducción al curso

1

Diseño y Documentación de Arquitectura de Software

Atributos de calidad

2

Atributos de Calidad en Sistemas: Definición y Medición

3

Idoneidad Funcional: Completitud, Exactitud y Pertinencia

4

Eficiencia de Ejecución en Sistemas Informáticos

5

Compatibilidad en Sistemas: Interoperabilidad y Coexistencia

6

Subcaracterísticas de Usabilidad en Desarrollo de Software

7

Confiabilidad de Sistemas: Madurez, Disponibilidad, Resiliencia y Recuperación

8

Seguridad de Usuarios en Desarrollo de Software

9

Subcaracterísticas de Mantenibilidad en Sistemas de Software

10

Medición de Adaptabilidad en Sistemas de Software

11

Relación y Tensión entre Atributos de Calidad en Sistemas de Software

12

Atributos de Calidad en Arquitectura de Software

Patrones de arquitectura

13

Patrones de Arquitectura Monolítica y Distribuida

14

Modelo Vista Controlador: Separación de Responsabilidades en Aplicaciones

15

Arquitectura de Capas: Diseño y Comunicación entre Niveles

16

Patrones de Arquitectura Orientada a Eventos y Event Sourcing

17

Patrón de Arquitectura MicroKernel y su Implementación en IDEs

18

Arquitectura "Comparte Nada": Optimización y Procesamiento de Datos

19

Patrón de Microservicios en Arquitectura de Software

20

Patrón CQRS para Separación de Consultas y Comandos

21

Arquitectura Hexagonal: Diseño y Aplicación Práctica

22

Diseño Orientado al Dominio: Conceptos y Aplicaciones Prácticas

23

Patrones de Arquitectura para Aplicaciones Escalables y Modulares

24

Patrones de Arquitectura en Proyectos de Crecimiento Empresarial

Diseño de una arquitectura

25

Diseño de Arquitecturas a Medida: Herramientas y Estrategias

26

Tipos de Conectores en Arquitectura de Software

27

Conectores Asíncronos y Sincrónicos: Implementación y Uso Práctico

28

Diferencias entre Enrutadores y Difusores en Comunicación de Mensajes

29

Conexión de Productores y Consumidores con Colas de Mensajes

30

Framework de Diseño Orientado a Atributos: Escenarios y Tácticas

31

Tácticas para Mejorar la Disponibilidad de Sistemas

32

Tácticas para Mejorar la Disponibilidad del Sistema

33

Tácticas para Mejorar la Mantenibilidad del Software

34

Prevención de Efectos Dominó en Mantenibilidad de Software

35

Estrategias para Mejorar la Eficiencia de Ejecución en Sistemas

36

Tácticas de Seguridad Informática para Detectar, Resistir y Recuperarse de Ataques

37

Estrategias para Mejorar la Capacidad de Prueba de Software

38

Tácticas de Usabilidad en Diseño de Interfaces de Usuario

39

Validación de Arquitectura con ATAM y Métricas de Calidad

40

Diseño de Arquitectura para Startups y Empresas Escalables

Modelado y documentación de arquitectura

41

Documentación Efectiva de Arquitectura de Software

42

Sincronización de Modelos de Arquitectura y Código Fuente

43

Evaluación de Atributos de Calidad en Arquitectura de Software

Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Seguridad de Usuarios en Desarrollo de Software

8/43
Recursos

¿Cómo se garantiza la seguridad de los usuarios en un sistema?

En la era digital actual, la seguridad de la información se ha convertido en un aspecto primordial del desarrollo de software. La capacidad de proteger los datos de los usuarios no solo subraya el compromiso de una aplicación con la privacidad, sino que también asegura un servicio cimentado en la confianza. Esto implica un enfoque holístico hacia la seguridad, abarcando diferentes atributos de calidad como la confidencialidad, integridad, autenticidad y traza de responsabilidad.

¿Qué es la confidencialidad y por qué es importante?

La confidencialidad en software se refiere a la habilidad del sistema para restringir el acceso a la información a usuarios no autorizados. En otras palabras, garantiza que solo las personas indicadas puedan ver o modificar datos específicos.

  • Redes sociales: Deben garantizar que el contenido generado por los usuarios sea accesible únicamente para aquellos a quienes se ha permitido verlo.
  • Aplicaciones empresariales: Necesitan proteger la información sensible de la empresa de competidores y personal no autorizado.

¿Cómo se asegura la integridad de los datos?

La integridad implica que los datos almacenados en un sistema no puedan ser alterados sin autorización. Esta característica es crucial para sectores donde la precisión de la información es crítica.

  • Sistemas médicos: Toda modificación en el historial clínico de un paciente debe ser registrada y accesible solo a personal autorizado.
  • Bancos: El acceso a la información de cuentas bancarias debe ser restringido, evitando accesos no autorizados que puedan llevar a fraudes.

¿Cuál es el papel de la autenticidad en la seguridad?

La autenticidad se encarga de la verificación de la identidad del usuario, asegurando que quien accede al sistema es quien realmente dice ser.

  • Métodos comunes:
    • Contraseña y correo electrónico: Base tradicional de verificación.
    • Autenticación de dos factores: Aumenta la seguridad al requerir un componente adicional que el usuario tiene.
    • Datos biométricos: Huellas digitales, reconocimiento facial para validar la identidad.

¿Por qué es crucial la traza de responsabilidad?

La traza de responsabilidad relaciona cada acción dentro del sistema con el usuario o entidad que la realizó. Esto es fundamental para auditar acciones y garantizar las responsabilidades de cada usuario.

  • Logs de auditoría: Registros detallados de eventos que ayudan a verificar qué sucedió y quién realizó cada acción.

¿Cómo se logra la comprobación de hechos?

En el ámbito legal, asegurar que las acciones realizadas en un sistema fueron efectivas y rastreables es crucial. Esto se puede lograr mediante:

  • Firmas digitales: Validan que una acción fue realizada de manera segura y auténtica.
  • Logs de auditoría: Documentan todos los eventos del sistema, proporcionado trazabilidad y verificación.

¿Qué son las pruebas de penetración?

Las pruebas de penetración, o "Penetration Testing", son vitales para evaluar y garantizar la seguridad de un sistema. Consisten en simular ataques controlados para identificar vulnerabilidades y comprobar la eficacia de las métricas de seguridad.

  • Objetivos: Descubrir y mitigar fallas de seguridad antes de que puedan ser explotadas en escenarios reales.

Recomendaciones para fortalecer la seguridad

  • Implementar autenticación multifactor: Añadir capas adicionales de seguridad para la verificación de usuarios.
  • Monitorear y actualizar constantes: Asegurar que todas las aplicaciones y sistemas estén operativos con las últimas actualizaciones de seguridad.
  • Capacitación continua: Educar a los usuarios y desarrolladores sobre las prácticas seguras y las amenazas emergentes.

La seguridad de la información es un viaje continuo, no un destino final. Al integrar estos conceptos de seguridad, podemos asegurar que nuestras aplicaciones no solo cumplan con los estándares actuales, sino que también estén preparadas para los futuros desafíos en el ámbito digital. ¡Sigue adelante y refuerza cada vez más la seguridad de tus desarrollos!

Aportes 32

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Seguridad.
El sistema debe: Proteger la información del usuario, identificar a sus usuarios y permitirles el acceso solo a su información.

  • Confidencialidad -> Como el sistema autoriza a cada usuario a acceder a ciertas partes de información
  • Integridad -> Las acciones que toma el sistema para proteger la información de atacantes o de usuarios sin acceso a ella.
  • Comprobación de Hechos -> Territorio legal, se basa en como compruebas que un hecho/acción realmente paso.
  • Traza de responsabilidad -> Como se debe conectar cada acción que se dio en el sistema con el usuario.
  • Autenticidad -> Como el sistema logra identificar al usuario

Atributo: Seguridad

Cuanto el sistema puede proteger, saber identificar y conectar a sus usuarios. y al conectar usuarios con información.


  • Confidencialidad: El sistema debe saber, quienes tienen permiso a que información.

  • Integridad: Cuanto el sistema toma recaudo para proteger esa información de atacantes o usuarios que no deberían tener acceso a ella.

  • Comprobación de Hechos: hablamos de territorio legal, de como hacer para que el sistema garantice de que algo paso.

  • Traza de Responsabilidad: Esta conectada a la comprobación de hechos, pero esta mas dada a como se conecta una acción del sistema con su responsable. Sea este el usuario o el sistema mismo.

  • Autenticidad: Verifica que el usuario que esta tratando de ingresar al sistema o realizar una acción, sea quien dice que ser.

Atributo de calidad seguridad
¿Cuánto el sistema protege al usuario? ¿Sabe identificar al usuario?; ¿Sabe conectar la información correcta que le debe mostrar?

Hay 5 sub categorías:

  • Confidencialidad: cómo conecta al usuario con lo que puedo o no puede acceder.

  • Integridad: los recaudos que el sistema toma para evitar filtros de información por usuarios mal intencionados.

  • Comprobación de hechos: ¿Cómo hacer para garantizar qué algo realmente pasó?

  • Traza de responsabilidad: Muy conecatada con la comprobación de hechos pero hace más referencia a las acciones puntuales del usuario.Tracker cada acción y asociarla a un responsable (usuario) .

  • Autenticidad: ¿Cómo el sistema logra identificar al usuario?

**Atributo Seguridad: **
Cuanto el sistema protege la información de sus usuarios, cuanto el sistema sabe identificar a los usuarios y cuanto el sistema puede conectar a cada usuario con la información a la que puede o no puede acceder.

  • Confidencialidad: trata de como el sistema conecta al usuario con lo que puede o no puede acceder, como autoriza a acceder a ciertas partes de información. ejm: redes sociales.

  • Integridad: Cuanto el sistema toma recaudos para proteger esa información de usuario o atacantes que no deberían tener acceso a esa información. Ejm sistemas médicos y bancarios.

  • Comprobación de hechos: es territorio legal y se basa en como hace el sistema para garantizar que algo realmente paso. Ejm firmas digitales o logs de auditorias.

  • Traza de responsabilidad: como podemos conectar una acción con la entidad del usuario o el sistema que lo realizo. Es decir conectar cada acción con su responsable. Ejmp. logs de auditoria con visibilidad de responsables.

  • Autenticidad: Como el sistema logra identificar al usuario. Ejm aplicaciones web con autenticacion, autenticacion en dos factores etc.

La técnica mas importante para medir la seguridad y para garantizarla es la de Penetration Testing.

Apuntes:

Seguridad

Cuánto el sistema protege la información de sus usuarios, sabe identificar a sus usuarios y cuánto el sistema puede conectar a cada usuario con qué información puede o no puede acceder.

Confidencialidad. Trata de cómo el sistema conecta a un usuario con lo que puede o no puede acceder, es decir, cómo el sistema autoriza a cada usuario acceder a cierta parte de la información.

Integridad. Cuánto el sistema toma recaudos para proteger la información de atacantes o de usuarios que no deberían de acceder a ella.

Comprobación de hechos. Cómo hacer para garantizar que algo realmente pasó. Cómo hacer para conectar el estado actual del sistema con el hecho de que cada una de las cosas que pasaron, cada acción que un usuario tomó llegó a ese estado.

Traza de responsabilidades. Habla de cómo podemos conectar cada acción que sucedió en el sistema con la entidad, el usuario o el sistema mismo que lo hizo. Cómo podemos conectar la acción con el responsable.

Autenticidad. Habla de cómo el sistema logra identificar al usuario, qué pasos toma para saber que la persona que está intentando usar el sistema es quién dice que es.

Sin comentar esto… las clases son muy teoricas jajajaja pero se entiende. Aqui el utimo comentario fue hace tres meses. Eso indica que no todo el mundo lo termina.

se me dificulata diferenciar entre confidencialidad e integridad, ambas tienen como objetivos la seguridad de la informacion de usuario no autorizados. Cual es la diferencia?

Para medir la seguridad se utiliza “Penetration Testing” Sistema para métricas convencionales que son muy difíciles de llevar y consiste en ataques reales de manera artificial y controlado.

Cuándo el profesor explica Integridad, me parece que se confundió, pues lo que menciona va más hacia confidencialidad, sobre todo en su ejemplo de información médica. La integridad más bien se refiere a la capacidad que tendrá el sistema de garantizar que los datos no han sido modificados desde su creación sin autorización. Por ejemplo, cuando decimos que un mensaje se conservó integro (no modificado) y que puede detectarse que fue modificado.

En el contexto de la arquitectura de software, la seguridad mide cómo el sistema protege la información del usuario. Esto incluye: * **Confidencialidad**: Garantiza que solo usuarios autorizados accedan a cierta información. * **Integridad**: Protege los datos de modificaciones por atacantes o usuarios sin permiso. * **No repudio**: Asegura que las acciones puedan verificarse legalmente (en lugar de 'comprobación de hechos'). * **Trazabilidad**: Conecta cada acción en el sistema con el usuario responsable. * **Autenticación**: Verifica la identidad de los usuarios para garantizar acceso legítimo.
La comprobación de hechos y la traza de responsabilidad son conceptos relacionados pero distintos en la seguridad del software. - **Comprobación de hechos** se refiere a la verificación de que una acción realmente ocurrió, a menudo utilizando herramientas como registros de auditoría y firmas digitales para validar eventos. - **Traza de responsabilidad** se centra en identificar quién realizó una acción en el sistema, conectando a un usuario específico con sus interacciones, utilizando registros que documentan esas acciones. Ambos son esenciales para garantizar la integridad y seguridad de los sistemas, pero cumplen roles diferentes.

Seguridad

Hablamos de que tanto el sistema protege la información del usuario, lo autentifica, y le gestiona los accesos.

  • Confidencialidad: Como el sistema relaciona a cada usuario con lo que puede o no puede acceder.

  • Integridad: Que tan seguro es el sistema.

  • Comprobación de hechos: Como el sistema puede demostrar de manera veraz cada acción o decisión del usuario.

  • Traza de responsabilidad: Relacionar cada acción realizada en el sistema el usuario que la ejecuto.

  • Autenticidad: Como el sistema identifica al usuario o como comprueba que el usuario es quien dice ser.

Genial esta clase. Muy buen capítulo!

Seguridad–> Cuánto se protege el sistema ante algún ataque o vulnerabilidad de accesos. Se divide en las siguientes características:
-Confidencialidad: Cómo se autoriza a un usuario para ingresar a cualquier sección del aplicativo.
-Integridad: Si hay un atacante del sistema, cómo dejo registro de ese ataque.
-Comprobación de hechos: Tener un paso a paso de qué fue lo que sucedió, como por ejemplo, logs de auditoría.
-Traza de responsabilidad: De esa comprobación de hechos, quién fue el responsable y qué acción realizó.
-Autenticidad: Qué pasos debo hacer para ingresar al sistema y verificar la identidad del usuario.

que asco videitos de 4 minutos

Seguridad
Cuanto el sistema protege la información del sistema, usuario y a que información puede acceder o no
Para medir la seguridad podemos hacerlo por penetration testing
Confidencialidad
Trata sobre cómo el sistema conecta a un usuario con lo que puede y no puede acceder
Ejemplo: Redes sociales crear contenido que solo lo vean quien tú desees
Integridad
Cuanto el sistema toma recaudos para proteger esa información de atacantes que no deberían tener acceso a cierta información
Ejemplo: sistemas médicos o bancarios, a los cuales se puede llegar a tener acceso a información sensible de las personas
Comprobación de hechos
Grado en que se puede demostrar que las acciones o eventos tuvieron lugar
Ejemplo: Firmas digitales, logs de auditoría
Traza de responsabilidad
Habla cómo conectar las acciones con sus responsables
Autenticidad
Cómo el sistema logra identificar a su usuario y es quien dice que es
Ejemplo: En aplicaciones web cuando mejoramos la seguridad en el caso de un correo electrónico un segundo método de autenticación, en aplicaciones móviles haciendo uso de los propios del móvil

⭐️⭐️⭐️⭐️⭐️

Seguridad:
Es grado en que un producto o sistema protege la información y los datos para que las personas u otros productos o sistemas tengan el grado de acceso a los datos apropiado para sus tipos y niveles de autorización. Esta característica se compone de las siguientes subcaracterísticas:

• Confidencialidad, Grado en el cual un producto o sistema asegura que los datos solo sean accesibles para aquellos autorizados a tener acceso.

• Integridad, Grado en el que un sistema, producto o componente impide el acceso no autorizado o la modificación de programas o datos de computadora.

• Comprobación de hecho, Grado en que se puede demostrar que las acciones o eventos tuvieron lugar, para que los eventos o acciones no puedan ser repudiados más tarde.

• Traza de responsabilidad, Grado en el que las acciones de una entidad se pueden rastrear de manera única a la entidad.

• Autenticidad, Grado en el cual se puede probar que la identidad de un sujeto o recurso es la reclamada.

Integridad me suena mas como que la informacion que ya existe, no sea modificada por alguien mas.

El que un usuario se le impida acceso a un documento que no le pertenece, me suena mas a confidencialidad

siento que falto la disponibilidad, se que en la clase anterior se habla de ello pero en seguridad sería mas orientada a evitar que factores externos bloqueen acceso a la aplicación

Seguridad: Confidencialidad: como el sistema conecta a un usuario a cierta información. Integridad : tomar la información pertinente. Comprobación de hechos (conectar los hechos de los usuarios responsables en cada acción ej. firma digital). Traza de responsabilidad( ej. las auditorias. Autenticidad (canales de seguridad para garantizar que el usuario sea el correcto).

El atributo de seguridad habla de que tan bien se protege la información por parte del sistema. Es decir identificar a los usuarios y brindarle la información al usuario para la cual tiene autorización. La técnica más importante para medir la seguridad es penetration testing que es toda un área ****de testing que simula ataques simulados y controlados a un sistema para garantizar que las métricas de seguridad estén alineadas con lo esperado.

  1. Confidencialidad: Indica cómo el sistema conecta a un usuario con la información a la cual tiene acceso (autorización).
  2. Integridad: Las medidas que toma el sistema para proteger la información de atacantes o usuarios que no deberían tener acceso a ella.
  3. Comprobación de hechos: Se relaciona con garantizar que algo pasó en realidad (terreno legal). Tener en cuenta la trazabilidad para definir cómo las decisiones de un usuario lo llevaron a un estado específico.
  4. Traza de responsabilidad: Ésta está muy conectada con el punto anterior pero relaciona los usuarios con las acciones que tomaron.
  5. Autenticidad: Habla de cómo el sistema logra identificar al usuario (autenticación).

Se me dificulta diferenciar entre confidencialidad e integridad, ambas tienen como objetivos la proteger la informacion de usuarios no autorizados. Cual es la diferencia?

El tema de la confidencialidad, y el ejemplo que plantea el profe, tan cuestionado en la actualidad en redes sociales como Facebook y que deja al descubierto como se usa la información de los usuarios para manipularlos.

Interesante la técnica para probar estos atributos

Atributos: Seguridad

  • Confidencialidad: trata de como el sistema autoriza al usuario

  • traza de seguridad: habla de como podemos conectar cada acción

  • Integridad: cuanto el sistema toma proteger la información de atacantes

  • Comprobación: como hacer para garantizar que algo realmente paso

  • Autenticidad: habla como el sistema logra identificar al usuario

Integridad: La seguridad o confianza del sistema para mantener la informacion original e intecta ante errores del sistema o acciones de terceros.

Confidencialidad: Como conecta el sistema al usuario con información pertinente?
Integridad: Qué precauciones toma el sistema para proteger la información.
Comprobación de hechos: Como garantizar que algo paso?
Tasa de responsabilidad: Como conectar acciones con usuarios?
Autenticidad: Como se puede verificar que una persona es quien dice ser?

Características de seguridad en la arquitectura

Firmas digitales : La firma digital es el tipo de firma electrónica más avanzado y seguro, que te permite cumplir con los requisitos legales y normativos más exigentes al ofrecerte los más altos niveles de seguridad sobre la identidad de cada firmante y la autenticidad de los documentos que firman.