
Sichere ABAP-Programmierung
Rheinwerk (Publisher)
1st Edition
Published on 28. August 2009
Book
Hardback
372 pages
978-3-8362-1357-8 (ISBN)
Description
Die Hauptursache für Sicherheitsprobleme in Unternehmensanwendungen ist unsicherer Programmcode. Werden hier Sicherheitslücken ausgenutzt, kann dies zu schwerwiegenden Konsequenzen führen (Datenklau, Industriespionage, Sabotage etc.).
Dieses Buch bietet Ihnen Best Practices zur sicheren ABAP-Programmierung: Dos und Don'ts für alle relevanten ABAP-Programmierumgebungen. Sie werden durch dieses Buch abschätzen lernen, an welchen Stellen sich in Ihren eigenen Programmen Sicherheitslücken befinden (könnten) und sind anschließend in der Lage, diese selbstständig zu schließen. Dazu werden für alle gängigen ABAP-Programmierumgebungen - traditionelle ABAP-Anwendungen, Web Dynpro ABAP und Business Server Pages - problembehaftete Codebeispiele dargestellt, die dann analysiert und nach einer Musterlösung verbessert werden. Durch diese Tutorials mit zahlreichen Listings und Beispielen werden Sie zukünftig ABAP-Programme schreiben, die Hacker-Angriffen standhalten.
Aus dem Inhalt:
- Angriffsoberfläche von ABAP-Programmen
- Filter, Validierung, Encodierung, Indirektion
- Datenverarbeitung, Datenbankzugriffe
- fehlende und hart codierte Berechtigungen
- generischer und dynamischer ABAP-Code
- SQL-Injection, Directory Traversal, System Command Injection
- Forceful Browsing, Phishing, HTTP Response Tampering
- XSS und XSRF
- Webbrowser, SAP GUI, BSPs, Web Dynpro ABAP
Dieses Buch bietet Ihnen Best Practices zur sicheren ABAP-Programmierung: Dos und Don'ts für alle relevanten ABAP-Programmierumgebungen. Sie werden durch dieses Buch abschätzen lernen, an welchen Stellen sich in Ihren eigenen Programmen Sicherheitslücken befinden (könnten) und sind anschließend in der Lage, diese selbstständig zu schließen. Dazu werden für alle gängigen ABAP-Programmierumgebungen - traditionelle ABAP-Anwendungen, Web Dynpro ABAP und Business Server Pages - problembehaftete Codebeispiele dargestellt, die dann analysiert und nach einer Musterlösung verbessert werden. Durch diese Tutorials mit zahlreichen Listings und Beispielen werden Sie zukünftig ABAP-Programme schreiben, die Hacker-Angriffen standhalten.
Aus dem Inhalt:
- Angriffsoberfläche von ABAP-Programmen
- Filter, Validierung, Encodierung, Indirektion
- Datenverarbeitung, Datenbankzugriffe
- fehlende und hart codierte Berechtigungen
- generischer und dynamischer ABAP-Code
- SQL-Injection, Directory Traversal, System Command Injection
- Forceful Browsing, Phishing, HTTP Response Tampering
- XSS und XSRF
- Webbrowser, SAP GUI, BSPs, Web Dynpro ABAP
More details
Series
Language
German
Place of publication
Bonn
Germany
Edition type
New edition
Dimensions
Height: 16.8 cm
Width: 24 cm
ISBN-13
978-3-8362-1357-8 (9783836213578)
Schweitzer Classification
Content
. Vorworte. 17
. Vorwort von Dr. Gunter Bitz, SAP AG. 17
. Vorwort von Lutz Neumann, Deutsche Lufthansa AG. 20
. Vorwort von Thomas Kastner, Accenture Deutschland. 23
. Vorwort von Prof. Dr. Sachar Paulus, Fachhochschule Brandenburg. 24
1. Einleitung. 27
. 1.1. Evolution von Sicherheitsrisiken. 28
. 1.2. (Un-)Sichere ABAP-Programme. 34
. 1.3. Ziel des Buches. 40
. 1.4. Danksagung. 50
2. ABAP-Entwicklung aus Sicherheitssicht. 53
. 2.1. Charakteristika von ABAP. 54
. 2.2. ABAP-Entwicklungsprozesse. 62
. 2.3. Besonderheiten bei externer Entwicklung. 64
3. Methoden und Werkzeuge zur Entwicklung sicherer Software. 65
. 3.1. Reifegrad von Sicherheitsprozessen. 65
. 3.2. Spezifikation. 68
. 3.3. Architektur und Design. 74
. 3.4. Implementierung und Programmierung. 77
. 3.5. Test. 84
. 3.6. Betrieb und Wartung. 86
4. Sichere Programmierung. 89
. 4.1. Ursachen von Sicherheitsproblemen. 93
. 4.2. Organisatorische Maßnahmen. 97
. 4.3. Sicherheitsprinzipien in der Softwareentwicklung. 101
. 4.4. Filterung und Validierung von Benutzereingaben. 114
. 4.5. Encodierung von Ausgaben. 123
. 4.6. Indirektion. 130
. 4.7. Checkliste für sichere Programmierung. 132
5. Sichere Programmierung mit ABAP. 135
. 5.1. Fehlende Berechtigungsprüfungen bei Transaktionen. 138
. 5.2. Hintertüren - hart codierte Berechtigungen. 143
. 5.3. Fehlende Berechtigungsprüfungen in RFCfähigen Funktionen. 148
. 5.4. Debug-Code in Assert Statements. 151
. 5.5. Generischer und dynamischer ABAP-Code. 156
. 5.6. Generische Funktionsaufrufe. 166
. 5.7. Generische Reports (ABAP Command Injection). 169
. 5.8. SQL-Injection. 173
. 5.9. Directory Traversal. 185
. 5.10. Aufrufe in den Kernel. 191
. 5.11. System Command Injection und System Command Execution. 198
. 5.12. Checkliste für sichere ABAP-Programme. 209
6. Sichere Webprogrammierung mit ABAP. 213
. 6.1. Probleme von browserbasierten User Interfaces. 215
. 6.2. Sicherheitslücken in Web-Frontends. 223
. 6.3. Cross-Site Scripting. 226
. 6.4. Cross-Site Request Forgery. 246
. 6.5. Forceful Browsing. 259
. 6.6. Phishing. 270
. 6.7. HTTP Response Tampering. 279
. 6.8. Checkliste für UI-Programmierung. 283
7. Sichere Programmierung in den ABAP-Technologien. 285
. 7.1. Verarbeitung von Dateien. 286
. 7.2. Datenbankzugriffe. 291
. 7.3. SAP GUI-Anwendungen. 296
. 7.4. SAP NetWeaver Application Server ABAP. 301
. 7.5. Business Server Pages. 303
. 7.6. Internet Transaction Server. 309
. 7.7. Web Dynpro ABAP. 312
. 7.8. Anbindung indirekter User Interfaces und externer Systeme. 314
. 7.9. Checkliste für SAP-Technologien. 317
8. Risiken in Business-Szenarien. 319
. 8.1. E-Recruitment. 320
. 8.2. Employee Self-Services. 325
. 8.3. Customer Relationship Management. 328
9. Schlussfolgerungen und Ausblick. 331
. 9.1. Schlussfolgerungen. 331
. 9.2. Ausblick. 333
. 9.3. Was Sie mitnehmen sollten .. 335
A. Checklisten und Übersichten. 339
. A.1. Rechtliche Aspekte. 339
. A.2. STRIDE/Schwachstellen-Mapping. 341
. A.3. Anekdoten. 342
. A.4. Top 25 der Sicherheitsprobleme. 344
. A.5. Werkzeuge und Hilfsmittel. 347
B. Literatur- und Quellenverzeichnis. 351
C. Die Autoren. 355
. Index. 359
. Vorwort von Dr. Gunter Bitz, SAP AG. 17
. Vorwort von Lutz Neumann, Deutsche Lufthansa AG. 20
. Vorwort von Thomas Kastner, Accenture Deutschland. 23
. Vorwort von Prof. Dr. Sachar Paulus, Fachhochschule Brandenburg. 24
1. Einleitung. 27
. 1.1. Evolution von Sicherheitsrisiken. 28
. 1.2. (Un-)Sichere ABAP-Programme. 34
. 1.3. Ziel des Buches. 40
. 1.4. Danksagung. 50
2. ABAP-Entwicklung aus Sicherheitssicht. 53
. 2.1. Charakteristika von ABAP. 54
. 2.2. ABAP-Entwicklungsprozesse. 62
. 2.3. Besonderheiten bei externer Entwicklung. 64
3. Methoden und Werkzeuge zur Entwicklung sicherer Software. 65
. 3.1. Reifegrad von Sicherheitsprozessen. 65
. 3.2. Spezifikation. 68
. 3.3. Architektur und Design. 74
. 3.4. Implementierung und Programmierung. 77
. 3.5. Test. 84
. 3.6. Betrieb und Wartung. 86
4. Sichere Programmierung. 89
. 4.1. Ursachen von Sicherheitsproblemen. 93
. 4.2. Organisatorische Maßnahmen. 97
. 4.3. Sicherheitsprinzipien in der Softwareentwicklung. 101
. 4.4. Filterung und Validierung von Benutzereingaben. 114
. 4.5. Encodierung von Ausgaben. 123
. 4.6. Indirektion. 130
. 4.7. Checkliste für sichere Programmierung. 132
5. Sichere Programmierung mit ABAP. 135
. 5.1. Fehlende Berechtigungsprüfungen bei Transaktionen. 138
. 5.2. Hintertüren - hart codierte Berechtigungen. 143
. 5.3. Fehlende Berechtigungsprüfungen in RFCfähigen Funktionen. 148
. 5.4. Debug-Code in Assert Statements. 151
. 5.5. Generischer und dynamischer ABAP-Code. 156
. 5.6. Generische Funktionsaufrufe. 166
. 5.7. Generische Reports (ABAP Command Injection). 169
. 5.8. SQL-Injection. 173
. 5.9. Directory Traversal. 185
. 5.10. Aufrufe in den Kernel. 191
. 5.11. System Command Injection und System Command Execution. 198
. 5.12. Checkliste für sichere ABAP-Programme. 209
6. Sichere Webprogrammierung mit ABAP. 213
. 6.1. Probleme von browserbasierten User Interfaces. 215
. 6.2. Sicherheitslücken in Web-Frontends. 223
. 6.3. Cross-Site Scripting. 226
. 6.4. Cross-Site Request Forgery. 246
. 6.5. Forceful Browsing. 259
. 6.6. Phishing. 270
. 6.7. HTTP Response Tampering. 279
. 6.8. Checkliste für UI-Programmierung. 283
7. Sichere Programmierung in den ABAP-Technologien. 285
. 7.1. Verarbeitung von Dateien. 286
. 7.2. Datenbankzugriffe. 291
. 7.3. SAP GUI-Anwendungen. 296
. 7.4. SAP NetWeaver Application Server ABAP. 301
. 7.5. Business Server Pages. 303
. 7.6. Internet Transaction Server. 309
. 7.7. Web Dynpro ABAP. 312
. 7.8. Anbindung indirekter User Interfaces und externer Systeme. 314
. 7.9. Checkliste für SAP-Technologien. 317
8. Risiken in Business-Szenarien. 319
. 8.1. E-Recruitment. 320
. 8.2. Employee Self-Services. 325
. 8.3. Customer Relationship Management. 328
9. Schlussfolgerungen und Ausblick. 331
. 9.1. Schlussfolgerungen. 331
. 9.2. Ausblick. 333
. 9.3. Was Sie mitnehmen sollten .. 335
A. Checklisten und Übersichten. 339
. A.1. Rechtliche Aspekte. 339
. A.2. STRIDE/Schwachstellen-Mapping. 341
. A.3. Anekdoten. 342
. A.4. Top 25 der Sicherheitsprobleme. 344
. A.5. Werkzeuge und Hilfsmittel. 347
B. Literatur- und Quellenverzeichnis. 351
C. Die Autoren. 355
. Index. 359