ACTIVIDAD I - ASPECTOS GENERALES DEL DESAROLLO DE SOFTWARE SEGURO

 Conceptos Generales de Seguridad Informática y Ciberseguridad

  • Autenticación: Proceso que verifica la identidad de los usuarios.
  • Confidencialidad: Garantiza que la información solo sea accesible a quienes están autorizados.
  • Integridad: Asegura que la información no ha sido alterada sin autorización.
  • Disponibilidad: Mantiene el acceso a los datos y sistemas siempre que se necesite.
  • Control de Acceso: Herramientas y políticas que limitan el acceso a información y sistemas.
  • Malware: Software malicioso diseñado para dañar o infiltrarse en sistemas.
  • Phishing: Técnica de engaño para obtener información confidencial.
  • Firewall: Barrera de protección que regula el tráfico de red entre entornos.
  • Criptografía: Método de encriptación para proteger la información.
  • Auditoría de Seguridad: Evaluación periódica para identificar vulnerabilidades.


Bases Teóricas del Desarrollo de Software Seguro



  • Principio de Privacidad por Diseño: La privacidad se considera desde la fase de diseño.
  • Principio de Mínimo Privilegio: Los usuarios solo deben tener permisos necesarios para su función.
  • Modelos de Control de Acceso: Definen y controlan quién accede a qué datos.
  • Gestión de Vulnerabilidades: Identificación y mitigación de posibles fallos de seguridad.
  • Pruebas de Penetración: Evaluación simulada para verificar la seguridad de un sistema.

Análisis de Amenazas, Riesgos y Vulnerabilidades Comunes

  • Amenazas: Ataques de malware, explotación de vulnerabilidades, y phishing.
Situaciones que pueden comprometer la seguridad de un sistema, como ataques de malware, suplantación de identidad (phishing), y acceso no autorizado. Estas amenazas representan intentos directos de explotar vulnerabilidades y afectar la confidencialidad, integridad o disponibilidad de los datos.
  • Riesgos: Pérdida de datos, acceso no autorizado, robo de información financiera.
La probabilidad de que una amenaza aproveche una vulnerabilidad y cause un impacto negativo. Ejemplos de riesgos incluyen pérdida de datos, robo de información financiera y daño reputacional.

  • Vulnerabilidades: Errores de programación, configuraciones débiles, falta de actualizaciones.
Puntos débiles dentro de un sistema, como errores en el código, configuraciones incorrectas, y falta de actualizaciones. Estas debilidades facilitan que las amenazas aprovechen el sistema para fines malintencionados.



Ejemplos Reales de Vulneración

  • Caso Equifax (2017): Filtración de datos financieros de millones de personas.
Una de las mayores brechas de datos de la historia, donde una vulnerabilidad sin parches en un software permitió el robo de información personal y financiera de aproximadamente 147 millones de personas. Esta vulneración subrayó la importancia de mantener actualizados los sistemas y aplicar parches de seguridad de forma oportuna.
  • Ataque a Yahoo (2013-2014): Pérdida de información de usuarios debido a un acceso no autorizado.
Un ataque masivo afectó a todos los 3 mil millones de cuentas de usuarios de Yahoo, exponiendo nombres, direcciones de correo, números de teléfono y fechas de nacimiento. Este caso mostró los efectos devastadores de no fortalecer la seguridad en sistemas con gran volumen de datos sensibles.
  • Heartbleed (2014): Vulnerabilidad en OpenSSL que afectó a millones de servidores.
Una vulnerabilidad en el software de cifrado OpenSSL permitió que los atacantes accedieran a fragmentos de la memoria de los servidores afectados, exponiendo datos sensibles como contraseñas y claves de encriptación. Esta vulnerabilidad resaltó la importancia de la seguridad en herramientas de código abierto ampliamente utilizadas.

Reflexión

La seguridad en el desarrollo de software es fundamental para proteger la privacidad del usuario y prevenir daños reputacionales y financieros para las organizaciones. La pérdida de datos no solo vulnera a la empresa, sino que afecta directamente a las personas.





Comentarios