Skip to main content
QMSQMS
QMS
  • Welcome to your QMS
  • Quality Manual
  • Procedures
    • GP-001 Control of documents
    • GP-002 Quality planning
    • GP-003 Audits
    • GP-004 Vigilance system
    • GP-005 Human Resources and Training
    • GP-006 Non-conformity, Corrective and Preventive actions
    • GP-007 Post-market surveillance
    • GP-008 Product requirements
    • GP-009 Sales
    • GP-010 Purchases and suppliers evaluation
    • GP-011 Provision of service
    • GP-012 Design, redesign and development
    • GP-013 Risk management
    • GP-014 Feedback and complaints
    • GP-015 Clinical evaluation
    • GP-016 Traceability and identification
    • GP-017 Technical assistance service
    • GP-018 Infrastructure and facilities
    • GP-019 Software validation plan
    • GP-020 QMS Data analysis
    • GP-021 Communications
    • GP-022 Document translation
    • GP-023 Change control management
    • GP-024 Predetermined Change Control Plan
    • GP-025 Usability and Human Factors Engineering
    • GP-027 Corporate Governance
    • GP-028 AI Development
    • GP-029 Software Delivery And Comissioning
    • GP-050 Data Protection
    • GP-051 Security violations
    • GP-052 Data Privacy Impact Assessment (DPIA)
    • GP-100 Business Continuity (BCP) and Disaster Recovery plans (DRP)
    • GP-101 Information security
    • GP-200 Remote Data Acquisition in Clinical Investigations
    • GP-026 Market-specific product requirements
    • GP-110 Esquema Nacional de Seguridad
      • ORG Marco organizativo
      • OP Marco operacional
        • OP.PL Planificación
        • OP.ACC Control de acceso
        • OP.EXP Explotación
        • OP.EXT Servicios externos
        • OP.NUB Servicios en la nube
        • OP.CONT Continuidad del servicio
        • OP.MON Monitorización del sistema
          • OP.MON.1 Detección de intrusión
          • OP.MON.2 Sistema de métricas
          • OP.MON.3 Dashboard de KPIs y Métricas ENS
      • MP Medidas de protección
      • Sin asignar
      • Real Decreto 311/2022, de 3 de mayo, por el que se regula el Esquema Nacional de Seguridad.
  • Records
  • Legit.Health Plus Version 1.1.0.0
  • Legit.Health Plus Version 1.1.0.1
  • Licenses and accreditations
  • Applicable Standards and Regulations
  • Public tenders
  • Procedures
  • GP-110 Esquema Nacional de Seguridad
  • OP Marco operacional
  • OP.MON Monitorización del sistema
  • OP.MON.1 Detección de intrusión

OP.MON.1 Detección de intrusión

☑️Aplicación de la medida

De acuerdo al ANEXO II, 2 Selección de medidas de seguridad, la medida de seguridad OP.MON.1 Detección de intrusión sí aplica dada la categoría de seguridad del sistema.

Documentos de referencia​

  • ISO/IEC 27000:
    • 27002:2013:
      • 12.6.1 - Management of network security vulnerabilities
      • 16.1.1 - Responsibilities and procedures
      • 16.1.2 - Reporting information security events
  • NIST SP 800-53 rev4:
    • [SI-4] Information System Monitoring
    • [IR-4] Incident Handling
    • [AU-6] Audit Review, Analysis, and Reporting
  • Otras referencias:
    • NIST Cybersecurity Framework
    • FDA Cybersecurity in Medical Devices: Quality System Considerations
    • NIS2 Directive - Technical and organizational measures

Guía de implantación​

  1. Se desplegarán medios técnicos y organizativos que permitan la detección de una posible intrusión en el dominio gestionado.

Incluirán al menos:

  • Herramientas de monitorización de eventos de seguridad
  • Procedimientos de análisis de eventos de seguridad
  • Procedimientos de gestión de incidentes de intrusión
  • Procedimientos de coordinación con terceros externos para la gestión de intrusiones

Implementación en Legit Health Plus​

Arquitectura de detección de intrusión​

El sistema de detección de intrusión de Legit Health Plus implementa un modelo de defensa en profundidad específicamente diseñado para proteger servicios de diagnóstico médico críticos.

Componentes principales​

