Upload
truongdieu
View
225
Download
0
Embed Size (px)
Citation preview
SystemsicherheitVorlesung 4 SWS + Übungen 2 SWS
FU Berlin Klaus-Peter LöhrInstitut für Informatik Torsten FinkSS 2002
Systemsicherheit - SS 02
Grundbegriffe, Typische Angriffe, Übersicht
Zugangskontrolle
Rechtebasierter Zugriffsschutz
Informationsflußkontrolle
Protokollierung und Einbruchsentdeckung
Entwicklung sicherer Systeme
Kryptographische Verfahren
Netzsicherheit – WS 02/03
1 Grundbegriffe
Sicherheit (security), IT-Sicherheit (computer scurity)
= Sicherheit vor unerwünschter Manipulation von Ressourcen(Daten, Programme, Rechner, Netze, ...):
„Bedrohung“ (threat) führt u.U. zu„Sicherheitsverletzung“ (security violation)
Geeignete Schutzmaßnahmen (protection measures)
unter Anwendung von
Schutz/Sicherheitsmechanismen (security mechanisms)
1.1 Schutzziele
Vertraulichkeit, Geheimhaltung (confidentiality, secrecy)
wird verletzt durch: Daten - einsehen- kopieren- erschließen
Unversehrtheit (integrity)
wird verletzt durch: Daten - zerstören- beschädigen- verfälschen- einschleusen
Nutzungsbeschränkung (legitimate use)
wird verletzt durch: - Programme oder Geräte benutzen- Programme kopieren (und benutzen)
Verfügbarkeit (availability)
wird verletzt durch: Daten, Programme, Geräte, Leitungen- monopolisieren- Zugang beschränken- Sabotage
(„denial of service“)
Authentizität (authenticity)
wird verletzt durch: Verfälschung - einer Nachricht- der Identität
(„Maskerade“, „spoofing“)
Verbindlichkeit (non-repudiation)
= Sicherstellung, daß Aktionen- vor allem Senden und Empfangen von Nachrichten –später von den Beteiligten nicht abgestritten werden können
Schutzziele zusammengefaßt:
Vertraulichkeit
Unversehrtheit
Nutzungsbeschränkung
Verfügbarkeit
Authentizität
Verbindlichkeit
Im Netz ferner Anonymität
1.2 Sicherheitsmechanismenauch „-dienste“, Schutzmechanismen/dienste
(security mechanisms/services/controls, safeguards)
bilden das Sicherheitssystem eines - Betriebssystems- Datenbanksystems- Anwendungssystems- Netzes
Authentisierung (authentication)
sichert die Identität von Akteuren
Zugriffsschutz (access protection/control)
überwacht Zugriffsversuche auf Ressourcen
Informationsflußkontrolle (information flow control)
überwacht den Informationsfluß zwischen Instanzen
Verschlüsselung (encryption)
macht Daten unleserlich
Verbergen (steganography)
macht Daten unsichtbar durch Einbetten in andere Daten
Inferenzkontrolle (inference control)
grenzt die Erschließungsmöglichkeiten ein
Protokollierung (auditing)
führt Buch über sicherheitsrelevante Vorgänge im System
Einbruchsentdeckung (intrusion detection)
überwacht Versuche, Sicherheitsmaßnahmen zu umgehen
1.3 Umsetzung von Sicherheitsanforderungen
Sicherheitsanforderungen (security requirements):
Auftraggeber/Entwickler eines Systems legen fest, welche Schutzziele erreichbar sein sollen. Der dabei verwendete Präzisionsgrad variiert je nach Anforderungen. Bei hohen Anforderungen kommen formale Sicherheitsmodelle zum Einsatz.
Sicherheitsstrategie (security policy):
Betreiber des Systems legen im Detail fest, welcheSchutzziele erreicht werden sollen.
Sicherheitsbedrohungen (threats):
Angreifer/Angriffe (attacks) bedrohen das Erreichen dieser Ziele; der Gefahr von Sicherheitsverletzungen begegnet man mit
Schutzmaßnahmen (protection measures):
- gesetzgeberische- organisatorische (z.B. Zugangsregelung zu Räumen)- technische (z.B. Abschirmung, Trennung vom Netz)- Einsatz von Sicherheitsmechanismen (HW/SW)
Sicherheitslücken (vulnerabilities)
sind dennoch kaum ganz auszuschließen !
Beachte:
Der Schadensumfang bei einer Sicherheitsverletzung ist häufig schwer meßbar.
Schwer zu beantworten ist oft auch die Frage, ob der Schutzaufwandden erzielten Sicherheitsumfang rechtfertigt.
Schutzmaßnahmen gegen offensichtliche Bedrohungen sind oft sehreinfach. Sie können aber sehr aufwendig werden, wenn „alle denkbaren“Angriffe abgewehrt werden sollen.
Jeder neuen Schutzmaßnahme der Sicherheitsexperten versuchen dieAngreifer mit neuen Angriffsmethoden zu begegnen.
1.4 Abgrenzung und Bezüge
Datenschutz (privacy)
= Schutz personenbezogener Daten
Datensicherheit (data security)
= (älteres) Synonym für IT-Sicherheit
Zuverlässigkeit (reliability, safety)
= Sicherheit vor ungewollten Auswirkungen von Hardware-oder Software-Fehlern.
! Safety und Security sind nicht immer streng zu trennen !
2 Typische Angriffe
nutzen Schwachstellen des Systems aus:
konzeptionelle Mängel der Sicherheitsmechanismen
Implementierungsschwächen
Nachlässigkeiten von Benutzern/Sicherheitsadministratoren
2 Klassen von Angriffen, auch in Kombination:
1 Aktive Durchbrechung (penetration)
mit oder ohne Programmunterstützung
2 Schadsoftware (Software-Anomalien, malware)
mit verborgener – evtl. zusätzlicher - Funktionalität
Beispiele zu 1 Aktive Durchbrechung :
Magnetband aus Archiv stehlen
Leitung abhören/abgreifen (evtl. mit eigener Systemsoftware)
Paßwörter raten/durchprobieren
Ressourcen fressen
Qualitätsmängel von Systemsoftware ausnutzen(z.B. unzureichende Parameter-Überprüfung)
Maskerade (spoofing), z.B. zwecks „phishing“ (password fishing):
Beispiele zu 2 Schadsoftware :
Trojanisches Pferd (Trojan horse):Programm tut, was der Benutzer erwartet, aberinsgeheim auch noch anderes.
Salamitaktik (salami attack):Programm tut fast was es soll, ohne daß dieDiskrepanz bemerkt wird.
Geheimtür (backdoor, trapdoor):Programm tut, was der Benutzer erwartet, aber bestimmte „fehlerhafte“ Eingabewie z.B. die Matrikelnummer - 4711startet geheime Zusatzfunktion.
Virus (virus):infiziert zuvor korrekte Wirtsprogramme und machtsie damit potentiell zu Schadprogrammen, die transitiv weitere Programme infizieren.
Wurm (worm):Programm, das sich über das Netz fortpflanzt - entweder selbsttätig oder als Anhängsel von E-mails –und nach Belieben Unheil anrichtet.
Logische Bombe (logical bomb):explodiert, sobald bestimmte Bedingung erfüllt ist.
Verdecktes Leck (covert channel):Programm schmuggelt Informationen in kleinen Mengenheraus – und zwar nicht über die normalen Ausgabe-kanäle, sondern z.B. über bestimmte „Muster“ vonRessourcen-Nutzung.
Merke: Alle hier erwähnten Tricks können geschickt kombiniert werden !
Vorsicht: Starte kein Programm, dem Du nicht vertrauen kannst !
2.1 Trojanisches Pferd
Angreifer entwickelt ein Programm und stellt es dem Benutzer zur Verfügung.Programm tut, was der Benutzer erwartet, aber insgeheim auch noch anderes.
Offizielle Funktion: etwas attraktives, z.B.- komfortabler Editor- spannendes Spiel- cool tool- . . .
Schaden: Ausspionieren oder Verfälschen von DatenSabotage. . .
Schutz: keine coolen Programme kopieren oder herunterladenSchutzsystem mit differenzierter Überwachung
2.2 Salamitaktik
Angreifer entwickelt auftragsgemäß ein Programm für täglichen Einsatz, z.B. inFirma. Programm tut fast was es soll, ohne daß die Diskrepanz bemerkt wird.
Offizielle Funktion: Standard-Datenverarbeitung,z.B. Kontenführung
Schaden: minimale Datenverfälschung im Einzelfall,z.B. beim Runden von Zinserträgen,
aber Akkumulation durch hohe Transaktionsraten
Schutz: Mehr-Personen-Programmierung, Code ReviewsZugriffsschutz im Dateisystem, um Unterschieben
eines anderen Programms zu verhindern
2.3 Geheimtür
Angreifer entwickelt für Auftraggeber ein öffentlich benutzbares Programm, das mit sensiblen Daten des Auftraggebers arbeitet. Programm erfüllt zwar seinen Zweck, aber bestimmte „fehlerhafte“ Eingabe startet geheime Zusatzfunktion, die Zugriff auf die sensiblen Daten erlaubt.
Offizielle Funktion: Übermittlung von Geschäftsdaten an Auftraggeber
Schaden: Ausspionieren/Verfälschen der beim Auftraggebergespeicherten Daten
Schutz: Schutzsystem mit differenzierter ÜberwachungInformationsfluß-Analyse des Codes
2.4 Virus
1 Code, der vom Angreifer in zunächst korrekte Programme eingebaut wird,2 bei jedem Start eines so infizierten Wirtsprogramms mitausgeführt wird,3 dabei weitere Programme in der gleichen Weise infiziert4 und – mehr oder weniger – Unheil anrichtet.+ Weitere Varianten . . .
Virus enthält häufig Logische Bombe ( „Inkubationszeit“).
Symptome reichen von lustigen Gags bis zu ernsthafter Sabotageund/oder Vorbereitung noch gefährlicherer Angriffe.
Typische Programmstruktur im Binärcode (vereinfacht)
gesund infiziert
JUMP START JUMP 47110
1
START
4710
4711
0
1
START
4710
JUMP START
Virus
Gefährlichere Varianten: Boot-Viren, Makro-Viren und andere
Boot-Viren:
Nicht Programme werden infiziert, sondern die Urlader-Sektoren (boot sectors) von Datenträgern,wo der Virus vor dem Urlader eingeschoben wird.Rechner wird z.B. dadurch infiziert, daß er aus Versehenmit infizierter Diskette gestartet wird.
Makro-Viren:
Nicht Binärprogramme werden infiziert, sondern Daten/Skripte,die von Interpretierern aufbereitet/ausgeführt werden.
Z.B. über Makros wie in Word (prominent: Melissa, 1999):
Aktionsfolgen zur Dokumentbearbeitung können in Makrozusammengefaßt werden - auslösbar z.B. mit Funktionstaste,
aber auch automatische Ausführung beim Öffnen eines Dokuments.
Makrosprache hat Mächtigkeit von Programmiersprache(bei Word: VBA – Visual Basic for Applications))
- Virus kann als Makro konzipiert werden,- wird beim Öffnen eines infizierten Dokuments aktiviert;- Verbreitung vor allem durch E-mail (Outlook-Adreßbuch!)
Nährboden für Viren:
starke Aktivität am Rechner (Programmausführung!)
Systeme ohne (oder mit schwachen) Schutzmechanismen(z.B. MS-DOS, frühe Windows-Versionen)
System-Monopole(z.B. Windows für PCs)
Einschleppen durch Programme/Daten dubioser Herkunft(weitergereichte Disketten, Netz)
plattformunabhängiger, interpretierter Code(z.B. auch in PostScript, HTML, ... !)
Schaden: alle durch Maskerade gegebenen Möglichkeitentransitives Weiterverbreiten
Schutz: strenge Beschränkung der Vergabe von Zugriffsrechten für DateienDateischutz mit Prüfsummen oder VerschlüsselungViren-Scanner, Anti-Virus-Programme! Von Unbekannten nichts annehmen –weder Programme noch Daten !Word, PowerPoint, ...: siehe unter Extras/Makro
. . . und weitere Schutzmaßnahmen