{"id":197680,"date":"2017-11-27T01:37:00","date_gmt":"2017-11-27T00:37:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/?p=197680"},"modified":"2020-12-09T19:17:56","modified_gmt":"2020-12-09T18:17:56","slug":"das-problem-mit-c-redists-party-sicherheitspatches-teil-1","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2017\/11\/27\/das-problem-mit-c-redists-party-sicherheitspatches-teil-1\/","title":{"rendered":"Das Problem mit C++ Redists &amp; 3rd Party Sicherheitspatches&ndash;Teil 1"},"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\/Schutz.jpg\" width=\"40\" height=\"47\" align=\"left\" \/>[<a href=\"http:\/\/borncity.com\/win\/?p=4543\" target=\"_blank\" rel=\"noopener noreferrer\">English<\/a>]Blog-Leser Karl (al Qamar) hat mich vor einiger Zeit auf ein Problem im Zusammenhang mit Sicherheitsupdates f\u00fcr die Visual C++ Laufzeitbibliotheken (Redistributables) aufmerksam gemacht. Ich habe sein Material mal als Blog-Beitrag aufbereitet und stelle es hier zur Information und ggf. Diskussion ein. An dieser Stelle mein Dank an Karl f\u00fcr den Hinweis.<\/p>\n<p><!--more--><\/p>\n<h2>Worum geht es genau?<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/ssl-vg03.met.vgwort.de\/na\/37eeef7e21064d1a85523d20471b1ab3\" alt=\"\" width=\"1\" height=\"1\" \/>Die meisten Programme ben\u00f6tigen Laufzeitbibliotheken, um ausgef\u00fchrt zu werden. Bei Visual C++ ist das die Redistributables (Runtime-Bibliotheken), die mit der jeweiligen Anwendung mit installiert werden. Karl schreibt:<\/p>\n<blockquote><p>In aller Regel ist es leider so, dass MS sich bei seinen f\u00fcr fast alle Programme notwendigen 3rd Party Komponenten die als Laufzeitbibliotheken aka C++ Runtimes bekannt sind, konzeptionell einen ziemlichen Bock geschossen hat. Darauf bin ich selbst erst um 2013 aufmerksam geworden.<\/p><\/blockquote>\n<h2>Der Haken bei VC++Runtime-Updates<\/h2>\n<p>Werden VC++Runtime-Bibliotheken durch Sicherheitsupdates aktualisiert, installiert Windows diese in den meisten F\u00e4llen Side-by-Side. Karl schreibt:<\/p>\n<blockquote><p>Durch einen konzeptionellen Irrtum werden die C++ Redists n\u00e4mlich in den meisten F\u00e4llen Side-by-Side installiert, d.h. alte unsichere Redist verbleiben auf den Systemen, dies betrifft Clients wie Server.<\/p><\/blockquote>\n<h2>Ein paar Worte zu Side-by-Side und WinSxS<\/h2>\n<p>Warum man die Laufzeitbibliotheken Side-by-Side installieren muss, habe ich im Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2016\/12\/15\/windows-10-fehler-side-by-side-konfiguration-ungltig\/\">Windows 7\/8.1\/10: Fehler Side-by-Side-Konfiguration ung\u00fcltig<\/a> in anderem Zusammenhang erl\u00e4utert.<\/p>\n<p>In kurz: Laufzeitbibliotheken werden zentral gespeichert, damit die Anwendungen nicht jedes Mal die gleichen DLLs separat in Programmordner installieren m\u00fcssen. Man kann durch gemeinsame Nutzung der Bibliotheken Speicherplatz sparen.<\/p>\n<p>Das Problem: Verwenden zwei Anwendungen unterschiedliche Versionen einer Laufzeitbibliothek, k\u00e4me es zu Konflikten, wenn die zuletzt installierte Anwendung einfach die bereits vorhandenen Runtime-Dateien \u00fcberschreiben w\u00fcrde.\u00a0 Dann kommt es bei der Installation der Anwendung zu einem Konflikt, der fr\u00fcher als \"DLL hell\" bekannt war.<\/p>\n<p>Um dieses dieses Problem elegant zu umgehen, wurden die Side by Side-Konfiguration im Ordner <em>WinSxS <\/em>(<em>Windows component store<\/em>) eingef\u00fchrt. Bei der Installation einer Anwendung werden die Laufzeitbibliotheken, DLLs, und ggf. andere Ressourcen, in einem eigenen Unterordner des Ordners <em>WinSxS <\/em>gespeichert. Dadurch behindern sich nicht mehrere Dateien gleichzeitig. Weitere Insides finden sich im genannten Blog-Beitrag.<\/p>\n<h2>Weiteres Problem: Windows Update und WSUS<\/h2>\n<p>Karl weist noch auf einige zus\u00e4tzliche Probleme im Zusammenhang mit diesen Sicherheitsupdates hin.<\/p>\n<blockquote><p>Aus unerkl\u00e4rlichen Gr\u00fcnden stellt Microsoft die aktuellen Versionen [der Redistributables] zwar (teilweise) zum Download bereit, jedoch nicht alle aktuellen Versionen ebenfalls per WSUS oder WU. Dies betrifft insbesondere C++ 2008-2012.<\/p>\n<p>Wenn die Updates \u00fcber WSUS oder WU installiert werden, f\u00fchrt dies in den meisten F\u00e4llen zu o.g. Side-by-Side Installation, da MS erst mit Einf\u00fchrung von C++ 2013 einen Versionscheck im MSI Installer durchf\u00fchrt.<\/p>\n<p>Ferner gelten die Updates als 3rd Party und per Default ist die Einstellung seit Windows XP so, dass nur Windows Updates installiert werden, also keine anderen Microsoft Updates, zu denen die C++ Redists, Office Updates oder SQL \/ Exchange Server Updates geh\u00f6ren. Ist die Option aktiviert, werden Office-und Treiber-Updates installiert.<\/p>\n<p>In WSUS m\u00fcsste man zudem die Kategorien von Visual Studio (Platzbedarf!) aktivieren, da die Redists bl\u00f6derweise keine eigene Kategorie besitzen.<\/p><\/blockquote>\n<p>Da schleppt man also eine Altlast mit. Karl schrieb mir in einer Mail: <em>Ich finde das Ganze \u2013 auch in Hinblick auf die [in der angeh\u00e4ngten Email] weiteren Probleme mit Libraries ziemlich traurig. <\/em><\/p>\n<p>Auf die E-Mail-Korrespondenz zwischen Karl und dem Microsoft Security Response Center (MSRC) gehe ich in Teil 2 ein. In Teil 3 findet sich noch eine FAQ und ein L\u00f6sungsansatz.<\/p>\n<p><strong>Artikelreihe:<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/?p=197680\">Das Problem mit C++ Redists &amp; 3rd Party Sicherheitspatches<\/a><a href=\"https:\/\/borncity.com\/blog\/?p=197680\">\u00a0\u2013 Teil 1<br \/>\n<\/a><a href=\"https:\/\/borncity.com\/blog\/?p=197682\" rel=\"noopener\">Das Problem mit C++ Redists &amp; 3rd Party Sicherheitspatches<\/a><a href=\"https:\/\/borncity.com\/blog\/?p=197680\">\u00a0\u2013 Teil 2<br \/>\n<\/a><a href=\"https:\/\/borncity.com\/blog\/?p=197688\" rel=\"noopener\">Das Problem mit C++ Redists &amp; 3rd Party Sicherheitspatches<\/a><a href=\"https:\/\/borncity.com\/blog\/?p=197680\">\u00a0\u2013 Teil 3<\/a><\/p>\n<p><strong>\u00c4hnliche Artikel:<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2016\/12\/15\/windows-10-fehler-side-by-side-konfiguration-ungltig\/\">Windows 7\/8.1\/10: Fehler Side-by-Side-Konfiguration ung\u00fcltig<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]Blog-Leser Karl (al Qamar) hat mich vor einiger Zeit auf ein Problem im Zusammenhang mit Sicherheitsupdates f\u00fcr die Visual C++ Laufzeitbibliotheken (Redistributables) aufmerksam gemacht. Ich habe sein Material mal als Blog-Beitrag aufbereitet und stelle es hier zur Information und ggf. &hellip; <a href=\"https:\/\/borncity.com\/blog\/2017\/11\/27\/das-problem-mit-c-redists-party-sicherheitspatches-teil-1\/\">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,185,301],"tags":[4328,4315,6668,3288],"class_list":["post-197680","post","type-post","status-publish","format-standard","hentry","category-sicherheit","category-update","category-windows","tag-sicherheit","tag-update","tag-vc","tag-windows-en"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/197680","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=197680"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/197680\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=197680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=197680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=197680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}