Sie sind hier
E-Book

Basiswissen Sichere Software

Aus- und Weiterbildung zum ISSECO Certified Professionell for Secure Software Engineering

AutorSachar Paulus
Verlagdpunkt
Erscheinungsjahr2012
ReiheBasiswissen 
Seitenanzahl286 Seiten
ISBN9783864910524
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis39,90 EUR
Sichere Software zeichnet sich dadurch aus, dass sie jedem möglichen Angriff standhalten können muss. Jeder Beteiligte im Softwareentwicklungsprozess sollte bewusst auf die Schaffung dieser Eigenschaft einer Software hinarbeiten. Dieses Buch vermittelt, welche Aspekte dabei zu berücksichtigen sind und zeigt für alle wichtigen Bereiche der Softwareentwicklung auf, was jeweils für Sicherheit getan werden kann - und muss. Es deckt den Lehrplan zum Certified Professional for Secure Software Engineering nach ISSECO-Standard ab, eignet sich zum Selbststudium und als Begleitliteratur zu Schulungen.

Sachar Paulus ist Professor für Wirtschaftsinformatik, insbesondere Unternehmenssicherheit und Risikomanagement, an der Fachhochschule Brandenburg, Inhaber der Unternehmensberatung für Sicherheit 'paulus.consult' und Senior Analyst bei KuppingerCole. Von 2000 bis 2008 war er bei SAP in verschiedenen Leitungsfunktionen zu Sicherheit tätig, u.a. als Leiter der Konzernsicherheit und Leiter der Produktsicherheit, und vertrat SAP als Vorstandsmitglied in den beiden Vereinen 'Deutschland Sicher im Netz' und 'TeleTrusT'. Weiter war er Mitglied der ständigen Interessenvertretung der ENISA (Europäische Netzwerk- und Informationssicherheitsagentur) und des Forschungsbeirats 'RISEPTIS' für Vertrauen und Sicherheit im Future Internet der Europäischen Kommission. Er engagiert sich für sichere Softwareentwicklung und ist Gründer und Präsident des ISSECO e.V.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Geleitwort von Stephan Goericke6
Geleitwort von Jörg Brinkmann8
Vorwort10
Inhaltsverzeichnis12
1 Einleitung16
1.1 Ziele dieses Buches16
1.1.1 Warum brauchen wir sichere Software?18
1.1.2 Warum wird Sicherheit bei Softwareentwicklung oft vernachlässigt?19
1.1.3 Was sind die Folgen von ausgelieferter unsicherer Software?20
1.2 Inhalte dieses Buches22
1.3 ISSECO und die CPSSE-Zertifizierung25
1.3.1 ISSECO25
1.3.2 Certified Professional for Secure Software Engineering (CPSSE)26
2 Die Sicht des Kunden28
2.1 Ben und sein Projektteam28
2.2 Verschiedene Interessengruppen - verschiedene Interessen29
2.3 Warum erwarten Kunden sichere Software?32
2.4 Was genau erwarten Kunden eigentlich?34
2.4.1 Häufig wiederkehrende Anforderungen34
2.4.2 Eine Klassifikation der Sicherheitserwartungen an Produkte35
2.4.3 Eine Klassifikation der Sicherheitserwartungen an den Hersteller37
2.4.4 Compliance-Anforderungen37
2.5 Werte, Bedrohungen und Risiken38
2.6 Von Erwartungen zu technischen Anforderungen40
2.7 Helfen Sie dem Kunden, dann helfen Sie sich selbst!41
2.8 Ben spricht noch einmal mit dem Kunden43
3 Die Sicht des Angreifers44
3.1 Jewgeni44
3.2 Was sind Hacker?45
3.2.1 Berühmte Hacker46
3.2.2 Qualifizierungsstufen von Hackern48
3.2.3 Motivationen zum Hacken49
3.3 Wie geht ein Hacker vor?51
3.3.1 Vorgehensweisen zum Hacken51
3.3.2 Der Hacking-»Prozess«54
3.3.3 Welche Werkzeuge setzt ein Hacker ein?55
3.4 Jewgeni hat eine Idee58
4 Methodologien für sichere Software60
4.1 Bens Entwicklungsmethodik60
4.2 Sichere Software im Überblick61
4.3 Softwareentwicklungsmethoden62
4.4 Maßnahmen zur Verbesserung der Sicherheit65
4.5 Existierende Modelle69
4.5.1 Common Criteria69
4.5.2 ISO 27002: Entwicklung von Informationssystemen72
4.5.3 SSE-CMM73
4.5.4 BSIMM / OpenSAMM75
4.5.5 Microsoft SDL77
4.5.6 OWASP79
4.5.7 Weitere Ansätze80
4.5.8 Welcher Weg ist der richtige?81
4.6 Ben denkt über Sicherheit nach82
5 Sicherheitsanforderungen84
5.1 Bens Sicherheitsanforderungen84
5.2 Was sind Anforderungen?84
5.2.1 Funktionale und nicht funktionale Anforderungen86
5.2.2 Wie definiert man gute Anforderungen?89
5.3 Wie identifiziert man Sicherheitsanforderungen?90
5.3.1 Grundwerte der Informationssicherheit90
5.3.2 Misuse Cases91
5.3.3 Betrachtung des Kontextes91
5.3.4 Bedrohungsmodellierung92
5.3.5 Auflösung von Konflikten92
5.4 Wichtige Sicherheitsanforderungen93
5.4.1 Standardisierte Sicherheitsanforderungen nach Common Criteria93
5.4.2 Sicherheitsanforderungen nach OWASP96
5.4.3 Gesetzliche Anforderungen97
5.4.4 Bereiche, die für Sicherheitsanforderungen relevant sein können98
5.5 Bens neue Anforderungsliste100
6 Bedrohungsmodellierung102
6.1 Bens Bedrohungsmodellierung102
6.2 Der Nutzen einer Bedrohungsmodellierung102
6.3 Die Phasen der Bedrohungsmodellierung104
6.3.1 Werte und Akteure identifizieren105
6.3.2 Übersicht der geplanten Architektur erstellen107
6.3.3 System in Einzelteile herunterbrechen108
6.3.4 Bedrohungen identifizieren109
6.3.5 Bedrohungen dokumentieren119
6.3.6 Bedrohungen bewerten119
6.3.7 Gegenmaßnahmen planen124
6.4 Bens zweiter Versuch126
7 Sicherer Softwareentwurf128
7.1 Bens Softwareentwurf für Sicherheit128
7.2 Sicherer Softwareentwurf und sichere Softwarearchitekturen129
7.3 Secure Design Patterns131
7.3.1 Föderiertes Identitätsmanagement132
7.3.2 Authentifizierung133
7.3.3 Sitzungsverwaltung136
7.3.4 Verschlüsselung137
7.3.5 Zugriffskontrollmodelle138
7.3.6 Privileged Core141
7.3.7 Single Access Point142
7.4 Secure Design Principles142
7.4.1 Least Privilege143
7.4.2 Secure the Weakest Link143
7.4.3 Defense in Depth143
7.4.4 No Security by Obscurity144
7.4.5 Secure by Default144
7.4.6 Fail Safe145
7.4.7 Input Validation und Output Encoding145
7.4.8 Minimize Attack Surface145
7.4.9 Don’t Mix Code and Data146
7.4.10 Wählen Sie Ihre eigenen Prinzipien146
7.5 Review der Sicherheitsarchitektur147
7.6 Ben war auf einer Konferenz148
8 Sicheres Programmieren150
8.1 Bens Tricks zum sicheren Programmieren150
8.2 Es gibt keine Tricks151
8.3 Welche Schwachstellen sind am kritischsten?151
8.3.1 OWASP Top Ten153
8.3.2 The 19 Deadly Sins of Software Security154
8.3.3 The Seven Pernicious Kingdoms155
8.4 Wiederkehrende Muster von Schwachstellen157
8.4.1 Unsicherer Umgang mit Eingaben und Ausgaben157
8.4.2 Unsicherer Umgang mit dem Speicher158
8.4.3 Unsicherer Umgang mit Wettlaufsituationen158
8.4.4 Unsicherer Umgang mit Berechtigungen und Ressourcen158
8.5 Techniken für sicheres Programmieren159
8.5.1 Input-Validierung und Output-Sanitisierung159
8.5.2 Sichere Funktionen und Sprachen161
8.5.3 Atomare Funktionen und sichere Semaphore162
8.5.4 Minimale Rechte163
8.6 Die wichtigsten Schwachstellen und Gegenmaßnahmen164
8.6.1 Cross-Site Scripting164
8.6.2 SQL-Injection165
8.6.3 Cross-Site Request Forgery165
8.6.4 Insecure Direct Object Reference166
8.6.5 Remote File Inclusion167
8.7 Werkzeuge zur sicheren Programmierung167
8.8 Klaus’ Empfehlungen für die sichere Programmierung168
9 Software auf Sicherheit testen170
9.1 Bens Sicherheitstest170
9.2 Sicherheit und Softwaretests171
9.2.1 Unterschiede zu »normalen« Softwaretests171
9.2.2 Sicherheitstests in jeder Phase anwenden172
9.2.3 Integration mit »normalem« Softwaretesten173
9.2.4 Quellen für Testfälle174
9.3 Hacking-Techniken als Sicherheitstests175
9.3.1 Blackbox-Penetrationstests177
9.3.2 Whitebox-Penetrationstests178
9.4 Sicherheitsspezifische Testmuster179
9.4.1 Spidering179
9.4.2 Googeln180
9.4.3 Fuzzing180
9.4.4 Infrastruktur-Check181
9.4.5 Business-Logik181
9.5 Sicherheitskritische Testbereiche182
9.5.1 Authentifizierung182
9.5.2 Sitzungsverwaltung182
9.5.3 Input-Validierung183
9.5.4 Denial of Service183
9.6 Codereview184
9.7 Sicherheitstestberichte schreiben185
9.8 Der Sicherheitstest vom QMB186
10 Sichere Auslieferung und Einrichtung188
10.1 Bens Installationsanleitung188
10.2 Sicherheit im IT-Betrieb189
10.2.1 Sicherheitsaspekte von ITIL189
10.2.2 ISO 27001191
10.2.3 Common Criteria ISO 15408192
10.2.4 Sicherheitsrelevante Dokumentationen192
10.3 Phasen der Softwareeinrichtung194
10.3.1 Sicherheit in der »Release«-Phase195
10.3.2 Sichere Konfiguration197
10.3.3 Sicherheit bei der Aktivierung von Software199
10.3.4 Sicherheit bei Anpassung und Update200
10.4 Pauls Korrekturen der Installation202
11 Umgang mit Schwachstellen204
11.1 Bens Security Response204
11.2 Sicherheit im normalen Supportprozess205
11.2.1 Getrennte Behandlung von Sicherheitsproblemen205
11.2.2 Getrennte Sicherheitskorrekturen208
11.3 Offenlegungsstrategien für Schwachstellen209
11.3.1 Full Disclosure209
11.3.2 No Disclosure210
11.3.3 Responsible Disclosure211
11.4 Erfolgreich über Schwachstellen reden211
11.4.1 Was muss kommuniziert werden?212
11.4.2 Erfolgskriterien213
11.5 Standards für Schwachstellenbeschreibungen214
11.5.1 CVE215
11.5.2 CVSS216
11.5.3 CAIF217
11.6 Entwicklung einer Security Response Policy219
11.7 Ben und die IT-Presse220
12 Metriken für Sicherheit222
12.1 Bens Messgrößen222
12.2 Warum überhaupt Metriken für Sicherheit?222
12.3 Softwaremetriken224
12.4 Arten von Metriken226
12.5 Qualitätskriterien für Metriken227
12.6 Existierende Metriken für Sicherheit229
12.7 Entwicklung von Metriken für Sicherheit232
12.7.1 Formale Definition einer Metrik für Softwaresicherheit232
12.7.2 Prozess zur Entwicklung von Metriken für Softwaresicherheit233
12.7.3 Ein Satz von Metriken für Bens Team235
13 Codeschutz236
13.1 Ben und seine eigene IT-Sicherheit236
13.2 Gründe, den Code zu schützen236
13.3 Technische Risiken während der Entwicklungsphase238
13.4 Grundsätzliche Schutzmechanismen240
13.5 Besondere Anforderungen durch Export und Politik242
13.6 Technische Lösungen für den Schutz von Code244
13.6.1 Software as a Service245
13.6.2 Verwendung von prozessorspezifischem Code246
13.6.3 Codeverschleierung247
13.6.4 Verschlüsselung von Code248
13.6.5 Code Signing249
13.7 Lizenzschutz249
13.7.1 Offline-Lizenzmechanismen250
13.7.2 Online-Lizenzmechanismen252
13.7.3 Dongle-basierte Lizenzmechanismen253
13.7.4 Lizenzaudits254
13.7.5 Überhaupt Lizenzen?254
13.8 Was hätte Ben unternehmen können?254
14 Testfragen256
Kapitel 1: Einleitung256
Kapitel 2: Die Sicht des Kunden257
Kapitel 3: Die Sicht des Angreifers258
Kapitel 4: Methodologien für sichere Software259
Kapitel 5: Sicherheitsanforderungen260
Kapitel 6: Bedrohungsmodellierung262
Kapitel 7: Sicherer Softwareentwurf263
Kapitel 8: Sicheres Programmieren264
Kapitel 9: Software auf Sicherheit testen265
Kapitel 10: Sichere Auslieferung und Einrichtung267
Kapitel 11: Umgang mit Schwachstellen268
Kapitel 12: Metriken für Sicherheit269
Kapitel 13: Codeschutz270
Antworten272
Abkürzungen274
Glossar276
Literatur288
Kapitel 1: Einleitung288
Kapitel 2: Die Sicht des Kunden288
Kapitel 3: Die Sicht des Angreifers288
Kapitel 4: Methodologien für sichere Software289
Kapitel 5: Sicherheitsanforderungen290
Kapitel 6: Bedrohungsmodellierung290
Kapitel 7: Sicherer Softwareentwurf291
Kapitel 8: Sicheres Programmieren291
Kapitel 9: Software auf Sicherheit testen292
Kapitel 10: Sichere Auslieferung und Einrichtung292
Kapitel 11: Umgang mit Schwachstellen293
Kapitel 12: Metriken für Sicherheit293
Kapitel 13: Codeschutz294
Index296

