2012-07-24 7 views
7

Wir implementieren eine Enterprise-Anwendung mit einem starken Fokus auf Sicherheit, einschließlich des Hochladens von Dateien. Diese Dateien müssen mit Viren gescannt werden, müssen aber auch verschlüsselt werden.In-Memory-Scannen von Dateien, idealerweise mit ClamAV

Der aktuelle Prozess besteht darin, dass die Dateien hochgeladen und dann - über einen Verschlüsseler - in einen temporären Speicherbereich auf der Festplatte gestreamt werden. Der Virenscanner wird dann aufgerufen und die Dateien werden im Handumdrehen entschlüsselt, über einen Socket an ClamAV weitergeleitet - und dann der Virenstatus vom Socket zurückgegeben.

Das Problem ist, dass ClamAV scheint vor dem Scannen in einen temporären Bereich auf der Festplatte zu schreiben, was unverschlüsselte, potenziell sensible Daten auf dem Dateisystem bedeutet.

Kann jemand das beheben? Möglicherweise, indem Sie ClamAV so konfigurieren, dass nur In-Memory gescannt wird (meine Google-Suche ergab keine Ergebnisse) oder vielleicht alternative Vorschläge?

+0

kann nicht einfach in dieses Dateisystem mounten mit einem TrueCrypt-Containern ? Die Anwendungen schreiben also in einen gesicherten Speicherplatz auf der Festplatte. –

+0

Wenn Sie nicht den Swap verschlüsselt haben, wird der 'Speicher' möglicherweise auf die Festplatte geschrieben. Und ein Angreifer könnte den Speicher einfrieren, um seinen Inhalt zu erhalten. –

+0

Ich denke, der Aspekt der Erinnerung ist auch wichtig. Danke. Eigentlich schätze ich alle Kommentare. Danke euch allen. – Martin

Antwort

6

Ich gehe hier davon aus, dass Sie clamd verwenden, da Sie mit ihm über eine Buchse sprechen nicht clmscan das CLI-Tool.

In diesem Fall können Sie es über die Anweisung TemporaryDirectory in Ihrer clamd.conf so konfigurieren, dass es auf ein verschlüsseltes Dateisystem für temporäre Speicherung verweist, das etwas wie dm-crypt (https://help.ubuntu.com/community/EncryptedFilesystemHowto) verwendet. - Ich hoffe das hilft.

Referenz von Mann 5 clamd.conf:

TemporaryDirectory STRING 
      Optional path to the global temporary directory. 
      Default: system specific (usually /tmp or /var/tmp). 
1

Das einfachste, was ich mir vorstellen kann, ist die Verwendung einer RAM-Disk.

Vielleicht sollten Sie überprüfen, ob ClamAV eine komplexere API für eine solche Aufgabe hat.

4

Es ist ein gutes Beispiel:

Java API zur Erkennung von Viren Mit ClamAV Antivirus

http://nsinfra.blogspot.ca/2011/06/java-api-to-detect-virus-using-clamav.html

Dieser Beitrag beschreibt die Ansatz zum Scannen von Dateien zur Erkennung von Trojanern, Viren, Malware und anderen bösartigen Bedrohungen mit Java-APIs.

Folgende Punkte wurden behandelt: über ClamAV Antivirus Anleitung ClamAV Antivirus auf Linux-Rechner Ansatz zur Installationsdatei mit ClamAV Java API zum Scannen Virus erkennen

Verwandte Themen