dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

iOS Security - Sichere Apps für iPhone und iPad

Carsten Eilers

 

Verlag entwickler.press, 2014

ISBN 9783868022889 , 274 Seiten

Format PDF, OL

Kopierschutz DRM

Geräte

22,99 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

Inhaltsverzeichnis

5

Vorwort

13

Kapitel 1 Angriffe in Theorie und Praxis

19

1.1 „Angriffe“ durch Forscher

19

1.2 Angriffe auf Schwachstellen...

25

1.2.1 ... bei Pwn2Own...

25

1.2.2 ... und Jailbreaking

27

1.3 Schadsoftware im Überblick

29

1.4 Bösartige Apps im App Store

31

1.5 Ein einziger wirklich schädlicher Angriff

34

1.6 Apple will keine Virenscanner

37

1.7 Fazit

37

Kapitel 2 Sicheres Booten, Sandbox & Co. – Die Schutzmaßnahmen im Überblick

39

2.1 Die sichere Boot-Kette

40

2.2 Signatur der Apps

43

2.3 Schutzmaßnahmen zur Laufzeit

44

2.4 Apps in der Sandbox

46

2.5 Rund um die Kryptografie

47

2.5.1 Der gerätespezifische Schlüssel

48

2.5.2 Die weiteren Schlüssel

50

2.5.3 Das Löschen von Schlüsseln

50

2.6 Schutz der Dateien

50

2.6.1 Data Protection im Überblick

51

2.6.2 Die Schutzklassen

52

2.6.3 Was kann geschützt werden?

55

2.7 Schutz der Daten im Schlüsselbund

55

2.8 Keybags

58

2.8.1 System Keybag

59

2.8.2 Backup Keybag

59

2.8.3 Escrow Keybag

60

2.8.4 iCloud Backup Keybag

61

2.8.5 Bestandteile eines Keybags

61

2.9 Netzwerksicherheit

62

2.9.1 SSL und TLS

62

2.9.2 VPN

63

2.9.3 Wi-Fi

64

2.9.4 Bluetooth

64

2.9.5 Keine Firewall

65

2.10 Sperrcode und Zugriffsschutz

66

2.10.1 Anforderungen an den Sperrcode

66

2.10.2 Touch ID – Fingerabdruck statt Sperrcode

68

2.10.3 Erzwingen einer bestimmten Konfiguration

70

2.10.4 Konfiguration der Geräte

71

2.10.5 Einschränkungen der Gerätefeatures

72

2.10.6 Konfigurationsprofile als Angriffsvektor

74

2.10.7 Löschen aus der Ferne (Remote Wipe)

75

Kapitel 3 Die Schutz-maßnahmen nutzen

77

3.1 Die sichere Boot-Kette

77

3.2 Signatur der Apps

78

3.3 Schutzmaßnahmen zur Laufzeit

79

3.3.1 Berechtigungen (Entitlements)

79

3.3.2 URL-Schemata

84

3.3.3 Das Erschweren von Pufferüberlauf-Exploits

85

3.4 Apps in der Sandbox

85

3.5 Rund um die Kryptografie

86

3.6 Schutz der Dateien

87

3.7 Schutz der Daten im Schlüsselbund

90

3.7.1 Die Daten im Schlüsselbund

90

3.7.2 Die Nutzung des Schlüsselbunds

92

3.8 Keybags

102

3.9 Netzwerksicherheit

102

3.9.1 SSL und TLS

102

3.9.2 VPN

114

3.9.3 Wi-Fi

114

3.9.4 Bluetooth

115

3.10 Sperrcode und Zugriffsschutz

115

Kapitel 4 Der Wegweiser zur

117

4.1 iOS ist nicht so sicher, wie Apple uns glauben macht!

117

4.2 Sichere App-Entwicklung

119

4.3 Der Weg ist das Ziel

119

4.4 Schwachstellen im Überblick

120

4.4.1 Objective-C ist auch nur C

120

4.4.2 Unzureichend geprüfte Eingaben

121

4.4.3 Interprozesskommunikation

122

4.4.4 Unsichere Dateioperationen

122

4.4.5 Schwachstellen in der Zugriffskontrolle, Authentifizierung und Autorisierung

123

4.4.6 Fehler in der Kryptografie

125

4.4.7 Race Conditions

125

4.4.8 Social Engineering

126

4.5 Die OWASP Top 10 Mobile Risks

127

4.5.1 M1: „Insecure Data Storage“

127

4.5.2 M2: „Weak Server Side Controls“

128

4.5.3 M3: „Insufficient Transport Layer Protection!“

129

4.5.4 M4: „Client Side Injection“,

130

4.5.5 M5: „Poor Authorization and Authentication“

131

4.5.6 M6: „Improper Session Handling“

132

4.5.7 M7: „Security Decisions via untrusted Inputs“

132

4.5.8 M8: „Side Channel Data Leakage“

133

4.5.9 M9: „Broken Cryptography“

133

4.5.10 M10: „Sensitive Information Disclosure“

133

Kapitel 5 Ein sicherer Entwicklungszyklus

135

5.1 Der SDL im Überblick

136

5.1.1 Die Grundsätze des SDL

136

5.1.2 Die Phasen des SDL

137

5.1.3 Fazit

143

5.2 Bedrohungsmodelle – Application Threat Modeling

143

5.2.1 Bedrohungsmodelle im „Real Life“

143

5.2.2 Viele Wege führen zum Ziel

144

5.2.3 Entwurfsgesteuerte Bedrohungsmodellierung

145

5.2.4 STRIDE

146

5.2.5 Ein einfaches Beispiel

147

Kapitel 6 Pufferüberlauf- und Formatstring-Schwachstellen

151

6.1 Der Pufferüberlauf

151

6.1.1 Ein C-Programm und sein Speicher

152

6.1.2 Ein Pufferüberlauf auf dem Stack

153

6.1.3 Angriff über die Pufferüberlaufschwachstelle

155

6.1.4 Varianten des Pufferüberlaufs

156

6.1.5 Pufferüberläufe verhindern, allgemein

157

6.1.6 Schutzmaßnahmen erschweren Angriffe

158

6.1.7 Pufferüberläufe in iOS verhindern

162

6.1.8 Pufferüberläufe finden

167

6.2 Des Pufferüberlaufs kleiner Bruder: Der Pufferunterlauf

168

6.2.1 „Short Write“ und „Short Read“

169

6.2.2 Pufferunterläufe verhindern

170

6.3 Formatstring-Schwachstellen

172

6.3.1 Angriff über eine Formatstring-Schwachstelle

172

6.3.2 Objective-C und die Formatstrings

173

6.3.3 Formatstring-Schwachstellen verhindern

173

6.4 Das Standardbeispiel im Licht von Kapitel 6

176

Kapitel 7 Eingaben überprüfen

179

7.1 Eingabefelder für Texte

180

7.2 Dateien aller Art

181

7.3 URLs

183

7.4 Das Standardbeispiel im Licht von Kapitel 7

187

7.4.1 Eingabefelder für Texte

188

7.4.2 Dateien

189

7.4.3 URL

189

Kapitel 8 Rund um die Kommunikation

191

8.1 Interprozess- und Netzwerkkommunikation

191

8.1.1 RPC (Remote Procedure Calls)

191

8.1.2 Signale

192

8.2 Netzwerkverbindungen

193

8.2.1 Authentifizierung des Benutzers

193

8.2.2 AirDrop

199

8.2.3 Gefährliche Umleitungen in Web

200

8.3 Das Standardbeispiel im Licht von Kapitel 8

204

Kapitel 9 Race Conditions und sichere Dateioperationen

205

9.1 Race Conditions

205

9.1.1 Das böse Multitasking

205

9.1.2 „Time of Check – Time of Use“–Schwachstellen

207

9.1.3 Race Conditions beim Signal-Handling

211

9.2 Sichere Dateioperationen

211

9.2.1 Result Codes sind zum Prüfen da!

212

9.2.2 Links können problematisch sein

212

9.2.3 Gefahren durch Case-insensitive Dateisysteme

214

9.2.4 Temporäre Dateien

216

9.2.5 Gefährlich: Dateien in öffentlich beschreibbaren Verzeichnissen

217

9.3 Das Standardbeispiel im Licht von Kapitel 9

218

9.3.1 Race Conditions

218

9.3.2 Dateioperationen

219

Kapitel 10 Kryptografie

221

Kapitel 11 Sicherheit der Benutzeroberfläche

225

11.1 Das A und O: Sichere Default-Einstellungen

225

11.2 Keine gefährlichen Aktionen ohne explizite Zustimmung

226

11.3 Keine Übertragung sensitiver Daten ohne Zustimmung

227

11.4 Vor unwiderruflichen Aktionen wird gewarnt!

227

11.5 Vor Gefahren wird gewarnt!

227

11.6 Sicherheit hat Priorität

228

11.7 Entsprechen Sie den Erwartungen des Benutzers

229

Anhang: Einführung in die Kryptografie

231

A.1 Symmetrische Systeme

232

A.2 Asymmetrische Systeme

234

A.3 Symmetrisch + Asymmetrisch = hybride Systeme

235

A.4 Authentikationssysteme

236

A.5 Ein Beispiel für ein hybrides Verfahren

237

A.6 Hash-Funktionen

241

A.7 Digitale Zertifikate

242

A.8 SSL/TLS

243

A.9 Kryptografie unter iOS

245

Link- und Literatur-

Link- und Literatur-

247

247

Stichwortverzeichnis

268