31
Gefahren durch Trojaner und Malware

Gefahren durch Trojaner und Malware - uni-muenster.de · Arbeitsweise eines Trojaners • Der Trojaner-Server für den Client ist eine Schnittstelle zur Betriebssystem-API (Application

Embed Size (px)

Citation preview

Gefahren durch Trojaner und Malware

Ablauf einer Trojaner-Infektion

• Es gibt verschiedene Möglichkeiten für Trojaner, einen Computer zu befallen. Bei fast allenTrojanern ist das Zutun eines Anwenders füreine Aktivierung erforderlich. Das heißt, die Programmdatei muss mindestens einmalmanuell gestartet werden, um gefährlich zuwerden. Ausnahmen sind Infektionen die RPC oderandere Sicherheitslücken ausnutzen.

Wie sind Trojaner aufgebaut?

• Ein Backdoor-Trojaner besteht immer aus mindestens zwei Teilen. Dem gefährlichenTrojaner-Server, manchmal auch Host genannt, und dem Trojaner-Client, über den sich ein Angreifer mit dem Server verbindet. Sobald ein Server installiert wird, öffnetdieser einen Port (Kanal) zur Kommunikation übers Internet. Über den offenen Port kann sich dann ein Angreifer mit dem Opfer-PC verbinden und seine schädlichenAktionen beginnen.

Die einzige Information, die der Angreifer benötigt, ist die IP-Adresse seines Opfers. Ein Weg, diese ausfindig zu machen, ist, sich vom Opfer zum Beispiel eine Email schicken zu lassen. Die IP-Adresse kann im Email-Header ausgelesen werden. Auchmittels Netstat kann die IP abgefragt werden, wenn eine Instant-Message über eineDirektverbindung empfangen wird.

Angreifer, die nur aus Spaß ohne ein bestimmtes Angriffsziel Trojaner verwenden, nutzen auch Portscanner, mit denen ganze Netzwerkbereiche nach offenen Trojaner-Ports durchsucht werden können. Trojaner verwenden unterschiedliche Ports damitsie nicht sofort erkannt werden. Bei vielen Servern kann der Angreifer den verwendeten Port auch manuell ändern, bei manchen sogar im laufenden Betrieb.

Portscanner

Arbeitsweise eines Trojaners

• Der Trojaner-Server für den Client ist eineSchnittstelle zur Betriebssystem-API (Application Programming Interface) des Opfer-Computers. Der Server empfängt vom Client Anweisungen, in denen definiert ist was er tun und zurückgeben soll. Je nach Komplexität des Servers kann dieser mehr oder wenigerFunktionen ausführen. MeistgenutzteFunktionen sind das Ausspähen von Passwörtern und geheimen Dokumenten.

Schnittstelle zur API

Trojaner-Funktionen (Beispiel)

• Die folgenden Screenshots sind vom Trojaner „NET DEVIL“, Version 1.5.

Ordner und Dateien durchsuchenEine Standardfunktion bei Trojanern. Damit kann der Angreifer den PC seines Opfers nachbestimmten Dateien durchsuchen und dieseanschließend auf den eigenen PC übertragen. Ebenso kann der Angreifer Dateien auf den Opfer-PC laden. Der Angreifer hat meistens im Client-Programm die gesamteOrdnerstruktur abgebildet und kann dortverschiedene Funktionen ausführen (Ordner und Dateien erzeugen, verändern und löschen, etc.).

Dateimanager

Passwörter ausspähen

Prozesse anzeigen

Fenster abfragen

Damit kann sich ein Angreifer einen Überblickverschaffen, welche Fenster auf dem Opfer-PC geöffnetsind. Sichtbare aber auch unsichtbare Fenster könnendamit geschlossen werden (z.B. Programme im System-Tray).

Dem Angreifer stehen unterschiedliche Funktionen zurVerfügung. Er kann Fenster einfrieren, den Schließen-Button deaktivieren, den Fenstertitel verändern, den Focus auf andere Fenster legen und eine Textsequenzan das Fenster schicken.

Fenster abfragen

Chat mit dem Opfer

• Chat mit dem OpferDamit kann der Angreifer einen Chat mitdem Opfer starten. Diese auffälligeFunktion versetzt jeden unerfahrenen PC-Besitzer in Angst, da dieser nicht weiß, wer sich hier mit ihm unterhalten will.

Chat mit dem Opfer

Webcam fernsteuern

• Viele private User verfügen bereits über eine Webcam. Auch wenn diese nicht gerade vom Besitzer verwendet wird, kann sie der Angreifer nutzen, um sein Opfer zu beobachten. Das Opfer merkt davon nichts. Eine Webcam bietet die maximale Überwachung des Opfers.

Webcam fernsteuern

Screenshots erstellen

Damit der Angreifer genau sehen kann, was sein Opfer gerade auf dem PC macht, kann er ein Bildschirmfoto erstellen. Die Screenshots können dann gesondertabgespeichert werden.

Screenshots erstellen

Keylogger

• Als Keylogger bezeichnet man eine Funktion, die alle Tastenanschläge aufzeichnen kann. Damit lassen sich zum Beispiel Passwörter, die der Benutzer eintippt, abfangen.

Keylogger

Systemregistrierung editieren

• Dem Angreifer sind in seinen Möglichkeiten kaum Grenzen gesetzt. Er kann auch die Registry editieren. Es lassen sich auch neue Sektionen und Werte anlegen. Praktisch um z.B. Autostarteinträge für den Trojaner-Server zu verändern oder andere Programm beim Systemstart automatisch starten zu lassen.

Systemregistrierung editieren

Plugins

• Einige weit verbreitete Trojaner-Server haben eine Plugin-Schnittstelle. Damit können sich Angreifer den Server so zusammenstellen, wie sie ihn benötigen und selbst Plugins für den Trojaner entwickeln. Der Kreativität im Entwurf neuer Schadensroutinen sind hier keine Grenzen gesetzt.

Erweiterte Features

• Versteckspiel

Moderne Trojaner wie zum Beispiel Optix können sich auf dem befallenen PC sehr gut verstecken. Sie manipulieren dazu die Windows-API Aufrufe, die für die Anzeige der Dateien im Explorer oder in der Registry zuständig sind. Der Benutzer hat dann keine Möglichkeit mehr, den Trojaner manuell zu finden, da er unsichtbar ist. Nur der Angreifer weiß wo sich der Server versteckt und wie man ihn wieder abstellt.

Antivirus und Firewall deaktivieren

Ebenso eine häufig eingesetzte Methode unentdeckt zu bleiben ist es, alle aktiven Antiviren-Programme oder Firewalls abzuschalten oder zu deaktivieren. Der Trojaner-Server bleibt somit unerkannt auf dem PC.

Personal Firewalls umgehen

Eine bemerkenswerte Leistung erbringt der Trojaner "Assasin 2". Dieser kann Desktop Firewallsumgehen. Das Funktionsprinzip ist relativ einfach erklärt. Der Trojaner injiziert sein Kommunikationsmodul in ein Programm, das sicher durch die Firewall darf. Der MS Internet Explorer eignet sich daher als Opfer sehr gut. Assasin hijacked quasi den Browser um durch ihn nach draußen verbinden zu können. Der PC-Benutzer merkt nichts davon und fühlt sich sicher.

Abhilfe

• Anti-Trojaner Tools

Der einfachste Weg für Anwender den PC „sauber“ zu halten, ist ein Anti-Trojaner Programm zu installieren. Diese Programme durchsuchen alle Laufwerke nach Trojaner-Dateien und bieten meist auch noch Hintergrundwächter an, die aufpassen, dass sich Trojaner erst gar nicht einnisten können.

Je nach Tool wird auch die Registry nach Autostarteinträgen durchsucht und der Speicher geprüft um einen maximalen Schutz zu gewährleisten. Auch Anti-Viren Tools finden Trojaner, können diese jedoch meist nicht in der Qualität eines speziellen Anti-Trojaner Tools entfernen. Manche Anti-Viren Programme scheitern beim Versuch, eine Trojanerdatei zu bereinigen, da nach einer virenartigen Signatur in Programmdateien gesucht wird, welche es aber in Trojanern nicht gibt, da Trojaner wie jedes andere Programm aufgebaut sind. Gute Anti-Trojaner Tools bieten ständig Updates der Trojanersignaturen-Datenbank an um immer die aktuellsten Trojaner erkennen und beseitigen zu können. Einen Nachteil haben solche Tools jedoch. Es können nur Trojaner erkannt werden, die den Entwicklern bereits bekannt sind und sich in der Signaturen-Datenbank befinden.

Firewalls

• Hier muss man unterscheiden zwischen Firewalls, die durch Filterung der übertragenen Daten einen Transfer von Trojanern verhindern, und solchen, die die Kommunikation nach Außen für Trojaner unterbinden.

Erstere können zwar verhindern, dass sich ein Trojaner über das Internet in ein lokales Netzwerk einschleicht indem z.B. bestimmte Dateitypen geblockt werden, jedoch schützen diese nicht vor bereits aktiven Trojanern, die womöglich über andere Wege als das Internet in das lokale Netzwerk gelangt sind.

Portblocker-Firewalls• Portblocker-Firewalls basieren auf dem Prinzip, dass erstmal alle

Kommunikationsports gesperrt, und dann stückweise die benötigten Ports geöffnet werden. Die wichtigsten Ports die man nicht sperren sollte sind: 21 (FTP), 25 (SMTP), 80 (HTTP), 110 (POP3), etc. Jenachdem welche Dienste man im Internet verwenden möchte, muss man jedoch Ports öffnen. Spätestens hier ist die Sache mit der Sicherheit jedoch schon wieder relativ. Die Portnummern bei Trojaner sind meist variabel, d.h. ein Angreifer kann den Trojaner z.B. so modifizieren, dass Port 80 verwendet wird. Somit können Trojaner-Server auch durch Firewalls hindurch mit dem Angreifer kommunizieren.

Portblocker-Firewalls können nur einen passiven Schutz gegen Trojaner bieten. Wenn in einem lokalen Netzwerk auf einem PC einTrojaner aktiv ist, kann er trotzdem immer noch intern im LAN verwendet werden.

Proxy und NAT

• Proxy-Server oder NAT-Netzwerke schützen nicht vor Angreifern, die sich mit einem installierten Trojaner hinter dem Proxy- bzw. NAT-Server verbinden wollen. Auch Trojaner sind mittlerweile Proxy- und NAT-fähig und verbinden sich selbständig nach außen zum Angreifer.

Programme und Ports im Griff

• Wenn Sie sich nicht auf Schutzsoftware verlassen möchten, sollten Sie alle aktiven Programmtasks auf Ihrem PC kennen. Ihnen sollte sofort auffallen, wenn ein Ihnen neues Programm läuft, welches einen Port offen hält. Mit dem Kommandozeilen Tool „netstat“ können Sie alle aktiven Verbindungen abfragen und anschließend diese manuell den aktiven Programmen zuordnen.

Autostarteinträge im Griff

• Trojaner benötigen Autostarteinträge um beim Systemstart automatisch geladen zu werden. Sie sollten alle Programme kennen, die an den folgenden Orten automatisch geladen werden:

Startmenü – AutostartWird von Trojanern kaum genützt, da sehr leicht zu finden.

autoexec.batKaum von Windows-Trojanern genützt, hauptsächlich für DOS-Programme verwendet.

config.sysEbenfalls hauptsächlich für DOS-Programme.

system.iniBeim Eintrag „shell=“ können Programme geladen werden.

win.iniÜber die Sektionen „run=“ und „load=“ werden manchmal Trojaner geladen.

Systemregistrierung (Registry)

• So gut wie alle neuen Trojaner nutzen die Registry um automatisch geladen zu werden. Die wichtigsten Positionen sind:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

sowie

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

Weitere Möglichkeiten sind durch Plugin- und Modul-Keys gegeben. Ein Trojaner kann sich z.B. als Active-X Control in die Registry schreiben um beim Start verschiedener Programme geladen zu werden. Eine andere trickreiche Möglichkeit sind die Dateitypen-Registrierungen. Bei jedem Dateityp kann festgelegt werden, mit welchem Programm eine solche Datei aufgerufen werden soll. Manche Trojaner nutzen das um beim Aufruf jeglicher Dateien gestartet zu werden.

Um einen Trojaner sicher zu entfernen, beenden Sie zuerst den Programmtask, löschen Sie dann die Programmdatei und entfernen Sie anschließend die Autostarteinträge.