160 likes | 164 Views
A rationale for security (mis)use cases. May 11, 2004 Jasmeet Chhabra Key contributors: Jesse Walker W Steven Conner. Outline. Use and (Mis)use cases Why Security (mis)use cases? Example case for the mesh Single illustrative case A possible way to capture the example case
E N D
A rationale for security (mis)use cases May 11, 2004 Jasmeet Chhabra Key contributors: Jesse Walker W Steven Conner
Outline • Use and (Mis)use cases • Why Security (mis)use cases? • Example case for the mesh • Single illustrative case • A possible way to capture the example case • Conclusion and Next steps • Backup has a few more use cases for offline perusal
Threat Forge Routing Packets Use and (Mis)use cases System Function User • Use cases view system from user’s viewpoint • Misuse cases view system from misuser/attacker’s viewpoint Routing Detect and Reject Forged packets Mesh Use Case: Send data across mesh Mitigates MisUser
Why Security (Mis)use Cases? • Use cases • view scenarios from point of view of the user • We need to • view software from the point of view of the attacker / misuser / malicious user • Use to capture / generate a threat model • Know what it means to be “secure” • Build security into the design
Threat New System Functions/Requirements (Mis)use case: Forge routing packet System Function User Routing Forge Routing Packets Detect and Reject Forged packets Mesh Use Case: Send data across mesh Mitigates MisUser
Threat and requirements generated • Threat • The misuser generates and sends a forged routing packet to cause misrouting • Requirements • The mesh shall identify the forged routing packet as invalid • The mesh does not use the forged routing packet to generate/update routes • The mesh shall have prevented the misuser from misrouting using forged packets
Illustrative (Mis)use case: Case1 Path1(A possible way to capture)
Proposed process for Security functional component Security (Mis)use cases Threats and requirements Prioritize threats Shall handle / Will not handle Evaluation Criteria
Conclusion and Next steps • Security (mis)use cases look at system from attacker’s point of view • Use cases look from user’s point of view • Document security (mis)use cases • Capture/Prioritize threats and requirements • Propose: Form a sub-team to • Generate security threats/requirements • Feed into evaluation criteria • Know what it means to be “secure”
More/Backup • More cases for offline viewing • References
Terminology Used • Terminology: • Misuser: Attacker or malicious user • Discovery Packets: Packets used to discover neighbors in order to create a mesh connectivity topology
A proposal to capture security (Mis)use cases • Now: No architectural assumptions • Capture any assumptions/threats • Driven by misuser/ attacker • Generate threat model and requirements for evaluation criteria • Later: after some architecture is in place • More detailed threat model • Generate test criteria for implementation/ design
Other possible categories • Discovery • Routing – many more • Access Policy • Data Security • Denial of Service • (Mis)use cases generated from use cases • More…
References • Misuse and Abuse Cases: Getting Past the Positive, Paco Hope, Annie I. Antón and Gary McGraw. IEEE Security & Privacy, February 2004. • Donald G. Firesmith, “Engineering Security Requirements,”Journal of Object Technology (JOT), 2(1), Swiss Federal Institute of Technology (ETH), Zurich, Switzerland, p. 53-68, January/February 2003. • Donald G. Firesmith, “Security Use Cases,”Journal of Object Technology (JOT), 2(3), Swiss Federal Institute of Technology (ETH), Zurich, Switzerland, p. 53-64, May/June 2003. • [Sindre and Opdahl 2001] Guttorm Sindre and Andreas Opdahl: Templates for Misuse Case Description, 2001, R. Crook, D. Ince, L. Lin, and B. Nuseibeh, "Security Requirements Engineering: When Anti-Requirements Hit the Fan", Proceedings of IEEE International Requirements Engineering Conference (RE'02), Essen, Germany, September 2002. • Guttorm Sindre, Andreas L. Opdahl:"Capturing Security Requirements by Misuse Cases", In Proc. 14th Norwegian Informatics Conference (NIK'2001),Tromsø, Norway, 26-28 Nov 2001. • [Alexander2003] Ian Alexander: Misuse Case Help To Elicit Nonfunctional Requirements, IEE CCEJ, 2001