06 - Malware Flashcards
Definition: Malware
Software mit bösartiger Wirkung
Einordnung von Malware (3)
1) Replikation
2) Populationswachstum
3) Parasitismus
Definition: Replikation
Die Malware versucht, sich aktiv zu verbreiten, z.B. Herstellen von Kopien oder neuen Instanzen von sich selbst.
Definition: Populationswachstum
Beschreibt die Veränderung der Anzahl der Malware-Instanzen aufgrund von Replikation
Definition: Parasitismus
Die Malware benötigt einen Wirt um zu existieren, z.B. Bootblock-Code, ausführbarer Binärcode, Source-Code, Macros und Skriptsprachen.
Malware-Typ: Logische Bombe
Diese relativ klein und schwer auffindbare Malware besthet aus einer Nutzlast (eine beliebige böswillige Aktivität) und einen Auslöser (boolesche Bedingung, die entscheidet, ob die Nutzlast ausgeführt wird).
Einordnung: Logische Bombe
Replikation: Nein
Populationswachstum: Keins
Parasitismus: Möglich
Malware-Typ: Trojanisches Pferd
Ein Programm, das eine vom Nutzer gewünschte Funktionalität besitzt, sowie eine vom Benutzer nicht gewünschte Funktionalität, die verborgen und ohne Einwilligung des Nutzers ausgeführt wird.
Einordnung: Trojanisches Pferd
Replikation: Nein
Populationswachstum: Keines
Parasitismus: Ja
Malware-Typ: Hintertür
Malware, die dediziert dafür vorgesehen ist, Sicherheitsmaßnahmen des Systems umzugehen, auf dem sie existiert. Hintertüren können in Programme eingefügt sein (via trojanisches Pferd) oder eigenständig existieren.
Einordnung: Hintertür
Replikation: Nein
Populationswachstum: Keines
Parasitismus: Möglich
Malware-Typ: Virus
Malware, die sich beim Ausführen verbreitet, indem sie sich selbst in Wirten einnistet, diese also infiziert. Die initiale Infektion wird ggf. von einem als Dropper bezeichneten Trojanischen Pferd durchgeführt.
Einordung: Virus
Replikation: Ja
Populationswachstum: Positiv
Parasitismus: Ja
Malware-Typ: Wurm
Malware, die sich beim Ausführen verbreitet, indem sie sich über ein Netzwerk in Wirtssystemen einnistet. Ein Wurm existiert eigenständig im Wirtssystem
Einordnung: Wurm
Replikationen: Ja
Populationswachstum: Positiv
Parasitismus: Nein
Malware-Typ: Kaninchen/Bakterium
Malware, die sich möglichst schnell repliziert, um Ressourcen des Wirtssystems zu erschöpfen.
Einordnung: Kaninchen/Bakterium
Replikationen: Ja
Populationswachstum: Positiv
Parasitismus: Nein
Malware-Typ: Spyware
Malware, die ohne Einwilligung des Nutzers vertrauliche oder sensitive Daten vom Wirtssystem über das Netzwerk zu einem verborgenen Empfänger sendet. Spyware wird i.d.R. mit gutartiger Software gebündelt.
Einordnung: Spyware
Replikationen: Nein
Populationswachstum: Keines
Parasitismus: Nein
Einordnung: Adware
Replikationen: Nein
Populationswachstum: Keines
Parasitismus: Nein
Malware-Typ: Adware
Marketingorientierte Spyware, die gelegentlich gezielte Werbung anzeigt, das Konsumprofil des Nutzers ermittelt und i.d.R. ohne Einwilligung des Nutzers über ein Netzwerk versendet.
Malware-Typ: Zombie und Botnetz
Malware, die einem Angreifer bösartige Funktionalität über das Netzwerk fernsteuerbar zur Verfügung stellt, z.B. DoS-Verkehr erzeugen. Ein Verbund von Zombies, der vom Angreifer wie eine Einheit ferngesteuert werden kann, nennt man Botnetz
Eigenschaften: Zombie und Botnetz
Replikationen: Nein
Populationswachstum: Keines
Parasitismus: Nein
Definition: Infektionsvektoren (Viren)
Verschiedene Verbreitungsansätze. Multipartitie Viren nutzen mehrere Infektionsvektoren
Definition: Auslöser (Viren)
Wie wird entschieden, ob die Nutzlast aktiv wird (optional)?
Definition: Nutzlast (Viren)
Was tut der VIrus, außer sich zu verbreiten? (optional)
Beispiele: Virus Targets (3)
1) Boot Sektor
2) Ausführbare Datei
3) Source-Code-Datei
Vorgehensweise: Infektion des Boot-Sektors (4)
1) Originalen Bootblock kopieren und Überschreiben
2) Der originale Bootblock wird noch zum hochfahren des Systems vom Virus gebraucht
3) Da die saubere Blockallokation zu viel Platz im Bootblock kosten würde, wird die Kopie an fester Stelle gespeichert.
4) Jetzt erhält der Virus beim Bootvorgang die Kontrolle noch bevor das Betriebssystem und Anti-Virus-SW geladen werden.
Gegenmaßnahme: Infektion des Boot-Sektors
Blockschutz im BIOS
Vorgehensweise: Infektion von Dateien (3)
1) Der virus sucht nach aufsührbare Dateien oder Dokumente mit interpretierbarem Programmcode (Zieldateien genannt)
2) Der Virus fügt sich in die Datei ein bzw. verknüpft sich mit dieser
3) Virus erhält Kontrolle beim Ausführen der Datei bzw. des Programmcodes im Dokument
Methoden: Infektionen von Dateiein (6)
1) Dateianfang überschreiben
2) Dateimitte überschreiben
3) Vollständig ersetzen
4) Einstreuen in ungenutze Füllbereiche (z.B. exe Dateien)
- Hier bleibt die Dateigröße aber immer unverändert
5) Vorhängen vor die Datei
6) Anhängen an die Datei
Definition: Begleit-Viren
Hier trägt der Virus denselben Namen wie der ursprüngliche Wirt und wird vor dem Wirtsprogram aufgerufen. Der Virus selbst ruft danach das Wirtsprogramm auf und somit bleibt dieses Programm auch unverändert.
Definition: Quell-Code Viren
Hier infiziert der Virus Quellcodes des Wirtsprogramms. Die infektionsstellle bliebt dennoch nicht offensichtlich, da der Virus erst beim kompilieren wirksam wird. Dadurch ist er auch unabhängig von der Hardware-Plattform
Definition: Dokumenten-Viren
Jetzt infiziert der Virus spezifische, nicht-ausführbare Dokumente. Dennoch umfasst das Dokumentenformat eine Makrosprache, welcher von Applikationen die das Dokumentenformat verstehen, auch die Makrosprache interpretieren und ausführen können. Der Virus infiziert dann genau diese Makros. Mittlerweile wird der User bei den meisten Applikationen gefragt ob die Makros die enthalten sind ausgeführt werden sollen, was gegen diesen Virus schützt.
Definition: Passive Erkennungsvermeidung
Dieser Begriff umfasst alle Maßnahmen von Viren so gut wie möglich ihre erkennung zu vermeiden. Dies wären insbesondere die Erkennung von Nutzer und Anti-Virus Programme
Statische Passive Erkennungsvermeidung (3)
1) Dateigröße anpassen
2) Zeitstempel anpassen
3) Nicht-kryptographische Checksumme
Dyanmische Passive Erkennungsvermeidung
Ursprüngliche Datei-/Bootblockmerkmale und -inhalte zur Laufzeit im Speicher dauerhaft vorhalten und bei I/O-Anfragen einspielen (vgl. Kernel-Rootkits)
Verschlüsselungsarten für Viren (5)
1) Einfache Verschlüsselung
2) Statischer Schlüssel
3) Variabler Schlüssel
4) Substitution
5) Starke Verschlüsselung
Verschlüsselung von Viren: Oligomorphie
Hier wird verschieden ausgewählt welcher Teil verschlüsselt wird und statisch Verschlüsselt - also erkennbar da er von einem Pool statischer Dekryptoren (ca. 30-100) zufällig gewählt wird.
Verschlüsselung von Viren: Polymorphie
Jetzt ist zwar der Pool von Dekryptoren größer (milliarden), aber trotzdem erkennbar da sie statisch sind. Dennoch muss darauf geachtet werden das sich der Virus nicht überinfektiert (also zu schnell verbreitet). Dies erfolgt über verdeckte Kanäle wie ungenutzte Dateibereiche.
Definition: Code-Mutation/-Obfusication
Die randomisierte Ersetzung von Code-Sequenz durch andere, Äquivalente Code-Sequenz
Schritte: Viren-Bekämpfung (3)
1) Erkennung
2) Identifikation
3) Desinfektion
Statische Virenerkennung
Dieser Ansatz erforder nicht, dass der Virus-Code ausgeführt wird. Es kann über Viren-Scanner erfolgen der entweder auf Anfrage des Nutzers gestartet wird oder beim kontinuierlichem Laufen im Hintergrund.
Idee der Integritätsprüfung
Viren verändern Daten, um sich zu verbreiten. Unautorisierte Datenänderungen geben Hinweis auf den Virus. Die Datenbasis für den späteren Vergelich muss auf einen virusfreien System erzeugt werden.
Ansätze: Datenintegritätsverifikation (3)
1) Periodische Prüfung
2) Selbstprüfung vor Programmstart, insbesondere Anti-Viren-SW
3) Prüfung vor Ausführung, z.B: durch Betriebssystem
Vorteile: Datenintegritätsverifikation (2)
1) Hohe Performanz
2) Erkennt bekannte und unbekannte VIren
Nachteile: Datenintegritätsverifikation (3)
1) Aufwendige Wartung, insbesondere in großen Rechnerverbünden
2) Falsche Alarme
3) Keine Identifikation entdeckter Viren –> Desinfektion nicht unterstützt
Definition: Dynamische Erkennung von Viren
Diese Erkennungsmethode erfordert, dass der Virus-Code ausgeführt wird.
Definition: Anomalieerkennung
Spezifizieren erlaubter Aktivitäten, davon abweichende Aktivität ist eine Anomalie
Forschungsansatz von Forrest (Anomalieerkennung)
In der Trainingsphase:
Aktivitätsfolgen von nicht-infiziertem Programmen erheben; Berechnung von Signaturen fester Länge, die diese Aktivitätsfolgen abdecken.
Zur Laufzeit:
Überschreitet die beobachtete Anzahl von Aktivitätsfolgen mit der SIgnaturlänge, die nicht in der Signatur-Datenbank enthalten sind, einen Schwellwert, ist eine Anomalie aufgetreten
Vorteil: Anomalieerkennung mittels Forrest
Erkennt bekannte und unbekannte Viren/Angriffe
Nachteile: Anomalieerkennung mittels Forrest (2)
1) Training und Einstellen des Verfahrens für jedes zu prüfende Programm notwendig (Signaturlänge, Schwellenwert)
2) Keine Identifikation erkannter Viren –> Desinfektion nicht unterstützt.
Definition: Generische Entschlüsselung
Virus entschlüsselt sich zur Laufzeit. Erkennung der vollständigen Entschlüsselung z.B. bei Ausführen zuvor veränderter Daten. Nach Entschlüsselung statisch scannen
Vorteile: Emulation (2)
1) Virus befällt nur emulierte Umgebung, Echtsystem bleibt sauber.
2) Erkennt bekannte und unbekannte, sowie polymorphe Viren
Nachteile: Emulation (4)
1) Hoher Ressourcenaufwand
2) Unerkennbare Emulation schwierig zu implementieren
3) Keine Identifikation erkannter Viren –> Desinfektion nicht unterstützt.
4) Virus kann während der Emulation inaktiv bleiben
Definition: Aktive Erkennungsvermeidung
Methoden von Malware sich gezielt gegen Anti-Viren Programme zu wehren und somit aktive Analyse der Malware zu erschweren
Ziele: Aktive Erkennungsvermeidung (3)
1) Funktionsfähigkeit der Anti-Viren-SW unterbinden/herabsetzen
2) Virenanalyse des Anti-Viren-SW-Herstellers erschweren/verzögern
3) Entdeckung vermeiden, indem Wissen über Funktionsweise der Anti-Viren-SW ausgenutzt wird
Definition: Retroviren
Hier wird vorhandene Anti-Viren-SW aktiv abgeschaltet oder behindert. Der Virus beendet entweder die Prozesse vom Antivirus oder schaltet es dauerhaft ab durch Modifikation im Sekundärspeicher. Es kann sogar die Host-Datei manipuliert werden um aktualisierungen zur Antivirus SW zu verhindern
Nachteil: Retroviren
Leicht vom Nutzer zu erkennen.
Ansätze: Emulation umgehen, erkennen oder stören (7)
1) Aussitzen
2) Unnötige Berechnungen ausführen bis Emulator abbricht wenn die Abbruchheursitik bekannt ist.
3) Falls Emulator Ergebnisse vorheriger Läufe gecached sind mit geringer Wahrscheinlichkeit infizieren
4) Dynamische Heuristieken vermeiden
5) Verteilen des Dekryptors
6) Mehrfaches Entschlüsseln des Virus
7) Grenzen testen
Debugging Erkennen (Aktive Erkennungsvermeidung)
Die interrupts vom CPU erkennen und unverdächtigen Code ausführen
Gemeinsamkeit mit Viren: Würmer
1) Verschiedene Infektionsvektoren, Multipartite Würmer
2) Tarnmechanismen
3) Anti-Anti-Viren-SW-Methoden
Gegenmaßnahmen: Präventiv gegen Würmer (5)
1) Aktuelle Fehlerbeseitigung durch Patchen
2) Maßnahmen gegen Exploits
3) Verkehrsnormalisierung zur Unterstützung von Netz-IDS
4) Ungenutzte Dienste deaktivieren / filtern
5) Ausgangsverkehr
Gegenmaßnahmen: Reaktiv gegen Würmer (5)
1) Aufmerksame Administratoren
2) Verbindungsrate bei Ziel-Auffächerung drosseln
3) Anti-Viren-SW prüft nicht alle Wurm-Infektionsvektoren
4) Intrusion-Detection and Response
5) Honeypots
Infektionsvektoren: Wurm (4)
1) Vertrauensbeziehungen ausnutzen
2) Identische Passwäörter von Nutzern auf verschiedenen Rechnern
3) Puffer-Überlauf-Exploit für VAX-Plattform
4) Debug-Hintertür
Tarnmaßnahmen: Wurm (6)
1) Datei- und Prozessname sh
2) Kommandoparameter löschen
3) Temporäre Dateiein löschen
4) Speicherabzüge verhindern
5) Strings, Wurm-Objektcode und Lader-Quellcode chiffriert
6) Prozess periodisch erneuern
Allgemeine Empfehlungen gegen Malware (5)
1) Verlagern von sensiblen Daten auf externe Speichermedien
2) Sensible Daten verschlüsseln
3) Rechte minimieren
4) Integrität von Software und Softwareupdates durch digitale Signatur überprüfen
5) Code-Inspektion (soweit möglich)