In Java geschriebene Malware nutzt Java-Lücke aus
Kaspersky Labs hat eine komplett in Java geschriebene Malware zur Analyse erhalten und auf den Namen „HEUR:Backdoor.Java.Agent.a“ getauft. Der Schädling nutzt eine Lücke in der Java Runtime Environment (JRE) für Oracle Java SE 7, Update 21 und früher aus, die bereits seit Juni 2013 geschlossen ist.
Trotzdem sind weltweit Millionen Rechner gefährdet, deren Besitzer ihre Java-Installation nicht aktuell halten. Der Bot befällt aufgrund seiner Programmierung in Java sowohl Windows- als auch Linux- und OS-X-Rechner. Die Infektion findet zumeist auf präparierten Webseiten statt und reiht den Rechner nach gelungener Infektion in ein Botnetz ein, dessen Ziel DDoS-Attacken sind. Damit sollen Webseiten zeitweise unerreichbar gemacht werden.
Die Entwickler des Bots haben sich große Mühe gegeben, diesen zu verschleiern. Sie setzen dazu den Java Obfuscator Zelix Klaasmaster ein, ein Werkzeug, das normalerweise zum Absichern des Java-Codes vor Re-Engineering dient, in diesem Fall aber der Verschleierung der Absichten der Software dient. Anton Ivanov schreibt dazu im Kaspersky-Blog, dass Zelix Klaasmaster hier nicht nur den Bytecode verschleiert, sondern auch String-Konstanten verschlüsselt, wobei Zelix für jede Klasse einen eigenen Schlüssel generiert. Dies erschwert die Entschlüsselung erheblich, da zur Analyse sämtliche Klassen durchsucht werden müssen, um die Schlüssel aufzustöbern.
Nach dem ersten Start kopiert sich der Bot in das Verzeichnis des Anwenders und sorgt dafür, dass er beim Systemstart aktiv wird. Hierzu benutzt er unter Windows den Registryschlüssel HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run, unter OS X wird der Dienst launchd benutzt und unter Linux trägt sich der Bot unter /etc/init.d/ ein. Jeder Bot kann über einen numerischen Code identifiziert werden, der in der Datei jsuid.dat abgelegt wird. Damit lässt sich eine DDoS-Attacke zielgenau orchestrieren, indem jedem Bot seine Zieladresse, die Portnummer sowie die Anzahl der Threads und die Dauer des Angriffs übermittelt werden. Kontrolliert werden die Bots über das IRC-Protokoll. Zur Implementierung wird das PircBo-Frameworkt eingesetzt; die nötigen Klassen sind in der Malware integriert.