Network-based IDS (NIDS)​
NIDS_Configuration:
Primary_Tool: "Suricata + Zeek (Bro)"
Deployment: "Mirrored traffic from VPC flow logs"
Coverage:
- "All ingress/egress traffic"
- "Inter-service communications"
- "Database connections"
- "API endpoints médicos"

Detection_Rules:
- "OWASP Top 10 attacks"
- "Medical device specific attacks"
- "Data exfiltration patterns"
- "Lateral movement indicators"
Host-based IDS (HIDS)​
HIDS_Configuration:
Primary_Tool: "CrowdStrike Falcon + OSSEC"
Deployment: "All critical servers and workstations"
Monitoring:
- "File integrity (medical algorithms)"
- "Process execution anomalies"
- "Registry/config changes"
- "Privilege escalation attempts"

Medical_Specific_Rules:
- "Unauthorized access to patient data"
- "AI model tampering detection"
- "Clinical database modifications"
- "Audit log manipulation"
Application-layer Detection​
# Sistema de detección a nivel de aplicación médica
class MedicalApplicationIDS:
def __init__(self):
self.ml_model = self.load_behavioral_model()
self.medical_patterns = self.load_clinical_patterns()

def detect_medical_anomalies(self, request):
"""Detecta anomalías específicas en aplicaciones médicas"""
anomalies = []

# 1. Patrones de acceso anómalos a diagnósticos
if self.detect_abnormal_diagnosis_access(request):
anomalies.append({
'type': 'unauthorized_medical_access',
'severity': 'high',
'description': 'Acceso anómalo a datos de diagnóstico'
})

# 2. Intentos de manipulación de algoritmos IA
if self.detect_ai_algorithm_tampering(request):
anomalies.append({
'type': 'ai_model_tampering',
'severity': 'critical',
'description': 'Intento de modificación de modelo IA diagnóstico'
})

# 3. Exfiltración masiva de datos clínicos
if self.detect_bulk_clinical_data_access(request):
anomalies.append({
'type': 'data_exfiltration',
'severity': 'critical',
'description': 'Posible exfiltración de datos clínicos'
})

return anomalies

Detección de amenazas específicas​

Amenazas dirigidas a dispositivos médicos​

Ataques específicos monitorizados​
Medical_Device_Threats:
AI_Model_Poisoning:
Description: "Intentos de corromper modelos de diagnóstico"
Detection_Methods:
- "Model performance deviation monitoring"
- "Training data integrity checks"
- "Unexpected model behavior patterns"
Alert_Threshold: "Immediate (critical)"

Clinical_Data_Tampering:
Description: "Modificación no autorizada de datos clínicos"
Detection_Methods:
- "Database integrity monitoring"
- "Audit trail analysis"
- "Checksum validation"
Alert_Threshold: "< 5 minutos"

Diagnostic_Bypass:
Description: "Intentos de eludir controles diagnósticos"
Detection_Methods:
- "Workflow deviation analysis"
- "Authentication bypass attempts"
- "API endpoint abuse"
Alert_Threshold: "< 1 minuto"

Indicadores de compromiso (IoC) médicos​

# IoCs específicos para entorno médico
MEDICAL_IOCS = {
'suspicious_patterns': [
# Acceso masivo a registros de pacientes
{'pattern': 'bulk_patient_access', 'threshold': 50, 'timeframe': '5min'},

# Modificaciones fuera de horario clínico
{'pattern': 'off_hours_clinical_changes', 'timeframe': '22:00-06:00'},

# Acceso desde ubicaciones geográficas inusuales
{'pattern': 'geographic_anomaly', 'threshold': 'outside_eu'},

# Intentos de acceso a algoritmos de IA
{'pattern': 'ai_algorithm_access', 'unauthorized': True},

# Exportación masiva de imágenes diagnósticas
{'pattern': 'bulk_image_export', 'threshold': 100, 'timeframe': '1hour'}
],

'file_indicators': [
# Archivos relacionados con ataques a sistemas médicos
'medical_device_exploit.py',
'dicom_parser_malicious.exe',
'hl7_interceptor.dll',
'ai_model_backdoor.pkl'
],

'network_indicators': [
# Comunicaciones sospechosas
{'dest_port': 11111, 'description': 'Medical device backdoor'},
{'domain': '*.medical-exploit.com', 'category': 'malicious'},
{'protocol': 'DICOM', 'anomaly': 'unexpected_destination'}
]
}

Monitorización continua​

SIEM médico integrado​

