Best Practices der sicheren Programmierung mit.NET Andrea Janes.

Slides:



Advertisements
Ähnliche Präsentationen
Prüfung objektorientierter Programme -1
Advertisements

Phasen und ihre Workflows
Designing Software for Ease of Extension and Contraction
Das „Vorgehensmodell“
Das secologic Projekt im Kurzüberblick - Stand Sept
Fragedateien für „Wer wird Millionär“ selbst erstellen
Erweiterung B2B Usermanagement / LDAP-Anbindung
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Passwörter.
Prototyping.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Erfahrungen aus Tests komplexer Systeme
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Berufspräsentation Fachinformatiker.
Kurs Datenbanken Anleitung zur Erstellung von Kombinationsfeldern in Formularen.
Daten auf den Server Wie bekomme ich die Daten zum ersten Mal auf den Server, wenn ich für meine Anwender die Vereinsdaten zum gemeinsamen Arbeiten bereitstellen.
Uwe Habermann Venelina Jordanova dFPUG – Silverlight Wizard.
Die Bank von morgen - eine neue Welt für IT und Kunden? 23. Oktober 2001.
Heute zählt Band 2 Heft 1.
Grundkurs Informatik Jahrgang 10 Der Grundkurs der Jahrgangsstufe 10 bereitet den an den Vorgaben für das Zentralabitur ausgerichteten Unterricht in der.
Spezifikation von Anforderungen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
SPEAQ Workshop Von Praktikern geleitete Qualitätssicherung und Qualitätssteigerung Dieses Projekt wurde mit finanzieller Unterstützung der Europäischen.
Steigerung der Wertschöpfung Unternehmergespräche 15./16. Mai 2006 Carlo von Ah.
Effiziente Algorithmen
entwickelt von C. Rizzotti Vlach
Brainstorming Hinweis: Susi Sonne Aufgabe 1: Ansichten wechseln
Bei den ganzen Ungewissheiten beim Thema Klimawandel, ist es da logischer gegen aktives Handeln zu sein, oder aktives Handeln zu fordern? Wir können dieses.
„Buy and Make“ anstelle von „Make or Buy“
Framework for Integrated Test (FIT)
Warum brauche ich ein CMS – Content Management System?
User-Centred Design Kosten und Gewinne des nutzerorientierten Gestaltungprozesses Irene Escudé Capdevila März 2012.
Vorgehen bei der Entwicklung mobiler Lösungen
die Kraft aller Elemente
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Meins & Vogel GmbH, Tel. (07153) , Sicher im Internet – Nur eine Illusion? Vortrag im Rahmen eines Info-Abends Meins und Vogel.
Wasserfallmodell und Einzelbegriffe
Brainstorming Susi Sonne Aufgabe 1: Ansichten wechseln
Und so was soll´s geben... ? Ort des Geschehens: ZoohandlungZoohandlung.
Freiheit - Freedom -.
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Ausgezeichnete, auffällige und aussagekräftige Präsentationen selbst basteln NUR WIE!?
Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.
Proseminar GMA Web Suche und Information Retrieval (SS07)
Lernen durch Vergleiche
Gefährliche Post Eine kurze Präsentation über die Gefahren von -Anhängen. Klicken Sie hier einmal und lehnen Sie sich zurück.
Rational Unified Process
Testvorbereitungen, Unit Test
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Bestimmung des Themas Lektion 2. 1 Module 2.1 Ideenbildung - Brainstorming von Community-Themen 2.2 Lean Startup 2.3 Erstellen Sie eine Umfrage 2.4 Spiele-App.
„Continuous Delivery“
WellStarWellStar Starter Training…. WellStarWellStar Starter Training… unsere Produkte! Sie müssen nicht alle Inhaltsstoffe auswendig lernen um unsere.
1. Ich orientiere mich Worum geht es? Was weiß ich bereits? Ich notiere mir Suchworte. Wo könnte ich Antworten finden? 3. Ich werte aus Ich überprüfe die.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Strategie.
E r f a h r u n g e n.
Test-Driven Development
Unterricht vorbereiten und durchführen
Schutz vor Viren und Würmern Von David und Michael.
Personas des Walk-up&use Infokiosks Michael Folz Ruben Reiser.
Projektmanagement und Softwarequalität
Ferienakademie Tutzing 2009 Forum Six Sigma Sandra Beecken Design for Six Sigma.
Prototyping Berlin · Seite 2 Prototyping: Was und wozu Die Zukunft ausprobieren und erfahren durch „Machen“. Einen Mikrokosmos kreieren.
Veränderungen im Personalwesen managen
Programmierung mit Scratch
<Fügen Sie den Titel des Problems ein>
E-Aufgaben in Stud.IP mit ViPS – erste Schritte –
 Präsentation transkript:

Best Practices der sicheren Programmierung mit.NET Andrea Janes

IT Security Day - Folie 2 Inhalt Einleitung Sichere Systeme entwerfen Software testen Empfehlenswerte Verfahren

IT Security Day - Folie 3 Sichere Systeme entwerfen

IT Security Day - Folie 4 Design der Archi- tektur und des Anwendungskerns Sicherheit im Softwareentwicklungsprozess Konzept Erste Anforderungs- analyse Eine Version entwickeln Feedback berücksichtigen Version liefern Feedback des Kunden ermitteln Fertige Version ausliefern

