Tach,
Die Anforderungen an die Sicherheit von Programmen (Absicherung des Zugriffs und der Ausführung) sind im lokalen Kontext andere, als auf dem Webserver.
ja sie sind anders; im Prinzip könnte man sagen sie sind (erstmal) geringer (sie verschieben sich halt anderswo hin), ich muss mir keine Sorgen darum machen, dass ein User Code mit erhöhten Rechten ausführen kann (bei HTTP möchte ich im allgemeinen verhindern, dass ein User Code im Context des Webservers ausühren kann), dafür ist das OS zuständig. Was man hier verhindern will, ist dass ein Script unerwartete Dinge tut, wenn es unerwarteten Input bekommt und das läuft im Prinip wieder auf die hinreichend beliebten Kontextwechsel hinaus.
Hat man aber Python-Code, der im Kontext eines anderen Users läuft (z.B. ein Daemon) und ein User soll dann wiederum darauf zugreifen, bist du im Prinzip wieder bei genau den selben Überlegungen wie bei Python auf dem Webserver. Was hier noch dazu kommt, sind fehlerhafte (also aus Security-Sicht) Protokolle und API-Definitionen; wenn du z.B. einen nutzbaren SMTP-Server implementieren würdest, gehört eine Menge mehr an Checks dazu, als das Protokoll selber vorschreibt.
Ich suche nun nach Lesestoff (unter Anderem) zu diesem Themenbereich und verliere mich dabei im Wust der Angebote. Hat jemand von euch Empfehlungen, die er mit mir (und natürlich der hiesigen Öffentlichkeit) teilen möchte?
Für allgemeine Fehler, die man mit Python leicht machen kann, würde ich z.B. mal in https://github.com/ebranca/owasp-pysec/wiki schauen.
mfg
Woodfighter