29.08.2024
.NET 9
BinaryFormatter in .NET 9 entfernt
Autor: Online Redaktion
dotnetpro
Die .NET-Plattform hat mit der Version 9 den BinaryFormatter aus Sicherheitsgründen entfernt. Entwicklern wird nahegelegt, BinaryFormatter aus Projekten zu entfernen und sich nach sichereren Serialisierungsoptionen umzuschauen.
In .NET 9 hat Microsoft die Implementierung des BinaryFormatter aus der Runtime entfernt. Das sorgt dafür, dass das API zwar weiterhin existiert, aber nur noch Ausnahmen auslöst - unabhängig vom Projekttyp. Die Gründe für diesen Schritt sind vielschichtig, aber insbesondere die Sicherheitsrisiken, die mit der Verwendung des BinaryFormatter verbunden sind, stehen im Vordergrund.
Der BinaryFormatter, der in der ersten Veröffentlichung des .NET Frameworks im Jahr 2002 implementiert wurde, erweist sich als gefährlich, da jeder Deserializer, der Informationen über die zu erstellenden Objekte erhält, potenzielle Sicherheitsprobleme mit sich bringen kann.
Den Entwicklern wird nahe gelegt, BinaryFormatter komplett aus Projekten zu entfernen und sich stattdessen nach sichereren Serialisierungsoptionen umzuschauen. Von Microsoft empfohlene Alternativen sind beispielsweise JSON- oder XML-Serialisierungsformate, die beide in der .NET-Bibliothek enthalten sind. Für die Entwickler, die auf binäre Serialisierungsformate angewiesen sind, gibt es Open-Source-Alternativen wie MessagePack und Protocol Buffers. Für den Übergang empfiehlt Microsoft die Verwendung des neuen NrbfDecoders, um binäre Payloads zu lesen, ohne die komplette Deserialisierung durchzuführen.
Sollte es in einem Projekt notwendig sein, den BinaryFormatter weiterhin zu verwenden, wird auch auf die Möglichkeit hingewiesen, das nicht unterstützte NuGet-Paket System.Runtime.Serialization.Formatters zu installieren, um die frühere Funktionalität wiederherzustellen. Die Nutzung dieses Pakets ist jedoch nicht ratsam, da es bekannte Sicherheitslücken mit sich bringt.
Webentwicklung
Welches Web-Framework ist das passende? Ein Experiment
Entwickler Eugene Yan untersucht in einem Praxisbeispiel, wie unterschiedliche Web-Frameworks die Entwicklung einer Anwendungen beeinflussen. Am Start sind FastHTML, Next.js und SvelteKit.
>>
Effizient Implementiert
Thread-Safe Singleton in C#
Das Singleton Pattern, eines der bekanntesten Muster in der Softwareentwicklung, lässt sich auch Thread-Safe umsetzen. Wie das geht, zeigt ein Artikel auf CodeProject.
>>
Microsoft Office
Office Add-ins Development Kit für Visual Studio Code
Microsoft hat das Office Add-ins Development Kit für Visual Studio Code als Preview veröffentlicht. Es soll die Einrichtung der Entwicklungsumgebung vereinfachen.
>>
.NET plattformunabhängig
Microsoft spendet das Mono-Projekt an WineHQ
Microsoft hat überraschend das Mono-Projekt an die WineHQ-Organisation übertragen. Diese Entscheidung wirft Fragen auf: Was bedeutet das für die Zukunft von Mono und wie wird es sich auf die .NET-Community auswirken?
>>