Ich möchte in meiner Karriere in die Computersicherheit einsteigen. Was sind die besten Möglichkeiten, um sicheres Programmieren zu lernen?
Es scheint mir, dass neben Lehrbüchern und Unterricht in diesem Fach das Erlernen des "Hackens" vielleicht eine der besten Möglichkeiten zum Lernen ist. Mein Grund zu der Annahme, dass dies der beste Weg ist, um zu lernen, wie man jemanden daran hindert, das zu tun, was man nicht will, ist zu lernen, wozu er fähig ist.
Wenn dies der Fall ist, wirft dies eine andere Frage auf: Wie würden Sie lernen, ethisch zu hacken? Ich möchte definitiv keine Gesetze brechen oder meiner Suche Schaden zufügen.
Antworten:
Es gibt viel über "ethisches Hacken" - ein häufiges Schlagwort ist "Penetrationstest". Es gibt auch Ethikkodizes, wie man das macht - aber meine einzige Faustregel wäre die gleiche wie die Regeln für den Kindergarten - keine harten Sachen, die nicht deine sind.
Wenn Sie an beiden Seiten der Medaille interessiert sind, würde ich Heimprojekte vorschlagen - erstellen Sie eine einfache Anwendung und versuchen Sie dann, sie zu hacken. Dann haben Sie den Code zur Verfügung, damit Sie ihn brechen und nach Herzenslust reparieren können.
Die andere Sache sind Websites wie OWASP (siehe andere Antwort). Es gibt eine Menge bekannter Schwachstellen. Das Lernen über sie und das Erlernen, wie man sie verhindert, ist ein großartiger Schritt, der das Ausprobieren von DIY-Hacking verkürzt. Es ist auch ein großer Schritt, sich mit Mechanismen für Vertraulichkeit, Integrität, Identifizierung und Verfügbarkeit von Software, Netzwerken und Computern im Allgemeinen vertraut zu machen. Erfahrung in der Implementierung dieser Mechanismen in der Sprache / Bereitstellung Ihrer Wahl ist eine hervorragende Möglichkeit, um Softwaresicherheitsfähigkeiten aufzubauen.
quelle
Haben Sie sich OWASP angesehen ? Hier finden Sie auch einen direkteren Link zu den 10 wichtigsten Sicherheitsproblemen .
quelle
Eine Möglichkeit wäre, sich die Werkzeuge anzusehen, mit denen ein System einem Penetrationstest unterzogen werden kann. Sie können zunächst einige spezielle Linux-Distributionen für Penetrationstests herunterladen .
Ein weiterer Teil Ihrer Lernaufgabe besteht darin, die Literatur dort draußen zu lesen. OWASP, wie von @ S.Lott vorgeschlagen, ist eine erstaunliche Ressource für die Sicherheit von Webanwendungen. SafeCode ist eine allgemeinere Quelle, aber definitiv viel weniger detailliert.
quelle