8 Stimmen

Was würden Sie sich von einem ASP.NET-Sicherheitsbuch für Einsteiger wünschen?

Dies ist eine schamlose Informationsbeschaffung für mein eigenes Buch.

Einer der Vorträge, die ich in der Gemeinschaft halte, ist eine Einführung in die Schwachstellen von Websites. Normalerweise sehe ich während des Vortrags, wie mindestens zwei Zuhörer sehr blass werden; und das sind grundlegende Dinge, Cross Site Scripting, SQL Injection, Informationslecks, Cross Site Form Requests und so weiter.

Wenn Sie sich also daran erinnern können, dass Sie als angehender Webentwickler (egal ob ASP.NET oder nicht) nützliche Informationen über Websicherheit und sichere Entwicklung benötigen, was meinen Sie? Ich werde bereits die folgenden Themen behandeln OWASP Top Ten

(Und ja, das bedeutet, dass Stackoverflow in der Danksagungsliste auftauchen wird, wenn jemandem etwas einfällt, woran ich noch nicht gedacht habe!)

Es ist jetzt alles fertig und veröffentlicht, vielen Dank für Ihre Antworten

6voto

devinmoore Punkte 2691

Erstens würde ich auf die Unsicherheiten des Webs hinweisen, und zwar auf eine Art und Weise, die sie Menschen zugänglich macht, für die das Entwickeln mit Blick auf die Sicherheit (leider) ein neues Konzept sein kann. Zeigen Sie ihnen zum Beispiel, wie man einen HTTP-Header abfängt und einen XSS-Angriff durchführt. Der Grund, warum Sie ihnen die Angriffe zeigen wollen, ist, dass sie selbst eine bessere Vorstellung davon haben, wogegen sie sich verteidigen müssen. Darüber hinaus ist es gut, über Sicherheit zu sprechen, aber ohne die Art des Angriffs zu verstehen, den sie vereiteln sollen, wird es für sie schwer sein, ihre Systeme genau auf Sicherheit zu "testen". Sobald sie die Sicherheit testen können, indem sie versuchen, Nachrichten abzufangen, Kopfzeilen zu fälschen usw., wissen sie zumindest, ob die Sicherheit, die sie zu implementieren versuchen, funktioniert oder nicht. Sie können ihnen jede beliebige Methode zur Implementierung dieser Sicherheit beibringen und wissen, dass sie es wissen, wenn sie es falsch machen, weil sie die Sicherheitstests, die Sie ihnen gezeigt haben, nicht bestehen werden.

1voto

Vinko Vrsalovic Punkte 252104

Defensives Programmieren als archetypisches Thema, das alle besonderen Angriffe abdeckt, da die meisten, wenn nicht sogar alle, darauf zurückzuführen sind, dass man nicht defensiv genug denkt.

Machen Sie dieses Thema zur zentralen Säule des Buches. Was mir damals gut getan hätte, war die Kenntnis von Techniken, die es ermöglichen, sich auf nichts zu verlassen, und nicht nur einseitige Tipps wie "keine SQL-Kommentare oder Sonderzeichen in der Eingabe zulassen".

Eine weitere interessante Sache, die ich gerne früher gelernt hätte, ist, wie man sie tatsächlich testet.

1voto

stephenbayer Punkte 12054

Ich glaube, alle Schwachstellen beruhen darauf, dass die Programmierer nicht nachdenken, dass sie entweder kurzzeitig unachtsam sind oder dass sie an etwas nicht gedacht haben. Eine große Schwachstelle in einer Anwendung, die ich "reparieren" sollte, war die Tatsache, dass die Authentifizierungsmethode 0 (Null) zurückgab, wenn der Benutzer, der sich anmeldete, ein Administrator war. Da die Variable ursprünglich mit 0 initialisiert wurde, kam es bei Problemen, z. B. wenn die Datenbank nicht funktionierte, zu einer Ausnahme. Die Variable würde nie auf den richtigen "Sicherheitscode" gesetzt werden und der Benutzer hätte dann Administrator-Zugriff auf die Website. Dieser Prozess war absolut nicht durchdacht. Das bringt mich zu einem wichtigen Sicherheitskonzept: Setzen Sie den Anfangswert einer Variablen, die eine "Sicherheitsstufe" oder irgendetwas in dieser Art repräsentiert, niemals auf einen Wert, der die totale göttliche Kontrolle über die Website darstellt. Noch besser ist es, bestehende Bibliotheken zu verwenden, die sich in Produktionsumgebungen über einen langen Zeitraum hinweg bewährt haben.

1voto

Jason Baker Punkte 180981

Ich würde gerne sehen, wie sich die ASP.NET-Sicherheit von der ASP Classic-Sicherheit unterscheidet.

0voto

Jeff Punkte 6476

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X