Secure Systems Development with UML

Front Cover
Springer Science & Business Media, 2005 - Business & Economics - 309 pages

Attacks against computer systems can cause considerable economic or physical damage. High-quality development of security-critical systems is difficult, mainly because of the conflict between development costs and verifiable correctness.

Jürjens presents the UML extension UMLsec for secure systems development. It uses the standard UML extension mechanisms, and can be employed to evaluate UML specifications for vulnerabilities using a formal semantics of a simplified fragment of UML. Established rules of security engineering can be encapsulated and hence made available even to developers who are not specialists in security. As one example, Jürjens uncovers a flaw in the Common Electronic Purse Specification, and proposes and verifies a correction.

With a clear separation between the general description of his approach and its mathematical foundations, the book is ideally suited both for researchers and graduate students in UML or formal methods and security, and for advanced professionals writing critical applications.

 

What people are saying - Write a review

We haven't found any reviews in the usual places.

Contents

Prologue
1
Introduction
3
11 Overview
9
12 Outline
12
13 How to Use this Book
13
Walkthrough Using UML for Security
15
21 Security Requirements Capture with Use Case Diagrams
16
23 Physical Security Using Deployment Diagrams
17
631 Automated Analysis of Security Rules
144
632 Instance Data
147
633 Evaluating Rules
151
64 Linking Models to Code
155
642 Code Generation and Code Analysis
158
66 Discussion
159
A Formal Foundation
161
72 UML Machine Systems
169

24 SecurityCritical Interaction with Sequence Diagrams
18
25 Secure States Using Statechart Diagrams
20
Background
21
32 Unified Modeling Language
24
321 Use Case Diagrams
25
322 Class Diagrams
26
324 Sequence Diagrams
28
325 Activity Diagrams
30
327 Subsystems
31
328 UML Extension Mechanisms
32
33 Analyzing UML Models
34
332 Outline of Formal Semantics
35
333 Modeling Cryptography
36
334 Security Analysis of UML Diagrams
38
335 Important Security Properties
41
Developing Secure Systems
47
Modelbased Security Engineering with UML
49
412 The Extension
50
413 Addressing the Requirements
66
42 Design Principles for Secure Systems
68
43 Applying Security Patterns
70
44 Notes
72
45 Discussion
73
Applications
75
52 A Variant of the Internet Protocol TLS
80
53 Common Electronic Purse Specifications
88
531 Purchase Transaction
90
532 Load Transaction
99
54 Developing Secure Java Programs
118
542 Design Process
120
Financial Application
122
55 Further Applications
125
552 Biometric Authentication System
127
554 German Electronic Health Card
128
56 Notes
129
Tool Support
131
Tool support for UMLsec
133
611 MetaObject Facility MOF
134
612 XMLBased DataBinding with MDR
136
62 Automated Tools for UMLsec
137
622 Implementation Details
139
623 ModelChecking UMLsec Specifications
141
624 Automated Theorem Proving
142
73 Refinement
172
74 RelyGuarantee Specifications
176
75 Reasoning About Security Properties
177
751 Refinement
180
752 Secrecy
182
753 Integrity
184
754 Authenticity
185
756 Secure Information Flow
187
76 Notes
188
77 Discussion
189
Formal Systems Development with UML
191
811 General Concepts
194
812 Class Diagrams
201
813 Statechart Diagrams
202
814 Sequence Diagrams
212
815 Activity Diagrams
217
816 Deployment Diagrams
219
817 Subsystems
220
82 Development with UML
226
822 RelyGuarantee Specifications
230
83 Notes
231
84 Discussion
233
Epilogue
235
Further Material
237
92 Other Approaches to Security Engineering
238
923 Formal Methods Applied to Security
240
924 Other Nonfunctional Requirements
242
Outlook
243
Appendices
245
Towards UML 20
247
The Semantics of UML Machine Rules
249
Proofs
253
C2 Refinement
254
C3 RelyGuarantee Specifications
256
C4 Reasoning About Security Properties
257
C5 Formal Systems Development with UML
262
C6 Secure Channels
264
C7 A Variant of the Internet Protocol TLS The Flaw
265
C8 Common Electronic Purse Specifications
270
C82 Load Transaction
272
References
275
Index
303
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page viii - I shall be telling this with a sigh Somewhere ages and ages hence: Two roads diverged in a wood, and I— I took the one less traveled by, And that has made all the difference.
Page 291 - Reading, MA: Addison-Wesley. Leveson, Nancy G. 1987. Software Safety. Pittsburgh, PA: Carnegie Mellon University, Software Engineering Institute, July. Lowe, Gavin, and Bill Roscoe. 1997. "Using CSP to Detect Errors in the TMN Protocol," IEEE Transactions on Software Engineering, 23(10):659-669. Manes, Stephen. 1998. "Settlement Near in Technical Help-line Suit," New York Times, March 3, p. F2. Marzullo, K., Fred B. Schneider, and J. Dehn. 1994. "Refinement for Fault Tolerance: An Aircraft Hand-off...

Bibliographic information