Springe zum Hauptinhalt

Archiv

Windows Vista: Sicherheit, Installation

  • kein Eingehen auf Internet Explorer und Email
  • features zum Teil in WXP enthalten, nicht explizit unterschieden

Sicherheit

Einführung

  • Windows7 basiert auf Vista
  • viele PCs sind kompromittiert
    unterschiedliche Aussagen seitens Hersteller sowie im security-Bereich angesiedelter Firmen
  • Übernahme von PCs für
    • "Verkauf"
    • Werbung
    • SPAM
    • Konkurrenz
    • ...
  • Übernahme-/Hacker-Technologien - Ausnutzen von Sicherheitslücken (exploits):
    1. Authentifizierungsinformationen (logon)
    2. buffer overflow (Programmierungsfehler)
    3. Schwachstellen in System oder Applikation
    4. fehlerhafte Konfiguration von System oder Applikationen
    5. Abhören (Kommunikation über das Netz)
    6. Denial of Service Attacks (Blockade eines Dienstes)
    7. client side attacks (Ausführen von Schadcode durch den Nutzer, Administrator)
    8. social attacks
  • Malware
    • Viren, Worms, Trojaner
    • BOT - "Computerprogramm, das weitgehend autonom ständig gleichen, sich wiederholenden Aufgaben nachgeht" - Informationen sammeln
    • Spyware - "Schnüffelprogramm"
    • Adware - Werbung ...
    • Malware lokalisiert in Dateien/verzeichnissen, registry, Applikationen, ...
  • root kits
  • Reaktionen seitens Betreiber/Nutzer
    • Bemerken/Erkennen
    • Beseitigen
    • Verhindern!
    • neue Installation
  • jeder PC normalerweise im Netz
    • Sicherheitsmechanismen im Betriebssystem (Installation/Konfiguration)
    • netzbasierte Technologien (Konfiguration, firewalls, ...)
    • im Netz vorgegebene Technologien (Domäne -> Active Directory)
  • bekannte sicherheitsunterstützende Technologien
    • Authentifizierung -> Nutzerumgebung
    • firewall
    • Patches (Windows Update, Service Packs)
    • Antivirensoftware

Windows: Basisstruktur und -funktionen vs. Sicherheit

