Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hyper-V mélylélektan Lepenye Tamás Rendszermérnök

Hasonló előadás


Az előadások a következő témára: "Hyper-V mélylélektan Lepenye Tamás Rendszermérnök"— Előadás másolata:

1 Hyper-V mélylélektan Lepenye Tamás Rendszermérnök
Microsoft Magyarország

2 Napirend Bevezetés Architektúra Teljesítmény-mérés Biztonság

3 A Windows Server 2008 R2 architektúrája
Szerver szerepkörök (néhány példa) RD ADFS WDS Etc… Server Core szerepkörök és opcionális funkciók Szerver .NetFx, Shell, Eszközök, etc. .NET 2.0 .NET 3/3.5 Power-shell Fail-over cluster ASP.NET Cert Server DNS DHCP AD File Print Media srv. IIS Hyper-v RD Virtualization Server Core Biztonság (IPSec, Bitlocker, GPO, tűzfal) TCP/IP, NTFS, WMI, Win-RM, RPC stb WoW64 GUI, Shell, IE, Media, Mail, Etc.

4 A Windows Server 2008 R2 Server core architektúrája
Szerver szerepkörök (néhány példa) RD ADFS WDS Etc… Server Core szerepkörök és opcionális funkciók Szerver .NetFx, Shell, Eszközök, etc. .NET 2.0 .NET 3/3.5 Power-shell Fail-over cluster ASP.NET Cert Server DNS DHCP AD File Print Media srv. IIS Hyper-v RD Virtualization Server Core Biztonság (IPSec, Bitlocker, GPO, tűzfal) TCP/IP, NTFS, WMI, Win-RM, RPC stb WoW64 GUI, Shell, IE, Media, Mail, Etc.

5 A Hyper-V Server architektúrája
Server Core szerepkörök és opcionális funkciók .NET 2.0 .NET 3/3.5 Power-shell Fail-over cluster ASP.NET Cert Server DNS DHCP AD File Print Media srv. IIS Hyper-v RD Virtualization Server Core Biztonság (IPSec, Bitlocker, GPO) TCP/IP, NTFS, WMI, Win-RM, RPC stb WoW64 GUI, Shell, IE, Media, Mail, Etc.

6 Indítás USB eszközről (UFD)
4/7/2017 2:34 PM Indítás USB eszközről (UFD) OEM támogatású Microsoft Hyper-V Server 2008 R2 esetén UFD (min 8 GB, ajánlott: 16 GB) NTFS fájlrendszer Nativ VHD Boot-ra épül VHD és Microsoft Hyper-V Server 2008 R2 NTFS-en A lapozás kikapcsolva USB meghajtók betöltődnek UFD-nek „beépített” –nek kell magát mutatnia BCD bejegyzések az induláshoz Rendszerpartíció Elsődleges partíció Bootmgr C:\Windows BCD UFD VHD és Hyper-V Server 2008 R2 © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 Követelmények és feltételezések
4/7/2017 2:34 PM Követelmények és feltételezések Hardver követelmények x64 processzor architektúra Itanium változat nincs Hardveres virtualizáció támogatás AMD AMD-V vagy Intel VT Hardveres Data Execution Prevention (DEP) AMD (NX no execute bit) Intel (XD execute disable) Ezeket a BIOS-ban lehet beállítani. A beállítás után ki kell kapcsolni a gépet (nem elég újraindítani!) MSI (Message Signaled Interrupts) Általában minden alaplap, amely a fentieket támogatja, az MSI kompatibilis, de vannak kivételek. Pl.: VIA P4M900; VIA K8M800 chipsetes DESKTOP alaplapok Feltételezések A hardver megfelelő – nincs „pre-flight check” Vállalati felhasználás Tartománytagság (nem kötelező, de jó, ha van) Ezek nem követelmények, csak az ettől eltérő helyzetek kezelése nehézkesebb MICROSOFT CONFIDENTIAL © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 Napirend Bevezetés Architektúra Teljesítmény-mérés Biztonság

