{"id":215350,"date":"2019-03-05T14:01:07","date_gmt":"2019-03-05T13:01:07","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=215350"},"modified":"2022-07-27T10:44:02","modified_gmt":"2022-07-27T08:44:02","slug":"windows-10-retpoline-spectre-2-schutz-manuell-aktivieren","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2019\/03\/05\/windows-10-retpoline-spectre-2-schutz-manuell-aktivieren\/","title":{"rendered":"Windows 10: Retpoline-Spectre 2-Schutz manuell aktivieren"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/01\/win102.jpg\" width=\"58\" height=\"58\" align=\"left\" \/>Microsoft f\u00fchrt Retpoline als Schutz vor Spectre 2-Angriffen in Windows 10 (ab Version 1809) ein. Bisher ist der betreffende Schutz auf Windows 10-Clients aber deaktiviert. Besitzer von Windows 10 V1809 k\u00f6nnen aber schon jetzt mittels Registrierungseingriffen den Retpoline-Spectre 2-Schutz manuell aktivieren.<\/p>\n<p><!--more--><\/p>\n<h2>Zum Hintergrund von Retpoline<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg06.met.vgwort.de\/na\/7bf85a33f2674dc38c926178738aa4ac\" alt=\"\" width=\"1\" height=\"1\" \/>Retpoline (Return Trampoline) ist eine von <a href=\"https:\/\/support.google.com\/faqs\/answer\/7625886\" target=\"_blank\" rel=\"noopener noreferrer\">Google entwickelte Compiler-Technologie<\/a>, um ausf\u00fchrbaren Code gegen Seitenkanalangriffe (Spectre) per branch-target-injection zu sch\u00fctzen. Gegen\u00fcber Microcode-Updates, die zu einer Leistungseinbu\u00dfe f\u00fchren und nur prozessorspezifisch angeboten werden k\u00f6nnen, vermeidet Retpoline als Compiler-Technologie diese Leistungseinbu\u00dfen. Ich hatte bereits im Januar 2018 den Artikel <a href=\"https:\/\/borncity.com\/blog\/2018\/01\/13\/meltdown-spectre-google-patcht-cloud-ohne-leistungsverlust\/\">Meltdown\/Spectre: Google patcht Cloud ohne Leistungsverlust<\/a> zu diesem Thema ver\u00f6ffentlicht.<\/p>\n<p>W\u00e4hrend die Linux-Entwickler diese Technologie z\u00fcgig in den Kernel \u00fcbernahmen, setzte Microsoft auf Microcode-Updates. Erst ab Windows 10 19H1 kommt Retpoline im Windows-Kernel als Schutz gegen Spectre V2-Angriffe\u00a0 zum Einsatz. Ich hatte im Herbst 2018 im Artikel <a href=\"https:\/\/borncity.com\/blog\/2018\/10\/19\/windows-10-19h1-spectre-v2-schutz-per-retpoline\/\">Windows 10 19H1: Spectre V2-Schutz per Retpoline<\/a> dar\u00fcber berichtet. Dort ist auch die Best\u00e4tigung von Microsofts Mehmet Iyigun vom Windows\/Azure Kernel Team nachlesbar.<\/p>\n<blockquote><p>Da Retpoline eine Leistungsoptimierung f\u00fcr die Spectre Variant 2-Schwachstelle ist, erfordert es, dass Hardware- und Betriebssystemunterst\u00fctzung f\u00fcr die Branch Target Injection vorhanden und aktiviert sind. Skylake und sp\u00e4tere Generationen von Intel-Prozessoren sind <a href=\"https:\/\/web.archive.org\/web\/20191108093319\/https:\/\/software.intel.com\/security-software-guidance\/insights\/deep-dive-retpoline-branch-target-injection-mitigation\" target=\"_blank\" rel=\"noopener noreferrer\">nicht mit Retpoline kompatibel<\/a>. Auf diesen Prozessoren wird laut Microsoft nur die Import-Optimierung aktiviert. Dies ist eine spezielle Technik von Microsoft, die den Overhead bei Kernel-Aufrufen minimieren soll. Details, welche Anforderungen an Windows-Maschinen gestellt werden (z.B. Prozessoren), finden sich in <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/Windows-Kernel-Internals\/Mitigating-Spectre-variant-2-with-Retpoline-on-Windows\/ba-p\/295618\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Dokument<\/a>).<\/p><\/blockquote>\n<h2>Retpoline-Backport f\u00fcr \u00e4ltere Windows 10-Versionen<\/h2>\n<p>Microsoft wird in den kommenden Monaten die Retpoline-Technologie auf \u00e4ltere Windows 10-Versionen zur\u00fcck portieren. Den Anfang hat Microsoft mit dem am 1. M\u00e4rz 2019 ver\u00f6ffentlichten Update KB44828887 f\u00fcr Windows 10 Version 1809 gemacht. Im Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2019\/03\/01\/windows-10-v1809-update-kb4482887-released-03-01-2019\/\">Windows 10 V1809: Update KB4482887 (01.03.2019)<\/a> findet sich der entsprechende Hinweis:<\/p>\n<blockquote><p>Enables \"Retpoline\" for Windows on certain devices, which may improve performance of Spectre variant 2 mitigations (CVE-2017-5715).<\/p><\/blockquote>\n<p>Im Blog-Beitrag <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/Windows-Kernel-Internals\/Mitigating-Spectre-variant-2-with-Retpoline-on-Windows\/ba-p\/295618\" target=\"_blank\" rel=\"noopener noreferrer\">Mitigating Spectre variant 2 with Retpoline on Windows<\/a> hatte Microsoft bereits Anfang Dezember 2018 einige Informationen zum Thema Retpoline und Windows 10 ver\u00f6ffentlicht (siehe auch meinen Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2018\/12\/08\/neue-splitspectre-methode-windows-retpoline-spectre-schutz\/\">Neue SplitSpectre-Methode, Windows Retpoline Spectre-Schutz<\/a>). Dieser Microsoft Blog-Beitrag wurde die letzten Tage um neue Informationen erweitert.<\/p>\n<p>Am 1. M\u00e4rz 2019 teilte Microsoft mit, dass man die f\u00fcr die Unterst\u00fctzung von Retpoline erforderlichen Betriebssystem\u00e4nderungen zur\u00fcckportiert habe. So kann Retpoline im Kernel von Windows 10 Version 1809 verwendet werden. Diese \u00c4nderungen wurden mit dem Update KB44828887 vom 1. M\u00e4rz 2019 eingef\u00fchrt. Aufgrund der Komplexit\u00e4t der Implementierung und der damit verbundenen \u00c4nderungen will Microsoft Retpoline und die damit verbundenen Leistungsvorteile nur f\u00fcr Windows 10, Version 1809 und sp\u00e4tere Releases aktivieren.<\/p>\n<p>Zudem ist Retpoline laut Microsoft derzeit sowieso standardm\u00e4\u00dfig auf Windows 10-Clientger\u00e4ten deaktiviert. Microsoft gibt an, dass man Retpoline aber im Rahmen eines schrittweisen Rollouts \u00fcber die Cloud-Konfiguration in den kommenden Monaten aktivieren will. Wann ein Windows 10-Client die Retpoline-Aktivierung erh\u00e4lt, wird durch Microsoft bestimmt.<\/p>\n<h2>Manuelle Retpoline-Freigabe w\u00e4hrend des Rollouts<\/h2>\n<p>In einem <a href=\"https:\/\/techcommunity.microsoft.com\/t5\/Windows-Kernel-Internals\/Mitigating-Spectre-variant-2-with-Retpoline-on-Windows\/ba-p\/295618\" target=\"_blank\" rel=\"noopener noreferrer\">Nachtrag zum 5. M\u00e4rz 2019<\/a> gibt Microsofts Mehmet Iyigun vom Windows\/Azure Kernel Team nun Hinweise, wie Nutzer Retpoline durch einen Registrierungseingriff w\u00e4hrend der Rollout-Phase gezielt manuell freigeben k\u00f6nnen.<\/p>\n<p>Auf Windows 10 V1809-Clients sind folgende Befehle in einer administrativen Eingabeaufforderung auszuf\u00fchren, um Retpoline zu aktivieren.<\/p>\n<p><code>reg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\" \/v FeatureSettingsOverride \/t REG_DWORD \/d 0x400<\/code><\/p>\n<p><code>reg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\" \/v FeatureSettingsOverrideMask \/t REG_DWORD \/d 0x400<\/code><\/p>\n<p>Danach ist die Maschine neu zu starten. Auf Windows Server 2019 sind dagegen folgende folgende Befehle einzugeben:<\/p>\n<p><code>reg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\" \/v FeatureSettingsOverride \/t REG_DWORD \/d 0x400<\/code><\/p>\n<p><code>reg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management\" \/v FeatureSettingsOverrideMask \/t REG_DWORD \/d 0x401<\/code><\/p>\n<p>Auch hier ist die Maschine im Anschluss neu zu starten. Ob Retpoline aktiviert ist, l\u00e4sst sich mit dem PowerShell-Befehl:<\/p>\n<p>Get-SpeculationControlSettings<\/p>\n<p>abfragen (die ben\u00f6tigten Hintergrundinformationen finden sich in <a href=\"https:\/\/support.microsoft.com\/en-us\/help\/4074629\/understanding-the-output-of-get-speculationcontrolsettings-powershell\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Microsoft-Artikel<\/a>).<\/p>\n<p><strong>\u00c4hnliche Artikel:<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/10\/19\/windows-10-19h1-spectre-v2-schutz-per-retpoline\/\">Windows 10 19H1: Spectre V2-Schutz per Retpoline<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/12\/08\/neue-splitspectre-methode-windows-retpoline-spectre-schutz\/\">Neue SplitSpectre-Methode, Windows Retpoline Spectre-Schutz<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2019\/03\/01\/windows-10-v1809-update-kb4482887-released-03-01-2019\/\">Windows 10 V1809: Update KB4482887 (01.03.2019)<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft f\u00fchrt Retpoline als Schutz vor Spectre 2-Angriffen in Windows 10 (ab Version 1809) ein. Bisher ist der betreffende Schutz auf Windows 10-Clients aber deaktiviert. Besitzer von Windows 10 V1809 k\u00f6nnen aber schon jetzt mittels Registrierungseingriffen den Retpoline-Spectre 2-Schutz manuell &hellip; <a href=\"https:\/\/borncity.com\/blog\/2019\/03\/05\/windows-10-retpoline-spectre-2-schutz-manuell-aktivieren\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426,3694],"tags":[4328,4378],"class_list":["post-215350","post","type-post","status-publish","format-standard","hentry","category-sicherheit","category-windows-10","tag-sicherheit","tag-windows-10"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/215350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=215350"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/215350\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=215350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=215350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=215350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}