Booten

  • BIOS: Hardware Lokalisierung -> MBR -> Partition Table -> Systempartition -> bootmgr (nicht mehr bootloader) -> Windows laden
  • künftige Alternative zu BIOS (s.o.): EFI (Extended Firmware Interface) EFI drivers -> EFI system partition (GUIS partition table - ersetzt MBR) -> bootmgr.efi (2 partitions)
    • keine Nutzung von Bootsektoren und dort möglichen Viren
  • c:\Boot\BCD (Boot Configuration Data - ersetzt boot.ini (boot.ini nur noch für Dualboot benötigt)
    bcdedit.exe zur Bearbeitung
  • winload.exe (ersetzt NTLDR)
    • Prüfung Bootprozesse auf Authentication und Integrity
    • digitale Signaturen werden verwendet
  • Bitlocker Volume Encryption: Volume Verschlüsselung (auch Bootvolume) möglich -> Mobile
  • TPM (Trusted Platform Module) möglich (chip-basierte Verschlüsselung)

Post-Boot - Prozesse nach dem Booten

Laden/Aktivieren von
  • Gerätetreibern
  • Services/Diensten
  • registry
  • "autorun" Prozesse
  • Netzwerkkomponenten
  • minimaler Netzwerkstack (DHCP, DNS)
  • Aktivieren Security Policies
    • Laden vordefinierter lokaler security policies (gpedit.msc) für Computer und lokale Nutzer
    • Domäne
      • authentifizierter Computer (computer account password)
      • group policy objects (GPO) übernehmen (MMC rsop, gpresult.exe)
  • Name Resolution (DNS)
    • Vista nutzt DNS und NetBIOS
    • DNS-Abfragen
      • DNS-Cache
      • local host file in c:\Windows\system32\Drivers\etc\ - pot. Einbruchstelle -> Windows Defender (Antispyware tool)
    • NetBIOS
      • alle Windows Computer benötigen NetBIOS-Namen (auch AD)
      • Windows nutzt zuerst (vor DNS) NetBIOS-Namen -> lmhost, WINS-Server
    • User Profile
      • desktop setting, background picture selection, application setup, ...
      • roaming profiles (werden aus/in AD kopiert)
      • symbolische Links (verwirrend frown - pot. Einbruchstelle)

Dienste/Services

  • sc query -> gestartete services
  • von >130 services sind ca. 75 gestartet
    in Windows7 weniger
  • welche services werden nicht benötigt?
  • services sind mit Rechten ausgestattet
    • (früher) unter implizitem account Local System -> alle Rechte)
    • jetzt dedizierte accounts mit eingeschränkten Rechten: Local Service, Network Service
    • siehe sysinternals.com: accesschk.exe -c servicename
  • benötigte services
    • svchost = Service Host Process
      • zum Starten von services, die als dll existieren (dynamic link library)
      • für Kommunikation im sowie zwischen Computern
      • ein oder mehrere Prozesse startbar
      • *immer aus Verzeichnis system32\ ausführen, sonst Malware
      • tasklist.exe /svc zum Auflisten solcher services
    • RPC = Remote Procedure Call
      • Kommunikationsprotokoll
      • unbedingt benötigt
      • Empfehlung zum Stoppen dieses Service (wegen Sicherheitsproblemen) ist kontraproduktiv, zahlreiche Windowsdienste laufen dann nicht mehr
        • AD, DCOM, IPSec, WLAN, firewall, ...
        • siehe Patches für RPC, DCOM
      • Portmanagement über RPC Endpoint Mapper
    • SMB/CIFS
      • Server Message Block / Common Internet File System
      • NetBIOS und TCP/IP
      • Austausch von files/Informationen
      • Basis für shares (folder, registry, printer, applications)
      • Ports 137 (UDP), 138 (UDP), 139 (TCP), 445 (UDP, TCP)
    • autorun programs
      • automatisch gestartete Programme (nach Booten oder Login)
      • häufig genutzte security-Lücke!
      • lokalisiert in
        • registry HKLM\Software\Microsoft\Windows\CurrentVersion\Run\...
        • startup folders \Users\%USERPROFILE%\StartMenu\Programs\Starup\...
        • ...
      • sysinternal: autoruns.exe -e
        • Lokalisierung
        • siehe Rechte je account

registry

  • hierarchische Datenbasis für System und Applikationen
  • regedit - Vorsicht!
  • 5 subtrees
    • HKLM HKey_Local_Machine - beim Booten erzeugt
      • Hardware- und Systeminformationen
      • HKLM\BCD00000000\ - EFS Boot Values
      • HKLM\Components\ - neu in Vista
      • HARDWARE\ SAM\ SECURITY\
      • HKLM\SOFTWARE\ - siehe oben: autorun
      • HKLM\SYSTEM\CurrentControlSet\Control\ - Konfigurationen
      • HKLM\SYSTEM\CurrentControlSet\Service\ - Dienste
    • HKCR HKey_Classes_Root -> file association/ file extensions
    • HKCU HKey_Current_Users
      • aktuelle Konfiguration für angemeldeten Nutzer
      • Vorrang vor HKLM
      • Spyware-gefährdet
    • HKU HKey_Users
      • enthält User Profiles
      • mit Anmeldung kopiert nach HKCU
      • mit Abmeldung kopiert von HKCU

Logon Authentication - Anmeldung

  • Computer accounts (innerhalb Domäne)
  • user accounts
    • lokale accounts -> SAM (Security Account Manager)
    • domain accounts -> AD database
  • Passwortspeicherung
    • verschlüsselt gespeichert (cryptografic hash algorithm)
    • in Vista nur noch "NT-hash" genutzt!
  • Authentication Protocol
    • in Vista nur noch NTLMv2 genutzt (Challenge-Response-Verfahren, strenge Kodierungsregeln/Verschlüsselung)