Medical_SIEM_Configuration:
Primary_Platform: "Splunk Enterprise Security"
Data_Sources:
- "AWS CloudTrail (all regions)"
- "VPC Flow Logs"
- "Application logs (diagnosis service)"
- "Database audit logs (PostgreSQL)"
- "Authentication logs (Azure AD)"
- "Medical device logs (custom format)"

Custom_Dashboards:
- "Medical Device Security Overview"
- "Clinical Data Access Monitoring"
- "AI Algorithm Integrity Status"
- "Regulatory Compliance Status"
- "Incident Response Timeline"

Automated_Responses:
- Block_Suspicious_IPs: "Automatic (high confidence)"
- Disable_Compromised_Accounts: "Semi-automatic (approval required)"
- Isolate_Affected_Services: "Manual (critical systems)"
- Notify_Regulatory_Bodies: "Automatic (major incidents)"

Machine Learning para detección de anomalías​

class MedicalAnomalyDetection:
def __init__(self):
self.models = {
'user_behavior': self.load_user_behavior_model(),
'network_traffic': self.load_network_anomaly_model(),
'clinical_workflow': self.load_clinical_workflow_model()
}

def analyze_clinical_user_behavior(self, user_session):
"""Analiza comportamiento de usuarios clínicos"""
features = {
'diagnosis_rate': user_session.diagnoses_per_hour,
'access_pattern': user_session.access_pattern_vector,
'time_distribution': user_session.time_distribution,
'patient_data_volume': user_session.patient_records_accessed,
'geographic_location': user_session.source_location
}

anomaly_score = self.models['user_behavior'].predict_proba([features])[0]

if anomaly_score > 0.85: # High confidence threshold
return {
'anomaly_detected': True,
'confidence': anomaly_score,
'risk_factors': self.identify_risk_factors(features),
'recommended_action': 'immediate_review'
}

return {'anomaly_detected': False, 'confidence': anomaly_score}

Procedimientos de respuesta automática​

Respuesta escalonada automática​

Automated_Response_Tiers:
Level_1_Auto: # Confidence > 95%
Actions:
- "Block source IP immediately"
- "Isolate affected user session"
- "Generate incident ticket"
- "Notify SOC team (SMS + email)"
Triggers:
- "Known malware signatures"
- "Blacklisted IP addresses"
- "Clear policy violations"

Level_2_SemiAuto: # Confidence 80-95%
Actions:
- "Flag for manual review (< 5 min)"
- "Increase monitoring on affected systems"
- "Temporary rate limiting"
- "Alert security analyst"
Triggers:
- "Behavioral anomalies"
- "Suspicious but not definitive patterns"
- "Medical workflow deviations"

Level_3_Manual: # Confidence < 80%
Actions:
- "Log for investigation"
- "Add to watch list"
- "Schedule manual review"
Triggers:
- "Low confidence anomalies"
- "Potential false positives"

Script de respuesta a intrusión crítica​

#!/bin/bash
# Script de respuesta automática a intrusión crítica

INCIDENT_ID="$1"
THREAT_TYPE="$2"
AFFECTED_SYSTEMS="$3"

echo "[$(date)] CRITICAL INTRUSION DETECTED: $INCIDENT_ID"
echo "Threat Type: $THREAT_TYPE"
echo "Affected Systems: $AFFECTED_SYSTEMS"

# Aislar sistemas afectados
if [[ "$THREAT_TYPE" == "medical_data_breach" ]]; then
echo "Isolating clinical database connections..."
# Bloquear acceso temporal a base de datos clínica
aws rds modify-db-instance \
--db-instance-identifier legit-health-clinical-db \
--publicly-accessible false

# Revocar tokens de API médica activos
python3 /opt/security/revoke_medical_api_tokens.py --incident-id $INCIDENT_ID
fi

# Preservar evidencia
echo "Preserving forensic evidence..."
mkdir -p /forensics/$INCIDENT_ID
cp -r /var/log/medical-app/ /forensics/$INCIDENT_ID/
cp -r /var/log/nginx/ /forensics/$INCIDENT_ID/
cp -r /var/log/postgresql/ /forensics/$INCIDENT_ID/

# Notificar autoridades (si aplica)
if [[ "$THREAT_TYPE" == "patient_data_breach" ]]; then
echo "Preparing regulatory notification..."
python3 /opt/compliance/notify_aemps.py \
--incident-type "data_breach" \
--incident-id $INCIDENT_ID \
--affected-records "$(wc -l < /forensics/$INCIDENT_ID/affected_patients.csv)"
fi