Weitere E-Books zum Thema: Software-Design - Softwareentwicklung

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

Automotive Embedded Systeme

E-Book Automotive Embedded Systeme
Effizfientes Framework - Vom Design zur Implementierung Format: PDF

Die Entwicklung hochkomplexer automotiver Infotainmentsysteme bestehend aus einer Headunit und weiteren Komponenten wie Audio- und Videoelementen, Kommunikationseinheiten, Navigationssystemen und…

SAP für Java-Entwickler

E-Book SAP für Java-Entwickler
Konzepte, Schnittstellen, Technologien Format: PDF

Seit kurzem forciert SAP die Verbreitung der Netweaver-Technologie und initiiert damit eine Gleichstellung von Java und ABAP als Sprachen zur SAP-Programmierung. Dieses Buch leistet einem erfahrenen…

SAP für Java-Entwickler

E-Book SAP für Java-Entwickler
Konzepte, Schnittstellen, Technologien Format: PDF

Seit kurzem forciert SAP die Verbreitung der Netweaver-Technologie und initiiert damit eine Gleichstellung von Java und ABAP als Sprachen zur SAP-Programmierung. Dieses Buch leistet einem erfahrenen…

Weitere Zeitschriften

Menschen. Inklusiv leben

Menschen. Inklusiv leben

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

BONSAI ART

BONSAI ART

Auflagenstärkste deutschsprachige Bonsai-Zeitschrift, basierend auf den renommiertesten Bonsai-Zeitschriften Japans mit vielen Beiträgen europäischer Gestalter. Wertvolle Informationen für ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...

ea evangelische aspekte

ea evangelische aspekte

evangelische Beiträge zum Leben in Kirche und Gesellschaft Die Evangelische Akademikerschaft in Deutschland ist Herausgeberin der Zeitschrift evangelische aspekte Sie erscheint viermal im Jahr. In ...

e-commerce magazin

e-commerce magazin

e-commerce magazin Die Redaktion des e-commerce magazin versteht sich als Mittler zwischen Anbietern und Markt und berichtet unabhängig, kompetent und kritisch über ...

Euro am Sonntag

Euro am Sonntag

Deutschlands aktuelleste Finanz-Wochenzeitung Jede Woche neu bietet €uro am Sonntag Antworten auf die wichtigsten Fragen zu den Themen Geldanlage und Vermögensaufbau. Auch komplexe Sachverhalte ...