IT Security Day - Folie 5 Design der Archi- tektur und des Anwendungskerns Sicherheit im Softwareentwicklungsprozess Konzept Erste Anforderungs- analyse Eine Version entwickeln Feedback berücksichtigen Version liefern Feedback des Kunden ermitteln Fertige Version ausliefern  Worum geht es?  Welches Resultat wird angestrebt?  Wer hat welchen Nutzen?  Wie wird dieser Nutzen erreicht?  Ermittlung der Anforderungen basierend auf potentielle Kunden oder  Ermittlung der Anforderungen basierend auf dem Markt (d.h. unter Berücksichtigung der Anforderungen der anzusprechenden Marktsegmente) Anforderungsentwicklung 1)  Funktionale Anforderungen beschreiben die möglichen Features, d.h.: welche Möglichkeiten hat der Benutzer die Anwendung zu verwenden? 1) 2)  Nicht-funktionale Anforderungen legen Design- Einschränkungen fest (Beispiele: Anforderungen hinsichtlich der Geschwindigkeit, Qualität, Design und Sicherheit)  Anforderungen müssen klar, korrekt, eindeutig, spezifisch und überprüfbar sein.  Einflussfaktoren bei der Anwendungsentwicklung 2) :

IT Security Day - Folie 6 Sicherheit zu spät berücksichtigen Zeit Kosten Konzept Analyse & Design CodingEinsatz Konzept

IT Security Day - Folie 7 Überprüfen Ausführen Richten Sie einen Sicherheitsprozess ein. Planen Handeln Sicherheitsprozess verbessern Prozess und Änderungen des Prozesses dokumentieren (z.B. indem Sie ein Wiki verwenden) Planen Sicherheitszielsetzungen für das Produkt definieren Bedrohungsmodellierung –Bedrohungen ermitteln –Klassifizierung der Gefahrentypen –Wie soll reagiert werden? –Welche Techniken werden zur Abwehr gewählt? Überprüfen Lernen Sie aus Ihren Fehlern Dokumentieren Sie wieso etwas fehlschlägt. Ausführen Verwenden Sie minimale Rechte Errichten Sie mehrere Verteidigungslinien Externe Systeme sind unsicher Planen Sie ein Versagen ein Sicherheitsfeature != sicheres Feature Setzen Sie sichere Standardeinstellungen Verstecken != Sicherheit

IT Security Day - Folie 8 Software testen

IT Security Day - Folie 9 Wieso/Was/Womit wird getestet? Was? (Application, components,...) Wie? (Test strategien, Test tools,...) Wieso? (Regressionstest, Sicherheitstest, Verhaltenstest, Performancetest,...)

IT Security Day - Folie 10 Rückverfolgbarkeit “Rückverfolgbarkeit bezieht sich auf die Vollständigkeit der Information über jeden Schritt einer Prozesskette.” 1) 1)

IT Security Day - Folie 11 Rückverfolgbarkeit Test Design Coding Anforderungen “Test first” Tests bestätigen die Implementierung von Anforderungen Stellt sicher, dass der “richtige” Code erstellt wird

IT Security Day - Folie 12 Wie soll „test-first“ Code erstellt werden? “Schreibe mindestens einen Test für jedes Feature.” “Schreibe zuerst die Schnittstelle/das Klassengerüst, dann schreib den Test, stelle sicher dass der Test fehlschlägt (da ja der Code, der die gewünschte Funktionalität umsetzt noch nicht existiert!) “Nur ein fehlgeschlagener Test gibt dir das Recht, ein neues Feature zu implementieren. Das Ziel jeder Zeile Code sollte sein, den fehlgeschlagenen Test zum Laufen zu bringen.” Wenn du einen Fehler findest, repariere ihn nicht......stattdessen, schreibe einen Test der den Fehler findet und deshalb fehlschlägt......und dann bereinige den Fehler.

IT Security Day - Folie 13 NUnit

IT Security Day - Folie 14 NUnit

IT Security Day - Folie 15 Empfehlenswerte Verfahren

IT Security Day - Folie 16 Empfehlenswerte Verfahren Datenschutz! Verraten Sie dem Angreifer nichts! Alle Codezweige prüfen! Lassen Sie es ausgeschaltet! Sichern Sie sicherheitsrelevante Codeteile durch Tests ab! Nutzen Sie die Fähigkeiten des Betriebssystems! Bürden Sie dem Benutzer keine Entscheidungen auf!

IT Security Day - Folie 17 Empfehlenswerte Verfahren Verwenden Sie minimale Rechte –Schreiben Sie keine Benutzerdateien in „C:\Programme\“ –Schreiben Sie keine Benutzerdateien in HKLM –Wasser predigen und Wein trinken... ( Speichern Sie temporäre Dateien in %TEMP%! Speichern Sie keine privaten Schlüssel in.NET Code! Verwenden Sie einen Obfuscator! START F. Wieso ist Windows so unsicher? A. Weil jeder als Administrator eingeloggt ist. F. Wieso loggt sich jeder als Administrator ein? A. Weil die meisten Sicherheitsprobleme nicht verstehen und meinen, ein User Account gäbe ihnen nur eingeschränkte Arbeits- möglichkeiten. F. Wieso verstehen die meisten nichts von Sicherheit? A. Weil Sie als Administrator eingeloggt sind und so alle Sicherheitsmechanismen umgehen. ZURÜCK ZUM START

IT Security Day - Folie 18 Faule Ausreden Niemand wird so etwas tun! Warum sollte irgendjemand so etwas tun? Wir wurden nie angegriffen. Wir sind sicher – wir nutzen Kryptografie. Wir sind sicher – wir verwenden ACLs. Wir sind sicher – wir haben eine Firewall. Wir haben unseren Code prüfen lassen, er enthält keine Sicherheitsprobleme. Es ist zwar die Standardeinstellung, aber der Administrator kann es abschalten. Wenn wir uns nicht als Administrator anmelden, funktioniert das Zeug nicht.