# Activar plan de comunicación de crisis
echo "Activating crisis communication..."
python3 /opt/incident-response/crisis_comms.py \
--incident-id $INCIDENT_ID \
--threat-level critical \
--medical-impact true

echo "[$(date)] Emergency response actions completed for $INCIDENT_ID"

Integración con gestión de incidentes​

Workflow de escalado médico​

Threat intelligence específico médico​

Fuentes de intelligence​

Medical_Threat_Intel_Sources:
Commercial:
- "CrowdStrike Falcon Intelligence"
- "FireEye Mandiant Threat Intelligence"
- "Microsoft Defender Threat Intelligence"

Medical_Specific:
- "FDA Medical Device Security Communications"
- "ICS-CERT Medical Device Advisories"
- "ECRI Healthcare Security Intelligence"
- "HIMSS Healthcare Threat Briefings"

Government:
- "US-CERT Healthcare Alerts"
- "INCIBE Healthcare Sector Warnings"
- "ENISA Medical Device Security Reports"

Community:
- "Medical Device Security Community (MDSC)"
- "Healthcare Cybersecurity Community (HCC)"
- "ISACA Health Information Security"

Métricas y KPIs de detección​

Métricas técnicas​

Detection_KPIs:
Performance_Metrics:
- "Mean Time to Detection (MTTD): < 5 minutos"
- "False Positive Rate: < 5%"
- "Detection Coverage: > 95%"
- "Alert Volume: < 50/día (actionable)"

Medical_Specific_KPIs:
- "Medical Data Breach Detection: < 1 minuto"
- "AI Algorithm Tampering Detection: Real-time"
- "Clinical Workflow Anomaly Detection: < 2 minutos"
- "Regulatory Notification Time: < 24 horas"

Dashboard de detección médica​

class MedicalDetectionDashboard:
def generate_security_overview(self):
"""Genera overview de seguridad médica"""
return {
'critical_alerts_last_24h': self.count_critical_alerts(),
'medical_systems_health': self.check_medical_systems_health(),
'patient_data_access_anomalies': self.analyze_patient_data_access(),
'ai_algorithm_integrity': self.verify_ai_algorithm_integrity(),
'regulatory_compliance_status': self.check_regulatory_compliance(),
'threat_landscape': self.get_current_threat_landscape()
}

Integración con otros controles ENS​

  • OP.EXP.7: Escalado automático a gestión de incidentes
  • OP.CONT.2: Activación del plan de continuidad en caso de intrusión mayor
  • MP.SI.2: Protección de datos detectando intentos de acceso no autorizado
  • R-TF-013-002: Mitigación de riesgos de ciberseguridad identificados

Referencias cruzadas​

  • T-024-005: Procedimiento de detección y respuesta a incidentes
  • GP-013: Marco de gestión de ciberseguridad
  • OP.MON.2: Integración con sistema de métricas

Signature meaning

The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:

  • Author: Team members involved
  • Reviewer: JD-003, JD-004
  • Approver: JD-001
Previous
OP.MON Monitorización del sistema
Next
OP.MON.2 Sistema de métricas
  • Documentos de referencia
  • Guía de implantación
  • Implementación en Legit Health Plus
    • Arquitectura de detección de intrusión
      • Componentes principales
        • Network-based IDS (NIDS)
        • Host-based IDS (HIDS)
        • Application-layer Detection
    • Detección de amenazas específicas
      • Amenazas dirigidas a dispositivos médicos
        • Ataques específicos monitorizados
      • Indicadores de compromiso (IoC) médicos
    • Monitorización continua
      • SIEM médico integrado
      • Machine Learning para detección de anomalías
    • Procedimientos de respuesta automática
      • Respuesta escalonada automática
      • Script de respuesta a intrusión crítica
    • Integración con gestión de incidentes
      • Workflow de escalado médico
    • Threat intelligence específico médico
      • Fuentes de intelligence
    • Métricas y KPIs de detección
      • Métricas técnicas
      • Dashboard de detección médica
    • Integración con otros controles ENS
    • Referencias cruzadas
All the information contained in this QMS is confidential. The recipient agrees not to transmit or reproduce the information, neither by himself nor by third parties, through whichever means, without obtaining the prior written permission of Legit.Health (AI LABS GROUP S.L.)