9 A Hyper-V felépítése Microsoft hypervisor
Szülő partíció Gyermek partíció Gyermek partíció Gyermek partíció 2008 R2 A hypervisort érzékelő Windows OS A hypervisort érzékelő Nem Windows OS Ring3 A hypervisort nem érzékelő OS Vmm service WMI provider VM worker processes Virtual Infrastrucure Driver Integrált szolgáltatások Ring0 Virtualization Service Provider (VSP) Virtualization Service Consumer (VSC) GPL licenc alapú VSC Eszközkezelők Emulált eszk. Emulált eszk. VMBus VMBus VMBus Hypercall interface Hypercall interface Hypercall interface Emulált eszközök Hypercalls Hypercalls Hypercalls Hypercalls Ring -1 Microsoft hypervisor „Designed for Windows” hardver

10 A hypervisor Type1 (bare metal) hypervisor Mikrokernel architektúra
Hvax64.exe – 636 KB – AMD rendszereken Hvix64.exe – 690 KB – Intel rendszereken Mikrokernel architektúra Processzor-idő allokáció Memória allokáció Skálázhatóság 64 logikai processzor (Hyperthreading-gel 128 végrehajtási szál) 512 virtuális processzor - 1 TB memóra

11 Demo SecurAble A hypervisor valóban felügyeli a teljes rendszert – még a szülőpartíció számára sem teljesen hozzáférhető minden.

12 Monolitikus hypervisor
A hardver eszközmeghajtók a hypervisor részét képezik Az eszközkezelők listáját csak a gyártó bővítheti Naprakész kompatibilitási lista Minden eszköz közvetlen kapcsolatban áll a hardverrel a hypervisoron keresztül (Értsd: a konzol OS kihagyásával) VM 1 (Konzol OS) VM 3 Hypervisor VM 2 Hardver Drivers Eszközk. April 7, 2017

13 Mikrokernel hypervisor
Operációs rendszert igényel a fizikai hardver kezeléséhez. A vendég operációs rendszereknek nincs közvetlen hozzáférése a fizikai hardverhez Nem igényel hypervisor-hoz igazított eszközkezelő meghajtókat. A hypervisor nem tartalmaz harmadik gyártótól származó kódot. VM 2 (“Gyermek”) VM 3 (“Gyermek”) Üzemeltetési következmények: - A Hypervisor indulása - Eszközkezelők helye - Biztonság VM 1 (“Szülő”) Virtualizáció felügyelet Drivers Eszközk. Drivers Szint. Eszk. Drivers Szint eszk. Hypervisor Hardver April 7, 2017

14 A hypervisor indulása A HVBoot .sys indítja
A hypervisor betöltésének ellenőrzése Platform detektálás és ellenőrzés A platform specifikus hypervisor betöltése A hypervisor indítási kódjának betöltése az összes processzoron Platformfüggő, per processzor struktúrák és egyéb hypervisor alrendszerek inicializálása a processzor virtualizációs kiterjesztése segítségével. Virtuális processzorok létrehozása minden fizikai processzorhoz, a szülő partíció izolálása A kontrol visszaadása a szülő partíciónak és a betöltési folyamat folytatása BCD Setting Valid values Default value Description Hypervisorlaunchtype AUTO, OFF AUTO Added to BCD store when Hyper-V role is installed. AUTO: launch hypervisor during boot OFF or not present: disable hypervisor Hypervisorpath Valid local path None Path to a private hypervisor, such as a checked build or a custom hypervisor, relative to %systemroot%\system32. Hypervisordebug ON, OFF Enable/disable hypervisor debug mode. ON: debugging enabled OFF or not present: debugging disabled

15 Eszközkezelők A virtualizációs kiszolgálók éppúgy kiegészíthetők eszközkezelőkkel, mint a nem virtualizációs rendszerek x64 – csak aláírt driverek A hypervisor nem igényel speciális, hypervisorra fejlesztett drivert A Hyper-V szerver virtualizáció! Kiszolgálókon (főleg) kiszolgálók A driver fejlesztők motiváltak a javításban ...Egy kis kitérő

16 DQR – Az meg mi? Értékelési módszertan
Rangsorolja az eszközkezelő meghajtókat egymáshoz viszonyítva egy eszköz-kategóriában Felfedezhetők a javításra szoruló eszközkezelő-meghajtók Az „Online Crash Analysis” adatokon alapul Jelenleg csak a kernel módú meghajtókhoz

17 WER OCA folyamat Összeomlás történik a kliensen
A WER összegyűjti az összeomlás adatait A Microsoft megosztja az adatokat a szoftverfejlesztőkkel Szoftver hibajavítás Az új eszközkezelő verziót megkapja a Microsoft és az ügyfél Részvétel arány: Windows XP ~20% Részvételi arány:Windows Vista ~80% Összeomlás 5 1 Új eszköz-kezelő Adat-gyűjtés 4 2 Mention the Opt in rates are estimates based on large amounts of data. That the OCA crash is collected after reboot occurs Hibakeresés Megosztás 3

18 Átlagos összeomlás arány
OCA Összeomlás ráták Az összeomlás ráta méri a telepített bázison történt eszközösszeomlást az átlagos összeomláshoz képest egy adott kategórián belül Azon eszközök figyelése, amelyek 100+ összeomlást okoznak naponta a Windows rendszeren OCA Elemzés Azon eszközönél, ahol az összeomlás aránya több mint kétszerese az átlagnak, a probléma „magas” prioritást kap Össze-omlás arány elemzés Azok az meghajtók, amelyek nagy piaci részesedéssel bírnak a prioritás a „legmagasabb” Piaci részarány elemzés Kategória Átlagos összeomlás arány Audio 0.003 Bluetooth Input 0.005 Networking 0.028 Storage 0.004 Streaming Media 0.030 Érték Leírás 5 (legjobb) <= .25x átlag 4 <= .75x átlag 3 <= 2x átlag 2 <= 9x átlag 1 (legrosszabb) >9x átlag A WinQual portálon megtalálhatók az OCA adatok A frissített meghajtók a Windows Update-re kerülnek * Átlagos összeomlás ráta = (# ahányszor okozta) / (# ahányszor látszott) minden eszközhöz egy adott kategóriában

19 DQR 2.0 algoritmus – eszközkezelők
Minden eszközkezelő egy adott kategóriában egy adott időszakra vonatkozó értékelődik. Az értékelés alapja az összeomlás arány A minimum példányszám 10. A nagyon kis mintavételű számoknál az eszközkezelő 3-as kiinduló értéket kap 90th Percentile - Top 10% drivers per stack ranking Very low Crash / Instance Ratio DQR = 5 80th Percentile - Top % per stack ranking Moderate Crash / Instance Ratio DQR = 4 20th – 70th Percentile - Middle 60% per stack ranking Medium Crash / Instance Ratio DQR = 3 10th Percentile - Bottom 11-20% per stack ranking High Crash / Instance Ratio DQR = 2 0 Percentile - Bottom 10% per stack Ranking Very High Crash / Instance Ratio DQR = 1 It has long been said that one of Microsoft's greatest challenges has been to support the wild and unpredictable PC hardware market, stemming from the fact that unlike Apple, Microsoft has little control over the hardware that its OS comes to reside upon. True or not, one thing is certain: a bad driver can turn an otherwise stable system into a nightmare. To help put an end to this, Microsoft is turning to a Driver Quality Rating (DQR) system that it hopes will motivate both OEMs and device manufacturers to increase their commitments to driver quality. The DQR system relies on scores to indicate a driver's quality level, and it derives those scores from user-submitted crash reports. Microsoft's Online Crash Analysis Team will analyze crash reports to determine the ratio of crashing systems to non-crashing systems. Drivers that rarely cause crashes will be rated "Green," while moderately problematic drivers will be rated "Yellow." The horrid stuff gets a big, fat "Red" rating. (Microsoft has not revealed the exact methodology for determining these scores, only that "Green" maps to 7-9 points, "Yellow" 4-6, and "Red" 1-3.) Furthermore, to achieve a "Green" status, a driver must have been released and in use for at least 120 days (starting on June 1, 2007), and must maintain its stability throughout time. Driver manufacturers (or OEMs) must rectify any problem that causes a driver's rating to fall to "Yellow" or "Red" within 90 days, or suffer the consequences. For drivers of this sort, updates must be made available through Windows Update, as well. The consequences of failure, while not dire, are considerable. Only drivers with a "Green" status can be used in computers that are Windows-logo certified, meaning that OEMs will have to be careful in choosing which hardware to include in their offerings. Furthermore, because "Green" hardware can be re-rated as "Yellow" or "Red" in the event that problems arise, OEMs and device manufacturers will need to look after systems even after they have shipped. For most OEMs, design specification changes are costly. If a problem with a device driver appears down the road, Dell will have two options: remove the hardware and have another entire configuration tested by Microsoft's Windows Hardware Quality Labs (WHQL) for logo certification, or address the driver's problems. This puts Dell in the position of needing to make the best choices at the design stages, and needing the best relationships with the manufacturers they chose to work with. Perhaps best for end users, crash reports from real-world use will be counted in assessing a driver's quality, making the stability of a system after it leaves the OEMs shipping facility arguably more important than how the box runs while the lab techs are staring at it. This unfortunately won't mean the death of bargain-basement PCs equipped with questionable hardware. OEMs can choose not to have their hardware certified, of course, but it is also important to note that DRQ ratings are only required for computers certified for the "Premium" Vista experience. That is, Vista Home Basic is not subject to these requirements (the only version of Vista not covered by the Premium requirement). While we feel this is regrettable, it does seem to fall in line with Microsoft's intentions to position Home Basic as a no-frills OS.

20 Demo Eszközkezelő telepítése

21 Virtual Machine Management Service (VMMS)
WMI Provider Virtual Machine manager Worker process manager Snapshot manager Single port listener for RDP (TCP 2179) Active Directory Service Marker VSS writer Cluster Resource Control VMMS State Management The Virtual Machine Management service (VMMS) is responsible for managing the state of all virtual machines in child partitions. It performs management tasks for stopped, or offline, virtual machines, such as snapshotting or device addition/removal. When a virtual machine is started, the Virtual Machine Management Service spawns a new Virtual Machine Worker Process for each of the started virtual machines. The worker process for each online virtual machine then performs the management tasks for the associated virtual machine. The VMMS also exposes a set of WMI-based APIs for managing and controlling virtual machines. The Virtual Machine Management service is implemented as a system service in VMMS.exe, and is dependent upon the Remote Procedure Call and Windows Management Instrumentation services. The VMMS service configuration is defined in the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vmms April 7, 2017

22 Demo A WMI Interface helyi használata: Powershell Library

23 Virtual Machine Worker Process
A VM munkafolyamatok részei: Virtual Hardware State Machine Timers Repositories Virtual Motherboard (VMB) Virtual Machine Worker Process Virtual hardver State Machine Active Powering up Saving Powering Down Timers Current time Create time Configuation Guest Memory Attributes IRQ Generation Save Memory and port Mapped IO Repositories Core Only Virtual Motherboard Saját fiókokkal futnak (service SID) Következmények Egységes VM „hardver” Emuláció a szülő partícióban VM újrainduláskor mindig van időszinkronizálás (Vendég operációs rendszertől függetlenül) Egyetlen gép „kilőhető” The Virtual Machine Worker Process, vmwp.exe, is a user mode component of the virtualization stack. The worker process provides virtual machine management services from the Windows Server 2008 instance in the parent partition to the guest operating systems in the child partitions. The Virtual Machine Management Service spawns a separate worker process for each running virtual machine. This creates isolation for each virtual machine such that, if a component of a single worker process crashes, it only affects the virtual machine that corresponds to the failing worker process. For security purposes, the worker process runs under the Network Service account to minimize its access to the Windows Server 2008 instance in the parent partition. Core Vdevs Emulated Devices & Hybrid Devices Plug-in VDevs Plug-in VDevs VSP April 7, 2017

24 Demo Service SID Beragadt gép

25 Virtuális eszközök Core VDevs Plug-in Vdevs
Virtuális eszközök, amelyek meglévő hardver eszközöket modelleznek A legtöbb Core VDevs emulált eszköz BIOS, DMA, APIC, ISA Bus, PCI Bus, PIC Device, PIT Device, Power Mgmt device, RTC device, Serial Controller, Speaker device, 8042 PS/2 keyboard/mouse controller, Emulated Ethernet, Floppy controller, IDE Controller, VGA/VESA video. Két szintetikus core VDevs: video és mouse Plug-in Vdevs Szoftver modulok, amelyek nem meglévő hardvert modelleznek Bővíthető szerkezet, további eszközök születhetnek a jövőben A Virtualization Service Providerek (VSP) példányosítása konfigurálása és kezelése a feladatuk Két szintetikus plug-in Vdev eszköz létezik: network és storage Az integrált szolgáltatások „plug-in Vdevs”-ek April 7, 2017

26 Demo Core VDevs

27 VID Virtualization Infrastructure Driver
4/7/2017 2:34 PM Partíció felügyelet Gyermek partíció létrehozása és törlése Futó VM-ek mentett állapotba helyezése és felélesztése CPU erőforrás allokáció módosítása a gyermek partícióban Kommunikáció a hypervisorral a Synthetic Interrupt Controller (SynIC)-en keresztül Processzor felügyelet Memória felügyelet (Virtual Memory Stack Manager) © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 VID Virtual Stack Memory Manager (VSMM)
This figure shows three child partitions, each having its own GPA space. Pages in each GPA space point to SPA pages. For example, when Partition A executes an instruction that accesses memory in GPA page number 105, the underlying page that will be accessed is SPA page number 307. The hypervisor uses and keeps track of the GPA-to-SPA mappings, but it is the Virtualization Stack (the VSMM in particular) that sets these mappings. Note that almost all guest instructions do not directly reference GPA addresses. Instead, they reference Guest Virtual Addresses (GVA). Guest Virtual Addresses are the virtual address space that the child partition operating systems and applications “see” and refer to. For example, the GVA space on a 32-bit child partition is 4GB. For operating systems running on physical hardware (i.e. not virtualized), virtual to physical address translation is done by the processor using page tables provided by the operating system. The hypervisor needs to make sure that GVA to SPA translation is performed (rather than GVA to GPA), so that an actual SPA page is referenced. The algorithm used by the hypervisor for performing these translations is known as ATC (Address Translation Control). The hypervisor maintains a shadow page table (i.e. a page table that does not point to physical pages) for each partition to translate Guest Virtual Addresses to System Physical Addresses. The only responsibility of the VSMM in this process, however, is to provide the hypervisor with the GPA-to-SPA mappings for a child partition as shown in this figure. April 7, 2017

29 Virtualization Service Provider (VSP)-k
Ez a komponens osztja meg a fizikai eszközöket. Négy VSP van jelenleg a Hyper-V-ben. Ezek: Network – VMSwitch.sys - NDIS intermediate MUX driver Storage – SRB Server; Parser (vhdparser.sys; isoparser.sys; passthruparser.sys) Control Interface (Input/Output controls IOCTLS) Video – 2D graphics output Human Interface Device (HID) VSP April 7, 2017

30 Virtualization BUS (VMBUS)
4/7/2017 2:34 PM Virtualization BUS (VMBUS) Funkciók Nagysebességű pont-pont kapcsolat (csatorna) a szülő partíció és a gyermek partíció között. Az egyik végpont a VSP, a másik végpont a VSC Adatokat és parancsokat továbbít A VMBus... Nem általános célú busz Nem végez emulációt Nem interfész a hypervisor felé Nem lehetséges gyermek-gyermek kommunikáció Nem fér hozzá a fizikai eszközökhöz © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 Lemezelérés emulált eszközökkel
4/7/2017 2:34 PM Lemezelérés emulált eszközökkel Szülő partíció Gyermek partíció Szállító: VM Worker Process Applications Windows User Mode Hyper-V Windows Fájlrendszer ISV Kötet Storage VSP Partíció Lemez Lemez StorPort StorPort Miniport Kernel Mode Windows hypervisor Hardver © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

32 Szintetikus lemezelérés
4/7/2017 2:34 PM Szülő partíció Gyermek partíció Szállító: VM Worker Process Alkalmazások Windows User Mode Hyper-V Windows Fájlrendszer ISV Kötet OEM Partíció Virtual Storage Provider (VSP) Lemez Lemez Fast Path Filter (VSC) IDE/SCSI StorPort StorPort Virtual Storage Miniport (VSC) StorPort Miniport iSCSI VMBus Kernel Mode Windows hypervisor Hardver © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33 DEMO Integrált eszközök

34 Gyermek partíciók (Virtuális gép) Komponensek
Emulált eszközök Virtualization Service Clients (VSC) VMBus Vendég OS Integrált szolgáltatások „Enlightenments” April 7, 2017

35 Gyermek partíciók ”Enlightenments”
Kernel szintű optimalizáció – az operációs rendszer észleli, hogy hypervisor felett fut Teljesítmény optimalizáció Címtér váltás hypercall segítségével TLB flushing CPUID processzor utasítások helyett MOV utasítások APIC register hozzáférés Funkcionális javítások Processzor használat és üresjárat észlelés Event tracing for Windows (ETW) Kernel és Hypervisor események korellálása Machine check handling Interrupt usage agreements The inclusion of virtual environment optimizations into an operating system is referred to as enlightenment. Enlightenments are implemented by modifying the operating system code so that it is aware of the hypervisor and can change its operation to be more efficient in the presence of a hypervisor. An operating system instance may be unenlightened, partially enlightened, or fully enlightened. Fully enlightened operating systems do not need hardware emulation for virtual devices. Windows Vista SP1 and Windows Server 2008 include enlightenments and are able to detect the presence of a hypervisor at run time. These changes are built into the Kernel and the HAL components for both performance optimization and functional enhancements. XEN is also including these enlightenments into the Linux Kernel for Microsoft. Performance Optimization Enhancements Address space switching through hypercalls. The guest operating system can call the hypervisor to switch between virtual address spaces without performing a costly flush of the transaction lookaside buffer (TLB). TLB flushing. The Windows kernel uses hypercalls to flush groups of TLB entries from both local and remote tagged TLBs. CPUID removal in certain paths. In certain critical paths, the use of the CPUID processor instruction is eliminated and replaced with an execution-serializing MOV instruction, to avoid the mandatory intercept associated with execution of CPUID. APIC register accesses. A number of frequently-accessed memory-mapped APIC registers are accessible by using lower-overhead synthetic memory service routines (MSRs). Functional Enhancements  Processor utilization and idle determination. When a hypervisor is present, the operating system calls the hypervisor to determine the actual utilization of the logical processors. This information is used by the power manager to determine the idle state of individual processors or processor groups. Event Tracing for Windows (ETW). Windows Virtualization uses ETW to record diagnostic information in order to allow customers to correlate kernel events with hypervisor events. ETW has added infrastructure support for high-performance recording and event correlation. Machine-check handling. The hypervisor relies on the operating system in the root partition to process hardware machine checks and take the appropriate action. The kernel’s machine check processing recognizes when a machine check has occurred when another guest or the hypervisor is running, and records the appropriate information. Interrupt usage agreements. Interrupt vector 0xFF is available solely for the hypervisor, and vectors 0xF0 – 0xFF are always edge-triggered April 7, 2017

36 Gyermek partíciók Virtualization Service Clients
A VMBuson keresztül adatokat és utasításokat küldenek, illetve adatokat fogadnak a szülőparíció megfelelő VSP-jétől. Szintetikus eszközök: IDE csatolók SCSI csatoló Network adapter Video Human Interface Device

37 Gyermek partíciók Integrált szolgáltatások
Heartbeat Key/Value Pair Exchange Time Synchronization Shutdown Volume Shadow Copy Service (VSS) These components are installed as services in the Guest operating system. On an operating system in a child partition with the Integration Services installed, the following services are installed and started: Hyper-V Heartbeat Service Hyper-V Data Exchange Service Hyper-V Time Synchronization Service Hyper-V Guest Shutdown Service Hyper-V Volume Shadow Copy Requestor The configuration for these services are contained in the following registry keys: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services… Vmicheartbeat Vmickvpexchange Vmictimesync Vmicshutdown Vmicvss April 7, 2017

38 Demo Integrált szolgáltatások Key/Value Pair Exchange

39 Linux támogatás Mit jelent az hogy „támogatott”?
A hibabejelentéstől a hibák teljes elhárításáig, beleértve akár a forráskód modosítást is. Támogatott Linux rendszerek (ma): SUSE Linux 10, 11, Redhat 5.2, 5.3, 5.4 Háttérszerződésekkel biztosítva Kompatibilitás kernel verzió előtt között után

40 A Microsoft és a Linux kernel fejlesztés

41 Microsoft - Linux kernelfejlesztés
Szintetikus eszközkezelők, jelenleg FastBooot / SCSI / Network Majdnem egyéves előkészület KB sornyi kód GPLv2 alá helyezése A kernelfejlesztésbe való bekapcsolódás lehetővé teszi, hogy bármely disztribúciónak része lehessen a kód Debian, CentOS, Ubuntu stb. Elkötelezettség a továbbfejlesztésre Cél: a Windows-nak nyújtott szolgáltatások biztosítása Linuxon

42 Operációs rendszer támogatás (ma)

43 Napirend Bevezetés Architektúra Teljesítmény-mérés Biztonság

44 Teljesítmény-mérési problémák
Több fogyasztója van közös erőforrásoknak (processzor, I/O) – a teljesítmény figyelése fontosabb Magasabb az erőforrásaink átlagos kihasználtsága – a szűk keresztmetszetek előbb előkerülnek A virtuális gépekben a teljesítmény paraméterek közül nem mindegyik használható Pl.: % processor time A szülő partíció virtualizált Két kérdésre keressük a választ Mit mérjünk? Hogyan mérjük?

45 Demo Teljesítmény mérési probléma

46 Mit mérjünk? Memory: Overall health: Processor: Networking: Storage:
Hyper-V Virtual Machine Health Summary Hyper-V Hypervisor Processor: Processor Hyper-V Hypervisor Logical Processor Hyper-V Hypervisor Root Virtual Processor Hyper-V Hypervisor Virtual Processor Memory: Memory Hyper-V Hypervisor Partition Hyper-V Root Partition Hyper-V VM Vid Partition Networking: Network Interface Hyper-V Virtual Switch Hyper-V Legacy Network Adapter Hyper-V Virtual Network Adapter Storage: Physical Disk Hyper-V Virtual Storage Device Hyper-V Virtual IDE Controller

47 4/7/2017 Hogyan mérjünk? A Pass-through lemezeket a gyermek partíció felől kell monitorozni Telepítsük az integrált komponenseket Az Integrált komponenssel nem rendelkező virtuális gépeket lehetőség szerint csoportosítsuk külön gazdagépre Zárjuk be a felesleges VMConnect kapcsolatokat Fontoljuk meg, szükséges-e Antivírus szoftver Zárjuk ki a VMSWP.EXE, VMWP.EXE és VMMS.EXE állományokat Zárjuk ki a Hyper-V konfigurációs állományait és a VHD-ket. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

48 Napirend Bevezetés Architektúra Teljesítmény-mérés Biztonság

49 Támadás virtuális környezetben
Szülő partíció Gyermek partíció Szállító: Egyéb Windows ISV Hyper-V Virtualizáció Stack VM Worker Processes VM szolgáltatás WMI Provider Vendéggép alkalmazások Ring 3: User mód Támadó Virtualization Service Clients (VSCs) Virtualization Service Clients (VSCs) OS Kernel Virtualization Service Providers (VSPs) Server Core Windows Kernel Eszköz- kezelő VMBus Enlightenments Enlightenments VMBus Ring 0: Kernel mód Windows hypervisor Szerver hardver

50 Biztonsági feltételezések
A vendéggépek nem megbízhatóak Bizalmi kapcsolatok A hypervisornak meg kell bíznia a szülő partícióban A gyermekpartícióknak meg kell bíznia a szülő partícióban A szülő-partícióban futó kód minden processzormódban, védelmi szinten, szegmensben futhat A Hypercall interface jól dokumentáltan a támadók rendelkezésére áll Minden hiperhívás (hypercalls) meghívható a gyermekpartícióból Megállapítható, hogy a gép virtuális környezetben fut Verziószámot is visszaad a hypervisor A Hypervisor belső szerkezete jól ismert

51 Biztonsági célok Erős izoláció a partíciók között
A vendéggép bizalmasságának és integritásának védelme Teljes szeparáció Szülő - gyermek Egyedi hypervisor erőforrás sor (resource pool) vendéggépenként Külön worker processes vendéggépenként Egyedi csatornák a vendég-szülő kommunikációhoz (nincs közös adatbusz) Gyermek - gyermek A gyermekpartíció nem módosíthat más gyermekpartíciót, szülőpartíciót vagy hyerpvisor-t A vendég-vendég kommunikáció nem engedélyezett VM csatolófelületeken (Csak Pl. TCP-n)

52 Biztonság - izoláció megosztása nem lehetséges
Külön VMBus gépenként a szülőhöz Nincs memória-megosztás A vendéggépek nem végezhetnek DMA támadást, mert sohasem kapcsolódnak a fizikai eszközhöz A vendéggépek nem írhatnak a hypervisor-ba A szülőpartíció nem írhat a hypervisor-ba

53 Hyper-V és SDL A Hypervisor készítése során alkalmazott biztonsági technológiák Stack guard cookies (/GS) Address Space Layout Randomization (ASLR) Hardver Data Execution Prevention No Execute (NX) AMD Execute Disable (XD) Intel Code pages marked read only Memory guard pages A Hypervisor bináris kód digitálisan aláírt A Hypervisor és a szülőpartíció egyaránt átesett az SDL cikluson Kockázat modellezés (Threat modeling) Static Analysis Fuzz testing & Penetration testing

54 Demo Nem exportált gép importálása

55 Frissítések Hyper-V Server 2008 R2-re

56 Frissítések Hyper-V Server 2008 R2-re
Leírás Érték Az összes frissítés száma 9 db Biztonsági frissítések száma 5 db Sérülékenységek száma 10 db Hyper-V kódot érintő biztonsági frissítések/sérülékenységek száma 1 db Kritikus biztonsági frissítések száma Fontos biztonsági frissítések száma 4 db Újraindítástt igénylő frissítések 8 db Karbantartást igénylő hónapok száma 3 db A biztonsági frissítések aránya az összes frissítéshez képest 55% A kritkus biztonsági frissítések aránya az összes biztonsági frissítéshez képest 20% A Secure Development Lifecycle folyamat bevezetése előtt keletkezett sérülékenységek aránya az összes sérülékenységhez képest 90% Újraindítások száma azonnali telepítést feltételezve (az egy napon megjelent frissítéseket egy lépésben telepítve) Újraindítások száma, havi karbantartási ciklust feltételezve

57 Biztonság - javaslatok
Dedikált kiszolgáló – Hyper-V Server 2008 R2 Server Core – Hyper-V Server 2008 R2 Dedikált szülőpartíció hálózat Elválaszott szülő partíció hálózat (Ipsec, VLAN) Antivírus szoftverre nincs szükség Tartománytagság (GPO, SCVMM, DCM) AzMan vagy SCVMM használata Bitlocker, ha a host fizikai környezete nem biztonságos

58 4/7/2017 2:34 PM © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

59 Olvasnivaló Windows Server 2008 Security Compliance Management Toolkit
Windows Server 2008 Hyper-V overview white paper Windows Server 2008 Virtualization with Hyper-V: FAQ Microsoft Hyper-V Server 2008 FAQ Hyper-V Planning and Deployment Guide Performance and Capacity Requirements for Hyper-V Performance Tuning Guidelines for Windows Server 2008 R2 Hyper-V Attack Surface Reference Workbook Virtualization with Hyper-V: Supported Guest Operating Systems Virtualization WMI Provider Infrastructure Planning and Design

60 Olvasnivaló – teljesítmény-mérés
clocks-lie.aspx o-not-use-task-manager-in-hyper-v-for-processor- measurements.aspx performance-counters-part-one-of-many.aspx performance-counters-part-two-of-many-hyper-v- hypervisor-counter-set.aspx performance-counters-part-three-of-many-hyper-v-logical- processors-counter-set.aspx


Letölteni ppt "Hyper-V mélylélektan Lepenye Tamás Rendszermérnök"

Hasonló előadás


Google Hirdetések