433 Stimmen

Was sollte jeder Programmierer über Sicherheit wissen?

Ich bin Informatikstudent und befinde mich jetzt im 3. Bis jetzt haben wir viele Fächer studiert, die mit Computern im Allgemeinen zu tun haben (Programmierung, Algorithmen, Computerarchitektur, Mathe usw.).

Ich bin mir sehr sicher, dass niemand alles über Sicherheit lernen kann, aber sicher gibt es ein "Minimum" an Wissen, das jeder Programmierer oder IT-Student darüber wissen sollte, und meine Frage ist, was ist dieses Minimum an Wissen?

Können Sie mir einige E-Books oder Kurse empfehlen, die mir helfen können, diesen Weg zu beschreiten?

14voto

tvanfosson Punkte 506878

Ein guter Einstiegskurs könnte der MIT-Kurs in Computernetze und Sicherheit . Eine Sache, die ich vorschlagen würde, ist, die Privatsphäre nicht zu vergessen. Der Datenschutz ist in gewissem Sinne die Grundlage für die Sicherheit und wird in technischen Kursen über Sicherheit nicht oft behandelt. Vielleicht finden Sie etwas Material zum Thema Datenschutz in diesem Kurs über Ethik und Recht in Bezug auf das Internet.

10voto

Potch Punkte 266

Das Web-Sicherheitsteam von Mozilla hat eine großartiger Führer an die wir uns bei der Entwicklung unserer Websites und Dienste halten.

8voto

benmmurphy Punkte 2509

Die Bedeutung von sicheren Standardeinstellungen in Frameworks und APIs:

  • Viele frühe Web-Frameworks haben standardmäßig keine HTML-Escape-Funktionen in Vorlagen verwendet und hatten deshalb XSS-Probleme
  • Viele frühe Web-Frameworks machten es einfacher, SQL zu verketten als parametrisierte Abfragen zu erstellen, was zu vielen SQL-Injection-Bugs führte.
  • Einige Versionen von Erlang (R13B, vielleicht auch andere) überprüfen standardmäßig keine SSL-Peer-Zertifikate und es gibt wahrscheinlich viele Erlang-Codes, die anfällig für SSL-MITM-Angriffe sind.
  • Der XSLT-Transformer von Java erlaubt standardmäßig die Ausführung von beliebigem Java-Code. Dies hat zu zahlreichen schwerwiegenden Sicherheitslücken geführt.
  • Die XML-Parsing-APIs von Java erlauben es dem geparsten Dokument standardmäßig, beliebige Dateien im Dateisystem zu lesen. Mehr Spaß :)

5voto

rapadura Punkte 4996

Sie sollten die drei A's kennen. Authentifizierung, Autorisierung, Audit. Ein klassischer Fehler ist es, einen Benutzer zu authentifizieren, aber nicht zu prüfen, ob er berechtigt ist, eine Aktion durchzuführen, so dass ein Benutzer private Fotos anderer Benutzer ansehen kann, wie es Diaspora getan hat. In einem sicheren System muss man in der Lage sein, festzustellen, wer was und wann getan hat.

4voto

Amandasaurus Punkte 53498
  • Denken Sie daran, dass Sie (der Programmierer) alle Teile absichern müssen, während der Angreifer nur eine Schwachstelle in Ihrem Panzer finden muss.
  • Sicherheit ist ein Beispiel für "unbekannte Unbekannte". Manchmal weiß man (erst im Nachhinein), was die möglichen Sicherheitslücken sind.
  • Der Unterschied zwischen einem Bug und einer Sicherheitslücke hängt von der Intelligenz des Angreifers ab.

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