Zum Inhalt

ADR-022: Malware-Prüfung von Vertrags-PDFs

Stand: 09.08.2026 12:34 Branch: main Status: Akzeptiert

Datum, Uhrzeit Version Änderung Autor
09.08.2026 12:34 1.0 Eigenbetriebenen ClamAV-Scanservice und verbindlichen Quarantäneprozess für Vertrags-PDFs festgelegt Codex

Kontext

UC00 verarbeitet ausserhalb der Anwendung unterzeichnete Vertragsdokumente als hochgeladene PDF-Dateien. Diese Dateien stammen nicht aus einem vollständig kontrollierten Erstellungsprozess und können Schadsoftware, aktive Inhalte oder manipulierte Strukturen enthalten. Eine Weitergabe vollständiger Vertragsdokumente an einen externen Analysedienst würde einen zusätzlichen Empfänger und eine weitere datenschutzrechtlich zu prüfende Verarbeitung schaffen.

Eine Malware-Prüfung allein erkennt nicht jede neue oder gezielt angepasste Schadsoftware. Sie muss deshalb mit Format-, Struktur-, Quarantäne-, Zugriffs- und Überwachungsmassnahmen kombiniert werden.

Entscheidung für V1

  1. Vertrags-PDFs werden mit einem eigenbetriebenen ClamAV-Scanservice geprüft. ClamAV Daemon (clamd) läuft als eigener gehärteter, nicht privilegierter und ressourcenbegrenzter Container innerhalb der Hetzner-Produktivinfrastruktur.
  2. Der Scanservice darf in V1 auf derselben Hetzner-Worker-Infrastruktur wie weitere Backend-Dienste betrieben werden, bleibt aber durch Container, Prozesskonto, Dateisystem, Netzwerkregeln sowie CPU- und Arbeitsspeichergrenzen getrennt. Für ClamAV werden mindestens 4 GB Arbeitsspeicher eingeplant.
  3. Der Scanservice ist nicht öffentlich erreichbar. Die Anwendung greift ausschliesslich über das private interne Netz und eine restriktiv freigegebene Verbindung zu. Der ungeschützte ClamAV-TCP-Port wird weder im Internet noch für andere Dienste freigegeben.
  4. FreshClam aktualisiert die offiziellen Schadsoftware-Signaturen mindestens stündlich. Version, Signaturalter, Aktualisierungsfehler, Scannerstatus, Scanfehler, Zeitüberschreitungen, Funde und Quarantänebestand werden überwacht.
  5. Vollständige Vertragsdokumente werden nicht an VirusTotal oder einen anderen externen Malware- oder Sandbox-Dienst übertragen. Ein späterer externer Dienst benötigt einen neuen Fach-, Datenschutz-, Sicherheits-, Vertrags- und Kostenentscheid.

Verbindlicher Prüf- und Freigabeablauf

  1. Vor der Malware-Prüfung werden die Grenze von 10 MB, Dateiendung, MIME-Typ, Magic Bytes und die PDF-Struktur geprüft.
  2. Passwortgeschützte oder verschlüsselte PDFs sowie PDFs mit JavaScript, automatischen Startaktionen, eingebetteten Dateien oder anderen nicht freigegebenen aktiven Inhalten werden abgewiesen.
  3. Ein akzeptierter Upload wird mit zufälligem Objektschlüssel und kundenseitig verwalteter Verschlüsselung im privaten Quarantänebereich des Nürnberger Objektspeichers abgelegt.
  4. Der Scanworker liest die Datei kontrolliert aus der Quarantäne und überträgt ihren Inhalt an clamd. Temporäre lokale Daten werden nur im isolierten Arbeitsbereich gehalten und nach dem Scan gelöscht.
  5. Nur ein technisch erfolgreicher Scan mit eindeutig sauberem Ergebnis darf die Übernahme in den endgültigen privaten Vertragsbereich auslösen. Dabei wird das Objekt erneut verschlüsselt gespeichert und das Quarantäneobjekt gelöscht.
  6. Bei Schadsoftwarefund, Scanfehler, Zeitüberschreitung, nicht erreichbarem Scanner, fehlender Signaturdatenbank oder Signaturen, die älter als die festgelegte Freigabeschwelle sind, bleibt die Datei gesperrt. Das System arbeitet ausfallsicher geschlossen und meldet keinen erfolgreichen Upload.
  7. Fehlgeschlagene und gesperrte Quarantäneobjekte werden gemäss RF-21 spätestens nach 24 Stunden vollständig gelöscht. Minimierte Sicherheits- und Löschereignisse bleiben nach den jeweils geltenden Protokollfristen erhalten.

