Häufige Sicherheitslücken für WinForms-Anwendungen

Ich bin nicht sicher, ob dies zum Thema gehört oder nicht, aber es ist so spezifisch für .NET WinForms, dass ich glaube, dass es hier sinnvoller ist als auf der Security StackExchange-Site.

(Auch ist es streng verwandt mitsichere Codierung, und ich denke, es ist genauso thematisch wie jede Frage zu allgemeinen Sicherheitslücken auf der Website, die ich überall auf der Website sehe.)

Seit Jahren erstellt unser Team Bedrohungsmodelle für Website-Projekte. Ein Teil unserer Vorlage enthält dieOWASP Die Top 10 und andere bekannte Sicherheitslücken, sodass wir bei der Bedrohungsmodellierung immer sicherstellen, dass wir über einen dokumentierten Prozess zur Behebung jeder dieser allgemeinen Sicherheitslücken verfügen.

Beispiel:

SQL-Injection (Owasp A-1)

StandardverfahrenVerwenden Sie nach Möglichkeit gespeicherte parametrisierte Prozeduren, um auf Daten zuzugreifenVerwenden Sie parametrisierte Abfragen, wenn gespeicherte Prozeduren nicht möglich sind. (Verwenden einer Drittanbieter-Datenbank, die wir nicht ändern können)Escape-Anführungszeichen nur, wenn die oben genannten Optionen nicht durchführbar sindDatenbankberechtigungen müssen nach dem Prinzip der geringsten Berechtigungen erstellt werdenStandardmäßig haben Benutzer / Gruppen keinen ZugriffDokumentieren Sie während der Entwicklung den Zugriff auf jedes Objekt (Tabelle / Ansicht / gespeicherte Prozedur) und die geschäftlichen Zugriffsanforderungen.[snip]

In jedem Fall haben wir die OWASP Top 10 als Ausgangspunkt für allgemein bekannte Sicherheitslücken in Bezug auf Websites verwendet.

(Zum Schluss zur Frage)

In seltenen Fällen entwickeln wir WinForms- oder Windows-Dienstanwendungen, wenn eine Webanwendung die Anforderungen nicht erfüllt. Ich frage mich, ob es eine entsprechende Liste allgemein bekannter Sicherheitslücken für WinForms-Apps gibt.

Auf den ersten Blick fallen mir ein paar ein ...

SQL Injection ist immer noch ein Problem.Ein Pufferüberlauf wird normalerweise durch die CLR verhindert, ist jedoch besser möglich, wenn nicht verwalteter Code mit verwaltetem Code gemischt wird.NET-Code kann dekompiliert werden, sodass vertrauliche Informationen im Code gespeichert werden und nicht in der app.config verschlüsselt ...

Gibt es eine solche Liste oder sogar mehrere Versionen einer solchen Liste, von denen wir uns ausleihen können, um unsere eigene zu erstellen? Wenn ja, wo finde ich es?

Ich konnte es nicht finden, aber wenn es eines gibt, wäre es eine große Hilfe für uns und auch für andere WinForms-Entwickler.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage