1 / 50

Böswillige Software, mobiler Code und WEB-Sicherheit

Böswillige Software, mobiler Code und WEB-Sicherheit. Von Heiko Leseberg. Gliederung. Böswilliger Code, Malware Auf Einzelrechnern Malware mit Befall von gesamten Netzen andere Malware Mobiler Code Java Javascript ActiveX WEB Sicherheit. Böswillige Software.

albert
Download Presentation

Böswillige Software, mobiler Code und WEB-Sicherheit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Böswillige Software, mobiler Code und WEB-Sicherheit Von Heiko Leseberg

  2. Gliederung • Böswilliger Code, Malware • Auf Einzelrechnern • Malware mit Befall von gesamten Netzen • andere Malware • Mobiler Code • Java • Javascript • ActiveX • WEB Sicherheit

  3. Böswillige Software • wird auch Malware oder maliziöse Software genannt • Was ist Böswillig ?Format C: • Was erwartet der Benutzer?

  4. Böswillige software • Unterteilung Malware einzelnes System vernetztes System eigenständige nicht eigenständige Replizierung Replizierung eigenständige nicht eigenständige Replizierung Replizierung

  5. Böswillige Software • Virus • Ein Computer-Virus ist eine nicht selbstständige Programmroutine, die sich selbst reproduziert und dadurch vom Anwender nicht kontrollierbare Manipulationen in Systembereichen, an anderen Programmen oder deren Umgebung vornimmt.(Quelle: Bundesamt für Sicherheit in der Informationstechnik) • begrifflich vom biologischen Virus abgeleitet • Reproduktionsteil • kopieren des Virus • Payload • schädigender Code • „leer“ – Schaden durch bloße Anwesenheit im System

  6. Malware auf Einzelrechnernmit eigenständiger Replizierung • Bootviren • Im Bootsektor der Festplatte, Diskette.. • Dateiviren • anhängende Viren und überschreibende Viren • Companion-Viren • erzeugt neue Dateien • Dateisystemviren • manipuliert Dateisystem

  7. Malware auf Einzelrechnernmit eigenständiger Replizierung • Multi-Partite-Viren • Mischform aus Boot- und Dateivirus • Makroviren • Viren in Makros • Skript-Viren • befallen Javascript, VBscript, ...

  8. Malware auf Einzelrechnernmit eigenständiger Replizierung • Stealth-Technik • Wenn der Virus im Speicher aktiv ist, entfernt er sich beim laden des Programmes • Polymorphie bei Viren • Viren die sich verschlüsseln, nutzlose Befehle in sich hinein schreiben – um sich zu tarnen

  9. Malware auf Einzelrechnern ohne eigenständige Replizierung • Trojaner / trojanische Pferde • funktionierendes Programm mit zusätzlichen Fehlfunktionen • Bsp. Backorifice, 0190-Dialer • Logische Bomben • auf ein Ereignis hin werden Fehlfunktionen aktiviert • Dropper • Setzt Viren/Trojaner aus, ohne Wirt zu sein.

  10. Malware mit Befall von gesamten Netzen mit eigenständiger Replizierung • Würmer • nicht an Wirtsprogramm gebunden; residieren im Speicher • MIRC Würmer • Nutzt Skiptsprache des Internet Relay Chats • Mailer • ist als Attachment in Emails unterwegs • Bsp. LoveLetterVirus(Wurm)

  11. Beispiele: LoveLetter-Virus(Wurm) • Verschickt sich über EmailBetreff : ILOVEYOUText : kindly check the attached LOVELETTER coming from me.Attachment: LOVE-LETTER-FORYOU.TXT.vbs • Bei Starten des Skriptes wird Win-Bugsfix.exe ausgeführt, der Virus kopiert sich in das Systemverzeichnis und das Windowsverzeichnis und überschreibt u.a. mp3, jpeg und vbs Dateien. • Schickt sich an alle Einträge im Adressbuch

  12. Malware mit Befall von gesamten Netzen ohne eigenständige Replizierung • Hoax • eine von getäuschten Usern versendete falsche Warnung über Viren • Hostile Applets/Agent • zerstörerisch • auskundschaften von Booksmarks, die zuletzt besuchten URLs, PINs, Passwörtern, ... • sinnlose Berechnung können den Rechner verlangsamen

  13. andere Malware • Beabsichtigte Viren • nicht richtig funktionierende Viren • Keime • ursprüngliche Virusform ohne Wirt, oder falsch infizierte Dateien • Wanzen (Bug) • Fehler bei Entwurf oder Implementation • Konfigurationsdateien für defekt erklärt und nicht sichere Standard Einstellungen übernommen

  14. andere Malware • Bugs • Java kann trotz Verbot auf sensitive Funktionen des Betriebssystems zugreifen • dem Browser konnte vorgegaukelt werden das etwas lokal ist, und so die Web-Sicherheitseinstellung umgangen werden • Scherzprogramme • nur zum Erschrecken des Benutzers • Bsp.: Fehlermeldungen

  15. Malware • Schäden durch Malware • (nur) Bildschirmmeldung • Löschen aller Daten • Überschreiben des BIOS • Aktivieren der BIOS-Passwörter • Ungewollte Übertragung von Daten • Fernsteuerung von PCs • alles was sich machen läßt

  16. Malware – Statistik • Virenmeldungen 1999 • Für 1999 berichtet man einen Virenschäden von ca. 12Mrd. Dollar • (Quelle walter.tietz.de)

  17. Malware – Statistik • 48 000 Viren sind ungefähr bekannt (Stand 17.07.2000) • 10-15 neue Viren am Tag • 200 von ihnen sorgen für ernsthafte Unruhe • Die 10 meistverbreiteten sind für ein drittel der Schäden verantwortlich • eine Virusattacke 7500 € Schaden • 44 h Behebungszeit • 3,3 % pro Monat; Infektionsrate (Computer)

  18. Übertragung der Malware • Einzelsysteme • Datenträger wie CD, Diskette, ZIP... • vernetzte Systeme • Netzwerke (Dienste) also WWW, FTP, Email... • mobiler Code

  19. Schutz vor Malware • On-Access Virenscanner • läuft ständig im Hintergrund • verhindern des Zugriffs auf maliziös erkannte Dateien • Problem: es können nur Dateien an der Ausführung gehindert werden; nicht in Html eingebettete Skripts. • Bis vor einiger Zeit konnten Trojaner noch nicht erkannt werden (Internet)

  20. Schutz vor Malware • Virenscanner • Integrity-Check • Es wird eine Checksumme gebildet und danach geprüft; nicht geeignet für zu verändernde Dokumente • Signatur-Scanning • Viren werden aufgrund ihr Signatur, einem Byte-Auszug aus dem Virus Code, erkannt • In der Datenbank des Scanners befindet sich nur die Signatur (Update, Datenmenge) • Ein neuer Virus kann erst erkannt werden wenn er in der Datebank ist

  21. Schutz vor Malware • Signatur-Scanning • Internet beschleunigt die Entwicklung von Viren • => Heuristic-Scanning • Heuristic-Scanning • Katalogisierung der ausführbaren Datei; Was macht sie (Aktionen) • ungewöhnliche oder für das Computersystem schädliche Befehle • Es können auch unbekannte Viren erkannt werden. • Trefferquote 80%, gut

  22. mobiler Code – Einleitung • Programme die, über ein Netzwerk, auf den Benutzerrechnergeladen werden, zwecks Erweiterung der Interaktion, Multimedia... • Active Content • Java Applets, Attachments in Emails...

  23. mobiler Code – Einleitung • Viel benutzte Techniken sind • Java • Javascript • ActiveX • andere Techniken sind • andere Scriptsprachen, VBScript

  24. mobiler Code – Java • Programmiersprache Java • Anlehnung an C++, jedoch weniger Komplex • 1991 zunächst Forschungsprojekt, sollte für Elektrogeräte eingesetzt werden • 1994 wurde gezeigt, dass man auch größere Anwendungen programmieren konnte • Entwicklung von Applets zur Dynamisierung vonWebseiten • Java ist objektorientiert • Nachladen von Klassen zur Laufzeit

  25. mobiler Code – Java • Java Virtual Machine • Portabilität als Hauptmerkmal, ideal fürs Internet • Virtual Machine (VM) Programm.java Java Compiler VM Windows VM Unix VM PalmOS und andere

  26. mobiler Code – Java • Java Plattform • besteht aus vordefinierten Klasse in Packages für • Netzwerk • Input/Output • Grafik • Sicherheit • u.v.m • Die Plattform ist auf Zielrechner angepasst

  27. mobiler Code – Java • Java und Sicherheit • nicht vertrauenswürdiger Code bekommt keinen Zugriff auf Java Kern API • Sicherheitslücken vielleicht bei Implementation, so 1999 entdeckt (in der VM die auch in IE4.0 IE5.0 ist) • Sicherheit in der VM durch Verweigerung des Zugriffs auf bestimmte Adressen, um native Hardware und das Betriebssystem zu schützen. • Bytecode – Prüfung wenn eine nicht vertrauenswürdige Klasse geladen wird um ein Absturz zu vermeiden und zu vermeiden dass die VM in eine ungetesteten und unsicheren Zustand gerät.

  28. mobiler Code – Java • Der Sandkasten (Java1.0) Applet Aufruf einer gefährlichen Operation Bsp.:in FileInputStream API (jeweilige Klasse) fragt Security manager erlaubt erlaubt nicht Operation wird ausgeführt Exception

  29. mobiler Code – Java • generell gilt • keine Dateien lesen, schreiben umbenennen löschen • eine Verbindung kann nur zu dem Computer aufgebaut werden von dem es stammt und auch nur von da angenommen werden. keine Verwendung previligierter Ports (also Ports bis 1024) • Das Applet kann keine Systemfunktionen wie das Laden einer native Bibliothek oder das Starten einen neuen Prozesses ausführen. • Ein Applet kann bestimmte Grafik und Gui Fuktionen nicht ausführen.

  30. mobiler Code – Java • Ein Applet kann keine System Eignerschaften einsehen (user.home user.dir) • Ein Applet kann diese Einschränkungen nicht durch Installieren eine neuen Security-Manager-Objekts umgehen. Erst muss die VM abgeschaltet werden.

  31. mobiler Code – Java • Digital Signierte Klassen(Java1.1) • Klassen können digital Signiert werden • So wird Vertrauenswürdigkeit festgestellt • vertrauenswürdiger Code gilt wie lokal installierter • für anderen gelten alle Einschränkungen

  32. mobiler Code – Java • Zugriffsrechte und Policies (Java1.2) • einzelne Code Fragmente erhalten unterschiedliche Zugriffsrechte auf dem Computer (bzw. die API); nach Herkunft. • auch lokaler Code kann jetzt eingeschränkte Rechte erhalten • Der Systemverwalter konfiguriert Policies

  33. mobiler Code – Javascript • Javascript • hat hauptsächlich dem Namen nach Ähnlichkeit mit Java • Wurde von Netscape entwickelt • ist nicht typisiert • eingebunden in Html-Seite oder extern • der Code ist einsehbar (Sicherheit) • Trotz Fehlen von Routinen zur Manipulation von Dateien gelang immer mal wieder der Zugriff • Bearbeitung von Cookies (Benutzerdaten auslesen)

  34. mobiler Code – Javascript • Risiken • Ressourcenverbrauch durch unnötigen Programmcode • Umgehen von Code Filtern (Bsp.: APPLET) • Manipulieren der Statuszeile des Browsers (Links verschleiern) • Verändern der Browsereinstellungen (nur mit Grant) • Zugriff auf die History-Einstellung des Browsers (nur mit Grant) • Versand von Emails (nur mit Grant) • (Grant = Nachfrage gegen die Sicherheitspolicies)

  35. mobiler Code - ActiveX • ActiveX • von Microsoft, steht in Konkurrenz zu Java • basiert auf Component Object Modul (COM) • arbeitet unter Benutzung spez. Eigenschaften des MS-Windows-Betriebssystems • es gibt Bemühungen ActiveX auch für Unix und Macintosh verfügbar zu machen • Im wesentliche besteht ActiveX aus ActiveX-Controls (Programme oder Module)

  36. mobiler Code – ActiveX • ActiveX • ActiveX-Code kann in vielen Sprachen geschrieben werden, der Compiler muss COM unterstützen • Der Internet Explorer kann ActiveX direkt ausführen • Bei Netscape kann ein Plug-In installiert werden • es gibt keine Sandbox für ActiveX=> ausführen oder nicht • ActiveX ist unsicherer als Java • Es gibt signierte ActiveX-Elemente (mittels Public-Key eine digitale Unterschrift)

  37. mobiler Code - Plug-In • Plug-Ins • mit ActiveX vergleichbar • Ausführen oder nicht • Schutzmaßnahme: Zertifikate

  38. WEB Sicherheit • Bei Browsereinstellungen • bei Microsoft, Sicherheitszonen(Arbeitsplatz, Internetzone, Zone f. vertrauenswürdige Sites, Zone f. eingeschränkte Sites) • jeweils den Aktiven Inhalt konfigurieren(Java, Cookies, Skripting...) • Sandkasten (Sandbox)

  39. WEB Sicherheit • Filternde Proxies • Herausfiltern von (Java, URLs, Javascript..) • Filtern bei SSL und best. Archiven nicht möglich • Erkennung von Code schwierig (neue Technologien) • Java in Javaskript Internet Benutzerrechner Proxy

  40. WEB Sicherheit • Zertifikat • Aktive Inhalte erhalten weitere Rechte wenn sie zertifiziert sind (über Sandbox hinaus) • Zertifikate werden von CA (Certifikation Agencys) vergeben • Ein Zertifikat ist nicht unbedingt eine hundert Prozent sichere Methode(Es sind auch schon mangelhafte Überprüfungen der Antragsteller vorgekommen)

  41. WEB Sicherheit • Nichts ist wirklich sicher, weil • Programme mit Schutzfunktionen für Aktiven Code können Bugs haben (und hatten dies auch). • Signaturen (Bsp.: bei ActiveX) können gefälscht werden.

  42. WEB Sicherheit • Fazit • man steht zwischen Komfort und Sicherheit • manche Seiten erfordern freigeben von aktiven Inhalten • Multimedia Anwendungen können „Trojaner“-Funktion haben; will man z.B. Filme sehen muss man dieses Risiko eingehen ? (Firewall) • für einige Aktionen ließen sich auch serverseitig abzuarbeitende Sprachen PHP, ... benutzen.

  43. WEB Sicherheit • Was man tun kann • Virenscanner einsetzen (Viren Trojaner erkennen) • Aktive Code ganz sperren (ausschalten am Browser) • nur signierten Code erlauben (Vermeidung der Ausführung von „unsicheren“ Aktiven Inhalten) • Scripte abarbeitende Programme deinstallieren (Vermeidung der Ausführung von Aktiven Inhalten) • Netzwerkdienste deinstallieren • Nur Programme aus dem Netz herunterladen von man weiß das sie sicher sind (keine Trojaner)

  44. WEB Sicherheit • Was man tun kann • Email bzw. deren Attachments prüfen bevor man sie öffnet. • Emails signieren

  45. WEB Sicherheit • Browsereinstellungen IE 5 • ActiveX-Steuerelemente und PlugIns ausführen, die für Scripting sicher sind • -Deaktivieren • Activex-Steuerelement initialisieren und ausführen die nicht sicher sind • -Deaktivieren • ActiveX-Steuerelemente und PlugIns ausführen • -Deaktivieren

  46. WEB Sicherheit • Download von signierten ActiveX-Steuerelementen • -Deaktivieren • Download von unsignierten ActiveX-Steuerelementen • -Deaktivieren • Anmeldung • -Nach Benutzername und kennwort fragen • Cookies annehmen die gespeichert sind • -Deaktivieren • Cookies pro Sitzung annehmen • -Deaktivieren

  47. WEB Sicherheit • Java Einstellungen • -Deaktivieren • ActiveScripting • -Deaktivieren • Einfügeoperationen über ein Skript zulassen • -Deaktivieren • Scripting von java-Applets • -Deaktivieren • Auf alle Datenquellen über Domänengrenzen hinweg zugreifen • -Deaktivieren

  48. WEB Sicherheit • Dauerhaftigkeit der Benutzerdaten • -Deaktivieren • Installation von Desktopobjekten • -Deaktivieren • Programme und Dateien in einem IFRAME starten • -Deaktivieren • Subframes zwischen verschiedenen Domänen bewegen • -Deaktivieren • Unverschlüsselte Formulare Übertragen • -Eingabe

  49. WEB Sicherheit • Ziehen und Ablegen oder Kopieren und Einfügen von Dateien • -Deaktivieren • Zugriffsrechte für Softwarechannel • -Hohe Sicherheit • (Quelle: NTC vom FBI) • Bei Netscape sind die Einstellungen nicht so ausführlich

  50. Literatur • Virus Test Center, „Viren und Malware - Eine Einführung“, Universität Hamburg FBI, 2000 • Netzwerk Test Center, „ Sicherer ins Internet“, Universität Hamburg FBI, 2000 • David Flanagan, „Java in a Nutshell“, O´Reilley, 2000 • Gary McGraw, Edward W. Felten, „Securing Java“ , 2.Auflage, John Wiley & Sons, 1999 • Webseite des BSI www.bsi.de • Webseite von SELFHTML http://www.tu-chemnitz.de/docs/selfhtml/intro/technologien/activex.htm • Webseite von AGN am FBI http://agn-www.informatik.uni-hamburg.de/vtc/

More Related