Windows Vista: Sicherheit, Installation
- Grimes/Johansson: Windows Vista Security, Wiley Publ., 2007, ISBN 978-0-470-10155-1
- Technet Magazine - http://technet.microsoft.com/de-de/magazine/default(TechNet.10).aspx
- tools: http://www.sysinternals.com (gehört zu MS)
- 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):
- Authentifizierungsinformationen (logon)
- buffer overflow (Programmierungsfehler)
- Schwachstellen in System oder Applikation
- fehlerhafte Konfiguration von System oder Applikationen
- Abhören (Kommunikation über das Netz)
- Denial of Service Attacks (Blockade eines Dienstes)
- client side attacks (Ausführen von Schadcode durch den Nutzer, Administrator)
- 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
- pot. Einbruchstelle)
Dienste/Services
-
sc query
-> gestartete services - von >130 services sind ca. 75 gestartet
in Windows7 weniger - welche services werden nicht benötigt?
- siehe Empfehlungen anderer (z.B. http://members.rushmore.com/~jsky/id31.html)
- eigene Verantwortung gefragt
-
services.msc
- 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
- svchost = Service Host Process
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
- HKLM HKey_Local_Machine - beim Booten erzeugt
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"
- 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 !!!
- mit Gruppenrichtlinien: Computerkonfiguration\Windowseinstellungen\Sicherheitseinstellung\lokaleRichtlinie\Benutzerkonten...
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:
- open
- access check
- 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
- Umgebung sichern
- Beenden
- Patchen
- 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
- siehe Kurs Installationstechnologie