Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Das kleine Einmaleins der sicheren Architektur und Programmierung

Das kleine Einmaleins der sicheren Architektur und Programmierung

Sicherheit ist leider immer noch eine allzu häufig vernachlässigte nicht-funktionale Eigenschaft heutiger IT-Systeme. Unsere Auftraggeber haben oft die implizite Erwartung an ein sicheres System; als Entwickler bauen wir genau das was gefordert wurde. Mit manchmal unangenehmen Konsequenzen. Das Nachrüsten von Sicherheit in ein bestehendes System ist arbeitsintensiv, zeitaufwändig und teuer. Einfacher ist es, die Sicherheit bereits vom ersten Tag an mit zu berücksichtigen. Hört sich schwierig an? Ist es aber nicht. Dieser Vortrag präsentiert einfache Regeln, Tools, Technologien und Entwurfsmuster die ein sicherer Entwickler und Architekt definitiv kennen sollte.

M.-Leander Reimer

December 13, 2017
Tweet

More Decks by M.-Leander Reimer

Other Decks in Programming

Transcript

  1. Komponente A Komponente B Kanal A-B Trust boundary (Abgesicherter) Kommunikationskanal

    Komponente Schnittstelle über einen Gatekeeper gesichert
  2. CMS Signed Data Signature[s] Certificate[s] (optional) Secure Container DER Sequence

    Nonces Each: DER Octet String(16 octets) payloadType DER UTF8 String payload DER Octet String Client-ID Each: DER UTF8 String Message JSON DER Octet String, containing a
  3. Component A Component B Component D Component C AppSensor Datenanalyse:

    Erkennung von Angriffsmustern anhand von Heuristiken
  4. [INFO] The following dependencies in Dependencies have newer versions: [INFO]

    com.sun.faces:jsf-api ......................................... 2.1.10 -> 2.2.12 [INFO] com.sun.jersey:jersey-client ..................................... 1.9.1 -> 1.19 [INFO] commons-fileupload:commons-fileupload ........................... 1.2.1 -> 1.3.1 [INFO] org.apache.httpcomponents:httpclient ............................ 4.2.1 -> 4.5.1 [INFO] org.apache.solr:solr-core ....................................... 4.6.1 -> 5.3.1