{"id":210746,"date":"2018-10-19T15:19:18","date_gmt":"2018-10-19T13:19:18","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=210746"},"modified":"2022-11-20T12:26:59","modified_gmt":"2022-11-20T11:26:59","slug":"windows-10-19h1-spectre-v2-schutz-per-retpoline","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2018\/10\/19\/windows-10-19h1-spectre-v2-schutz-per-retpoline\/","title":{"rendered":"Windows 10 19H1: Spectre V2-Schutz per Retpoline"},"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\" \/>\u00dcberraschung in der Windows 10 Insider Preview f\u00fcr 19H1: Der Kernel enth\u00e4lt wohl die Retpoline-Technik, um diesen vor SpectreV2 zu sch\u00fctzen. Damit soll der Leistungsverlust durch diesen Schutz minimiert werden. <strong>Erg\u00e4nzung:<\/strong> Es gibt inzwischen einen Benchmark von Martin Geu\u00df.<\/p>\n<p><!--more--><\/p>\n<h2>Hintergrundinformation zu Retpoline<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg05.met.vgwort.de\/na\/83d98702904344bc9ce074ddaac25ed7\" alt=\"\" width=\"1\" height=\"1\" \/>Anfang des Jahres wurden ja die Angriffsmethoden Spectre und Meltdown \u00f6ffentlich bekannt, die auf CPU-Ebene wirken. In der Folge wurden von Intel Microcode-Patches und von Microsoft eine Reihe Meltdown- und Spectre-Patches freigegeben. Der unerw\u00fcnschte Nebeneffekt: Manche Patches verursachten massive Leistungseinbu\u00dfen bei den Systemen.<\/p>\n<p>Andererseits hatte Google-Software-Entwickler bereits fr\u00fchzeitig die Idee, die spekulativen Seitenkanalangriffe f\u00fcr Spectre (und Meltdown) \u00fcber spezielle Code-Konstrukte ins Leere laufen zu lassen. Die Technik tr\u00e4gt den Namen Retpoline und wurde in <a href=\"https:\/\/security.googleblog.com\/2018\/01\/more-details-about-mitigations-for-cpu_4.html\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Google-Dokument<\/a> beschrieben. Google verwendete die Retpoline-Technik zum Patchen der eigenen Server f\u00fcr die Cloud.<\/p>\n<p>Ich hatte im Januar 2018 im Beitrag <a href=\"https:\/\/borncity.com\/blog\/2018\/01\/13\/meltdown-spectre-google-patcht-cloud-ohne-leistungsverlust\/\">Meltdown\/Spectre: Google patcht Cloud ohne Leistungsverlust<\/a> dar\u00fcber berichtet. In Linux wurde diese Technik von Anfang an im Kernel verwendet (siehe z.B. den Beitrag <a href=\"https:\/\/borncity.com\/blog\/2018\/03\/11\/ubuntu-14-04-lts-erhlt-kernel-mit-spectre-v2-schutz\/\">Ubuntu 14.04 LTS erh\u00e4lt Kernel mit Spectre V2-Schutz<\/a>).<\/p>\n<h2>Auch Microsoft setzt auf Retpoline<\/h2>\n<p>Nun ist Sicherheitsforscher Alex Ionescu beim Testen der aktuellen Insider Preview f\u00fcr Windows 10 19H1 aufgefallen, dass im Kernel Retpoline aktiviert ist. Er hat dies in einem Tweet gemeldet.<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"de\">\n<p dir=\"ltr\" lang=\"en\">Yes, we have enabled retpoline by default in our 19H1 flights along with what we call \"import optimization\" to further reduce perf impact due to indirect calls in kernel-mode. Combined, these reduce the perf impact of Spectre v2 mitigations to noise-level for most scenarios. <a href=\"https:\/\/t.co\/CPlYeryV9K\">https:\/\/t.co\/CPlYeryV9K<\/a><\/p>\n<p>\u2014 Mehmet Iyigun (@mamyun) <a href=\"https:\/\/twitter.com\/mamyun\/status\/1052715532883877888?ref_src=twsrc%5Etfw\">18. Oktober 2018<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>In seinen Tests konnte er eine gro\u00dfe Leistungsverbesserung des neuen Kernels bei Dateisystem-Benchmarks auf einem Surface Pro 4 feststellen. Mehmet Iyigun (@mamyun) vom Windows\/Azure Kernel Team best\u00e4tigte dann auf Twitter, dass man Retpoline standardm\u00e4\u00dfig im Windows 10 Entwicklungszweig 19H1 (wird das Fr\u00fchjahrs-Update in 2019) aktiviert habe.<\/p>\n<p>Bei Microsoft kombiniert man das Ganze mit einer Technik, die 'Import Optimization' genannt wird. Die Entwickler haben das Ziel, dadurch die Leistungseinbu\u00dfen durch indirekte Aufrufe von Kernel-Mode-Funktionen noch zu minimieren. Die Kombination dieser Techniken f\u00fchrt dazu, dass die Leistungseinbu\u00dfen durch Spectre V2-Schutzma\u00dfnahmen kaum mehr festzustellen sind und 'im Rauschen' untergehen. (via)<\/p>\n<p><strong>Erg\u00e4nzung:<\/strong> Mir fehlen Zeit, Ger\u00e4te und Nerv, die Insider Previews intensiver zu testen (alleine der Download dauert Stunden). Aber Martin Geu\u00df hat sich die M\u00fche gemacht, das auf einem Surface mal ausgiebiger zu testen. Er hat die Ergebnisse eines Benchmarks in <a href=\"https:\/\/www.drwindows.de\/news\/benchmark-vergleich-bringt-das-19h1-update-fuer-windows-10-mehr-leistung\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Dr. Windows-Artikel<\/a> ver\u00f6ffentlicht &#8211; nicht ganz uninteressant.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00dcberraschung in der Windows 10 Insider Preview f\u00fcr 19H1: Der Kernel enth\u00e4lt wohl die Retpoline-Technik, um diesen vor SpectreV2 zu sch\u00fctzen. Damit soll der Leistungsverlust durch diesen Schutz minimiert werden. Erg\u00e4nzung: Es gibt inzwischen einen Benchmark von Martin Geu\u00df.<\/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-210746","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\/210746","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=210746"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/210746\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=210746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=210746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=210746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}