500 likes | 690 Views
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.
E N D
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 • wird auch Malware oder maliziöse Software genannt • Was ist Böswillig ?Format C: • Was erwartet der Benutzer?
Böswillige software • Unterteilung Malware einzelnes System vernetztes System eigenständige nicht eigenständige Replizierung Replizierung eigenständige nicht eigenständige Replizierung Replizierung
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
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
Malware auf Einzelrechnernmit eigenständiger Replizierung • Multi-Partite-Viren • Mischform aus Boot- und Dateivirus • Makroviren • Viren in Makros • Skript-Viren • befallen Javascript, VBscript, ...
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
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.
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)
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
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
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
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
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
Malware – Statistik • Virenmeldungen 1999 • Für 1999 berichtet man einen Virenschäden von ca. 12Mrd. Dollar • (Quelle walter.tietz.de)
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)
Übertragung der Malware • Einzelsysteme • Datenträger wie CD, Diskette, ZIP... • vernetzte Systeme • Netzwerke (Dienste) also WWW, FTP, Email... • mobiler Code
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)
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
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
mobiler Code – Einleitung • Programme die, über ein Netzwerk, auf den Benutzerrechnergeladen werden, zwecks Erweiterung der Interaktion, Multimedia... • Active Content • Java Applets, Attachments in Emails...
mobiler Code – Einleitung • Viel benutzte Techniken sind • Java • Javascript • ActiveX • andere Techniken sind • andere Scriptsprachen, VBScript
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
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
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
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.
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
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.
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.
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
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
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)
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)
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)
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)
mobiler Code - Plug-In • Plug-Ins • mit ActiveX vergleichbar • Ausführen oder nicht • Schutzmaßnahme: Zertifikate
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)
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
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)
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.
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.
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)
WEB Sicherheit • Was man tun kann • Email bzw. deren Attachments prüfen bevor man sie öffnet. • Emails signieren
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
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
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
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
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
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/