Datenschutz & Sicherheit
WireGuard 1.0: Stabiler Meilenstein der Windows-Version erreicht
Die stabile Version WireGuard 1.0 für Windows ist am Wochenende erschienen. Entwickler Jason Donenfeld hat das Release am Samstagabend freigegeben. Er bezeichnet es selbst als Meilenstein.
Weiterlesen nach der Anzeige
In der Ankündigung von Donenfeld auf der WireGuard-Mailingliste führt er einige Details aus. Er habe endlich die letzten „1.0-Blocker“ ausgebessert und freue sich, diesen Meilenstein nun erreicht zu haben. Insbesondere der Treiber WireGuardNT enthalte einen Haufen an Fehlerkorrekturen. Die IOCTLs des Treibers haben auf dem NDIS-Device-Node aufgesetzt, wobei dort bestimmte benötigte Funktionen nicht dokumentiert waren. Dadurch war der Code eine tickende Zeitbombe, da bestimmte Pointer nicht auf einem stabilen Offset sitzen. Windows 10 hat dafür eine stabile Funktion integriert, die WireGuardNT nun nutzt.
Was Donenberg ebenfalls noch fehlte, war eine korrekte Benachrichtigung über MTU-Änderungen (Maximum Transmission Unit). WireGuard füllt Pakete stets zur nächsten 16-Byte-Grenze auf, bis zur maximalen MTU der Netzwerkschnittstelle; das soll vor Traffic-Analyse-Angriffen schützen. Unter Linux hat die Software vollen Zugriff auf diese Information, während unter Windows dafür eine Kombination aus unterschiedlichen Werten für Adapter, vom TCP/IP-Interface ausgewählten Werten, zudem noch eine Unterscheidung in IPv4 und IPv6 auf den Treiber zukommt. Windows kennt einen Callback, der über etwaige Änderungen informieren soll, der wird jedoch bei MTU-Änderungen nie aktiv. Microsoft wollte das Donenberg zufolge seit 2019 korrigieren, aber bislang ist davon nichts zu sehen. Als Behelf pollte WireGuardNT alle drei Sekunden alle WireGuard-Interfaces. Das hat der Programmierer jetzt ebenfalls schöner gelöst, nachdem er einige Nachrichten auf dem NSI-Gerät analysiert und reverse-engineert hat. Dadurch kann WireGuard sich umgehend an geänderte MTUs anpassen und nicht erst innerhalb von drei Sekunden.
Das sind die größten Änderungen, kleinere umfassen etwa, dass das Projekt im C23-Modus kompiliert, einem aktuelleren C-Standard. Neben dem Treiber hat er aber auch an WireGuard for Windows geschraubt und dabei 42 Fehler ausgebessert.
WireGuard: Aktualisierte Installationspakete
Die WireGuard-1.0-Pakete stehen auf der Download-Seite von WireGuard zum Herunterladen bereit. Der integrierte Update-Mechanismus zeigt in der Regel aber ebenfalls die verfügbare Aktualisierung an.
Erst in der vergangenen Woche hatte Donenberg nach vier Jahren das erste Update für WireGuard unter Windows veröffentlicht. Zuvor gab es öffentlichen Zwist, da Microsoft Entwicklerkonten mit unzureichender Inhaber-Validierung gesperrt hat. Diese sind zum Signieren der Treiber und der Binärdateien jedoch zwingend nötig. Es gibt zwar ein Berufungsverfahren, dafür gönnt sich Microsoft jedoch bis zu 60 Tage Zeit. Darüber hatte sich etwa der VeraCrypt-Entwickler Mounir Idrassi beschwert. Donenfeld sieht das jedoch entspannter und sortiert das als überbordende Bürokratie ein, was mal passieren könne.
Weiterlesen nach der Anzeige
(dmk)