RANSOMEWARE ist bei der IT-Sicherheit das Thema dieses Jahres. Was kann man tun?
Bei unserem heutigen Treffen mit Administratoren verschiedener Firmen kam das Thema "Honeypot" auf. Die "Ransomeware" scheint so codiert zu sein, daß sie beginnend mit "Z:" alle Laufwerksbuchstaben
rückwärts (Richtung "A:") durchgeht, bis sie ein gültiges Netzlaufwerk findet, dass sie dann "verschlüsseln" kann.
Legt man nun im Laufwerk "Z:" einen Ordner mit einer Datei an, die "Niemand braucht", auf die aber jeder Berechtigung hat, dann muß man eigentlich nur warten, bis ein Programm schreibend diese Datei verändert - und kann dann sofort "Alarm" auslösen.
Der Matrix42 Package Robot hat von Haus aus Features, die das unterstützen.
Das ist vor allem der Befehl "WFC\" - WAIT FOR CHANGE.
Dieser Befehl greift nun nicht dauernd auf Platte oder Verzeichnis zu.
Stattdessen wird eine Benachrichtigungs-API des NTFS-Dateisystems verwendet.
Dadurch wird das Verzeichnis beobachtet, ohne dass die Festplatte sich überhaupt dreht!
Lesezugriffe werden dabei ignoriert -also der Antivirus stört auch nicht!
Der Befehl reagiert nur, wenn schreibend in dem angegebenen Ordner etwas gespeichert wird.
Das passt!
So nun wurde also in dem Verzeichnis etwas geschrieben. Nun prüfen wir noch die Prüfsumme unserer Testdatei.
Stimmt diese nicht mit der Prüfsumme überein, die die Datei direkt nach dem Start hatte, geben wir Alarm.
Dieses Package-Robot Script sieht so aus:
Code: Select all
VAR\$$FOL=?pfad\honeypot\
VAR\$$FIL=$$FOLManuskript.doc
' Original-Prüfsumme der Datei ermitteln
GMD\1\$$FIL
VAR\$$HAA=$v1$
' Das Folgende ist die ganze Hauptschleife
:Loop
' Befehl wartet unbegrenzt auf Schreib-Zugriffe auf dieses Verzeichnis
WFC\$$FOL
IEF\$$FIL
GMD\1\$$FIL
VAR\$$HAS=$v1$
' Wenn Prüfsummen nicht gleich
IVV\$$HAS!$$HAA
VAR\$$ERR=Prüfsumme dser Datei hat sich geändert!
GOTO Alert
EVV\
MBX\$$HAS
ELSE
VAR\$$ERR=Datei ist nicht zugreifbar oder nicht vorhanden.
GOTO Alert
EEF\
GOTO Loop
@
:Alert
MBX\Hier wird nun eine Alarm ausgelöst!$crlf$$$ERR
@
Man könnte nun unter Anwendung von FEF\ auch von mehrere Dateien die Prüfsummen vergleichen.
Was aber, wenn nun ein raffinierter Virus - (oder ein Mitarbeiter aus Versehen) den "Robot" beendet?
Auch hierfür bietet der MPR eine Absicherung, das ist der "Watchdog".
Der "Watchdog" - einmal gestartet, prüft ob der "Robot" bzw. das Skript läuft, und falls nicht startet er eine EXE-Datei oder ein beliebiges "MPR-Skript". Zur Not auch genau das Gleiche erneut.
Um den Watchdog zu verwenden genügt eine einzige Zeile am Anfang des Skriptes:
Code: Select all
' Watchdog benutzen!
WDL\c\Alert.rem
Zusätzlich muß es also die Datei "Alert.rem" geben.
Da steht in diesem kurzen Beispiel nur drin:
Code: Select all
MBX\Achtung die Überwachung der Ransomware wurde beendet!
@
Der MPR Watchdog hat noch weitere interessante Möglichkeiten um zu kontrollieren, daß Skripte innerhalb strenger Toleranzen laufen, mehr dazu in der Hilfe zu WDL\ und WDM\.
WICHTIG: Das Skript muß auf dem PC laufen, wo die Platten physisch drin stecken!
So nun spinnen wir das noch etwas weiter. Nehmen wir mal an, das Z:-Laufwerk wäre unbenutzt.
Wir hängen da nun einen Hochleistungs-PC dran:
- Windows XP, 1-Core CPU, 1 TB Festplatte mit sinnlosen Dokumenten. Netzwerkanbindung nicht größer als 10 MBit.
"Warum so viel Leistung?" wird sich mancher fragen?
Während der Virus noch beschäftigt ist, das 1 Terrabyte (an sinnlosen Daten) via 10 MBit zu übetragen und zu verschlüsseln haben wir ja den Alarm und die Reaktionszeit.
Man kann dann sogar hergehen, und nach der Alarmauslösung den Robot zu sinnlosen "CFF\ und CTF\" Operationen verwenden, um die Schnelligkeit der Platte weiter zu drosseln. Die Platte sollte natürlich komprimiert sein.
Hier ist Langsamkeit Trumpf.