Fase 1 - Asset Relevance Scoring NIS2 (GV.OC-04): metodologia 0-100 a 6 criteri, AssetScoringService + endpoint scoringGrid/score/relevantSystems + UI assets.html + registro stampabile. Fase 2 - Tassonomia incidenti Determina ACN 164179/2025: IS-1..4 + regime essenziale/importante (Allegati 3/4). Fase 3 - Post-Incident Review (5-Whys) + metriche TTD/TTC/TTR + timestamp di fase. Fase 4 - Mapping NIST CSF 2.0 (43 controlli) reference-only. Fonti certe: registry config/nis2_sources.php + grounding AI (vieta riferimenti inventati) + citazioni help.js + ingest PDF normativi nella KB RAG (scripts/ingest-nis2-sources.php). Migrazioni 020/021/022 (additive idempotenti). Fix VectorService IP Qdrant (drift .5->.3). Analisi concorrenza Evix (docs/EVIX_ANALISI_CONCORRENZA.html, gap-driven). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1806 lines
75 KiB
HTML
1806 lines
75 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="it">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Dettaglio Incidente INC-2024-047 - NIS2</title>
|
||
<style>
|
||
:root {
|
||
--bg-primary: #0d1117;
|
||
--bg-secondary: #161b22;
|
||
--bg-tertiary: #1c2128;
|
||
--border-color: #30363d;
|
||
--text-primary: #c9d1d9;
|
||
--text-secondary: #8b949e;
|
||
--accent-primary: #58a6ff;
|
||
--accent-secondary: #1f6feb;
|
||
--success: #3fb950;
|
||
--warning: #d29922;
|
||
--danger: #f85149;
|
||
--essential-bg: #fef3c7;
|
||
--essential-text: #92400e;
|
||
--essential-border: #f59e0b;
|
||
}
|
||
|
||
* {
|
||
margin: 0;
|
||
padding: 0;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
body {
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
|
||
background-color: var(--bg-primary);
|
||
color: var(--text-primary);
|
||
line-height: 1.6;
|
||
overflow-y: auto;
|
||
}
|
||
|
||
.container {
|
||
max-width: 1600px;
|
||
margin: 0 auto;
|
||
padding: 20px;
|
||
}
|
||
|
||
.header {
|
||
background-color: var(--bg-secondary);
|
||
border-bottom: 1px solid var(--border-color);
|
||
padding: 24px 0;
|
||
margin-bottom: 32px;
|
||
position: sticky;
|
||
top: 0;
|
||
z-index: 100;
|
||
}
|
||
|
||
.header-content {
|
||
max-width: 1600px;
|
||
margin: 0 auto;
|
||
padding: 0 20px;
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
flex-wrap: wrap;
|
||
gap: 16px;
|
||
}
|
||
|
||
.header-left {
|
||
flex: 1;
|
||
}
|
||
|
||
.header h1 {
|
||
font-size: 24px;
|
||
font-weight: 600;
|
||
color: var(--text-primary);
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
}
|
||
|
||
.breadcrumb {
|
||
font-size: 13px;
|
||
color: var(--text-secondary);
|
||
margin-top: 4px;
|
||
}
|
||
|
||
.breadcrumb a {
|
||
color: var(--accent-primary);
|
||
text-decoration: none;
|
||
}
|
||
|
||
.header-right {
|
||
display: flex;
|
||
gap: 8px;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.btn {
|
||
padding: 8px 16px;
|
||
background-color: var(--bg-tertiary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 6px;
|
||
color: var(--text-primary);
|
||
font-size: 13px;
|
||
font-weight: 500;
|
||
cursor: pointer;
|
||
transition: all 0.2s;
|
||
text-decoration: none;
|
||
display: inline-block;
|
||
}
|
||
|
||
.btn:hover {
|
||
border-color: var(--accent-primary);
|
||
color: var(--accent-primary);
|
||
}
|
||
|
||
.btn-primary {
|
||
background-color: var(--accent-primary);
|
||
border-color: var(--accent-primary);
|
||
color: white;
|
||
}
|
||
|
||
.btn-primary:hover {
|
||
background-color: var(--accent-secondary);
|
||
color: white;
|
||
}
|
||
|
||
.btn-danger {
|
||
background-color: rgba(248, 81, 73, 0.1);
|
||
border-color: var(--danger);
|
||
color: var(--danger);
|
||
}
|
||
|
||
.btn-danger:hover {
|
||
background-color: var(--danger);
|
||
color: white;
|
||
}
|
||
|
||
.btn-success {
|
||
background-color: rgba(63, 185, 80, 0.1);
|
||
border-color: var(--success);
|
||
color: var(--success);
|
||
}
|
||
|
||
.btn-success:hover {
|
||
background-color: var(--success);
|
||
color: white;
|
||
}
|
||
|
||
/* Status Badge */
|
||
.status-badge {
|
||
display: inline-block;
|
||
padding: 6px 12px;
|
||
border-radius: 4px;
|
||
font-size: 12px;
|
||
font-weight: 600;
|
||
text-transform: uppercase;
|
||
}
|
||
|
||
.status-contenuto {
|
||
background-color: rgba(210, 153, 34, 0.2);
|
||
color: var(--warning);
|
||
border: 1px solid var(--warning);
|
||
}
|
||
|
||
.sev-1 {
|
||
background-color: rgba(248, 81, 73, 0.2);
|
||
color: var(--danger);
|
||
border: 1px solid var(--danger);
|
||
font-weight: 700;
|
||
}
|
||
|
||
/* Info Grid */
|
||
.info-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||
gap: 16px;
|
||
margin-bottom: 32px;
|
||
}
|
||
|
||
.info-card {
|
||
background-color: var(--bg-secondary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 6px;
|
||
padding: 16px;
|
||
}
|
||
|
||
.info-label {
|
||
font-size: 11px;
|
||
color: var(--text-secondary);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.5px;
|
||
margin-bottom: 8px;
|
||
}
|
||
|
||
.info-value {
|
||
font-size: 16px;
|
||
font-weight: 600;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
/* Tabs */
|
||
.tabs {
|
||
display: flex;
|
||
gap: 8px;
|
||
margin-bottom: 24px;
|
||
border-bottom: 1px solid var(--border-color);
|
||
padding-bottom: 0;
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.tab {
|
||
padding: 12px 16px;
|
||
background: transparent;
|
||
border: none;
|
||
color: var(--text-secondary);
|
||
cursor: pointer;
|
||
font-size: 14px;
|
||
font-weight: 500;
|
||
border-bottom: 2px solid transparent;
|
||
transition: all 0.2s;
|
||
}
|
||
|
||
.tab:hover {
|
||
color: var(--text-primary);
|
||
background-color: var(--bg-tertiary);
|
||
}
|
||
|
||
.tab.active {
|
||
color: var(--accent-primary);
|
||
border-bottom-color: var(--accent-primary);
|
||
}
|
||
|
||
/* Section */
|
||
.section {
|
||
background-color: var(--bg-secondary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 6px;
|
||
padding: 24px;
|
||
margin-bottom: 24px;
|
||
display: none;
|
||
}
|
||
|
||
.section.active {
|
||
display: block;
|
||
}
|
||
|
||
.section-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
margin-bottom: 24px;
|
||
padding-bottom: 16px;
|
||
border-bottom: 1px solid var(--border-color);
|
||
}
|
||
|
||
.section-title {
|
||
font-size: 18px
|
||
font-weight: 600;
|
||
color: var(--text-primary);
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
/* Help Icon */
|
||
.help-icon {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 22px;
|
||
height: 22px;
|
||
background-color: rgba(167, 139, 250, 0.2);
|
||
border: 2px solid #a78bfa;
|
||
border-radius: 50%;
|
||
font-size: 13px;
|
||
font-weight: 700;
|
||
color: #a78bfa;
|
||
cursor: help;
|
||
position: relative;
|
||
}
|
||
|
||
.help-icon:hover {
|
||
background-color: rgba(167, 139, 250, 0.3);
|
||
transform: scale(1.1);
|
||
}
|
||
|
||
.tooltip {
|
||
visibility: hidden;
|
||
position: absolute;
|
||
z-index: 1000;
|
||
background-color: var(--bg-tertiary);
|
||
color: var(--text-primary);
|
||
padding: 12px;
|
||
border-radius: 6px;
|
||
border: 1px solid var(--border-color);
|
||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
|
||
width: 320px;
|
||
top: 28px;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
font-size: 12px;
|
||
line-height: 1.5;
|
||
opacity: 0;
|
||
transition: opacity 0.2s;
|
||
white-space: normal;
|
||
}
|
||
|
||
.tooltip::before {
|
||
content: '';
|
||
position: absolute;
|
||
top: -6px;
|
||
left: 50%;
|
||
transform: translateX(-50%);
|
||
border-left: 6px solid transparent;
|
||
border-right: 6px solid transparent;
|
||
border-bottom: 6px solid var(--border-color);
|
||
}
|
||
|
||
.tooltip-title {
|
||
color: var(--accent-primary);
|
||
font-weight: 600;
|
||
margin-bottom: 8px;
|
||
font-size: 11px;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.5px;
|
||
}
|
||
|
||
.help-icon:hover .tooltip {
|
||
visibility: visible;
|
||
opacity: 1;
|
||
}
|
||
|
||
/* Timeline */
|
||
.timeline {
|
||
position: relative;
|
||
padding-left: 30px;
|
||
}
|
||
|
||
.timeline::before {
|
||
content: '';
|
||
position: absolute;
|
||
left: 10px;
|
||
top: 0;
|
||
bottom: 0;
|
||
width: 2px;
|
||
background: var(--border-color);
|
||
}
|
||
|
||
.timeline-item {
|
||
position: relative;
|
||
margin-bottom: 24px;
|
||
padding-left: 20px;
|
||
}
|
||
|
||
.timeline-item::before {
|
||
content: '';
|
||
position: absolute;
|
||
left: -24px;
|
||
top: 4px;
|
||
width: 12px;
|
||
height: 12px;
|
||
border-radius: 50%;
|
||
background: var(--accent-primary);
|
||
border: 2px solid var(--bg-secondary);
|
||
}
|
||
|
||
.timeline-item.critical::before {
|
||
background: var(--danger);
|
||
}
|
||
|
||
.timeline-item.success::before {
|
||
background: var(--success);
|
||
}
|
||
|
||
.timeline-time {
|
||
font-size: 12px;
|
||
color: var(--text-secondary);
|
||
margin-bottom: 4px;
|
||
}
|
||
|
||
.timeline-content {
|
||
font-size: 13px;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.timeline-user {
|
||
font-size: 12px;
|
||
color: var(--text-secondary);
|
||
font-style: italic;
|
||
margin-top: 4px;
|
||
}
|
||
|
||
/* Alert Box */
|
||
.alert-box {
|
||
background-color: rgba(248, 81, 73, 0.1);
|
||
border: 1px solid var(--danger);
|
||
border-left: 4px solid var(--danger);
|
||
border-radius: 6px;
|
||
padding: 20px;
|
||
margin-bottom: 24px;
|
||
}
|
||
|
||
.alert-box.warning {
|
||
background-color: rgba(210, 153, 34, 0.1);
|
||
border-color: var(--warning);
|
||
border-left-color: var(--warning);
|
||
}
|
||
|
||
.alert-box.info {
|
||
background-color: rgba(88, 166, 255, 0.1);
|
||
border-color: var(--accent-primary);
|
||
border-left-color: var(--accent-primary);
|
||
}
|
||
|
||
.alert-title {
|
||
font-weight: 600;
|
||
margin-bottom: 8px;
|
||
font-size: 15px;
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 8px;
|
||
}
|
||
|
||
.alert-content {
|
||
font-size: 13px;
|
||
color: var(--text-secondary);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
/* Data Table */
|
||
.data-table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
font-size: 13px;
|
||
}
|
||
|
||
.data-table th {
|
||
background-color: var(--bg-tertiary);
|
||
color: var(--text-secondary);
|
||
font-weight: 600;
|
||
text-align: left;
|
||
padding: 10px 12px;
|
||
border: 1px solid var(--border-color);
|
||
font-size: 11px;
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.5px;
|
||
}
|
||
|
||
.data-table td {
|
||
padding: 10px 12px;
|
||
border: 1px solid var(--border-color);
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.data-table tr:hover {
|
||
background-color: var(--bg-tertiary);
|
||
}
|
||
|
||
/* Action Log */
|
||
.action-log {
|
||
background-color: var(--bg-tertiary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 6px;
|
||
padding: 16px;
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.action-log-header {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
align-items: center;
|
||
margin-bottom: 12px;
|
||
}
|
||
|
||
.action-log-time {
|
||
font-size: 12px;
|
||
color: var(--text-secondary);
|
||
}
|
||
|
||
.action-log-user {
|
||
font-size: 12px;
|
||
color: var(--accent-primary);
|
||
font-weight: 600;
|
||
}
|
||
|
||
.action-log-content {
|
||
font-size: 13px;
|
||
color: var(--text-primary);
|
||
line-height: 1.6;
|
||
}
|
||
|
||
/* Phase Progress */
|
||
.phase-progress {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin-bottom: 32px;
|
||
position: relative;
|
||
}
|
||
|
||
.phase-progress::before {
|
||
content: '';
|
||
position: absolute;
|
||
top: 20px;
|
||
left: 0;
|
||
right: 0;
|
||
height: 2px;
|
||
background: var(--border-color);
|
||
z-index: 0;
|
||
}
|
||
|
||
.phase-item {
|
||
flex: 1;
|
||
text-align: center;
|
||
position: relative;
|
||
z-index: 1;
|
||
}
|
||
|
||
.phase-circle {
|
||
width: 40px;
|
||
height: 40px;
|
||
border-radius: 50%;
|
||
background: var(--bg-tertiary);
|
||
border: 2px solid var(--border-color);
|
||
margin: 0 auto 8px;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
font-weight: 700;
|
||
font-size: 14px;
|
||
}
|
||
|
||
.phase-item.completed .phase-circle {
|
||
background: var(--success);
|
||
border-color: var(--success);
|
||
color: white;
|
||
}
|
||
|
||
.phase-item.active .phase-circle {
|
||
background: var(--accent-primary);
|
||
border-color: var(--accent-primary);
|
||
color: white;
|
||
animation: pulse 2s infinite;
|
||
}
|
||
|
||
@keyframes pulse {
|
||
0%, 100% { box-shadow: 0 0 0 0 rgba(88, 166, 255, 0.7); }
|
||
50% { box-shadow: 0 0 0 10px rgba(88, 166, 255, 0); }
|
||
}
|
||
|
||
.phase-label {
|
||
font-size: 11px;
|
||
color: var(--text-secondary);
|
||
font-weight: 600;
|
||
}
|
||
|
||
.phase-item.completed .phase-label,
|
||
.phase-item.active .phase-label {
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
/* Metrics */
|
||
.metrics-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
|
||
gap: 16px;
|
||
margin-bottom: 24px;
|
||
}
|
||
|
||
.metric-card {
|
||
background-color: var(--bg-tertiary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 6px;
|
||
padding: 16px;
|
||
text-align: center;
|
||
}
|
||
|
||
.metric-label {
|
||
font-size: 11px;
|
||
color: var(--text-secondary);
|
||
text-transform: uppercase;
|
||
letter-spacing: 0.5px;
|
||
margin-bottom: 8px;
|
||
}
|
||
|
||
.metric-value {
|
||
font-size: 24px;
|
||
font-weight: 700;
|
||
color: var(--text-primary);
|
||
}
|
||
|
||
.metric-value.danger {
|
||
color: var(--danger);
|
||
}
|
||
|
||
.metric-value.warning {
|
||
color: var(--warning);
|
||
}
|
||
|
||
.metric-value.success {
|
||
color: var(--success);
|
||
}
|
||
|
||
/* Responsive */
|
||
@media (max-width: 768px) {
|
||
.header-content {
|
||
flex-direction: column;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.info-grid {
|
||
grid-template-columns: 1fr;
|
||
}
|
||
|
||
.phase-progress {
|
||
flex-direction: column;
|
||
align-items: flex-start;
|
||
}
|
||
|
||
.phase-progress::before {
|
||
display: none;
|
||
}
|
||
|
||
.phase-item {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
margin-bottom: 16px;
|
||
}
|
||
|
||
.phase-circle {
|
||
margin: 0;
|
||
}
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="header">
|
||
<div class="header-content">
|
||
<div class="header-left">
|
||
<h1>
|
||
<span class="status-badge sev-1">SEV-1</span>
|
||
INC-2024-047 - Tentativo Ransomware
|
||
</h1>
|
||
<div class="breadcrumb">
|
||
<a href="dashboard.html">Dashboard NIS2</a> /
|
||
<a href="incident-dashboard.html">Gestione Incidenti</a> /
|
||
INC-2024-047
|
||
</div>
|
||
</div>
|
||
<div class="header-right">
|
||
<button class="btn" onclick="exportIncident()">📄 Esporta</button>
|
||
<button class="btn" onclick="updateIncident()">✏️ Modifica</button>
|
||
<button class="btn btn-primary" onclick="addAction()">➕ Aggiungi Azione</button>
|
||
<button class="btn btn-success" onclick="changePhase()">▶️ Avanza Fase</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="container">
|
||
<!-- Alert Notifica CSIRT -->
|
||
<div class="alert-box warning">
|
||
<div class="alert-title">
|
||
⏰ Scadenza Notifica CSIRT
|
||
</div>
|
||
<div class="alert-content">
|
||
<strong>Preallarme da inviare entro:</strong> 2024-03-07 08:15 (rimangono 18 ore)<br>
|
||
<strong>Notifica completa da inviare entro:</strong> 2024-03-09 08:15 (72 ore)<br>
|
||
<button class="btn btn-primary" style="margin-top: 12px;" onclick="window.location.href='incident-notification.html?id=INC-2024-047'">
|
||
Gestisci Notifica CSIRT
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Info Cards -->
|
||
<div class="info-grid">
|
||
<div class="info-card">
|
||
<div class="info-label">Data/Ora Rilevazione</div>
|
||
<div class="info-value">2024-03-06 08:15</div>
|
||
</div>
|
||
<div class="info-card">
|
||
<div class="info-label">Stato Attuale</div>
|
||
<div class="info-value"><span class="status-badge status-contenuto">Contenuto</span></div>
|
||
</div>
|
||
<div class="info-card">
|
||
<div class="info-label">Severità</div>
|
||
<div class="info-value"><span class="status-badge sev-1">SEV-1 Critico</span></div>
|
||
</div>
|
||
<div class="info-card">
|
||
<div class="info-label">Classificazione NIS2</div>
|
||
<div class="info-value">IS-2</div>
|
||
</div>
|
||
<div class="info-card">
|
||
<div class="info-label">Responsabile</div>
|
||
<div class="info-value">CISO</div>
|
||
</div>
|
||
<div class="info-card">
|
||
<div class="info-label">Team Attivo</div>
|
||
<div class="info-value">Crisis Team</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Phase Progress -->
|
||
<div class="phase-progress">
|
||
<div class="phase-item completed">
|
||
<div class="phase-circle">✓</div>
|
||
<div class="phase-label">Rilevazione</div>
|
||
</div>
|
||
<div class="phase-item completed">
|
||
<div class="phase-circle">✓</div>
|
||
<div class="phase-label">Triage</div>
|
||
</div>
|
||
<div class="phase-item active">
|
||
<div class="phase-circle">3</div>
|
||
<div class="phase-label">Contenimento</div>
|
||
</div>
|
||
<div class="phase-item">
|
||
<div class="phase-circle">4</div>
|
||
<div class="phase-label">Eradicazione</div>
|
||
</div>
|
||
<div class="phase-item">
|
||
<div class="phase-circle">5</div>
|
||
<div class="phase-label">Ripristino</div>
|
||
</div>
|
||
<div class="phase-item">
|
||
<div class="phase-circle">6</div>
|
||
<div class="phase-label">Lesson Learned</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Metrics -->
|
||
<div class="metrics-grid">
|
||
<div class="metric-card">
|
||
<div class="metric-label">TTD (Time to Detect)</div>
|
||
<div class="metric-value success">0.5h</div>
|
||
</div>
|
||
<div class="metric-card">
|
||
<div class="metric-label">TTC (Time to Contain)</div>
|
||
<div class="metric-value success">2.2h</div>
|
||
</div>
|
||
<div class="metric-card">
|
||
<div class="metric-label">Tempo Gestione</div>
|
||
<div class="metric-value">26h 45m</div>
|
||
</div>
|
||
<div class="metric-card">
|
||
<div class="metric-label">Sistemi Impattati</div>
|
||
<div class="metric-value warning">3</div>
|
||
</div>
|
||
<div class="metric-card">
|
||
<div class="metric-label">Utenti Impattati</div>
|
||
<div class="metric-value warning">45</div>
|
||
</div>
|
||
<div class="metric-card">
|
||
<div class="metric-label">Azioni Registrate</div>
|
||
<div class="metric-value">18</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Tabs -->
|
||
<div class="tabs">
|
||
<button class="tab active" onclick="showTab('overview')">Panoramica</button>
|
||
<button class="tab" onclick="showTab('timeline')">Timeline Azioni</button>
|
||
<button class="tab" onclick="showTab('systems')">Sistemi e Dati</button>
|
||
<button class="tab" onclick="showTab('containment')">Contenimento</button>
|
||
<button class="tab" onclick="showTab('communications')">Comunicazioni</button>
|
||
<button class="tab" onclick="showTab('evidence')">Evidenze</button>
|
||
</div>
|
||
|
||
<!-- Overview Section -->
|
||
<div class="section active" id="section-overview">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Panoramica Incidente
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Riepilogo completo dell'incidente con informazioni chiave, classificazione, impatto e stato corrente della gestione.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Descrizione</h3>
|
||
<p style="color: var(--text-secondary); margin-bottom: 24px; line-height: 1.6;">
|
||
Alle ore 08:15 del 06/03/2024, l'EDR ha rilevato un tentativo di esecuzione di ransomware sul server ERP-PROD-01 (HW-SRV-001).
|
||
Il malware è stato identificato come variante di <strong>BlackCat/ALPHV</strong>. L'EDR ha bloccato automaticamente l'esecuzione
|
||
e messo in quarantena il file malevolo. Il server è stato immediatamente isolato dalla rete come misura precauzionale.
|
||
<br><br>
|
||
L'analisi preliminare indica che il vettore di ingresso è stato un allegato email di phishing ricevuto da un account utente
|
||
amministrativo. Le credenziali dell'utente erano state precedentemente compromesse in un attacco di credential stuffing.
|
||
</p>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Classificazione e Impatto</h3>
|
||
<table class="data-table" style="margin-bottom: 24px;">
|
||
<tr>
|
||
<th style="width: 200px;">Parametro</th>
|
||
<th>Valore</th>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Severità</strong></td>
|
||
<td><span class="status-badge sev-1">SEV-1 Critico</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Classificazione NIS2</strong></td>
|
||
<td><strong>IS-2</strong> - Impatto su integrità/riservatezza dati</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Categoria MITRE ATT&CK</strong></td>
|
||
<td>Impact (Ransomware)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Vettore di Attacco</strong></td>
|
||
<td>Phishing → Credential Compromise → Ransomware</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Impatto</strong></td>
|
||
<td>
|
||
<span style="display: inline-block; padding: 4px 8px; background: rgba(248, 81, 73, 0.2); border-radius: 3px; margin-right: 8px;">Disponibilità</span>
|
||
<span style="display: inline-block; padding: 4px 8px; background: rgba(248, 81, 73, 0.2); border-radius: 3px;">Integrità</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Root Cause</strong></td>
|
||
<td>Credenziali compromesse + Phishing</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Notifica CSIRT</strong></td>
|
||
<td><span style="color: var(--warning); font-weight: 600;">⏳ Preallarme da inviare</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Notifica Garante Privacy</strong></td>
|
||
<td><span style="color: var(--text-secondary);">❌ Non richiesta (nessun dato esfiltrato)</span></td>
|
||
</tr>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Sistemi e Servizi Impattati</h3>
|
||
<table class="data-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Codice Asset</th>
|
||
<th>Tipo</th>
|
||
<th>Nome</th>
|
||
<th>Stato</th>
|
||
<th>Azioni</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>HW-SRV-001</strong></td>
|
||
<td>Server Fisico</td>
|
||
<td>ERP-PROD-01</td>
|
||
<td><span style="color: var(--warning);">🔒 Isolato</span></td>
|
||
<td>Sistema primario compromesso</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>SW-ERP-001</strong></td>
|
||
<td>Applicazione</td>
|
||
<td>SAP ERP</td>
|
||
<td><span style="color: var(--danger);">⏸️ Offline</span></td>
|
||
<td>Servizio interrotto preventivamente</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>HW-SRV-002</strong></td>
|
||
<td>Server Backup</td>
|
||
<td>ERP-BACKUP-01</td>
|
||
<td><span style="color: var(--success);">✅ Integro</span></td>
|
||
<td>Backup immutabile verificato</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<!-- Timeline Section -->
|
||
<div class="section" id="section-timeline">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Timeline Completa Azioni
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Registro cronologico completo di tutte le azioni effettuate durante la gestione dell'incidente. Ogni azione è tracciata con timestamp, responsabile e dettagli.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
<button class="btn btn-primary" onclick="addAction()">➕ Aggiungi Azione</button>
|
||
</div>
|
||
|
||
<div class="timeline">
|
||
<div class="timeline-item critical">
|
||
<div class="timeline-time">2024-03-06 08:15:23</div>
|
||
<div class="timeline-content">
|
||
<strong>🚨 INCIDENTE RILEVATO</strong><br>
|
||
EDR ha rilevato tentativo esecuzione ransomware BlackCat/ALPHV su server ERP-PROD-01.
|
||
File malevolo bloccato e messo in quarantena automaticamente.
|
||
</div>
|
||
<div class="timeline-user">Sistema EDR (Automatico)</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 08:17:45</div>
|
||
<div class="timeline-content">
|
||
<strong>Alert SOC</strong><br>
|
||
Analista SOC riceve alert critico e avvia procedura incident response SEV-1.
|
||
</div>
|
||
<div class="timeline-user">Analista SOC - M. Bianchi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item critical">
|
||
<div class="timeline-time">2024-03-06 08:22:10</div>
|
||
<div class="timeline-content">
|
||
<strong>CONTENIMENTO IMMEDIATO</strong><br>
|
||
Server ERP-PROD-01 isolato dalla rete. Tutte le connessioni di rete disabilitate.
|
||
Servizio ERP offline preventivamente.
|
||
</div>
|
||
<div class="timeline-user">System Admin - G. Rossi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 08:25:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Escalation Crisis Team</strong><br>
|
||
CISO notificato. Crisis Team attivato. Convocata call di emergenza.
|
||
</div>
|
||
<div class="timeline-user">SOC Lead - L. Verdi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 08:35:12</div>
|
||
<div class="timeline-content">
|
||
<strong>Preservazione Evidenze</strong><br>
|
||
Creato snapshot completo del server. Dump memoria RAM acquisito.
|
||
Log di sistema e EDR copiati su storage forense.
|
||
</div>
|
||
<div class="timeline-user">Forensics Team - A. Neri</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 09:10:30</div>
|
||
<div class="timeline-content">
|
||
<strong>Analisi Vettore di Attacco</strong><br>
|
||
Identificato vettore: email phishing ricevuta da utente admin (m.ferrari@azienda.it)
|
||
alle 07:45. Allegato ZIP contenente payload ransomware. Credenziali utente compromesse
|
||
in precedente attacco credential stuffing (non rilevato).
|
||
</div>
|
||
<div class="timeline-user">CISO - P. Lombardi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 09:30:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Blocco Account Compromesso</strong><br>
|
||
Account m.ferrari@azienda.it disabilitato. Tutte le sessioni attive revocate.
|
||
Reset password forzato. MFA abilitato obbligatoriamente.
|
||
</div>
|
||
<div class="timeline-user">System Admin - G. Rossi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 10:15:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Verifica Estensione Compromissione</strong><br>
|
||
Scansione completa rete aziendale. Nessun altro sistema compromesso rilevato.
|
||
Malware non si è propagato. Contenimento efficace.
|
||
</div>
|
||
<div class="timeline-user">SOC Team</div>
|
||
</div>
|
||
|
||
<div class="timeline-item success">
|
||
<div class="timeline-time">2024-03-06 10:45:00</div>
|
||
<div class="timeline-content">
|
||
<strong>✅ CONTENIMENTO CONFERMATO</strong><br>
|
||
Minaccia contenuta con successo. Nessuna crittografia dati avvenuta.
|
||
Nessuna esfiltrazione rilevata. Incidente limitato a singolo server.
|
||
<br><strong>TTC (Time to Contain): 2.2 ore</strong>
|
||
</div>
|
||
<div class="timeline-user">CISO - P. Lombardi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 11:30:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Comunicazione Interna</strong><br>
|
||
Direzione informata. Responsabili Divisione notificati.
|
||
Comunicazione a utenti: servizio ERP temporaneamente offline per manutenzione straordinaria.
|
||
</div>
|
||
<div class="timeline-user">CISO - P. Lombardi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 14:30:00</div>
|
||
<div class="timeline-content">
|
||
<strong>📡 Preallarme CSIRT Preparato</strong><br>
|
||
Documentazione preallarme CSIRT Italia completata. In attesa approvazione Direzione per invio.
|
||
</div>
|
||
<div class="timeline-user">CISO - P. Lombardi</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-06 16:00:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Analisi Forense Preliminare</strong><br>
|
||
Identificato malware: BlackCat/ALPHV variant 2.0.
|
||
IoC estratti e condivisi con CSIRT. Nessun dato esfiltrato confermato.
|
||
Tentativo crittografia bloccato in fase iniziale.
|
||
</div>
|
||
<div class="timeline-user">Forensics Team - A. Neri</div>
|
||
</div>
|
||
|
||
<div class="timeline-item">
|
||
<div class="timeline-time">2024-03-07 09:00:00</div>
|
||
<div class="timeline-content">
|
||
<strong>Inizio Eradicazione</strong><br>
|
||
Avviata rimozione completa malware. Pulizia sistema. Verifica assenza persistenza.
|
||
Pianificazione ripristino da backup immutabile.
|
||
</div>
|
||
<div class="timeline-user">System Admin - G. Rossi</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Systems Section -->
|
||
<div class="section" id="section-systems">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Sistemi e Dati Impattati
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Dettaglio completo di tutti i sistemi, asset, dati e servizi coinvolti nell'incidente. Include valutazione impatto e stato corrente.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Asset Impattati</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th>Codice</th>
|
||
<th>Tipo</th>
|
||
<th>Nome/Descrizione</th>
|
||
<th>Rilevanza NIS2</th>
|
||
<th>Punteggio</th>
|
||
<th>Stato</th>
|
||
<th>Impatto</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>HW-SRV-001</strong></td>
|
||
<td>Server Fisico</td>
|
||
<td>ERP-PROD-01 - Server ERP Principale</td>
|
||
<td><span style="color: var(--success); font-weight: 600;">SI</span></td>
|
||
<td><strong>91</strong></td>
|
||
<td><span style="color: var(--warning);">🔒 Isolato</span></td>
|
||
<td>Compromissione tentata, bloccata da EDR</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>SW-ERP-001</strong></td>
|
||
<td>Applicazione</td>
|
||
<td>SAP ERP Sistema Gestionale</td>
|
||
<td><span style="color: var(--success); font-weight: 600;">SI</span></td>
|
||
<td><strong>88</strong></td>
|
||
<td><span style="color: var(--danger);">⏸️ Offline</span></td>
|
||
<td>Servizio interrotto preventivamente</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>ACC-ADMIN-042</strong></td>
|
||
<td>Account Utente</td>
|
||
<td>m.ferrari@azienda.it (Admin)</td>
|
||
<td>-</td>
|
||
<td>-</td>
|
||
<td><span style="color: var(--danger);">🚫 Disabilitato</span></td>
|
||
<td>Credenziali compromesse, vettore iniziale</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Dati Coinvolti</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th>Tipologia Dati</th>
|
||
<th>Classificazione</th>
|
||
<th>Volume Stimato</th>
|
||
<th>Stato</th>
|
||
<th>Note</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Dati Aziendali ERP</td>
|
||
<td><span style="color: var(--danger); font-weight: 600;">Critico</span></td>
|
||
<td>~2.5 TB</td>
|
||
<td><span style="color: var(--success);">✅ Integri</span></td>
|
||
<td>Nessuna crittografia avvenuta, backup verificato</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Dati Personali Dipendenti</td>
|
||
<td><span style="color: var(--warning); font-weight: 600;">Riservato</span></td>
|
||
<td>~450 record</td>
|
||
<td><span style="color: var(--success);">✅ Integri</span></td>
|
||
<td>Nessuna esfiltrazione rilevata</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Credenziali Utente</td>
|
||
<td><span style="color: var(--warning); font-weight: 600;">Riservato</span></td>
|
||
<td>1 account</td>
|
||
<td><span style="color: var(--danger);">❌ Compromesso</span></td>
|
||
<td>Account disabilitato, password reset forzato</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Servizi Impattati</h3>
|
||
<table class="data-table">
|
||
<thead>
|
||
<tr>
|
||
<th>Codice Servizio</th>
|
||
<th>Nome Servizio</th>
|
||
<th>Rilevanza NIS2</th>
|
||
<th>Stato</th>
|
||
<th>Utenti Impattati</th>
|
||
<th>Downtime</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>SRV-ERP-001</strong></td>
|
||
<td>Sistema Gestionale ERP</td>
|
||
<td><span style="color: var(--success); font-weight: 600;">SI</span></td>
|
||
<td><span style="color: var(--danger);">⏸️ Offline</span></td>
|
||
<td>45 utenti interni</td>
|
||
<td>26h 45m (in corso)</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>SRV-FIN-001</strong></td>
|
||
<td>Modulo Finanziario</td>
|
||
<td><span style="color: var(--success); font-weight: 600;">SI</span></td>
|
||
<td><span style="color: var(--danger);">⏸️ Offline</span></td>
|
||
<td>12 utenti interni</td>
|
||
<td>26h 45m (in corso)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<!-- Containment Section -->
|
||
<div class="section" id="section-containment">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Azioni di Contenimento ed Eradicazione
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Documentazione completa delle azioni di contenimento immediato e eradicazione della minaccia. Include checklist, evidenze e verifiche effettuate.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="alert-box info" style="margin-bottom: 24px;">
|
||
<div class="alert-title">✅ Contenimento Completato</div>
|
||
<div class="alert-content">
|
||
Minaccia contenuta con successo in <strong>2.2 ore</strong> dalla rilevazione.
|
||
Nessuna crittografia dati avvenuta. Nessuna esfiltrazione rilevata.
|
||
Incidente limitato a singolo server. Attualmente in fase di eradicazione.
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Checklist Contenimento Immediato</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th style="width: 50px;">Stato</th>
|
||
<th>Azione</th>
|
||
<th>Timestamp</th>
|
||
<th>Responsabile</th>
|
||
<th>Note</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Sistema compromesso isolato dalla rete</td>
|
||
<td>2024-03-06 08:22</td>
|
||
<td>G. Rossi</td>
|
||
<td>Tutte le interfacce di rete disabilitate</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Account compromessi bloccati</td>
|
||
<td>2024-03-06 09:30</td>
|
||
<td>G. Rossi</td>
|
||
<td>Account m.ferrari@azienda.it disabilitato</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>IP/domini malevoli bloccati su firewall</td>
|
||
<td>2024-03-06 09:45</td>
|
||
<td>L. Verdi</td>
|
||
<td>3 IP C2 bloccati, 2 domini in blacklist</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Evidenze preservate</td>
|
||
<td>2024-03-06 08:35</td>
|
||
<td>A. Neri</td>
|
||
<td>Snapshot, dump RAM, log acquisiti</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Monitoraggio intensivo attivato</td>
|
||
<td>2024-03-06 10:00</td>
|
||
<td>SOC Team</td>
|
||
<td>Scansione completa rete, nessun altro sistema compromesso</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Crisis Team notificato</td>
|
||
<td>2024-03-06 08:25</td>
|
||
<td>L. Verdi</td>
|
||
<td>Call emergenza convocata, CISO e Direzione informati</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center;"><span style="color: var(--success); font-size: 20px;">✅</span></td>
|
||
<td>Direzione informata</td>
|
||
<td>2024-03-06 11:30</td>
|
||
<td>P. Lombardi</td>
|
||
<td>Report completo fornito a CdA</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Eradicazione in Corso</h3>
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-07 09:00</div>
|
||
<div class="action-log-user">System Admin - G. Rossi</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Rimozione Malware</strong><br>
|
||
File malevolo rimosso da quarantena EDR. Scansione completa filesystem con 3 antimalware diversi.
|
||
Nessun residuo rilevato. Verifica hash file sistema contro baseline.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-07 11:30</div>
|
||
<div class="action-log-user">Forensics Team - A. Neri</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Verifica Assenza Persistenza</strong><br>
|
||
Analisi chiavi registro, task schedulati, servizi, startup. Nessun meccanismo di persistenza rilevato.
|
||
Malware non ha avuto tempo di installarsi prima del blocco EDR.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-07 14:00</div>
|
||
<div class="action-log-user">System Admin - G. Rossi</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Hardening Sistema</strong><br>
|
||
Applicati ultimi security patch. Configurazione hardened secondo baseline CIS.
|
||
Disabilitati protocolli legacy. Abilitato logging avanzato.
|
||
Configurazione EDR rafforzata con regole custom anti-ransomware.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="alert-box warning">
|
||
<div class="alert-title">⏳ Prossima Fase: Ripristino</div>
|
||
<div class="alert-content">
|
||
Completata eradicazione. Sistema pronto per ripristino.
|
||
Pianificato ripristino da backup immutabile verificato.
|
||
<br><br>
|
||
<button class="btn btn-primary" onclick="window.location.href='incident-recovery.html?id=INC-2024-047'">
|
||
Avvia Processo di Ripristino
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Communications Section -->
|
||
<div class="section" id="section-communications">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Comunicazioni e Notifiche
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Registro completo di tutte le comunicazioni effettuate: interne, CSIRT, Garante Privacy, utenti, fornitori. Include tracking scadenze notifiche obbligatorie.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
<button class="btn btn-primary" onclick="window.location.href='incident-notification.html?id=INC-2024-047'">
|
||
Gestisci Notifica CSIRT
|
||
</button>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Notifiche Obbligatorie</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th>Destinatario</th>
|
||
<th>Tipo Notifica</th>
|
||
<th>Scadenza</th>
|
||
<th>Stato</th>
|
||
<th>Azioni</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td><strong>CSIRT Italia</strong></td>
|
||
<td>Preallarme (24h)</td>
|
||
<td>2024-03-07 08:15</td>
|
||
<td><span style="color: var(--warning); font-weight: 600;">⏳ Da inviare (18h rimaste)</span></td>
|
||
<td>
|
||
<button class="btn btn-danger" onclick="sendPrealert()">Invia Ora</button>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>CSIRT Italia</strong></td>
|
||
<td>Notifica Completa (72h)</td>
|
||
<td>2024-03-09 08:15</td>
|
||
<td><span style="color: var(--text-secondary);">⏸️ In attesa preallarme</span></td>
|
||
<td>-</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>CSIRT Italia</strong></td>
|
||
<td>Relazione Finale (1 mese)</td>
|
||
<td>2024-04-09</td>
|
||
<td><span style="color: var(--text-secondary);">⏸️ In attesa notifica completa</span></td>
|
||
<td>-</td>
|
||
</tr>
|
||
<tr>
|
||
<td><strong>Garante Privacy</strong></td>
|
||
<td>Data Breach (72h)</td>
|
||
<td>-</td>
|
||
<td><span style="color: var(--success);">✅ Non richiesta</span></td>
|
||
<td>Nessun dato personale esfiltrato</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Comunicazioni Interne</h3>
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-06 08:25</div>
|
||
<div class="action-log-user">CISO → Crisis Team</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Attivazione Crisis Team</strong><br>
|
||
Email + call di emergenza. Convocati: CISO, Direzione, Responsabili IT, Legale, Comunicazione.
|
||
Briefing situazione e attivazione procedura SEV-1.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-06 11:30</div>
|
||
<div class="action-log-user">CISO → Direzione</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Report Direzione</strong><br>
|
||
Report completo incidente fornito a CdA. Situazione sotto controllo, minaccia contenuta,
|
||
nessun danno permanente. Servizio ERP offline preventivamente, ripristino pianificato entro 48h.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-06 12:00</div>
|
||
<div class="action-log-user">Comunicazione → Utenti Interni</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Comunicazione Utenti</strong><br>
|
||
Email a tutti gli utenti ERP: "Servizio ERP temporaneamente offline per manutenzione straordinaria urgente.
|
||
Previsto ripristino entro 48 ore. Ci scusiamo per il disagio."
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Comunicazioni Esterne</h3>
|
||
<p style="color: var(--text-secondary); font-size: 13px;">
|
||
Nessuna comunicazione esterna necessaria. Incidente contenuto internamente senza impatto su clienti o partner.
|
||
</p>
|
||
</div>
|
||
|
||
<!-- Evidence Section -->
|
||
<div class="section" id="section-evidence">
|
||
<div class="section-header">
|
||
<div class="section-title">
|
||
Evidenze e Documentazione Forense
|
||
<span class="help-icon">?
|
||
<div class="tooltip">
|
||
<div class="tooltip-title">HELP DELLA SEZIONE</div>
|
||
Raccolta e catalogazione di tutte le evidenze forensi acquisite durante l'incidente. Include file, log, snapshot, IoC e analisi tecniche.
|
||
</div>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Evidenze Acquisite</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th>Tipo Evidenza</th>
|
||
<th>Descrizione</th>
|
||
<th>Data/Ora Acquisizione</th>
|
||
<th>Hash SHA-256</th>
|
||
<th>Dimensione</th>
|
||
<th>Azioni</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Snapshot VM</td>
|
||
<td>Snapshot completo server ERP-PROD-01</td>
|
||
<td>2024-03-06 08:35</td>
|
||
<td><code style="font-size: 10px;">a3f5...8d2c</code></td>
|
||
<td>2.5 TB</td>
|
||
<td><button class="btn" onclick="viewEvidence('snapshot')">Dettagli</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Memory Dump</td>
|
||
<td>Dump RAM completo</td>
|
||
<td>2024-03-06 08:40</td>
|
||
<td><code style="font-size: 10px;">b7e2...4f1a</code></td>
|
||
<td>32 GB</td>
|
||
<td><button class="btn" onclick="viewEvidence('memory')">Dettagli</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Malware Sample</td>
|
||
<td>File ransomware in quarantena</td>
|
||
<td>2024-03-06 08:15</td>
|
||
<td><code style="font-size: 10px;">c9d4...7e3b</code></td>
|
||
<td>2.4 MB</td>
|
||
<td><button class="btn" onclick="viewEvidence('malware')">Dettagli</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Log EDR</td>
|
||
<td>Log completi EDR 06/03 07:00-10:00</td>
|
||
<td>2024-03-06 10:00</td>
|
||
<td><code style="font-size: 10px;">d1a8...9c5f</code></td>
|
||
<td>450 MB</td>
|
||
<td><button class="btn" onclick="viewEvidence('edr-log')">Dettagli</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Log Sistema</td>
|
||
<td>Event Log Windows ERP-PROD-01</td>
|
||
<td>2024-03-06 10:00</td>
|
||
<td><code style="font-size: 10px;">e2b9...1d6a</code></td>
|
||
<td>120 MB</td>
|
||
<td><button class="btn" onclick="viewEvidence('sys-log')">Dettagli</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Email Phishing</td>
|
||
<td>Email originale con allegato malevolo</td>
|
||
<td>2024-03-06 09:15</td>
|
||
<td><code style="font-size: 10px;">f3c1...2e7d</code></td>
|
||
<td>3.2 MB</td>
|
||
<td><button class="btn" onclick="viewEvidence('email')">Dettagli</button></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Indicatori di Compromissione (IoC)</h3>
|
||
<table class="data-table" style="margin-bottom: 32px;">
|
||
<thead>
|
||
<tr>
|
||
<th>Tipo IoC</th>
|
||
<th>Valore</th>
|
||
<th>Descrizione</th>
|
||
<th>Azioni</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>File Hash</td>
|
||
<td><code style="font-size: 11px;">c9d4a7e3b2f1...</code></td>
|
||
<td>Hash SHA-256 file ransomware</td>
|
||
<td><button class="btn" onclick="shareIoC('hash')">Condividi CSIRT</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>IP C2</td>
|
||
<td><code>185.220.101.47</code></td>
|
||
<td>Server Command & Control</td>
|
||
<td><button class="btn" onclick="shareIoC('ip1')">Condividi CSIRT</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>IP C2</td>
|
||
<td><code>91.219.236.232</code></td>
|
||
<td>Server Command & Control (backup)</td>
|
||
<td><button class="btn" onclick="shareIoC('ip2')">Condividi CSIRT</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Dominio</td>
|
||
<td><code>blackcat-ransom[.]onion</code></td>
|
||
<td>Portale pagamento riscatto</td>
|
||
<td><button class="btn" onclick="shareIoC('domain1')">Condividi CSIRT</button></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Email</td>
|
||
<td><code>invoice@fake-supplier[.]com</code></td>
|
||
<td>Mittente email phishing</td>
|
||
<td><button class="btn" onclick="shareIoC('email')">Condividi CSIRT</button></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h3 style="font-size: 16px; font-weight: 600; margin-bottom: 16px;">Analisi Forense</h3>
|
||
<div class="action-log">
|
||
<div class="action-log-header">
|
||
<div class="action-log-time">2024-03-06 16:00</div>
|
||
<div class="action-log-user">Forensics Team - A. Neri</div>
|
||
</div>
|
||
<div class="action-log-content">
|
||
<strong>Report Analisi Malware</strong><br>
|
||
<strong>Famiglia:</strong> BlackCat/ALPHV<br>
|
||
<strong>Variante:</strong> 2.0 (Rust-based)<br>
|
||
<strong>Comportamento:</strong> Ransomware con doppia estorsione (crittografia + esfiltrazione)<br>
|
||
<strong>Vettore:</strong> Dropper via email phishing<br>
|
||
<strong>Persistenza:</strong> Non installata (bloccato in fase iniziale)<br>
|
||
<strong>Comunicazione C2:</strong> Tentata ma bloccata da firewall<br>
|
||
<strong>Crittografia:</strong> Non avvenuta (EDR ha bloccato prima dell'esecuzione)<br>
|
||
<strong>Esfiltrazione:</strong> Non rilevata<br>
|
||
<br>
|
||
<strong>Conclusione:</strong> Attacco bloccato in fase molto precoce. Nessun danno effettivo.
|
||
EDR efficace nel contenimento. Credenziali compromesse erano il punto debole.
|
||
</div>
|
||
</div>
|
||
|
||
<div class="alert-box info">
|
||
<div class="alert-title">📤 Condivisione IoC</div>
|
||
<div class="alert-content">
|
||
Gli indicatori di compromissione sono stati condivisi con CSIRT Italia per supportare
|
||
la threat intelligence nazionale. IoC inseriti in blacklist firewall e SIEM.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function showTab(tabName) {
|
||
// Nascondi tutte le sezioni
|
||
document.querySelectorAll('.section').forEach(section => {
|
||
section.classList.remove('active');
|
||
});
|
||
|
||
// Rimuovi active da tutti i tab
|
||
document.querySelectorAll('.tab').forEach(tab => {
|
||
tab.classList.remove('active');
|
||
});
|
||
|
||
// Mostra la sezione selezionata
|
||
document.getElementById('section-' + tabName).classList.add('active');
|
||
|
||
|
||
// Attiva il tab selezionato
|
||
event.target.classList.add('active');
|
||
}
|
||
|
||
function exportIncident() {
|
||
const tooltip = document.createElement('div');
|
||
tooltip.style.cssText = `
|
||
position: fixed;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
background: var(--bg-secondary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 8px;
|
||
padding: 24px;
|
||
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
||
z-index: 10000;
|
||
max-width: 500px;
|
||
`;
|
||
tooltip.innerHTML = `
|
||
<h3 style="margin-bottom: 16px; color: var(--text-primary);">📄 Export Documentazione Incidente</h3>
|
||
<p style="color: var(--text-secondary); margin-bottom: 16px; font-size: 13px;">
|
||
Esportazione completa documentazione INC-2024-047
|
||
</p>
|
||
<div style="background: var(--bg-tertiary); padding: 16px; border-radius: 4px; margin-bottom: 16px; font-family: monospace; font-size: 12px;">
|
||
📄 INC-2024-047_Report_Completo.pdf<br>
|
||
📄 INC-2024-047_Timeline.xlsx<br>
|
||
📄 INC-2024-047_Evidenze_Forensi.zip<br>
|
||
📄 INC-2024-047_IoC_List.csv<br>
|
||
📄 INC-2024-047_Comunicazioni.pdf
|
||
</div>
|
||
<button onclick="this.parentElement.remove()" style="width: 100%; padding: 10px; background: var(--accent-primary); border: none; border-radius: 6px; color: white; font-weight: 600; cursor: pointer;">
|
||
Chiudi
|
||
</button>
|
||
`;
|
||
document.body.appendChild(tooltip);
|
||
}
|
||
|
||
function updateIncident() {
|
||
alert('Funzione di modifica incidente. Permette di aggiornare i dati dell\'incidente.');
|
||
}
|
||
|
||
function addAction() {
|
||
const tooltip = document.createElement('div');
|
||
tooltip.style.cssText = `
|
||
position: fixed;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
background: var(--bg-secondary);
|
||
border: 2px solid var(--border-color);
|
||
border-radius: 8px;
|
||
padding: 24px;
|
||
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
||
z-index: 10000;
|
||
max-width: 600px;
|
||
width: 90%;
|
||
`;
|
||
tooltip.innerHTML = `
|
||
<h3 style="margin-bottom: 16px; color: var(--text-primary);">➕ Aggiungi Azione Timeline</h3>
|
||
<div style="margin-bottom: 16px;">
|
||
<label style="display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">Data/Ora</label>
|
||
<input type="datetime-local" style="width: 100%; padding: 10px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary);">
|
||
</div>
|
||
<div style="margin-bottom: 16px;">
|
||
<label style="display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">Responsabile</label>
|
||
<input type="text" placeholder="Nome responsabile" style="width: 100%; padding: 10px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary);">
|
||
</div>
|
||
<div style="margin-bottom: 16px;">
|
||
<label style="display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; color: var(--text-primary);">Descrizione Azione</label>
|
||
<textarea style="width: 100%; padding: 10px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary); min-height: 100px;" placeholder="Descrivi l'azione effettuata..."></textarea>
|
||
</div>
|
||
<div style="display: flex; gap: 12px;">
|
||
<button onclick="this.parentElement.parentElement.remove()" style="flex: 1; padding: 10px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary); font-weight: 600; cursor: pointer;">
|
||
Annulla
|
||
</button>
|
||
<button onclick="alert('Azione aggiunta alla timeline'); this.parentElement.parentElement.remove();" style="flex: 1; padding: 10px; background: var(--accent-primary); border: none; border-radius: 6px; color: white; font-weight: 600; cursor: pointer;">
|
||
Salva Azione
|
||
</button>
|
||
</div>
|
||
`;
|
||
document.body.appendChild(tooltip);
|
||
}
|
||
|
||
function changePhase() {
|
||
const tooltip = document.createElement('div');
|
||
tooltip.style.cssText = `
|
||
position: fixed;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
background: var(--bg-secondary);
|
||
border: 2px solid var(--success);
|
||
border-radius: 8px;
|
||
padding: 24px;
|
||
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
||
z-index: 10000;
|
||
max-width: 500px;
|
||
`;
|
||
tooltip.innerHTML = `
|
||
<h3 style="margin-bottom: 16px; color: var(--success);">▶️ Avanza Fase Gestione</h3>
|
||
<p style="color: var(--text-secondary); margin-bottom: 16px; font-size: 13px;">
|
||
Fase corrente: <strong style="color: var(--text-primary);">Contenimento</strong><br>
|
||
Prossima fase: <strong style="color: var(--success);">Eradicazione</strong>
|
||
</p>
|
||
<div style="background: var(--bg-tertiary); padding: 16px; border-radius: 6px; margin-bottom: 16px;">
|
||
<p style="font-size: 13px; color: var(--text-secondary); margin-bottom: 12px;">
|
||
<strong style="color: var(--text-primary);">Verifiche richieste:</strong>
|
||
</p>
|
||
<ul style="font-size: 13px; color: var(--text-secondary); margin-left: 20px;">
|
||
<li>Contenimento completato e verificato</li>
|
||
<li>Nessuna propagazione rilevata</li>
|
||
<li>Evidenze preservate</li>
|
||
<li>Root cause identificata</li>
|
||
</ul>
|
||
</div>
|
||
<div style="display: flex; gap: 12px;">
|
||
<button onclick="this.parentElement.remove()" style="flex: 1; padding: 10px; background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 6px; color: var(--text-primary); font-weight: 600; cursor: pointer;">
|
||
Annulla
|
||
</button>
|
||
<button onclick="alert('Fase avanzata a: Eradicazione'); this.parentElement.remove(); location.reload();" style="flex: 1; padding: 10px; background: var(--success); border: none; border-radius: 6px; color: white; font-weight: 600; cursor: pointer;">
|
||
Conferma Avanzamento
|
||
</button>
|
||
</div>
|
||
`;
|
||
document.body.appendChild(tooltip);
|
||
}
|
||
|
||
function sendPrealert() {
|
||
window.location.href = 'incident-notification.html?id=INC-2024-047&action=prealert';
|
||
}
|
||
|
||
function viewEvidence(type) {
|
||
const evidenceDetails = {
|
||
'snapshot': {
|
||
title: 'Snapshot VM ERP-PROD-01',
|
||
content: `
|
||
<strong>Tipo:</strong> Snapshot VMware completo<br>
|
||
<strong>Data acquisizione:</strong> 2024-03-06 08:35:12<br>
|
||
<strong>Dimensione:</strong> 2.5 TB<br>
|
||
<strong>Hash SHA-256:</strong> a3f5d7c2e9b1f4a8d6c3e7b2f5a9d8c4e1b7f3a6d9c2e5b8f1a4d7c3e6b9f2a5<br>
|
||
<strong>Percorso storage:</strong> /forensics/INC-2024-047/snapshot_20240306_0835.vmdk<br>
|
||
<strong>Integrità:</strong> ✅ Verificata<br>
|
||
<strong>Chain of Custody:</strong> A. Neri → Storage Forense (accesso limitato)
|
||
`
|
||
},
|
||
'memory': {
|
||
title: 'Memory Dump RAM',
|
||
content: `
|
||
<strong>Tipo:</strong> Dump completo RAM<br>
|
||
<strong>Data acquisizione:</strong> 2024-03-06 08:40:33<br>
|
||
<strong>Dimensione:</strong> 32 GB<br>
|
||
<strong>Hash SHA-256:</strong> b7e2f9a4c1d8e5b3f7a2d9c6e4b1f8a5d3c7e2b9f6a4d1c8e5b3f7a2d9c6e4b1<br>
|
||
<strong>Tool utilizzato:</strong> WinPmem<br>
|
||
<strong>Analisi:</strong> Volatility Framework<br>
|
||
<strong>Artefatti rilevati:</strong> Processo malevolo (PID 4532), connessioni C2 tentate
|
||
`
|
||
},
|
||
'malware': {
|
||
title: 'Sample Malware Ransomware',
|
||
content: `
|
||
<strong>Tipo:</strong> Eseguibile PE32<br>
|
||
<strong>Famiglia:</strong> BlackCat/ALPHV<br>
|
||
<strong>Hash SHA-256:</strong> c9d4a7e3b2f1d8c5e9a6f3b7d2c8e4a1f9b5d3c7e2a8f6b4d1c9e5a3f7b2d8c6<br>
|
||
<strong>Dimensione:</strong> 2.4 MB<br>
|
||
<strong>Linguaggio:</strong> Rust<br>
|
||
<strong>Comportamento:</strong> Ransomware con doppia estorsione<br>
|
||
<strong>VirusTotal:</strong> 58/70 detection<br>
|
||
<strong>Storage:</strong> Quarantena sicura, password-protected
|
||
`
|
||
},
|
||
'edr-log': {
|
||
title: 'Log EDR Completi',
|
||
content: `
|
||
<strong>Periodo:</strong> 2024-03-06 07:00 - 10:00<br>
|
||
<strong>Eventi totali:</strong> 12,847<br>
|
||
<strong>Eventi critici:</strong> 23<br>
|
||
<strong>Formato:</strong> JSON + SYSLOG<br>
|
||
<strong>Dimensione:</strong> 450 MB<br>
|
||
<strong>Alert principali:</strong><br>
|
||
- 08:15:23 - Ransomware execution blocked<br>
|
||
- 08:15:24 - File quarantined<br>
|
||
- 08:15:25 - Process terminated (PID 4532)
|
||
`
|
||
},
|
||
'sys-log': {
|
||
title: 'Event Log Windows',
|
||
content: `
|
||
<strong>Sistema:</strong> ERP-PROD-01 (Windows Server 2019)<br>
|
||
<strong>Log acquisiti:</strong> Security, System, Application<br>
|
||
<strong>Periodo:</strong> 2024-03-06 00:00 - 12:00<br>
|
||
<strong>Dimensione:</strong> 120 MB<br>
|
||
<strong>Eventi rilevanti:</strong><br>
|
||
- 08:14:52 - Logon account m.ferrari (Event ID 4624)<br>
|
||
- 08:15:20 - Process creation suspicious (Event ID 4688)<br>
|
||
- 08:15:23 - EDR intervention (Event ID 1102)
|
||
`
|
||
},
|
||
'email': {
|
||
title: 'Email Phishing Originale',
|
||
content: `
|
||
<strong>Mittente:</strong> invoice@fake-supplier[.]com<br>
|
||
<strong>Destinatario:</strong> m.ferrari@azienda.it<br>
|
||
<strong>Oggetto:</strong> "Fattura urgente - Pagamento scaduto"<br>
|
||
<strong>Data ricezione:</strong> 2024-03-06 07:45:12<br>
|
||
<strong>Allegato:</strong> invoice_2024_03_06.zip (2.4 MB)<br>
|
||
<strong>Contenuto ZIP:</strong> invoice.exe (ransomware dropper)<br>
|
||
<strong>Headers:</strong> SPF fail, DKIM fail<br>
|
||
<strong>Analisi:</strong> Phishing mirato, social engineering
|
||
`
|
||
}
|
||
};
|
||
|
||
const detail = evidenceDetails[type];
|
||
const tooltip = document.createElement('div');
|
||
tooltip.style.cssText = `
|
||
position: fixed;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
background: var(--bg-secondary);
|
||
border: 1px solid var(--border-color);
|
||
border-radius: 8px;
|
||
padding: 24px;
|
||
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
|
||
z-index: 10000;
|
||
max-width: 600px;
|
||
width: 90%;
|
||
`;
|
||
tooltip.innerHTML = `
|
||
<h3 style="margin-bottom: 16px; color: var(--text-primary);">🔍 ${detail.title}</h3>
|
||
<div style="background: var(--bg-tertiary); padding: 16px; border-radius: 6px; margin-bottom: 16px; font-size: 13px; line-height: 1.8;">
|
||
${detail.content}
|
||
</div>
|
||
<button onclick="this.parentElement.remove()" style="width: 100%; padding: 10px; background: var(--accent-primary); border: none; border-radius: 6px; color: white; font-weight: 600; cursor: pointer;">
|
||
Chiudi
|
||
</button>
|
||
`;
|
||
document.body.appendChild(tooltip);
|
||
}
|
||
|
||
function shareIoC(type) {
|
||
alert('IoC condiviso con CSIRT Italia tramite portale dedicato. Inserito in blacklist firewall e SIEM.');
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|