Access Control - Zugriffsrechte Dateien/Verzeichnisse/Programme

  • jedem authhentifiziertem Nutzer ist ein access token zugeordnet, enthält
    • SID - security identifier
    • zugeordnete Privilegien
  • whoami /all -> access token listing
  • NTFS permission vs. share permissions (lokale NTFS-Rechte (file, folder, registry, printer) vs. remote Ressource (folder, printer)

UAC - User Account Control

  • Paradigmenwechsel bei MS!
    auch in Windows7 (Kommunikation soll weniger "nervend" sein, konfigurierbar?)
  • dieses security-feature tangiert den Nutzer sehr häufig
  • Akzeptanz/Einsicht notwendig
  • "administrator darf/kann alles"
Ziel: Nutzer soll standardmäßig ohne administrator-Rechte arbeiten!
  • Basis
    • Anmelden mit account -> Umwandlung in SID (security identifier)
    • vom System wird nur mit SID gearbeitet
    • SID-Beispiel: S-1-5-21-12345678-90123456-78901234-500
      SID-Felder: S-R-I-SA-identify the computer-RID
      • S - SID
      • R - revision level (SID-Format)
      • I - identifier authority (5 = Windows NT)
      • SA - subauthority
      • tripel - identify the computer
      • RID - relativ Number (500 = administrator, 501 = guest, >1000 = user)
        eineindeutig, nicht wiederverwendet (siehe account löschen)
    • mit Anmeldung wird ein security token erzeugt
      • SID des Nutzers
      • SIDs aller angehörenden Gruppen
      • siehe whoami /GROUPS
      • jeder Prozess erhält Kopie des security tokens
      • (bei Zugriff auf remote resources spezielle Behandlung: impersonation vs. delegation)
    • Elevation
      • Nutzer arbeitet ohne admin-Rechte
      • Elevation = "Rechteerhöhung"
      • zum full administrator = "admin approval mode"
      • aus Struktur "users desktop" nach "secure desktop" (normale Benutzerrechte nach admin-Rechte)
      • Voraussetzung: Mitglied administrator-Gruppe
      • wenn Anwendung administrator-Rechte benötigt -> Dialogbox zur Anzeige und Abfrage
        drei Dialogbox-Arten
        • blau-grüne Fensterleiste -> signierte betriebssystemnahe Applikationen von MS
        • graue Fensterleiste -> signiert, von Drittanbietern
        • gelbe Fensterleiste -> unsignierte Anwendung
      • nach "Erledigung" zurückschalten in "users desktop"-Struktur
      • Tipp: falls scheinbar nichts mehr geht und Desktop eingegraut, siehe Panel nach blinkender Dialogbox
      • administrator - standardmäßig deaktiviert
        Aktivierung: net user administrator /active:yes
      • bei Installation konfigurierter erster account ist Mitglied in administrator-Gruppe
        weitere accounts sind nicht in administrator-Gruppe (modifizierbar)
      • explizites elevating:
        • runas ...
        • runas cmd.exe
        • Start: cmd CTRL+Shift+ENTER
    • Softwarehersteller kann Elevation-Anforderungen "bündeln" durch Auslagern/konzentrieren
    • Virtualisierungsmode für Software
      • "Windows Vista File and Registry Virtualisation" (FARV)
      • wenn alte Software oder nicht Vista genügend
      • Schreiben in bestimmte geschützte Systembereiche wird umgelenkt %USERPROFILE%\AppData\Local\VirtualStore\ für
        • %PROGRAMFILES%
        • %SYSTEMROOT%
        • Teile von HKLM\SOFTWARE\...
      • Virtualisierungsflag in registry anzeigen/setzen
      • reg.exe flags HKLM\Software\Adobe set DONT_VIRTUALIZE
        • z.B.
reg.exe flags HKLM\Software\Adobe
HKEY_LOCAL_MACHINE\Software\Adobe
        REG_KEY_DONT_VIRTUALIZE: CLEAR
        REG_KEY_DONT_SILENT_FAIL: CLEAR
        REG_KEY_RECURSE_FLAG: CLEAR
  • Integrity Levels
    • Basis für Elevating
    • Markierung Objekte mit level: low, medium, high, system
    • Objekte: user account, file, application, process
    • nicht explizit markierte Objekte: medium
    • Prozess ohne Elevation: medium
    • icacls.exe /setintegritylevel ...
  • UAC und remote Zugriff ...
  • Konfiguration UAC
    • mit Gruppenrichtlinien: Computerkonfiguration\Windowseinstellungen\Sicherheitseinstellung\lokaleRichtlinie\Benutzerkonten...
      • disable "Run all administrators in Admin Approval Mode" -> abschalten
      • weitere 9 policies, UAC betreffend
    • UAC NICHT ABSCHALTEN
    • IE und kein UAC -> kein protected mode möglich !!!

Weitere sicherheitsrelevante Technologien

Managing Access Control

  • "security principal" = Nutzer, Prozesse
  • "securable objects"
    • diesen sind ACLs zugeordnet
    • files, directoriies, registry keys, services, named pipes, event, network ports, ...
  • ACL = Access Control List
    • ACE = ACL Entry (mehrfach, mit unterschiedlichen Zugrisstypen)
    • SD = Security Descriptor, wird referenziert bei Zugriff auf ein Objekt
  • Vererbung (häufig) realisiert
  • Zugriff auf ein Objekt:
    1. open
    2. access check
    3. access
  • TrustedInstaller
    • neuer principal
    • ihm gehören die meisten Objekte
    • nur dieser hat vollen Zugriff (administrator nicht mehr)
    • nur Eigentümer kann ACE setzen
    • erhöht Systemintegrität
  • relevante Kommandos
    • sc /?
    • sc qprivs service , ...
    • sysinternals: procexp.exe - Prozessexplorer
    • icacls.exe (ersetzt cacls.exe)
      • /save ACLs
      • /restore ...
      • /setowner
      • ...

Application Security

  • Service Hardening
    • die meisten binaries gehören TrustedInstaller -> Modifikation
    • Service IDs
      • spezifische Zugriffsrechte
      • sc showsid ... - Dienst-ID anzeigen
    • Services laufen mit niedrigeren/eingeschränkten Rechten
      • früher als Local System + nun als NetworkService oder LocalService
    • kein Service läuft mit highlevel Privilegien (Achtung: was machen andere Hersteller?)
    • viele Services mit restricted token
    • service mit write restricted token möglich
  • Session Isolation
    • in Vista verschiedene Sessions
    • erste Session ist Session 0
      • nicht interaktive Prozesse
      • Services
    • Session 0 getrennt von anderen Sessions

Patches und Restart Manager

  • Reduzierung der Reboots im Zusammenhang mit Patches
  • nur wenige Komponenten erfordern ein reboot
  • Überwachung zu patchender Komponenten
    1. Umgebung sichern
    2. Beenden
    3. Patchen
    4. Wiederherstellen

Client Protection

  • Malicious Software Removal Tool (MSRT)
    • nicht vista-spezifisch
    • free, downloadable
  • Windows Defender
    • anti-spyware detection and removal tool
    • konfigurierbar
    • Aktualisierung über Windows Update
  • Security Center
    • Start -> Systemsteuerung -> Sicherheit -> Sicherheitscenter
    • Sicherheits-Applett
    • Überwachung mehrerer sicherheitsrelevanter Komponenten
      • firewall
      • Windows Update (automatische Patches)
      • Antivirus
      • Windows Defender
      • weitere Einstellungen
  • Richtlinien - group policies
    • stark erweiterte Menge an policies, auch sicherheitsrelevante
    • Konfiguration
    • in Domäne
      • Richtlinien für Domän festgelegt, keine lokalen Änderungen
      • lokal wirkende Festlegungen anzeigen -> Richtlinienergebnissatz:
        • rsop.msc -> grafische Anzeige im gpedit-Stil
        • gpresult.exe /Z
        • gpresult.exe /R -> analog rsop.msc
    • lokale Administration (keine Domäne)
      • gpedit.msc
      • nicht für Vista Home

Firewall

  • siehe Kurs Windows Personal Firewall
  • speziell Vista: siehe dort Punkt "Spezifika in Windows Vista"
  • mehrere Profile, resultierend aus Installation bzw. Einsatzort
    • Privates Profil - Installation: Ort = Privat (für Öffentlichkeit bestimmt, eingeschränkte Möglichkeiten -> Mobile)
    • Öffentliches Profil - Installation: Ort = Öffentlich (für normalen Einsatz bestimmt)
    • Domänprofil - Installation: Ort = Domäne (Active Directory)

Installation