38
Systeme 1 Kapitel 10 Sicherheit WS 2009/10 1

Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

Embed Size (px)

Citation preview

Page 1: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

1

Systeme 1

Kapitel 10 Sicherheit

WS 2009/10

Page 2: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

2

IBM System Storage-KompendiumDie IBM Speichergeschichte von 1952 bis 2010

http://www-03.ibm.com/systems/data/flash/de/resources/ibm_storage_compendium_de.pdf

WS 2009/10

Page 3: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

3,5“: 1 TB bzw. 146 GB SSD12“, 720 m: 1,4 MB

1,3 PBIBM 726 mit 4 Bändern: 5,6 MB

1952 2009

Page 4: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

4

Inhalt

• Schutz– Kryptografie– Schutzmechanismen– Authentifizierung

• Angriffe– Insider-Angriffe– Ausnutzen von Programmierfehlern– Malware

• AbwehrmechanismenWS 2009/10

Page 5: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

5

Malware• Malware:

– Trojanische Pferde– Viren– Würmer– Spyware– Rootkits

• Ziel: So schnell wie möglich über das Internet zu verbreiten und dabei so viele Maschinen wie möglich infizieren.

• Anschließend wird eine Software installiert, die die Adresse des Rechners meldet.

• Zusätzlich wird eine Hintertür (backdoor) installiert um die Maschine zu kontrollieren. Maschine ist ein Zombie. Botnet = Sammlung solcher Zombies.

Ziel: Überwiegend kommerzielle Hintergründe (z.B. Spam Versand), DoS- bzw. DDoS-Angriffe, …WS 2009/10

Page 6: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

6

Exkurs: Denial of Service

• Denial of Service (DoS): Angriff auf ein Host (Server) in einem Datennetz mit dem Ziel einen oder mehrere Dienste durch Überlast arbeitsunfähig zu machen.

Erfolgt der Angriff koordiniert von einer großen Anzahl an Rechnern (z.B. Botnet) spricht man von Distributed Denial of Service (DDoS)

• Funktionsweise: Der Host wird mit einer größeren Anzahl an Anfragen belastet als dieser verarbeiten kann. Daraufhin stellt dieser den Dienst ein (z.B. durch Absturz) oder kann reguläre Anfragen nur langsam bearbeiten, so dass diese abgebrochen werden.

WS 2009/10

Page 7: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

7

Malware

• Weitere Ziele:– Installation eines Keyloggers

• Passwortspionage• Spionage von Kreditkartendaten

– Missbrauch beim Onlinebanking– Bei Konkurrenzunternehmen Produktionsprozess stören.– etc. …

• Weshalb verbreitet sich Malware so leicht?– Ca. 90% der Leute nutzen ein System (Microsoft).Attraktiv hierfür Malware zu entwickeln.

WS 2009/10

Page 8: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

8

Trojanische Pferde

• Prinzip wie beim griechischen Mythos: Malware wird in ein kostenloses (nützliches) Programm (z.B. Spiele) eingebaut.

• Beim Programmstart wird die Malware installiert und gestartet.

Angreifer muss nicht ins System eindringen! Benutzer öffnet den PC freiwillig.

WS 2009/10

Page 9: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

9

Viren• Definition: Ein Virus ist ein Programm (meistens in Assembler oder C

geschrieben), dass sich vervielfältigt, indem es sich an den Code von anderen Programmen anhängt.

• Funktionsweise: – Das Virus wird in ein Programm (Spiele, Raubkopien, …) eingefügt und verteilt.– Beim Start werden andere Programme auf der Maschine infiziert.– Anschließend wird der Schadcode (payload) ausgeführt.

• Virusarten:– Companion-– Programm-– Speicher-– Bootsektor-– Gerätetreiber-– Makro-– Quellcodeviren

WS 2009/10

Page 10: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

10

Companion-Viren

• Infiziert nicht wirklich ein Programm, sondern wird statt eines Programms ausgeführt.

• Beispiel:– Verknüpfung (symbolische Links) zu einem

Programm wird abgeändert, so dass das Virus ausgeführt wird.

– Das Virus startet anschließend das original Programm, so dass der Benutzer nichts merkt.

WS 2009/10

Page 11: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

11

Programmviren

• Überschreibende Viren (overwriting virus):– Ein ausführbares Programm wird mit einem Virus komplett

überschrieben.– Um unentdeckt zu bleiben, könnten Maßnahmen getroffen

werden, die Änderungszeit und die Dateigröße unverändert zu lassen.

– Problem: Das überschriebene Programm erledigt nicht mehr seine Aufgabe und wird leicht entdeckt.

• Parasitäre Viren (parasitic virus):– Hängen sich an ein Programm an.– Infiziertes Programm arbeitet „normal“ weiter.– Hierzu muss das Virus und das Programm in RAM geladen werden.

WS 2009/10

Page 12: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

12

Parasitäre Viren

– Anschließend muss die Startadresse im Header auf das Virus zeigen und zurück auf die Platte kopiert werden.

– Problem: Größe des Programms ändert sich, wenn das Virus an den Anfang oder das Ende kopiert wird.

WS 2009/10

Ausführbares Programm

Header

Ausführbares Programm

Header

Virus

Ausführbares Programm

Header

Virus

Page 13: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

13

Parasitäre Viren

• Moderne Binärformate ermöglichen es, dass ein Programm aus mehreren Segmenten bestehen darf.

• Meistens sind alle Segmente ein Vielfaches von 512 Byte (Windows).

• Ist ein Segment nicht voll, wird es mit Nullen aufgefüllt.

Virus kann dies für sich ausnutzen, indem es sich in die Lücken kopiert.

Falls das Virus in die Lücken passt, bleibt die Dateigröße unverändert!

WS 2009/10

Ausführbares Programm

Header

Virus

Virus

Virus

Virus

Page 14: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

14

Speicherresidente Viren• Bisher: Virus wird mit ausführbaren Programm ausgeführt und gibt nach

seiner Beendigung die Kontrolle an das eigentliche Programm ab.• Das speicherresidente Virus bleibt hingegen die ganze Zeit im RAM.• Vorgehensweise: Intelligente Viren modifizieren die Speicher-Bitmap um

dem Betriebssystem vorzutäuschen, dass der Speicherbereich des Virus bereits belegt ist. Virus wird nicht „ausversehen“ überschrieben.

• Typischerweise erbeutet ein speicherresidenter Virus einen der Interruptvektoren z.B. für Systemaufrufe. Hierbei speichert er den Inhalt des Vektors. Bei jedem Systemaufruf wird das Virus ausgeführt. Nach seiner Ausführung startet das Virus den eigentlichen Vektor.– Beispiel: exec-Systemaufruf: Das Virus infiziert die als Parameter übergebene

Datei, da das Virus weiß, dass es sich hierbei um ein ausführbares Programm handelt.

Virus muss nicht nach geeigneten Dateien suchen.WS 2009/10

Page 15: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

15

Bootsektorviren• Rekapitulation des Bootprozesses:

– BIOS lädt den Master Boot Record (MBR) vom Anfang der Boot-Platte in das RAM.

– MBR wird ausgeführt und bestimmt welche Partition aktiv ist.– Anschließend wird der Bootsektor eingelesen und ausgeführt.– Das im Bootsektor enthaltene Programm lädt dann entweder das

Betriebssystem oder einen Loader, der dann seinerseits das BS lädt.• Bootsektorviren überschreiben den Master Boot Record oder Bootsektor.• Bootsektorviren sichern hierzu den echten Bootsektor auf einen sicheren

Platz auf der Platte, so dass das Virus das BS hochfahren kann.• Versteck des Virus:

– Erste Plattenspur: Formatierungsprogramm fdisk von MS lässt diese aus.– Freier Plattensektor: Virus trägt den Sektor in die Liste der fehlerhaften

Sektoren ein, um sein Versteck als defekt zu kennzeichnen.• Nach dem Booten, kopiert sich das Virus wieder in den RAM.WS 2009/10

Page 16: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

16

Gerätetreiberviren

• Ziel: Virus soll offiziell geladen werden.Gerätetreiber infizieren• Gerätetreiber sind ausführbare Programme, die

auf der Platte leben und während des Bootvorgangs geladen werden.

Treiber läuft im Kernmodus nachdem er geladen wurde.

Systemaufrufvektor kann leichter erobert werden.

WS 2009/10

Page 17: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

17

Verbreitung von Viren

• Kostenloses Programm mit Virus schreiben und z.B. auf Shareware-Webseiten verteilen.

• Infizierte Maschine über LAN weitere Maschinen infizieren lassen.

• Dokumente infizieren und per E-Mail verteilen– Besser: Das Adressbuch der infizierten Maschine durchsuchen und

an alle Kontakte schicken.– Im Jahr 2000 verbreitete sich das „I LOVE YOU“-Virus auf diese Art.

• Über ein Internetcafé anonym zunächst das LAN infizieren, welches anschließend (mit Verzögerung) das Virus ins Internet freilässt.

WS 2009/10

Page 18: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

18

Würmer• Wurm = selbst replizierendes Programm• Der erste Wurm wurde am 2.11.1988 von Robert

Tappan Morris freigelassen. Heute Prof. am M.I.T.

• Er entdeckte zwei Programmierfehler in UNIX, die es ihm erlaubte über das Internet unautorisierten Zugriff auf eine Maschine zu erlangen.

• Der Wurm bestand aus zwei Teilen:– Ladeprogramm für den Wurm.– Der Wurm selbst.

• Das Ladeprogramm wurde auf der Zielmaschine kompiliert und gestartet um den Wurm nachzuladen.

• Der Wurm tarnte sich und durchsuchte die Routing-Tabelle seines neuen Wirts, um festzustellen, mit welchen Maschinen der Computer verbunden war, um weitere Maschinen zu infizieren.

WS 2009/10

Page 19: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

19

Würmer• Es wurden drei Methoden ausprobiert, um eine Maschine zu infizieren:

– rsh (remote shell): Einige Maschinen trauten sich untereinander und verlangten keine Authentifizierung.

– finger: Der finger-Daemon wurde mit einer 536 Byte langen Zeichenkette zu einem Pufferüberlauf gebracht (siehe letzte Vorlesung). Hierdurch wurde versucht sh zu starten.

– sendmail: Ein Fehler erlaubte es das Wurmladeprogramm zu versenden und ausführen zu lassen.

• Der Wurm versuchte die Passwörter der Benutzer zu knacken und sich anschließend in andere Systeme damit einzuloggen um den Wurm zu verbreiten.

• Programmierfehler: Wurm prüfte ob er bereits auf dem System ist. Falls ja, beendete er sich, außer in einem von sieben Fällen.– Das Verhältnis 1:7 erzeugte zu viele Würmer, weshalb alle infizierte Maschinen

zum Stillstand kamen. Wurm wurde entdeckt

WS 2009/10

Page 20: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

20

Würmer

• Konsequenz des ersten Wurms:– Einrichtung des CERT (Computer Emergency Response

Team)• CERT:

– Zentrale Anlaufstelle um Eindringversuche zu melden.– Experten analysieren Sicherheitsprobleme und entwickeln

Gegenmaßnahmen.– Sammeln Informationen über Schwachstellen in Systemen.– Informationen werden an Systemadministratoren verteilt. Problem: Angreifer erhalten die Fehlerberichte und können

die Schlupflöcher nutzen, bis diese geschlossen sind.

WS 2009/10

Page 21: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

21

Unterschied Viren - Würmer

• Viren infizieren ausführbare Dateien und verbreiten sich durch Weitergabe dieser Infizierten Dateien bzw. durch Programme die Viren enthalten.Autarke Verbreitung

• Würmer warten nicht passiv auf die Weiterverbreitung. Sie versuchen aktiv über das Netz Maschinen zu infizieren.

WS 2009/10

Page 22: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

22

Spyware• Wird ohne das Wissen des Besitzers auf seinen PC geladen und läuft

im Hintergrund.• Eigenschaften von Spyware:

1. Verstecken sich, damit der Benutzer sie nicht finden kann.2. Sammeln Daten über den Benutzer (besuchte Webseiten, Passwörter,

Kreditkartendaten etc.)3. Senden die gesammelten Informationen zurück.4. Sind hartnäckig bemüht alle Löschversuche zu überleben.

• Kategorien:1. Marketing: Über gesammelte Informationen soll gezielt Werbung

eingesetzt werden.2. Überwachung: Unternehmen platzieren absichtlich Spyware um ihre

Mitarbeiter zu kontrollieren.3. Zombie: Um Kontrolle über die Maschine (siehe Folie 5) zu erlangen.

WS 2009/10

Page 23: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

23

Rootkits

• Definition: Programm, dass versucht seine Existenz zu verbergen, selbst wenn der Besitzer zielstrebige Anstrengungen unternimmt, das Rootkit zu finden und zu entfernen.

• Ziel: Nach dem Einbruch in ein System das Rootkit installieren, um zukünftige Logins zu erleichtern sowie zu verbergen und Prozesse bzw. Dateien zu verstecken.Rootkit dient dazu Malware vor dem Entdecken zu

schützen.

WS 2009/10

Page 24: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

24

Rootkitarten• Firmware-Rootkits: Theoretisch könnte sich ein Rootkit durch ein BIOS-

Reflash mit einer Kopie von sich selbst dort verstecken (bisher noch nicht aufgetreten).

• Hypervisor-Rootkits: Verändert die Boot-Reihenfolge, so dass beim Anschalten der Hypervisor direkt auf der Hardware ausgeführt wird. Der Hypervisor startet dann das BS in einer virtuellen Maschine. Rootkit-Detektoren finden kein Rootkit.

• Kern-Rootkits: Infiziert das BS und versteckt sich darin als Gerätetreiber oder ladbares Kernmodul.

• Bibliothek-Rootkits: Rootkit versteckt sich in der Systembibliothek (z.B. libc in Linux). Dies bietet die Möglichkeit die Argumente und Rückgabewerte von Systemaufrufen zu untersuchen und bei Bedarf zu modifizieren, um sich versteckt zu halten.

• Anwendungs-Rootkits: Versteckt sich vorzugsweise in große Anwendungen die viele Dateien erzeugen (Benutzerprofile, Bildvorschauen, etc. …) und somit nicht auffällt.WS 2009/10

Page 25: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

25

Erkennung von Rootkits

• Beim Hypervisor: Performanz zwischen realer Maschine und virtueller Maschine vergleichen.

• Allgemeine Suche nach Rootkit: Da ein Rootkit im Betriebssystem die Suche verfälschen könnte, sollte ein LiveBS verwendet werden.

• Weitere Möglichkeit:Nach einer Neuinstallation Hashwerte aller Dateien bilden. Liste außerhalb speichern und bei einer Suche die Dateien und die Liste miteinander vergleichen.

WS 2009/10

Page 26: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

26

Prominentes Beispiel: Sony-Rootkit

• 2005 wurden ca. 20 Mio. CD‘s mit einem Rootkit ausgeliefert.• In Windows wird beim Einlegen einer CD nach der autorun.inf

gesucht, die eine Liste von möglichen auszuführenden Aktionen enthält. Hierdurch wurde leise und ohne Einverständnis ein 12 MB Rootkit

installiert und eine Lizenzvereinbarung ohne Hinweis auf das Rootkit angezeigt, sobald die CD eingelegt wurde.

• Ziel: Rootkit sollte nach 200 bekannten Kopierprogrammen suchen. Falls eins gefunden wurde, wurde der Benutzer aufgefordert dieses zu beenden. Nur wenn der Benutzer der Lizenzvereinbarung zustimmte und alle

Kopierprogramme beendete konnte die Musik abgespielt werden.– Das Rootkit blieb jedoch installiert, selbst wenn der Lizenz nicht

zugestimmt wurde!WS 2009/10

Page 27: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

27

Sony-Rootkit: Funktionsweise

• In den Windows-Kern wurde eine Anzahl von Dateien, deren Namen mit $sys$ begannen, eingefügt.

• Eine Datei war ein Filter, der alle Systemaufrufe vom CD-Laufwerk abhörte und allen Programmen außer dem Musikprogramm von Sony verbot die CD zu lesen. Ein (legales) Kopieren war somit nicht mehr möglich!

• Ein anderer Filter fing alle Aufrufe zum Lesen von Dateien, Prozessen und Registrierungslisten ab und löschte alle Einträge, die mit $sys$ begannen. Somit wurde das Rootkit versteckt.

Doch das Rootkit wurde entdeckt.

WS 2009/10

Page 28: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

28

Reaktion seitens Sony• Thomas Hesse (Präsident von Sony BMG):

„Die meisten Menschen, denke ich, wissen noch nicht einmal, was ein Rootkit ist, also warum sollten sie sich daran stören.“

• Sony war der Meinung, ihr geistiges Eigentum schützen zu können.• Nach öffentlichem Druck wurde ein Patch ausgeliefert, der das verbergen der

$sys$-Dateien entfernte. Das Rootkit blieb aber installiert!

• Nach mehr öffentlichem Druck wurde ein Deinstallationsprogramm veröffentlicht.– Um dieses zu erhalten musste man seine E-Mail Adresse angeben und zustimmen

Werbematerial zu erhalten (=Spam). Das Deinstallationsprogramm hatte allerdings technische Fehler, wodurch der infizierte

Rechner höchst anfällig für Angriffe aus dem Internet wurde!• Im nachhinein wurde bekannt, dass das Rootkit teilweise Code aus Open-

Source-Projekten enthielt! => Urheberrecht verletzt• 2007 gab Sony zu, dass die Software auch Hörgewohnheiten überwachte und

diese an Sony übermittelte. => Verletzung des Gesetzes.WS 2009/10

Page 29: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

29

Inhalt

• Schutz– Kryptografie– Schutzmechanismen– Authentifizierung

• Angriffe– Insider-Angriffe– Ausnutzen von Programmierfehlern– Malware

• AbwehrmechanismenWS 2009/10

Page 30: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

30

Abwehrmechanismen

• Konzept der Defense-in-Depths-Strategie:– Es sollten mehrere Sicherheitsschichten

vorhanden sein, so dass bei einem Ausfall einer Schicht noch andere Schichten existieren, die überwunden werden müssen.

• Methoden:– Firewalls– Virenscanner– Modellbasierte Angriffserkennung

WS 2009/10

Page 31: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

31

Firewalls

• Gefahren durch das Internet: ankommende und abgehende Verbindungen.

• Ankommende: – Angreifer, die versuchen in den Computer einzudringen.– Viren, Spyware bzw. andere Malware

• Abgehende:– Bekanntwerden von vertraulichen Informationen wie

Kreditkartendaten, Passwörter, Persönliche- oder Firmendaten.• Firewallvarianten: Software- und Hardware-Firewalls

WS 2009/10

Firewall Webserver E-Mail-Server FTP-Server

LANNetzwerkverbindung

Hardware-Firewall:

Page 32: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

32

Firewalls• Es können keine Pakete das LAN betreten oder verlassen, ohne die

Firewall zu passieren.• Hierzu werden Firewalls mit Regeln konfiguriert, die beschreiben,

welche Ein- und Ausgänge erlaubt sind.• Zustandslose Firewall (stateless firewall): Der Header jedes

durchkommende Pakets wird untersucht und auf Grund dessen und auf Basis der Firewallregeln die Entscheidung getroffen. Im Header stehen unter anderem die Quell- und Zieladresse, der Quell- und Zielport, Art des Dienstes und des Protokolls.

• Zustandsbehaftete Firewall (stateful firewall): Die Verbindung wird nachverfolgt und die Firewall weiß, in welchem Zustand sich die Verbindung befindet.

• Angriffserkennungssystem (intrusion detection system): Nicht nur Paket-Header, sondern auch der Inhalt wird untersucht.

WS 2009/10

Page 33: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

33

Virenscanner

• Firewalls versuchen Angreifer fernzuhalten. Falls dies allerdings misslingt, sollte ein Virenscanner zum Einsatz kommen.

• Entdeckung neuer Viren:– Im Labor wird das Virus isoliert. Anschließend wird

ein Listing seines Codes in eine Datenbank eingetragen.

– Antivirenprogramm durchsucht auf dem System alle ausführbaren Dateien nach Viren aus der Datenbank.

WS 2009/10

Page 34: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

34

Virenscanner• Da Varianten bekannter Viren auftauchen, die nur geringfügige

Änderungen aufweisen, ist eine „unscharfe“ Suche erforderlich.– Verfahren ist langsamer– Können falschen Alarm (false positive) auslösen, falls ein Programm vage

Codeähnlichkeit besitzt.– Falls aber zu genaue Codeähnlichkeit vorhanden sein muss, können Viren

die leicht verändert sind übersehen werden. Balance zu finden ist schwer. Es sollte daher der Kerncode des Virus

herausgefunden werden, welcher als Signatur dient und sich höchstwahrscheinlich nicht ändert!

• Um Sicherheit zu gewährleisten, sollte der Virenscanner häufig laufen.

• Da die Suche langsam ist, besteht eine Strategie darin nur Dateien zu durchsuchen, die seit dem letzten mal verändert wurden. Allerdings kann das Virus das Änderungsdatum fälschen.WS 2009/10

Page 35: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

35

Virenscanner

• Eine weitere Methode ist, die Länge aller Dateien zu protokollieren und auf der Platte zu speichern.Virus kann seine Entdeckung vermeiden, indem er das

Programm komprimiert und auffüllt.

WS 2009/10

Ausführbares Programm

Header

Komprimiertes ausführbares

Programm

Header

KompressorDekompressor

Virus

ungenutzt

Originalgröße

Header

Virus

Ausführbares Programm

Datei ist länger

– Hierzu muss das Virus sowohl die Kompressions- als auch die Dekompres-sionsroutinen enthalten.

Page 36: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

36

Virenscanner• Um der Entdeckung zu entgehen muss das Virus seine

Repräsentation auf der Platte anders als den Eintrag in der Datenbank aussehen lassen.

• Hierzu kann sich das Virus mit einem Schlüssel verschlüsseln, der für jede Datei unterschiedlich ist.

WS 2009/10

Komprimiertes ausführbares

Programm

Header

KompressorDekompressor

Verschlüsselter Virus

ungenutzt

EntschlüsslerSchlüssel

Verschlüssler

Komprimiertes ausführbares

Programm

Header

KompressorDekompressor

Verschlüsselter Virus

ungenutzt

EntschlüsslerSchlüssel

Verschlüssler

Ver-schlüs-selt

Originalgröße Originalgröße– Dieser Schlüssel (z.B. 32-Bit Zufallszahl) muss zusammen mit einem Ver- und Entschlüssler abgespeichert werden.

– De- und Kompressor, sowie Verschlüssler ist allerdings in jeder Datei gleich und kann dem Virenscanner als Signatur dienen. Auch diese Komponenten sollten

verschlüsselt werden.

Page 37: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

37

Virenscanner• Die Entschlüsselungsfunktion kann allerdings nicht verschlüsselt

werden.– Virenscanner muss nach Entschlüsselungsfunktion suchen.– Als Gegenmaßnahme versucht das Virus die Funktion zu verschleiern:

• NOP (no operation) einfügen, Addition +0, Verschiebung um 0-Bit, nutzlosen Code einfügen, etc.

– Bei jeder Kopie könnte sich das Virus selbst verändern, so dass die Funktion allerdings funktional erhalten bleibt.Polymorpher Virus

Problem: Virenscanner kann nicht in einer angemessenen Zeitspanne tausende Dateien analysieren.

Weiteres Problem: Speicherresidente Viren und Viren, die Systemaufrufe überwachen, können Antivirenprogramm behindern.

WS 2009/10

Page 38: Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010

38

Modellbasierte Angriffserkennung

• Ein Angriffserkennungssystem untersucht Anomalien der CPU.• Hierzu müssen alle möglichen Systemaufrufe des Programms

im voraus bekannt sein.

WS 2009/10

open

read

close

write

exit

write

exit

Dateinicht

gefunden

• Beispiel (Systemaufrufgraph):Programm, dass eine Datei Zeichen für Zeichen einließt (read) und den Inhalt ausgibt (write).

• Falls ein Angreifer ein Pufferüberlauf auslösen kann, und beispielsweise versucht Dateien zu kopieren oder eine Netzwerkverbindung zu öffnen, weichen die Systemaufrufe vom Graph ab. System merkt bei der ersten Abweichung, dass ein

Angriff stattfindet und wird den Prozess beenden.