Secure .NET Development

Master Studiengang Information Security

Dipl.-Ing. Martin Schagerl, BSc
19.09.2014

Ausgangslage

Heutzutage steht es sicherlich außer Frage, dass eine sichere Software von enormer Bedeutung ist. Dennoch gibt es zahlreiche Sicherheitslücken in bestehenden sowie neuentwickelten Softwareprodukten. Ein Grund dafür ist, dass die Entwicklung von sicherer Software mit Zeitaufwand und somit mit Kosten verbunden ist. Da KundInnen meist nur die korrekte Funktionalität und eventuell das Aussehen einer Anwendung bewerten, werden Sicherheitsaspekte von EntwicklerInnen häufig ignoriert. Diese Kosteneinsparungen können je nach Größe und Art der Software einen enormen finanziellen Schaden bedeuten. Um eine sichere Software zu entwickeln, empfiehlt es sich, auf bestehende Frameworks zurückzugreifen, welche bewährte Sicherheitskonzepte anbieten. Solche Frameworks machen Anwendungen nicht nur sicherer, sondern beschleunigen zusätzlich ihre Entwicklung. Es kann nämlich auf viele Funktionalitäten zurückgegriffen werden, ohne diese neu entwickeln zu müssen. Microsoft, einer der größten Softwarehersteller der Welt, stellt dazu das .NET Framework für EntwicklerInnen zur Verfügung.

Ziel

Das .NET Framework bietet jede Menge Sicherheitsfunktionalitäten an, welche jedoch nicht immer automatisch zur Wirkung kommen, weil diese explizit von ProgrammiererInnen implementiert werden müssen. Daher besteht trotz .NET die Möglichkeit, fatale Fehler zu machen, wodurch Sicherheitslücken entstehen können. Aus diesem Grund ist es Aufgabe der EntwicklerInnen, die mitgelieferten Features richtig einzusetzen, um Applikationen sicherer zu machen. In dieser Arbeit werden dazu typische Schwachstellen von .NET Applikationen untersucht und diese mittels .NET Unterstützung behoben. Es wird gezeigt, was bei den Sicherheitsfunktionen beachtet werden muss bzw. welche Funktionen für welchen Zweck geeignet sind. Ziel dieser Diplomarbeit ist es, zu zeigen, wie man das .NET Framework sinnvoll nutzen kann, um sichere, stabile und zukunftsorientierte Applikationen zu entwickeln.

Ergebnis

Anhand dieser Arbeit kann erkannt werden, dass das .NET Framework eine sehr mächtige Laufzeitumgebung ist, welche eine Menge an Sicherheitsfeatures mitliefert. Egal ob typische Webschwachstellen, unsicherer Datenaustausch oder sonstige kritische Probleme, das Framework bietet für jedes Thema Lösungskonzepte an. Es wurden viele Möglichkeiten vorgestellt, um Anwendungen gegen Angriffe zu schützen.

FH-Betreuer: Dipl.-Ing. (FH) Thomas Brandstetter, MBA