Umgang mit signierten Dokumenten

Signierte Vertrags-PDFs werden weder bereinigt noch neu geschrieben, weil jede Inhaltsänderung elektronische Signaturen, Dokumenthashes oder deren Nachweiswert ungültig machen kann. Ein Dokument ist entweder unverändert zulässig und sauber geprüft oder wird abgewiesen. Content Disarm and Reconstruction (CDR, Entfernung oder Rekonstruktion aktiver Dokumentinhalte) ist für signierte Vertragsdokumente in V1 nicht freigegeben.

Überwachung und Betrieb

  • Als Freigabeschwelle gilt: Die letzte erfolgreiche Signaturaktualisierung darf höchstens zwei Stunden zurückliegen. Die stündliche Aktualisierung schafft dafür einen Fehlversuch als Betriebspuffer.
  • Grafana Cloud alarmiert bei nicht erreichbarem Scanner, Signaturalter über einer Stunde, fehlgeschlagenen Aktualisierungen, Scanfehlern, Zeitüberschreitungen, Funden und nicht fristgerecht bereinigter Quarantäne. Ab zwei Stunden Signaturalter werden neue Dateien nicht freigegeben.
  • Der Scanner wird mit Positiv- und Negativdateien, der ungefährlichen EICAR-Testdatei, strukturell unzulässigen PDFs sowie simulierten Ausfällen geprüft. Echte Schadsoftware wird nicht in das Repository übernommen.
  • ClamAV-Version und Containerbasis werden kontrolliert aktualisiert. Nicht mehr unterstützte Versionen oder ausbleibende Signaturupdates sperren die Produktivfreigabe.
  • Scanner- und Parserkomponenten erhalten keine Objektspeicher-, Datenbank- oder Anwendungsschreibrechte ausser den für den definierten Arbeitsablauf zwingend erforderlichen, kurzlebigen Berechtigungen.

Kosten- und Skalierungsregel

ClamAV verursacht keine nutzungsabhängige Gebühr pro Datei. Für V1 werden die ohnehin betriebene Worker-Infrastruktur und ein getrennter Container genutzt. Eine eigene Scan-Instanz wird erforderlich, wenn Ressourcenmessungen, Uploadvolumen, Verfügbarkeit oder die Risikobewertung zeigen, dass die Trennung auf derselben Worker-Infrastruktur nicht mehr ausreicht. Diese Bewertung erfolgt vor Produktivstart und danach mindestens jährlich.

Konsequenzen

  • Vertragsdokumente verlassen für die Malware-Prüfung nicht die kontrollierte DiveLogix360-Infrastruktur.
  • Betrieb, Aktualisierung, Überwachung und Störungsbehebung der Scan-Engine liegen bei DiveLogix360.
  • Ein Scanner- oder Signaturausfall verzögert Uploads, gibt aber keine ungeprüften Dateien frei.
  • Die technische Umsetzung, Ressourcendimensionierung, Härtung sowie Positiv-, Negativ-, Ausfall- und Alarmtests bleiben vor Produktivbetrieb nachzuweisen.

Geprüfte Alternativen

Externer Malware- oder Sandbox-Dienst

Nicht gewählt. Der Dienst wäre wartungsärmer, erhielte aber vollständige vertrauliche Vertragsdokumente und müsste als weiterer Auftragsverarbeiter einschliesslich Regionen, Unterauftragnehmern, Aufbewahrung und Löschung freigegeben werden.

clamscan als Einzelprozess je Upload

Nicht gewählt. Das wiederholte Laden der Signaturdatenbank verursacht unnötige Startzeit und Ressourcenlast. Der dauerhaft laufende clamd-Dienst ist für kontrollierte wiederholte Scans geeigneter.

Eigene Scan-Instanz ab V1

Zurückgestellt. Eine eigene Instanz erhöht Isolation und unabhängige Skalierbarkeit, verursacht für das anfänglich geringe Uploadvolumen aber zusätzliche Betriebs- und Infrastrukturkosten. Die ressourcenisolierte Containerlösung wird vor Produktivstart durch Last- und Ausfalltests bestätigt.

Verweise