Tema
- Lógica proposicional
- Tablas de verdad
- Inferencia lógica
Instrucciones
Contexto:
En el contexto de la ciberseguridad organizacional, los sistemas de monitoreo automatizado juegan un papel crucial en la detección temprana de comportamientos anómalos que podrían representar amenazas internas o externas. Estos sistemas deben ser capaces de procesar eventos discretos y emitir alertas basadas en reglas lógicas previamente definidas, buscando un equilibrio entre sensibilidad (detectar lo relevante) y especificidad (evitar falsas alarmas). En este reto, aplicarás los fundamentos de la lógica proposicional para diseñar y evaluar condiciones de alerta que respondan a escenarios reales de seguridad digital.
Pregunta esencial:
¿Cómo diseñar condiciones lógicas robustas que equilibren la detección efectiva de amenazas con la minimización de falsas alertas en una red organizacional?
Objetivo:
Modelar condiciones de alerta en una red organizacional utilizando lógica proposicional, construyendo fórmulas lógicas e interpretando su validez mediante tablas de verdad.
Indicaciones:
- Planteamiento del escenario:
- Imagina que formas parte del equipo de ciberseguridad de una organización.
- Tienes acceso al sistema de monitoreo de eventos digitales. Ya están definidos dos eventos:
- p: “El usuario accede fuera del horario laboral”.
- q: “El usuario modifica permisos de otro usuario”.
- Tu primer trabajo es formular 4 eventos adicionales que consideres importantes para la seguridad digital de la organización. Deben ser proposiciones bien definidas y monitoreables.
- El objetivo de monitorear estos eventos es emitir alertas:
- r: “El sistema emite una alerta”.
- Construcción de fórmulas lógicas:
- Crea al menos cinco reglas compuestas distintas que representen situaciones de riesgo (alertas).
- Ejemplo: Si un usuario accede fuera del horario laboral y modifica permisos, entonces el sistema emite una alerta.
- Todas las reglas deben involucrar al menos dos eventos.
- Al menos una regla debe involucrar 3 eventos.
- Se debe implementar conjunciones, disyunciones, negaciones, implicaciones y doble implicaciones; todas al menos en una ocasión.
- Escribe las reglas como fórmulas proposicionales, por ejemplo:
- (p ∧ q) → r
- Traducción de fórmulas a funciones en Python:
- Implementa cada fórmula como una función en Python.
- Las funciones deben tener nombres como regla_01, regla_02, etc.
- Las funciones deben recibir como parámetros las proposiciones involucradas.
- Ejemplo:
- def regla_01(p, q): return (p and q)
- Tablas de verdad:
- Construye la tabla de verdad completa para cada fórmula.
- Puedes usar la librería truth-table-generator de Python.
- Identifica los casos en que la fórmula es verdadera o falsa.
- Marca claramente cuándo se activa una alerta.
- Análisis lógico:
- Clasifica cada fórmula como tautología, contradicción o contingencia, justificando tu respuesta.
- Identifica y resalta los casos en que se activa una alerta.
- Analiza la efectividad de la fórmula como mecanismo de vigilancia:
- ¿Genera demasiadas alertas?
- ¿Es demasiado permisiva?
- ¿Tiene sentido en el contexto de seguridad digital?
- Producto por entregar:
- Un único archivo IPYNB (Jupyter Notebook) que contenga:
- Introducción (objetivos, contexto, lista de eventos).
- Formulación de reglas.
- Funciones en Python (con ejemplos de ejecución).
- Tablas de verdad.
- Análisis lógico.
- Conclusiones.
- El notebook debe estar correctamente estructurado, comentado y ejecutarse sin errores.
- Video explicativo de máximo 5 minutos que presente cada sección del archivo IPYNB, junto con explicaciones.
- Un único archivo IPYNB (Jupyter Notebook) que contenga: