Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Systeme 1 Kapitel 10 Sicherheit WS 2009/101. IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis 2010"—  Präsentation transkript:

1 Systeme 1 Kapitel 10 Sicherheit WS 2009/101

2 IBM System Storage-Kompendium Die IBM Speichergeschichte von 1952 bis ibm_storage_compendium_de.pdf WS 2009/102

3 3,5: 1 TB bzw. 146 GB SSD 12, 720 m: 1,4 MB 1,3 PBIBM 726 mit 4 Bändern: 5,6 MB

4 Inhalt Schutz – Kryptografie – Schutzmechanismen – Authentifizierung Angriffe – Insider-Angriffe – Ausnutzen von Programmierfehlern – Malware Abwehrmechanismen WS 2009/104

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/105

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/106

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/107

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/108

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/109

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/1010

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/1011

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/1012 Ausführbares Programm Header Ausführbares Programm Header Virus Ausführbares Programm Header Virus

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/1013 Ausführbares Programm Header Virus

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/1014

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/1015

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/1016

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 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/1017

18 Würmer Wurm = selbst replizierendes Programm Der erste Wurm wurde am 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/1018

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/1019

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/1020

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/1021

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/1022

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/1023

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/1024

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/1025

26 Prominentes Beispiel: Sony-Rootkit 2005 wurden ca. 20 Mio. CDs 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/1026

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/1027

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 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/1028

29 Inhalt Schutz – Kryptografie – Schutzmechanismen – Authentifizierung Angriffe – Insider-Angriffe – Ausnutzen von Programmierfehlern – Malware Abwehrmechanismen WS 2009/1029

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/1030

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/1031 Firewall Webserver - Server FTP-Server LAN Netzwerkverbindung Hardware-Firewall:

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/1032

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/1033

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/1034

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/1035 Ausführbares Programm Header Komprimiertes ausführbares Programm Header Kompressor Dekompressor 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.

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/1036 Komprimiertes ausführbares Programm Header Kompressor Dekompressor Verschlüsselter Virus ungenutzt Entschlüssler Schlüssel Verschlüssler Komprimiertes ausführbares Programm Header Kompressor Dekompressor Verschlüsselter Virus ungenutzt Entschlüssler Schlüssel Verschlüssler Ver- schlüs- selt 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.

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/1037

38 Modellbasierte Angriffserkennung Ein Angriffserkennungssystem untersucht Anomalien der CPU. Hierzu müssen alle möglichen Systemaufrufe des Programms im voraus bekannt sein. WS 2009/1038 open read close write exit write exit Datei nicht 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.


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

Ähnliche Präsentationen


Google-Anzeigen