ESXi TPS Status ermitteln

Tranparent Page Sharing (TPS) ist eine Technik zur gemeinsamen Verwendung von Speicherinhalten, indem identische Pages nur einmalig abgelegt werden.

Seit Update 2b wurde TPS von VMware per Default deaktiviert, da es in seltenen Fällen zu Sicherheitsverletzungen zwischen VMs kommen konnte. Wie es sich zeigte, ist aber bei ESXi Servern mit höherer Build Nummer unter Umständen TPS noch aktiv. Das liegt daran, daß VMware TPS offensichtlich nur bei Neuinstallation abschaltet.

TPS Status

Wie kann man nun ermitteln, welchen TPS Status die ESX Server eines Clusters haben?

Hierfür kann man mittels PowerCLI einen oneliner ausführen.

# Connect-VIServer <myVC>
# Get-VMHost –State Connected | Get-AdvancedSetting –Name Mem.ShareScanGHz | Format-Table –Property Entity,Name,Value -AutoSize
# Disconnect-VIServer

Werte >0 deuten auf ein aktiviertes TPS.

TPS deaktivieren

# Connect-VIServer <YourvCenter>
# Get-VMHost –State Connected | Get-AdvancedSetting –Name Mem.ShareScanGHz | Set-AdvancedSetting –Value 0

Status erneut testen

# Get-VMHost –State Connected | Get-AdvancedSetting –Name Mem.ShareScanGHz | Format-Table –Property Entity,Name,Value -AutoSize
# Disconnect-VIServer

Links

ESXi: TPS in Zukunft deaktiviert

VMware wird in Zukunft die Transparent Page Sharing Funktion im Standard deaktiviert lassen. Grund hierfür ist eine Untersuchung, die damit einen möglichen Seitenangriff aufgedeckt hat.

Published academic papers have demonstrated that by forcing a flush and reload of cache memory, it is possible to measure memory timings to determine an AES encryption key in use on another virtual machine running on the same physical processor of the host server if Transparent Page Sharing is enabled. This technique works only in a highly controlled environment using a non-standard configuration.

Mit anderen Worten: Der Angriff ist prinzipiell möglich, aber bisher nur unter Laborbedingungen reproduzierbar.

Ist das ein Problem?

Die Einsparpotenziale von TPS sind ohnehin umstritten. Es greift ohnehin nur wenn die Arbeitsspeicher Belegung bestimmte Grenzwerte Überschreitet. VMware vSphere verwendet large memory pages von 2MB Größe. Die Wahrscheinlichkeit zweier identischer Pages im RAM von dieser Größe ist eher gering. Dennoch ließ VMware die TPS Funktion aktiv. Das Thema wird sehr schön in einem Artikel von Frank Denneman diskutiert.

Wann wird abgeschaltet?

Die unterschiedlichen Versionen werden in folgenden Zeiträumen deaktiviert:

  • ESXi 5.5 Update release – Q1 2015
  • ESXi 5.1 Update release – Q4 2014
  • ESXi 5.0 Update release – Q1 2015
  • The next major version of ESXi

Links